Video codecs remain an area of active research and development. The current generation video codec is H.264 – in widespread usage on the Internet. Cisco has actively worked towards making H.264 the foundation of real-time communications on the web. The next generation codecs are just beginning to emerge. There are two of note – Google’s proprietary VP9 codec, and the industry standard H.265 (HEVC) codec, which is the successor to H.264 (AVC).
Unfortunately, the patent licensing situation for H.265 has recently taken a turn for the worse. Two distinct patent licensing pools have formed so far, and many license holders are not represented in either. There is just one license pool for H.264. The total costs to license H.265 from these two pools is up to sixteen times more expensive than H.264, per unit. H.264 had an upper bound on yearly licensing costs, whereas H.265 has no such upper limit.
These licensing terms preclude usage of H.265 in any kind of open source or freely distributed software application, such as web browsers. They also preclude its usage in freemium products – like WebEx or Cisco Spark – which have versions that users can use for free. Thus, while H.265 is still a good fit for hardware products like our telepresence room systems, it is not something that can serve as a universal video codec across hardware and software. Thus, we believe the industry needs a high quality, next-generation codec that can be used everywhere.
To further those ends, we began a project to create a new video codec which would meet these needs. We call this project Thor. The effort is being staffed by some of the world’s most foremost codec experts, including the legendary Gisle Bjøntegaard and Arild Fuldseth, both of whom have been heavy contributors to prior video codecs. We also hired patent lawyers and consultants familiar with this technology area. We created a new codec development process which would allow us to work through the long list of patents in this space, and continually evolve our codec to work around or avoid those patents. Our efforts are far from complete, but we felt it was time to open this up to the world.
As a result, we released project Thor to the community two weeks ago. We open sourced the code, which you can find here: http://thor-codec.org. We also contributed Thor as an input to the Internet Engineering Task Force (IETF), which has begun a standards activity to develop a next-gen royalty free video codec in its NetVC workgroup. Mozilla has also been active in that group, and they have been working on technology as well (called Daala) towards the same goal. As more technology gets contributed to this cause, the greater its chance of success.
We will continue to develop Thor over the coming months, constantly evolving the codec as our patent analysis continues. We invite others to work with us – to help develop the codec, to participate in the patent analysis, or to contribute their own Intellectual Property Rights on a royalty free basis.
If you or your company would like to help, please contact firstname.lastname@example.org.
This is really great news. We are an IoT platform provider and video streaming is one of the feature in our product. A royalty free codec would be a great for low cost video applications. I would request our codec experts to contribute.
this is really gréât contribution by Cisco. Its really good to see you guys contributing to open source. All thé best!!
How exactly is VP9 more “proprietary” than Thor? Both are open sourced under BSD license, both are royalty free, both are intended to be unencumbered by patents. Are you defining “proprietary” as “not controlled by Cisco”?
The difference is whether the codec is developed under the purview of a standards development organization (SDO) in which participants have an opportunity to be involved in the development process.
Appreciate the reply, Jonathan, but that is a pretty weak argument, given the NetVC group didn’t actually have any “purview” over the development of the codec – Cisco contributed it after the initial version was done. google could submit the vp9 to the same committee tomorrow and have just as much “purview”.
Don’t get me wrong – thor doesn’t sound bad, and I’m not saying Cisco was wrong to develop it. More unencumbered codecs is a good thing in my book. But dismissing vp9 as proprietary was unnecessarily hostile and dismissive – maybe cisco should argue the merits of its own codecs instead of denigrating competing ones?
Having Google submit VP9 as a contribution to the NetVC would actually be very welcome. The more technology we have to work with the better. The final NetVC codec will be neither Thor, nor Daala. It will be some kind of mix of the various contributions received.
(disclosure: I’m in the Daala team at Mozilla)
Just to be clear, I have absolutely no ideas what googles plans for vp9 are. I’m speaking purely hypothetically.
Thor is far from done. We’ve only just started. Thats why we’re calling it a project and not a codec. It is our expectation that any kind of final codec – years away probably – will be quite different from where it is today, and be the result of work in the IETF as well as output from our ongoing patent analysis efforts.
And I’ll echo what Jean-Marc says below – everyone – including us – would welcome contribution of VP9 into the netvc effort.
Then perhaps a better term for VP8 and VP9 is what Eric S. Raymond called a “cathedral model”. In the free software community, “proprietary” tends to refer to non-free software, and VP8 and VP9 are distributed under a free software license. Collaborating through some SDO is closer to a “bazaar model” in Mr. Raymond’s terminology.
Just because something is free has nothing to do with whether its proprietary or not. Skype is free but its still proprietary, VMWare Player is free but still proprietary, I could keep going but I think you get my point.
The problem of proprietory and free to use is that the owner can decide to remove the free to use.
An example of this was the source control software that suddenly became a fee based item. Thank you Linus for GIT.
I believe you are confusing the the Skype kind of free (as in cost) with the OSS kind of free (as in freedom).
Thor sounds interesting! Both open and royalty free codecs are something we need. OPUS is a great codec on the audio side of things. A quick question; Why don’t Cisco work together with organizations like XIPH/Mozilla on Daala?
You also start your post by calling out VP9 as “Google’s proprietary VP9 codec”. I thought VP9 also was both open source and supposedly royalty free. I understand the issues you have with HEVC, but how is VP9 proprietary and different from Thor? Is Thor anything like VP9, or does it differ completely technically? I’m no video codec expert, so please enlighten me on how Thor differentiate from other codecs and what gap it fills? Does this boil down to who owns the patents/intellectual property rights used by the particular codecs, while still being royalty free codecs?
VP9 has patents and are royalty-free and free to use for as long as companies like Cisco do not sue Google over something like a video codec. Cisco doesn’t want to give up that right so they aren’t using the VP8/9. That is why they consider it hostile.
A better question is – why Thor? Everybody hates Thor. They seem to love Loki. Name the codec Loki.
Loki does make a better choice. Who better to represent the psychological trickery that makes codecs work than he?
Sorry, I really, really think that you are wasting your time. If Google can’t get VP9 (which is just fine as a royalty-free codec, BTW) into a competitive position while owning both Android and YouTube, then what chance do you have?
Cisco has neither hardware nor content. You should just play nicely with Google and VP9, and hope that it achieves even a small percentage of adoption.
Put it the other way, if VP9 had been developed within an SDO with input from other companies and individuals, it would likely have wider adoption. Also, the NetVC effort isn’t really aimed at competing with VP9. It’s more like a successor.
This is truly amazing and exciting! Thanks for posting.
Hey thank you so much Cisco’s devs. 😀 it’s amazing, I love but WHY do not have merged your awesome work WITH the Daala codec who have the same philosophy, and experts of codecs with the mozilla and the xiph fondation ???
It’s maybe for merge thor and Daala with netVC ? For explore New paradigmes ? I don’t understund but thank you so much to do free software 🙂
Merging Thor and Daala (i.e. keeping the best of both) is exactly what the final goal is. Considering how different the two are, it’s going to take a while though. Help is welcome! There’s also the possibility that other codecs will be contributed, which means even more fun, and ultimately a better codec.
OK thank you It’s a revolution in the video codec World ! But I have yet some questions 🙂
Why Cisco does this ? (and openh264…)
I love you but why do this ? You do not GPUs, It’s by pure altruism ? It’s very strange, because Cisco have many backdoors for the NSA so it’s not the mentality of Cisco to do altruism :/
Also, do you think that the 2016 GPUs have a luck to support netVC ?
Also again, It is possible to virtualize or emulate the hardware gpu acceleration for the gpus not supported ? (with QEMU/KVM) and also for the others codecs, I think that it’s in theoric possible and It will be a revolution.
Thank you for your answer and if my idea of emulate the gpu acceleration is stupid sorry to take your time and also sorry for my bad english.
Kind of random to toss out there a statement like “Cisco has many backdoor for NSA so why the sudden altruism?” – on this note, correct me if I am wrong here, Cisco never allowed nor condoned any backdoor in their products – and in fact put in place extraordinary measures to ensure such actions by the NSA would not be possible.
They did this by using dead drop addresses wherein they can ensure the destination of the device being shipped would be kept private thus thwarting the NSA from targeting devices destined to their person/entity of interest. While this is not foolproof and surely done for the PR benefits, it does go a long way to ensure the integrity of their products and at great cost to Cisco.
Most companies would try to brush the issue under the rug, and certainly would not air it out in public. Most companies I speculate would go as far as willingly co-operating with the NSA in their efforts. Any way you look at it I feel it inappropriate to question the motives of a company just because their actions are suddenly altruistic. Their motives are clear, to ship premium products with premium software without the need for premium prices due to costs imposed by patents.
It would seem these days quality codecs are an everyday necessity, like food and clothing. As such the benefits of a free and clear premium codec would be in the best interest of all.
Kudos to Cisco – as others have said, the more open source, royalty free codecs the better.
And why not put your weight behing Daala instead?
In general the video codec standards development process benefits heavily from having multiple contributions into the process and then evolving them to take the best of all of them for the best overall result. We have a fantastic relationship with Mozilla and our Thor team has met and spoken with the Daala team quite frequently throughout the development of this effort. I’ll point to Opus as a codec that got to where it was in exactly the same kind of way – combining two pretty different codecs (SILK and CELT). Combining Daala and Thor is more complex for sure, but the point is that video codecs benefit from multiple contributions.
Indeed, I’ll note that that there is already a PR against our git repo to add Daala’s entropy coder into Thor.
Isn’t there already one open source and patent free video codec, called THEORA.ORG ?
Ogg theora is very outdated :/, netVC (Daala+Thor+others ?+maybe VP9) will be the spiritual successor of Ogg theora and will outperform the other proprietary and patented video codec.
It’s the same for Ogg vorbis (the old free audio codec) who have for spiritual successor the Opus codec.
It’s amazing because the codec war is soon ended !! We have already won the audio codec war with the Opus who outperform mp3/m4a and also the losless audio war with the FLAC who become democratised. And now with the upcomming netVC we will win the video codec war. ASTC will win the texture compression war against S3TC and Vulkan will win against the proprietary directx 12 😀 the free software have already won ! And nothing can stop it !
Cisco is developing a new version of Linux as well because Linux is too proprietary
It’s an excellent news! And Daala is already benefiting from your own work.
The collaboration between both codec will benefit everyone.
Can we do the same for Linux? I feel that it “is developed under the purview of” Linus Torvalds and going nowhere since he started version 0.1.
I donated some money to Xiph/Daala for really free codecs.
for profits exist to return shareholder value, profitability must come before interoperability, I would expect nothing less as a shareholder of these vendors. The goal must be to defferenciate, if it’s all the same, price is not a differentiator you want to lead with.
Voice codecs where standardised in the time of geographic monopolies and there was more profit in adding global interoperability for the incumbents. IP made the world a smaller place, the age of monopolies may be behind us but interoperability is still here, no longer a challenge but an opportunity for profit for new vendors. I some times think IP was the best and the worst thing to happen to video conferencing.
Did you know that YouTube has world’s second largest search engine. And Every second thousands of hours of videos are getting uploaded. They have sheer numbers.
If they want, they can start switching to their proprietary VP9 codec, and only a small minority will care.
Exciting news ! With video constituting the majority of internet traffic, it makes lot of sense for Cisco to initiate such an effort. Glad to see emphasis on making it royalty free.
Briefly glanced through docs on NetVC (https://datatracker.ietf.org/wg/netvc/documents/). Really liked some of the ideas like special processing at frame boundaries, non-binary arithmetic coding.
Cloning the repo from the git hub now. Will try to fiddle around with encoding tools.
I don’t understand why Cisco needs to create its own codec instead of working with a company like Google to help in the development of VP10. The two companies combining resources would have made for better adoption of VP10 than Cisco’s Thor on its own.
Read: YouTube will most likely not use Thor.
I wonder how putting it on github and obviously accepting pull requests interacts with the whole patent problem.
Great news for open source guys . . great to hear that Cisco also contributing to open source . .thumps up
Really interesting project. As Cisco’s partner in Broadcasting industry I hope this project can advance video compression technology
really interesting with this technology.
exciting news, wonder how fast Our customer embrace this new technology
I don’t believe Cisco ever indicated that this move is “altruistic.” It is rather, a very adept strategic move with Cisco thinking at least 2 or 3 steps ahead. VP9 adoption is increasing. Cisco certainly has an interest in not having it be a defacto standard that they are forced to adopt, with Google determining whether or not licensing is free and controling it so that Google products are optimized over any others using it. Cisco would LOVE to force Google into submitting VP9 and future enhancements to an open source forum to derail this, or at least slow its progress. Suprisingly unmentioned in responses to this post is where Microsoft stands on all of this. Microsoft, along with Cisco, has no intention of being forced to adopt a Google “defacto” standard that could become chargeable and potentially limits their products. They have made it known that they are bringing their own version of WebRTC to market instead. This move by Cisco is also a move to isolate Microsoft’s approach. I can’t imagine MS licensing their software for free, much less submitting it to an open source forum. This is a brilliant move by Cisco that leverages their world-renowned expertise in codec development. It will, in fact, create a much more level playing field for broad-based video adoption, while driving millions in Cisco Unified Communication and video enabled networks.
I really hope this one gets adopted!
RAJAN KUMAR RAJA RINTO
Comments are closed.