HTTP Adaptive Streaming Server Signaling for Buffering Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current adaptive multimedia streaming standards, such as HTTP-based streaming services, face limitations that can diminish user quality of experience due to unforeseen media server outages, changes in network bandwidth, and lack of awareness about available transcoding capabilities or additional servers, leading to buffering events and reduced quality.
Innovation Solution
Implementing a system that dynamically communicates available server representations, segment availability, and transcoding capabilities to clients through binary codes like the Available Representation Code (ARC) and Segment Availability Code (SAC), allowing clients to adapt and request optimal content, reducing re-buffering and enhancing quality of experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If current adaptive multimedia streaming standards are used, then streaming service is provided, but server outages and network bandwidth changes cause buffering events and reduced quality of experience
Solution Approach 1:
The server sends availability information to the client in advance, indicating which representations and segments are available before the client requests them. This allows the client to proactively adapt its requests based on server conditions, preventing buffering events rather than reacting to them after they occur.
Solution Approach 2:
The system implements a feedback mechanism where the server continuously informs the client about its current state (available representations, segments, transcoding capabilities) through availability information. The client uses this feedback to dynamically adjust its streaming requests, creating a closed-loop system that adapts to changing conditions.
2Productivity
If clients request content without knowing server availability, then simple request protocol is maintained, but buffering events occur due to unavailable content
Solution Approach 1:
The server pre-notifies the client about available content through availability information sent before client requests. This preliminary action allows the client to plan its streaming requests efficiently, avoiding requests for unavailable content and reducing buffering events while maintaining protocol simplicity.
3Adaptability or versatility
If server sends detailed availability information to all clients, then clients can adapt optimally, but network overhead and server processing load increase
Solution Approach 1:
The availability information is segmented into distinct components: available representations information, available segments information, and transcoding capabilities information. This segmentation allows the system to send only the necessary information subsets to each client based on its specific needs and current state, reducing unnecessary network overhead while maintaining full adaptability capability.
4Adaptability or versatility
If clients are unaware of transcoding capabilities, then communication protocol remains simple, but clients cannot utilize available transcoding services
Solution Approach 1:
The server includes transcoding capabilities information in its availability information sent to the client in advance. This preliminary notification allows the client to understand what transcoding services are available without requiring complex real-time negotiation, enabling transcoding utilization while keeping the protocol relatively simple.
Data Source
Figure 1
Figure 2a
Figure 2b
AI summary
Technology to provide improved quality-of-experience-aware multimedia streaming is disclosed. Several types of communications that can be made between clients and servers are described. These communications enable improvements to current approaches that are used to achieve hyper-text transfer protocol (HTTP) adaptive streaming. These messages can be used in conjunction with computer circuitry configured to: determine a bandwidth available to the server for transmitting HTTP adaptive streaming content to a plurality of clients; receive HTTP requests from the plurality of clients for representations offered by the server in a manifest file for the HTTP adaptive streaming; and calculate an availability of each representation that is offered in the manifest file for the server. The availability can be calculated, at least in part, based on the determined bandwidth. The availability of each representation can be communicated from the server to the plurality of clients.