Methods and Systems for Synchronizing Media
First Claim
1. A method of synchronizing media, comprising:
- a client device receiving a media sample of a media stream being rendered by a media rendering source, the media sample associated with a timestamp corresponding to a sampling time of the media sample;
determining a time offset indicating a time position in the media stream corresponding to the sampling time of the media sample;
determining a real-time offset using a real-time timestamp, the timestamp of the media sample, and the time offset, wherein the real-time timestamp indicates a present time; and
the client device rendering a second media stream at a position corresponding to the real-time offset to be in synchrony to the media stream being rendered by the media rendering source.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of synchronizing media are provided. A client device may be used to capture a sample of a media stream being rendered by a media rendering source. The client device sends the sample to a position identification module to determine a time offset indicating a position in the media stream corresponding to the sampling time of the sample, and optionally a timescale ratio indicating a speed at which the media stream is being rendered by the media rendering source based on a reference speed of the media stream. The client device calculates a real-time offset using a present time, a timestamp of the media sample, the time offset, and optionally the timescale ratio. The client device then renders a second media stream at a position corresponding to the real-time offset to be in synchrony to the media stream being rendered by the media rendering source.
-
Citations
34 Claims
-
1. A method of synchronizing media, comprising:
-
a client device receiving a media sample of a media stream being rendered by a media rendering source, the media sample associated with a timestamp corresponding to a sampling time of the media sample; determining a time offset indicating a time position in the media stream corresponding to the sampling time of the media sample; determining a real-time offset using a real-time timestamp, the timestamp of the media sample, and the time offset, wherein the real-time timestamp indicates a present time; and the client device rendering a second media stream at a position corresponding to the real-time offset to be in synchrony to the media stream being rendered by the media rendering source. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer readable medium having stored therein instructions executable by a computing device to cause the computing device to perform functions of:
-
receiving a media sample of a media stream being rendered by a media rendering source, the media sample associated with a timestamp corresponding to a sampling time of the media sample; determining a time offset indicating a time position in the media stream corresponding to the sampling time of the media sample; determining a real-time offset using a real-time timestamp, the timestamp of the media sample, and the time offset, wherein the real-time timestamp indicates a present time; and rendering a second media stream at a position corresponding to the real-time offset to be in synchrony to the media stream being rendered by the media rendering source. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A client device comprising:
-
a media receiver configured to receive a media sample of a media stream being rendered by a media rendering source, wherein the media sample is associated with a timestamp corresponding to a sampling time of the media sample; a processor configured to receive a time offset indicating a time position in the media stream corresponding to the sampling time of the media sample; the processor configured to determine a real-time offset using a real-time timestamp, the timestamp of the media sample, and the time offset, wherein the real-time timestamp indicates a present time; and the client device configured to render a second media stream at a position corresponding to the real-time offset to be in synchrony to the media stream being rendered by the media rendering source. - View Dependent Claims (30, 31)
-
-
32. A system comprising:
-
a server configured to receive a media sample of a media stream being rendered by a media rendering source, the media sample associated with a timestamp corresponding to a sampling time of the media sample, the server configured to determine a time offset indicating a time position in the media stream corresponding to the sampling time of the media sample; and a client device configured to receive the time offset from the server and to determine a real-time offset using a real-time timestamp, the timestamp of the media sample, and the time offset, wherein the real-time timestamp indicates a present time, and the client device configured to render a second media stream at a position corresponding to the real-time offset to be in synchrony to the media stream being rendered by the media rendering source. - View Dependent Claims (33, 34)
-
Specification