damjeux
19th August 2016, 12:19
I haven't seen much talk about multi-rate encoding with HEVC. Basically, a single system which encodes one video at different bitrates to target adaptive bitrate streaming. The different bitrates can be achieved by encoding at different spatial resolutions, different signal qualities or different frame rates. Sharing information between the individual encoder processes can lead to an overall computational complexity reduction.
I have recently implemented a multi-rate encoding method for x265 (https://github.com/damjeux/multi-rate-x265/commit/4063be252750d93a06992c898dd8133ad8ebf94c) based on a CU structure reuse from a high-quality encoding to speed-up lower quality encodings.
I have also posted some results in a blog post (https://damienschroeder.wordpress.com/2016/08/10/multi-rate-hevc-with-x265-for-adaptive-http-streaming/). Depending on the configuration, the x265 multi-rate encoder can for example achieve an overall complexity reduction of 10% with no rate-distortion loss (even a very small improvement on average). Or achieve 20% complexity reduction with an average bitrate increase of 0.9%.
Multicoreware has the so-called UHDkit https://x265.com/uhdkit-hevc-encoding-library/
There is also a white paper from Vanguard on the topic http://vanguardvideo.com/wp-content/uploads/2015/04/HEVCABRMultistreamWhitepaper.pdf
All in all, not so much details about the technical solutions. Is there some more open-source work on multi-rate out there? Do you know some other sources of information about the topic? My guess is that all major streaming providers are implementing such methods...
I have recently implemented a multi-rate encoding method for x265 (https://github.com/damjeux/multi-rate-x265/commit/4063be252750d93a06992c898dd8133ad8ebf94c) based on a CU structure reuse from a high-quality encoding to speed-up lower quality encodings.
I have also posted some results in a blog post (https://damienschroeder.wordpress.com/2016/08/10/multi-rate-hevc-with-x265-for-adaptive-http-streaming/). Depending on the configuration, the x265 multi-rate encoder can for example achieve an overall complexity reduction of 10% with no rate-distortion loss (even a very small improvement on average). Or achieve 20% complexity reduction with an average bitrate increase of 0.9%.
Multicoreware has the so-called UHDkit https://x265.com/uhdkit-hevc-encoding-library/
There is also a white paper from Vanguard on the topic http://vanguardvideo.com/wp-content/uploads/2015/04/HEVCABRMultistreamWhitepaper.pdf
All in all, not so much details about the technical solutions. Is there some more open-source work on multi-rate out there? Do you know some other sources of information about the topic? My guess is that all major streaming providers are implementing such methods...