Method and apparatus for automatic detection and identification of broadcast audio and video signals
First Claim
1. A method executed by a digital signal processing system of generating a signature associated with a lnown signal, the signature comprised of a set of numeric values of at least one element and corresponding to at least one time frame of the signal, such lnown signal being identified by an identification index and such time frame being identified by a time frame index, comprising:
- Calculating for at least one time frame of the signal a pre-determined number of spectral magnitude values grouped in at least one frequency band of pre-determined width;
Calculating for each frequency band a numeric value that is equal to a pre-determined function of one or more of the calculated spectral magntude values grouped within the frequency band;
Storing the calculated numeric values in a computer database with a reference to their corresponding time frame index and their corresponding identification index.
4 Assignments
0 Petitions
Accused Products
Abstract
This invention relates to the automatic detection and identification of broadcast programming, for example music, speech or video that is broadcast over radio, television, the Internet or other media. “Broadcast” means any readily available source of content, whether now known or hereafter devised, including streaming, peer to peer delivery or detection of network traffic. A known program is registered by deriving a numerical code for each of many short time segments during the program and storing the sequence of numerical codes and a reference to the identity of the program. Detection and identification of an input signal occurs by similarly extracting the numerical codes from it and comparing the sequence of detected numerical codes against the stored sequences. Testing criteria is applied that optimizes the rate of correct detections of the registered programming. Other optimizations in the comparison process are used to expedite the comparison process.
-
Citations
36 Claims
-
1. A method executed by a digital signal processing system of generating a signature associated with a lnown signal, the signature comprised of a set of numeric values of at least one element and corresponding to at least one time frame of the signal, such lnown signal being identified by an identification index and such time frame being identified by a time frame index, comprising:
-
Calculating for at least one time frame of the signal a pre-determined number of spectral magnitude values grouped in at least one frequency band of pre-determined width;
Calculating for each frequency band a numeric value that is equal to a pre-determined function of one or more of the calculated spectral magntude values grouped within the frequency band;
Storing the calculated numeric values in a computer database with a reference to their corresponding time frame index and their corresponding identification index. - View Dependent Claims (2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 32, 35, 36)
-
-
8. The method according to clain 7 further comprising dividing the function result by the pre-determined number of spectral magnitude values in the corresponding frequency band.
-
14. A method executed by a signal processing system for determining whether a portion of a detecting signal of a pre-determined number of sequential time frame duration is substantially the same signal as a portion of at least one known signal out of a plurality of known signals, each portion of the plurality of known signals comprised of plurality of sequential time frame duration and each time frame of the known signal having an identification index and time frame index, comprising:
-
Calculating for at least one of the time frames of at least one of the known signals a first signature comprised of a set of numbers derived from a pre-determined number of apectral magnitude values detected during the time frame;
Storing in a computer database each first signature with a reference to its corresponding signal identification index and a reference to the approximate location in time of the time frame from substantially the beginning of said known signal;
calculating for at least one of the time frames of the detected signal a second signature comprised of a set of numbers derived from a pre-determined number of spectral magnitude values detected during the time frame;
Selecting from the stored set of first signatures those first signatures that in relation to the second signature meet a predetermined matching criteria, where such selection occurs as a result of the arrival of a new time frame in the detected signal. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 25, 33, 34)
-
-
23. The method of claim 23 where the determination is comprised of a test whether the linear slope is within a range from and including approximately 2 to and including approximately 6.
-
26. A method executed by a signal processing system for determining whether a portion of a detected signal of a pre-determined number of sequential time frame duration is substantially the same signal as a portion of at least one known signal out of a plurality of a known signals, each portion of the plurality of known signals comprised of a plurality of sequential time frame duration and each time frame of the known signal having an identification index and a time frame index, comprising:
-
Calculating for at least one of the time frames of at least one of the known signals a first signature comprised of a set of numbers derived from a pre-determined number of frequency magnitude values detected during the time frame;
Storing in a computer database each first signature with a reference to its corresponding known identification index and a reference to the approximate location in time of the tome frame from substantially the beginning of said known signal;
Calculating for at least one of the time frames of the detected signal a second signature comprise of a set of numbers derived from a pre-determined number of frequency magnitude values detected during the time frame;
Selecting from the stored set of first signatures those first signatures that together with the second signature meet a predetermined matching criteria;
Storing in at least one data structure and the time frame index and the identification index corresponding to the matching first signatures;
Deleting from the data structures those time frame indices and corresponding identification indices where fewer than approcimately K+1 enters in the list have the same identification index, where K is calculated such that 2K+1 is equal approximately to the predetermined number of time frames constituting the portin of the detected signal;
Deleting from the list those time frame indices and identification indices where the time frame indices of the first signature are not confirmed to increase substantially in synchrony with the time frame indicies of the detected signal.
-
-
27. A method executed by a signal processing system of searching a database comprised of a set of at least n first signatures with corresponding identification indices and time frame indices, where each first signature represents the frequency components of a known signal during the time frame the search looking for all first signatures that together with a second signature meets a pre-determined matching criteria, where the second signature represents the frequency components of a detected signal during a time frame, comprising:
-
Storing in computer memory a first dats array comprised of all of the first signatures, whereby the n-th row in the first data array is the set of members of the n-th first signature;
For at least one column in the first data array, sorting within the computer memory, the elements of the column in either ascending or descending order;
Storing in computer memory an additional data array where one element in the second data array corresponds to an element in the one column of the first data array, and the value of the one element in the second data arrat cross-indexes to where the corresponding element in the first data array originated prior to the sorting step;
Applying a search using the second signature to find best match between the second signature and the rows of the first data array. Recovering the identification index and time frame index of any matching first signature by using the cross-index of the second data array and applying it in the matching row. - View Dependent Claims (28)
-
-
29. A method executed by a signal processing system of searching a database comprised of at least one first signature representing a signal using a query comprised of a second signature where the first and second signatures are both sets of a predetermined number of elements, each element a number, comprising;
-
For each first signature, applying a predetermined calculation to calculate a first integer as a function of a subset of elements comprising each first signature;
Storing in a computer memory locaton corresponding to the value of the first interger a reference to the corresponding first signature used in calculating the first signature;
Calculating a second interger using the same predetermined calculation applied to the corresponding subset of the second signature;
Selecting memory locations corresponding to integer values within a predetermined error function from the second interger;
Determining any first signatures and their identification index and time frame index corresponding to the selected memory locations. - View Dependent Claims (30, 31)
-
Specification