Methods and systems for synchronizing media
First Claim
1. A method of synchronizing media, comprising:
- a mobile device recording, from an ambient environment of the mobile device, a media sample of a media stream being rendered by a media rendering source, the media sample associated with a timestamp corresponding to a recording time of the media sample;
determining, based on a content identification of the media sample that results in an identified media track to which the media sample corresponds such that the identified media track is being rendered in the media stream by the media rendering source, a time offset indicating a time position within a length of the identified media track of the media sample corresponding to the recording time of the media sample;
determining a real-time offset using a real-time timestamp indicative of a present time, the timestamp of the media sample, and the time offset, wherein the real-time offset reflects an elapsed time since the recording time of the media sample; and
the mobile device rendering a second time-annotated media stream at a position in the time-annotated second media stream corresponding to the real-time offset to be in synchrony to the identified media track in the media stream being independently rendered in the ambient environment of the mobile device 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.
157 Citations
34 Claims
-
1. A method of synchronizing media, comprising:
-
a mobile device recording, from an ambient environment of the mobile device, a media sample of a media stream being rendered by a media rendering source, the media sample associated with a timestamp corresponding to a recording time of the media sample; determining, based on a content identification of the media sample that results in an identified media track to which the media sample corresponds such that the identified media track is being rendered in the media stream by the media rendering source, a time offset indicating a time position within a length of the identified media track of the media sample corresponding to the recording time of the media sample; determining a real-time offset using a real-time timestamp indicative of a present time, the timestamp of the media sample, and the time offset, wherein the real-time offset reflects an elapsed time since the recording time of the media sample; and the mobile device rendering a second time-annotated media stream at a position in the time-annotated second media stream corresponding to the real-time offset to be in synchrony to the identified media track in the media stream being independently rendered in the ambient environment of the mobile device 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:
-
recording, from an ambient environment of the computing device, a media sample of a media stream being rendered by a media rendering source, the media sample associated with a timestamp corresponding to a recording time of the media sample; determining, based on a content identification of the media sample that results in an identified media track to which the media sample corresponds such that the identified media track is being rendered in the media stream by the media rendering source, a time offset indicating a time position within a length of the identified media track of the media sample corresponding to the recording time of the media sample; determining a real-time offset using a real-time timestamp indicative of a present time, the timestamp of the media sample, and the time offset, wherein the real-time offset reflects an elapsed time since the recording time of the media sample; and rendering a second time-annotated media stream at a position in the time-annotated second media stream corresponding to the real-time offset to be in synchrony to the identified media track in the media stream being independently rendered in the ambient environment of the client device by the media rendering source. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A mobile device comprising:
-
a media receiver configured to record, from an ambient environment of the mobile device, 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 recording time of the media sample; a processor configured to receive, based on a content identification of the media sample that results in an identified media track to which the media sample corresponds such that the identified media track is being rendered in the media stream by the media rendering source, a time offset indicating a time position within a length of the identified media track of the media sample corresponding to the recording time of the media sample; the processor configured to determine a real-time offset using a real-time timestamp indicative of a present time, the timestamp of the media sample, and the time offset, wherein the real-time offset reflects an elapsed time since the recording time of the media sample; and the mobile device configured to render a second time-annotated media stream at a position in the second time-annotated media stream corresponding to the real-time offset to be in synchrony to the identified media track in the media stream being independently rendered in the ambient environment of the mobile device by the media rendering source. - View Dependent Claims (30, 31)
-
-
32. A system comprising:
-
a server configured to receive a recording, from an ambient environment of a mobile device, of a media sample of a media stream being rendered by a media rendering source, the media sample associated with a timestamp corresponding to a recording time of the media sample, the server configured to determine, based on a content identification of the media sample that results in an identified media track to which the media sample corresponds such that the identified media track is being rendered in the media stream by the media rendering source, a time offset indicating a time position within a length of the identified media track of the media sample corresponding to the recording time of the media sample; and the mobile device configured to receive the time offset from the server and to determine a real-time offset using a real-time timestamp indicative of a present time, the timestamp of the media sample, and the time offset, wherein the real-time offset reflects an elapsed time since the recording time of the media sample, and the mobile device configured to render a second time-annotated media stream at a position in the second time-annotated media stream corresponding to the real-time offset to be in synchrony to the identified media track in the media stream being independently rendered in the ambient environment of the mobile device by the media rendering source. - View Dependent Claims (33, 34)
-
Specification