Hardware Media Encoder Offloading for WebRTC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In WebRTC communications, source devices with low-performance processors struggle to efficiently encode media data, leading to reduced quality and efficiency in real-time communications due to the high demand on hardware resources for encoding.
Innovation Solution
A method and system where a source device includes a media encoder that can encode media data using hardware or software, with a streaming server packetizing and transporting the encoded data, allowing the web real-time communicator to focus on peer-to-peer communication without the need for extensive hardware resources, thereby improving encoding efficiency and compatibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the source device encodes media data via software, then the device can operate without additional hardware, but the encoding efficiency and real-time communication quality deteriorate due to low-performance processors
Solution Approach 1:
The patent introduces a dedicated hardware encoder as an intermediary component between the media source and the WebRTC communication stack. This encoder acts as a specialized mediator that handles the computationally intensive encoding tasks, freeing the main processor from this burden while ensuring efficient real-time encoding. The hardware encoder serves as a bridge that converts media data into encoded format suitable for WebRTC transmission without overloading the device's main processing unit.
2Device complexity
If the source device uses a low-performance processor, then the device cost and complexity are reduced, but the real-time communication quality and efficiency are compromised
Solution Approach 1:
The patent segments the encoding function from the general-purpose processor by introducing a dedicated hardware encoder. This segmentation allows the system to maintain a simple, low-performance main processor while offloading the specific encoding task to a specialized component. The encoding function is separated as an independent hardware module that can operate in parallel without interfering with other system operations, thus maintaining communication quality without requiring a high-performance general processor.
Solution Approach 2:
The patent replaces the software-based encoding mechanism (which relies on the general-purpose processor) with a hardware-based encoding mechanism. This substitution transitions the encoding function from a software execution model to a dedicated hardware implementation, providing more reliable and consistent encoding performance. The hardware encoder offers deterministic performance characteristics that software encoding on low-performance processors cannot guarantee, thereby improving communication quality reliability.
3Quantity of substance
If software encoding is used in the source device, then hardware resources are conserved, but the overall operation performance and real-time communication efficiency are reduced
Solution Approach 1:
The hardware encoder operates autonomously to handle encoding tasks without consuming the main processor's computational resources. It serves itself by having dedicated processing units specifically designed for encoding operations, independent of the main CPU's workload. This self-service capability allows the encoder to maintain consistent performance regardless of other system operations, ensuring real-time communication efficiency without burdening the device's overall hardware resources.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A device, system and method of performing real-time communication with an external web browser signals an external web browser (125, 425) to initiate real-time communication over a network (105, 405), signals (S110) the external web browser (125, 425) to initiate real-time communication over a network (105, 405), packetizes (S130) encoded media data based on a given real-time network protocol after the signaling is performed, de-packetizes (S140) the packetized media data to obtain the encoded media data, and performs (S150) the real-time communication by transporting the encoded media data to the external web browser (125, 425) over the network (105, 405).