Broadcast source identification based on matching via bit count
First Claim
1. A method comprising:
- generating a plurality of fingerprint stores at a channel identification server, wherein different fingerprint stores of the plurality of fingerprint stores store digital fingerprints representing substantially current broadcast content associated with different broadcast sources;
dividing each of the digital fingerprints into a plurality of blocks that each include one or more frames of the each of the digital fingerprints;
performing a first comparison comparing each frame included in a first block of a first digital fingerprint to each frame included in a first block of a second digital fingerprint, wherein the second digital fingerprint is associated with an unknown broadcast source;
computing a block versus block score based on the first comparison;
determining a Hamming distance associated with differences between the first block of the first digital fingerprint and the first block of the second digital fingerprint;
determining, based on the Hamming distance and the block versus block score, that the broadcast content associated with one of the different broadcast sources matches the broadcast content associated with another of the different broadcast sources if the Hamming distance is less than a threshold value;
identifying the unknown broadcast source based on the match; and
generating, by the channel identification server, a channel identifier for the unknown broadcast source.
12 Assignments
0 Petitions
Accused Products
Abstract
An end user can sample a radio or television broadcast, generate a user representation of the broadcast sample, and send the user representation to a comparison system, which also receives known representations of content broadcast by multiple different stations. The known representations are stored in a continuous fashion, and represent actually broadcast content. The comparison system identifies the source of the broadcast sample by comparing the user representation to the known representations associated with each of the different stations using a bit count method, such as the Hamming distance. By comparing two representations of content that was actually broadcast, a broadcast source can be identified without requiring the use of watermarks, timestamps, or a database of discreet content items.
41 Citations
19 Claims
-
1. A method comprising:
-
generating a plurality of fingerprint stores at a channel identification server, wherein different fingerprint stores of the plurality of fingerprint stores store digital fingerprints representing substantially current broadcast content associated with different broadcast sources; dividing each of the digital fingerprints into a plurality of blocks that each include one or more frames of the each of the digital fingerprints; performing a first comparison comparing each frame included in a first block of a first digital fingerprint to each frame included in a first block of a second digital fingerprint, wherein the second digital fingerprint is associated with an unknown broadcast source; computing a block versus block score based on the first comparison; determining a Hamming distance associated with differences between the first block of the first digital fingerprint and the first block of the second digital fingerprint; determining, based on the Hamming distance and the block versus block score, that the broadcast content associated with one of the different broadcast sources matches the broadcast content associated with another of the different broadcast sources if the Hamming distance is less than a threshold value; identifying the unknown broadcast source based on the match; and generating, by the channel identification server, a channel identifier for the unknown broadcast source. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device comprising:
-
a processor; memory operably associated with the processor; a program of instructions configured to be stored in the memory and executed by the processor, the program of instructions including; at least one instruction to generate a plurality of fingerprint stores at a channel identification server, wherein different fingerprint stores of the plurality of fingerprint stores store digital fingerprints representing substantially current broadcast content associated with different broadcast sources; at least one instruction to divide each of the digital fingerprints include one or more frames of the; at least one instruction to divide each of the digital fingerprints into a plurality of frames; at least one instruction to group the plurality of frames into one or more blocks; at least one instruction to compare, on a block basis, digital fingerprints of an unknown broadcast source with each of the other different fingerprint stores to determine a Hamming distance associated with differences between at least one of the plurality of fingerprint stores and the digital fingerprints of the unknown broadcast source; at least one instruction to determine, based on the Hamming distance, that the broadcast content associated with one of the different broadcast sources matches the broadcast content associated with another of the different broadcast sources if the Hamming distance is less than a threshold value; at least one instruction to identify the one of the different broadcast source based on the match; and at least one instruction to generate, by the channel identification server, a channel identifier for the one of the different broadcast sources. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
capturing an audible signal generated by an unknown broadcast source; digitizing the audible signal to produce digital fingerprints of the unknown broadcast source; generating a plurality of fingerprint stores at a channel identification server, wherein different fingerprint stores of the plurality of fingerprint stores store digital fingerprints representing substantially current broadcast content associated with different broadcast sources; segmenting the digital fingerprints of the plurality of fingerprint stores and the digital fingerprints of the unknown broadcast source into a number of frames; grouping a first set of frames for each of the digital fingerprints of the plurality of fingerprint stores into a first respective block and a second set of frames for the digital fingerprints for the unknown broadcast source into a second respective block; comparing the digital fingerprints of the each of the plurality of fingerprint stores with each other on a block-by-block basis of the first respective block and the second respective block to determine a Hamming distance associated with differences between at least one of the plurality of fingerprint stores and the digital fingerprints of the unknown broadcast source; determining that a match exists, based on the Hamming distance, in response to the broadcast content associated with one of the different broadcast sources matching the broadcast content associated with another of the different broadcast sources if the Hamming distance is less than a threshold value; identifying the one of the different broadcast sources based on the match; and generating, by the channel identification server, a channel identifier for the one of the different broadcast sources. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification