Shared FIFO Buffer for Voice Packet Loss Concealment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet loss concealment algorithms in voice over packet networks require significant memory resources due to the need for large buffers and Overlap Add (OLA) memory allocations, even when packet loss is rare, leading to inefficient use of memory.

Innovation Solution

The proposed solution reduces memory requirements by using the voice playout unit's FIFO buffer as the history buffer, allowing for dynamic allocation based on network conditions, and in alternative embodiments, extending the history buffer to regenerate lost packets using a scratch buffer, thereby minimizing the need for duplicate storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If large buffers and Overlap Add memory allocations are allocated for packet loss concealment, then voice quality during packet loss is improved, but memory usage increases significantly even when packet loss is rare

Engineering Contradiction:
Improvevoice quality during packet lossVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the voice playout buffer and the PLC history buffer into a single shared buffer structure. The voice playout buffer, which already stores incoming voice packets for timing adjustment, is used to also serve as the history buffer for PLC operations. This eliminates the need for separate buffer allocations, reducing memory usage while maintaining voice quality during packet loss events.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The voice playout buffer is given multiple functions: it serves both as the timing buffer for voice playout operations and as the history buffer for packet loss concealment. This multi-functionality allows the system to maintain adequate memory for PLC operations without allocating additional dedicated memory, especially important in lightly loaded networks where packet loss is rare.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If duplicate storage of voice packets is maintained in separate buffers, then packet loss concealment reliability is improved, but memory efficiency deteriorates in lightly loaded networks

Engineering Contradiction:
Improvepacket loss concealment reliabilityVSAvoidmemory efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent eliminates duplicate storage by merging the voice playout buffer and PLC history buffer into a single shared structure. The same buffer memory is used for both voice playout timing operations and packet loss concealment history storage, preventing redundant memory allocation while ensuring packet loss concealment reliability is maintained through proper buffer management.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If fixed buffer allocations are used for packet loss concealment, then handling of consecutive packet losses is improved, but memory flexibility deteriorates

Engineering Contradiction:
Improvehandling of consecutive packet lossesVSAvoidmemory flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic buffer management where the voice playout buffer allocation can be adjusted based on network conditions. During periods of high packet loss, the buffer maintains sufficient history for effective PLC operations. During lightly loaded periods with rare packet loss, the buffer allocation can be reduced or shared more efficiently, providing memory flexibility while maintaining reliability when needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7590047B2Memory optimization packet loss concealment in a voice over packet network
Publication Date: 2009.09.15 TELOGY NETWORKS INC
  • US7590047B2 patent drawing
  • US7590047B2 patent drawing
  • US7590047B2 patent drawing

AI summary

A method to reduce memory requirements for a packet loss concealment algorithm in the event of packet loss in a receiver of pulse code modulated voice signals. A voice playout unit in the receiver shares its nominal delay buffer with a history buffer of a packet loss concealment algorithm up to a maximum limit described in a standard. This reduces or eliminates need to allocate memory for the history buffer. A history buffer can also be extended to retain an original portion of voice signal packets received prior to a packet loss as well as generated voice signals as they are generated. A scratch buffer is used as a working buffer and replaces the function of a pitch buffer.