Video Encoding Acceleration Device Offloading Motion Estimation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current technologies lack an effective acceleration device for video encoding in data centers, due to the diversity of video standards and the lack of a common objective metric for video quality, which makes it challenging to create a generic acceleration device.
Innovation Solution
The development of an acceleration device that offloads tasks such as motion estimation, Current Picture Referencing, and video transform, allowing for dramatic workload reduction from the encoder, while being agnostic to specific encoders and enabling encoder vendors to use their proprietary methods for acceleration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If video encoding is performed using traditional CPU-based methods, then video quality can be maintained through proprietary encoder methods, but processing speed and productivity are insufficient for data center workloads
Solution Approach 1:
The video encoding process is divided into distinct functional modules including motion estimation unit, transform unit, quantization unit, and entropy encoding unit. Each module is implemented as a separate hardware component that can process different aspects of video encoding independently and in parallel, thereby increasing overall throughput while maintaining quality.
Solution Approach 2:
A dedicated hardware acceleration device acts as an intermediary between the input video data and the output encoded stream. This intermediate device offloads computationally intensive tasks from the CPU, providing specialized processing for motion estimation, transform, and other encoding operations while the CPU manages higher-level control and proprietary algorithms.
2Adaptability or versatility
If a generic acceleration device is created to handle multiple video standards, then versatility is improved, but device complexity increases due to the diversity of encoding standards
Solution Approach 1:
The acceleration device is designed with universal functional units that can adapt to multiple video encoding standards (H.264, H.265, AV1, etc.). The motion estimation unit, transform unit, and other components are implemented to support various block sizes, transform types, and encoding parameters across different standards, allowing a single device to handle diverse encoding requirements without requiring separate hardware for each standard.
Solution Approach 2:
The device incorporates dynamic configuration capabilities where processing parameters, block sizes, and algorithm selections can be adjusted on-the-fly based on the specific video standard and encoding requirements. This dynamic adaptability allows the same hardware architecture to efficiently support multiple standards by reconfiguring its operational characteristics rather than requiring fixed, standard-specific implementations.
3Speed
If motion estimation and transform operations are performed in hardware, then processing speed improves, but the device requires significant memory bandwidth and computational resources
Solution Approach 1:
The device performs preliminary processing of reference frames and current frames before the main encoding operations. Reference frames are pre-loaded into dedicated buffer memory, and preliminary motion candidate generation is performed in advance of the final motion estimation. This preliminary action reduces the amount of data that needs to be accessed during the critical encoding path, thereby reducing memory bandwidth requirements while maintaining high processing speed.
Data Source
AI summary
A system including an acceleration device including input circuitry configured, for each of a first plurality of video frames to be encoded, to receive an input including at least one raw video frame and at least one reference frame, and to divide each of the first plurality of video frames to be encoded into a second plurality of blocks, and similarity computation circuitry configured, for each one of the first plurality of video frame to be encoded: for each block of the second plurality of blocks, to produce a score of result blocks based on similarity of each block in each frame to be encoded to every block of the reference frame, an AC energy coefficient, and a displacement vector. Related apparatus and methods are also provided.


