Jitter Buffer Prototype Head Latency Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional jitter buffering systems in VoIP and similar networks face challenges in dynamically adjusting target latency to optimize performance metrics such as packet loss and latency, often resulting in suboptimal playback quality due to fixed latency settings determined at buffer input time.

Innovation Solution

The system introduces a jitter buffer with multiple prototype heads, each associated with a distinct target latency, allowing for real-time determination of the best target latency and head location based on performance metrics such as conceal rate and latency, at the time of packet playback rather than input, using decision logic and metric units to compare costs and select the optimal configuration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional jitter buffering with fixed latency settings is used, then system simplicity is maintained, but playback quality deteriorates due to inability to adapt to changing network conditions

Engineering Contradiction:
Improvetarget latency adaptationVSAvoidbuffer structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The jitter buffer is segmented into multiple prototype buffers, each with a different fixed target latency setting. Instead of one monolithic buffer, the system divides the buffering function across multiple specialized instances that can be selectively activated based on network conditions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects which prototype buffer to use based on real-time network conditions and performance metrics. The target latency is no longer fixed but becomes a dynamic parameter that adapts to changing network environments by switching between pre-configured prototype buffers.

Inventive Principle:
Principle #15Dynamics

2Manufacturing precision

If target latency is determined at buffer input time, then processing simplicity is maintained, but playback quality deteriorates due to lack of real-time optimization

Engineering Contradiction:
Improveplayback qualityVSAvoiddecision logic complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

Multiple prototype buffers with different target latency settings are pre-configured and ready before runtime. This preliminary preparation allows the system to quickly switch between predefined configurations without complex real-time calculations, achieving both high playback quality and reasonable processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms that monitor network conditions and playback performance metrics in real-time. This feedback information drives the selection of the appropriate prototype buffer, creating a closed-loop control system that continuously optimizes playback quality based on actual performance.

Inventive Principle:
Principle #23Feedback

3Productivity

If single target latency setting is used, then configuration simplicity is maintained, but performance deteriorates due to inability to optimize for varying network conditions

Engineering Contradiction:
Improvepacket loss performanceVSAvoidnetwork condition adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The target latency parameter is changed dynamically by selecting different prototype buffers with different latency settings. Instead of adjusting a single parameter continuously, the system discretely switches between pre-defined parameter configurations that are optimized for different network conditions.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If multiple prototype heads with different target latencies are implemented, then playback quality improves through dynamic selection, but device complexity increases

Engineering Contradiction:
Improveplayback continuityVSAvoidbuffer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The buffer management function is segmented into multiple independent prototype heads, each handling a specific target latency configuration. This segmentation allows independent optimization of each prototype while simplifying the management logic for selecting between them.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10812401B2Jitter buffer apparatus and method
Publication Date: 2020.10.20 DOLBY LABORATORIES LICENSING CORP
  • US10812401B2 patent drawing
  • US10812401B2 patent drawing
  • US10812401B2 patent drawing

AI summary

Disclosed is an apparatus and method operative to receive packets of media from a network including a receiver unit operative to receive the packets from the network, a jitter buffer data structure for receiving the packets in an ordered queue, the jitter buffer data structure having a tail into which the packets are input; a plurality of heads defining points in the jitter buffer data structure from which the ordered queue of packets are to be played back, the heads comprise an adjustable actual playback head coupled to an actual playback unit and at least one prototype head, each prototype head having associated therewith a target latency a processor having decision logic operable to determine a cost of achieving the associated target latency for each prototype head, wherein the decision logic compares the costs determined for each prototype head to identify a particular target latency and head location for the actual playback head of the buffer and a playback unit coupled to the processor for actual playback of the playback head of the buffer, such that the particular target latency of the jitter buffer data structure is determined at playback of the buffer rather than upon input of the packets into the jitter buffer data structure.