Method and apparatus for concealing jitter buffer expansion and contraction
First Claim
Patent Images
1. A method for concealing audible distortions resulting from jitter buffer expansion, comprising:
- receiving an audio stream;
determining a pitch period associated with the audio stream;
storing the audio stream in a jitter buffer comprising a capacity;
increasing the capacity of the jitter buffer by an integer multiple of the pitch period;
inserting additional audio data in the audio stream, the additional audio data having a duration corresponding to the integer multiple of the pitch period;
determining if the increase in the capacity of the jitter buffer exceeds a selected number of pitch periods;
if the increase exceeds the selected number of pitch periods, inserting the additional audio data in more than one step, each step comprising inserting a portion of additional audio data having a duration no more than the selected number of pitch periods; and
communicating the audio stream for presentation to a user.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods for concealing audible distortions resulting from changes in jitter buffer size include receiving an audio stream, storing the audio stream in a jitter buffer, and determining a pitch period associated with the audio stream. To expand the jitter buffer, a method includes inserting additional audio data that has a duration corresponding to an integer multiple of the pitch period into the audio stream. To contract the jitter buffer, a method includes removing a portion of the audio stream having a duration corresponding to an integer multiple of the pitch period.
50 Citations
22 Claims
-
1. A method for concealing audible distortions resulting from jitter buffer expansion, comprising:
-
receiving an audio stream; determining a pitch period associated with the audio stream; storing the audio stream in a jitter buffer comprising a capacity; increasing the capacity of the jitter buffer by an integer multiple of the pitch period; inserting additional audio data in the audio stream, the additional audio data having a duration corresponding to the integer multiple of the pitch period; determining if the increase in the capacity of the jitter buffer exceeds a selected number of pitch periods; if the increase exceeds the selected number of pitch periods, inserting the additional audio data in more than one step, each step comprising inserting a portion of additional audio data having a duration no more than the selected number of pitch periods; and communicating the audio stream for presentation to a user. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A communication apparatus, comprising:
-
a network interface operable to receive from a source an audio stream; a memory operable to store the audio stream in a jitter buffer comprising a capacity; a processor operable to determine a pitch period associated with the audio stream, to increase the capacity of the jitter buffer by an integer multiple of the pitch period, to determine if the increase in the capacity of the jitter buffer exceeds a selected number of pitch periods, and if the increase exceeds the selected number of pitch periods, to insert additional audio data in more than one step, each step comprising inserting a portion the additional audio data having a duration no more than the selected number of pitch periods; a packet loss concealment module operable to add the additional audio data to the audio stream for a duration corresponding to the integer multiple of the pitch period; and a user interface operable to communicate the audio stream for presentation to the user. - View Dependent Claims (7, 8, 9)
-
-
10. A method for concealing audible distortions resulting from jitter buffer contraction, comprising:
-
receiving an audio stream; determining a pitch period associated with the audio stream; storing the audio stream in a jitter buffer comprising a capacity; removing a portion of the audio stream having a duration corresponding to an integer multiple of the pitch period; decreasing the capacity of the jitter buffer by the integer multiple of the pitch period; determining if the decrease in the capacity of the jitter buffer exceeds a selected number of pitch periods; if the decrease in the capacity exceeds the selected number of pitch periods, removing the portion of the audio stream in a series of steps, each step comprising removing a duration no greater than the selected number of pitch periods; and communicating the audio stream for presentation to a user. - View Dependent Claims (11, 12, 13)
-
-
14. A communication apparatus, comprising:
-
a network interface operable to receive an audio stream; a memory operable to store the audio stream in a jitter buffer comprising a capacity; a processor operable to determine a pitch period for the audio stream, to remove a portion of the audio stream having a duration corresponding to an integer multiple of the pitch period, to decrease the capacity of the jitter buffer by the integer multiple of the pitch period, to determine if the decrease in the capacity of the jitter buffer exceeds a selected number of pitch periods, and if the decrease in the capacity exceeds the selected number of pitch periods, to remove the portion of the audio stream in a series of steps, each step comprising removing a duration no greater than the selected number of pitch periods; and a user interface operable to communicate the audio stream for presentation to a user. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A voice communication system, comprising:
-
means for receiving, from a source at a network endpoint, an audio stream comprising a plurality of voice samples stored in electronic form; means for determining a pitch period associated with the audio stream; means for storing the audio stream in a jitter buffer comprising a capacity; means for increasing the capacity of the jitter buffer by an integer multiple of the pitch period; means for inserting additional audio data based on the voice samples in the audio stream, the additional audio data having a duration equal to the integer multiple of the pitch period; means for determining if the increase in the capacity of the jitter buffer exceeds a selected number of pitch periods; if the increase exceeds the selected number of pitch periods, means for inserting the additional audio data in more than one step, each step comprising inserting a portion of additional audio data having a duration no more than the selected number of pitch periods; and means for communicating the audio stream for presentation to a user.
-
-
20. A method for concealing audible distortions resulting from jitter buffer expansion, comprising:
-
receiving an audio stream; determining a pitch period associated with the audio stream; storing the audio stream in a jitter buffer comprising a capacity; calculating a minimum increase in the capacity of the jitter buffer based on network parameters; increasing the capacity of the jitter buffer by a least integer multiple of the pitch period greater than the minimum increase; inserting additional audio data in the audio stream, the additional audio data having a duration corresponding to the least integer multiple of the pitch period; and communicating the audio stream for presentation to a user.
-
-
21. A method for concealing audible distortions resulting from jitter buffer contraction, comprising:
-
receiving an audio stream; determining a pitch period associated with the audio stream; storing the audio stream in a jitter buffer comprising a capacity; determining a maximum decrease in the capacity of the jitter buffer based on a change in network parameters; removing a portion of the audio stream having a duration corresponding to an integer multiple of the pitch period, the duration of the removed portion of the audio stream is a greatest integer multiple of the pitch period that is less than the maximum decrease; decreasing the capacity of the jitter buffer by the integer multiple of the pitch period; and communicating the audio stream for presentation to a user.
-
-
22. A communication apparatus, comprising:
-
a network interface operable to receive an audio stream; a memory operable to store the audio stream in a jitter buffer comprising a capacity; a processor operable to determine a pitch period for the audio stream, to remove a portion of the audio stream having a duration corresponding to an integer multiple of the pitch period, to decrease the capacity of the jitter buffer by the integer multiple of the pitch period, and to determine a maximum decrease in the capacity of the jitter buffer based on network parameters, the duration of the removed portion of the audio stream is a greatest integer multiple of the pitch period less than the maximum decrease; and a user interface operable to communicate the audio stream for presentation to a user.
-
Specification