AUDIO-BASED SYNCHRONIZATION TO MEDIA
First Claim
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 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;
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.
180 Citations
21 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 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; 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)
-
-
17. 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 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; 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 (18, 19, 20)
-
-
21-125. -125. (canceled)
Specification