Server-Based Jitter Buffer for VoIP Packet Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for reducing jitter in audio communication, such as those used in Voice-over Internet Protocol (VOIP), are unreliable and provide suboptimal audio quality, especially for devices with small or no jitter buffers, as they struggle to handle out-of-order and burst packet processing in real-time.

Innovation Solution

Implementing a server-based packet processing system that uses a single thread for out-of-order and burst packet processing, employing a reorder buffer to ensure packets are in order and a speed buffer to regulate packet transmission, thereby reducing jitter and improving audio quality without relying on device capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If device-based jitter buffering is used, then real-time processing is maintained, but audio quality deteriorates due to insufficient buffer capacity in thin devices

Engineering Contradiction:
Improvereal-time processing speedVSAvoidaudio quality reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

A server-based jitter buffer acts as an intermediary between the sender and receiver of audio packets. The server receives out-of-order packets, reorders them using a reorder buffer, applies error concealment, and transmits them in the correct sequence. This intermediary approach allows thin devices to maintain real-time processing while achieving reliable audio quality that would otherwise require large local buffers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If out-of-order packet processing is handled separately from burst processing, then processing accuracy is improved, but system complexity increases due to multiple threads

Engineering Contradiction:
Improvepacket processing accuracyVSAvoidthread structure complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent combines out-of-order packet processing and burst packet processing into a single integrated thread. The reorder buffer handles out-of-order packets while the speed buffer manages burst packets, both within the same thread context. This merging reduces system complexity compared to using separate threads, while maintaining processing accuracy through the coordinated operation of the buffers.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If larger jitter buffers are implemented at devices, then audio quality improves, but processing delay increases

Engineering Contradiction:
Improveaudio qualityVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The server-based jitter buffer serves as an intermediary that performs packet reordering and error concealment, enabling thin devices to use smaller local buffers. This reduces the processing delay at client devices while maintaining audio quality through the server's buffering and processing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If server-based packet processing is implemented, then audio quality improves through jitter reduction, but system complexity increases

Engineering Contradiction:
Improveaudio qualityVSAvoidserver system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The server implementation merges out-of-order and burst packet processing into a single thread with coordinated buffers, reducing the complexity overhead of server-based processing. The reorder buffer and speed buffer work together within one thread context, making the server system more manageable while still providing jitter reduction and quality improvement.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240364644A1Storing Encoded Packets At A Server
Publication Date: 2024.10.31 ZOOM COMMUNICATIONS INC
  • US20240364644A1 patent drawing
  • US20240364644A1 patent drawing
  • US20240364644A1 patent drawing

AI summary

A computer stores packets from a first device at a first buffer. The computer decodes the packets to obtain decoded packets at a decoder. The computer encodes encoding the decoded packets to obtain encoded packets at an encoder. The computer transmits the encoded packets from the encoder to a storage unit. The computer fetches the encoded packets from the storage unit using a second buffer. The computer causes a transmitter to transmit the encoded packets from the second buffer to a second device.