Controlling the Stop of Dynamic Content Modification Using Watermarking

Fingerprint-based ACR identifies channels for dynamic content modification, and watermarking aborts modifications in response to events, addressing the challenge of channel determination and event-driven cessation in content presentation devices.

JP7720442B2Active Publication Date: 2025-08-07ROKU INC
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
JP2024062125
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-01-29
Filing Date
2024-04-08
Publication Date
2025-08-07
Estimated Expiration
2040-08-03

AI Technical Summary

Technical Problem

Content presentation devices lack the ability to determine which channel they are rendering without external reporting, hindering dynamic content modification processes such as targeted ad replacement, and there is a need to abort such modifications when events like emergency alerts or channel changes occur.

Method used

Implement fingerprint-based automatic content recognition (ACR) to identify channels, and use watermarking to abort dynamic content modification by encoding a stop watermark into the media stream when necessary.

Benefits of technology

Enables timely and accurate dynamic content modification, such as targeted ad replacement, while ensuring immediate cessation in response to events like emergency alerts or channel changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007720442000001
    Figure 0007720442000001
  • Figure 0007720442000002
    Figure 0007720442000002
  • Figure 0007720442000003
    Figure 0007720442000003
Patent Text Reader

Abstract

To provide use of watermarking as a basis control abandonment of dynamic content modification.SOLUTION: Upon detecting of the occurrence of a trigger event for causing a content presentation device to abandon dynamic content modification with respect to a media stream being delivered to the content presentation device, an entity encodes into the media stream an abandonment-watermark interpretable by the content presentation device to cause the content presentation device to abandon the dynamic content modification. The content presentation device then detects the abandonment-watermark in the media stream being received by the content presentation device and in response to the abandonment-watermark, abandons the dynamic content modification.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority to U.S. Provisional Patent Application No. 62 / 882,220, filed August 2, 2019, and U.S. Patent Application No. 15 / 929,212, filed January 29, 2020, each of which is incorporated by reference in its entirety. [Background technology]

[0002] A typical content presentation device operates to receive analog or digital media streams representing media content, such as video and / or audio content, and to 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, etc.

[0003] Often, such content presentation devices can communicate with a receiver, such as a local set-top box or other similar device or a remote server, that can access many individual channels of media content and selectively deliver the media content of a given such channel to the content presentation device for playback.

[0004] As one example, a television may be communicatively connected via a High-Definition Multimedia Interface (HDMI®) cable or other interface to a cable TV set-top box that has access to a series of cable or satellite TV channels, and the set-top box may be configured to receive user input selecting a particular channel, responsively tune to the selected channel, and output media content of the selected channel to the television to present the media content to the user. As another example, a speaker may be communicatively connected to a radio that has access to a series of radio stations, and the radio may be configured to receive user input selecting a particular channel, responsively tune to the selected channel, and output media content of the selected channel to the speaker to present the media content to the user. As yet another example, a content presentation device, such as a display or speaker, may be communicatively connected to a computer that has access to a myriad of online streaming media channels, and the computer may be configured to receive user input selecting a particular channel, responsively begin receiving and outputting the selected media content, and provide the media content to the display and / or speaker for presentation to the user. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] U.S. Patent No. 8,359,205 [Patent Document 2] U.S. Patent No. 8,369,972 [Patent Document 3] US Patent Application Publication No. 2010 / 0223062 [Patent Document 4] U.S. Patent No. 6,871,180 [Patent Document 5] U.S. Patent No. 5,764,763 [Patent Document 6] U.S. Patent No. 5,574,962 [Patent Document 7] U.S. Patent No. 5,581,800 [Patent Document 8] U.S. Patent No. 5,787,334 [Patent Document 9] U.S. Patent No. 5,450,490 Summary of the Invention

[0006] When a content presentation device receives and renders a media stream, it may not have an indication of which channel the media stream represents and therefore which channel's media content it is rendering. While a receiver, server, or other device that selectively tunes to a channel and provides that channel's media stream to a content presentation device may have such information, a content presentation device that receives media content from these other devices may not have such information. For example, if a television is coupled to a cable TV set-top box and a user selects a particular cable channel on the set-top box, the set-top box may have an indication of the selected channel as the channel through which the set-top box is currently receiving media content that is being output to the television. However, the television itself merely receives and renders the media content and may not have an indication of the selected channel.

[0007] However, for various reasons, it may be useful to determine which of various channels is being rendered by a content presentation device. Furthermore, it may be useful to make this determination without receiving a report from a channel selection device (e.g., a receiver or remote control device) about the channel to which that device is tuned, and possibly without any involvement of the channel selection device. For example, it may be useful for the content presentation device itself and / or a network server cooperating with the content presentation device to determine the channel based on an evaluation of the media content being rendered by the content presentation device.

[0008] Knowing the channel that a content presentation device is rendering, a network server and / or another entity can perform one or more channel-related actions, such as determining and recording the extent to which media content for that channel is being played, selectively replacing certain portions of the media content with alternative content (e.g., dynamically inserting replacement advertisements), and overlaying and presenting channel-specific content along with the media content, among other possibilities.

[0009] One method for determining the channel being rendered by a content presentation device is to apply fingerprint-based automatic content recognition (ACR). In fingerprint-based ACR, an entity can be provided with reference data that includes digital reference fingerprints representing each of various known channels of media content (e.g., each channel in a subscription plan for a set-top box that supplies media content to the content presentation device) and maps the reference fingerprints to the respective channels they represent. Additionally, the entity can be provided with a digital query fingerprint representing the media content currently being rendered by the content presentation device, and the entity can compare the query fingerprint with the reference fingerprint to find a match. If the query fingerprint is found to match the reference fingerprint mapped to a particular channel, the entity can determine that the channel being rendered by the content presentation device is that particular channel.

[0010] In a fingerprint-based ACR implementation, a content distribution system configured to distribute various known channels of media content to content presentation devices may periodically provide reference data to an ACR server (e.g., a fingerprint matching server) to enable the ACR server to perform fingerprint analysis. Specifically, the content distribution system may generate frame-by-frame or otherwise continuously time-stamped reference fingerprints for each of the various channels and periodically transmit the reference fingerprints and information mapping each reference fingerprint to the channel it represents to the ACR server.

[0011] Additionally, as the content presentation device receives and renders a media stream representing a given channel of media content, it may generate a time-stamped query fingerprint of the media content on a frame-by-frame or otherwise continuous basis, and periodically transmit the generated query fingerprint to the ACR server for analysis.

[0012] Thus, the ACR server can compare, either continuously or in response to one or more trigger events, the query fingerprint provided by the content presentation device with the reference fingerprints provided by the content distribution system, and if the ACR server finds with sufficient certainty that the query fingerprint matches a reference fingerprint that the reference data maps to a particular channel, it can reasonably conclude that that channel is the channel being rendered by the content presentation device.

[0013] In a typical implementation, determining the channel that a content presentation device is rendering can also help facilitate dynamic content modification, such as targeted ad replacement.

[0014] As an example, once an ACR server determines the channel that a content presentation device is rendering, the ACR server or another entity can use this determined channel identity as a basis for detecting when a content modification opportunity is about to occur on that channel, and in response, the ACR server or other entity can cause the content presentation device to perform the content modification at the time of the content modification opportunity.

[0015] This channel-specific example operation can take advantage of the time delay that is likely to exist between the time a content delivery system outputs a channel's media content for transmission to a content presentation device and the time the content presentation device renders the media content, which may be on the order of 5-10 seconds depending on the system configuration.

[0016] Given this delay, it is contemplated that the content distribution system, the ACR server, and / or one or more other entities may be able to detect the presence of particular content defining a content modification opportunity on a channel en route to a content presentation device well in advance of the content arriving at the content presentation device, and the server may then engage in relatively quick out-of-band (e.g., Internet Protocol (IP)-based) communication with the content presentation device during this delay period to prepare the content presentation device to perform content modifications on the detected content so that the content presentation device can perform the content modifications in a timely manner when the detected content eventually arrives at the content presentation device.

[0017] For content modification, the ACR server may be provided in advance with modifiable content segment data, including, for example, digital fingerprints representing each of the various modifiable content segments of the media content, and associated metadata for each modifiable content segment, such as the segment duration, the segment identifier, and the type of associated content modification (e.g., replacement or overlay). For example, a content management system may generate this information in advance and provide it to the ACR server.

[0018] Once the ACR server has identified the channel being rendered by the content presentation device, it can compare the current reference fingerprint representing this identified channel with the fingerprints representing various modifiable content segments. If the ACR server finds with sufficient certainty that the reference fingerprint for the identified channel matches the fingerprint representing a particular modifiable content segment, it can reasonably conclude that the media content en route to the content presentation device contains this modifiable content segment. This further enables the ACR server to determine frame timestamps or other timing information from the reference data for the identified channel that indicate when the modifiable content segment is present on the channel.

[0019] When the ACR server and / or another entity detects the presence of a modifiable content segment in the media content of a channel en route to a content presentation device in this manner, the ACR server and / or another entity may respond by providing out-of-band signaling to the content presentation device to enable and cause the content presentation device to perform content modifications on the modifiable content segment.

[0020] For example, the ACR server can provide the content presentation device with timing information regarding the next opportunity for content modification. The timing information regarding the next opportunity for content modification can include frame timestamp information or other timing information that informs the content presentation device when a modifiable content segment is present on a channel of media content that the content presentation device is receiving and rendering. For example, this information can include a start frame timestamp of the modifiable content segment on the channel, a duration of the modifiable content segment, and / or an end frame timestamp of the modifiable content segment on the channel. The content presentation device can use this timing information to appropriately plan to perform content modification at the time of the modifiable content segment.

[0021] Additionally, the ACR server may provide various other information about the modifiable content segment to the content presentation device to enable the content presentation device to perform the content modification at the time of the indicated modifiable content segment. For example, the ACR server may provide the content presentation device with metadata such as the segment duration, the segment identifier, and the associated type of content modification (e.g., replacement or overlay), as described above.

[0022] In response, the content presentation device can use this information to cooperate with the content management system and / or another entity to obtain details of the content modification to be performed on the next modifiable content segment. For example, the content presentation device can send a request to the content management system to provide an identifier for the modifiable content segment and other associated metadata about the modifiable content segment to the content management system. In response, the content management system can provide information to the content presentation device that facilitates the content modification.

[0023] The content management system may use a variety of information as a basis for determining the auxiliary content that the content presentation device should render in place of or as an overlay on top of the modifiable content segments. For example, the content management system may use user demographic, location, and / or other information about the content presentation device as a basis for determining appropriate auxiliary content.

[0024] Additionally, the content management system can ascertain the determined storage location of the auxiliary content and provide an indication of this storage location to the content presentation device. For example, the content management system can query the auxiliary content distribution system to determine a uniform resource locator (URL) or other address that enables the content presentation device to retrieve the auxiliary content from a network server or from the content presentation device's local data storage. The content management system can then provide this address and / or other information to the content presentation device that enables the content presentation device to retrieve the auxiliary content, or the content management system itself can provide the auxiliary content to the content presentation device.

[0025] The content presentation device can then use this information to obtain the auxiliary content and plan to present the auxiliary content (e.g., as a replacement or overlay) at the time of the modifiable content segment on the channel that the content presentation device is rendering.

[0026] The content modification process described above may be implemented for a variety of purposes, including, but not limited to, to facilitate dynamic ad insertion (DAI) in which a content presentation device replaces a generally applicable advertisement (e.g., a nationally broadcast advertisement) with a replacement advertisement that can be selected based on location, user demographics, and / or other information specific to the content presentation device.

[0027] DAI allows entities such as content broadcasters, distributors, or ad replacement services to enter into agreements with advertisers that facilitate replacing the playback of a particular advertisement deemed a "replaceable advertisement" with a different advertisement deemed a "replacement advertisement." As a result, a content management server or other entity can receive a copy of each of the various replaceable advertisements and provide a digital fingerprint representing the replaceable advertisement and associated data about the replaceable advertisement to an ACR server. For example, the content management server can generate a digital fingerprint for each replaceable advertisement, such as for each frame, and transmit the generated replaceable advertisement fingerprint and the metadata described above, such as the replaceable advertisement's unique identifier, the replaceable advertisement's duration, and an indication that the advertisement is to be replaced, to the ACR server. (Furthermore, the data provided to the ACR server can also include a traffic schedule indicating when a particular advertisement having a particular identifier and associated fingerprint is scheduled to be presented on each of one or more channels.)

[0028] Once the ACR server has identified a channel being rendered by a content presentation device, it can responsively compare a reference fingerprint representing the identified channel with fingerprints representing various replaceable advertisements. If the ACR server finds with sufficient certainty that the reference fingerprint for the identified channel matches a fingerprint representing a particular replaceable advertisement, it can reasonably conclude that the channel being rendered by the content presentation device includes a replaceable advertisement, and specifically that the media content en route to the content presentation device includes this replaceable advertisement.

[0029] In response to this conclusion, the ACR server and / or another entity can signal with the content presentation device to prepare the content presentation device to present a replacement advertisement in place of the replaceable advertisement. In accordance with the above description, for example, the ACR server or other entity can send one or more messages to the content presentation device via out-of-band signaling that provide the content presentation device with (i) a frame timestamp or other information indicating when the replaceable advertisement will occur on the channel the content presentation device is rendering, (ii) a unique identifier and duration of the replaceable advertisement, and (iii) a reference fingerprint representing frames of the channel at least up to and through the time the replaceable advertisement occurs.

[0030] Given the identifier and duration of the replaceable advertisement, the content presentation device can engage in out-of-band signaling with the content management system to identify the replaceable advertisement that the content presentation device should render in place of the replaceable advertisement. In this case, the content presentation device can provide user identification, demographic, location, and / or other information to the content management system that the content management system can use as a basis for selecting an appropriate replacement advertisement. Furthermore, the content management system can use the duration of the replaceable advertisement indicated by the content presentation device or mapped to, for example, the advertisement identifier of the replaceable advertisement, to select a replacement advertisement of the same duration as the replaceable advertisement.

[0031] The content management system, in cooperation with the auxiliary content distribution system, can then determine the URL or other address or location from which the content presentation device can obtain the replaceable advertisement and notify the content presentation device accordingly, so that the content presentation device can obtain the replacement advertisement and schedule it to be rendered in place of the replaceable advertisement on the channel that the content presentation device is rendering, as described above.

[0032] A technical challenge that may arise with these or other dynamic content modification processes is that at the time a decision is made for a content presentation device to apply content modification, an event may occur that warrants discontinuing the content modification. For example, if urgent content, such as breaking news or an emergency alert, occurs in a media stream being received by the content presentation device, it may be optimal for the content presentation device to avoid or suspend content modification of that media stream so that the urgent content can be presented. As another example, if the channel represented by the media stream being received by the content presentation device changes (e.g., if a user changes channels), it may similarly be optimal for the content presentation to avoid or suspend content modification of the media stream because the determined content modification opportunity may no longer be included in the media stream.

[0033] The problem then arises when such an event occurs: how to cause the content presentation device to abort any planned or ongoing dynamic content modification.

[0034] The present disclosure provides for the use of watermarking as a mechanism to facilitate the abortion of dynamic content modification. According to the present disclosure, when an event occurs that justifies a content presenter aborting planned or ongoing dynamic content modification, a special abort watermark is encoded into a media stream en route to the content presenter. The content presenter then detects the presence of the abort watermark in the media stream it is receiving and responds to the detected abort watermark by aborting the dynamic content modification.

[0035] As an example, if an emergency alert occurs in a media stream en route to a content presentation device, the entity responsible for providing that media stream may encode a stop watermark into the media stream.

[0036] For example, an entity that inserts an emergency alert into a media stream may similarly encode a stop watermark into the media stream. Alternatively, another entity may detect or recognize the presence of an emergency alert in the media stream, such as by monitoring the media stream for the presence of one or more predetermined tones (e.g., Emergency Alert System (EAS) tones) or other audio signals indicative of an emergency alert, and in response encode or cause to be encoded a stop watermark into the media stream, possibly in synchronization with or in proximity to the detected audio signal. A content presentation device may detect the encoded stop watermark while receiving the media stream and in response may cease dynamic content modification to allow presentation of the unmodified emergency alert.

[0037] As another example, an entity involved in providing a media stream to a content presentation device may detect or recognize when the channel represented by that media stream has changed and, in response, encode a stop watermark into the media stream.

[0038] The entity that detects or recognizes when the channel represented by the media stream has changed can be any entity that is aware of and / or involved in the channel selection. For example, this entity can be a set-top box that serves the content presentation device or a streaming content service provider (such as a virtual multi-channel video programming distributor (virtual MVPD)) that streams the selected channel to a receiver that serves the content presentation device, among other possibilities. Such an entity can encode a stop watermark into the media stream upon a change in the channel represented by the media stream. The content presentation device can also detect the stop watermark while receiving the media stream and, in response, stop dynamic content modification to enable the presentation of the new channel.

[0039] In these or other implementations, the content presenter may detect an abort watermark in the media stream at any time between when it begins planning the dynamic content modification (e.g., when it receives an initial command to perform the dynamic content modification) and when it finishes performing the dynamic content modification, and the content presenter may respond to the detected abort watermark by aborting the dynamic content modification, such as by not performing the planned content modification or by pausing a content modification that is occurring.

[0040] Considering the example dynamic content modification process described above, for example, a content presentation device may detect an abort watermark between (i) the time when the content presentation device receives timing information and / or other information regarding the next content modification opportunity from the ACR server and (ii) the time when the next content modification opportunity is scheduled to begin. In this case, the content presentation device may respond to the detected abort watermark by abandoning its plan to begin the content modification and therefore not initiating the content modification. For example, the content presentation device may refrain from further action, such as collaborating with a content management system and / or other entities to obtain details of the content modification to be performed and / or obtaining auxiliary content, such as replacement content or overlay content, depending on where the content presentation device is in the planning process before the content modification begins.

[0041] Alternatively, the content presentation device may detect a stop watermark while the content presentation device is currently rendering a content modification, such as while the content presentation device is rendering alternative or overlay content, in which case the content presentation device may respond to the detected stop watermark by interrupting the content modification and thus returning to rendering the underlying media stream without completing the content modification.

[0042] In one implementation, the abort watermark may be a watermark that encodes a predetermined data value or a value in a predetermined format that can be interpreted by a content presenter as triggering the abort of dynamic content modification. As the content presenter receives and renders the media stream, it can monitor the media stream for the presence of a watermark that encodes this particular data value. The content presenter can begin monitoring for the presence of this abort watermark when it begins planning dynamic content modification, such as when it receives signaling related to the next content modification opportunity from an ACR server. In response to detecting a watermark in the media stream that encodes a value that can be interpreted by the content presenter as triggering the abort of dynamic content modification, the content presenter can abort the dynamic content modification.

[0043] These and other aspects, advantages and alternatives will become apparent to those skilled in the art upon reading the following detailed description, with reference, as appropriate, to the accompanying drawings.Furthermore, it is to be understood that this summary and the following description illustrate the invention by way of example only, and not by way of limitation. [Brief explanation of the drawings]

[0044] [Figure 1] FIG. 1 is a simplified block diagram of an example system to which various disclosed principles can be applied. [Figure 2] FIG. 1 is another simplified block diagram of an example system to which various disclosed principles can be applied. [Figure 3] FIG. 1 is a simplified block diagram illustrating components that may be involved in an example implementation. [Figure 4] 1 is a flowchart illustrating a method that can be performed in accordance with the present disclosure. [Figure 5] 10 is another flowchart illustrating a method that may be performed in accordance with the present disclosure. [Figure 6] FIG. 1 is a simplified block diagram of an example system operable in accordance with the present disclosure. [Figure 7] 1 is a simplified block diagram of an example content presentation device operable in accordance with the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0045] Referring now to the drawings, Figure 1 is a simplified block diagram of an example system to which various disclosed principles may be applied. However, it will be understood that this and other configurations and processes described herein may take a variety of other forms. For example, elements and operations may be rearranged, distributed, substituted, combined, omitted, added, or otherwise modified. Furthermore, it will be understood that functions described herein as being performed by one or more entities may also be performed by those entities and / or through hardware, firmware, and / or software, such as one or more processing units executing program instructions on behalf of those entities.

[0046] As shown in FIG. 1, the example system includes one or more media content sources 100 (e.g., broadcast stations, web servers, etc.), one or more media content distributors 102 (e.g., multi-channel distributors such as cable providers, satellite providers, over-the-air broadcast providers, web aggregators, etc.), one or more media content receivers 104 (e.g., cable receivers, satellite receivers, over-the-air broadcast receivers, computers or other streaming media receivers, etc.), and one or more client or content presentation devices 106 (e.g., televisions or other display devices, speakers or other audio output devices, etc.).

[0047] In practice, for example, the media content source 100 may be a national broadcast station such as ABC, NBC, CBS, FOX, HBO, and CNN, the media content distributor 102 may possibly be a local affiliate and / or other local content distributor for a particular designated market area (DMA), and the receiver 104 and content presentation device 18 may reside at a customer premises such as a home or business.

[0048] In this or other configurations, content source 100 can distribute media content to content distributor 102 for distribution to customer premises receivers 104, and the content distributor can distribute the media content as a particular channel of content (e.g., a particular frequency, a particular streaming media session, or other defined channel) to receiver 104. Each receiver can then respond to user input or one or more other triggers by tuning to or otherwise beginning reception of the selected channel and outputting a media stream representing the media content of the selected channel to content presentation device 106. Content presentation device 106 can then receive and render (e.g., display or otherwise present) the media content.

[0049] As an example, the content presentation device may be a television located at a customer's premises that can be coupled by an HDMI cable to a cable TV set-top box, which in turn can be coupled via a local distribution network to a cable TV head-end that delivers various television channels provided by national and / or local broadcasters. In this configuration, the television can periodically receive a media stream from the set-top box via HDMI, and the set-top box can tune to a particular channel from the head-end in response to user input, so that the media stream arriving at the television represents the channel selected by the user.

[0050] Alternatively, as another example, a television located on a customer premises may be connected by an HDMI cable to a streaming media receiver, such as an APPLE TV, ROKU, AMAZON FIRE, or CHROMECAST device, or a computer or other device, that is in network communication with a streaming media server, such as a virtual MVPD, that delivers various channels of content. In this configuration, the television may periodically receive a media stream from the streaming media receiver via HDMI, and the streaming media receiver may cooperate with a streaming media server to deliver a particular channel selected by the user to the streaming media receiver, which may then output that media stream to the television. Thus, again, the media stream arriving at the television will similarly represent the channel selected by the user.

[0051] As noted above, in this or other configurations, the content presentation device, when receiving and rendering this media stream, may have no indication of the channel represented by the media stream. Rather, the content presentation device may be configured to simply receive the media stream from the receiver and render the content of the media stream. However, in accordance with the present disclosure, the content presentation device may be in communication with a network server and may cooperate with the network server to facilitate channel identification and, therefore, useful channel-specific operations.

[0052] FIG. 2 more particularly illustrates an example system in which some of the features of the present disclosure can be implemented.

[0053] 2 shows, at its top, an exemplary content presentation device 200 receiving a channel 202 of content provided by a content distribution system 204. As an example, the content presentation device 200 may be the exemplary content presentation device 100 shown in FIG. 1, and the content distribution system 204 may include the exemplary media content source 100, media content distributor 102, and / or receiver 104 shown in FIG.

[0054] Thus, content presentation device 200 can receive and render channel 202 of content in a media stream directly or indirectly from content distribution system 204. The channel can be a linear broadcast feed and / or a streaming media channel, and the content presentation device can receive the channel through any of a variety of distribution channels, including, but not limited to, cable, satellite, terrestrial over-the-air broadcast, broadband streaming, or others now known or later developed.

[0055] In some implementations, the media content of a channel can define a series of digital frames of media content that a content presentation device is configured to render and present to a user. A media content source, media content distributor, and / or other entity can broadcast, stream, or otherwise provide this series of frames encapsulated in a transport stream for reception by a receiver currently configured to receive the channel of content, and the receiver can extract the series of frames from the transport stream and output the series of frames as a media stream for reception and rendering by the content presentation device.

[0056] 2, content presentation device 200 is interconnected with a communications network 206, which may be a packet-switched network such as the Internet. For example, content presentation device 200 may exist as a node with an assigned Internet Protocol (IP) address on a customer premises local area network (LAN) with an IP address on network 206. Accordingly, content presentation device 200 may be in data communication with various entities over network 206 while receiving and rendering media streams representing channels 202 of content provided by content distribution system 204.

[0057] Shown as accessible over the network 206 (e.g., at a defined IP address on the network) is an ACR server 208 operable to perform fingerprint-based ACR processing as described above. In this network configuration, the content presentation device 200 can be in IP communication with the ACR server 206 over the network 206 to provide the ACR server 208 with query fingerprints representing the media content of the channel 202 that the content presentation device 200 is rendering. The ACR server can then compare these query fingerprints with reference fingerprints of various known channels to determine which channel 202 the content presentation device 200 is rendering.

[0058] As described above, the ACR server 208 may be provided with reference data 210 including reference fingerprints representing each of the various channels accessible by the content presentation device 200. As described above, for example, the content distribution system 204 may continuously generate and provide this reference data for each of such various channels to the ACR server. For example, for each channel of media content output by the content distribution system, the content distribution system may generate, on a frame-by-frame or otherwise continuous basis, time-stamped digital reference fingerprints for frames of the media content using any now known or later developed digital fingerprinting process, and provide the time-stamped digital reference fingerprint and data identifying the associated channel to the ACR server.

[0059] Without limitation, an example digital fingerprinting process for video content can be applied to each video frame and can involve establishing a representation of luminosity and / or other video characteristics. For example, for a given video frame, a fingerprint generator can programmatically divide the frame into a grid, measure the frame's luminosity for each grid cell, and generate a bit string where each bit or series of bits represents the luminosity of a respective grid cell or a weighted difference between the luminosity of some specified pair of grid cells, etc. Furthermore, the fingerprint generator can apply this process continuously to generate a digital fingerprint as a series of fingerprints (e.g., a fingerprint stream) over a period of time. For example, the fingerprint generator can apply this process to each frame, each keyframe, periodically or based on another specification, where the bit string for each frame defines the digital fingerprint, and / or a specified hash, combination, or series of such bit strings or other representative values defines the digital fingerprint on a sliding window basis. Other digital fingerprinting processes can be used as well.

[0060] Once the ACR server 208 receives the reference data, including the generated reference fingerprints, and associated data, it may store the reference data in a relational database or in other form suitable for easy searching and access.

[0061] In one implementation, content presentation device 200 may include fingerprint generator 212 (e.g., program instructions executable by a processor of content presentation device 200) configured to generate a query fingerprint representative of the media content of channel 202 currently being rendered by content presentation device 200. Fingerprint generator 212 may be configured to receive as input a copy of the media content of the channel as it arrives at content presentation device 200 and / or as it is processed for presentation by content presentation device 200, and may be configured to generate a query fingerprint of the media content on a frame-by-frame or otherwise continuous basis using the same digital fingerprinting process used to generate the reference fingerprint to facilitate comparison of the query fingerprint with the reference fingerprint.

[0062] Additionally, the content presentation device 200 can be configured to transmit its generated query fingerprint to the ACR server 208 over the network 206 for analysis to facilitate fingerprint-based ACR and related channel-specific operations. As an example, the content presentation device 200 can be configured to periodically or ad-hoc transmit a query fingerprint representing the most recent series of frames of the channel being rendered by the content presentation device 200 to the server. For example, the content presentation device 200 can generate a message conveying the most recent generated query fingerprint along with one or more timestamps and / or other associated data and transmit the message to the IP of the ACR server 208 for analysis.

[0063] As described above, the ACR server 208 can perform fingerprint-based ACR processing when given a query fingerprint that represents the media content of the channel 202 being rendered by the content presentation device 200 and given reference data that includes reference fingerprints that respectively represent each of the various known channels. In particular, as described above, the ACR server can compare the query fingerprint with the reference fingerprints to find a match.

[0064] To compare a given query fingerprint with a given reference fingerprint, the ACR server 208 can compare corresponding portions of the fingerprints to each other to determine whether they match exactly or fall within a specified tolerance. For example, the ACR server 208 can calculate the maximum deviation between the fingerprints and determine whether the maximum deviation falls within a predetermined tolerance. Furthermore, fingerprints can be Boolean determinations if they are binary numbers or can include Hamming distance calculations (as mismatch calculations between respective bit positions in the fingerprint), or can involve determining the distance between values or vectors if they are more complex values such as decimal values or decimal vectors (e.g., gray values per video frame region). Many other examples are possible.

[0065] If the ACR server 208 finds with sufficient certainty that the query fingerprint matches the reference fingerprint for a particular channel, it can conclude that this channel is the channel being rendered by the content presentation device 200.

[0066] And, as further described above, the ACR server 208 can take or cause to be taken one or more useful channel-specific actions based on the identification of the channel being rendered by this content presentation device.

[0067] To this end, for example, the ACR server 208 may process a modifiable content segment, such as a replaceable advertisement, in a channel being received by the content presentation device, and in response, prepare and cause the content presentation device to perform content modifications (e.g., DAI) on the modifiable content segment.

[0068] As described above, for example, the content management system 216 can previously provide the ACR server 208 with modifiable content segment data 218, including fingerprints for each of the various modifiable content segments (e.g., replaceable advertisements), and associated metadata, including, for example, an identifier for each modifiable content segment. Thus, once the ACR server 208 has identified the channel being rendered by the content presentation device 200, it can responsively begin comparing the identified channel's reference fingerprint with the fingerprints of the various modifiable content segments to find a match. Then, once the ACR server 208 finds with sufficient certainty that the identified channel's reference fingerprint matches the fingerprint of a particular modifiable content segment, it can provide signaling that enables and prepares the content presentation device 200 to perform content modification on the modifiable content segment.

[0069] For example, the ACR server may provide the content presentation device 200 with various data, such as those described above, regarding the next opportunity for modifiable content, including, for example, timing information and other content modification information, to enable the content presentation device 200 to obtain the supplemental content.

[0070] As described above, the content presentation device 200 can then signal between the content management system 216 and, optionally, the auxiliary content distribution system 220 over the network 206 to verify and obtain the auxiliary content (e.g., replacement advertisements), and the content presentation device can then perform content modifications on the modifiable content segments.

[0071] As described above, the present disclosure provides a mechanism using watermarking to facilitate the discontinuation of dynamic content modification. This mechanism may be applied to any of a variety of dynamic content modification scenarios. For example, but not by way of limitation, this mechanism may be applied in connection with the dynamic content modification processes described above, including DAI, etc.

[0072] 3 is a simplified block diagram illustrating components that may be involved in an example implementation. Specifically, FIG. 3 shows a content presentation device 300, a content distribution entity 304, and an ACR server 308.

[0073] Here, the content presentation device 300 and the ACR server 308 may be examples of the content presentation device 200 and the ACR server 208 described above. For example, the content presentation device 300 may be a television located at a customer premises, the ACR server 308 may be a network server configured to perform fingerprint matching, content identification, and triggering of dynamic content modification as described above, and the content presentation device 300 and the ACR server 308 may communicate with each other via a network 306 such as the Internet.

[0074] Additionally, content distribution entity 304 may be any entity that directly or indirectly distributes a media stream representing channel 302 of content to content presentation device 300. For example, content distribution entity 304 may be the source of the media stream and / or an entity that resides in a communications path traversed by the media stream on its way to content presentation device 300.

[0075] For example, and without limitation, content distribution entity 304 can be a set-top box or other receiver locally connected to content presentation device 300. As described above, such an entity can be configured to selectively receive user-selected channels of content from a content distributor, such as a headend or virtual MVPD, and deliver media streams representing the channels of content to content presentation device 300. As another example, content distribution entity 304 can also be a media content source or media content distributor that can provide media streams representing channels of content for delivery to receivers that service content presentation device 300, as described above. Other examples are possible as well.

[0076] FIG. 3 shows a dashed line between the content distribution entity 304 and the ACR server 308, representing that these components can communicate with each other as described above.

[0077] 3, the content distribution entity 304 may include a stop watermark encoder 310, and the content presentation device 300 may include a stop watermark decoder 312. Each of these components may include software stored in a data storage and executable by a processing unit, and / or may take other forms.

[0078] In operation, the stop watermark encoder 310 may function to encode a stop watermark into a media stream being delivered (e.g., currently being delivered or to be delivered) to the content presentation device 300. The stop watermark decoder 312 may then function to decode the stop watermark from the media stream being received by the content presentation device 300.

[0079] As is known in the art, watermarking permanently embeds or otherwise encodes information in media content in a manner that is imperceptible to a user to whom the media content is presented, while allowing a recipient of the media content to decode and extract the information from the media content. This is in contrast to inserting such information into packet headers or the like without encoding the information into the underlying media content itself. Watermarking can permanently alter the media content and is impossible to remove.

[0080] In particular, watermarking media content may involve encoding a code into the media content that can be mapped to associated information, or in some cases encoding the associated information more directly into the media content. In one implementation, the watermark code is approximately 24 bits and may watermark, for example, the audio component of the media content and / or the video component of the media content, depending on the form of the media content.

[0081] Existing audio watermarking techniques include, but are not limited to, those known as stenographic or psychoacoustic encoding, which insert audio energy into an audio signal in a manner that is detectable by a suitably configured watermark detection algorithm but hidden from the ear, or otherwise adjust one or more characteristics of the audio signal (e.g., audio characteristics and / or encoding methods sufficient to hide the watermark from human detection).

[0082] Examples of audio watermarking and corresponding watermark detection methods are described in U.S. Pat. No. 8,359,205 (entitled "Methods and Apparatus to Perform Audio Watermarking and Watermark Detection and Extraction," issued January 22, 2013), U.S. Pat. No. 8,369,972 (entitled "Methods and Apparatus to Perform Audio Watermarking Detection and Extraction," issued February 5, 2013), U.S. Patent Application Publication No. 2010 / 0223062 (entitled "Methods and Apparatus to Perform Audio Watermarking and Watermark Detection and Extraction," issued September 2, 2010), and U.S. Pat. No. 6,871,180 (entitled "Decoding of Information in Audio Signals"). No. 5,764,763 (entitled "Apparatus and Methods for including Codes in Audio Signals and Decoding" issued on June 9, 1998), U.S. Pat. No. 5,574,962 (entitled "Method and Apparatus for Automatically Identifying a Program including a Sound Signal" issued on November 12, 1996), U.S. Pat. No. 5,581,No. 800 (entitled "Method and Apparatus for Automatically Identifying a Program Including a Sound Signal," issued December 3, 1996), U.S. Pat. No. 5,787,334 (entitled "Method and Apparatus for Automatically Identifying a Program Including a Sound Signal," issued July 28, 1998), and U.S. Pat. No. 5,450,490 (entitled "Apparatus and Methods for Including Codes in Audio Signals and Decoding," issued September 12, 1995), all of which are incorporated herein by reference in their entireties.

[0083] On the other hand, existing video watermarking techniques embed a code into the video component of the media content in a way that is detectable by a well-configured watermark detection algorithm, but is hidden from human visual detection.

[0084] Examples of video watermarking techniques include various spatial domain techniques such as pixel inversion, embedding a watermark in the least significant bits, and adding pseudorandom noise patterns to the video, as well as various frequency domain techniques such as SVD domain watermarking, discrete Fourier transform watermarking, discrete cosine transform watermarking, discrete wavelet transform watermarking, principal component analysis watermarking, etc. Other examples are possible as well.

[0085] According to the above description, when the content presenter 300 is planning or currently applying dynamic content modification, a triggering event may occur that justifies the content presenter 300 to abort the dynamic content modification. In response to the occurrence of this triggering event, the content distribution entity 304 may use the abort watermark encoder 310 to encode an abort watermark (e.g., audio and / or video based) into the media stream being delivered to the content presenter 300. As the content presenter 300 receives the media stream, it may use the abort watermark decoder 312 to detect and read the abort watermark from the media stream and respond to the detection of the abort watermark by aborting the dynamic content modification.

[0086] In some implementations, the trigger event for the cessation of dynamic content modification can be a content-related event, which may be an event related to the media content of the channel represented by the media stream being received by the content presentation device. Examples of such events include, but are not limited to, (i) the presence or occurrence of emergency content on the channel, such as breaking news or an emergency alert, or (ii) a change of channel. Alternatively, the event can take other forms that are not necessarily content-related.

[0087] Various entities can detect the occurrence of a trigger event and cause the content distribution entity 304 to encode a stop watermark into the media stream being delivered to the content presentation device 300. Furthermore, an entity can detect the occurrence of a trigger event directly or by receiving signaling corresponding to the occurrence of the trigger event.

[0088] As an example, an entity that inserts or otherwise provides emergency content on a channel being distributed to a content presentation device 300 may implicitly detect a trigger event by performing the act of providing the emergency content on the channel.

[0089] This entity providing the emergency content on the channel may be the content distribution entity 304 itself, such as a media content source or distributor, in which case the content distribution entity 304 implicitly detects the occurrence of a trigger event by solely performing the act of providing the emergency content on the channel, and in response, the content distribution entity 304 may encode a cease watermark into the media stream being delivered to the content presentation device 300.

[0090] Alternatively, another entity may provide emergency content on a channel and perform associated signaling with the content distribution entity 304 to cause the content distribution entity 304 to responsively encode a stop watermark into the media stream being delivered to the content presentation device 300. In this case, the other entity and / or the content distribution entity 304 may be involved in detecting the occurrence of a trigger event, and the content distribution entity 304 may then similarly encode a stop watermark into the media stream being delivered to the content presentation device 300.

[0091] As yet another alternative, the content distribution entity 304, or another entity in the path along which the media stream is distributed to the content presentation device 300, may detect the presence of emergency content in the media stream by monitoring the media stream for the presence of one or more tones (e.g., EAS tones) and / or other audio signals indicative of emergency content in the media stream. In response, the entity may encode, or cause to be encoded, a cease watermark into the media stream.

[0092] Alternatively, the ACR server 308 may be involved in detecting the presence of emergency content in the media stream being delivered to the content presentation device 300 and may respond to the detection of the presence of emergency content by sending a signal to the content distribution entity 304 that causes an abort watermark to be inserted into the media stream being delivered to the content presentation device 300.

[0093] For example, in much the same way that digital fingerprints representing modifiable content segments can be provided to the ACR server 308 as described above, digital reference fingerprints representing emergency content, such as media content (e.g., tones) that typically introduce breaking news or emergency alerts, can be provided to the ACR server 308. The ACR server 308 can then use these digital fingerprints as the basis for determining when this introductory emergency content is present within a media stream representing a channel of content en route to the content presentation device 300.

[0094] This introductory emergency content can be channel-specific, such as specific to a channel that the ACR server 308 determines the content presentation device 304 is rendering. For example, the ACR server 308 can be provided with a respective digital fingerprint for each of various known channels, representing media content that is typically specific to that channel and introduces breaking news or emergency alerts. Thus, upon identifying a channel being rendered by the content presentation device 300 and signaling with the content presentation device 300 to initiate dynamic content modification on that channel, the ACR server 308 can select an associated digital fingerprint representing the introductory emergency content specific to that channel and begin comparing reference digital fingerprint data representing the identified channel with the digital fingerprint representing the introductory emergency content of the identified channel.

[0095] If the ACR server 308 finds a fingerprint match with sufficient certainty, it can reasonably conclude that urgent content is present on the channel en route to the content presentation device 300. The ACR server can then respond to the determined presence of urgent content on the channel by sending a signal to the content distribution entity 304 causing the content distribution entity 304 to encode a stop watermark into the media stream being delivered to the content presentation device.

[0096] If the occurrence of emergency content on a channel is the triggering event for encoding a stop watermark into the media stream being delivered to the content presentation device 300, the content distribution entity 304 may optimally encode the stop watermark into the media stream shortly before the emergency content is displayed on the channel, thereby allowing the content presentation device 300 time to decode the stop watermark and cease dynamic content modification in response by the time the emergency content is displayed on the channel. Alternatively, the content distribution entity 304 may encode the stop watermark to coincide with the emergency content on the channel, such as by encoding the stop watermark into the emergency content itself or into associated content on the channel, to facilitate triggering the stop at or near the time the emergency content is presented.

[0097] Furthermore, the same principle can be applied to the presence of special content other than emergency content on a channel being distributed to a content presentation device.

[0098] As another example, if a user changes the channel being rendered by the content presentation device 300, the entity responsible for the channel change may detect the channel change as a trigger event and cause the content distribution entity 304 to encode a stop watermark into the media stream being delivered to the content presentation device 300.

[0099] Again, the entity detecting the channel change may be the content distribution entity 304 itself, such as a virtual MVPD, in which case the content distribution entity 304 may respond by encoding a stop watermark into the media stream being delivered to the content presentation device 300. Alternatively, another entity that is aware of or otherwise involved in the channel change may detect the channel change and notify the content distribution entity 304, causing the content distribution entity 304 to encode a stop watermark into the media stream being delivered to the content presentation device 300.

[0100] For example, a set-top box that is capable of tuning to a user-selected channel and outputting this channel in a media stream being delivered to a content presentation device may detect that a user has changed channels, such as by receiving a remote control input to change the channel, and may then respond to this channel change by encoding a stop watermark into the media stream being delivered to content presentation device 300.

[0101] Similarly, a streaming media receiver that can establish a streaming media session with a streaming media server to receive a user-selected channel of content can detect when a user changes channels, also by receiving a remote control input to change channels, and can similarly respond to this channel change by encoding a stop watermark into the media stream being delivered to content presentation device 300.

[0102] Alternatively, a virtual MVPD (e.g., a streaming media server) that can establish a streaming media session with a streaming media receiver to deliver a user-selected channel of content can similarly detect when a channel change has occurred by receiving signaling from the streaming media receiver potentially requesting a channel change and / or the establishment of a replacement channel stream. The virtual MVPD can then similarly respond to this channel change by encoding a stop watermark into the media stream being delivered to content presentation device 300.

[0103] If the occurrence of a channel change is the trigger event for encoding a stop watermark into the media stream being delivered to the content presentation device 300, the content distribution entity 304 may optimally encode the stop watermark into the media stream shortly before the channel change occurs, e.g., by first encoding the stop watermark and then continuing with the channel change, thereby allowing the content presentation device 300 time to decode the stop watermark and responsively stop dynamic content modification before the channel change occurs.

[0104] As described above, the content presentation device 300 can detect and respond to an abort watermark in the media stream at any time between when it begins planning the dynamic content modification and when it finishes executing the dynamic content modification.

[0105] In practice, for example, when the content presentation device 300 receives signaling that causes the content presentation device 300 to plan dynamic content modification at the next content modification opportunity, the content presentation device 300 can respond by beginning to monitor the incoming media stream for the presence of a stop watermark.

[0106] If the content presentation device 300 detects the abort watermark before the start of a content modification opportunity, the content presentation device 300 can completely stop content modification by not initiating content modification in response.

[0107] Alternatively, if the content presentation device 300 is currently applying content modification, such as currently presenting overlay or replacement content, and detects an abort watermark, the content presentation device 300 may responsively abort the content modification. For example, the content presentation device 300 may abort the ongoing presentation of overlay or replacement content and return to presenting the unmodified content of the media stream.

[0108] 4 is a flowchart illustrating a method that may be performed in accordance with the present disclosure. As shown in FIG. 4, the method includes detecting, at block 400, the occurrence of a trigger event that causes the content presentation device to cease dynamic content modification to a media stream being delivered to the content presentation device. The method also includes, at block 402, in response to detecting the occurrence of the trigger event, encoding, in the media stream being delivered to the content presentation device, a cease watermark that is interpretable by the content presentation device as causing the content presentation device to cease dynamic content modification.

[0109] According to the above description, the method can be performed between the time when the content presentation device receives an instruction to perform dynamic content modification (e.g., signaling providing information about the next opportunity for content modification) and the time when the content presentation device starts applying the dynamic content modification, in which case the act of canceling the dynamic content modification can involve ceasing the dynamic content modification. Alternatively, the method can be performed while the content presentation device is applying the dynamic content modification, in which case the act of canceling the dynamic content modification can involve pausing the dynamic content modification.

[0110] Furthermore, as noted above, the dynamic content modification at issue in this method can be DAI. Furthermore, the dynamic content modification can be responsive to fingerprint-based ACR in the manner described above, among other possibilities.

[0111] Furthermore, as mentioned above, the trigger event that causes the content presentation device to cease dynamic content modification can be a content-related trigger event, such as the occurrence of emergency content in the media stream being delivered to the content presentation device or the occurrence of a channel change in the media stream being delivered to the content presentation device. Thus, detecting the trigger event can involve detecting the presence of emergency content in the media stream being delivered to the content presentation device or detecting a change in the channel represented by the media stream being delivered to the content presentation device.

[0112] Furthermore, as noted above, the act of detecting the trigger event may be performed by at least one entity, such as a content distribution entity, an ACR server, and / or one or more other entities involved in delivering the media stream to the content presentation device, and the act of encoding the stop watermark into the media stream may likewise be performed by at least one entity, such as or on behalf of a content distribution entity involved in delivering the media stream to the content presentation device.

[0113]

[0023] Figure 5 is another flowchart illustrating a method that may be performed in accordance with the present disclosure. As shown in Figure 5, the method includes, at block 500, a content presentation device detecting a stop watermark encoded in a media stream being received. Then, at block 502, the method includes, at block 502, the content presentation device ceasing dynamic content modification of the media stream in response to detecting the stop watermark encoded in the media stream.

[0114] According to the above description, the act of detecting an abort watermark encoded in a media stream being received by a content presentation device may involve detecting a watermark in the media stream and determining that the detected watermark encodes a value that can be interpreted by the content presentation device as causing the content presentation device to abort dynamic content modification.

[0115] Various other features described above can also be implemented in this context, and vice versa.

[0116] 6 is a simplified block diagram of an example system operable in accordance with the present disclosure. The system may represent a content distribution entity as described above and / or one or more other entities. As shown in FIG. 6, the example system includes a network communication interface 600, a processing unit 602, and non-transitory data storage 604, some or all of which may be integrated with each other or communicatively connected by a system bus, network, or other connection mechanism 606 as shown.

[0117] The network communication interface 600 may include one or more physical network connections that facilitate communication over a network and / or that are involved in communication with one or more other local or remote entities, either directly or via a network. Thus, the network communication interface may include a wireless or wired Ethernet interface or other type of network interface that is involved in IP communications and / or other types of network communications.

[0118] The processing unit 602 may include one or more general-purpose processors (e.g., microprocessors) and / or one or more special-purpose processors (e.g., application-specific integrated circuits), and the non-transitory data storage 606 may include one or more volatile and / or non-volatile storage components, such as optical, magnetic, or flash storage.

[0119] As shown, the data storage 604 of the example system stores program instructions 608 that the processing unit 602 can execute to perform various operations described herein. For example, these operations may include (i) detecting the occurrence of a trigger event that causes a content presentation device to cease dynamic content modification to a media stream being delivered to the content presentation device, and (ii) in response to detecting the occurrence of the trigger event, encoding a cease watermark into the media stream being delivered to the content presentation device that is interpretable by the content presentation device as causing the content presentation device to cease dynamic content modification.

[0120] The various features described above can also be implemented in this context, and vice versa.

[0121] Finally, Figure 7 is a simplified block diagram of an example content presentation device operable in accordance with the present disclosure. In accordance with the above description, this content presentation device can take a variety of forms. For example, the content presentation device can be a television, computer monitor, or other device operable to receive and render video content, and / or speakers, headphones, or other device operable to receive and render audio content. Many other examples are possible.

[0122] As shown in FIG. 7, an example content presentation device includes a content input interface 700, a content presentation interface 702, a network communication interface 704, a processing unit 706, and non-transitory data storage 708, some or all of which may be integrated with each other or communicatively connected by a system bus, network, or other connection mechanism 710 as shown.

[0123] The content input interface 700 may include a physical communication interface that receives media content presented by a content presentation device. Accordingly, the media input interface may include one or more wired and / or wireless interfaces that establish communication with a receiver or other device or system to receive media content in analog or digital form. For example, the media input interface may include one or more interfaces conforming to protocols such as DVI, HDMI, VGA, USB, BLUETOOTH, or WIFI, among others.

[0124] The content presentation interface 702, in turn, may include one or more components that facilitate the presentation of 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 that process the received media content to facilitate the presentation of the content on the user interface.

[0125] The network communication interface 704 may include a physical network connection that facilitates communication over a network and / or engages in communication with one or more other local or remote entities, either directly or via a network. Thus, the network communication interface may include a wireless or wired Ethernet interface or other type of network interface that engages in IP communication and / or other types of network communication.

[0126] Processing unit 706, in turn, may include one or more general-purpose processors (e.g., microprocessors) and / or one or more special-purpose processors (e.g., application-specific integrated circuits). Non-transitory data storage 708, in turn, may include one or more volatile and / or non-volatile storage components, such as optical, magnetic, or flash storage. Additionally, as shown, data storage 708 stores program instructions 712 that processing unit 606 can execute to perform various operations described herein.

[0127] Various features described above can also be implemented in this context, and vice versa.

[0128] Additionally, this disclosure also contemplates non-transitory computer-readable media that encode, store, or otherwise embody program instructions that a processing unit can execute to perform the various operations described herein.

[0129] Although exemplary embodiments have been described above, those skilled in the art will recognize that changes and modifications can be made to these embodiments without departing from the true scope and spirit of the invention.

Claims

1. detecting the occurrence of a trigger event that causes the content presentation device to cease dynamic content modification to a media stream being delivered to the content presentation device, wherein detecting the occurrence of the trigger event includes detecting the presence of emergency content in the media stream being delivered to the content presentation device; In response to detecting the occurrence of the trigger event, encoding a media stream being delivered to the content presentation device that matches the detected emergency content with an abort watermark that is interpretable by the content presentation device as causing the content presentation device to abort the dynamic content modification; A method comprising:

2. the method is performed between a time when the content presentation device receives a command to perform the dynamic content modification and a time when the content presentation device starts applying the dynamic content modification, and stopping the dynamic content modification includes ceasing the dynamic content modification. The method of claim 1.

3. the method is performed while the content presentation device is applying the dynamic content modification, and stopping the dynamic content modification includes pausing the dynamic content modification. The method of claim 1.

4. The dynamic content modification includes dynamic ad insertion. The method of claim 1.

5. the dynamic content modification is responsive to fingerprint-based automatic content recognition; The method of claim 1.

6. detecting the presence of the emergency content in the media stream being delivered to the content presentation device includes detecting one or more predetermined audio signals in the media stream indicative of the presence of the emergency content in the media stream. The method of claim 1.

7. detecting one or more audio signals in the media stream indicating the presence of the emergency content in the media stream comprises detecting one or more emergency alert system tones in the media stream. The method of claim 6.

8. detecting the trigger event is performed by at least one entity involved in delivering the media stream to the content presentation device; The method of claim 1.

9. encoding the stop watermark into the media stream is performed by at least one entity involved in delivering the media stream to the content presentation device. The method of claim 1.

10. a network communication interface; A processing unit; Non-transitory data storage; program instructions stored in said non-transitory data storage; wherein the program instructions include: detecting the occurrence of a trigger event that causes the content presentation device to cease dynamic content modification to a media stream being delivered to the content presentation device, wherein detecting the occurrence of the trigger event includes detecting the presence of emergency content in the media stream being delivered to the content presentation device; In response to detecting the occurrence of the trigger event, encoding a media stream being delivered to the content presentation device that matches the detected emergency content with an abort watermark that is interpretable by the content presentation device as causing the content presentation device to abort the dynamic content modification; executable by the processing unit to perform operations including A system characterized by:

11. the program instructions are executable to perform the operations between a time when the content presentation device receives a command to perform the dynamic content modification and a time when the content presentation device starts applying the dynamic content modification, and stopping the dynamic content modification includes ceasing the dynamic content modification. The system of claim 10.

12. the program instructions are executable to perform the operation while the content presentation device is applying the dynamic content modification, and stopping the dynamic content modification comprises pausing the dynamic content modification. The system of claim 10.

13. The dynamic content modification includes dynamic ad insertion. The system of claim 10.

14. the dynamic content modification is responsive to fingerprint-based automatic content recognition; The system of claim 10.

15. detecting the presence of the emergency content in the media stream being delivered to the content presentation device includes detecting one or more predetermined audio signals in the media stream indicative of the presence of the emergency content in the media stream. The system of claim 10.

16. detecting one or more audio signals in the media stream indicating the presence of the emergency content in the media stream comprises detecting one or more emergency alert system tones in the media stream. The system of claim 15.

17. the system being at least partially located at an entity involved in delivering the media stream to the content presentation device; The system of claim 10.

18. detecting the occurrence of a trigger event that causes the content presentation device to cease dynamic content modification to a media stream being delivered to the content presentation device, wherein detecting the occurrence of the trigger event includes detecting the presence of emergency content in the media stream being delivered to the content presentation device; In response to detecting the occurrence of the trigger event, encoding a media stream being delivered to the content presentation device that matches the detected emergency content with an abort watermark that is interpretable by the content presentation device as causing the content presentation device to abort the dynamic content modification; embodied in program instructions executable by one or more processors to perform operations including 1. A non-transitory computer-readable medium comprising:

19. the program instructions are executable to perform the operations between a time when the content presentation device receives a command to perform the dynamic content modification and a time when the content presentation device starts applying the dynamic content modification, and stopping the dynamic content modification includes ceasing the dynamic content modification.

20. The non-transitory computer-readable medium of claim 18.

20. the program instructions are executable to perform the operation while the content presentation device is applying the dynamic content modification, and stopping the dynamic content modification comprises pausing the dynamic content modification.

20. The non-transitory computer-readable medium of claim 18.

Citation Information

Patent Citations

  • In-vehicle digital television broadcast receiver

    JP2011055206A

  • Methods and apparatus to perform audio watermarking and watermark detection and extraction

    US20100223062A1

  • Service signaling recovery for multimedia content using embedded watermarks

    US20160182973A1

  • Media substitution triggered by broadcast watermark

    US20180035174A1

  • Apparatus and methods for including codes in audio signals and decoding

    US5450490A