Shared Motion Search in Multi-Profile Real-Time Video Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video encoding systems require multiple instances of encoding engines to support different frame rates or profiles, leading to increased silicon cost, power consumption, and DRAM bandwidth costs, while motion vector searching significantly affects coding quality.
Innovation Solution
A single encoding engine shares motion vector search results and mode decisions across parallel encoding operations to generate multiple encoded streams with different frame rates or profiles, reducing silicon and DRAM costs without increasing processing speed beyond real-time rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple instances of encoding engines are used to support different frame rates or profiles, then coding quality and versatility are improved, but silicon cost, power consumption, and device complexity increase
Solution Approach 1:
The patent implements a single encoding engine that can operate in multiple modes to support different frame rates (e.g., 60fps, 30fps, 15fps) and different video profiles (e.g., High Profile, Main Profile, Baseline Profile). The engine dynamically configures its internal parameters and processing pipelines based on the target output requirements, eliminating the need for separate dedicated encoding engines for each profile or frame rate while maintaining full functionality for each mode.
Solution Approach 2:
The encoding engine employs dynamic parameter adjustment and reconfiguration during operation. It can switch between different encoding modes, adjust motion vector search ranges, modify macroblock processing parameters, and change quantization settings based on the desired output profile and frame rate. This dynamic adaptability allows one engine to replace multiple static engines, reducing silicon cost and power consumption while maintaining versatility.
2Adaptability or versatility
If multiple instances of encoding engines are used, then support for different profiles is improved, but power consumption increases
Solution Approach 1:
The single encoding engine is designed with universal support for multiple video profiles (High Profile, Main Profile, Baseline Profile, and advanced profiles like RC Profile and SR Profile). It contains all necessary processing components and parameter sets required for each profile, enabling it to generate compliant encoded streams for any target profile without requiring separate dedicated engines, thereby reducing overall power consumption.
Solution Approach 2:
The engine dynamically changes its operational parameters based on the target profile. It adjusts motion vector precision, macroblock partitioning strategies, quantization matrices, and entropy coding parameters according to the specific requirements of each profile. This parameter adaptation allows the same hardware/software engine to efficiently encode for different profiles without the energy overhead of multiple specialized engines.
3Manufacturing precision
If motion vector searching is performed for each stream, then coding quality is maintained, but processing time and computational load increase
Solution Approach 1:
The patent performs motion vector searching at the highest frame rate (e.g., 60fps) to generate a comprehensive set of motion vectors that capture all motion information in the video sequence. These pre-computed motion vectors serve as a foundation for generating lower frame rate streams (e.g., 30fps, 15fps). When creating reduced frame rate streams, the system selectively uses or scales these pre-computed vectors rather than performing redundant motion searches, significantly reducing processing time while maintaining coding quality through accurate motion compensation.
Solution Approach 2:
The system merges the motion vector search operations across multiple output streams by performing a single comprehensive search that serves all frame rates and profiles. The motion compensation logic is shared across different encoding pipelines, allowing the same motion vector data to be reused for generating multiple encoded streams simultaneously. This consolidation eliminates redundant computational work while preserving the quality benefits of thorough motion analysis.
Data Source
AI summary
In one embodiment, a method comprising receiving at a single encoding engine an input video stream according to a first version of a video characteristics, such as frame rate, profile and level, and coding standard, and generating by the single encoding engine, in parallel, a plurality of streams comprising a first encoded stream according to a first version of the video characteristic and a second encoded stream according to a second version of the video characteristic, the second encoded stream generated based on video coding information used to generate the first encoded stream.


