Time synchronization of multiple time-based data streams with independent clocks
First Claim
Patent Images
1. A computer-implemented method for relating time-based data, the computer-implemented method comprising:
- determining a first relationship between a clock rate of a first timing device and a clock rate of a common reference;
determining a second relationship between a clock rate of a second timing device and the clock rate of the common reference;
based on the first relationship and the second relationship, calculating a third relationship between (a) a first set of time-based data that is based on the first timing device and (b) a second set of time-based data that is based on the second timing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for synchronizing multiple time-based data streams with independent clocks wherein relationships between clock rates of timing devices associated with the time-based data streams are determined, and based on these relationships, times in at least one of the time-based data streams may be translated to times in any of the other time-based data streams despite the data streams having independent clocks.
52 Citations
20 Claims
-
1. A computer-implemented method for relating time-based data, the computer-implemented method comprising:
-
determining a first relationship between a clock rate of a first timing device and a clock rate of a common reference; determining a second relationship between a clock rate of a second timing device and the clock rate of the common reference; based on the first relationship and the second relationship, calculating a third relationship between (a) a first set of time-based data that is based on the first timing device and (b) a second set of time-based data that is based on the second timing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
9. A computer-readable medium carrying one or more sequences of instructions for relating time-based data, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
identifying a point within a first time-based data stream that is associated with a time value generated based on a first timing device; determining a corresponding point in a second time-based data stream that is associated with a time value that was generated based on a second timing device that is different than the first timing device, based on (a) the difference between the clock rate of the first timing device and a third timing device, and (b) the difference between the clock rate of the second timing device and a third timing device.
-
-
10. A method comprising performing a machine-executed operation involving instructions, wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform certain steps including:
-
calculating a first rate scaler between the clock rate of a first timing device and the clock rate of a common timing device; calculating a second rate scaler between the clock rate of a second timing device and the clock rate of a common timing device; translating a time in a first time base running at a first rate and rooted in the first timing device to a time in a second time base running at a second rate and rooted in the second timing device, wherein the step of translating comprises analyzing at least;
(a) the first rate scaler, (b) the second rate scaler, (c) the time in the first time base, (d) a pair of times each different from (c), measured at the same time, one of the pair of times based on the first time base and the other of the pair of times based on the first timing device;
(e) the rate associated with the first time base, and (f) the rate associated with the second time base;wherein the machine-executed operation is at least one of (a) sending the instructions over transmission media, (b) receiving the instructions over transmission media, (c) storing the instructions onto a machine-readable storage medium, or (d) executing the instructions. - View Dependent Claims (20)
-
-
11. A computer-readable medium carrying one or more sequences of instructions for synchronizing multiple time-based data streams with independent clocks, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
driving consumption of a first set of video frames based on (a) a first rate and (b) a first set of anchor time stamp pairs, wherein (a) and (b) are not associated with any particular time base; driving consumption of a second set of video frames based on (a) a second rate and (b) a second set of anchor time stamp pairs, wherein (a) and (b) are not associated with any particular time base; determining a relationship between the first set of video frames and the second set of video frames based on the difference between the clock rate of the timing device associated with the first set of anchor time stamp pairs and the clock rate of a third device, and (b) the clock rate of the timing device associated with the second set of anchor time stamp pairs and the clock rate of a third device.
-
Specification