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 received across a packet based network, comprising:
- storing data packets comprising a received audio data signal to a signal buffer;
outputting parts of the signal present in the signal buffer as needed for signal playback;
analyzing the data packets contained in the signal buffer to determine whether any data packets are missing, having not been received into the signal buffer by a predetermined packet late loss time;
specifying a maximum delay period, extending past the predetermined packet late loss time, for receiving any missing data packets;
following the predetermined packet late loss time, stretching at least part of the signal preceding the missing data packets present in the signal buffer, until any of receiving the missing data packets and exceeding the maximum delay period, 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.
52 Citations
21 Claims
-
1. A system for providing adaptive playback of an audio signal received across a packet based network, comprising:
-
storing data packets comprising a received audio data signal to a signal buffer; outputting parts of the signal present in the signal buffer as needed for signal playback; analyzing the data packets contained in the signal buffer to determine whether any data packets are missing, having not been received into the signal buffer by a predetermined packet late loss time; specifying a maximum delay period, extending past the predetermined packet late loss time, for receiving any missing data packets; following the predetermined packet late loss time, stretching at least part of the signal preceding the missing data packets present in the signal buffer, until any of receiving the missing data packets and exceeding the maximum delay period, 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 to determine whether any data frames are missing due to corresponding data packets having not been received by a predetermined packet late loss time; specifying a maximum delay period, extending past the predetermined packet late loss time, for receiving any missing data packets; 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; following the predetermined packet late loss time, stretching and outputting one or more decoded frames preceding the missing data packets in the signal buffer, until any of receiving the missing data packets and exceeding the maximum delay period, 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)
-
Specification