Temporal drift correction
First Claim
1. A method for temporal drift correction in a real-time electronic communication comprising:
- receiving an electronic communication including multiple samples;
computing, using at least one processor, an amount of temporal drift associated with the received electronic communication, the computing including performing a calculation using an average data buffer size related to the received electronic communication and a nominal data buffer size and multiplying a result, that is based on the calculation, by a convergent factor;
determining a number of samples to be inserted in or removed from the received electronic communication based on the computed amount of temporal drift associated with the received electronic communication;
analyzing the multiple samples included in the received electronic communication to select one or more portions of the received electronic communication at which to insert or remove samples; and
modifying the received electronic communication by inserting or removing the determined number of samples at the selected one or more portions of the received electronic communication.
6 Assignments
0 Petitions
Accused Products
Abstract
Temporal drift correction may be provided in a real-time audio communication system by measuring a size of a receiving data buffer and comparing that size to a predetermined nominal data buffer size. An amount of temporal drift is characterized as a number of samples per audio playback data block based on the measured data buffer size and the nominal data buffer size. A number of samples to be inserted or removed for each audio playback data block to correct the temporal drift may be determined, and the number of samples for each audio playback data block may be modified. For example, an instantaneous size of the receiving data buffer may be measured, and if measured multiple times, may be averaged over a time period. Heuristic resampling of the audio playback data block also may be performed. When heuristic resampling is performed, multiple consecutive samples of audio data in an audio buffer may be analyzed, consecutive samples with minimal variation in a parameter of their data may be identified, and the number of samples in the identified consecutive samples may be adjusted. A sample may be removed from or added to the identified consecutive samples.
-
Citations
23 Claims
-
1. A method for temporal drift correction in a real-time electronic communication comprising:
-
receiving an electronic communication including multiple samples; computing, using at least one processor, an amount of temporal drift associated with the received electronic communication, the computing including performing a calculation using an average data buffer size related to the received electronic communication and a nominal data buffer size and multiplying a result, that is based on the calculation, by a convergent factor; determining a number of samples to be inserted in or removed from the received electronic communication based on the computed amount of temporal drift associated with the received electronic communication; analyzing the multiple samples included in the received electronic communication to select one or more portions of the received electronic communication at which to insert or remove samples; and modifying the received electronic communication by inserting or removing the determined number of samples at the selected one or more portions of the received electronic communication. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. At least one computer readable medium storing one or more computer programs, the one or more computer programs comprising instructions for:
-
receiving an electronic communication including multiple samples; computing an amount of temporal drift associated with the received electronic communication, the computing including performing a calculation using an average data buffer size related to the received electronic communication and a nominal data buffer size and multiplying a result, that is based on the calculation, by a convergent factor; determining a number of samples to be inserted in or removed from the received electronic communication based on the computed amount of temporal drift associated with the received electronic communication; analyzing the multiple samples included in the received electronic communication to select one or more portions of the received electronic communication at which to insert or remove samples; and modifying the received electronic communication by inserting or removing the determined number of samples at the selected one or more portions of the received electronic communication. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system comprising:
-
at least one computer; and at least one computer-readable medium coupled to the at least one computer having instructions stored thereon which, when executed by the at least one computer, causes the at least one computer to perform operations comprising; receiving an electronic communication including multiple samples; computing an amount of temporal drift associated with the received electronic communication, the computing including performing a calculation using an average data buffer size related to the received electronic communication and a nominal data buffer size and multiplying a result, that is based on the calculation, by a convergent factor; determining a number of samples to be inserted in or removed from the received electronic communication based on the computed amount of temporal drift associated with the received electronic communication; analyzing the multiple samples included in the received electronic communication to select one or more portions of the received electronic communication at which to insert or remove samples; and modifying the received electronic communication by inserting or removing the determined number of samples at the selected one or more portions of the received electronic communication.
-
Specification