System and method for clock skew compensation between encoder and decoder clocks by calculating drift metric, and using it to modify time-stamps of data packets
First Claim
1. A method for compensating for clock skew in a coordinated computer system adapted to transmit a series of digital data packets, each digital data packet including a digital data sample, from an encoder to a decoder, comprising:
- calculating a drift metric, based on a plurality of received digital data packets, to represent the clock skew between an encoder clock and a decoder clock;
modifying a time stamp of a digital data packet based on the drift metric; and
performing a sample rate conversion to adjust the playback rate of digital data.
1 Assignment
0 Petitions
Accused Products
Abstract
In a coordinated computer system for encoding, transmitting, and decoding a series of data packets such as audio and/or video data, there may be a skew between the clock used by an encoder and the clock used by a decoder. In a method and device for compensating for this clock skew, the decoder calculates a drift metric representing the clock skew and modifies the time stamps of the data packets based on the drift metric. The decoder also performs a sample rate conversion on the digital data, in order to compensate for the clock skew between the encoder and decoder.
315 Citations
21 Claims
-
1. A method for compensating for clock skew in a coordinated computer system adapted to transmit a series of digital data packets, each digital data packet including a digital data sample, from an encoder to a decoder, comprising:
-
calculating a drift metric, based on a plurality of received digital data packets, to represent the clock skew between an encoder clock and a decoder clock;
modifying a time stamp of a digital data packet based on the drift metric; and
performing a sample rate conversion to adjust the playback rate of digital data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
recovering the drift metric used to modify the time stamp by calculating a difference between a time stamp of a first digital data packet and a time stamp of a second digital data packet, and dividing said difference by a playback time of the first digital data packet.
-
-
4. The method of claim 1, the performing of a sample rate conversion to adjust the playback rate of the digital data including
selectively replicating a digital data sample and adding the replicated digital data sample to the digital data, if the drift metric indicates that the encoder clock is slower than the decoder clock. -
5. The method of claim 1, the performing of a sample rate conversion to adjust the playback rate of the digital data including
selectively deleting a digital data sample from the digital data, if the drift metric indicates that the encoder clock is faster than the decoder clock. -
6. The method of claim 1, the series of digital data packets including digital audio data samples.
-
7. The method of claim 6, the series of digital data packets including digital video data samples.
-
8. The method of claim 1, the digital data transmission system adapted to comply with the MPEG Specification.
-
9. A computer system adapted to receive and decode a series of digital data packets from an encoder having an encoder clock, comprising:
-
a decoder clock;
a queue monitor, adapted to calculate a drift metric based on a plurality of received digital data packets;
a time stamp modification module, adapted to modify a time stamp of a digital data packet based on the drift metric;
an adjustment module, adapted to perform a sample rate conversion on a series of digital data samples, based on the drift metric. - View Dependent Claims (10, 11, 12, 13, 14, 15)
an audio decode module adapted to recover the drift metric used to modify the time stamp by calculating a difference between a time stamp of a first digital data packet and a time stamp of a second digital data packet, and dividing said difference by a playback time of the first digital data packet.
-
-
16. An article comprising a storage medium including a set of instructions, said set of instructions capable of being executed by a processor to implement a method for compensating for clock skew in a coordinated computer system adapted to transmit a series of digital data packets from an encoder to a decoder, the method comprising:
-
calculating a drift metric, based on a plurality of received digital data packets, to represent the clock skew between an encoder clock and a decoder clock;
modifying a time stamp of a digital data packet, based on the drift metric; and
performing a sample rate conversion to adjust the playback rate of digital data. - View Dependent Claims (17, 18, 19, 20, 21)
selectively replicating a digital data sample and adding the replicated digital data sample to the digital data, if the drift metric indicates that the encoder clock is slower than the decoder clock.
-
-
18. The article of claim 16, the method further including:
selectively deleting a digital data sample from the digital data, if the drift metric indicates that the encoder clock is faster than the decoder clock.
-
19. The article of claim 16, the series of digital data packets including digital audio data.
-
20. The article of claim 16, the series of digital data packets including digital video data.
-
21. The article of claim 16, the digital of transmission system adapted to comply with the MPEG Specification.
Specification