Dynamic Transcoder Rate Adaptation for Adaptive Bitrate Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing streaming technologies face challenges in providing efficient access to media sources on mobile devices and residential networks with limited transcoder resources, as they typically do not have the same capabilities as more complex media gateways.
Innovation Solution
A method and system for dynamic transcoder rate adaptation, allowing clients to select from available bit rates during encoding sessions, with the transcoder adapting to the client's requested bit rate and continuously updating the bit rate subset based on client requests, optimizing streaming experience even with minimal transcoder resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple ABR streaming bit rates are provided with a priori selection, then clients can access streaming media, but mobile devices with limited transcoder resources cannot efficiently adapt to different bit rate requests
Solution Approach 1:
The system dynamically adapts the transcoder output bit rate based on real-time client requests and network conditions. Instead of static a priori bit rate selection, the transcoder continuously adjusts its encoding parameters to match the selected bit rate from available subsets, enabling flexible adaptation without requiring complex pre-configured transcoder resources at each mobile device.
Solution Approach 2:
The available bit rates are divided into multiple subsets that are presented to the client at different times during the encoding session. This segmentation allows the system to manage transcoder resources more efficiently by only maintaining the necessary encoding configurations for current and near-future bit rate needs, rather than all possible bit rates simultaneously.
2Adaptability or versatility
If all available bit rates are provided to the client, then the client has full selection flexibility, but the transcoder must maintain and switch between all bit rate configurations
Solution Approach 1:
The system prepares subsets of bit rates in advance based on predicted client needs and current encoding state. By pre-configuring the next likely bit rate subsets and having them ready for immediate presentation to the client, the system minimizes transcoder switching time when bit rate changes are requested, while still maintaining the appearance of full bit rate selection flexibility.
Solution Approach 2:
Different subsets of bit rates are provided to the client at different points in the encoding session based on local conditions such as current network status, buffer state, and client device capabilities. This localized adaptation allows the system to optimize transcoder performance for each specific situation rather than maintaining all bit rate configurations throughout the entire session.
3Speed
If the transcoder maintains all possible bit rate configurations, then any bit rate can be provided immediately, but mobile devices with limited resources cannot sustain this approach
Solution Approach 1:
The transcoder is designed to efficiently switch between different bit rate configurations by maintaining a universal encoding framework that can adapt to multiple bit rates without requiring separate dedicated resources for each bit rate. This multi-functional approach allows the same transcoder instance to serve multiple bit rate needs by dynamically reconfiguring encoding parameters rather than maintaining parallel encoding streams.
Data Source
AI summary
A system and methods for providing dynamic transcoder rate adaption for an adaptive bit streaming function is described. In a first embodiment, a client may select from all available bit rates during the encoding session, wherein the bit rates are provided to the client via a manifest file from a media gateway. In a second embodiment, a subset of the bit rates are provided to the client, from which a client chooses a selected bit rate. The encoding session continues until a request for a new bit rate is received from the client, at which time a new subset of bit rates are generated. This new subset of bit rates is presented to the client, and this loop continues until the termination of the encoding session.


