Dirac: BBC Open Source Video Codec 523
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.'"
Ahh codecs. (Score:2, Funny)
Re:Ahh codecs. (Score:4, Funny)
Finally!!! (Score:5, Funny)
Finally a codec to convert all the dry witty intelligent British TV humor over to bland cliche' stale American TV humor!
Re:Finally!!! (Score:4, Funny)
I have never, in my entire life living in pretty much the dead centre of the British Isles, heard anyone say "Bloody wanker".
Duplicating work? (Score:3, Insightful)
Re:Duplicating work? (Score:2, Informative)
Re:Duplicating work? (Score:4, Informative)
Re:Duplicating work? (Score:5, Informative)
Windows is most of the marketplace.
Re:Duplicating work? (Score:5, Insightful)
Re:Duplicating work? (Score:3, Insightful)
Re:Duplicating work? (Score:5, Insightful)
I don't know about that. I'd be rather pleased if MythTV could record twice the HD content on the same hard drive space on my computer, or, for that matter, if TiVo were to use it for the same purpose.
Re:Duplicating work? (Score:5, Informative)
Re:Duplicating work? (Score:2, Insightful)
Re:Duplicating work? (Score:3, Funny)
Its British.
Re:Duplicating work? (Score:2, Funny)
Its British.
Its British what?
Re:Duplicating work? (Score:5, Funny)
Same great compression, but when you encode video with it, all the actors end up wearing kilts, speaking with incomprehensible accents and getting into bar fights.
Re:Duplicating work? (Score:5, Funny)
Re:Duplicating work? (Score:3, Funny)
Me too because as we all know "If its not Scottish its crap!"
Re:Duplicating work? (Score:4, Interesting)
Re:Duplicating work? (Score:5, Informative)
One thing that is interesting about wavelet based compression is that it degrades in a way that is more pleasing to the eye, that is, there aren't any "artifacts". Discrete cosine transforms (e.g. traditional JPEG/MPEG) produce artifacts because of the way the compression works on blocks: blocks are not a normal part of most video signals, and thus when they show up they are called "artifacts" because clearly they do not belong there. Wavelet transform degrades more akin to the picture being less sharp and showing less details and so there is nothing that is noticably out of place.
Re:Duplicating work? (Score:5, Insightful)
To put it another way: same amount of physical distortion corresponds to different amounts of subjective distortion. In general, "natural" distortion is more pleasing to human eye and ear (well, brains, eventually) than "non-natural" ones. And blocky MPEG artifacts are worse than wavelet-generated non-symmetric degradation.
Wavelet artifacts (Score:5, Informative)
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 [uni-lj.si].
Re:Duplicating work? (Score:3, Interesting)
The block artifacts in DCT/FFT based approaches such as MPEG-2 are due to the fact that video has local detail (well, duh!) but you're using a globally repeating waveform (FFT = sine, or DCT = cosine) to encode it. In order to represent local detail with a DCT-based tranforrm you have to divide the image into blocks to localize the transform, and when you throw away the lower order transform coefficients (which is basically what transform-based encoding is all about) those block bounda
Re:Duplicating work? (Score:4, Informative)
The quality craps on anything I've seen MPEG produce.
Re:Duplicating work? No - better colour. (Score:4, Funny)
Re:Duplicating work? No - better colour. (Score:5, Funny)
Re:Duplicating work? No - better colour. (Score:3, Funny)
Re:Duplicating work? (Score:5, Insightful)
With Xvid, ffmpeg/libavcodec, and any others based on MPEG-4, the code may be open source, but you can't use it legally, without paying for an MPEG-4 license. MPEG-4 is a lot like MP3 in that sense.
Theora would be nice, but it's perpetually Alpha... I was excited about it at first too, but now it seems it's going to take another year before the code is even in beta, and probably two years before it reaches 1.0, when there will be ports to non-Linux platforms. By then, it will be about as advanced as MPEG-1 is today... Way behind the times.
However, VP3 (the codec Theora is based upon) is a rather good codec (despite the brain-dead review it got at doom9). It is free, open source, etc. There are encoders and decoders for Windows/Mac, and numerous decoders for Unix systems. It would really work great, and I have no idea why it hasn't been more popular to date.
If there was some program that could encode VP3 video on Unix systems, I would be using VP3/Vorbis excluively for encoding everything. However, avifile, MPlayer, ffmpeg, none can encode to VP3, so it seems Unix systems are out of luck.
That said, I'd bet the BBC will be doing their encoding on Windows or Mac OS machines anyhow, so I don't know why they don't use VP3.
Duplicating work? Not really. (Score:5, Insightful)
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.
Re:Duplicating work? (Score:3)
can I get a nice quality of 1 hour video on a CD? (Score:3, Interesting)
if this can get me to 700 MBs at the same quality (about 85 in the 3vix) that would rock!!!
WOOO... NO MORE REAL PLAYER!! (Score:3, Interesting)
Re:WOOO... NO MORE REAL PLAYER!! (Score:2, Insightful)
Re:WOOO... NO MORE REAL PLAYER!! (Score:5, Interesting)
Though FYI this was developed by their R&D team, which is, according to a bloke behind Dirac I spoke to at the recent Linux Expo in London, quite separate from other parts of BBC tech.
I asked him about their recent OGG trials, and he said that not only did he know nothing about it, his dept. didn't even play any part or have any influence. Crazy big corporations!
REAL codecs (Score:5, Informative)
Check out k-litecodecpack.com [k-litecodecpack.com].
BBC Archive (Score:3, Interesting)
Re:BBC Archive (Score:2)
Sweet! Now to just test this on my PVR PC... (Score:2)
Anyway it can't hurt especially if it saves me some space (you would be surprised how fast you can fill up 1/2 a terrabyte with video capturing).
Here's hoping it leads to more videos (Score:5, Interesting)
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.
Re:Here's hoping it leads to more videos (Score:2)
Re:Here's hoping it leads to more videos (Score:4, Funny)
The Television Licence is so-called because it covers television, hence the name. Nobody needs a licence for radio or internet access. Do. You. Understand? Paying the licence means that some of our television channels do not contain advertising and make an effort to produce minority programming. We still get the joys of crass, multi channel commercialised crap as well, but from the other stations
Re:Here's hoping it leads to more videos (Score:4, Informative)
A bit wary (Score:5, Insightful)
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.
Re:A bit wary (Score:4, Informative)
Re:A bit wary (Score:5, Informative)
Well, if your video compressor has notions of "8x8 blocks" and "16x16 blocks" hardwired into it, that is not exactly surprising. That's the kind of technology that current codecs use.
If they use wavelets and motion compensation correctly, there is no reason why it shouldn't scale well across a large range of resolutions.
Weird results.. (Score:4, Funny)
MPEG4? (Score:5, Insightful)
Re:MPEG4? (Score:3, Insightful)
Re:MPEG4? (Score:4, Informative)
I've heard that before too, but if you compare an equal-bitrate Mpeg2 with Mpeg4, I think you'll find that Mpeg4 wins. The optimizations were designed for low bitrates, but help at high bitrates as well.
Seek granularity / CPU load (Score:3, Informative)
The typcial keyframe rate in MPEG4 stuff is around 8-10 seconds. In MPEG2 it tends to be around 2-5 ms, which is about as good as the eye gets, apparently. So, if you watch it from start to finish, that's fine - but if you want to do anything non-linear, MPEG2 gives a good win.
In terms of broadcasting, you need to add the seek time onto the total '
MPEG2 keyframes (Score:4, Informative)
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.
There's two kinds... (Score:4, Interesting)
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
Re:MPEG4? (Score:5, Informative)
Re:MPEG4? (Score:3, Informative)
It is also used for DVD videos, but at a higher bitrate than is possible/normal for TV.
Fantastic News (Score:2, Insightful)
Ever since I heard that the BBC plans to put their achive on the internet it was clear that they would be far better served developing their own video codec. As a British Citizen, I am glad that those who have paid television licenses do not have to pay an additional toll in the form of Real Player.
Patent free (Score:5, Interesting)
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
Re:Patent free (Score:4, Informative)
The BBC doesn't NEED to worry about patents because software patents don't exist in Europe. Although we're in danger of getting them because of the US and US companies influencing the European commission
That weird shit only happens in the USA at the moment. Something as good as the BBC is doing would almost certainly be impossible in the US because of patents. When the BBC puts it's public knowledge on the net (wonderful documentaries), it will be illegal to watch/hear that info in the US as soon as a company comes out with a patent infringement claim.
The only reason the rest of the world worries about software patents is because we want the people in the US to be able to use the software we're making. This might not last, as in the case of the BBC codec.
I suggest US men-of-action types fix this situation, start with voting good guys/girls into office.
Re:Patent free (Score:3, Informative)
Actually, the article says "Off the top of our heads, its mention of arithmetic coding is worrying, given how patent-encumbered that area is.".
And having talked to some of the Dirac developers, they did develop it with patents in mind, not only to avoid licensing issues in the US, but also in case we do become lumbered with software patents in Europe.
In fact, according to testimony at a recent conference in Brussels I attended, an awful
Wavelet Theory (Score:5, Informative)
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.
Here's to Hoping Ogg Helps Out (Score:2)
BBC Archive (Score:5, Interesting)
Did you ever consider that they intend to use this for their plans to put their archives online? [bbc.co.uk]
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. [theregister.co.uk] 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
My question is... (Score:5, Insightful)
Re:My question is... (Score:3, Informative)
* Better at compression that rival codecs.
* Patent unencumbered (well, software patents in Europe is a separate discussion really).
* Free.
* Wavelet-based.
* Suitable for internet broadcast and HDTV.
If it's stable, believe me we techies will adopt it very quickly!
Great news (Score:3, Interesting)
I am glad that the BBC has recognised the need for this codec to be Open Source. It means that everyone, not just those beholden to private corporations, will get the chance to experience BBC content. The BBC is also a highly influential body; I would be surprised if other European content providers did not display an interest in this. PAL was a joint development between the BBC and its German counterpart; SUSE is German.
This is going to be one to watch.
Here's the True Reason. (Score:3, Interesting)
How do they do it all for free? (Score:5, Interesting)
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
Re:How do they do it all for free? (Score:4, Informative)
I presume that the BBC sells its stuff abroad - it also has a number of commercial outlets (videos, etc). Despite not being able to advertise, it relentlessly promotes its own material (which can get quite tiresome and repetitive sometimes).
Well, speaking as one British person, I'm quite happy to pay the license fee given the alternative. Radio 4 alone has got to be worth it. Of course, there are plenty of people who disagree with me here.
What I can't understand is that they have the manpower to fund this project, but not to keep the ogg vorbis streams online... (http://support.bbc.co.uk/ogg/ [bbc.co.uk])
Re:Yes - UK government subsidizes BBC (Score:5, Informative)
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!
Gotta love Auntie (Score:4, Interesting)
-psy
The BBC patented the codec (Score:5, Interesting)
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.
Re:The BBC patented the codec (Score:4, Interesting)
If they patented the codec but then release an implementation under the GPL, it follows that they are effectively granting anyone permission to, as patent lawyers say, "practice the patent" as long as they do so in a GPL program that is a derivative work of what they released. It would be good of them to say so explicitly, though.
There are a growing number of GPL-licensed patents now (patents where the owner permits GPL implementations). IBM has done this with a number of their patents.
Re:The BBC patented the codec (Score:3, Interesting)
In broad terms, Yes. If you establish the invention as prior art no-one can get a subsequent patent for that exact invention. However there are important technical catches in patent application procedure in relation to timing of the disclosure compared to any patent application; so it may not work in som
Background (Score:5, Interesting)
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.
Re:Background (Score:4, Informative)
Will Dirac run under OS X?
It should, but not having tested it on an OS X system leaves me hesitant to make an absolute promises. I don't know of anything in the codec that precludes it's working on OS X.
The code compiles with GCC, and the current encoder and decoder are command-line applications. As time goes on, I suspect Dirac will gain user interfaces and connections to most popular operating systems and video applications -- including OS X.
Re:Background (Score:3, Interesting)
Those very issues are currently under consideration. I'd be interested in hearing opinions on the matter.
Re:Background (Score:5, Interesting)
Real-time encoding is one goal, but probably not our first target. I believe it will be possible, especially with parallelisation for multi-processor workstations.
As for patents: I am not a lawyer, nor do I play one on Slashdot. I do not speak for BBC in any way; I'm just answering questions because everyone in Britain is home eating dinner at the moment.
It's a very tricky world out there right now. Arithmetic coding can be implemented without hitting patents, I believe -- and the modular design of Dirac should allow a different coding scheme -- say, Huffman -- to be implemented if patents become an issue.
Re:Some questions (Score:3, Informative)
It's still in development.
In the end, they will be parallelised; I'm doing the analysis and design work right now. I'm a big believer in parallel code; just this week, AMD annouced that their dual-core Opterons will be drop-in replacements for current single-core Opterons. Parallel is the future.
source code quality (Score:3, Insightful)
Re:source code quality (Score:5, Insightful)
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.
The BBC's digital service is massive (Score:5, Informative)
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 [bbc.co.uk]
That was on display at the linux user show. (Score:3, Interesting)
James
Re:Another one? (Score:3, Insightful)
That seems to answer your question, even without reading the article.
it's open source! (Score:5, Insightful)
Re:Another one? (Score:2, Interesting)
Re:Another one? (Score:3, Insightful)
Re:Another one? (Score:5, Funny)
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!
Re:Another one? (Score:3, Informative)
Patents (Score:5, Informative)
Kjella
licence-free = royalty-free, GPL-licenced. Doh. (Score:2)
Re:Xvid? (Score:3, Informative)
Who modded this pile of crap as informative?
From the Xvid FAQ [xvid.org]
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.
Re:Xvid? (Score:2, Redundant)
What the hell are you talking about? Clearly not the same XviD [xvid.org] that everyone else knows.
Re:Xvid? (Score:3, Troll)
The parent is completely full of crap.
Re:what is the bitrate for HDTV? (Score:4, Informative)
So:
1920x1080 = 2073600 pixels per frame * 24 bits/pixel = 49766400 bits per frame * 30 frames per second =
177.98 megabytes per second, uncompressed.
Re:what is the bitrate for HDTV? (Score:3, Informative)
Re:what is the bitrate for HDTV? (Score:3)
Re:what is the bitrate for HDTV? (Score:3, Informative)
Re:The successor will be named... (Score:2)
Re:BBC = british government (Score:5, Informative)
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
Re:BBC = british government (Score:5, Insightful)
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.
British jails filled with BBC scofflaws? (Score:3, Funny)
Do you have any information about how many Britons are languishing in prisons for not paying the license fee? I did not know it was that serious. As Amnesty International written a report on this?