TCP Congestion Control for Adaptive Video Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video streaming technologies over contended networks face issues with unreliable delivery and inefficient bandwidth allocation, leading to variable video quality across different content types and users, especially during network congestion.
Innovation Solution
A method of transmitting video sequences at selectable quality by dynamically allocating network bandwidth based on the content's encoding difficulty, using a modified TCP protocol that adjusts the sliding window and backoff factor to prioritize more complex content, ensuring equitable quality across streams.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP congestion control algorithm is used to manage network congestion, then reliable delivery and congestion management are improved, but all video streams stabilize at approximately the same reduced bandwidth regardless of their encoding requirements
Solution Approach 1:
The patent applies local quality by allocating bandwidth differently to different video streams based on their specific encoding complexity requirements. Each stream receives a customized bandwidth allocation proportional to its needs, rather than uniform treatment. This is achieved through calculating a complexity metric for each stream and using it to determine the appropriate bandwidth share during congestion.
Solution Approach 2:
The patent changes the bandwidth allocation parameter dynamically based on video stream characteristics. By introducing a complexity metric as a new parameter and using it to modulate bandwidth allocation, the system adapts the network resource distribution to match the varying encoding requirements of different video content, resolving the contradiction between reliable delivery and adaptive bandwidth allocation.
2Ease of operation
If fixed bitrate reservation scheme is used, then bandwidth allocation is simplified and easier to manage, but bandwidth is wasted on low-activity video sequences that require less transmission rate
Solution Approach 1:
The patent introduces dynamics by making bandwidth allocation flexible rather than fixed. The system continuously monitors video stream complexity and adjusts bandwidth allocation in real-time according to actual needs. This dynamic approach eliminates bandwidth waste on low-activity sequences while maintaining simplicity through automated complexity-based allocation rules, resolving the contradiction between ease of management and resource efficiency.
3Adaptability or versatility
If video streams with different encoding bitrates are transmitted over the same network, then content diversity is improved, but during congestion all streams receive equal reduced bandwidth causing quality variation
Solution Approach 1:
The patent uses parameter changes by introducing a complexity metric parameter that characterizes each video stream's encoding requirements. During congestion, this parameter is used to proportionally allocate bandwidth, ensuring that streams with higher complexity receive more bandwidth to maintain quality. This resolves the contradiction by enabling content diversity while maintaining quality consistency through parameter-driven adaptive allocation.
Data Source
Figure 1
Figure 2
Figure 3~3B
AI summary
A video sequence is to be transmitted at a selectable quality from a server over a network. A network control protocol operates in response to a control parameter to allocate to the server a share of available transmission capacity in proportion to the value of the control parameter. First, one determines a plurality of transmission rate values that are needed over successive time periods of the sequence for successful transmission of the sequence at a reference quality; then the control parameter is set, proportional to the transmission rate value and communicated to the control protocol at corresponding time instants. The sequences can then be transmitted, encoded at a quality from time to time selected in dependence upon the actual transmission capacity made available by the network to the server.