The present disclosure relates to systems and processes for identifying audio and audio-visual (A/V) content, and for optimizing audio fingerprint or signature recognition systems.
Audio fingerprinting is premised upon the ability to link unlabeled/unencoded audio to corresponding metadata to determine information such as song artist, or song name. Audio fingerprinting is known for providing such information regardless of an audio format that is being used. Generally speaking, audio fingerprinting systems are content-based audio identification system that extract acoustically relevant characteristics of a portion of audio content (i.e., fingerprint, signature, etc.), and store it in a central database. When presented with unlabeled audio, its fingerprint is calculated and matched against those stored in the central database. Using the fingerprints and matching algorithms, even distorted versions of a single recording can be identified as the same music title. Other terms for audio fingerprinting are robust matching, robust or perceptual hashing, passive watermarking, automatic music recognition, content-based audio signatures and content-based audio identification. Areas relevant to audio fingerprinting include information retrieval, pattern matching, signal processing, databases, cryptography and audio cognition, among others.
Audio fingerprinting may be distinguished from other systems used for identifying audio content, such as audio watermarking. In audio watermarking (or encoded signature recognition), analysis on psychoacoustic properties of the audio signal must be conducted so that ancillary data representing a message (or watermark) can be embedded in audio without altering the human perception of sound. The identification of data relating to the audio is accomplished by extracting the message embedded in the audio. In audio fingerprinting, the message is automatically derived from the perceptually most relevant components of sound in the audio.
Audio fingerprinting has numerous advantages, one of which is that the fingerprinting may be used to identify legacy content, i.e., unencoded content. In addition, fingerprinting requires no modification of the audio content itself during transmission. As a drawback however, the computational complexity of fingerprinting is generally higher than watermarking, and there is a need to connect each device to a fingerprint repository for performing substantial fingerprint processing.
Accordingly, there is a need in the art to simplify the processing of audio fingerprint recognition. Additionally, there is a need to decentralize the process of fingerprint recognition, and provide efficient distribution of fingerprint recognition, particularly for large-scale systems.
For this application the following terms and definitions shall apply:
The term “data” as used herein means any indicia, signals, marks, symbols, domains, symbol sets, representations, and any other physical form or forms representing information, whether permanent or temporary, whether visible, audible, acoustic, electric, magnetic, electromagnetic or otherwise manifested. The term “data” as used to represent predetermined information in one physical form shall be deemed to encompass any and all representations of the same predetermined information in a different physical form or forms.
The terms “media data” and “media” as used herein mean data which is accessible, whether over-the-air, or via cable, satellite, network, internetwork (including the Internet), print, displayed, distributed on storage media, or by any other means or technique that is humanly perceptible, without regard to the form or content of such data, and including but not limited to audio, video, text, images, animations, databases, datasets, files, broadcasts, displays (including but not limited to video displays, posters and billboards), signs, signals, web pages and streaming media data.
The term “database” as used herein means an organized body of related data, regardless of the manner in which the data or the organized body thereof is represented. For example, the organized body of related data may be in the form of a table, a map, a grid, a packet, a datagram, a file, a document, a list or in any other form.
The term “dataset” as used herein means a set of data, whether its elements vary from time to time or are invariant, whether existing in whole or in part in one or more locations, describing or representing a description of, activities and/or attributes of a person or a group of persons, such as a household of persons, or other group of persons, and/or other data describing or characterizing such a person or group of persons, regardless of the form of the data or the manner in which it is organized or collected.
The term “correlate” as used herein means a process of ascertaining a relationship between or among data, including but not limited to an identity relationship, a correspondence or other relationship of such data to further data, inclusion in a dataset, exclusion from a dataset, a predefined mathematical relationship between or among the data and/or to further data, and the existence of a common aspect between or among the data.
The term “network” as used herein includes both networks and internetworks of all kinds, including the Internet, and is not limited to any particular network or inter-network.
The terms “first”, “second”, “primary” and “secondary” are used to distinguish one element, set, data, object, step, process, activity or thing from another, and are not used to designate relative position or arrangement in time, unless otherwise stated explicitly.
The terms “coupled”, “coupled to”, and “coupled with” as used herein each mean a relationship between or among two or more devices, apparatus, files, circuits, elements, functions, operations, processes, programs, media, components, networks, systems, subsystems, and/or means, constituting any one or more of (a) a connection, whether direct or through one or more other devices, apparatus, files, circuits, elements, functions, operations, processes, programs, media, components, networks, systems, subsystems, or means, (b) a communications relationship, whether direct or through one or more other devices, apparatus, files, circuits, elements, functions, operations, processes, programs, media, components, networks, systems, subsystems, or means, and/or (c) a functional relationship in which the operation of any one or more devices, apparatus, files, circuits, elements, functions, operations, processes, programs, media, components, networks, systems, subsystems, or means depends, in whole or in part, on the operation of any one or more others thereof.
The terms “communicate,” “communicating” and “communication” as used herein include both conveying data from a source to a destination, and delivering data to a communications medium, system, channel, device or link to be conveyed to a destination.
The term “processor” as used herein means processing devices, apparatus, programs, circuits, components, systems and subsystems, whether implemented in hardware, software or both, whether or not programmable and regardless of the form of data processed, and whether or not programmable. The term “processor” as used herein includes, but is not limited to computers, hardwired circuits, signal modifying devices and systems, devices and machines for controlling systems, central processing units, programmable devices, state machines, virtual machines and combinations of any of the foregoing.
The terms “storage” and “data storage” as used herein mean tangible data storage devices, apparatus, programs, circuits, components, systems, subsystems and storage media serving to retain data, whether on a temporary or permanent basis, and to provide such retained data.
The terms “panelist,” “respondent” and “participant” are interchangeably used herein to refer to a person who is, knowingly or unknowingly, participating in a study to gather information, whether by electronic, survey or other means, about that person's activity.
The term “attribute” as used herein pertaining to a household member shall mean demographic characteristics, personal status data and/or data concerning personal activities, including, but not limited to, gender, income, marital status, employment status, race, religion, political affiliation, transportation usage, hobbies, interests, recreational activities, social activities, market activities, media activities, Internet and computer usage activities, and shopping habits.
The present disclosure illustrates a decentralized audio fingerprint recognition system and method, where audio matching of fingerprints for specific media or media data is performed on a portable device using a customized algorithm, while having a priori knowledge of fingerprints (signatures). By distributing fingerprint matching to the portable devices, the matching process for audio data may be more efficiently tailored for specific applications, where additional benefits of scalability for large numbers of devices may be realized.
As an example, known media content may comprise a 20-second commercial. Typically, when commercials are communicated or transmitted, they are scheduled for set times during a programmers' normal content. If these times are known or estimated, an activation signal may be sent to the portable device 102 in advance (e.g., one minute before the commercial is scheduled to air). Activation signal 114 would also accompanied by a pre-recorded fingerprint of the known content, which could be received before, after, or simultaneously with activation signal 114. In the example of
Continuing with the example, once the portable device 102 downloads activation signal 114, the device begins sampling ambient sound in regular intervals for a predetermined time prior to the airing of the commercial (e.g., 10 seconds), and continues sampling for a predetermined time after the airing of the commercial (e.g., 10 seconds), for a total sampling time period (10 sec.+20 sec.+10 sec.=40 seconds). Once the total sampling time period expires, portable device 102 stops sampling and records the sampled data in memory 112, and forwards the sampled data to fingerprint formation module 103 of portable device 102.
Fingerprint formation module 103 comprises an audio conversion module 104 and fingerprint modeling module 105. Audio conversion module 104 performs front-end processing on the sampled audio to convert the audio signal into a series of relevant features which are then forwarded to fingerprint modeling module 105. Module 105 performs audio modeling processing to define the final fingerprint representation such as a vector, a trace of vectors, a codebook, a sequence of indexes to Hidden Markov Model (HMM) sound classes, a sequence of error correcting words or musically meaningful high-level attributes. Further details regarding formation module 103 and modeling module 105 are discussed below.
Once the fingerprint is formed, a matching module 106 determines whether a match exists between the signature formed from module 103 and the pre-recorded signature stored in memory 112. Look-up module 107 preferably comprises a similarity portion 108 and a search portion 109. Similarity portion 108 measures characteristics of the fingerprint formed from module 103 against the pre-recorded fingerprint using a variety of techniques. One such technique includes using a correlation metric for comparing vector sequences in the fingerprint. When the vector feature sequences are quantized, a Manhattan distance may be measured. In cases where the vector feature sequence quantization is binary, a Hamming distance may be more appropriate. Other techniques may be appropriate such as a “Nearest Neighbor” classification using a cross-entropy estimation, or an “Exponential Pseudo Norm” (EPN) metric to better distinguish between close and distant values of the fingerprints. Further details these metrics and decoding may be found in U.S. Pat. No. 6,973,574, titled “Recognizer of Audio Content In Digital Signals”, filed Apr. 24, 2001, and U.S. Pat. No. 6,963,975, titled “System and Method for Audio Fingerprinting”, filed Aug. 10, 2001, both of which are incorporated by reference in its entirety herein.
In some examples, pre-recorded fingerprints may have pre-computed distances established among fingerprints registered in a central repository (not shown). By pre-computing distances among fingerprints registered in the repository, a data structure may be built to reduce or simplify evaluations made from signatures in memory 112 at the portable device end. Alternately, sets of equivalent classes may be pre-recorded for a given fingerprint, and forwarded to memory 112, where the portable device calculates similarities in order to discard certain classes, while performing more in-depth search for the remaining classes.
Once a fingerprint is located from look-up module 107, confirmation module 110 “scores” the match to confirm that a correct identification has occurred. The matching “score” would relate to a threshold that the match would exceed in order to be determined as a “correct” match. The specific threshold would depend on the fingerprint model used, the discriminative information, and the similarity of the fingerprints in the memory 112. In some examples, memory 112 would be loaded with a limited database that would correlate to the fingerprints and/or other data received at the time of activation signal 114. Accordingly, unlike conventional fingerprinting systems, the matching and threshold configurations can be significantly simplified. Once a determination is made from matching module 106, the result (i.e., match/no match) is communicated from output 113 of portable device 102 to a central repository for storage and subsequent analysis.
Turning to
Next, the processed audio is forwarded to framing module 121, where the audio is divided into frames, using a particular frame size (e.g. 10-100 ms), where the number of frames processed are determined according to a specified frame rate. An overlap function should also be applied to the frames to establish robustness of the frames in light of shifting for cases where the input audio data is not properly aligned to the original audio used for generating the fingerprint.
The transform module 122 of
Once transformed, the audio data undergoes feature extraction 123 in order to generate the final acoustic vectors for the audio fingerprint. Further details of feature extraction module 123 will be discussed below in connection with
Another option involves the use of spectral flatness measure (SFM) to digitally process signals to characterize an audio spectrum. Spectral flatness is measured 152 and calculated by dividing the geometric mean of the power spectrum by the arithmetic mean of the power spectrum. A high spectral flatness (e.g., “1”) indicates that the spectrum has a similar amount of power in all spectral bands—this would sound similar to white noise, and the graph of the spectrum would appear relatively flat and smooth. A low spectral flatness (e.g., “0”) indicates that the spectral power is concentrated in a relatively small number of bands—this would typically sound like a mixture of sine waves, and the spectrum would appear spiky. A tonality vector could then be generated, where the vector would be the collection of tonality coefficients for a single frame. More specifically, the tonality vector contains a tonality coefficient for each critical band.
Alternately, band representative vectors 160 may be generated from the feature extraction by carrying out peak-based band selection 153. Here, the audio data is represented by vectors containing positions of bands in which significant amplitude peaks take place. Thus, for a particular time frame, significant peaks can be identified for a particular frequency band. Also, filter bank energies 161 may be measured by taking the energy 154 in every band in the filtered spectrum and storing the energy in a vector for each time frame. Also, the sign of the changes of energy differences of adjacent bark-spaced frequency bands and time derivative(s) may be measured 155 to form a hash string 162 for the fingerprint. Yet another technique for feature extraction for the audio fingerprint involves modulation frequency estimation 164. This approach describes the time varying behavior of bark-spaced frequency bands by calculating the envelope 156 of the spectrum for each band over a certain amount of time frames. This way, a modulation frequency 163 can be estimated for each interval. The geometric mean of these frequencies for each band is used to obtain a compact signature of the audio material.
Broadcaster 407 emits an acoustic audio signal that is received at portable device 406 and laptop 405 (shown as dotted arrow in
In addition to storing audio fingerprints, central site 400 also may store panelist data, household data and datasets that pertain to the owners of the portable devices, especially when the system is being utilized for audience-measurement applications. In some examples, household-level data representing media exposure, media usage and/or consumer behavior may be converted to person-level data, and vice-versa. In some examples, data about panelists is gathered relating to one or more of the following: panelist demographics; exposure to various media including television, radio, outdoor advertising, newspapers and magazines. retail store visits, purchases, internet usage and consumer beliefs and opinions relating to consumer products and services. This list is merely example and other data relating to consumers may also be gathered.
Various datasets may be produced by different organizations, in different manners, at different levels of granularity, regarding different data, pertaining to different timeframes, and so on. Some examples integrate data from different datasets. Some examples convert, transform or otherwise manipulate the data of one or more datasets. In some examples, datasets providing data relating to the behavior of households are converted to data relating to behavior of persons within those households. In some examples, data from datasets are utilized as “targets” and other data utilized as “behavior.” In some examples, datasets are structured as one or more relational databases. In some examples, data representative of respondent behavior is weighted.
For each of the examples described herein, datasets are provided from one or more sources. Examples of datasets that may be utilized include the following: datasets produced by Arbitron Inc. (hereinafter “Arbitron”) pertaining to broadcast, cable or radio (or any combination thereof); data produced by Arbitron's Portable People Meter System; Arbitron datasets on store and retail activity; the Scarborough retail survey; the JD Power retail survey; issue specific print surveys; average audience print surveys; various competitive datasets produced by TNS-CMR or Monitor Plus (e.g., National and cable TV; Syndication and Spot TV); Print (e.g., magazines, Sunday supplements); Newspaper (weekday, Sunday, FSI); Commercial Execution; TV national; TV local; Print; AirCheck radio dataset; datasets relating to product placement; TAB outdoor advertising datasets; demographic datasets (e.g., from Arbitron; Experian; Axiom, Claritas, Spectra); Internet datasets (e.g., Comscore; NetRatings); car purchase datasets (e.g., JD Power); purchase datasets (e.g., IRI; UPC dictionaries)
Datasets, such as those mentioned above and others, provide data pertaining to individual behavior or provide data pertaining to household behavior. Currently, various types of measurements are collected only at the household level, and other types of measurements are collected at the person level. For example, measurements made by certain electronic devices (e.g., barcode scanners) often only reflect household behavior. Advertising and media exposure, on the other hand, usually are measured at the person level, although sometimes advertising and media exposure are also measured at the household level. When there is a need to cross-analyze a dataset containing person level data and a dataset containing household level data, the existing common practice is to convert the dataset containing person level data into data reflective of the household usage, that is, person data is converted to household data. The datasets are then cross-analyzed. The resultant information reflects household activity.
Currently, databases that provide data pertaining to Internet related activity, such as data that identifies websites visited and other potentially useful information, generally include data at the household level. That is, it is common for a database reflecting Internet activity not to include behavior of individual participants (i.e., persons). Similarly, databases reflective of shopping activity, such as consumer purchases, generally include household data. Examples of such databases are those provided by IRI, HomeScan, NetRatings and Comscore. Additional information and techniques for collecting and correlating panelist and household data may be found in U.S. patent application Ser. No. 12/246,225, titled “Gathering Research Data” and U.S. patent application Ser. No. 12/425,127, titled “Cross-Media Interactivity Metrics”, both of which are incorporated by reference in their entirety herein.
Once panelist and/or household data is established, operators of central site 400 may tailor fingerprint distribution to targeted devices (e.g., single males, age 18-24, annual household income exceeding $50K).
In addition to identifying audio content, central site 400 would also correlate the content to panelist and/or household data to determine the most effective audience for polling. Once identified, central site 400 messages each portable device associated with the panelist and/or household data 504, where each message comprises an activation signal. Additionally, the activation signal would be accompanied by the pre-recorded audio fingerprint which may be communicated before, after, or simultaneous with the communication of the activation signal. After the message, activation signal and fingerprint are communicated to the devices, an acknowledgement signal is received at the central site, indicating whether the devices received the information, and if the devices were responsive (i.e., the portable device activated in response to the message). If the portable device was unresponsive, this information is communicated back to the central site 509.
Once the portable device is activated 506, the device prepares for reception of the audio content by activating a microphone or other recording device just prior to the actual communication of the audio content, and remain on during the period of time in which the content is communicated, and deactivate at a predetermined time thereafter. During the time in which the audio content is communicated, the portable device records the audio and forms an audio fingerprint as described above. After the audio fingerprint is formed in the portable device, the portable device performs fingerprint matching locally 510. The matching compares the recorded fingerprint against the prerecorded fingerprint received at the time of messaging to see if there is a match 510. If a match 511 or no match 513 result is obtained, the result is marked and forwarded to central site 400 in step 512. The matching result message should preferably contain identification information of the portable device, identification information of the audio content and/or fingerprint, and a message portion that indicates the results of the match. The message portion may simply be a binary “1” indicating that a match has occurred, or a binary “0” indicating that there was no match. Other message formats are also possible and may be specifically tailored for the specific hardware platform being used.
For streaming content, an activation message would be sent to a panel of computers or smart phones causing them to wake up shortly before a specific time to open a particular stream. At this point, the devices would collect audio matching fingerprints to a period spanning the length of the content and determine if there is a match. The information sent back to the central site would then comprise of yes/no decisions for each content analyzed. One advantage of the configurations described above is that it greatly simplifies the design and implementation of the central site, since it no longer would require substantial processing to match fingerprints for a collective group of devices. This in turn provides greater freedom in customizing, distributing and processing audio fingerprint data, and allows for scaling to enormous panel sizes.
Although various examples and/or embodiments of the present invention have been described with reference to a particular arrangement of parts, features and the like, these are not intended to exhaust all possible arrangements or features, and indeed many other examples, embodiments, modifications and/or variations will be ascertainable to those of ordinary skill in the art.
This patent arises from a continuation of U.S. patent application Ser. No. 15/216,077, filed on Jul. 21, 2016 (now U.S. Pat. No. 10,672,407), which is a continuation of U.S. patent application Ser. No. 14/628,533, filed on Feb. 23, 2015 (now U.S. Pat. No. 9,437,214), which is a continuation of U.S. patent application Ser. No. 12/609,204, filed on Oct. 30, 2009 (now U.S. Pat. No. 8,990,142). The entireties of U.S. patent application Ser. No. 15/216,077, U.S. patent application Ser. No. 14/628,533 and U.S. patent application Ser. No. 12/609,204 are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4534056 | Feilchenfeld | Aug 1985 | A |
5333236 | Bahl et al. | Jul 1994 | A |
5437050 | Lamb et al. | Jul 1995 | A |
7043473 | Rassool et al. | May 2006 | B1 |
7284255 | Apel | Oct 2007 | B1 |
7587732 | Wright et al. | Sep 2009 | B2 |
7783489 | Kenyon et al. | Aug 2010 | B2 |
8108895 | Anderson et al. | Jan 2012 | B2 |
8225342 | Mears et al. | Jul 2012 | B2 |
8990142 | Lynch | Mar 2015 | B2 |
9437214 | Lynch | Sep 2016 | B2 |
10672407 | Lynch | Jun 2020 | B2 |
20020087987 | Dudkiewicz et al. | Jul 2002 | A1 |
20020101997 | Curtis et al. | Aug 2002 | A1 |
20020114299 | Lu et al. | Aug 2002 | A1 |
20020120929 | Schwalb et al. | Aug 2002 | A1 |
20020144261 | Schwalb et al. | Oct 2002 | A1 |
20030016834 | Blanco et al. | Jan 2003 | A1 |
20030097657 | Zhou et al. | May 2003 | A1 |
20030131350 | Peiffer | Jul 2003 | A1 |
20040002310 | Herley et al. | Jan 2004 | A1 |
20040064319 | Neuhauser | Apr 2004 | A1 |
20040133657 | Smith et al. | Jul 2004 | A1 |
20040158865 | Kubler et al. | Aug 2004 | A1 |
20040254790 | Novak et al. | Dec 2004 | A1 |
20040266489 | Chipchase et al. | Dec 2004 | A1 |
20050038749 | Fitch et al. | Feb 2005 | A1 |
20050096034 | Petermann | May 2005 | A1 |
20060031107 | Aihara et al. | Feb 2006 | A1 |
20060181605 | Boncyk et al. | Aug 2006 | A1 |
20060287915 | Boulet et al. | Dec 2006 | A1 |
20070011040 | Wright | Jan 2007 | A1 |
20070030984 | Gotfried | Feb 2007 | A1 |
20070220103 | Rogers et al. | Sep 2007 | A1 |
20070288277 | Neuhauser | Dec 2007 | A1 |
20080015820 | Kolessar et al. | Jan 2008 | A1 |
20080031433 | Sapp et al. | Feb 2008 | A1 |
20080086304 | Neuhauser | Apr 2008 | A1 |
20080306804 | Opdycke et al. | Dec 2008 | A1 |
20090030780 | Fork et al. | Jan 2009 | A1 |
20090094640 | Anderson et al. | Apr 2009 | A1 |
20090106084 | Or | Apr 2009 | A1 |
20090217315 | Malik et al. | Apr 2009 | A1 |
20090144144 | Grouf et al. | Jun 2009 | A1 |
20090150405 | Grouf et al. | Jun 2009 | A1 |
20090260027 | Weinblatt | Oct 2009 | A1 |
20100083299 | Nelson et al. | Apr 2010 | A1 |
20100131969 | Tidwell | May 2010 | A1 |
20100138298 | Fitzgerald et al. | Jun 2010 | A1 |
20100268540 | Arshi | Oct 2010 | A1 |
20100280641 | Harkness et al. | Nov 2010 | A1 |
20110106587 | Lynch | May 2011 | A1 |
20150170673 | Lynch | Jun 2015 | A1 |
20160329058 | Lynch | Nov 2016 | A1 |
20200365165 | Lynch | Nov 2020 | A1 |
Entry |
---|
Cano et al., “A Review of Algorithms for Audio Fingerprinting,” Multimedia Signal Processing, 2002 IEEE Workshop, 2002. pp. 169-173. DOI: 10.1109/MMSP.2002.1203274, 5 pages. |
Fink et al., “Social- and Interactive-Television Applications Based on Real-Time Ambient-Audio dentification,” Google Inc. 2006, 10 pages. |
Kennedy, “A Bewilderment of Meters,” Admap, Nov. 2006, 4 pages. |
Nakutis, “Electronic Audience Monitoring: Methods and Problems,” 2008, pp. 20-26, 7 pages. |
United States Patent and Trademark Office, “Non-final Office Action,” mailed in connection with U.S. Appl. No. 12/609,204, dated Aug. 30, 2013, 18 pages. |
United States Patent and Trademark Office, “Final Office Action,” mailed in connection with U.S. Appl. No. 12/609,204, dated Jun. 20, 2014, 16 pages. |
United States Patent and Trademark Office, “Notice of Allowance,” mailed in connection with U.S. Appl. No. 12/609,204, dated Nov. 19, 2014, 5 pages. |
United States Patent and Trademark Office, “Non-final Office Action,” mailed in connection with U.S. Appl. No. 14/628,533, dated Jul. 8, 2015, 12 pages. |
United States Patent and Trademark Office, “Final Office Action,” mailed in connection with U.S. Appl. No. 14/628,533, dated Feb. 4, 2016, 9 pages. |
United States Patent and Trademark Office, “Notice of Allowance,” mailed in connection with U.S. Appl. No. 14/628,533, dated May 5, 2016, 9 pages. |
United States Patent and Trademark Office, “Non-final Office Action,” mailed in connection with U.S. Appl. No. 15/216,077, dated May 6, 2019, 34 pages. |
United States Patent and Trademark Office, “Final Office Action,” mailed in connection with U.S. Appl. No. 15/216,077, dated Nov. 15, 2019, 9 pages. |
United States Patent and Trademark Office, “Notice of Allowance,” mailed in connection with U.S. Appl. No. 15/216,077, dated Jan. 28, 2020, 8 pages. |
Number | Date | Country | |
---|---|---|---|
20200365165 A1 | Nov 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15216077 | Jul 2016 | US |
Child | 16888250 | US | |
Parent | 14628533 | Feb 2015 | US |
Child | 15216077 | US | |
Parent | 12609204 | Oct 2009 | US |
Child | 14628533 | US |