Adaptive Jitter Buffer for VoIP Decoder Packet Error Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Voice over Internet Protocol (VoIP) systems experience voice quality degradation due to lost, late, or misordered packets, which are not effectively addressed by existing protocols like UDP, leading to gaps and garbled speech.

Innovation Solution

A method and apparatus for controlling VoIP communications using an adaptive jitter buffer in a VoIP decoder controller that detects and mitigates lost or misplaced packets by decoding received packets correctly, managing the audio queue depth, and compensating for packet inter-arrival time variability, with mechanisms for handling timeouts and sequence number mismatches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If UDP protocol is used for VoIP packet transmission, then transmission speed and simplicity are improved, but packet loss and delivery reliability deteriorate

Engineering Contradiction:
Improvetransmission speedVSAvoidpacket delivery reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a jitter buffer as an intermediary component between the packet receiver and the audio decoder. This buffer temporarily stores incoming VoIP packets and releases them at regular intervals, mediating between the variable packet arrival times from UDP transmission and the constant playback rate required for audio output. The buffer compensates for packet delays and reordering without requiring retransmission, thus maintaining both speed and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If packets are buffered to compensate for jitter and loss, then voice quality is improved, but playback delay increases

Engineering Contradiction:
Improvevoice qualityVSAvoidplayback delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a dynamic jitter buffer that continuously adapts its parameters based on real-time network conditions. The buffer size, fill threshold, and drain interval are dynamically adjusted according to the observed packet arrival patterns and jitter characteristics. When network conditions are good, the buffer operates with smaller size and shorter delay; when jitter increases, the buffer expands and adjusts timing to maintain voice quality, thus optimizing the trade-off between quality and delay.

Inventive Principle:
Principle #15Dynamics

3Reliability

If sequential bad frames are tracked and handled, then speech continuity is improved, but processing complexity increases

Engineering Contradiction:
Improvespeech continuityVSAvoiddecoder control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where the jitter buffer automatically tracks sequential bad frames and triggers appropriate recovery actions without external intervention. The buffer monitors packet sequence numbers, identifies gaps indicating lost packets, and autonomously decides when to switch to comfort noise generation or other recovery strategies. This self-managing approach maintains speech continuity while keeping the control logic integrated and relatively simple within the buffer module.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7715404B2Method and apparatus for controlling a voice over internet protocol (VoIP) decoder with an adaptive jitter buffer
Publication Date: 2010.05.11 LEIDOS INNOVATIONS TECHNOLOGY INC
  • US7715404B2 patent drawing
  • US7715404B2 patent drawing
  • US7715404B2 patent drawing

AI summary

A method and apparatus that controls a Voice over Internet Protocol (VoIP) decoder in a communication device is disclosed. The method may include determining if a packet has been received, and if a packet has been received, determining if a receive error has occurred, and if a receive error has not occurred, setting a counter that counts a number of sequential bad frames to a value of zero, decoding the received packet, and sending the decoded packet to an audio queue for presentation to a user of the communication device.