Dynamic Codec Selection for Video Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing codec selection methods for video transmission in computing devices are inefficient, particularly on mobile devices, due to incompatibilities between hardware codecs from different manufacturers, leading to errors and poor video processing performance, and rely on static rules that do not consider the complexity of the scene being recorded.
Innovation Solution
A dynamic codec selection system that consults a server and on-device lists to filter out incompatible codecs, adjusts based on CPU thresholds, video characteristics, and error statistics, and prunes hardware codecs with high error rates, allowing for real-time adaptation during video calls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If hardware codecs are used for high-bandwidth scenarios, then processing power consumption is reduced and video quality is improved, but codec compatibility issues arise between different manufacturers leading to errors
Solution Approach 1:
The system performs preliminary actions by pre-establishing compatibility information between different hardware codecs and manufacturers before actual video transmission occurs. Compatibility data is collected and stored in advance, allowing the system to make informed codec selection decisions without causing transmission errors during real-time operation.
Solution Approach 2:
The system implements feedback mechanisms by monitoring video transmission quality and codec performance in real-time. When compatibility issues or errors are detected during transmission, the system receives feedback about the specific codec problems and uses this information to adjust future codec selections, thereby reducing errors while maintaining efficient hardware codec usage.
2Ease of operation
If predefined rules are used for codec selection, then the selection process is simple, but the rules do not adapt to varying network conditions and scene complexity
Solution Approach 1:
The system transitions from static predefined rules to dynamic codec selection by continuously monitoring network conditions, video characteristics, and device capabilities in real-time. The codec selection process becomes adaptive and flexible, automatically adjusting to varying network bandwidth, latency, and scene complexity without requiring complex manual configuration.
Solution Approach 2:
The system changes selection parameters dynamically based on real-time conditions. Instead of using fixed rules, the system adjusts codec selection criteria according to measured network parameters (bandwidth, latency), video parameters (scene complexity, motion activity), and device parameters (processing capability, battery status), thereby achieving adaptability while maintaining operational simplicity.
3Reliability
If software codecs are used for low-bandwidth scenarios, then video quality is maintained and bandwidth limits are obeyed, but processing resources and power consumption increase significantly
Solution Approach 1:
The system dynamically changes the codec type parameter based on network conditions and device state. In low-bandwidth scenarios, the system selects software codecs that efficiently utilize limited bandwidth while maintaining acceptable video quality. The system monitors power consumption and processing resource usage, adjusting codec parameters to balance quality maintenance with energy efficiency.
Solution Approach 2:
The system applies local quality optimization by selecting codecs and encoding parameters that are specifically optimized for the current operational context. Rather than using a single codec for all conditions, the system locally optimizes the coding parameters and codec selection for each specific scenario (low-bandwidth, high-bandwidth, mobile, fixed) to achieve the best balance between quality and power consumption.
4Power
If hardware codecs are used, then processing resources are saved, but they perform poorly in low-bandwidth scenarios with low-quality media encodings
Solution Approach 1:
The system dynamically switches between hardware and software codecs based on real-time assessment of network conditions and scene characteristics. When hardware codecs are detected to be unsuitable for low-bandwidth scenarios, the system transitions to software codecs that can adapt to limited bandwidth while maintaining encoding quality, thereby preventing resource waste while ensuring quality.
Solution Approach 2:
The system uses feedback from network quality measurements and encoding performance monitoring to determine when hardware codecs are unsuitable. When feedback indicates poor encoding quality or excessive errors in low-bandwidth conditions, the system adjusts its codec selection to use software-based alternatives that maintain quality while consuming more processing resources, thereby balancing the trade-off.
Data Source
AI summary
Exemplary embodiments relate to techniques for dynamically selecting codecs as video is transmitted in real time. In some embodiments, a first codec initially encodes video data, and a second codec is evaluated to replace the first codec. The system switches to the second codec only if an increased amount of power consumption resulting from using the second codec balances with a correspondingly sufficient increase in the quality of the video encoded by the second codec. In some embodiments, codecs are excluded from consideration if it is determined that the local device does not have sufficient processing resources to operate the codec, or if a mismatch is detected between the codec operating on a sending device and a codec operating on a receiving device.


