Jitter Buffer Transmitter Feedback Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In real-time communication events, such as audio or video calls, data transmission over communication channels can be delayed or corrupted, leading to quality degradations and interactivity issues due to the need for jitter buffers to manage packet propagation delays and errors.

Innovation Solution

A method where the transmitter processes data based on the state of the jitter buffer at the receiver, adjusting parameters like encoding bit rate, FEC depth, packetization delay, and interleaving delay to optimize data transmission, with the transmitter receiving jitter buffer state information to control these parameters accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the jitter buffer delay is increased to reduce late data packets, then the number of late packets decreases, but the playback delay increases which adversely affects interactivity

Engineering Contradiction:
Improvenumber of late data packetsVSAvoidplayback delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The jitter buffer delay is made dynamic rather than fixed. The transmitter adapts the packetization delay based on the current state of the receiver's jitter buffer, allowing the system to optimize between reducing late packets and minimizing playback delay according to real-time network conditions and receiver buffer status.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The receiver sends jitter buffer state information (including available space and current delay) back to the transmitter. This feedback loop enables the transmitter to adjust its packetization delay parameter dynamically, resolving the contradiction by allowing the system to adapt the delay setting based on actual receiver conditions rather than using a fixed conservative value.

Inventive Principle:
Principle #23Feedback

2Reliability

If the jitter buffer delay is adapted to balance late packets and interactivity, then the number of late packets and playback delay are optimized, but the received signal quality degrades due to playing back parts of the signal slower or faster than intended

Engineering Contradiction:
Improvebalance between late packets and interactivityVSAvoidreceived signal quality
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The transmitter proactively adjusts the packetization delay before data is sent, based on predicted or current jitter buffer state. By pre-configuring the appropriate delay parameter according to receiver conditions, the system avoids the need for aggressive real-time adaptation at the receiver that would cause signal quality degradation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the packetization delay parameter at the transmitter side rather than adapting playback speed at the receiver. This parameter adjustment occurs during the encoding/transmission phase where it can be applied cleanly without introducing the signal quality issues that would result from variable speed playback at the receiver end.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If data is transmitted with higher encoding bit rate to improve quality, then the received signal quality improves, but the jitter buffer may overflow due to increased data volume

Engineering Contradiction:
Improvereceived signal qualityVSAvoidjitter buffer overflow
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The packetization delay is dynamically adjusted based on the jitter buffer's available space. When the buffer has sufficient capacity, the transmitter can use higher encoding bit rates. When the buffer is nearly full, the transmitter reduces the bit rate or increases packetization delay to prevent overflow, creating a dynamic balance between quality and buffer management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The receiver provides feedback about jitter buffer state (available space, current occupancy) to the transmitter. This enables the transmitter to make informed decisions about encoding bit rate selection, adjusting it according to the receiver's buffer capacity to prevent overflow while maximizing signal quality when possible.

Inventive Principle:
Principle #23Feedback

4Loss of time

If the transmitter processes data with longer packetization delay to reduce jitter buffer delay, then the jitter buffer delay decreases improving interactivity, but the number of late packets increases

Engineering Contradiction:
Improvejitter buffer delayVSAvoidnumber of late data packets
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The packetization delay is made dynamic and is adjusted based on the receiver's jitter buffer state feedback. This allows the system to optimize the delay setting in real-time, balancing between reducing jitter buffer delay for interactivity and maintaining enough delay to prevent late packet arrival.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The transmitter changes the packetization delay parameter based on receiver conditions. By adjusting this parameter dynamically rather than using a fixed value, the system can adapt to varying network conditions and receiver buffer states, optimizing the trade-off between interactivity and packet arrival timing.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8855145B2Jitter buffer
Publication Date: 2014.10.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8855145B2 patent drawing
  • US8855145B2 patent drawing
  • US8855145B2 patent drawing

AI summary

Method, transmitter and computer program product for transmitting data of a real-time communication event from the transmitter to a jitter buffer of a receiver. Jitter buffer state information is received at the transmitter from the receiver, the jitter buffer state information indicating a state of the jitter buffer. At least one processing parameter is controlled based on the received jitter buffer state information, the at least one processing parameter describing how data is to be processed for transmission from the transmitter to the jitter buffer in the real-time communication event. Data is processed for transmission from the transmitter to the jitter buffer in accordance with the determined at least one processing parameter. The processed data is transmitted from the transmitter to the jitter buffer of the receiver in the real-time communication event.