Shared FIFO Buffer for Voice Packet Loss Concealment
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If fixed buffer allocations are used for packet loss concealment, then handling of consecutive packet losses is improved, but memory flexibility deteriorates
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.
Data Source
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.


