H.265/HEVC vs. H.264/AVC: 50% bit rate savings verified
bbc.co.uk
bbc.co.uk
- Next-gen codecs provide 50% bitrate improvements over x264, but are 10-20x as slow at the top settings required to accomplish such results.
- Normalized for CPU usage, libvpx already has some selling points when compared to x264; x265 is still too slow to be useful in most practical scenarios except in very high-end scenarios.
- ffvp9 is an incredibly awesome decoder that outperforms all other decoders.
https://blogs.gnome.org/rbultje/2015/09/28/vp9-encodingdecod...
The bitstream spec is definitely public.
It's only a draft, and two years out of date, but it is public.
Lack of a non NDA public spec may have made things more difficult for some but it certainly didn't stop everyone.
We didn't have this luxury with HEVC. The HEVC reference decoder (HM) is horribly complex, and has been easy to crash in many different ways for years. As a consequence, it could by no means be considered as authoritative. Which is a pity, because there were a lot of discrepancies between the reference decoder and the .doc spec.
Not to take away from the hard work which has gone into ffvp9 but that should be “all other open-source decoders” without benchmarks comparing it against the proprietary implementations which most people actually use. ffvp9 be great but still the wrong choice if someone has a hardware/GPU-accelerated H.265 codec in their OS and would prefer longer battery life to use of free software.
I have not had issues playing 1080 x265 content videos on any of my mobile devices past 18 months or so since they've started releasing them. There's just something to be said about 200-300MB per 1080p episode and about 700MB per movie. Can cram an entire library to most of my current mobile devices for a flight/long commute without having to worry about SD cards/USB OTG.
Yes H.265 encoding speed is 10-20x slower (at the highest quality setting) but the decoding speed was only 20% slower than H.264. And it is still quite faster than 60fps below which almost all movie content exists.
If all that mattered in a codec was encoding speed VP9 would be dominant. But it isn't. It's largely irrelevant compared to decoding speed (majority of codec users) and device support. The latter which H.265 is in an unassailable position.
And encoding speed really only matters as far as real time services go like streaming services.
I was quite surprised to find I was able to stream a very high quality 1080p movie on a random unbranded Chinese IPTV box at ~2mbps that looked every bit as good as what Netflix streams at 5mbps.
Volume prices start at $40, depends on RAM/eMMC size 1G/8G - 2G/16G. Yes, that's the price for a packaged box including power plug and lots of cables ... not just a PCB.
Amlogic just announced S905X with 4Kx2K VP9 hardware decoder: http://www.cnx-software.com/2016/01/12/amlogic-s905x-process...
And it does HDR10 (BT.2020), too. Rockchip announced new HDR10 SoCs at CES: http://www.cnx-software.com/2016/01/12/rockchip-rk3229-and-r...
First HDR10 boxes will be released in 2 months. Now, we have a different problem ... where to get an affordable screen that can display it ...
The source release policy has gotten better in the past year. Mainly due to Google (Chromebox), Hardkernel (ODroid) and others kicking the manufacturers. At least they're upstreaming their drivers now. They have to clean up ~1M lines per SoC family, that'll take some time. And userspace is not just blobs anymore. For example Amlogic regularly publishes a (working!) buildroot at http://openlinux.amlogic.com:8000/download/ . Microcode for VPU or Wifi still comes as blobs.
[1] http://www.mi.com/hezi3/ [2] http://www.lemall.com/product/New_C1S.html
Others are pivoting into netflix-esque licensing businesses. They are like to media companies what Uber is to taxis, they are ignoring the rules to bring a better service, and it's working.
The big players—LeTv, Tencent—have been fairly diligent about getting proper licenses for content over the last year or so. LeTv just scored rights to the Premier League, for example.
In my unprofessional opinion 8 Mbps sounds quite low for 4k h264 encoding, I would expect that sort of rate for good quality 1080p encoding (Blu-Rays being in the 20 Mbps range afaik)
Same goes for those other encoders - they vary hugely in quality and used CPU at same bitrate and resolution.
This actually goes for most codecs, including both audio and video (have a look at the AAC encoders at http://soundexpert.org/encoders-128-kbps )
We downloaded a random git commit a year before a release was made and claimed it was officially released. Best case scenario, we don't understand the difference between a spec and implementation being finalized. Worst case: intentional hatchet job.
>The High Efficiency Video Coding (HEVC) standard has been developed jointly by the two standardisation bodies ITU and ISO (as has been the practice with all major video coding standards in the past 3 decades);
This has never been true for video. Even as far back as MPEG-2, the MPEG-LA has had GB patent numbers (as well as most other European countries).
https://arewecompressedyet.com/?r[]=master-2016-01-01-082473...
Select "Entire curve (old method)" to see BD-rate numbers (the new method requires data overlap in all three bitrate ranges in order to work, which the old curve does not have).
https://arewecompressedyet.com/?r%5B%5D=x265_1.6_ntt-short-1...
The results vary wildly depending on test clips, the metrics used and bit-rates, so an accurate comparison is quite difficult to do
If you're talking about P2P groups - all bets are off. There's even major groups of regional cappers who still use XVid... as a hobbyist archivist this makes me very sad.
1: https://en.wikipedia.org/wiki/Standard_(warez)
OT: personally, TV shows ripped off Blu Rays being 2GB / episode seems ridiculous
Most of my own rips of blueray have been 720p/x264, and I'm thinking about re-ripping HEVC for the better quality... size on my NAS has been a minor concern... but having it all available from kodi is the best.
Does anyone know of some Free-as-in-speech clips from a wider range of sources/cameras that I can use without being sued into oblivion? Australia doesn't really have Fair Use provisions.
Australia allows use of copyrighted material for research/teaching purposes (up to a % limit). As in it isn't against the law at all. Where as Fair Use Provision is a defence, when you are charged with breach of copyright (much like "self defence" in an assault charge).
(This is how even in Australia, Teachers are allowed to photocopy material for classes, and Journalists can report on other materials without being sued). The Copyright Agency tries to police and charge royalties if applicable.
I'm not able to find anything regarding DRM, but I think that's what they mean by decoder.
IANAL.
1: http://www.austlii.edu.au/au/legis/cth/consol_act/ca1968133/...
2: https://www.comlaw.gov.au/Details/C2006A00158/Html/Text#para...
The 50% improvement that we have got is pretty f*ing impressive.
OTH if you increase the DPI you bring in higher frequency components that are not that important for perception, so you can compress them more heavily.
Quantization and filtering are the more important parts of the encoder than the FFT / DCTs since the transform is 1:1 reversible. Compression isn't just the mathematical accuracy of a signal when it comes to lossy algorithms as you know. A 720p video upscaled to 1440p should theoretically be exactly the same size for the sake of effective quality but encoders don't care about just the math and apply perceptual filters because simply doubling pixels looks really bad perceptually it turns out.
It stands to reason that if you shrink those details even smaller, as is the case with 4K, you'll need even less precision for those coefficients.
The same holds true for images/graphics. Take a look at the (blk) rust logo at several different sizes: https://github.com/rust-lang/rust-www/tree/master/logos
16x16: 351 Bytes; 32x32: 691 Bytes, factor 1.97 from 16x16; 64x64: 1.41 KB, factor 2.04; 128x128: 3.4 KB, factor 2.41; 256x256: 7.29 KB, factor 2.14; 512x512: 10.9 KB, factor 1.50
So it certainly can both hold true that 4K HEVC encoded video has the same bitrate as 1080p AVC encoded video and that it has 50% savings.
A typical home DSL connection does not have enough bitrate to produce a quality mid-to-high resolution stream using NVENC, and even if you have a good connection, Twitch caps out at 3500kbps. The gap between something like NVENC/QuickSync and x264 is enormous.
At the very least, HEVC's huge bitrate/quality advantage over H264 will help it here, but when it comes to GPU encoders they will just be attempting to catch up with what you can get right now using x264.
Live streaming quality aside, though, you are right that the hardware will make it possible for people to do live streaming in scenarios where they previously would've been unable to, because you can combine a hardware HEVC encoder with a low bitrate connection and at least get something watchable.
NVENC also mishandles color spaces considerably (full vs limited range), which is a big handicap to begin with.
SSIM and PSNR aren't really the question here either, the issue is totally perceptual. I do not doubt that on a speed basis NVENC is competitive or outperforms, the question is simply whether you can deliver something watchable that hits under the user's upstream cap. If you look at average twitch streams of even mundane video games, many of them are borderline unwatchable - this is a pervasive problem :-) Kicking butt on image-wide SSIM and PSNR won't be much use if all the text in a story-driven game is unreadable due to artifacts.
I assume that dedicated hardware encoders/capture cards do not suffer from this, but it would be amazing of high quality streaming becomes available to the public without requiring dedicated hardware.
Also, does anyone know what is the situation with DASH? It seems that MPEG-LA cartel tried to create some FUD about it being patent encumbered.
GM107, GM204, and GM200 all use a combination of a GPU shader kernel with some CPU assistance. GM206 (in the GTX 960 and 950) implements a newer revision of the PureVideo decoder that allows H265 to be decoded directly on the video engine.
Would you have to pay for those patents if you 1. Use Software Encoder / Decoder? 2. User FPGA / OpenCL accelerated encoder / decoder?