Patent ID: 12206957

DETAILED DESCRIPTION

The following detailed description of the invention is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description.

According to various embodiments, audio fingerprinting techniques are used to identify the specific contents of a television broadcast. Audio fingerprinting can effectively and quickly identify advertisements or other portions of the broadcast stream. Moreover, the identification can be performed by a content aggregator or distributor before the content is re-distributed to the end viewer, thereby allowing identification of the actually-broadcast content at a time when such information can still be used to enhance the viewer experience. This “just prior” identification by a content aggregator can be more reliable and more flexible than prior techniques that relied upon programming schedules or metadata in the program stream.

Further, rapid identification by the aggregator further allows any number of beneficial actions to be made based upon the program content. Advertisements or other content can be identified in real time as they are broadcast, for example. This information may be distributed viewers in real time to supplement the viewing of a live broadcast, as desired. Certain advertisements could be supplemented, for example, with links to purchase sites or to additional information about the product being advertised. Other embodiments could enable second screen applications (e.g., games or other features played on a smartphone, tablet, remote control or other device) related to the content that the viewer is watching. Still other embodiments could use the information obtained from the audio fingerprinting to skip over the ads in a broadcast, to prevent skipping over the ads (e.g., by disabling trick play while the ads are being broadcast), to replace the ads with other content, or to perform any other actions as desired. Moreover, the information obtained from the audio fingerprinting may be stored with content management data that can be shared with other services that might process the received content, such as placeshifting, timeshifting or the like. These and other examples are described more fully below.

Turning now to the drawing figures and with initial reference toFIG.1, an exemplary data processing system100to identify and augment the contents of a broadcast television stream110suitably includes a receiver101, an audio fingerprint system140that maintains a fingerprint database145and a content management system130. Each of these components are typically provided by a content aggregator or distributor such as a cable television system operator, a direct broadcast satellite (DBS) system operator, a streaming media provider, or the like.

Broadcast television signals110for one or more networks, channels or the like are received by the system operator via satellite123, fiber optic or any other conventional wireless or physical media for transmitting television signals. The signals are received, demodulated and decoded as needed by any appropriate receiver(s)101to extract program signals111that represent the decoded television program stream.

The extracted programming signals111are analyzed as appropriate to identify the program contents. In the embodiment ofFIG.1, the audio portions of the extracted signals are analyzed by an audio fingerprint system140. Audio fingerprint system140is any computer system that is capable of extracting audio fingerprints from the decoded signals111. To that end, fingerprint system140typically includes any conventional processor141, memory142and input/output interfaces143that would be commonly found on a server or similar computer system to access networks, mass storage and/or the like. Fingerprint system140could be equivalently implemented using cloud-based computing resources, as desired.

In most embodiments, the fingerprint system140executes a software application144that performs the audio fingerprint analysis based upon average zero crossing rate, average spectrum, spectral flatness, prominent tones across a set of frequency bands, bandwidth and/or any other characteristics of the audio signal. Various examples of audio fingerprinting software are commercially available from Audible Magic Corporation of Los Gatos, California, and many others.

The extracted fingerprints may be compared to fingerprints previously stored in a database145, as appropriate, to identify portions of content in the program stream. Commercials, for example, can be recognized when the audio portions of the program stream111contain similar fingerprints to known audio data stored in database145. The fingerprints stored in database145may be obtained from human data entry (as described below), from a content source (e.g., an advertiser, broadcaster or network), or from any other source as desired. Database145may make use of conventional database software (e.g., database products available from Microsoft, IBM, Oracle or any other vendor), or the database145may be a custom database developed to store audio fingerprint data, as desired. Database145may reside on the same computing hardware as audio fingerprint system140, or separate computing resources could be provided, including any sort of cloud-based computing resources.

Audio fingerprint system140is therefore able to identify advertisements or other contents of the received television broadcast111using audio fingerprinting. In many implementations, audio fingerprinting and content identification is performed in parallel for multiple channels that may be simultaneously received by the content aggregator for any other purpose. In addition to audio fingerprinting, for example, the distributor/aggregator may use the extracted signals111for encoding the signals111for distribution on a digital network, for aggregation and redistribution of signals111over a DBS or cable distribution system, for generating content stored on a remote storage digital video recorder (RSDVR) or video on demand (VOD) service, or for any other purpose.

In the example ofFIG.1, audio fingerprinting occurs in parallel with the encoding of the live broadcast signals111for adaptive streaming on a digital network125. To that end,FIG.1shows an encoder102that encodes programs104contained within signals111into one or more adaptive streams105A-C each representing a media program104in its entirety, but with different bit rates, frame rates, resolution and/or other levels of quality. Typically, each stream105A-C is made up of smaller segments106that each represent a small portion of the program content with a single data file. Each stream105A-C is typically encoded so that segments106of the different streams105A-C are interchangeable with each other, often using a common timing index. This allows a client media player to mix and match segments106from different streams105A-C to create a media stream that effectively adapts as network conditions or other conditions change. Other embodiments could use different encoding or streaming structures or techniques, as desired.

FIG.1shows sets of segments106making up each stream105being stored on a content delivery network (CDN) or other content source107for distribution on the Internet or another network125as part of an RSDVR, VOD or other media streaming service. Typically, a media player application executing on one or more playback devices120contains intelligent logic to select appropriate segments106as needed to obtain and playback the media program104. Segments106may be interchangeable between streams105so that higher quality segments106are seamlessly intermixed with lower quality segments106to reflect changing network or other conditions in delivery over network125. Since the segments106are typically stored as separate files, segment requests may take the form of conventional hypertext transport protocol (HTTP) constructs (e.g., HTTP “get” instructions) or the like. Such constructs are readily routable on network125and can be served by conventional CDN or other web-type servers107, thereby providing a convenient mechanism for distributing adaptive media streams to a variety of different client devices on network125.

Again, other embodiments may use different encoders102for encoding cable television signals, DBS signals, or the like; still other embodiments may omit the encoding function entirely and perform audio fingerprinting and recognition separately from the distribution function. Since many distributors already receive program signals no for encoding, however, there may be an economy of scale in performing the audio fingerprinting function at the same time.

Moreover, various embodiments may realize substantial benefits by integrating the identification information obtained from audio fingerprinting into content management data. As noted above, audio fingerprinting may be performed in real time as the program streams are received, thereby allowing for very rapid identification of then-current broadcast content. This information may be readily incorporated into electronic program guide (EPG) data or other content management data that is provided to the television receiver or other playback device.

Content management system130shown inFIG.1is a computer system that has any conventional processor131, memory132and input/output interface133features commonly associated with data processing systems, including any sort of cloud-based resources. Many content aggregators currently use content management systems130to manage and distribute electronic program guide (EPG) data and other information about the programs that are distributed within system100. These systems130may be expanded to process information relating to advertisements or other portions of the content stream, and/or to associate actions to be performed by the viewer and/or the playback device based upon the content of the stream.

FIG.1shows an example of data150that could be maintained by content management system130. As shown in the figure, data150could include channel information151and timing information152about each entry so that the particular content can be readily identified. Other embodiments may use different identification data, such as distributor or network information, or any other information as desired. Although some implementations may incorporate conventional EPG data (e.g., data obtained from a vendor or other source), the example ofFIG.1uses channel and time so that even portions of a program can be individually identified. Advertisements, for example, could be referenced by their channel and broadcast time so that additional actions unique to those advertisements could be enabled.

Data150as illustrated inFIG.1also includes description information153and/or action information154. The description information153may simply describe the contents of an identified portion (e.g., “ad”, “shoe ad”, “action scene”, “Battle for Helm's Deep”, etc.) using text or any code. Since the information was obtained from the actual live broadcast itself, it will typically be very accurate in both timing and content, even if programming is delayed or otherwise modified from a predetermined schedule for any reason, and could be used to provide very accurate indexing through the broadcast, for example. Data150may also include action information154to separately trigger an action by the playback device, as described more fully below. A playback device could, for example, be programmed to offer a weblink to an online shoe retailer whenever a “shoe ad” is run, or to offer additional content, or to take any other action. Data150as shown inFIG.1is merely an example; other embodiments may be differently organized or encoded, and/or may represent description information154and action information155in any other manner.

Data150may be provided to any sort of media player, television receiver, network server or other recipient in any manner. In various embodiments, data150including information obtained from the audio fingerprinting is provided as part of EPG information delivered to set top boxes or other television receivers associated with cable, DBS or other distributors126. Such information may be delivered using a batch delivery, when possible, or in real time (accounting for some delay inherent in data processing and transmission) as desired. Data150may also be provided to television receivers or other playback devices120via a network service such as content source107or a separate network server122, as desired. Server122may be useful in, for example, providing the content information to a smart phone, tablet or other computer, video game player, remote control device or other “second screen”127that may be used by the viewer while he or she is also watching broadcast television. In various embodiments, data150could include action data154that triggers games, applications, weblinks or other features accessible using the second screen that are time coordinated to the advertisements or other programming that is currently viewed on a television or other display. Again, many other embodiments could incorporate any number of additional or alternate features to take advantage of the real-time identification feature provided by the broadcaster.

FIG.2provides additional detail about an exemplary process200executable by a data processing system operated by a content aggregator, distributor or the like to identify portions of a television broadcast using audio fingerprinting. The various functions shown inFIG.2may be implement using software that executes on audio fingerprint system140, fingerprint database145, content management system130or any other processing resources operating within system100. The exemplary process200may be supplemented or modified to create any number of equivalent implementations.

Referring now toFIG.2, broadcast television content is received (function202) from the broadcaster, television network, or any other source, and the audio content of the received programming is analyzed (function204) so that audio fingerprints of the content can be created. As noted above, the analysis may be performed in real time as the programming content is received. Alternatively, audio analysis could be performed on stored content, previously broadcast content, or any other content as desired. Audio analysis software144suitably processes the audio data to prepare appropriate fingerprints that can be compared to fingerprints of previously-encountered content that are stored in database145(function206).

If a portion of the content has a fingerprint that cannot be identified from database145, then alternate identification may occur (function208). In various embodiments, the content is flagged so that a human operator can observe the unrecognized portion of the content stream. The first recognition process could be automated by using voice or image recognition, for example, or any other techniques as desired.

When the new content is recognized, then the newly-calculated fingerprint can be stored in database145so that the content will be recognized if it is rebroadcast. A television commercial, for example, may not be recognizable during its first broadcast, but after being recognized the computed fingerprint can be used to recognize rebroadcasts of the same ad.

When an audio fingerprint is recognized (function210), then the portion of the broadcast content used to generate the fingerprint can be readily identified based upon information stored in database145. An advertisement, for example, can be identified and tagged so that further processing based upon the advertisement is possible.

As noted above, real-time recognition enables any number of new actions that could be taken based upon the identified content. In some embodiments, the identification information is simply collected and used to tag the content, or used for any other purpose. Other implementations, however, may associate any number of different actions (function212) with one or more identified portions of the content. If an advertiser has requested additional content to be associated with a particular ad, for example, then data150can be updated whenever the ad is broadcast to reflect that an actionable ad is occurring in the live stream (function214). Actions may be tagged or otherwise triggered in any number of other ways.

The identification information150that is obtained from process300may be forwarded to content management system13o, servers107or122, playback devices120and/or any other destinations as desired. Data150may be delivered via a cable or DBS broadcast system, for example, as batch or real-time out-of-band content similar to EPG data. Alternately, data150may be stored with the content itself, as in an RSDVR or VOD system, otherwise transmitted to a playback device120and/or second screen127via network125or in any other manner.

FIG.3shows additional detail about an exemplary process executable by a media player, television receiver or other playback device to process identified content in a television broadcast. The playback device receives the television broadcast stream (function302) from a terrestrial or satellite broadcast, a cable television connection, or any other source.

The playback device also receives the information150identifying advertisements or other portions of the broadcast (function304). As noted above, the information150may be provided with the broadcast content (e.g., as associated EPG data or otherwise via the same cable, DBS or other source), or may be obtained separately (e.g., from a server107or122on network125).

The data150is monitored, as appropriate, to identify any actionable events that may occur during the viewer's programming (function306). If an actionable item is identified on a channel and time that is being watched by the viewer, then the playback device suitably executes the requested action (function308).

Several examples of actions that could be executed are described herein, and many others could be formulated across a wide array of alternate embodiments. Several examples are described here, but these examples are intended to be non-limiting.

In various embodiments, the data150identifies any commercials in the broadcast stream so that trick play (e.g., fast forward) can be disabled while the commercials are playing. To implement this, the playback device would simply refuse to execute a fast forward or similar instruction during the times of the broadcast that are identified as containing commercials. Trick play could also be disabled for only certain ads, as desired, so that only certain advertisers are allowed to prevent viewers from fast forwarding over their commercials. This concept could be expanded and/or commercialized in any number of ways.

Conversely, if the precise times of the commercials in a broadcast stream were identified using data iso, then playback device could use this timing information152to skip over the commercials entirely, or to replace the commercials with other content as desired. Such replacement could be used, for example, to replace an ad that is of low interest to the viewer with an ad that is of higher interest based upon demographic information or customer profile data available to the playback device.

In still other embodiments, the playback device could supplement the commercials with links and/or additional content. Since the advertisement is identified using audio content from the ad itself, the supplemental content could be readily linked to all of the ads belonging to a product class or relating to a particular advertiser, regardless of the time, network or channel that broadcasts the ad. This would allow, for example, a soda advertiser to supplement all of their ads with additional features on the playback device regardless of the content of the ad, the broadcast network, or the time of broadcast. A link to a retail site could be provided during an ad, for example, so the viewer could simply click on a button or execute a similar feature to purchase the advertised product. Additional content (e.g., a longer ad, a movie, a game or the like) could also be provided so if the viewer wanted more information about the advertised product, he or she would be able to obtain it immediately and conveniently. Further, additional content could be provided via a secondary device127, as desired. The secondary device may receive information150in addition to or in place of the playback device, as desired for the particular application. Any other content could be provided in addition or in alternative to that described here, and such content could be provided in any manner. This could provide a significant benefit to advertisers, who may want to supplement their broadcast ads with additional content and/or to target their additional content toward certain viewers.

The foregoing discussion therefore considers various systems, devices and methods for real-time identification of advertisements or other portions television broadcasts using audio fingerprinting. By identifying advertisements or other portions of the content while the content is being encoded or aggregated for distribution, the content distributor is able to provide a variety of new features while retaining a high level of accuracy in identifying ads as they are actually broadcast. By capturing the identity of the ads at the initial point of ingestion, the content distributor is able to offer any number of useful new features and benefits.

The general concepts set forth herein may be adapted to any number of equivalent embodiments. Many other enhancements, modifications and other changes could be made in a wide array of alternate but equivalent embodiments.

The term “exemplary” is used herein to represent one example, instance or illustration that may have any number of alternates. Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations, nor is it necessarily intended as a model that must be duplicated in other implementations. While several exemplary embodiments have been presented in the foregoing detailed description, it should be appreciated that a vast number of alternate but equivalent variations exist, and the examples presented herein are not intended to limit the scope, applicability, or configuration of the invention in any way. To the contrary, various changes may be made in the function and arrangement of elements described without departing from the scope of the claims and their legal equivalents.