Audio-based synchronization to media
First Claim
Patent Images
1. A method comprising:
- receiving an audio portion of a time-based media presentation with a microphone of a client device;
sampling the audio on the client device to obtain a sequence of digital samples of the audio portion;
processing the sequence of digital samples on the client device to provide a plurality of hashes, each one of the plurality of hashes including a plurality of bits, each one of the plurality of hashes providing a non-unique representation of a segment of the audio portion, and each one of the plurality of hashes having a known relative time offset to each other one of the plurality of hashes;
transmitting the plurality of hashes and a unique identifier for the time-based media presentation to a server, wherein the unique identifier explicitly identifies the time-based media presentation to the server;
receiving from the server a time offset indicative of a current time offset within the time-based media presentation; and
synchronizing an application on the client device to the time-based media presentation based upon the time offset.
1 Assignment
0 Petitions
Accused Products
Abstract
An audio channel of a time-based media presentation provides a basis for synchronizing to the presentation across a variety of platforms independent of when and where the presentation is being viewed. By pre-processing the media into a series of non-unique hashes, and similarly processing an audio stream of the media captured at a client device, a comparison can be made that yields an accurate time offset within the presentation. The comparison may usefully be performed over a data network using a server that hosts data from the pre-processed media, and a variety of applications may be deployed on the client device based on the resulting synchronization.
-
Citations
19 Claims
-
1. A method comprising:
-
receiving an audio portion of a time-based media presentation with a microphone of a client device; sampling the audio on the client device to obtain a sequence of digital samples of the audio portion; processing the sequence of digital samples on the client device to provide a plurality of hashes, each one of the plurality of hashes including a plurality of bits, each one of the plurality of hashes providing a non-unique representation of a segment of the audio portion, and each one of the plurality of hashes having a known relative time offset to each other one of the plurality of hashes; transmitting the plurality of hashes and a unique identifier for the time-based media presentation to a server, wherein the unique identifier explicitly identifies the time-based media presentation to the server; receiving from the server a time offset indicative of a current time offset within the time-based media presentation; and synchronizing an application on the client device to the time-based media presentation based upon the time offset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product for audio-based synchronization, the computer program product comprising computer executable code embodied on a non-transitory computer readable medium that, when executing on one or more computing devices, performs the steps of:
-
receiving an audio portion of a time-based media presentation with a microphone of a client device; sampling the audio on the client device to obtain a sequence of digital samples of the audio portion; processing the sequence of digital samples on the client device to provide a plurality of hashes, each one of the plurality of hashes including a plurality of bits, each one of the plurality of hashes providing a non-unique representation of a segment of the audio portion, and each one of the plurality of hashes having a known relative time offset to each other one of the plurality of hashes; transmitting the plurality of hashes and a unique identifier for the time-based media presentation to a server, wherein the unique identifier explicitly identifies the time-based media presentation to the server; receiving from the server a time offset indicative of a current time offset within the time-based media presentation; and synchronizing an application on the client device to the time-based media presentation based upon the time offset. - View Dependent Claims (17, 18, 19)
-
Specification