Adapting Jitter Buffer for Audio Video Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems fail to adequately account for the impact of one media type on the jitter experienced by another media type during simultaneous transmission over packet-based networks, leading to suboptimal audio and video quality in real-time applications.

Innovation Solution

A receiving device with separate or joint jitter buffers for audio and video streams, where the jitter buffer controller adapts the de-jittering delay of the audio stream based on information from the video stream, such as encoding parameters and transmission hints, to dynamically manage network conditions and maintain optimal playback quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the de-jittering delay is increased to accommodate more network jitter, then the audio stream stability is improved, but the audio play-out delay increases causing unresponsiveness and talking across one another

Engineering Contradiction:
Improveaudio stream stabilityVSAvoidaudio play-out delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The jitter buffer dynamically adapts the de-jittering delay based on observed network conditions rather than using a fixed delay value. The buffer monitors packet arrival patterns and adjusts the delay parameter in real-time, allowing it to increase delay when jitter is high and decrease delay when network conditions are good, thus resolving the contradiction between stability and responsiveness

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the delay parameter of the jitter buffer based on measured network characteristics. By analyzing packet arrival times and adjusting the delay parameter adaptively, the system optimizes the balance between accommodating jitter and maintaining low latency for real-time interaction

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the jitter buffer is configured to dynamically adapt based on channel conditions, then the audio quality is improved, but the device complexity increases

Engineering Contradiction:
Improveaudio qualityVSAvoidjitter buffer control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The jitter buffer controller implements a feedback mechanism that monitors packet arrival patterns and network conditions, then uses this information to automatically adjust the de-jittering delay. This closed-loop control improves audio quality by adapting to changing network conditions without requiring complex manual configuration or intervention

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The jitter buffer system is self-adjusting based on observed network behavior. It automatically monitors its own performance and network conditions, then modifies its delay parameter without external control, reducing the need for complex device architecture while maintaining high audio quality

Inventive Principle:
Principle #25Self-service

3Reliability

If separate jitter buffers are used for audio and video streams, then the quality of each stream is optimized independently, but the system complexity increases

Engineering Contradiction:
Improvestream qualityVSAvoidbuffer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses separate jitter buffers for audio and video streams, allowing independent optimization of delay parameters for each media type. This segmentation enables tailored jitter compensation strategies for each stream's specific requirements while maintaining manageable complexity through modular buffer management

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10177899B2Adapting a jitter buffer
Publication Date: 2019.01.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10177899B2 patent drawing
  • US10177899B2 patent drawing

AI summary

A receiver receives a first data stream and a second data stream from a transmitting device over a packet-based communication network, the first data stream being of a first media type (e.g. audio) and the second data stream being of a second media type (e.g. video). The first jitter buffer will buffer each of a plurality of portions of the first data stream as they are received via the receiver, and apply a de-jittering delay before outputting each portion of the first data stream (e.g. audio stream) to be played out through the receiving device. The jitter buffer controller receives information on the second data stream (e.g. video stream), and adapts the de-jittering delay of the first jitter buffer (e.g. audio jitter buffer) in dependence on the information on the second data stream (e.g. information on the video stream).