System and method for real-time jitter control and packet-loss concealment in an audio signal
First Claim
1. A system for providing adaptive playback of an audio signal, comprising:
- storing received audio data to a signal buffer;
outputting parts of the signal present in the signal buffer as needed for signal playback;
analyzing the contents of the signal buffer;
stretching at least part of the signal present in the signal buffer when the analysis of the contents of the signal buffer indicates that the length of the signal in the signal buffer is less than a predetermined threshold; and
compressing at least part of the signal present in the signal buffer when the analysis of the contents of the signal buffer indicates that the length of the signal in the signal buffer is greater than a predetermined threshold.
3 Assignments
0 Petitions
Accused Products
Abstract
An “adaptive audio playback controller” operates by decoding and reading received packets of an audio signal into a signal buffer. Samples of the decoded audio signal are then played out of the signal buffer according to the needs of a player device. Jitter control and packet loss concealment are accomplished by continuously analyzing buffer content in real-time, and determining whether to provide unmodified playback from the buffer contents, whether to compress buffer content, stretch buffer content, or whether to provide for packet loss concealment for overly delayed or lost packets as a function of buffer content. Further, the adaptive audio playback controller also determines where to stretch or compress particular frames or signal segments in the signal buffer, and how much to stretch or compress such segments in order to optimize perceived playback quality.
-
Citations
50 Claims
-
1. A system for providing adaptive playback of an audio signal, comprising:
-
storing received audio data to a signal buffer;
outputting parts of the signal present in the signal buffer as needed for signal playback;
analyzing the contents of the signal buffer;
stretching at least part of the signal present in the signal buffer when the analysis of the contents of the signal buffer indicates that the length of the signal in the signal buffer is less than a predetermined threshold; and
compressing at least part of the signal present in the signal buffer when the analysis of the contents of the signal buffer indicates that the length of the signal in the signal buffer is greater than a predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for providing an adaptive playback of received frames of an audio signal transmitted across a packet-based network, comprising:
-
receiving and decoding data frames of an audio signal transmitted across a packet-based network;
storing the decoded data frames to a signal buffer;
analyzing the contents of the signal buffer;
outputting one or more of the decoded frames present in the signal buffer when the analysis of the contents of the signal buffer indicates that the length of the signal in the signal buffer is between a predetermined minimum and a predetermined maximum buffer size;
stretching and outputting one or more decoded frames in the signal buffer when the analysis of the contents of the signal buffer indicates that the length of the decoded frames in the signal buffer is less than the predetermined minimum buffer size; and
compressing and outputting one or more decoded frames in the signal buffer when the analysis of the contents of the signal buffer indicates that the length of the decoded frames in the signal buffer is greater than the predetermined maximum buffer size. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for adaptive playback of received frames of an audio signal transmitted across a packet-based network, comprising using a computing device to:
-
receive a packetized audio signal broadcast across a packet-based network;
decode each received packet and store the resulting decoded signal frame in a signal buffer;
output a current packet in the case where the current packet has been received across the packet-based network;
instantiate a mute mode whereby a playback of the audio signal is at least partially muted when a maximum delay time for receiving the current packet has been exceeded, and the current packet has not been received;
instantiate a packet loss concealment mode whereby the playback of the audio signal is modified for reducing audible artifacts resulting from one or more lost packets when a current buffer content has been previously temporally stretched, the current packet has not yet been received, and a packet subsequent to the current packet has already been received. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A computer-readable medium having computer executable instructions for providing adaptive decoding and playback of a packetized audio signal, said computer executable instructions comprising:
-
receiving a plurality of network packets, said network packets representing a packetized audio signal;
decoding each network packet as it is received and storing the decoded packet as a signal frame in a signal buffer;
estimating an LPC filter for each signal frame, computing an LPC residual from each signal frame using the estimated LPC filter, and storing each LPC residual in an LPC residual buffer;
examining a current length of the LPC residual buffer;
stretching and outputting a current LPC residual from the LPC residual buffer when the current length of the LPC residual buffer is less than a predetermined minimum buffer size; and
computing an inverse LPC of the stretched LPC residual, and outputting the result as a current signal frame. - View Dependent Claims (34, 35, 36, 37, 38)
-
-
39. A method for providing adaptive signal playback, comprising using a computing device to:
-
receive signal packets representing a digitized audio signal transmitted across a packet-based network;
decode the packets to reconstruct the digitized audio signal;
store the reconstructed digitized audio signal in a signal buffer;
provide content of the signal buffer for playback as required by a playback device;
begin stretching contents of the signal buffer when an expected signal packet has not been received at an expected time; and
continue stretching contents of the signal buffer until a condition selected from (1) actual receipt of the expected signal packet, and (2) a determination that the expected signal packet is lost. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
Specification