Jitter Buffer Playback Control for Stable VoIP Under High Jitter
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional jitter buffer algorithms for VoIP services suffer from suboptimal performance under bursty, self-similar, and long-range dependent traffic conditions, often resulting in inaccurate predictions and significant packet loss due to sensitivity to network delay and jitter.
Innovation Solution
A data processing device with a jitter buffer and media controller that monitors the input buffer to generate play-out requests based on the number of samples, estimates the timestamp of the next packet, and adapts the buffer size using a histogram of time periods between packet timestamps, allowing for the selection and playback of best match data packets while discarding or generating synthetic packets to maintain a stable media stream.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If adaptive estimation algorithms are used to calculate play-out times using adaptive dual alpha weighting factors and network statistics, then the system can work under slightly impaired network conditions, but the algorithms suffer from suboptimal performance under bursty, self-similar, and long range dependent traffic due to inaccurate predictions of inter-frame dependency
Solution Approach 1:
The patent changes the fundamental parameters used for jitter buffer management from adaptive dual alpha weighting factors and EMOS algorithms to a buffer interface that monitors sample levels and generates play-out requests based on actual buffer state. This parameter change enables accurate handling of bursty, self-similar, and long-range dependent traffic by relying on real buffer conditions rather than statistical predictions that fail under non-ideal traffic patterns.
2Reliability
If EMOS algorithms are used to predict subjective quality of packetized voice, then better performance is achieved than adaptive estimation algorithms, but the system discards a significant number of packets under slightly poor network conditions due to sensitivity to network delay
Solution Approach 1:
The patent introduces a buffer interface as an intermediary between the network and the media consumer. This intermediary monitors the number of samples in the media consumer's input buffer and generates play-out requests to the media controller based on actual buffer levels rather than relying on EMOS algorithm predictions. This intermediary approach prevents premature packet discarding by basing decisions on real buffer state rather than sensitive quality predictions.
3Productivity
If timer-based estimates are used to control packet playback rate, then the system can maintain a regular playback schedule, but the system suffers from inaccurate playback under high jitter and delay conditions due to wrong predictions on traffic inter-arrival times
Solution Approach 1:
The patent inverts the traditional approach by having the buffer interface monitor the media consumer's input buffer level and generate play-out requests based on actual consumption needs, rather than having a timer push packets at predetermined intervals. This inversion enables accurate playback under high jitter conditions by adapting to real-time buffer state and actual traffic patterns instead of relying on predetermined schedules that fail under non-ideal conditions.
Data Source
AI summary
A data processing device comprising: a jitter buffer for receiving data packets; a media decoder configured to decode the data packets so as to form a stream of media frames, each frame comprising a plurality of samples; a media consumer having an input buffer for receiving the stream of media frames and being configured to play media frames from the input buffer according to a first frame rate; a buffer interface configured to monitor the input buffer so as to detect when the number of samples at the input buffer of the media consumer falls below a predetermined level and, in response, generate a play-out request; and a media controller configured to, responsive to each of the generated play-out requests, play-out one or more data packets to the media decoder so as to cause media frames of the stream to be delivered into the input buffer at a rate commensurate with the first frame rate.


