IP Library Granted Patent US 9,251,796
Granted Patent B2
US 9,251,796 · App. 14/464,907 · Granted Feb 2, 2016

Methods and systems for disambiguation of an identification of a sample of a media stream

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,251,796
App. No.
14/464,907
Granted
Feb 2, 2016
Kind
B2
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.

Claims (46)

1. A method comprising:

sending, by a client device, a media sample of a media stream being rendered by a media rendering source to a computing device;

receiving, at the client device, an alignment file including information of features of one of a plurality of media recordings that are potential matches to the media sample, wherein the alignment file includes features of the media recording that are anticipated to appear in the media stream at predetermined times; and

determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file.

2. The method of claim 1 , wherein the alignment file includes a number of fingerprints of a given media recording of the plurality of media recordings that occur at time positions in the media recording which are after a time at which content of the media sample is present in the media recording.

3. The method of claim 1 , wherein determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file comprises determining whether the media stream being rendered by the media rendering source has been interrupted.

4. The method of claim 1 , wherein determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file comprises determining whether the media stream being rendered by the media rendering source has ended.

5. The method of claim 1 , wherein determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file comprises determining whether expected fingerprints in the alignment file are no longer seen in the media stream.

6. The method of claim 1 , further comprising:

receiving additional media samples of the media stream being rendered by the media rendering source; and

wherein determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file comprises determining whether features of the additional media samples have a temporal correspondence to features of the media recording of the alignment file.

7. The method of claim 1 , based on an amount of time passing with no predetermined fingerprint matches between the media stream and the media recording of the alignment file, determining that a discontinuity exists.

8. The method of claim 7 , further comprising based on the discontinuity existing, sending a new media sample of the media stream being rendered by the media rendering source to the computing device.

9. The method of claim 1 , further comprising:

the client device rendering a second media stream in synchrony to the media stream being rendered by the media rendering source; and

determining synchrony between rendering of the second media stream to the media stream based on alignment of the media stream to the media recording of the alignment file.

10. The method of claim 9 , wherein determining synchrony between rendering of the second media stream to the media stream based on alignment of the media stream to the media recording of the alignment file includes determining a timescale ratio that is associated with a speed at which the media stream is being rendered by the media rendering source based on a reference speed of the media stream.

11. The method of claim 1 , further comprising:

determining a timescale ratio that is associated with a speed at which the media stream is being rendered by the media rendering source based on a reference speed of the media stream;

determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file based on the timescale ratio to compensate for time drift in matches of the media stream to the media recording of the alignment file.

12. The method of claim 1 , further comprising:

the client device rendering a second media stream in synchrony to the media stream being rendered by the media rendering source; and

determining an interruption of synchrony between rendering of the second media stream to the media stream based on mis-alignment of the media stream to the media recording of the alignment file.

13. The method of claim 12 , further comprising discontinuing rendering of the second media stream based on the interruption.

14. A non-transitory computer readable medium having stored therein instructions, that when executed by a first computing device, cause the first computing device to perform functions comprising:

sending a media sample of a media stream being rendered by a media rendering source to a second computing device;

receiving an alignment file including information of features of one of a plurality of media recordings that are potential matches to the media sample, wherein the alignment file includes features of the media recording that are anticipated to appear in the media stream at predetermined times; and

determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file.

15. The non-transitory computer readable medium of claim 14 , wherein the alignment file includes a number of fingerprints of a given media recording of the plurality of media recordings that occur at time positions in the media recording which are after a time at which content of the media sample is present in the media recording.

16. The non-transitory computer readable medium of claim 14 , wherein determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file comprises determining whether the media stream being rendered by the media rendering source has been interrupted.

17. The non-transitory computer readable medium of claim 14 , wherein determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file comprises determining whether the media stream being rendered by the media rendering source has ended.

18. The non-transitory computer readable medium of claim 14 , wherein determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file comprises determining whether expected fingerprints in the alignment file are no longer seen in the media stream.

19. The non-transitory computer readable medium of claim 14 , wherein the functions further comprise:

receiving additional media samples of the media stream being rendered by the media rendering source; and

wherein determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file comprises determining whether features of the additional media samples have a temporal correspondence to features of the media recording of the alignment file.

20. A method comprising:

sending, by a client device, a media sample of a media stream being rendered by a media rendering source to a computing device;

receiving, at the client device, an alignment file including information of features of one of a plurality of media recordings that are potential matches to the media sample, wherein the alignment file includes features of the media recording that are anticipated to appear in the media stream at predetermined times; and

comparing the media stream being rendered by the media rendering source to the media recording of the alignment file to determine whether the media stream being rendered by the media rendering source has been interrupted.

21. The method of claim 20 , further comprising determining whether the media stream being rendered by the media rendering source matches to the media recording of the alignment file.

22. The method of claim 20 , further comprising determining whether the media stream being rendered by the media rendering source has ended.

23. The method of claim 20 , further comprising determining whether expected fingerprints in the alignment file are no longer seen in the media stream.

24. The method of claim 20 , wherein the alignment file includes a number of fingerprints of a given media recording of the plurality of media recordings that occur at time positions in the media recording which are after a time at which content of the media sample is present in the media recording.

25. The method of claim 20 , further comprising:

receiving additional media samples of the media stream being rendered by the media rendering source; and

determining whether features of the additional media samples have a temporal correspondence to features of the media recording of the alignment file.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2020
From: SHAZAM ENTERTAINMENT LIMITED
To: APPLE INC.
Reel/Frame 053679/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2014
From: WANG, AVERY LI-CHUN
To: SHAZAM ENTERTAINMENT LTD.
Reel/Frame 033588/0396 →