Smart Encoding for Excellent Visual Quality
Intel just released the next version of Intel® Media SDK 2017 R2.1 for Embedded Linux*. It delivers new features where developers can improve visual quality and stability of media and video workflows running on Intel® platforms.
The Intel Media SDK is a cross-platform API for developing media applications for client, mobile and embedded devices such as smart cameras, network video recorders, printers, and many more. Windows*, Embedded Linux, and an open source version is available. Get the latest version now.
After introducing the Region of Interest (ROI) to support smart encoding scenarios in the previous release (R2), we added new features for bitrate control (BRC) and continue to improve the quality of the product.
- HEVC Macroblock Level QP Control: This is a feature for the external BRC control. It adds support for QP map in Constant QP (CQP) mode for HEVC encoders, so developers can use their own BRC control algorithm at the macro block level to control the encoding on each frame with the QP map. We also extended our sample code to demonstrate proper mode of operations for supported codecs. For compatibility with AVC based applications, the granularity of the QP map should be 16x16, whereas actual CU (coding unit) QP granularity will be determined by encoder mode decisions and platform limitations.
- AVC Sliding Window Bitrate Control: This is the localized BRC we offer to developers to support the sliding window constrains in VBR and CBR mode for the AVC encoder. This is a helpful feature to use for scenarios with limited network bandwidth, for example, with streaming applications. To use this feature, developers need to set up non-zero WinBRCMaxAvgKbps for the upper limit of the local bitrate, and WinBRCSize fields for the bitrate monitoring range in ExtCodingOption3structure. This configuration will impose additional constrains in the BRC algorithm resulting in better target and GOP-based bitrate accuracy at cost of quality degradation. The WinBRCSize has a limitation of 1 second, and the sliding window should not use B frame for the down grade of the image quality.
- HEVC MBQP control is a feature for use with external BRC in conjunction with CV engine (smart encoding feature) in order to encode some objects with better or lower quality than the background. This feature is more flexible than ROI in CQP mode that is capable to set ROI of rectangle forms. Meanwhile, MBQP is able to encode objects with different QP of any shapes.
- HEVC Encoder Stability: We also fixed the GPU hang issue on the HEVC encoder to improve stability, (previously, there could be some discontinuities during playback or possible pipeline termination). Refer to the release notes for more features and improvements.
For more such intel IoT resources and tools from Intel, please visit the Intel® Developer Zone