Dynamic Codec Selection for Video Transmission

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing power consumptionVSAvoidcodec compatibility
Core Design Contradiction:
PowerVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvecodec selection simplicityVSAvoidadaptation to network conditions
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvevideo quality maintenanceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #3Local quality

4Power

If hardware codecs are used, then processing resources are saved, but they perform poorly in low-bandwidth scenarios with low-quality media encodings

Engineering Contradiction:
Improveprocessing resourcesVSAvoidmedia encoding quality
Core Design Contradiction:
PowerVSReliability

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12022057B1Methods, mediums, and systems for dynamically selecting codecs
Publication Date: 2024.06.25 WHATSAPP LLC
  • US12022057B1 patent drawing
  • US12022057B1 patent drawing
  • US12022057B1 patent drawing

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.