# US 2014/0360343 A1 · Methods and Systems for Disambiguation of an Identification of a Sample of a Media Stream

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0360343 A1
- Document ID: US20140360343A1
- Status: Published application
- Kind: A1
- Application number: 14/464,907
- Filed: 2014-08-21
- Published: 2014-12-11
- Earliest claimed: 2010-05-04
- Assignees: Shazam Entertainment Ltd.
- Applicants: Shazam Entertainment Limited
- Inventors: Avery Li-Chun Wang
- Web page: https://patentgrep.com/patent/US20140360343A1

## CPC

- G10L 19/00: Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis (in musical instruments G10H)
- G06F 16/95: Retrieval from the web
- G10H 1/361: {Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems}
- G10L 25/48: specially adapted for particular use
- G10H 2220/011: Lyrics displays, e.g. for karaoke applications
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10H: ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 7)

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.

### Claim 9 (depends on 1)

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.

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 1)

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.

### Claim 12 (depends on 1)

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.

### Claim 13 (depends on 12)

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

### Claim 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.

### Claim 15 (depends on 14)

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.

### Claim 16 (depends on 14)

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.

### Claim 17 (depends on 14)

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.

### Claim 18 (depends on 14)

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.

### Claim 19 (depends on 14)

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.

### Claim 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.

### Claim 21 (depends on 20)

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.

### Claim 22 (depends on 20)

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

### Claim 23 (depends on 20)

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

### Claim 24 (depends on 20)

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.

### Claim 25 (depends on 20)

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.
