Dirac: BBC Open Source Video Codec
NickFitz writes "Need To Know this week has a piece about Dirac, a BBC R&D project to produce a video codec, which has been released as an Open Source project. From BBCi: 'Dirac is a general-purpose video codec aimed at resolutions from QCIF (180x144) to HDTV (1920x1080) progressive or interlaced... Our algorithm seems to give a two-fold reduction in bit rate over MPEG-2 for high definition video (e.g. 1920x1080 pixels), its original target application. It has been further developed to optimise it for internet streaming resolutions.'"
BBC Open Source Video Codec
Finally a codec to convert all the dry witty intelligent British TV humor over to bland cliche' stale American TV humor!
Seems like a bit of a waste of license payers money when there already a several open source video codecs (eg. Ogg Theora, 3ivx). What does this offer that those don't?
That seems to answer your question, even without reading the article.
Thank you. Drive through.
Because it's open source and being developed/supported by one of the bigger distibuters of video content on the web!
right now I have good quality with 3vix but it is 1 gig.
if this can get me to 700 MBs at the same quality (about 85 in the 3vix) that would rock!!!
I am the Alpha and the Omega-3
Hopefully the BBC will use this instead of RAM, silly real player!
I spent ages trying to think of sig, but never did
Could this be related to the archive of video content they are purported to be setting up? Seems like a very unnessecary step to accomplish that, unless they have some sort of conflict with the legalaties of other codecs out there...
Their documentaries are so interesting that I often choose to watch them over other movies or shows I may have on my computer. Bravo BBC.
Buy Steampunk Clothing Online!
Yes, why would anyone need a new, free high quality codec that is backed by a huge media company? Why not use one of the patented, commercial codecs that Microsoft or Real.com want us to use?
I would be a bit wary of a codec that claims to be all things to all people, ie supporting broadcast-quality HDTV and internet-quality video
Video codecs typically have ``sweet-spots'' for resolution and bitrate. The MPEG specs work well for higher bitrate video, and we have several codecs that work well for lower bitrate video.
Also, MPEG video quality can vary from encoder to encoder. The specs only define the bitstream, and the encoder can do what it wants. This is why there is a huge difference between the quality that Media Cleaner produces versus a multi-chip hardware encoder found in a cable plant.
(S(SKK)(SKK))(S(SKK)(SKK))
Looks good, but why are all the male American comedy leads now in drag???
Why would they compare it to MPEG2? In order to impress me, you'll have to compare quality and bitrates with MPEG4.
...
Check out k-litecodecpack.com.
Because this CODEC uses WAVELETS and Wavelet theory is probably one of the most useful tools for working with time varying signals that has been developed. It is especially useful in high quality compression algorithms. Here is a decent background article on Wavelets.
"I went on a diet, swore off drinking and heavy eating. And in fourteen days, I had lost exactly two weeks. Joe E. Lewis
Who modded this pile of crap as informative?
From the Xvid FAQ
What is XviD? XviD is an ISO MPEG-4 compliant video codec. It's no product, it's an open source project which is developed and maintained by lots of people from all over the world.
And don't get me started on all the other crap, audio? FFS, it's a video codec! You have to include audio an either mp3/ogg/wav/whathaveyou into the stream.
Even more impressive than the codec itself, in my opinion, is that they managed to develop a new video codec without infringing any patents! And given that it's the BBC, I assume they could go to court to defend themselves in prior art.
:-)
Very cool. But then all the engineers in their R&D dept. are apparently very anti software patents, and have been doing their bit writing letters to that effect
I went to a day at the Research and Development facility with the BBC, and saw a demonstration of Dirac.
It does look quite impressive, and for those who are interested, I believe it works on wavelet theory. Lots of information on this is provided at http://www.wavelet.org/ but I believe its scalable frequency analysis enables significantly better compression than other codecs (typically DCT based?) out there.
I think.
Did you ever consider that they intend to use this for their plans to put their archives online?
The poster stated that "It has been further developed to optimise it for internet streaming resolutions" which is one way for such a thing to be distributed. Have a look here. The register states that "The BBC's new media director, Ashley Highfield, said that a P2P network will allow the BBC to handle the volume of traffic it expects when the Internet Media Player (IMP) goes live. The IMP will enable users to download or stream content to their PC, laptop or palmtop computer."
If this is the case then Aunty Beeb is well underway to providing the tools we will need for accessing their archives.
-- Enditallnow
Presumably 24 or 32 bits per pixel, like most video. (8 bits per channel color, 8 bits transparency (optional and normally unused)).
So:
1920x1080 = 2073600 pixels per frame * 24 bits/pixel = 49766400 bits per frame * 30 frames per second =
177.98 megabytes per second, uncompressed.
---
Mod me down, you fucking twits. Go ahead. I dare you.
(I read with sigs off.)
The source is licence-free, but it is not patent free. Pay MPEG LA or it's illegal. For you and every other individual out there that might not matter, but the BBC couldn't use it without paying.
Kjella
Live today, because you never know what tomorrow brings
US codecs incorrectly drop a vowel from colour, so a British codec is bound to look better.
How are they going to convince set-top manufacturers to support their codec or conglomerates to broadcast it? It's already been proven a hundred times over the superior and/or open rarely win out to their more profitable brethren. All the article states is there's a 'hint of a chance' of it being adopted by big media...
LilMikey.com... I'll stop doing it when you sto
Er, BBC != british government
It's on sourceforge, and is entirely open. Its licenses, as stated by sourceforge are: GNU General Public License (GPL), GNU Library or Lesser General Public License (LGPL), Mozilla Public License 1.1 (MPL 1.1), so you could hardly say it's 'owned' by the BBC, let alone the british government.
Cocodude
Seems like a bit of a waste of license payers money when there already a several open source video codecs (eg. Ogg Theora, 3ivx). What does this offer that those don't?
Does the current work being done on Linux seem like a waste of time and money, when there are already several other operating systems (Windows, Macintosh, Unix) available? And don't try and use the argument "but those are closed source; open source is better!" argument -- in the end, it's just software people use, regardless of the licensing / development model.
Getting back on-topic: apparently it offers the BBC something that warrants the time, effort and money required to fund such an undertaking. At the very least, it's yet another example of big companies using open-source to reduce costs and/or fulfill their own specific needs, and can only encourage other companies to fund future OSS development efforts.
Well, I suppose we could use Microsoft's Windows MediGeneral Protection Fault: Access Violation 0xc0000005 in WMPLAYER.EXE, Rebooting Now ...
Bah, stupid Windows, let's try Real Player inst[BUFFERING......]ead, I hear it's mu[BUFFERING.........]ch better than it used to b[BUFFERING.........]e!
I mean all the BBC's services in general. I think I know the answer in assuming that the British people pay for it in tax and TV license fees. That's something I'm grateful for as a New Zealander living in the US. The BBC is a refreshing change to the somewhat mind numbing American news sources.
/. I definitely want on of those beside my bed when it becomes available. It seems like its the ideal thing for BBC listeners. I wonder if its availbility will significantly increase the load on their servers, all costing real money of course.
My real question to Brits here is: How well is this burden accepted by the British people? Are the BBC TV and radio stations in the UK really non-commercial? I know the US government gives money to PBS and NPR but I don't know how it compares (especially per capita) to what the British government must spend on the BBC. It must cost a fortune and they are effectively supplying (IMHO) a good quality product for free to the rest of the world via internet and shortwave. I imagine some of the international motivation of the BBC stems back to the days of the old empire. It almost seems too good to be true.
I assume that NPR and others like it around the world pay to carry the program. Maybe that earns a lot.
This question came up in my mind the other day when the wi-fi radio was mentoned here on
Wavelet and DCT based codecs are alike in that they both quantize in the frequency domain and thus tend to have blurring and ringing artifacts. However, wavelet ringing looks more evenly spread-out than DCT ringing and doesn't coincide with a regular 8x8 pixel grid. Compare JPEG and JPEG2000 artifacts.
Since the BBC is the media-organ branch of the British government, this means government-owned codecs. Is this a good thing?
Unlike some of the stateside media organisations the BBC is actually one of the world's most impartial media organisations. I'm not saying they are perfect but some US news bulletins I cann't watch without laughing.
I know that the BBC is somewhat of an enigma in broadcasting compared to what we're used to in North America (although some would argue networks like PBS and the Canadian Broadcasting Corporation are somewhat similar)....but I can't help think how utterly cool it is the BBC does this sort of thing. Progressive (no pun intended) stuff like putting their achives online is also really damn cool...not to mention the fact they have *gobs* of content that a traditional broadcaster wouldn't have (I've been taking Welsh language lessons courtesy of the BBC!).
-psy
Let's say you compare
a) 640x360 vid at 1x bandwidth
b) 640x360 vid at 9x bandwidth
c) 1920x1080 vid at 9x bandwidth
a) and c), MPEG4 will win. b) will be much much closer. What you define as "low" bitrates really depends on resolution. The dual-layer DVDs coming now should be able to do full HDTV resolution with somewhat better quality than a 1CD DVDrip. Since 2CD rips typically use 3-400mb on AC3 track, actually not that far away from 2CD rip. But something like 8-10Mbit (aren't they usually 1Mbit today?) is hardly a low-bitrate stream in my opinion...
Kjella
Live today, because you never know what tomorrow brings
By removing the superfluous "U" from "colour" and other words, American English has acheived a higher compression ratio than British English.
mbbac
They also said that while they had no objection to paying licensing fee's per se, and that they did pay MS and Real, these were so inflexible in their licencing that scaling up operations was problematic. Their expressed hope was that with such a codec widely adopted they could massively scale up operations such as streaming without being crippled with licencing costs, or having the administrative burden of unwieldy licensing schemes.
-he who laughs last, is a bit slow.
journal
A matter of disclaimer: I've done some work on Dirac, for BBC, over the last several months. Here's a bit of background on Dirac:
By nature, Dirac has many similarities to existing algorithms such and MPEG-2 and H.264/AVC -- however, Dirac is an original invention that uses wavelet transforms, arithmetic encoding, rate-distortion optimization, variable block-size motion compensation, and hierarchical motion estimation in some new and unique ways. Again, this is a research project, so there's much experimentation to be done!
As a research project, Dirac continues to be analyzed, optimized, and documented. What you're seeing now is very preliminary code; I suspect it will improve and evolve dramatically in the coming months, both in terms of clarity and functionality. The goal is to produce a universal codec, which is one reason behind the open source move.
The codec source code is licensed under dual MPL/GPL licenses.
Dirac is modular, and thus well-suited to implementation with an object-oriented programming language. The reference engine is written in ISO Standard C++, and has been tested under various forms of 32- and 64-bit Linux, as well as under Windows 2000/XP.
I'll try to answer questions here, to the best of my ability.
All about me
Many people, esp our american friends, many not be familar with the sheer scale of the BBC's operation. There is a lot of dressing applied to their funding but in essence almost every UK home pays a BBC tax, giving them vast cash funds and allowing them to take a 'long term' view to development.
This is very unpopular with their competition. People like Sky (NewsCorp) and ITV ('free' UK advert funded network tv) have no means of building the digital services the BBC have. Lets face it - both buy in a lot of programming from the US and that doesn't work well online.
At a recent LINX meeting (a meeting of all the major UK ISPs and many of the major european ISPs) where the BBC gave a presentation about their 'Summer of sports' coverage. They are predicting up to 12Gbps (yes Gigabits) leaving their network during the olympics. This is a huge undertaking and requires them to put Gbps direct connections into the major UK ISPs such as BT. Without private peering of this type the BBC couldn't cope, LINX couldn't cope, the target ISP couldn't cope, it'd be meltdown all round. Their presentation was aimed at heading off a potential doom of them DOSing a major ISP into the ground.
They're using Real at the moment. If they eventually move to an open codec the it will become a MAJOR player overnight. A national broadcaster using a codec to pump out Gigabits per second of content is the only case study/endorsement needed.
I've not spoken to the techs pushing this within the BBC but the feeling I have from whitepapers, presentations and rumour are:
- they need to be pragmatic. Its public money they're spending and the solution has to work. Currently the only solutions that work are propeirtary codecs.
- They are under attack from the competition, who want to cut off their r&d funding which they see as unfair.
- The intend to share their technology and want to grow the stability and performance through sharing things with their peers.
For BBC network info (and a boatload of mrtg goodness) visit the ever popular support pages
0daymeme.com: Great stuff.
The framework is changing as we profile and analyze the code.
Speaking for myself (independent of Dirac), the best C++ code is the simplest code. Just because a feature exists doesn't mean it must be used -- and conversely, just because a feature can be used poorly doesn't mean it should never be used. The goal is to use the right C++ features for the job, and avoid become lost in a nest of complex classes and templates.
There's nothing about Dirac, BTW, that requires C++, or even object-oriented programming.
All about me
The BBC is not a part of the government, nor is it owned by or controlled by the government. While the BBC World Service is funded by an annual grant-in-aid from the Foreign Office, they have no editorial control (and the World Service is financially seperate from the rest of the corporation). The BBC has no shareholders.
The BBC is legally a corporation established by Royal Charter and operates under strict rules of editorial independence and public service, which means that almost uniquely among broadcasters its job is to deliver programmes to audiences, rather than audience eyeballs to advertisers.
In order to receive television broadcasts in the UK it's necessary to have a television licence (see the Wireless Telegraphy Act 1949 for details - in the old days you needed a licence for a radio as well, but no more). This isn't a tax, and the BBC isn't funded out of general taxation - it's a simple deal that if you want to watch television, you need a TV licence. The money from the TV licence goes to the BBC. In addition, the BBC makes a lot of money from the sale of programmes overseas and from various other commercial enterprises (magazines, DVDs, whatever). This money goes back into the BBC - there aren't any shareholders to be paid, just more programmes to be made.
If you ask me, just under a tenner a month is a bargain for what it means - some of the best quality television in the world, a bunch of excellent radio stations and value-added stuff like news.bbc.co.uk. And what the TV licence means most of all is that all this stuff goes out without commercials and without commercial or political considerations. The BBC's editorial independence regularly lands it in hot water with governments who don't like it broadcasting certain things ("Maggie's Militant Tendency", the whole Hutton business). There's a lot of stuff which would never have appeared anywhere else as the BBC can actually take risks rather than just always following the path of maximum guaranteed commercial gain.
Having recently taken a trip to the USA and tried watching television there, I really started to appreciate just how important the BBC is. Bite-size chunks of advertiser-friendly blandovision split up into five minute segments interspersed with huge amounts of commercials don't seem to educate, entertain and inform very much.
Ultimately, nobody is forcing you to pay the television licence fee unless you have a television. If you don't want to have to get a licence, the choice to not own a television is available to you!
And yet, anything you want to watch is always in the worst-performing proprietary format. :-/
Fred
"A fool and his freedom are soon parted"
-RMS
The typcial keyframe rate in MPEG4 stuff is around 8-10 seconds. In MPEG2 it tends to be around 2-5 ms
Seeing as how one frame is 1/25 (0.04) or 1.001/30 (0.03) seconds depending on which part of the world you live in, 0.005 is just plain impossible. At least as far as DVDs go, MPEG2 keyframe intervals are usually 12-18 frames, which works out to 0.4-0.6 seconds for NTSC--still a lot less than MPEG4.