Transmit Buffer Packet Dropping for Jitter Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In real-time communications, jitter buffers often introduce artificial delays and mismatches due to extending buffer lengths in response to temporary processing delays at the transmitter, which are not effectively accounted for by existing network protocols, leading to noticeable overlaps and mismatches in conversations.

Innovation Solution

A transmitting device with a controller that measures the amount of data buffered for transmission and drops or compresses the oldest packets when the buffer exceeds a threshold, based on processing stall duration and network conditions, to prevent buffer extension and minimize delays, tricking the receiver into perceiving lost packets instead of delayed ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the jitter buffer length is increased to accommodate delayed packets, then packet delivery reliability is improved, but communication delay increases and artificial pauses are introduced

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidcommunication delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The transmitter proactively monitors the buffer occupancy and predicts potential delays before they occur. When the buffer level exceeds a threshold, the transmitter pre-adjusts by dropping or compressing packets, rather than waiting for the receiver to detect delays and reactively extend the jitter buffer. This preliminary action prevents the delay-problem from arising in the first place.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of having the receiver extend the buffer to handle delays (traditional approach), the invention inverts the approach by having the transmitter proactively drop or compress packets to prevent buffer extension at the receiver. The problem is solved at the source rather than at the destination, reversing the traditional error handling paradigm.

Inventive Principle:
Principle #13The other way round (Inversion)

2Loss of time

If packets are dropped at the transmitter to prevent buffer extension, then communication delay is reduced, but data loss increases

Engineering Contradiction:
Improvecommunication delayVSAvoiddata loss
Core Design Contradiction:
Loss of timeVSLoss of information

Solution Approach 1:

The transmitter dynamically changes the packet handling parameter based on buffer conditions. When the buffer exceeds a threshold, the system transitions from transmitting all packets to dropping or compressing packets. This parameter change is controlled and reversible, allowing the system to adapt to varying buffer conditions while minimizing data loss through intelligent selection of which packets to drop.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The transmitter selectively discards packets from the buffer when delay prevention is needed, but this discarding is done intelligently based on buffer depth and packet importance. The system recovers by adjusting the dropping rate dynamically - when buffer conditions improve, packet transmission resumes normally. This selective discarding prevents unnecessary data loss while achieving delay prevention.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP3466001B1Media buffering
Publication Date: 2020.11.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3466001B1 patent drawingFigure 1
  • EP3466001B1 patent drawingFigure 2
  • EP3466001B1 patent drawingFigure 3

AI summary

A transmitting device comprising a transmit buffer for buffering a plurality of packets representing a live media stream, the packets having an order in the media stream from oldest to most recent. The transmitting device further comprising a transmitter for transmitting the packets from the buffer live over a network; and a controller arranged to measure an amount of data buffered for transmission in the transmit buffer, and to drop or compress the oldest packet or a predetermined number of the oldest packets on condition that the amount of data buffered for transmission exceeds or is likely to exceed a predetermined threshold.