Layered Video Stream Bandwidth Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current screen sharing technologies face bandwidth inefficiencies when dealing with rapidly changing screens, as they often require high frame rates and struggle to accommodate varying bandwidths among recipients, leading to jerky video and increased latency.
Innovation Solution
A method where the source computer generates an encoded video stream with layered sub-streams of increasing quality, including key frames and delta frames, along with metadata for the streaming server to selectively distribute appropriate sub-streams based on recipient bandwidths, allowing for intelligent bitrate adjustment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If modern video codecs with frame dependencies are used to improve compression ratios, then bandwidth consumption is reduced, but video quality deteriorates when frames are dropped due to coding dependencies
Solution Approach 1:
The video stream is segmented into multiple layers with different quality levels. Each layer contains frames with specific coding dependencies, allowing selective transmission based on bandwidth availability. When bandwidth is limited, lower layers with fewer dependencies are transmitted, maintaining acceptable video quality without complete frame dependency failures.
Solution Approach 2:
The system dynamically adjusts which video layers and frames are transmitted based on real-time bandwidth conditions. The streaming server monitors available bandwidth and adaptively selects frames to send, switching between different layer configurations to optimize the balance between compression efficiency and video quality reliability.
2Adaptability or versatility
If the streaming server transcodes video into multiple sub-streams with differing bitrates to accommodate varying bandwidths, then adaptability to different recipients is improved, but device complexity and processing overhead increase
Solution Approach 1:
Instead of transcoding at the streaming server, the source computer performs preliminary encoding to create multiple video layers with different quality levels and coding dependencies. This pre-processing eliminates the need for complex real-time transcoding at the server, reducing device complexity while maintaining adaptability to different bandwidth conditions.
Solution Approach 2:
The patent introduces an intermediary layering structure between the source computer and streaming server. The source computer encodes video into multiple layers that act as intermediaries, allowing the streaming server to simply select and forward appropriate layers based on bandwidth conditions without performing complex transcoding operations.
3Reliability
If high frame rates are used to capture rapid screen changes, then video quality is improved, but bandwidth consumption increases significantly
Solution Approach 1:
Different regions or temporal segments of the video stream are assigned different quality levels. During rapid screen changes, higher quality frames are transmitted, while during stable periods, lower quality or skipped frames are used. This local quality adjustment maintains video quality during critical moments while reducing overall bandwidth consumption.
Solution Approach 2:
The system dynamically changes video encoding parameters such as frame rate and quality level based on the actual content being displayed. When detecting rapid screen changes, the system increases frame rate and quality; during stable periods, it reduces these parameters to minimize bandwidth consumption while maintaining acceptable video quality.
Data Source
AI summary
Techniques are provided for a source computer to generate an encoded video stream having layered sub-streams with differing bitrates while allowing a streaming server to intelligently distribute the appropriate sub-streams to recipients based on their available bandwidth. This may be accomplished by having the source computer generate and send metadata along with the encoded stream to allow the streaming server to detect which data packets belong to each sub-stream. The streaming server is then able to selectively send consistent video sub-streams at appropriate bitrates to each recipient.


