Methods and apparatus to meter content exposure using closed caption information

Methods and apparatus to meter content exposure using closed caption information are disclosed. An example method comprises developing a keyword database of terms based on program guide descriptive of programs for a given time period, generating one or more values representative of likelihoods that one or more respective media content was presented based on a comparison of closed caption text and the keyword database, collecting audience measurement data, and employing the one or more likelihood values to identify a set of reference data for comparison to the audience measurement data to identify presented content.

FIELD OF THE DISCLOSURE

This disclosure relates generally to the metering of content exposure and, more particularly, to methods and apparatus to meter content exposure using closed caption information.

BACKGROUND

Exposure to media content may be metered by collecting, identifying and/or extracting audience measurement codes embedded within content being presented. Such audience measurement codes are commonly inserted, embedded and/or otherwise placed into content by content providers, such as television and/or radio broadcasters, to facilitate identification of content. Alternatively or additionally, exposure to content may be measured by collecting signatures representative of the content. By comparing one or more audience measurement codes and/or signatures collected during content presentation with a database of known audience measurement codes and/or signatures, the exposure of particular pieces of content to one or more persons, respondents and/or households may be measured.

DETAILED DESCRIPTION

FIG. 1illustrates an example system constructed in accordance with the teachings of the invention to meter content exposure using closed caption information. The example system ofFIG. 1meters a) content being presented and/or consumed at the time that the content is broadcast and/or b) content not being presented and/or consumed at the time that the content is broadcast (e.g., the system meters content being presented and/or consumed that was earlier recorded at the time of broadcast and is now being presented at a later time (i.e., time shifted viewing)). To meter content exposure, the example system ofFIG. 1uses closed caption information and/or content identifiers. As used herein, a “content identifier” is any type of data and/or information associated with, embedded with, inferable from and/or injected into a piece of content, and which may be used to identify that piece of content. Audience measurement codes (e.g., audio codes, audio watermarks, video watermarks, vertical blanking interval (VBI) codes, image watermarks and/or any other watermarks embedded in content by content providers such as television and/or radio broadcasters to facilitate identification of content), public or private identifiers in bit streams, closed captioning information, metadata, signatures, or any other type(s) of data can serve as content identifiers. A content identifier is generally not noticeable to the audience during playback, but this is not necessarily so. For content currently being broadcast, the example system ofFIG. 1utilizes audience measurement codes and/or signatures (e.g., audio, video, image and/or otherwise) to identify the content being presented and/or consumed. In particular, the collected audience measurement codes and/or signatures may be compared with a database of audience measurement codes and/or signatures that represents known content to facilitate identification of the content being presented. Likewise, for previously recorded content, the example system may also utilize audience measurement codes and/or signatures to identify the presented media content.

Since audience measurement codes and/or signatures determined from previously recorded content may be substantially time-shifted with respect to a reference database of audience measurement codes and/or signatures, the matching of audience measurement codes and/or signatures with the database to determine what content is being presented and/or consumed may become difficult and/or time consuming. As such, the example system ofFIG. 1utilizes closed caption information to identify, at the time that content is presented and/or consumed, the most likely content being presented. This likely content information is then used, as described below, during matching of audience measurement codes and/or signatures determined from the previously recorded content with the database of audience measurement codes and/or signatures. In particular, the likely content information can enable comparison of extracted and/or determined audience measurement codes and/or signatures with a smaller subset of the audience measurement code database. Closed caption information and/or likely presented and/or consumed content information may also be utilized for metering currently broadcasting content.

To receive, play, view, record, and/or decode any type(s) of content, the example system ofFIG. 1includes any type of media device105such as, for example, a set top box (STB), a digital video recorder (DVR), a video cassette recorder (VCR), a personal computer (PC), a game console, a television, a media player, etc. Example content includes television (TV) programs, movies, videos, commercials, advertisements, audio, video, games, etc. In the example system ofFIG. 1, the example media device105receives content via any type(s) of sources such as, for example: a satellite receiver and/or antenna110; a radio frequency (RF) input signal115received via any type(s) of cable TV signal(s) and/or terrestrial broadcast(s); any type of data communication network such as the Internet120; any type(s) of data and/or media store(s)125such as, for example, a hard disk drive (HDD), a VCR cassette, a digital versatile disc (DVD), a compact disc (CD), a flash memory device, etc. In the example system ofFIG. 1, the content (regardless of its source) may include closed caption information and/or data. Alternatively or additionally, the closed caption information and/or data may be provided and/or received separately from the content itself. Such separately received closed caption information and/or data may be synchronized to the content by the media device105and/or a content exposure meter150.

To provide and/or broadcast content, the example system ofFIG. 1includes any type(s) and/or number of content provider(s)130such as, for example, television stations, satellite broadcasters, movie studios, etc. In the illustrated example ofFIG. 1, the content provider(s)130deliver and/or otherwise provide the content to the example media device105via a satellite broadcast using a satellite transmitter135and a satellite and/or satellite relay140, a terrestrial broadcast, a cable TV broadcast, the Internet120, and/or media store(s)125.

To meter exposure to and/or consumption of content, the example system ofFIG. 1includes the content exposure meter150. The example content exposure meter150ofFIG. 1receives audio data155and/or video data160from the example media device105. The example content exposure meter150also receives any type(s) of content guide information and/or data165. The content guide data165may be broadcast and/or delivered to, or downloaded and/or otherwise received by, the content exposure meter150via the Internet120, the satellite input, the RF input115, the media device105and/or the media store(s)125. In some examples, content guide data165is an eXtensible Markup Language (XML) file containing, for example, TV programming information (e.g., a TV guide listing) for any number of days and/or customized for the geographical location (e.g., zip or postal code) of the content exposure meter150. The example content exposure meter150ofFIG. 1may be, for example: (a) a PC, (b) may be implemented by, within and/or otherwise be associated with the example media device105, and/or (c) be an XML data collection server as described in PCT Patent Application Serial No. PCT/US2004/000818 which is hereby incorporated by reference in its entirety. An example manner of implementing the example content exposure meter150is discussed below in connection withFIG. 2. An example process that may be carried out to implement the example content exposure meter150is discussed below in connection withFIG. 6.

As described below in connection withFIGS. 2,3and6, the example content exposure meter150ofFIG. 1uses the content guide data165and/or data derived from the content guide data165, and closed caption information obtained from, for example, the video data160to identify, for example, one or more TV programs and/or movies that are likely being presented (e.g., viewed) at and/or via the media device105. As described below, to enable metering of content exposure, the example content exposure meter150ofFIG. 1collects and/or generates audience measurement codes and/or signatures that may be used to identify content being presented. In cases when content is presented and/or consumed out of synchronization with the time of content broadcast (e.g., the content being presented and/or consumed was earlier recorded at the time of broadcast and is currently being played back at and/or via the media device105), the example content exposure meter150utilizes closed caption information and content guide information (e.g., electronic program guide (EPG) information) to identify which content, out of a set of potential content candidates, represents the content that was most probably presented to the panelist/user/household member. The example content exposure meter150may also use closed caption information to identify which currently broadcasting content is being presented and/or consumed. When content is stored and/or recorded, for example, at and/or via the media device105, any included and/or associated closed caption information and/or data is also stored. For example, if received content contains embedded closed caption information, the closed caption information is saved by virtue of the content being recorded.

When performing content metering, the example content exposure meter150ofFIG. 1divides the time during which content presentation occurs in to a set of presentation time intervals (e.g., 30 seconds) and determines for each time interval the content most likely presented and/or consumed. The time intervals may be of any duration depending on the desired granularity of the metering to be performed. Additionally, the duration of the time intervals may be fixed or may vary.

For each presentation time interval, the example content exposure meter150ofFIG. 1provides to a processing server175an ordered list of content candidates that represent the pieces of content that are and/or were most probably presented. The processing server175may be geographically separate from the content exposure meter150and/or may be co-located with the example content exposure meter150. In the example ofFIG. 1, the ordered list of content candidates is provided to the processing server175as a list of content exposure hints170A. In the example ofFIG. 1, the hints170A are ordered based upon the probability that the content candidate associated with each given hint is the content being presented and/or consumed during the time interval of interest and may include, for example, the three or four most probable items. The processing server175may receive and process content exposure hints170A from any number of content exposure meters150that may be geographically disbursed. As described below in connection withFIG. 2, the example content exposure meter150also collects any type(s) of audience measurement codes and/or signatures (collectively audience measurement data)170B) from the audio data155. The audience measurement data170B is provided together with the content exposure hints170A to the processing server175. An example table used by the content exposure meter150to provide the hints170A and audience measurement data170B to the processing server175is discussed below in connection withFIG. 4. Additionally or alternatively, the hints170A and audience measurement data170B may be formatted as an XML file. The audio measurement data170B may include and/or represent video codes, video signatures, image codes, image signatures, etc. For simplicity of discussion, the following disclosure references the use of any type of codes and/or signatures as audience measurement data170B.

To facilitate the creation of hints170A to identify content that is presented and/or consumed out of synchronization with the time of content broadcast (e.g., previously recorded content), the example content exposure meter150stores and/or otherwise retains content guide data165(e.g., EPG data) and/or data derived from the content guide data165collected during previous time periods (e.g., in the last14days). In this way, as described below, the content exposure meter150can use currently collected and/or previously collected content guide data165and/or data derived from the currently collected and/or previously collected content guide data165to identify content presented (e.g., displayed, viewed and/or listened to) at and/or via the media device105. In the illustrated example, the time period over which the content guide data165and/or data derived from the content guide data165is retained by the example content exposure meter150is the time period for which the example processing server175is programmed to compute and/or tabulate statistics regarding content exposure.

In the illustrated example ofFIG. 1, the hints170A and audience measurement data (e.g., codes and/or signatures)170B are provided from the content exposure meter150to the processing server175on an occasional, periodic, or real time basis. Any type(s) of technique(s) for downloading and/or transferring data from the example content exposure meter150to the example processing server175can be used. For example, the hints170A and audience measurement data170B can be transferred via the Internet120, a public-switched telephone network (PSTN)180, and/or a dedicated network. Additionally or alternatively, the example content exposure meter150may periodically or aperiodically store the hints170A and audience measurement data170B on any type(s) of non-volatile storage medium (e.g., recordable compact disc (CD-R)) that can be transported (e.g., picked up, mailed, etc.) to a processing service and then loaded onto the example processing server175.

The example processing server175ofFIG. 1utilizes the hints170A and audience measurement data170B received from the example content exposure meter150to determine which content was presented and/or consumed at and/or via the example media device105to form content exposure data for the media device105and/or for a collection of one or more media devices105. For example, the processing server175utilizes the hints170A to more efficiently compare the audience measurement data (e.g., codes and/or signatures)170B collected by the content exposure meter150with the database of audience measurement data (e.g., codes and/or signatures) stored and/or otherwise available at the processing server175. As discussed previously, the database of audience measurement data at the example processing server175ideally represents a large portion of the universe of content, thereby, increasing the likelihood of the accurate identification of any content presented and/or consumed at the example media device105. However, the larger the size of the database, the greater the processing power required to perform a search of all the audience measurement data stored in the database to identify a match. The example processing server175ofFIG. 1may, for example, receive audience measurement data from the content provider(s)130and/or determine the audience measurement data for content185received at and/or by the processing server175. Additionally, the content represented by the audience measurement data stored in the database may include content that has been broadcast and/or that will be broadcast, and/or content that has not yet been broadcast but that is otherwise available to the user via DVD, VCR, or other storage medium. Using the hints170A, the example processing server175can limit the amount of audience measurement data that must be compared and, thus, process content exposure metering information170B from a substantially larger number of content exposure meters150. An example processing server175is discussed below in connection withFIG. 5. An example process that may be carried out to implement the example processing server175is discussed below in connection withFIG. 7.

The example processing server175ofFIG. 1combines the determined content exposure data for a plurality of metered media devices105associated with a plurality of respondents to develop meaningful content exposure statistics. For instance, the processing server175of the illustrated example uses the combined content exposure data to determine the overall effectiveness, reach and/or audience demographics of viewed content by processing the collected data using any type(s) of statistical method(s).

FIG. 2illustrates an example manner of implementing the example content exposure meter150ofFIG. 1. To process the content guide data165, the example content exposure meter150ofFIG. 2includes any type of indexing engine205. An example indexing engine205implements any method(s), algorithm(s) and/or technique(s) to process an XML file containing a plurality of records. Processing the XML file causes the creation of an index that identifies keyword(s) that distinguish the plurality of records represented by the XML file. Consider an example XML file that contains a TV guide listing in which each record in the XML file represents a separate TV program. Each record in the XML file contains data about the TV program such as, for example, the channel number on which the TV program is broadcast, the name associated with the channel on which the TV program is broadcast, the program name of the TV program, a description of the content of the TV program, and the time at which the TV program is to be broadcast. The example indexing engine205indexes the XML data to remove as much redundant information as possible while retaining keywords useful for distinguishing the listed TV programs. For example, consider a 6-6:01 PM time slot having multiple TV programs with names and/or description that include “news.” Because the term “news” is “locally common” (e.g., appears in a second program in the relevant time period), the example indexing engine205ofFIG. 2does not include “news” in the indexed list of keywords. However, if one of those same TV programs includes in its program information a less locally commonly used term (e.g., the name of a special guest and/or a description of a special segment), the example indexing engine205would include the less locally commonl term (e.g., the name of the special guest and/or one or more words from the description) in the indexed list of keywords.

To store the indexed keywords that may be developed by the indexing engine205or any other keyword server, the example content exposure meter150ofFIG. 2includes a keyword database210. The keywords stored in the keyword database210are indexed to an associated channel number, channel name, program name, program information (e.g., description) and/or broadcast time information. The example keyword database210may use any type(s) and/or number of data structure(s) (e.g., matrices, array(s), variable(s), register(s), data table(s), etc.) to store the indexed keywords. In the illustrated example, the keyword database210is stored in, for example, any type(s) of memory(-ies) and/or machine accessible file(s)215. The example keywords database210ofFIG. 2includes indexed keywords for a current time period (e.g., the current week) as well as any number of previous time periods. The number and duration of time periods included in the keywords database210depends upon how far back in time the processing server175computes and/or tabulates statistics regarding content exposure. For example, the processing server175may be configured only to consider content from the previous fourteen (14) days. The example indexing engine205ofFIG. 2periodically or aperiodically deletes and/or otherwise removes old keywords.

To extract and/or decode closed caption data and/or information from the video data160, the example content exposure meter150ofFIG. 2includes any type of closed caption decoding engine220. Using any type(s) of method(s), algorithm(s), circuit(s), device(s) and/or technique(s), the example closed caption decoding engine220ofFIG. 2decodes, for example, Line 21 of National Television System Committee (NTSC) television signals or Line 22 of Phase Alternation Line (PAL) television signals to extract closed caption text222. In the example system ofFIGS. 1 and 2, the example closed caption decoding engine220decodes the closed caption text222in real time with the review, display, viewing and/or playback of content at and/or via the media device105. Additionally or alternatively, the video data160could be stored at the content exposure meter150and processed by the closed caption decoding engine220in non-real time. The example closed caption decoding engine220ofFIG. 2also extracts and/or decodes the time information that is associated with the closed caption data and/or information (i.e., closed caption timestamps) and that is embedded together with the closed caption data and/or information in the video data160.

To determine the content most likely being presented and/or consumed at and/or via a media device, the example content exposure meter150ofFIG. 2includes a closed caption matcher225. Using any type(s) of method(s), algorithm(s), circuit(s), device(s) and/or technique(s), the example closed caption matcher225ofFIG. 2compares the stream of closed caption text222with the indexed keywords in the keywords database210. When a match is determined, the content corresponding to the match is recorded. Over a pre-determined time interval (e.g.,5minutes), the example closed caption matcher225counts the total number of matches identified and the number of matches made for each specific content (e.g., TV program). In the example ofFIG. 2, at the end of each time interval, the probability that a given content candidate is actually being presented and/or consumed is the number of matches for each content candidate divided by the total number of matches. The content candidate (e.g., TV program) having the highest probability is the most likely content currently being presented and/or consumed. In the example ofFIGS. 1 and 2, the four pieces of content having the highest probability (i.e., most probably content being presented and/or consumed) are provided to the processing server175as hints170A for the current time interval. However, any number of hints170A could be provided to the processing server175.

FIG. 3illustrates an example histogram that represents the probability305(i.e., likelihood) that each of a plurality of TV programs310was presented and/or consumed (e.g., viewed) during each time interval315having a time duration of T minutes. As illustrated, each of the TV programs310is illustrated with a bar having a height that represents the likelihood that the TV program was being viewed during the interval315. In the example ofFIG. 3, the most likely watched channel during the interval315was the evening news on the “FOX” TV channel during the 6:00-6:01 PM time period on Mar. 3, 2006, as indicated with bar320. In the illustrated examples ofFIGS. 1-3, the time period is determined based on the closed caption timestamp and, thus, has a granularity that is finer than the program start time, end time and/or program duration. The granularity depends upon the granularity of the closed caption time stamps and the length of the interval315. At the end of the interval315, the “FOX”, “NBC”, “ABC” and “CBS” are provided as hints to the processing server175. As the media device105continues to provide video data160, the closed caption matcher225ofFIG. 2continues identifying and counting matches and, then at the end of each interval325, determines the probabilities for that interval325, and identifies to the processing server175the most likely four content candidates as hints170A associated with the time interval325currently being processed.

Additionally or alternatively, if a sufficient set of keywords is not available, the example closed caption matcher225ofFIG. 2may not be able to identify the content being presented and/or consumed with certainty. For example, the example closed caption matcher225may only be able to identify that the TV station being watched is ABC but not distinguish which TV program is being presented and/or consumed. Likewise, the closed caption matcher225may be able to identify that the evening news is being presented and/or consumed, but not which TV channel. Alternatively, no hints170A may be available for a given time interval.

To collect audio codes for the audio data155, the example content exposure meter150ofFIG. 2includes any type of audio code engine230. Using any type(s) of method(s), algorithm(s), circuit(s), device(s) and/or technique(s), the example audio code engine230searches, locates, extracts and/or decodes audio codes inserted into the audio data155by content providers, such as television and/or radio broadcasters, to facilitate identification of content. Such audio codes are commonly used in the industry for the purposes of detecting the exposure to content. However, persons of ordinary skill in the art will readily appreciate that not all content has inserted audio codes and/or signatures.

To collect and/or generate audio signatures for the audio data155, the example content exposure meter150ofFIG. 2includes any type of audio signature engine235. Using any type(s) of method(s), algorithm(s), circuit(s), device(s) and/or technique(s), the example audio signature engine235ofFIG. 2processes the audio data155to determine binary fingerprints and/or signatures that substantially and/or uniquely identify corresponding portions of the audio data155. An example audio signature is computed by applying data compression to the audio data155.

In the illustrated examples ofFIGS. 1 and 2, the example closed caption matcher225provides the audience measurement data (e.g., audio codes and/or signatures and/or signatures)170B together with the hints information170A to the processing server175.

While an example content exposure meter150has been illustrated inFIG. 2, the elements, modules, logic, memory and/or devices illustrated inFIG. 2may be combined, re-arranged, eliminated and/or implemented in any way. For example, the example closed caption matcher225, the example indexing engine205, and/or the example keyword database210could be implemented separately from the example content exposure meter150(e.g., by and/or within the example processing server175). In such examples, the content exposure meter150provides the closed caption information222and the audience measurement data170B to the processing server175, which generates the hints information170A at the processing server175. As described more fully below in connection withFIG. 5, the processing server175uses the generated hints information170A and the audience measurement data170B to identify content presented and/or consumed at and/or via a media device105being metered by the content exposure meter150. Further, the example indexing engine205, the example keywords database210, the example memory and/or file215, the example closed caption matcher225, the example closed caption decoding engine220, the example audio code engine230, the example audio signature engine235and/or, more generally, the example content exposure meter150may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. For example, the example indexing engine205, the example keywords database210, the example memory and/or file215, the example closed caption matcher225, the example closed caption decoding engine220, the example audio code engine230and/or the example audio signature engine235may be implemented via machine accessible instructions executed by any type of processor150such as, for example, a processor from the Intel®, Sun®, AMD® families of processors and/or microcontrollers. Moreover, a content exposure meter may include additional elements, modules, logic, memory and/or devices and/or may include more than one of any of the illustrated elements, modules and/or devices such as, for example, a video code engine or a video signature engine.

FIG. 4is an example hints and tuning information table having a plurality of entries405that each correspond to one of the hints170A provided by the content exposure meter150. In the example ofFIG. 4, each of the plurality of entries405contains a time period interval identifier410, a content timestamp412that indicates when the content was presented and/or consumed, and hints information that includes one or more of: (a) a listing of the highest probability content sources (e.g., TV channels)415, (b) a listing of the highest probability pieces of content (e.g., TV programs)420, (c) a listing of the highest probability broadcast times425. According to the example ofFIG. 4, each of the plurality of entries405also contains any audience measurement data430(e.g., audio codes and/or audio signatures) located, extracted, decoded, identified and/or computed during the time period. The extent to which a particular timestamp entry412and a particular broadcast time425match is indicative of whether the corresponding content was presented and/or consumed live and/or was previously recorded and/or captured. While an example hints and tuning information table is illustrated inFIG. 4, persons of ordinary skill in the art will readily appreciate that any type(s) of file(s), data structure(s), table(s), etc may be used by the content exposure meter150to format the data prior to sending the data to the processing server175. Also, more or fewer types of information may be included in the table.

FIG. 5illustrates an example manner of implementing at least a portion of the example processing server175ofFIG. 1. To determine audio codes and/or signatures for audio data185provided by and/or obtained from the content provider(s)130, the example processing server175ofFIG. 5includes any type of audio code engine505. Using any type(s) of method(s), algorithm(s), circuit(s), device(s) and/or technique(s), the example audio code engine505searches, locates, extracts and/or decodes and/or signatures audio codes and/or signatures inserted into the audio data185by content providers, such as television and/or radio broadcasters, to facilitate identification of content. Such audio codes are commonly used in the industry for the purposes of detecting the exposure to content. However, persons of ordinary skill in the art will readily appreciate that not all content contains audio codes. Additionally or alternatively, the content provider(s)130may only provide audio codes for content for which exposure and/or consumption statistics are desired.

To determine audio signatures for the audio data185, the example processing server175ofFIG. 5includes any type of audio signature engine510. Using any type(s) of method(s), algorithm(s), circuit(s), device(s) and/or technique(s), the example audio signature engine510ofFIG. 5processes the audio data185to determine binary fingerprints and/or signatures that substantially and/or uniquely identify corresponding portions of the audio data185. An example audio signature is computed by applying data compression to the audio data185.

In the example ofFIG. 5, audience measurement data515(e.g., audio codes and/or audio signatures) located, decoded, extracted, identified and/or computed by the example audio code engine505and/or the example audio signature engine510and/or received from the content provider(s)130are stored using any type(s) and/or number of database(s) and/or data structure(s) (e.g., matrices, array(s), variable(s), register(s), data table(s), etc.) and are stored in, for example, any type(s) of memory(-ies) and/or machine accessible file(s)520. The example audience measurement database515ofFIG. 5is indexed by associated channel number, channel name, program name, program information (e.g., description) and/or broadcast time information. The example audience measurement database515includes audio codes and/or signatures corresponding to content that is currently being broadcast, to content that was broadcast, and/or content that will be broadcast in the future. The amount of data in the database515may be selected based on the desired time period over which the example processing server175is programmed to compute and/or tabulate statistics regarding content exposure and/or consumption. For example, the example processing server175ofFIG. 5may be configured to only consider content that is and/or was broadcast and/or was otherwise available during the previous fourteen (14) days. However, if mounting of stored media is desired (e.g., DVDs), then the database515should not be limited based on time.

To identify content presented and/or consumed at and/or via a media device105, the example processing server175ofFIG. 5includes a content matcher525. The example content matcher525ofFIG. 5utilizes the hints170A and audience measurement data170B received from a content exposure meter150to determine which content was presented and/or consumed at and/or via the example media device105to form content exposure data530for the media device105. In particular, the example content matcher525utilizes the provided hints170A to identify a subset of the codes and/or signatures stored in the audience measurement database515of the processing server175to compare with the audience measurement data170B collected from the example media device105. A match between the audience measurement data170B and a particular audio code and/or signature515indicates that the content corresponding to the particular audio code/signature stored in the processing server175is the content that was presented and/or consumed at and/or via the media device105.

Using the hints170A, the content matcher525can substantially reduce the number of audience measurement data from the database515that must be compared with the audience measurement data170B collected by the content exposure meter150. As a result, the content measurement data170B can be processed for a substantially larger number of content exposure meters150. An example process that may be carried out to implement the example content matcher525ofFIG. 5is discussed below in connection withFIG. 7.

In the example ofFIG. 5, content exposure data530is stored using any type(s) and/or number of data structure(s) (e.g., matrices, array(s), variable(s), register(s), data table(s), etc.) and is stored in, for example, any type(s) of memory(-ies) and/or machine accessible file(s)535. The content exposure data530may include content exposure data for a plurality of other metered media devices105associated with a plurality of respondents to develop meaningful content exposure statistics. The combined content exposure data530may be statistically processed to determine, for example, the overall effectiveness, reach and/or audience demographics of presented and/or consumed content.

While an example processing server175has been illustrated inFIG. 5, the elements, modules, logic, memory and/or devices illustrated inFIG. 5may be combined, re-arranged, eliminated and/or implemented in any way. For example, the example closed caption matcher225, the example indexing engine205, and/or the example keyword database210ofFIG. 2could be implemented by and/or within the processing server175. In such examples, the content exposure meter150provides the closed caption information222and the audience measurement data170B to the processing server175. Based on the received closed caption information222, the processing server175generates the hints information170A at the processing server175. In some examples, the processing server175receives closed caption information222from some content exposure meters150and receives hints information170A from other content exposure meters150. Further, the example audio code engine505, the example audio signature engine510, the memory520, the example content matcher525, the example memory535and/or, more generally, the example processing server175may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. For example, the example audio code engine505, the example audio signature engine510, the memory520, the example content matcher525, the example memory535may be implemented via machine accessible instructions executed by any type of processor175such as, for example, a processor from the Intel®, Sun®, or AMD® families of processors and/or microcontrollers. Moreover, a content exposure meter may include additional elements, modules, logic, memory and/or devices and/or may include more than one of any of the illustrated elements, modules and/or devices such as, for example, a video code engine or a video signature engine.

FIGS. 6 and 7are flowcharts representative of example processes that may be executed to implement the example content exposure meter150and the example processing server175ofFIG. 1, respectively and/or, more generally, to meter content exposure using closed caption information. The example processes ofFIGS. 6and/or7may be executed by a processor, a controller and/or any other suitable processing device. For example, part or all of the flow diagrams ofFIGS. 6and/or7may be embodied in coded instructions stored on a tangible medium such as a flash memory, or RAM associated with a processor (e.g., the example central processing unit805discussed below in connection withFIG. 8). Alternatively, some or all of the example processes ofFIGS. 6and/or7may be implemented using an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable logic device (FPLD), discrete logic, hardware, firmware, etc. Also, some or all of the example processes ofFIGS. 6and/or7may be implemented manually or as combinations of any of the foregoing techniques, for example, a combination of firmware and/or software and hardware. Further, although the example processes ofFIGS. 6 and 7are described with reference to the flowcharts ofFIGS. 6 and 7, persons of ordinary skill in the art will readily appreciate that many other methods of implementing the example content exposure meter150and/or the example processing server175ofFIG. 1, respectively, and/or, more generally, to meter content exposure using closed caption information and program guide data may be employed. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, sub-divided, or combined. Additionally, persons of ordinary skill in the art will appreciate that the example processes ofFIGS. 6and/or7may be carried out sequentially and/or carried out in parallel by, for example, separate processing threads, processors, devices, circuits, etc.

The example process ofFIG. 6begins with a closed caption matcher (e.g., the example closed caption matcher225ofFIG. 2) obtaining and/or receiving the portion of closed caption text (i.e., word and/or words) collected during the next time interval from a closed caption decoding engine220(block605). The closed caption matcher225then compares the closed caption text against indexed keywords in a keyword database (e.g., the keyword database210ofFIG. 2) (block610). If a match of at least one closed caption word with at least one indexed keyword is identified (block615), the content corresponding to the matching keyword is identified (e.g., the example content320ofFIG. 3) and the histogram information for the identified content is updated (block620). If a match is not identified (block615), the updating of the histogram is skipped.

The closed caption matcher225then determines if the end of the time interval currently being processed (e.g., the example interval315ofFIG. 3) has arrived (i.e., if a boundary of the time interval315(i.e., an interval boundary) has occurred) (block630). If an interval boundary has not occurred (block630), control returns to block605to get the next closed caption text (block605). If an interval boundary has occurred (block630), the closed caption matcher225obtains and/or receives any audio codes and/or signatures collected from the content presented and/or consumed during the just ended time interval (block635) and obtains and/or receives the audio signatures computed for the content presented and/or consumed during the just ended time interval (block640). The closed caption matcher225then creates and/or adds a hints and audience measurement data entry (e.g., an entry405ofFIG. 4) into the table and/or sends the hints and audience measurement data to a processing server175.

The example process ofFIG. 7begins with a content matcher (e.g., the example content matcher525ofFIG. 5) reading the hints170A and audience measurement data170B for a time interval315(e.g., the example entry405ofFIG. 4) (block705). The content matcher525identifies the most probable content, content stream and/or broadcast time (block710) and determines if audio codes for the most probable content, content stream and/or broadcast time are available (block715). Additionally or alternatively, the content matcher525may at block710utilize a content timestamp (e.g., the example timestamp412ofFIG. 4) when selecting the most probable content, content stream and/or broadcast time. For example, the content matcher525may first select a content candidate that is associated with the presentation of live content (e.g., being presented while the content is being broadcast). If applicable audio codes are included in the audience measurement data170B (block715), the content matcher525compares the audio codes and/or signatures with the audio codes and/or signatures515corresponding to the content candidate (block720). If there is a match (block725), the content matcher525credits, tallies and/or tabulates a presentation of the content candidate (i.e., identifies the content candidate as the content that was presented and/or consumed) together with the timestamp (e.g., the example timestamp412ofFIG. 4) in the content exposure data530(block730). The timestamp indicates the time of content exposure.

If at block715applicable audio codes and/or signatures are not available, or if at block725the audio codes and/or signatures do not match, the content matcher525determines if audio signatures for the most probable content candidate are available (block735). If audio signatures are not available (block735), the content matcher525assumes the most probable candidate content, source and/or broadcast time was presented and/or consumed and records the exposure of the candidate content together with the timestamp (e.g., the example timestamp412ofFIG. 4) in the content exposure data530(block730). The timestamp indicates the time of content exposure.

If the audio signatures are available (block735), the content matcher525compares the audio signatures with the audio signatures515corresponding to the content candidate (block740). If the audio signatures match (block745), the content matcher525records the match (i.e., identifies the content candidate as the content that was presented and/or consumed) together with the timestamp (e.g., the example timestamp412ofFIG. 4) in the content exposure data530(block730). The timestamp indicates the time of content exposure.

If the audio signatures do not match (block745), the content matcher525determines if there are more hints (block750). If there are no more hints (block750), control proceeds to block755to determine if there are additional time intervals of hints to be processed. Additionally or alternatively, the content matcher525compares the audience measurement data collected from the media device105with all of the audience measurement data515stored in the database to determine if a match is identified.

If there are more hints (block750), the content matcher525identifies the next most probable content candidate (block760). Control then returns to block715.

At block755, if more hints170A and audience measurement data170B for more intervals is available (block755), control returns to block705to process the next time interval. If not more hints170A and audience measurement data170B is available (block755), control exits from the example machine accessible instructions ofFIG. 7.

FIG. 8is a schematic diagram of an example processor platform800that may be used and/or programmed to, for example, carry out the example processes ofFIGS. 6and/or7to implement the example content exposure meter150and the example processing server175ofFIG. 1, respectively and/or, more generally, to meter content exposure using closed caption information and program guide data. For example, the processor platform800can be implemented by one or more general purpose microprocessors, microcontrollers, etc.

The processor platform800of the example ofFIG. 8includes a general purpose programmable and/or specialized processor805. The processor805executes coded instructions810and/or812present in main memory of the processor805(e.g., within a random access memory (RAM)815and/or a read-only memory (ROM)820). The processor805may be any type of processing unit, such as a processor and/or microcontroller from any of the Intel®, Sun®, and/or AMD® families of processors and/or microcontrollers. The processor805may carry out, among other things, the example processes illustrated inFIGS. 6and/or7.

The processor805is in communication with the main memory (including the RAM815and a ROM820) via a bus825. The RAM815may be implemented by DRAM, SDRAM, and/or any other type of RAM device. The ROM820may be implemented by flash memory and/or any other desired type of memory device. Access to the memories815and820is typically controlled by a memory controller (not shown) in a conventional manner. The RAM815may be used, for example, to store the example keywords database210ofFIG. 2, and/or the example audience measurement database515and/or the example content exposure data530ofFIG. 5.

The processor platform800also includes a conventional interface circuit835. The interface circuit835may be implemented by any type of well-known interface standard, such as an external memory interface, serial port, general purpose input/output, etc.

One or more input devices835and one or more output devices840are connected to the interface circuit835. The input devices835may be used, for example, to receive audio data155, video data160, content guide data165, audio data185, etc. The output devices840may be used, for example, to send the audience measurement data170B and/or the hints170A from the content exposure meter150to the processing server175.