Jitter-Aware Bandwidth Estimation via Video Frame Timing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing bandwidth estimation methods for data channels with varying network conditions, such as those used in game streaming, face challenges in accurately estimating available bandwidth without incurring overhead, especially when dealing with multiple types of physical links and protocols, and often fail to account for jitter which affects video quality.
Innovation Solution
A method and system that estimate available bandwidth by calculating the total time for a video frame to pass through the data channel and determining bandwidth based on the number of data units received, utilizing the periodicity of video data to avoid probing packets and account for jitter, allowing for continuous monitoring without interrupting the video stream.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If probing packets are used to estimate bandwidth, then measurement precision is improved, but loss of substance increases due to overhead bandwidth consumption
Solution Approach 1:
The system uses the video data packets themselves to carry bandwidth estimation information rather than requiring separate probing packets. The receiver calculates bandwidth by measuring the arrival times of video packets that are already being transmitted for display, making the video stream serve dual purposes of content delivery and channel characterization.
Solution Approach 2:
The video data packets perform multiple functions: they serve as both the content to be displayed and as the measurement probes for bandwidth estimation. By utilizing the existing video stream for both purposes simultaneously, the system eliminates the need for dedicated probing packets and their associated overhead.
2Measurement precision
If high numbers of probing packets are used to determine maximum capacity, then measurement precision is improved, but productivity decreases due to increased overhead
Solution Approach 1:
The video stream itself is used for bandwidth measurement without requiring additional probing packets. The receiver continuously monitors the arrival of video packets that are already being transmitted, eliminating the need for separate measurement traffic and thereby maximizing user data throughput while maintaining measurement capability.
Solution Approach 2:
The bandwidth estimation process operates continuously using the ongoing video stream without interrupting or pausing the transmission of user data. The measurement is performed in parallel with normal video playback, ensuring continuous useful action for both estimation and content delivery.
3Device complexity
If single-layer approaches are used to measure TCP abstraction layer, then device complexity is reduced, but measurement precision deteriorates for channels with disparate physical links
Solution Approach 1:
The patent introduces an intermediary measurement mechanism at the packet arrival time level that bridges the gap between simple implementation and accurate multi-link bandwidth estimation. By measuring packet arrival times and calculating bandwidth based on these timestamps, the system achieves cross-layer awareness without the complexity of implementing full cross-layer protocols.
4Measurement precision
If cross-layer approaches like IdleGap are used, then measurement precision is improved, but loss of substance increases due to additional data transmission overhead
Solution Approach 1:
The system extracts bandwidth estimation information from the video packets themselves without requiring additional data transmission. The receiver uses timestamps and arrival times of existing video packets to calculate bandwidth, eliminating the need for extra measurement data and their associated overhead.
Data Source
AI summary
A receiver and method for estimating an available bandwidth of a data channel streaming video data are provided. In one embodiment, the receiver includes: (1) a physical interface configured to receive the video data from a network, (2) a packet memory configured to store frames of the video data, (3) a dispersed packet time calculator configured to calculate a total time for one of the frames to go through the data channel, and (4) a bandwidth estimator configured to determine the available bandwidth of the data channel based on a number of data units received for the one frame and the total time.

