Speed-Distortion Optimization: Tradeoffs in Open-Source HEVC Encoding

Pradeep Ramachandran, Praveen Kumar Karadugattu, Alex Giladi, Dan Grois, Pooja Venkatesan, Bhavna Hariharan, Kavitha Sampath, Kalyan Goswami, Kevin Pikus

The HEVC video compression standard which drives significant increase in coding efficiency is an essential technology for delivering UltraHD content in HDR. This improved coding efficiency comes at a significant cost in computational complexity. Adaptive streaming results and content adaptive encoding significantly increase the compute required for encoding for the additional encodes, and analysis required to support the corresponding use cases. The emergence of content-adaptive encoding results in an additional major increase in number of encoding. All these factors combined requires a careful analysis of trade-offs in order to avoid exorbitant infrastructure costs of transition to HEVC. — This paper discusses how the throughput of an HEVC encoder can be optimized to enable a cost-efficient distributed encoding system running on commodity hardware. We chose the popular open source x265 video encoder for this study due to its wide adoption. We first examine the x265 presets which combine various performance and encoding efficiency trade-offs into a single operational point. We then detail some additional options that enable additional analysis on a selective sub-set of cases, such as per-frame or per-CTU; these options are representative of several such options that aren't exposed via the presets of x265. Specifically, we discuss options pertaining to selective in-loop filtering, and dynamically re-targeting rate distortion optimization (RDO) tools depending on quality fluctuations encountered at run-time. We present trade-offs results for real-world 4K HDR content to demonstrate the applicability of these coding tools to real content used for OTT and live streaming.

Published
2019-10
Content type
Original Research
Keywords
HEVC, x265, opensource, video encoding, streaming
DOI
10.5594/M001876