VoIP Decoder Late Packet Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In VoIP and wireless VoIP communications, late-arriving packets often lead to discarded sound segments, causing intelligibility issues due to conventional decoders' inability to effectively handle and play out late packets, resulting in distorted speech.
Innovation Solution
The method involves playing out late speech packets and subsequent packets at a shorter than normal time scale to synchronize the decoder with the encoder, preserving phoneme segments and maintaining high voice quality without losing critical sound segments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the jitter buffer playback delay is minimized to reduce end-to-end delay, then the end-to-end delay is reduced, but the packet loss rate increases due to late packets
Solution Approach 1:
The system performs preliminary actions by playing out late packets at an accelerated rate before they would normally be discarded. The decoder identifies late packets and proactively plays them out at a faster rate to catch up with the encoder, preventing the packets from being lost entirely while maintaining synchronization.
Solution Approach 2:
The system changes the playback rate parameter for late packets by playing them out at an accelerated rate rather than the normal playback rate. This parameter change allows the decoder to catch up with the encoder timing without discarding the packets, thereby reducing packet loss while maintaining acceptable delay levels.
2Stability of the object's composition
If late packets are discarded by conventional decoders to maintain synchronization, then the decoder synchronization is maintained, but voice intelligibility deteriorates due to missing phoneme segments
Solution Approach 1:
The system performs preliminary action by playing out late packets at an accelerated rate before they would normally be discarded. This allows the phoneme segments in late packets to be reproduced before the decoder loses synchronization, thereby maintaining both synchronization and intelligibility.
Solution Approach 2:
The system converts the harmful effect of late packets (which normally cause synchronization loss and are discarded) into a beneficial effect by playing them out at an accelerated rate. This allows the late packets to actually help the decoder catch up with the encoder, transforming the synchronization error into a synchronization correction opportunity.
3Loss of information
If late packets are played out at normal time scale to preserve phoneme segments, then voice quality is maintained, but the decoder cannot synchronize with the encoder
Solution Approach 1:
The system changes the playback rate parameter for late packets by playing them out at an accelerated rate rather than the normal playback rate. This parameter change allows the decoder to catch up with the encoder timing while still preserving the phoneme segments, as the acceleration is applied selectively only to late packets.
Solution Approach 2:
The system segments the packet handling process into different treatments based on packet timing. Normal packets are played out at the normal playback rate to maintain synchronization, while late packets are played out at an accelerated rate to catch up with the encoder. This segmentation allows both synchronization and phoneme preservation to coexist.
Data Source
AI summary
A method and apparatus for enhancing voice intelligibility for network communications of speech such as, for example, VoIP (Voice-Over-Internet-Protocol), in the presence of packets which arrive too late for normal playout. When a late speech packet is received by a speech decoder, that packet and, if necessary, one or more additional packets subsequent thereto, are played out over a shorter than normal duration so that the decoder can “catch up” with the encoder. Since a voice frame is usually decoded in several sub-frames—typically two or three—this shortened playout may be achieved, for example, by skipping one sub-frame from each frame to be shortened.


