Log in

View Full Version : H.265 improvement over H.264 (module based)


rudyb
2nd September 2014, 23:20
Hi,
I was wondering if any sort of analysis has been done on the major modules of H.265 against H.264 for compression efficiency.

I know that it is possible to achieve about 50% compression efficiency with H.265 compared to H.264, however I would like to know how much each major blocks of the encoder is participating in the overall compression efficiency improvement ! (I am just looking for some rough estimates.)

For example, using CABAC instead of CAVLC brings roughly about 10% compression efficiency improvement.

Where does the other 40% come from?
For example, on average, how much efficiency changing the size of MB from 16x16 (h264) to Coding units of 64x64 (h265) will bring?

And how much efficiency the 35 angle Intra-prediction (H265) vs 9 angle Intra-prediction (H264) will introduce?

How about Inter-prediction, and De-blocking and SAO filters?

Is it able to still achieve about 50% bandwidth efficiency without using Tiles and WPP?

Thanks,
--Rudy

benwaggoner
3rd September 2014, 19:32
Hi,
I was wondering if any sort of analysis has been done on the major modules of H.265 against H.264 for compression efficiency.

I know that it is possible to achieve about 50% compression efficiency with H.265 compared to H.264, however I would like to know how much each major blocks of the encoder is participating in the overall compression efficiency improvement ! (I am just looking for some rough estimates.)
Interesting question, but tricky to answer. HEVC isn't just a superset of H.264, so you can't generally default modules to "just what H.264 does."

A lot of the research and design docs will call out PSNR improvements for given changes, but that can be hard to summarize in broad strokes. I recall them saying that no one feature yielded even 1% of the improvement.

For example, using CABAC instead of CAVLC brings roughly about 10% compression efficiency improvement.
You can make that comparison in x265, but x265 is CABAC only, and a slightly tweaked version of that.

Where does the other 40% come from?
For example, on average, how much efficiency changing the size of MB from 16x16 (h264) to Coding units of 64x64 (h265) will bring?
You can decrease maximum CU size etcetera, so this could be a direct comparison. However, I believe the improvement will vary a lot with frame size (helps more the higher the resolution) and content type.

And how much efficiency the 35 angle Intra-prediction (H265) vs 9 angle Intra-prediction (H264) will introduce?
HEVC doesn't just add more angles, but other new modes as well.

How about Inter-prediction, and De-blocking and SAO filters?
Turning off inter-prediction should be a pretty easy code tweak, and there are command-line parameters for the other two.

Is it able to still achieve about 50% bandwidth efficiency without using Tiles and WPP?
Tiles and WPP both slightly degrade compression efficiency, although not by a generally material amount. I think the best practices consensus is to use WPP but not Tiles. WPP really helps decode and makes encode faster as well.

Again, easy to control via command line for an apples-to-apples comparison.

Parabola
3rd September 2014, 21:56
If you wanted to pick one feature, you could say that HEVC's advantage over H.264 comes from its ability to use larger CU sizes. This is probably the reason why HEVC shows greatest benefit at UHD resolutions and less gain at SD.

Pretty much all the other tools bring incremental (i.e. individually small) gains only.