Media presentation device

文档序号:1430966 发布日期:2020-03-17 浏览:8次 中文

阅读说明:本技术 媒体呈现设备 (Media presentation device ) 是由 李载炯 杜威·浩·李 马库斯·克莱莫 于 2017-02-28 设计创作,主要内容包括:一种计算系统将各个参考指纹进行比较,所述参考指纹各自表示在不同的相应已知信道上广播的参考媒体流,并且所述计算系统确定多个所述参考指纹彼此匹配,从而限定了所述匹配的参考指纹的多匹配组。作为响应,所述计算系统标识可限定所述参考指纹之间的区别的指纹特征,并且所述计算系统基于所述标识的特征解决了所述多匹配,从而确定承载正在由所述媒体呈现设备渲染的所述媒体流的所述信道。并且所述服务器随后基于所述确定的信道来采取信道特定动作。(A computing system compares respective reference fingerprints, each representing a reference media stream broadcast on a different respective known channel, and determines that a plurality of the reference fingerprints match each other, thereby defining a multi-matching group of the matching reference fingerprints. In response, the computing system identifies fingerprint features that may define distinctions between the reference fingerprints, and the computing system resolves the multiple matches based on the identified features, thereby determining the channel that carries the media stream being rendered by the media presentation device. And the server then takes channel-specific actions based on the determined channel.)

1. A media presentation device comprising:

a media input interface through which video content to be presented by a media presentation device is received, wherein the video content comprises a video frame having a video frame area comprising a center, an edge, and a corner;

a media presentation interface for presenting the received video content;

a network communication interface;

a processing unit;

a non-transitory data storage device; and

program instructions stored in the non-transitory data storage and executable by the processing unit to perform operations comprising:

generate a first query fingerprint for the video content based on the analysis of the video content and output the generated first query fingerprint for transmission to a server over the network communication interface,

after outputting the first query fingerprint, receiving a request from the server for a second query fingerprint that is specifically focused on an identified video frame region of video frame regions of the video content, wherein the identified video frame region defines differences between a plurality of channels each having a reference fingerprint that matches the first query fingerprint,

outputting the requested second query fingerprint specifically focused on the identified video frame region of the video content for transmission to the server over the network communication interface, an

Cause the media presentation device to present supplemental channel-specific content associated with one of the plurality of channels in conjunction with the video content being presented by the media presentation device, the one channel identified from the plurality of channels based on determining that the second query fingerprint matches a reference fingerprint of only the one of the plurality of channels.

2. The media presentation device of claim 1, wherein the supplemental channel-specific content comprises at least one of a pop-up advertisement, a commercial, or a channel identification.

3. The media presentation device of claim 1, wherein the supplemental channel-specific content is a replacement for one or more portions of the video content.

4. The media presentation device of claim 1 wherein additionally the supplemental channel-specific content is based on profile data associated with the media presentation device.

5. The media presentation device of claim 4 wherein the profile data comprises a device-specific viewing analysis.

6. The media presentation device of claim 1, wherein the identified video frame region is at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

7. A method, comprising:

generating, by a media presentation device, a first query fingerprint of video content being rendered by the media presentation device based on an analysis of the video content being rendered by the media presentation device, wherein the video content comprises a video frame having a video frame area comprising a center, an edge, and a corner;

outputting, by the media presentation device, the generated first query fingerprint for transmission over a network to a server;

after outputting the first query fingerprint, receiving, by the media presentation device from the server, a request for a second query fingerprint that is specifically focused on an identified video frame region of video frame regions of the video content, wherein the identified video frame region defines differences between a plurality of channels each having a reference fingerprint that matches the first query fingerprint,

outputting the requested second query fingerprint specifically focused on the identified video frame region of the video content for transmission to the server over the network; and

presenting, by the media presentation device, supplemental channel-specific content associated with an identified one of the plurality of channels in conjunction with the video content being presented by the media presentation device, the one channel identified from the plurality of channels based on determining that the second query fingerprint matches a reference fingerprint of only the one of the plurality of channels.

8. The method of claim 7, wherein the supplemental channel-specific content comprises at least one of a pop-up advertisement, a commercial, or a channel identification.

9. The method of claim 7, wherein the supplemental channel-specific content is a replacement for one or more portions of the video content.

10. The method of claim 7, wherein additionally, the supplemental channel-specific content is based on profile data associated with the media presentation device.

Background

Typical media presentation devices are used to receive analog or digital media streams representing media content, such as video and/or audio content, and render and present the media content on a user interface, such as a display screen and/or audio speakers. Examples of such devices include, but are not limited to, televisions, computer monitors, projection systems, speakers, headphones, and the like.

In many cases, such media presentation devices may communicate with a receiver, such as a local set-top box or other similar device or a remote server, that has access to multiple discrete channels of media content and that may selectively communicate media content of a given such channel to the media presentation device for playout.

By way of example, a television may be communicatively linked with a cable set-top box having access to a set of cable channels, and the set-top box may be configured to receive user input selecting a particular channel and responsively tune to the selected channel and output media content of the selected channel to the television for presentation of the media content to the user. As another example, a speaker may be communicatively linked with a radio (radio) having access to a set of radio stations, and the radio may be configured to receive user input selecting a particular channel (station) and responsively tune to and output media content for the selected channel to the speaker for presentation of the media content to the user. And as yet another example, a media presentation device such as a display or speakers may be communicatively linked with a computer having access to numerous online streaming media channels, and the computer may be configured to receive user input selecting a particular channel and responsively initiate the receipt and output of selected media content and provide the media content to the display and/or speakers for presentation to the user.

Disclosure of Invention

When a media presentation device receives and renders media content, the media presentation device may not have an indication of which channel carries the media content. A receiver or other device that selectively tunes to the channel and receives and provides media content to the media presentation device may have such information, but the media presentation device that receives the media content from the other device may not have such information. For example, if a television is coupled to a cable set-top box and a user selects a particular cable channel on the set-top box, the set-top box may thus have the selected channel as an indication of the channel on which the set-top box subsequently receives media content output to the television. The television itself may only receive and render media content and may not have an indication of the selected channel.

However, for various reasons, it may be useful to determine which of the various channels is the channel carrying the content rendered by the media presentation device. Furthermore, it may be useful to do so without receiving a report from a channel selection device (e.g., a receiver or remote controller) of the channel to which the device is tuned, and possibly without any involvement of the channel selection device. For example, it may be useful for the media presentation device itself and/or a network server working in conjunction with the media presentation device to determine a channel based on an evaluation of the media content being rendered by the media presentation device (e.g., rendered, currently being rendered, or in a queue to be rendered). If the channel on which the media content arrived is known, the media presentation device, network server, and/or another entity may then perform one or more operations of keying to the channel, such as determining and recording the extent to which the media content of the channel is being played, selectively replacing a predetermined portion of the media content with alternate content (e.g., a replacement advertisement), or superimposing channel-specific content on the media content for presentation with the media content, among many other possibilities.

One way to determine the channel on which the media content arrives is to have the media presentation device (or possibly an accessory device) and/or a network server generate a digital fingerprint of the media content rendered by the media presentation device and then compare the fingerprint to reference fingerprint data established for media content known to be provided on a particular channel.

For example, a network server or other such entity may establish or otherwise have access to reference data that includes a reference fingerprint for each channel available to provide media content to a media presentation device (e.g., each channel within a subscription plan of a set top box used to provision media content to the media presentation device) and map each reference fingerprint to the channel on which the media content is provided. When a given media content is received and rendered by a media presentation device, the media presentation device may then generate a fingerprint of the media content and report the generated fingerprint to a network server for analysis via a network communication interface. The network server may then compare the reported fingerprint with the reference fingerprint data to find a match with the reference fingerprint, and thereby determine that the channel on which the media content arrived is the channel on which the reference data is mapped to the reference fingerprint. Upon thus determining the channel on which the media content arrived, the network server may then communicate an indication of the channel to the media presentation device, and the media presentation device may take channel-specific actions. Alternatively, the network server itself or another entity may take channel-specific actions based on the determined channel.

Unfortunately, however, a problem that may arise in the process is that the same media content may be provided on multiple different channels, whether simultaneously or at different times, and thus the fingerprints of the media content rendered by the media presentation device may not be correlated with the channel on which only the media content arrives. For example, a sporting event or political event may be broadcast simultaneously on a plurality of different channels, or a joint television or radio program may be broadcast simultaneously or at different times on a plurality of different such channels. In these or other scenarios, if a media presentation device is presenting such media content and generating and providing a fingerprint of the media content, the fingerprint may be mapped to multiple reference fingerprints, and thus the channel identification will be uncertain.

As a specific example of such a case, consider a scenario: wherein two different video content providers each broadcast the same sporting event on separate respective channels, and wherein an advertiser contracts with only one of the content providers to present a pop-up advertisement on the provider's event broadcast. In this scenario, when the media presentation device is receiving and presenting one of these broadcasts, if the media presentation device generates and provides the fingerprint of the broadcast to the web server, the web server may determine that the fingerprint matches the event broadcasts of the two content providers. And thus it will not be clear whether the media presentation device should present a pop-up advertisement.

Methods and systems are disclosed herein that facilitate disambiguating channel identifications in scenarios in which a fingerprint of media content matches a plurality of reference fingerprints that respectively correspond to a plurality of different channels. According to the present disclosure, a network server or other entity performing the analysis will detect a multiple match scenario by determining that a fingerprint of the media content in question matches two or more reference fingerprints, each corresponding to a different channel. In the face of the detected multiple matching scenarios, the entity will then disambiguate based on further refined fingerprint analysis to determine that the fingerprint of the media content being rendered by the media presentation device matches the reference fingerprint of only one channel, and thereby determine that the channel corresponding to one matching reference fingerprint is the channel reached by the media content being presented by the media presentation device, in order to facilitate channel-specific actions.

As a specific example of the process, the server may first make a relatively coarse fingerprint comparison with loose matching tolerances, etc., and thereby detect a multiple matching scenario. In response, the server may then identify fingerprint features that distinguish multiple matching group members from one another. For example, with respect to video content, the server may determine that the reference fingerprints of the multi-matching groups may differ from each other with respect to particular video frame regions, such as at the edges of the video frames represented by particular fingerprint features, and so on. And the server may then make a more accurate, finer fingerprint comparison, particularly with respect to the fingerprint features, and thereby determine that the fingerprint of the media content being rendered by the media presentation device matches the reference fingerprint.

Accordingly, in one aspect, a method is disclosed that involves taking an action based on a channel determined by disambiguation based on distinguishing reference fingerprint features. The method includes a computing system determining that a query fingerprint of media content being rendered by a media presentation device matches a plurality of reference fingerprints, the reference fingerprints each corresponding to a respective channel that is different from one another. Further, the method includes, in response to at least determining that the query fingerprint matches the plurality of reference fingerprints that each correspond to a different respective channel, performing disambiguation by: (i) identify fingerprint features that differ as between the plurality of reference fingerprints, and (ii) determine that the query fingerprint matches only one of the reference fingerprints with respect to the identified fingerprint features, thereby determining that the media presentation device is receiving the media content on the channel corresponding to the one reference fingerprint. And the method includes taking an action based on determining that the media presentation device is receiving the media content on the channel corresponding to the one reference fingerprint.

In addition, the disclosed methods may take other forms as well. For example, the method may include a computing system receiving, from a media presentation device, a first query fingerprint of video content being rendered by the media presentation device, and the computing system determining that the first query fingerprint matches a plurality of reference fingerprints that each correspond to a respective channel that is different from one another. And the method may then include, in response to at least determining that the first query fingerprint matches the plurality of reference fingerprints that each correspond to a different respective channel, the computing system performing disambiguation by: (i) identify a video frame region that defines differences between the channels corresponding to the plurality of reference fingerprints, (ii) request and receive a second query fingerprint from the media presentation device that is specifically focused on the identified video frame region, (iii) determine that the second query fingerprint matches a reference fingerprint of the video frame region of only one of the plurality of channels, thereby determining that the media presentation device is receiving the video content on the one channel. In turn, the method may then include taking an action based on the determination that the media presentation device is receiving the video content on the channel corresponding to the one reference fingerprint.

Further, a system is disclosed that includes a network communication interface, a processing unit, a non-transitory data storage, and program instructions stored in (e.g., on) the non-transitory data storage and executable by the processing unit to perform operations such as those discussed above.

These and other aspects, advantages, and alternatives will become apparent to one of ordinary skill in the art by reading the following detailed description, with appropriate reference to the accompanying drawings. Furthermore, it is to be understood that both the summary of the invention and the description provided below are intended to illustrate the invention by way of example only and not by way of limitation.

Drawings

FIG. 1 is a simplified block diagram of an exemplary system to which various disclosed principles may be applied.

FIG. 2 is a simplified block diagram of an exemplary network arrangement in which a media presentation device communicates with a network server to facilitate implementing various disclosed principles.

Fig. 3 is a flow chart depicting operations that may be implemented in accordance with the present disclosure.

Fig. 4 is another flow chart depicting operations that may be implemented in accordance with the present disclosure.

Fig. 5 is a simplified block diagram of an exemplary network server.

FIG. 6 is a simplified block diagram of an exemplary media presentation device.

Detailed Description

Referring to the drawings, FIG. 1 is a simplified block diagram of an exemplary system to which various disclosed principles may be applied. However, it should be understood that this and other arrangements and processes described herein may take various other forms. For example, elements and operations may be reordered, allocated, duplicated, combined, omitted, added, or otherwise modified. Further, it should be understood that functionality described herein as being performed by one or more entities may be implemented by and/or on behalf of such entities by hardware, firmware, and/or software, such as by one or more processing units executing program instructions or the like.

As shown in fig. 1, the exemplary system includes one or more media content sources 12 (e.g., broadcasters, web servers, etc.), one or more media content distributors 14 (e.g., multi-channel distributors such as cable television providers, satellite providers, over-the-air broadcast providers, web aggregators, etc.), one or more media content receivers 16 (e.g., cable receivers, satellite receivers, over-the-air broadcast receivers, computers or other streaming media receivers, etc.), and one or more clients or media presentation devices 18 (e.g., televisions or other display devices, speakers or other audio output devices, etc.).

In practice, for example, the media content source 12 may be a national broadcaster, such as ABC, NBC, CBS, FOX, HBO, and CNN, the media content distributor 14 may be a local affiliate station and/or other local content distributor in a specially Designated Market Area (DMA), and the receiver 16 and media rendering device 18 may then be located at a customer premises, such as a home or business. With this or other arrangements, the content source 12 can transmit media content to the content distributor 14 for distribution to the receivers 16 at the customer premises, and the content distributor can distribute the media content to the receivers 16 over discrete channels (e.g., particular frequencies). Each receiver may then respond to user input or one or more other triggers by tuning to the selected channel and outputting media content arriving on the selected channel to the media presentation device 18. And the media presentation device 18 may receive and render media content (e.g., display or otherwise present content).

In such an arrangement, when the media presentation device receives and renders the media content, the media presentation device may not have an indication of the channel to which the media content arrived, i.e., the channel to which the receiver is tuned. Instead, the media presentation device may be configured only to receive media content from the receiver as a media stream and render the received media content. However, in accordance with the present disclosure, the media presentation device may communicate with a network server and may work with the network server to facilitate identification of channels and thereby facilitate taking useful channel-specific actions.

Fig. 2 illustrates an exemplary network arrangement in which the media presentation device 18 communicates with a network server 20 via a network 22, such as the internet. In practice, the media presentation device 18 may be situated as a node on a Local Area Network (LAN) at a customer premises, where the media presentation device has an assigned Internet Protocol (IP) address on the LAN, and the LAN has an IP address on the Internet. In addition, the network server 20 is also accessible at an IP address on the internet. With this arrangement, the media presentation device can initiate and engage in IP communication with a network server via the internet to report fingerprints of media content being rendered by the media presentation device in order to facilitate channel identification and associated actions.

As described above, the network server 20 or another entity operating in accordance with the present disclosure may establish or have access to reference data 24 for media content carried or arranged to be carried on at least each of the various channels accessible to the media presentation device 18. The reference data, which may be stored in a relational database or other form, may include a respective reference fingerprint for each channel, possibly a stream of reference fingerprints for media content that was most recently carried by the channel (e.g., covering a most recent period of time on a sliding window basis). Alternatively or additionally, the reference data may include a respective reference fingerprint (e.g., a stream of reference fingerprints) that is available and/or arranged to carry each media content program (e.g., television broadcast, radio broadcast, streaming media file, etc.) on a particular channel. Thus, the reference data may map each reference fingerprint to a channel on which the associated media content (i.e., content uniquely identified by the reference fingerprint) is or may be carried.

In mapping the reference fingerprints to the channels, the reference data may characterize the channels by various attributes to help distinguish the channels from one another. For example, where a receiver or other such device provides a plurality of different channels selectable by channel number, the reference data may characterize the channels by their respective channel numbers. And as another example, where each channel carries content of a particular content source (e.g., content of one of particular broadcasters), the reference data may characterize the channel by the identity of its respective content source. Still further, where more than one content distributor (e.g., a multi-channel distributor) distributes content of a content source, the reference data may characterize the channel by the identity of its respective content distributor. And for a channel broadcast in a particular geographic location (such as a particular DMA), the reference data may characterize the channel by its broadcast location. In practice, the reference data may associate each reference fingerprint with one or more of these or other attributes.

A network server 20 or other entity operating in accordance with the present disclosure may establish some or all of the reference data by analyzing media content arriving on each of the various channels (e.g., media content arriving on each of the various channels at least to a receiver that may be used to service a media presentation device). To facilitate this, the server may include or be interconnected with one or more receivers 26 configured to receive media content from one or more media content distributors 14 on various channels, as shown, much in the same manner that the receivers would be configured to receive content at the customer premises. For example, a server may include or be interconnected with one or more cable set-top boxes, radios, computers or other media receivers, or may be configured to emulate one or more such receivers. The server may then be configured to receive and analyze the respective media content arriving at each channel, and generate a reference fingerprint for the media content of the channel for each channel using any media fingerprinting process now known or later developed.

In view of video content, and not by way of limitation, an exemplary digital fingerprinting process may be applied on a per video frame basis and may involve building representations of luminance and/or other video features. For example, for a given video frame, the server may programmatically divide the frame into grids, and the server may measure the luminance of the frame for each grid cell and generate a bit string, where each bit or series of bits represents the luminance of each grid cell, or represents a weighted difference between the luminances of certain defined pairs of grid cells, or the like. Further, the computing system may apply the process on a continuously changing basis to generate reference fingerprints over time as a fingerprint stream. For example, on a sliding window basis, the server may apply the process to each frame, to each key frame, periodically or on another defined basis, where the bit strings of each frame define a digital fingerprint and/or have a specified hash, combination or series of such bit strings, or other characterizing value that defines a digital fingerprint. Many other digital fingerprinting processes may also be used.

In practice, the server may be configured to receive simultaneously on a plurality of such channels (possibly all channels) and to analyze and generate respective reference fingerprints for the channels in parallel, or the server may be configured to hop from one channel to another (possibly repeatedly cycling through the channels) to analyze and generate respective reference fingerprints for each channel. Further, the server may continue to do so in real-time, maintaining for each channel a respective fingerprint of at least the most recent time window of the media content for reference. And the server may record the reference fingerprint for each channel in reference data associated with the characteristics of the channel (e.g., having those attributes as described above) and record timestamp information indicating the time at which the associated media content was received. Here, the server will know each channel (e.g., channel number) as the receiver will typically know the channel to which the receiver is tuned. Further, the server may have access to guide information or other such data (e.g., content source identification, content distributor identification, etc.) that specifies attributes of each such channel, such that the server may determine and record channel attributes for each reference fingerprint, respectively.

Alternatively or additionally, the server may receive such reference fingerprints from external media receiver devices 28, such as from media receiver devices located in various respective DMAs. This implementation is particularly useful for channels that are only provided in a particular DMA. In such implementations, each media receiver device 28, which may be interworking with an associated computer server, may be configured to receive and analyze the corresponding media content on each channel available to the media receiver device, to generate a reference fingerprint (e.g., a reference fingerprint stream) of the media content of the channel for each such channel using any fingerprinting process now known or later developed, and to provide the reference fingerprint to the server 20 (e.g., periodically or continuously) via the network connection. In addition, the media receiver device 28 may provide the server 20 with information characterizing the channel to which the media content respectively represented by each such reference fingerprint arrives, such as the channel number and other attributes described above. And the server may thus record each received fingerprint along with its associated channel attributes.

Still alternatively or additionally, the server may receive or possibly establish such reference fingerprints for media content programs that are available or scheduled to be provided on a particular channel. For example, the provider or distributor of various media content programs may again use any media fingerprinting process now known or later developed to generate reference fingerprints for the media content programs (e.g., a stream of reference fingerprints in the course of the respective media content program), and those reference fingerprints may be provided to the server. Alternatively, the server may receive a pre-copy of the media content program and may generate such a reference fingerprint itself. In addition, the server may receive or determine from the program guide information the channels on which the media content programs are available or scheduled to be provided, and possibly the date and time the media content was scheduled to be provided. The server may then record the reference fingerprint for each media content program in reference data associated with the channels available or scheduled to be carried by the media content program, also associated with associated channel attributes, and possibly associated with the date and time at which the media content program was scheduled to be provided.

In view of this or other such reference data, when presenting the server with a query fingerprint of media content received on an unknown channel, the server may match the query fingerprint with one of the stored reference fingerprints using any fingerprinting process now known or later developed, and may thereby conclude that the media content in question has reached the channel on which the reference data is mapped to the matching reference fingerprint.

To facilitate such a comparison, the query fingerprint will preferably be generated using the same fingerprinting process used to generate each of the reference fingerprints, such that portions of the query fingerprint will correspond to portions of each reference fingerprint. For example, for video content, as described above, the query fingerprint and each reference fingerprint may be generated on a per-frame basis using the same grid and the same basis to represent luminance values and/or other features in the same manner.

To compare the query fingerprint to the reference fingerprint, the server may compare corresponding portions of the fingerprints to each other to determine whether the portions match exactly or within a defined tolerance. For example, for video content, the server may perform the analysis on an entire frame basis, such as by comparing a query fingerprint of a frame to a reference fingerprint of the frame by calculating a maximum deviation between fingerprints and determining whether the maximum deviation is within a predefined tolerance. Further, if the fingerprint is binary, this may be a boolean decision, and if the fingerprint is a more complex value, such as a decimal value or vector (e.g., a gray value for each video frame region), this may involve determining a distance between the values or vectors. Many other examples are possible.

The fingerprint comparison process may thus be performed with a desired level of tolerance. For example, the comparison may be coarse, with relatively high tolerances for differences between fingerprints, such as tolerances for a larger number of differences and/or tolerances for larger size differences. By way of example, when two 32-bit fingerprints are compared to each other, a rough comparison may consider the fingerprints to substantially match each other even if two or another specified number of bits do not match. Or the comparison may be finer, with lower tolerance for such differences, and/or where the comparison focuses on particular fingerprint components that may represent particular portions of the underlying media. Furthermore, such comparison may be accomplished on a sliding window basis by comparing the time period of the query fingerprint to multiple time periods of the reference fingerprint (or vice versa) to account for time shifts.

Thus, if the server is faced with a query fingerprint of media content being rendered by the media presentation device 18, the server may compare the fingerprint to a reference fingerprint in the reference data to determine whether the query fingerprint matches the reference fingerprint. And if the server thus finds a matching reference fingerprint, the server can identify the channel to which the reference data maps with the matching reference fingerprint, and can infer that this is the channel that the media presentation device is receiving the media content (i.e., that this is the channel that carries the media content being rendered by the media presentation device). In turn, the server may responsively take channel-specific actions based on the identified channel, or cause or enable one or more other entities to take channel-specific actions based on the identified channel.

To facilitate this, the media presentation device 18 or another entity may be configured to generate a fingerprint of the media content being rendered by the media presentation device and transmit the fingerprint to the server 20 for analysis.

For example, as shown in fig. 2, the media presentation device may include a fingerprint generator 30 that may be configured to generate a digital fingerprint of media content being rendered by the media presentation device. Such a fingerprint generator may be configured to generate a fingerprint of the media content when the media presentation device is receiving the media content on a channel from the receiver 16 and/or when the media presentation device is processing the media content for presentation. Thus, the fingerprint generator may receive as input from the receiver a copy of the media content that arrives at and/or is being processed by the media presentation device for presentation, and generate a fingerprint of the media content using the same fingerprinting process used to generate the reference fingerprint.

In practice, the fingerprint generator may be configured to generate such fingerprints as a stream of fingerprints on a continuously varying basis, such as on a per-frame basis (e.g., on a per-key-frame basis), or on other basis. And the media presentation device may be configured to transmit the fingerprint to the server 20 via the network 22 for analysis. By way of example, the media presentation device may be configured to periodically or from time to time transmit to the server a fingerprint representing the most recent frame, series of frames, or other segment or portion of the media content being rendered by the media presentation device. In particular, the media presentation device may generate a message carrying the newly generated fingerprint along with one or more timestamps and/or other such data and an identifier of the media presentation device, and may transmit the message to the IP address of the server. And the server may thus receive the fingerprint for analysis.

Alternatively, the media presentation device may transmit to the server, and the server may thus receive various data regarding the media content being rendered by the media presentation device, again on a constantly changing basis, or on other bases, to enable the server itself or another entity to generate a fingerprint of the media content being rendered by the media presentation device. For example, the media presentation device may transmit to the server a portion of the media content being rendered by the media presentation device, such as a single frame (e.g., a snapshot) or other segment of the media content. And the server may generate a fingerprint of the media content for analysis.

Through the above process, the server may thus compare the fingerprint of the media content being rendered by the media presentation device with the reference fingerprint in the reference data. And as described above, if the server thus finds a matching reference fingerprint, the server may determine a channel to which the reference data is mapped with the matching reference fingerprint, and may infer that the determined channel is a channel carrying media content being rendered by the media presentation device.

In response to determining the channel in question thereby, the server may then take or cause one or more channel-specific actions to be taken based on the determination of the channel. In particular, the server itself may take an action based on the channel determination, or the server may signal another entity, possibly a media rendering device, to cause the other entity to take an action based on the channel determination.

For example, the server may record the fact that the media presentation device is presenting the content of the particular channel as part of a channel rating or analysis system to measure the extent to which the particular channel is being presented by the media presentation device. For example, the media presentation device may regularly (e.g., periodically) report to the server a fingerprint of the media content being rendered by the media presentation device, and the server may implement processes such as those discussed herein to determine the channel being rendered. Each time the server thus determines that a channel is being rendered, the server may add a count or other statistical data of the channel being rendered as data to indicate the extent to which the channel is being presented. Further, these counts or other statistics may be in terms of the media presentation device (as a device-specific viewing analysis), indicating the extent to which the media presentation device presents the channel in question.

As another example, the server may responsively cause the media presentation device to present supplemental content, such as pop-ups, commercials, or channel identifications, among other possibilities, as described above, possibly as a replacement for one or more portions of the media content. For example, if the channel in question is known, the server may generate or select (e.g., from a server data store) particular supplemental media content associated specifically with the determined channel (and possibly further based on profile data (e.g., device-specific viewing analysis) associated with a particular media presentation device) and may transmit the supplemental media content to the media presentation device for presentation by the media presentation device in conjunction with the media content that the media presentation device is receiving from the receiver. The media presentation device may thus receive supplemental media content from the server and present it in conjunction with the media content that the media presentation device is receiving from the receiver.

In practice, the process may involve the server receiving in real-time from the media presentation device a fingerprint of the media content being rendered by the media presentation device, and the server determining that the received fingerprint matches a reference fingerprint of the media content that the server is simultaneously receiving (or has been scheduled to be) on a known channel.

However, in some cases, there may be a time difference between the time the media presentation device renders the media content and the timestamp and transmits the fingerprint to the server and the time the server receives the media content on a known channel and otherwise has a timestamped reference fingerprint. As described above, the server may take into account the time difference by comparing the received fingerprints over a sliding window of reference fingerprints, and vice versa.

Further, the server may take the time difference into account when taking action in response to a determined match between the received fingerprint and the reference fingerprint. For example, if the media presentation device receives the media content sufficiently earlier (e.g., more than a few seconds earlier) than the timestamp of the server for the content, the server may still identify a fingerprint match and may record the analysis data. But in response to detecting the time difference, the server may forego having the media presentation device present the associated supplemental content to help avoid instances where the media presentation device presents the supplemental content too late (e.g., asynchronously) from the perspective of the user. On the other hand, if the server detects a fingerprint match for a sufficient period of time and/or determines that the matched content will continue, the server may cause the media presentation device to present the supplemental content even in the face of such a time difference.

In any case, through these or other such processes, the network server or other entity can determine the channel on which the media presentation device is receiving the media content in question. And once the entity determines the channel, the entity may then take action based on the channel determination. Alternatively, the entity may signal another entity, possibly back to the media presentation device, to cause the other entity to take an action based on the channel determination. Other examples are possible.

In accordance with the discussion above, the server 20 or other entity having access to reference data as described above may be configured to identify a multi-match scene, possibly by detecting various reference fingerprints in the reference data that match each other and match fingerprints of media content being rendered by the media presentation device.

For example, in one implementation, the server may periodically analyze the reference data in searching for multiple matching scenarios, comparing pairs of reference fingerprints in the reference data using any now known or later developed media fingerprint comparison process to attempt to find reference fingerprints that match each other. Upon finding each such match of at least two reference fingerprints, the server may then mark the reference fingerprints as a multi-matching group. If a fingerprint of the media content being rendered by the media presentation device matches any reference fingerprint in the multi-matched set of tokens, such tokens may indicate that a potential ambiguity will exist. The server may mark the reference fingerprints as multi-matching groups in various ways. For example, the server may cross-reference the reference fingerprints of the multi-matching groups in the reference data to indicate that they are members of the multi-matching groups. Alternatively, the server may store a single copy of the reference fingerprint and associate the copy with the respective channel on which the media content represented by the reference fingerprint is carried.

With this implementation, when the server receives a fingerprint of media content being rendered by the media presentation device from the media presentation device and the server determines that the received fingerprint matches a reference fingerprint, the server can then easily determine from the reference data whether a multiple match condition exists. If the matching reference fingerprint is not marked as a member of a multi-match group, the server may infer that a single-match condition exists (rather than a multi-match condition), in which case, as described above, the server may then readily determine from the reference data the channel associated with the matching reference fingerprint, and may infer that the channel is the channel carrying the media content being rendered by the media presentation device. However, if the matching reference fingerprint is marked as a member of a multi-matching group, the server may infer that a multi-matching case exists (rather than a single-matching case), in which case the server may need to perform a disambiguation procedure to facilitate identification of the channel in question from those associated with the reference fingerprints of the multi-matching group.

Alternatively, in another implementation, the server may identify the multi-matching groups when the server receives the fingerprint from the media presentation device. For example, when the server receives a fingerprint from a media presentation device (e.g., at a server), the server may compare the received fingerprint to all of the reference fingerprints in the reference data. If the server thus detects that the received fingerprint matches only one of the reference fingerprints, the server may infer that a single match condition exists (rather than a multiple match condition), in which case the server may then readily determine from the reference data the channel associated with the matching reference fingerprint, and may infer that the channel is the channel carrying the media content being rendered by the media rendering device. However, if the server detects that the received fingerprint matches two or more reference fingerprints, the server may conclude that a multiple match condition exists (rather than a single match condition), in which case the server may need to perform a disambiguation process to facilitate identification of the channel in question from those associated with the reference fingerprints of the multiple match group.

According to the above discussion, a process of detecting a multiple match condition involving two or more reference fingerprints may be performed even if the two reference fingerprints represent the same media content carried on two different channels at time delays relative to each other, i.e., the presentation of the media content on one of the channels is time-shifted relative to the presentation of the same media content on the other channel. The fingerprint matching process may take into account such time shifts and if fingerprints otherwise match each other, a match may still be found, such as by comparing one fingerprint to another over a sliding window. For example, the process of finding matching reference fingerprints within the reference data may involve searching for reference fingerprints that match each other, and presenting and/or scheduling at respective times within a threshold time interval of each other.

As described above, when a server or other entity performing the analysis detects that a fingerprint of media content being rendered by a media presentation device matches multiple reference fingerprints corresponding to multiple channels, the entity may apply a disambiguation process to help determine which of the channels associated with the multi-matching group is the actual channel carrying the media content being rendered by the media presentation device.

According to the present disclosure, the disambiguation process will be based on a further analysis of at least one fingerprint feature that may distinguish multiple matching group members from each other and may thus allow matching the query fingerprint with only one reference fingerprint. Thus, the fingerprint comparison that first produces a multiple-match scenario may be a relatively coarse comparison, such as having a relatively high match tolerance, and the disambiguation process may involve applying a finer fingerprint comparison with respect to at least one potentially distinct fingerprint feature in order to determine that the query fingerprint matches only one reference fingerprint in the multiple-match group.

By way of example, after finding a query fingerprint that matches two or more reference fingerprints through a coarse fingerprint comparison process, the server may then make a finer comparison of the reference fingerprints in the multi-matching group to find fingerprint features that differ between the reference fingerprints in the multi-matching group. The server may make such a finer comparison by applying a tighter (lower tolerance) comparison between the reference fingerprints in order to identify fingerprint components that differ, for example, between the reference fingerprints. Thus, for example, the server may determine that the reference fingerprints in the multi-matching group differ from each other with respect to a particular group bit and/or one or more other components or attributes.

Upon identifying the fingerprint features that differ between reference fingerprints in the multi-matching group, the server may then make a similar refined comparison of the query fingerprint and the reference fingerprint with respect to the determined features. And by said further comparison the server may determine that the query fingerprint matches only one reference fingerprint of the multi-matching group, thereby determining that the channel to which the reference data is mapped to said one matching reference fingerprint is the channel carrying the media content being rendered by the media presentation device.

In practice, the process may function in scenarios where channels represented by reference fingerprints in a multi-match group present channel-specific media content along with their common underlying media content.

For example, considering television channels that present mutually identical program content, each channel may further present a channel-specific icon (e.g., channel number or logo) in the lower corner of each video frame or certain video frames. The fingerprints of the media content of these channels may therefore typically match each other, but may differ with respect to fingerprint features representing the lower corners of those video frames, by applying a grid-based fingerprinting process or the like. By making a fine comparison of the reference fingerprints, the server can identify such distinctive features. And the server may then make a refined comparison of the query fingerprint with each of the multi-matching set of reference fingerprints with respect to said features and thereby determine that the query fingerprint matches only one of the reference fingerprints.

And as another example, considering two television channels that present the same program content as each other, but one in High Definition (HD) and the other in Standard Definition (SD), the HD and SD versions of the video content may match each other more at the center of each frame and less at the edges of each frame. Thus, by applying a grid-based fingerprinting process or the like, the fingerprints of the media content of the channels may generally match each other, but may differ with respect to fingerprint features representing the edges of each video frame. By making a fine comparison of the reference fingerprints, the server can identify such distinctive features. And similarly, the server may then make a refined comparison of the query fingerprint with each of the multi-matching set of reference fingerprints with respect to the features, and thereby determine that the query fingerprint matches only one of the reference fingerprints.

In the disambiguation process, the server may identify discriminative fingerprint features by making a refined comparison of the reference fingerprints in the multi-matching group as described above. Alternatively, however, the server may identify the distinguishing fingerprint features based on known properties of the channels represented by the reference fingerprints in the multi-matched set. For example, the reference data or other channel data may indicate one or more channel distinguishing characteristics for each of the various channels, such as a channel identification to be present in a particular portion of each frame or a particular frame, or such as an HD or SD property of the channel, respectively. By taking into account such data for the reference fingerprints in the multi-matching group, the server may thus determine that the channels represented by the multi-matching group reference fingerprints may differ from each other with respect to a particular feature corresponding to a particular fingerprint feature, and the server may then focus its comparison specifically on said fingerprint feature.

In practice, for video content in question in the process may be fingerprint features representing particular video frame regions such as the lower corners of one or more video frames and/or the edges of one or more video frames. Thus, the server may determine the video frame regions that will likely distinguish between reference fingerprints in the multi-matching group, and the server may then focus its analysis specifically on one or more fingerprint features representing the video frame regions.

Further, once the server identifies the video frame region in question, the server may obtain a fine query fingerprint and a fine reference fingerprint for that particular video frame region. For example, the server may participate in signaling with the media presentation device to cause the media presentation device to generate and provide to the server a fine query fingerprint for a particular video frame region of video content being rendered by the media presentation device. And the server may similarly generate or request and receive from a media receiver device or other source a fine reference fingerprint for a particular video frame region of the video content for each channel associated with the multi-match group. The server may then compare the query fingerprint for the video frame region to the multi-matching set of reference fingerprints for the video frame region and thereby determine that the query fingerprint matches only one of the reference fingerprints.

FIG. 3 is a flow chart that next depicts a method that can be implemented in accordance with the discussion above. One or more operations in the method depicted by fig. 3 may be performed by one or more entities, including but not limited to a web server, a media presentation device, and/or one or more entities acting on behalf of or operating in conjunction with these or other entities. Any such entity may be embodied as a computing system, such as a programmed processing unit or the like, configured to perform one or more method operations. Further, a non-transitory data storage device (e.g., a magnetic disk storage device, a flash memory storage device, or other computer readable medium) may have stored thereon instructions executable by the processing unit to perform various depicted operations.

As shown in fig. 3, at block 34, the method involves the computing system determining that a query fingerprint of media content (e.g., video content and/or audio content) being rendered by a media presentation device matches a plurality of reference fingerprints that each correspond to a respective channel that is different from one another. At block 36, the method then involves, in response to at least determining that the query fingerprint matches the plurality of reference fingerprints that each correspond to a different respective channel, performing disambiguation by: (i) identify fingerprint features that differ as between the plurality of reference fingerprints, and (ii) determine that the query fingerprint matches only one of the reference fingerprints with respect to the identified fingerprint features, the disambiguation thereby determining that the media presentation device is receiving media content on a channel corresponding to the one reference fingerprint.

And at block 38, the method involves taking action based on having determined that the media presentation device is receiving media content on a channel corresponding to one of the reference fingerprints. For example, as described above, the server or another entity may cause the media presentation device to present supplemental channel-specific content in conjunction with the media content being rendered by the media presentation device, and/or the server or another entity may record the presentation of a single channel for use in the channel rating system.

As discussed further above, where the computing system is a server or other entity other than a media presentation device, the media presentation device can generate a query fingerprint for media content being rendered by the media presentation device, and the computing system can receive the query fingerprint from the media presentation device.

Further, in an exemplary implementation, the plurality of reference fingerprints may be selected from a plurality of reference fingerprints in the reference data, in which case determining that the query fingerprint of the media content being rendered by the media presentation device matches the plurality of reference fingerprints may involve: (i) compare the query fingerprint to a plurality of reference fingerprints in the reference data, and (ii) determine that the query fingerprint matches the plurality of reference fingerprints based on the comparison.

Further, as described above, the act of identifying a fingerprint feature as differing between a plurality of reference fingerprints may involve comparing the plurality of reference fingerprints to one another and determining, based on the comparison, that the plurality of reference fingerprints differ from one another with respect to the fingerprint feature.

Alternatively or additionally, the computing system may include or have access to channel data that indicates, for channels corresponding to the plurality of reference fingerprints, areas of channel-specific media content (e.g., video frame areas (e.g., areas at the edges of video frames or areas presenting channel identifications) or other areas of other types of media content). And in such a case, the act of identifying fingerprint features as differing between the plurality of reference fingerprints may involve referencing data to determine regions of the channel-specific media content, and identifying fingerprint features corresponding to the determined regions of the media content as fingerprint features differing as between the plurality of reference fingerprints.

Still further, as described above, the act of determining that the query fingerprint matches only one of the reference fingerprints with respect to the identified fingerprint features may involve comparing at least the identified fingerprint features of the query fingerprint to the identified fingerprint features of each of the reference fingerprints, and determining that the query fingerprint matches only one of the reference fingerprints based on the comparison.

Fig. 4 is another flow diagram next depicting a method that may be implemented in accordance with the discussion above, which may similarly be implemented by one or more entities and/or embodied on a non-transitory data storage device as described above.

As shown in FIG. 4, at block 40, the method involves the computing system receiving, from a media presentation device, a first query fingerprint of video content being rendered by the media presentation device. At block 42, the method then involves the computing system determining that the first query fingerprint matches a plurality of reference fingerprints corresponding to the plurality of channels.

At block 44, the method then involves, in response to determining at least that the first query fingerprint matches a plurality of reference fingerprints corresponding to a plurality of channels, the computing system performing disambiguation by: (i) identify a video frame region that defines differences between channels corresponding to the plurality of first reference fingerprints, (ii) request and receive a second query fingerprint from the media presentation device that is specifically focused on the identified video frame region, and (iii) determine that the second query fingerprint matches a reference fingerprint of a video frame region of only one channel of the plurality of channels, the disambiguation determining that the media presentation device is receiving video content on one channel. And at block 46, the method involves taking an action based on having determined that the media presentation device is receiving video content on a channel.

As discussed above, the method may therefore further comprise, for each of the plurality of channels, establishing a respective reference fingerprint for a region of the video frame to facilitate comparison with the second query fingerprint. Thus, determining that the second query fingerprint matches a reference fingerprint of a video frame region of only one of the plurality of channels may involve comparing the second query fingerprint to the established respective reference fingerprints of the video frame regions and determining that the second query fingerprint matches the established respective reference fingerprints of the video frame regions of only one of the plurality of channels.

Furthermore, various features described above can be implemented in the context of the described methods, and vice versa.

Fig. 5 is a simplified block diagram of an exemplary system operable next in accordance with the present disclosure. The system may represent a network server and/or one or more other entities (possibly including media presentation devices) as described above. As shown in fig. 5, the exemplary system includes a network communication interface 50, a processing unit 52, a non-transitory data storage device 54, any or all of which may be integrated together or communicatively linked together as shown by a system bus, network, or other connection mechanism 56.

Network communication interface 50 may include one or more physical network connection mechanisms to facilitate communications over a network, such as network 22 described above, and/or for direct or network communications with one or more other local or remote entities. Thus, the network communication interface may include a wireless or wired ethernet interface or other type of network interface for IP communications and/or other types of network communications.

Processing unit 52 may then include one or more general-purpose processors (e.g., a microprocessor) and/or one or more special-purpose processors (e.g., an application-specific integrated circuit). And the non-transitory data storage 54 may include one or more volatile and/or non-volatile storage components, such as optical storage, magnetic storage, or flash storage.

As shown, the data storage device 54 then stores program instructions 58 that are executable by the processing unit 52 to perform various operations described herein. For example, the program instructions may be executable to receive, from a media presentation device via a network communication interface, a query fingerprint of media content being rendered by the media presentation device, and determine that the received fingerprint matches a plurality of reference fingerprints that each correspond to a different respective channel.

Further, the program instructions may be executable to perform disambiguation in response to determining that the received fingerprint matches the plurality of reference fingerprints that each correspond to a different respective channel, such as by: (i) identify fingerprint features that differ as between the plurality of reference fingerprints, and (ii) determine that the query fingerprint matches only one of the reference fingerprints with respect to the identified fingerprint features, thereby determining that the media presentation device is receiving the media content on the channel corresponding to the one reference fingerprint. And the program instructions may then be executable to take action as described above based on determining that the single channel carries media content being rendered by the media presentation device. Furthermore, other features described above may also be applied in the context of the system, and vice versa.

Finally, FIG. 6 is a simplified block diagram of an exemplary media presentation device operable in accordance with the present disclosure. The media presentation device may take various forms, in accordance with the discussion above. For example, it may be a television, computer monitor, or other device operative to receive and render video content, and/or it may be a speaker, a pair of headphones, or other device operative to receive and render audio content. Many other examples are possible.

As shown in fig. 6, the exemplary media presentation device includes a media input interface 60, a media presentation interface 62, a network communication interface 64, a processing unit 66, and a non-transitory data storage 68, any or all of which may be integrated together or communicatively linked together as shown by a system bus, network, or other connection mechanism 70.

The media input interface 60 may include a physical communication interface for receiving media content presented by the media presentation device. Thus, the media input interface may include one or more wired and/or wireless interfaces for establishing communication with and receiving media content in analog or digital form from a receiver or other device or system. For example, the media input interface may include one or more interfaces conforming to a variety of protocols such as DVI, HDMI, VGA, USB, bluetooth, WIFI, and the like.

The media presentation interface 62 may then include one or more components to facilitate presentation of the received media content. By way of example, the media presentation interface may include a user interface, such as a display screen and/or speakers, and one or more drivers or other components for processing received media content to facilitate presentation of the content on the user interface.

Network communication interface 64 may include a physical network connection mechanism to facilitate communications over a network, such as network 22 described above, and/or for direct or network communications with one or more other local or remote entities. Thus, the network communication interface may include a wireless or wired ethernet interface or other type of network interface for IP communications and/or other types of network communications.

Processing unit 66 may then include one or more general-purpose processors (e.g., a microprocessor) and/or one or more special-purpose processors (e.g., an application-specific integrated circuit). And the non-transitory data storage 68 may include one or more volatile and/or non-volatile storage components, such as optical storage, magnetic storage, or flash storage. Further, as shown, the data storage 68 stores program instructions 72 that are executable by the processing unit 66 to perform various operations described herein. For example, the program instructions may be executable to generate a fingerprint of media content being rendered by a media presentation device based on an analysis of the media content being received at the media input interface 60 and/or being processed at the media presentation interface 62 on a continuously varying basis, and to provide the generated fingerprint on a continuously varying basis to facilitate channel identification as described herein.

The present application discloses the following examples a 1-I60:

a1, a media presentation device, comprising:

a media input interface through which video content to be presented by a media presentation device is received, wherein the video content comprises a video frame having a video frame area comprising a center, an edge, and a corner;

a media presentation interface for presenting the received video content;

a network communication interface;

a processing unit;

a non-transitory data storage device; and

program instructions stored in the non-transitory data storage and executable by the processing unit to perform operations comprising:

generate a first query fingerprint for the video content based on the analysis of the video content and output the generated first query fingerprint for transmission to a server over the network communication interface,

after outputting the first query fingerprint, receiving a request from the server for a second query fingerprint that is specifically focused on an identified video frame region of video frame regions of the video content, wherein the identified video frame region defines differences between a plurality of channels each having a reference fingerprint that matches the first query fingerprint,

outputting the requested second query fingerprint specifically focused on the identified video frame region of the video content for transmission to the server over the network communication interface, an

Cause the media presentation device to present supplemental channel-specific content associated with one of the plurality of channels in conjunction with the video content being presented by the media presentation device, the one channel identified from the plurality of channels based on determining that the second query fingerprint matches a reference fingerprint of only the one of the plurality of channels.

A2, the media presentation device of A1, wherein the supplemental channel-specific content includes at least one of a pop-up advertisement, a commercial, or a channel identification.

A3, the media presentation device of A1, wherein the supplemental channel-specific content is a replacement for one or more portions of the video content.

A4, the media presentation device of A1, wherein additionally the supplemental channel-specific content is based on profile data associated with the media presentation device.

A5, the media presentation device of A4, wherein the profile data includes device-specific viewing analysis.

A6, the media presentation device of A1, wherein the identified video frame regions are at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

B7, a method comprising:

generating, by a media presentation device, a first query fingerprint of video content being rendered by the media presentation device based on an analysis of the video content being rendered by the media presentation device, wherein the video content comprises a video frame having a video frame area comprising a center, an edge, and a corner;

outputting, by the media presentation device, the generated first query fingerprint for transmission over a network to a server;

after outputting the first query fingerprint, receiving, by the media presentation device from the server, a request for a second query fingerprint that is specifically focused on an identified video frame region of video frame regions of the video content, wherein the identified video frame region defines differences between a plurality of channels each having a reference fingerprint that matches the first query fingerprint,

outputting the requested second query fingerprint specifically focused on the identified video frame region of the video content for transmission to the server over the network; and

presenting, by the media presentation device, supplemental channel-specific content associated with an identified one of the plurality of channels in conjunction with the video content being presented by the media presentation device, the one channel identified from the plurality of channels based on determining that the second query fingerprint matches a reference fingerprint of only the one of the plurality of channels.

B8, the method of B7, wherein the supplemental channel-specific content includes at least one of a pop-up advertisement, a commercial advertisement, or a channel identification.

B9, the method of B7, wherein the supplemental channel-specific content is a replacement for one or more portions of the video content.

B10, the method of claim 7, wherein additionally the supplemental channel-specific content is based on profile data associated with the media presentation device.

B11, the method of B10, wherein the profile data includes device-specific viewing analysis.

B12, the method according to B7, wherein the identified video frame region is at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

B13, the method of B7, wherein the identified video frame regions are indicated by channel data accessible to the server.

C14, a non-transitory computer readable medium having instructions stored thereon, the instructions executable by a processing unit to perform operations comprising:

generating a first query fingerprint of video content being rendered by a media presentation device based on an analysis of the video content being rendered by the media presentation device, wherein the video content comprises video frames having video frame regions comprising centers, edges, and corners, and outputting the generated first query fingerprint for transmission over a network to a server;

after outputting the first query fingerprint, receiving a request from the server for a second query fingerprint that is specifically focused on an identified video frame region of video frame regions of the video content, wherein the identified video frame region defines differences between a plurality of channels each having a reference fingerprint that matches the first query fingerprint;

outputting the requested second query fingerprint specifically focused on the identified video frame region of the video content for transmission to the server over the network; and

cause the media presentation device to present supplemental channel-specific content associated with one of the plurality of channels in conjunction with the video content being presented by the media presentation device, the one channel identified from the plurality of channels based on determining that the second query fingerprint matches a reference fingerprint of only the one of the plurality of channels.

C15, the non-transitory computer-readable medium of C14, wherein the supplemental channel-specific content includes at least one of a pop-up, a commercial, or a channel identification.

C16, the non-transitory computer-readable medium of C14, wherein the supplemental channel-specific content is a replacement for one or more portions of the video content.

C17, the non-transitory computer-readable medium of C14, wherein additionally the supplemental channel-specific content is based on profile data associated with the media presentation device.

C18, the non-transitory computer-readable medium of C14, wherein the profile data includes device-specific viewing analysis.

C19, the non-transitory computer-readable medium of C14, wherein the identified video frame region is at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

C20, the non-transitory computer-readable medium of C4, wherein the video frame region is indicated by channel data accessible to the server.

D21, a media presentation device, comprising:

a media input interface through which video content to be presented by a media presentation device is received, wherein the video content comprises a video frame having a video frame area comprising a center, an edge, and a corner;

a media presentation interface for presenting the received video content;

a network communication interface;

a processing unit;

a non-transitory data store; and

program instructions stored in the non-transitory data storage and executable by the processing unit to perform operations comprising:

generate a first query fingerprint for the video content based on the analysis of the video content and output the generated first query fingerprint for transmission to a server over the network communication interface,

receiving, from the server in response to the first query fingerprint, a request for a second query fingerprint that is specifically focused on an identified video frame region of video frame regions of the video content, wherein the server determines that the first query fingerprint matches a plurality of reference fingerprints corresponding to a plurality of channels and, in response to the determination, identifies the video frame region, the identification being based on the video frame region defining differences between channels corresponding to the plurality of reference fingerprints;

outputting the requested second query fingerprint specifically focused on the identified video frame region of the video content for transmission to the server over the network communication interface, an

Causing the media presentation device to present supplemental channel-specific content associated with one of the plurality of channels in conjunction with the video content being presented by the media presentation device, wherein the server identifies the one of the plurality of channels by determining that the second query fingerprint matches a reference fingerprint of a video frame region of only the one of the plurality of channels, and wherein the media presentation device receives the supplemental channel-specific content from the server for presentation by the media presentation device in conjunction with the video content being presented by the media presentation device.

D22, the media presentation device of D21, wherein the supplemental channel-specific content includes at least one of a pop-up, a commercial, or a channel identification.

D23, the media presentation device of D21, wherein the supplemental channel-specific content is a replacement for one or more portions of the video content.

D24, the media presentation device of D21, wherein additionally the supplemental channel-specific content is based on profile data associated with the media presentation device.

D25, the media presentation device of D24, wherein the profile data includes device-specific viewing analysis.

D26, the media presentation device of D21, wherein the identified video frame regions are at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

E27, a method comprising:

generating, by a media presentation device, a first query fingerprint of video content being presented by the media presentation device, wherein the video content comprises video frames having video frame regions comprising centers, edges, and corners, and wherein the generating the first query fingerprint is based on an analysis of the video content by the media presentation device,

outputting the generated first query fingerprint for transmission over a network to a server;

receiving, from the server in response to the first query fingerprint, a request for a second query fingerprint that is specifically focused on an identified video frame region of video frame regions of the video content, wherein the server determines that the first query fingerprint matches a plurality of reference fingerprints corresponding to a plurality of channels and, in response to the determination, identifies the video frame region, the identification being based on the video frame region defining differences between channels corresponding to the plurality of reference fingerprints;

generating, by the media presentation device and in response to the request, a second query fingerprint that is specifically focused on the identified video frame region of the video content and outputting the second query fingerprint for transmission to the service over the network;

receiving, by the media presentation device, supplemental channel-specific content associated with one of the plurality of channels from the server, wherein the one channel is identified by the server based on the second query fingerprint matching a reference fingerprint of a video frame region of only the one of the plurality of channels; and

presenting, by the media presentation device, the received supplemental channel-specific content in conjunction with the video content being presented by the media presentation device.

E28, the method of E27, wherein the supplemental channel-specific content includes at least one of a pop-up advertisement, a commercial advertisement, or a channel identification.

E29, the method according to E27, wherein the supplemental channel-specific content is a replacement for one or more parts in the video content.

E30, the method of E27, wherein additionally the supplemental channel-specific content is based on profile data associated with the media presentation device.

E31, the method according to E30, wherein the profile data includes device-specific viewing analysis.

E32, the method according to E27, wherein the identified video frame region is at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

E33, the method of E27, wherein the identified video frame regions are indicated by channel data accessible to the server.

F34, a method comprising:

receiving, by a computing system from a media presentation device, a first query fingerprint of video content being rendered by the media presentation device, wherein the video content comprises a video frame having a video frame area comprising a center, an edge, and a corner;

determining, by the computing system, that the first query fingerprint matches a plurality of reference fingerprints corresponding to a plurality of channels;

responsive to at least determining that the first query fingerprint matches the plurality of reference fingerprints corresponding to the plurality of channels, the computing system performs disambiguation by: (i) identify a video frame region of video frame regions of the video content that defines differences between the channels corresponding to the plurality of reference fingerprints, and (ii) request and receive a second query fingerprint from the media presentation device that is specifically focused on the identified video frame region, and (iii) determine that the second query fingerprint matches a reference fingerprint of the video frame region of only one channel of the plurality of channels, such that the disambiguation determines that the media presentation device is receiving the video content on the one channel; and

taking an action based on determining that the media presentation device is receiving video content on the one channel.

F35, the method according to F34, further comprising: establishing, for each of the plurality of channels, a respective reference fingerprint for the identified video frame region,

wherein determining that the second query fingerprint matches a reference fingerprint of the video frame region of only one of the plurality of channels comprises: determining that the second query fingerprint matches the established respective reference fingerprint of the identified video frame region of only one of the plurality of channels.

F36, the method of F34, wherein taking action based on the determination that the media presentation device is receiving the video content on the one channel comprises: causing the media presentation device to present supplemental channel-specific content in conjunction with the video content being rendered by the media presentation device.

F37, the method of F34, wherein the plurality of reference fingerprints are selected from a plurality of reference fingerprints in reference data, and wherein determining that the first query fingerprint matches the plurality of reference fingerprints includes:

comparing the first query fingerprint with a plurality of reference fingerprints in the reference data, and

determining that the first query fingerprint matches the plurality of reference fingerprints based on the comparison.

F38, the method of F34, wherein the computing system includes or has access rights to data that indicates, for the channels corresponding to the plurality of reference fingerprints, the video frame regions that define differences between the channels corresponding to the plurality of reference fingerprints, and wherein identifying the video frame regions comprises: the data is referenced to identify the video frame region.

F39, the method of F34, wherein the identified video frame regions include regions at video frame edges.

F40, the method of F34, wherein the identified video frame regions include a presentation channel identified video frame region.

G41, a media presentation device, comprising:

a media input interface through which video content to be presented by a media presentation device is received, wherein the video content comprises a video frame having a video frame area comprising a center, an edge, and a corner;

a media presentation interface for presenting the received video content; and

a network communication interface for communicating with a network,

wherein the media presentation device is configured to generate first query fingerprint data representing the video content based on the analysis of the video content and output the generated first query fingerprint for transmission to a server over the network communication interface,

wherein the media presentation device is configured to, after outputting the first query fingerprint data, receive a request from the server for second query fingerprint data that is specifically focused on an identified video frame region of video frame regions of the video content, wherein the identified video frame region defines differences between a plurality of channels each having a reference fingerprint matching the first query fingerprint,

wherein the media presentation device is configured to output the requested second query fingerprint data specifically focused on the identified video frame regions of the video content for transmission to the server over the network communication interface, and

wherein the media presentation device is configured to present supplemental channel-specific content associated with one of the plurality of channels in conjunction with the video content being presented by the media presentation device, the one channel identified from the plurality of channels based on determining that the second query fingerprint data matches a reference fingerprint of only the one of the plurality of channels.

G42, the media presentation device of G41, wherein the supplemental channel-specific content includes at least one of a pop-up advertisement, a commercial, or a channel identification.

G43, the media presentation device of G41, wherein the supplemental channel-specific content is a replacement for one or more portions of the video content.

G44, the media presentation device of G43, wherein the supplemental channel-specific content is a replacement advertisement.

G45, the media presentation device of G41, wherein additionally the supplemental channel-specific content is selected based on profile data associated with the media presentation device.

G46, the media presentation device of G44, wherein the profile data includes device-specific viewing analysis.

G47, the media presentation device of G41, wherein the identified video frame regions are at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

H48, a method comprising:

generating, by a media presentation device, first query fingerprint data representing video content being rendered by the media presentation device based on an analysis of the video content being rendered by the media presentation device, wherein the video content comprises video frames having video frame regions comprising centers, edges, and corners;

outputting, by the media presentation device, the generated first query fingerprint data for transmission over a network to a server;

after outputting the first query fingerprint, receiving, by the media presentation device from the server, a request for second query fingerprint data that is specifically focused on identified video frame regions of the video content, wherein the identified video frame regions define differences between a plurality of channels each having reference fingerprint data that matches the first query fingerprint data,

outputting the requested second query fingerprint data specifically focused on the identified video frame regions of the video content for transmission over the network to the server; and

taking, by the media presentation device, an action based on the identified one of the plurality of channels, the one channel identified from the plurality of channels based on determining that the second query fingerprint data matches the reference fingerprint data of only the one of the plurality of channels.

H49, the method according to H48, wherein the identified video frame region is at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

H50, the method according to H48, wherein the identified video frame areas are indicated by channel data accessible to the server.

H51, the method of H48, wherein taking action based on the identified channel includes: advertisement replacement is performed.

I52, a non-transitory computer-readable medium having instructions stored thereon, the instructions being executable by a processing unit to perform operations comprising:

based on an analysis of video content being rendered by a media presentation device, generating first query fingerprint data representing the video content being rendered by the media presentation device, wherein the video content comprises video frames having video frame regions comprising centers, edges, and corners, and outputting the generated first query fingerprint data for transmission over a network to a server;

after outputting the first query fingerprint data, receiving a request from the server for second query fingerprint data that is specifically focused on identified ones of the video frame regions of the video content, wherein the identified video frame regions define differences between a plurality of channels that each have reference fingerprint data that matches the first query fingerprint data;

outputting the requested second query fingerprint specifically focused on the identified video frame region of the video content for transmission over the network to the server, and

cause the media presentation device to take an action based on the identified one of the plurality of channels, the one channel identified from the plurality of channels based on determining that the second query fingerprint data matches reference fingerprint data of only the one of the plurality of channels.

I53, the non-transitory computer-readable medium of I52, wherein the identified video frame region is at least one of: (i) a region at an edge of a video frame, or (ii) a region of a video frame where a channel identification is present.

I54, the non-transitory computer-readable medium of I52, wherein the identified video frame regions are indicated by channel data accessible to the server.

I55, the non-transitory computer-readable medium of I52, wherein taking action based on the identified channel comprises: advertisement replacement is performed.

I56, the non-transitory computer-readable medium of I52, wherein taking action based on the identified channel comprises: causing the media presentation device to present supplemental channel-specific content associated with the identified channel in conjunction with the video content being presented by the media presentation device.

I57, the non-transitory computer-readable medium of I56, wherein the supplemental channel-specific content includes at least one of a pop-up, a commercial, or a channel identification.

I58, the non-transitory computer-readable medium of I56, wherein the supplemental channel-specific content is a replacement for one or more portions of the video content.

I59, the non-transitory computer-readable medium of I56, wherein additionally the supplemental channel-specific content is based on profile data associated with the media presentation device.

I60, the non-transitory computer-readable medium of I59, wherein the profile data includes device-specific viewing analysis.

Exemplary embodiments have been described above. However, those skilled in the art will appreciate that changes and modifications may be made to these embodiments without departing from the true scope and spirit of the present invention.

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种家庭智能终端的节目授权控制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类