dirac banner 
      logo
Navigation item arrowHome
Navigation item arrowThomas's Blog
Navigation item arrowFAQ
Navigation item arrowSpecification
Navigation item arrowSchrodinger
Navigation item arrowDocumentation
Navigation item arrowlicences
Navigation item arrowGetting involved
Navigation item arrowContact us
Navigation item
                arrowSourceforge
Navigation item
                arrowProject page
Navigation item 
                arrowDownload
Navigation item
                arrowBrowse CVS
Navigation item
                arrowForums
SourceForge.net Logo
Valid XHTML 1.1!

Frequently asked questions

Who are you guys?

How did Dirac begin?

Why is it called Dirac?

Why are you releasing Dirac Open Source?

Where can I get Dirac?

What are the license conditions?

Are you going to charge for Dirac?

Do the BBC have patents in Dirac?

Do you infringe any patents?

What will you do if you infringe patents?

Is the BBC going to stream video using Dirac?

Are you going to broadcast TV using Dirac?

How does it work?

Why did you choose the techniques that you're using?

How do I play compressed video?

How do I code video?

How can I help?

When will Dirac be ready?

Up
                  arrowtop

Horizontal rule

Who are you guys?

Dirac was originally developed at BBC Research at Kingswood Warren in the UK. The BBC have specialists in compression technology, and have been working on digital television and its ramifications since the 1960s.

Within the BBC, the project leader is Tim Borer, and Thomas Davies developed the original algorithm and has written the bulk of the specification for Dirac and VC-2. The software is managed by Anu Suraparaju. Today, Jonathan Rosser and David Flynn are looking at some of the hardware aspects of the system. In the recent past, Andrew Kennedy, Michael Prior-Jones, Chris Bowley and others have all been involved in the project. Pete Shelswell was the senior line manager, and more recently acted as editor in chief for the documentation before his retirement.

Up
                  arrowtop

How did Dirac begin?

BBC R&D has always been involved in video coding research as it's central to what the BBC does.

Thomas began experimenting with compression techniques in about 2001. The ideas were originally developed as part of an idea to deliver high definition services as a layered addition to conventional MPEG-2 broadcasts. As with most similar proposals, he did not manage to achieve any real benefit from linking the standard definition and high definition coding, but the algorithm he used was pretty efficient in isolation. It was the foundation of Dirac.

Up
                  arrowtop

Why is it called Dirac?

Dirac is named after the British physicist (of Swiss extraction) Paul Dirac, who was one of the great figures in modern physics. We've seen some good explanations on the 'net, suggesting that we chose the name because the Dirac delta function is fundamental to signal processing and that Dirac's work underpins wavelets. Sorry, but the stories aren't true. We thought of hundreds of names, most of them awful, some of them good, but most of the good ones had been used already. Tim suggested Dirac. It sounded good. It stuck. It was going to be called Camel, so maybe we had a lucky escape.

You can find out more about Paul Dirac here.

Up
                  arrowtop

Why are you releasing Dirac Open Source?

The BBC has always advocated open standards, and has tried to use them where possible. So far, streaming has been dominated by proprietary systems and existing licensing regimes for standards-based systems have not been as attractive as they might be for large-scale broadcasting, particularly for Public Service broadcasters.

Up
                  arrowtop

Where can I get Dirac?

You can download the latest version from the Sourceforge project page. You can also look at the developing code on the CVS there.

Up
                  arrowtop

What are the license conditions?

Dirac is released under the Mozilla triple license (MPL). This is an Open Source license that allows both free and commercial use of the software. It also allows for relicensing under the GPL or the LGPL.

Up
                  arrowtop

Are you going to charge for Dirac?

No. The terms of the MPL mean that as far as the BBC is concerned, there will be no charges or royalties for the Dirac software.

Up
                  arrowtop

Do the BBC have patents in Dirac?

No. We did have patent applications in train which included some of the techniques involved in Dirac, but we let those parts that related to Dirac lapse. If we had allowed them to continue, users of the Dirac code would still have been covered in perpetuity by the licence: by letting them lapse, the BBC has no IPR interest in any implementation of Dirac by anyone, based on the Dirac software or not.

Up
                  arrowtop

Do you infringe any patents?

The short answer is that we don't know for certain, but we don't think so.

We haven't employed armies of lawyers to trawl through the tens of thousands of video compression techniques. That's not the way to invent a successful algorithm. Instead we've tried to use techniques of long standing in novel ways.

There are some areas that are more heavily patented than others. Arithmetic coding is one such, even though the technique itself has been around for 30 years. We're keeping an eye on the situation, and we'll adopt alternative techniques if we have to. Some of the recent changes in the algorithm have centred on the arithmetic coding - taking it away from some of the minefields of prior art that we have uncovered.

Up
                  arrowtop

What will you do if you infringe patents?

Code round them, first and foremost. There are many alternative techniques to each of the technologies used within Dirac.

Dirac is relatively modular (which is one reason why it's a conventional hybrid codec rather than, say, 3D wavelets) so removing or adding tools was relatively easy.

Now we are close to a version 1.0. and the bytestream and decoder functionality are fixed, we have to be a little more careful. Products are about to come to market and we want to ensure that they have a useful lifetime. Future changes are likely to be few and backwards compatible.

Up
                  arrowtop

Is the BBC going to stream video using Dirac?

A good question. Now we are close to a version 1.0, the BBC has the opportunity to adopt Dirac for operational use. We have real-time decoding, integration with players, a bytestream spec and a choice of transport stream formats.

What we need to deliver next is hardware or software which can be used live for encoding - without that, there is a problem delivering streaming video at the volumes that the BBC would expect. The Schrodinger project will help us achieve that.

Up
                  arrowtop

Are you going to broadcast TV using Dirac?

Broadcasting or multicasting over the web is likely to develop over the next few years, and the technology we use for this is likely to be the same as for standard streaming. There is no likelihood at all of replacing our existing Digital TV infrastructure, based on European DVB standards and using MPEG-2, with anything new - the installed base of millions of customers is too large.

Up
                  arrowtop

Up
                  arrow top

How does it work?

See the algorithm documentation

Up
                  arrowtop

Why did you choose the techniques that you're using?

We chose wavelets for a number of reasons. They perform very well in still image compression, and can be said to be state of the art there. They also provide a degree of scalability, so a codec based on wavelets can perform well across a range of video standards. By scalability we don't mean embedded bitstreams or the ability to extract lower-resolution video from higher-resolution bitstreams - Dirac doesn't do this as it's very complex - only the flexibility to apply the same tools to a range of resolutions, perhaps with different parameters. Wavelet coding is also a well-studied and well-understood field.

Overlapped block motion compensation is used to reduce blockiness and ease the job of the wavelet transform in coding motion compensated differences. The wavelet transform may not be the best tool to do this, and we'd welcome other contributions, but it does have the benefit of simplicity in that the tools for all frame types are the same. Dirac supports more or less any block sizes for motion compensation and this again helps in scaling the algorithms as larger blocks can be used for higher resolution pictures and smaller ones for low resolution pictures.

Up
                  arrowtop

Up
                  arrowtop

How do I play compressed video?

We have a DirectShow filter which you can download, and a patch for MPlayer.

There are also software decoders - see the SourceForge and Schrödinger web sites.

Up
                  arrowtop

How do I code video?

You can use the encoder directly, using raw video in planar YUV format. Or you can download and install the patches for ffmpeg or transcode and use those.

Up
                  arrowtop

How can I help?

By telling people about Dirac and the Schrodinger real-time implementation. By contributing to the codebases. See getting involved or contact us to find out more.

Up
                  arrowtop

When will Dirac be ready?

It depends what you mean by ready.

Very soon. The Schrodinger real-time implmentation is rapidly approaching version 1.0 and hardware products based on the VC-2 professional subset are being finalised.

Up
                  arrowtop