Hardware Accelerated Video Encoding Block Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding systems face challenges in efficiently processing video data due to limitations in hardware processing speed and flexibility, particularly in portable devices, and require significant updates when new video encoding parameters or block sizes are introduced.
Innovation Solution
A hybrid hardware-software video encoding system that includes a hardware accelerator to divide video frames into blocks, compute encoding assist data, and store it across multiple database tables, which are then provided to video encoding software for efficient data retrieval and processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If video encoding is performed using traditional software-only processing, then flexibility in handling new encoding parameters is maintained, but processing speed and efficiency are insufficient
Solution Approach 1:
The video encoding process is divided into two distinct segments: a hardware accelerator that performs computationally intensive tasks (motion estimation, block matching) and a software encoder that handles encoding logic and new parameter implementation. This segmentation allows the hardware to provide speedup while the software maintains flexibility for new encoding standards and parameters.
Solution Approach 2:
A data structure interface layer is introduced as an intermediary between the hardware accelerator and the software encoder. This interface uses standardized data structures that can accommodate different encoding parameters and block sizes, allowing the hardware to operate at fixed speed while the software adapts to new encoding standards through software updates alone.
2Productivity
If hardware accelerator is designed to support specific video encoding parameters and block sizes, then processing efficiency is improved, but significant updates are required when new parameters are introduced
Solution Approach 1:
The hardware accelerator is designed with universal data structures that can handle multiple block sizes and encoding parameters through a unified interface. The hardware performs generic operations (block matching, motion estimation) that can be applied to any block size or parameter set, while the software configures the specific parameters, eliminating the need for hardware updates when new encoding standards are introduced.
3Loss of information
If all encoding assist data is loaded into memory for processing, then complete data availability is achieved, but data retrieval operations and memory usage increase
Solution Approach 1:
The system extracts only the essential encoding assist data (motion vectors, block matching results) from the hardware accelerator and stores it in optimized data structures. The software encoder retrieves only the specific data needed for the current encoding task rather than loading all possible data, reducing memory operations while maintaining data availability.
Data Source
AI summary
In one embodiment, a system includes a hardware accelerator to receive video data of multiple video frames, divide each of the video frames into respective blocks, compute encoding assist data including at least one video encoding parameter type for each of the respective blocks of each of the video frames, and store respective portions of the encoding assist data across respective database tables, and an interface to provide the respective database tables to video encoding software running on a processor.


