62 comments

[ 3.4 ms ] story [ 118 ms ] thread
I've no knowledge of this kind of stuff but what's the big difference between h265 and VP9?
On the technology side of things, h265 and VP9 are both attempting to further increase compression efficiency so that we can deliver super high resolutions, wide color gamuts, and bit depths greater than 8. These features are very difficult to achieve with wide compatibility when utilizing h264 and VP8.

More generally, h265 and VP9 can be seen as competitors in the same space, but with some meaningful differences in philosophy. VP9 is a royalty-free codec developed by Google. The VPx series of codecs all stem from the work of the On2 company, which Google acquired specifically so that it could get into the video codec space.

h265 is patent-protected by a number of parties who are chilling the adoption and rollout of this new codec. As a result, VP9 has seen some rapid adoption by both hardware and software manufacturers lately. If you work in digital video today, the likelihood is that you will need to support both codecs in your processing stack and delivery pipelines.

Other interesting developments in this space include the Daala codec in development by the Xiph Foundation (responsible for Ogg Vorbis, Theora, and the wonderful Opus audio codec) and the Thor codec in development by Cisco and their tech partners. Both are aiming to be next-generation royalty-free codecs for distribution of even smaller, and even prettier videos.

It is also important to mention AV1 (https://en.wikipedia.org/wiki/AOMedia_Video_1) which is meant to replace VP9 and compete against H.265.
Looking at AV1, it looks almost too good to be true.

Just about everyone onboard, including hardware manufacturers, patent unencumbered, free, and looks to be a very capable format.

So what are some of the downsides? What are some of its issues?

One issue is that it's a prototype with planned future greatness. It's tricky to reach H265 compression ratio without touching patented methods. Even if they reach it, by that time H265 will probably have well-optimized encoders/decoders, so there will be major speed differences. Still a worthy effort of course.
H.265 already has realtime 4kp60 10-bit encoder boxes out there, multiple hardware decoder and encoder IPs. This race started back in 2012 or earlier. Existing chips in consumer devices trounces every H.264 encoder out there: http://compression.ru/video/codec_comparison/hevc_2016/MSU_H... Which is not the case for any encoder of VPx ascent.

It's easy to project hopes into something that doesn't exist yet. But this contender is coming late.

Afaik every phone made in the last year has a VP9 hardware decoder.
I know the iPhone 6, 6s, and 7 all have hardware h.265, and use it for FaceTime for example for many years. I can not locate evidence that they have VP9.
>It's easy to project hopes into something that doesn't exist yet. But this contender is coming late.

I have to disagree, first off, it's not as if we've seen a massive shift over to HEVC, in fact the x265 developers lamented this quite recently, mainly blaming the licensing debacle which has ensued, with three different entities with which you need to negotiate royalties in order to use HEVC (MPEGLA, HEVC Advance, Technicolor), and the royalties were already much more expensive than h264 to begin with.

Secondly, it's quite clear that AV1 will happen, Google was already committed in creating a royalty free codec as evident by their VPX series of codecs, and now they have been joined by web and tech giants like Netflix, Microsoft, Amazon, Cisco, Mozilla, Intel, ARM, NVidia, AMD etc.

For these players, a royalty free codec makes perfect sense, the streaming giants know full and well that they will only increase the amount of video they stream and thus will save money longterm by pooling their resources and creating a royalty free codec, and on the hardware side, not having to pay royalties in order to implement hardware support is obviously attractive.

And it does exist, it's in full development, not something in the 'planning stage', the bitstream is said to be finalized at the end of this year or at the beginning of next, so we are not talking 'many years into the future' here, it's based off VP10 and is adopting techniques from Daala and also have access to h264 patented techniques courtesy of Cisco.

As I see it, HEVC is in a bad situation, h264 is still good enough and much cheaper to license, and within a year we will likely have AV1 ready to go for hardware, why would you jump on the HEVC bandwagon at this point ?

My best suggestion would be to just stick with h264 and see how the HEVC/AV1 situation plays out.

(comment deleted)
The good new is that Daala, Thor and VP10 got merged into the Alliance for Open Media's AV1 codec

The bad news is that AV1 is still under development and will be for a while yet

They're matching HEVC in synthetic benchmarks already, and aim to release the spec by March 2017, which is soon enough.
A video codec is a set of algorithms used to compress and decompress video content. H265 and VP9 are two different video codecs. H265 is the successor to H264, and is a proprietary codec developed by MPEG-LA. VP9 is a royalty-free video codec developed by Google, and is the successor to VP8.
The massive increase in the number of choices the encoder has to make (and correspondingly, the decoder to follow) is the main reason why H.265 requires so much more processing power than H.264, and H.264 compared to previous standards as well. The intra prediction modes (33 directions!) are a good example of this.

That said, if you actually get the standard and look at the section on the intra prediction modes, how to compute them is spelled out in very detailed pseudocode.

Also expensive is using CABAC, which is much slower (for better compression ratio). H.264 allowed used a faster coder called CAVLC.

There are two ways to interpret this: either low-powered devices have become much stronger, or h.264 is just not supporting some classes of devices.

I believe CABAC in h265/HEVC should be faster than CABAC in h264/AVC. If you produced CABAC for h264 and h265 with all things being equal you should actually gain in decoding speed moving to h265.
CALVC was really only allowed in baseline profile (which looks hideous compared to main or high) and pretty much any device with H.264 decoder out there supports at least main for years now.
Is the bitstream for the decoder a lot more complex?

From what I recall (and it has been a few years), usually the standard mostly specifies what the 'end product' will look like and the encoders basically have to figure out a way to get there. The decoding was usually pretty expensive and had a lot of quality options and was constantly trying to detect things like global motion compensation etc, while the decoder basically just decoded the same old bitstream without a lot of change in complexity for the same profile level.

It'll be interesting to see the adoption rate of h265/HEVC and whether it will actually take off since the licensing costs seem to be prohibitively expensive[1].

AV1 may wind up being the defacto winner because of this even if it means we have to wait longer before any transition occurs. We may wind up sticking to h264 and VP9 longer despite hardware already shipping with h265/HEVC support.

[1] https://yro.slashdot.org/story/15/07/26/0149234/hevc-advance...

It has taken off among pirates alright.

(There is a noticeable battery life penalty for h265 content though)

I thought H265 was banned among most private trackers?

I know my private releases to friends are all H265, though they all use hardware that has native decoding (or is beefy enough to transcode from)

How common are native h265 decoders now? I've been curious when we would start to see stronger hardware support.
Most Samsung phones can do it. I know at least as early as the Note 4. HEVC is codec of choice for 360 video for the Gear environment due to its small file size. The Galaxy S7 can do 4K60 in HEVC. Although, VLC has a hard time playing these files on beefy PCs used to encode these files. My 4K/UHD LG SmartTV running WebOS from 2013/14 plays HEVC as well. The Netflix app handles their 4K streams with no problem.

There are just personal first hand knowledge examples.

All iPhones have it. FaceTime uses it, for example.
For non-mobile devices? (AFAIK)

Nvidia Geforce GPU's in the 900/1000 series can encode/decode it

Intel Skylake GPU's can encode/decode it

The Nvidia SHIELD TV can encode/decode it

Battery life is poor because hardware deciding of hevc is not yet common. The GTX 10 series can do it but for most other devices it must be decoded in the CPU.
I think Kaby lake cpus should have decoding support as well
Is there a scene standard yet? From a quick glance the content available is H264 reencoded to H265 at amusingly small filesizes.

H264 -> H264 -> H265 isn't going to look very god, no matter what you do (and depending on what your source is you could even have high bitrate MPEG2-TS at the start of that chain).

With HEVC Advance's fees targeting 0.5% of content owner revenue

IANAL but doesn't that mean it's still free for non-commercial use (i.e. revenue is 0)? If so, it may turn into a situation where only those who can bear the cost and those who are giving away free content will use it.

AFAIK H.265 is basically the standard for 4K streaming and is used in all 4K smart TVs.
I am hoping that the industry moves the direction that cryptography did: patented algorithms never see any traction.

Daala is an open source, patent-free codec that aims to be superior to h265

... that'll probably be as popular as ogg-vorbis. Compression algorithms simply don't benefit that much from outside scrutiny (like encryption does), so without major corporate backing, (open) standards are very unlikely to succeed.
Well, ogg-opus is available in almost all youtube videos and for podcasts I usually download them in that format and listen to them in my phone.

I understand what you say and it's a shame. Opus/vorbis are just so much better than any alternative...

I want someone to challenge one of the codec patents as a test case. It should even be possible to make a bit of performance art: get an old punch card machine or even a room full of people to decode a few small frames of H.265. It'll work, it's pure math, and, under Alice v. CLS, that should make it crystal clear that the mere addition of a computer cannot make it patentable.
If I studied math or CS, I would find it unfair that I cannot patent my work, while my friends who studied e.g. mechanical engineering can.
If software became unpatentable and I worked in mechanical engineering, I would find it unfair that my friends in math and CS could solve problems without worrying about accidentally infringing on a patent while I would have to ask a team of lawyers to help me avoid reinventing someone else's so-called invention.
The BBC recently released a video codec called Turing (named after Alan Turing):

"...an open source software HEVC video encoder that allows highly efficient compression of video content with low computational complexity."

http://www.bbc.co.uk/rd/blog/2016/09/turing-codec

So BBC are supporting HEVC? All these is getting silly. I wish they support AV1.
Another technical overview: http://forum.doom9.org/showthread.php?t=167081

Edit: Just realised IshKebab linked to my comment linking to doom9 in yesterday's h264 thread.

Off topic, but:

Really nice to seem doom9 mentioned. Doom9 is one of those places that I used to frequent a lot. That knowledge saved me a lot of learning in university :)

Sadly also one of those places where I forgot both the password to my account and the gmx email doesn't exist anymore. It's a shame, the account is from 2001.

This was a very fascinating writeup. Video codecs are still sorcery to me, but I was kind of blown away by how many individual operations are employed in shedding redundancy. I kind of assumed that there was a single flat algorithm being employed, not a dozen or so special case optimizations that by some stroke of magic play so nicely together.
If you're curious about this sort of thing, you can play with http://aomanalyzer.org/ which is a tool that lets you inspect AV1 (AOM/VP9) bit streams.
While we're discussing codecs that effectively obsolete the ones that came before, I thought I should mention the absolutely incredible Opus codec, which is interestingly based partly off the Skype codec. Basically you get equivalent quality to 'other' audio codecs but using up half the space.

http://opus-codec.org/

Opus is so much better than any lossy audio codec that came before that I wonder if it will be the "ultimate" audio codec. I'm sure minor improvements will continue to be made but it does feel like we're pushing the limits of lossy compression at this point.
(comment deleted)
Don't forget arbitrary dynamic number of channels.

Opus is light-years ahead of any other audio codec I've come across.

Can someone here estimate how valuable modern video codecs are? Everybody needs them but development is super expensive and requires many bright minds.
Extremely valuable. Most of the traffic on the web is video. Youtube / NetFlix / torrents / porn.

H265/HEVC lets you halve the traffic while keeping the quality the same. That's a big deal.

It's totally random but I read a paper in ML with the same kind of decomposition for the picture. Does someone know it by some chance? I think it was linked to group theory.
Is anything not linked to group theory?
Ya I just have a few memories of it. Sorry I can't help much... Thank you though.
I hope it won't get a wide adoption of H.264. We need free codec alternative, instead of locking everyone into this closed / patented codec for years to come.

What's the story with Daala + Thor aka NETVC and Alliance for Open Media plans? When do they plan to make their codec production ready?

They are targeting having the format frozen by March 2017.

http://www.streamingmedia.com/Articles/Editorial/Featured-Ar...

> So how will contributions from Google’s VP10, Mozilla’s Daala, or Cisco’s Thor be represented in AV1? Gabe Frost explained, “The baseline code in the AV1 project represents where the lion’s share of investment came from before the investment,” essentially indicating that code from VP10, by far the most mature of the three, will dominate. Frost indicated that AV1 will contain some of the best ideas and features of both Daala and Thor.

So will Mozilla continuing developing Daala? And what about NETVC? How does it correlate to AV1?

Daala will continue to be developed but as a research testbed.
Does it mean they didn't manage to advance Daala to needed quality to make it production ready?
I don't think so, if we are to believe arewecompressedyet.com, Daala is on par with x265 quality-wise. But they are now sharing their technologies to make Alliance for Open Media's AV1, the next gen patent free codec. They've been talks about using Daala as a still image codec but I don't know if it's gonna happen or not.