US20210076095A1 - Watermark-based dynamic ad insertion - Google Patents

Watermark-based dynamic ad insertion Download PDF

Info

Publication number
US20210076095A1
US20210076095A1 US17/006,751 US202017006751A US2021076095A1 US 20210076095 A1 US20210076095 A1 US 20210076095A1 US 202017006751 A US202017006751 A US 202017006751A US 2021076095 A1 US2021076095 A1 US 2021076095A1
Authority
US
United States
Prior art keywords
content
identifying number
default
replacement
watermark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US17/006,751
Inventor
Joseph M. Winograd
Rade Petrovic
Jian Zhao
Patrick George Downes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verance Corp
Original Assignee
Verance Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Verance Corp filed Critical Verance Corp
Priority to US17/006,751 priority Critical patent/US20210076095A1/en
Publication of US20210076095A1 publication Critical patent/US20210076095A1/en
Priority to US18/476,271 priority patent/US20240098334A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0092Payload characteristic determination in a watermarking scheme, e.g. number of bits to be embedded
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark

Definitions

  • the present invention generally relates to the field of content distribution. More particularly, the disclosed embodiments relate to dynamic ad insertion in broadcast content.
  • DAI Dynamic ad insertion
  • OTT Over-the-Top
  • MVPD multichannel video programming distributor
  • FIG. 1 shows test results indicating reliability for embodiments of the invention.
  • FIG. 2 illustrating the swapping of publisher data paths in accordance with an embodiment of the invention.
  • FIG. 3 illustrates the watermark payload in accordance with an embodiment of the invention.
  • FIG. 4 illustrates a block diagram of a device that can be used for implementing various disclosed embodiments.
  • Disclosed embodiments relate to a method of facilitating dynamic ad insertion in content.
  • the method includes assigning a default ad an identifying number, wherein the default ad is inserted into programming content at a splicing location in the programming content and linking the identifying number to a replacement ad.
  • a watermark payload is generated which includes the identifying number.
  • the watermark payload is embedded in the content and the content is broadcast to a client device.
  • the client device detects the embedded watermark payload in the content and a replacement ad associated with the identifying number is inserted at the splicing location in the programming content.
  • exemplary is used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word exemplary is intended to present concepts in a concrete manner.
  • DAI Dynamic Ad Insertion
  • TA Targeted Advertisement
  • OTT Over-The-Top
  • MVPD multichannel video programming distributor
  • advertisement slots in broadcast content are all filled in, even if some of them are replaceable.
  • Replaceable ads are usually called “default ads” and they are shown to the user if DAI fails to activate. However, if DAI is active it is important that there is no bleeding through of default ad to the end user (partial presentation of the default ad), which would be confusing and perhaps annoying. It is also important that replacement ad ends in time and does not step on programing content.
  • SCTE 35 standard recommends that the splicing points are announced at least 4 seconds in advance in live broadcasts (for both network-out and network-in splice points).
  • STB Set Top Box
  • DVR Digital Video Recorder
  • watermarking has been proposed and used for many other purposes besides DAI, such as usage measurement, second screen communication etc.
  • ATSC 3.0 watermarking has been introduced for interactivity such as audio replacement, emergency alert, dynamic events etc. It is therefore important that watermarks used for DAI do not interfere with other watermark uses.
  • DAI uses the watermarks specified by ATSC 3.0, they need to be multiplexed in a controlled manner with other watermarks. For procedural simplicity it would be preferred, if possible, to achieve coexistence of DAI watermarks with other ATSC watermarks without changing ATSC specifications.
  • ATSC watermark-based DAI because ATSC watermarks are public, well tested and available under RAND conditions.
  • the proposed solutions could be used with other watermarking systems as well.
  • We will consider usage of either audio or video watermarks, or both of them simultaneously. It is well known that ATSC audio watermarks have much smaller throughput (amount of information per unit time) than video watermarks, while video watermarks have disadvantage of being perceptible on some TV sets, and they are easier to remove or forge.
  • the receiver In order to execute DAI, the receiver needs first to identify the channel that is presented as well as the address of a server associated with the detected channel, which supports DAI. Those objectives can be achieved with either audio or video ATSC watermarks, as specified by ATSC, and it will not be explained here. Typically, this is achieved well ahead of moment of ad replacement, with enough time to communicate user profile, device capabilities such as support for various video resolution, audio and video compression techniques, file formats, available memory, availability of multiple decoders, latency involved when repurposing decoders etc. Based on this information the DAI decisioning server would select appropriate replacement ads, perhaps concatenate them and deliver them to TV set, or generally to the terminal device.
  • the first step is to establish the media time and then to specify the insertion moment on the media timeline.
  • the media time can be established using either fingerprinting or watermarking, which is well known to those skilled in the art, and thus will not be described here.
  • each one should be marked differently in order to find proper replacement ads for them, e.g. to match them by duration.
  • each instance of a default ad can be assigned a different identifying number (e.g. random, sequential or otherwise determined) and this number can be included as part of the watermark payload.
  • Those identifying numbers can be linked to replacement ads when the replacement ads are fetched to device memory. When a watermark carrying a particular identifying number is detected the replacement ad associated with this number should be inserted into the presentation.
  • video watermarks can get distorted in distribution channel or video recording devices due to transcoding, picture resolution reduction, frame rate changes, high motion and/or high entropy content, etc.
  • the video watermark detector can choose to link the detected watermark with a particular ad even if the extracted identifying number doesn't match perfectly the identifying number received over the broadband.
  • the detector can count the bit mismatches between the extracted identifying number and the expected identifying number, and if the count is below a threshold it could initiate the DA. This approach is similar to adding error correction to the watermark payload.
  • the embedded watermark can contain owner ID, channel ID, and/or non-random ad ID, which are encrypted and placed as portion or as entire watermark payload. If this identifier is pre-fetched over broadband or if the unencrypted data fields are delivered to the TV and encrypted using the same key used for encrypting them in the watermark payload, the detector can similarly do bit mismatch counting, and initiate DAI if the count is below a threshold. In the above scenario it is important that the watermark in the first frame of the default ad is detected. If the replace ad is not started with the first frame the default ad would bleed through creating significant artefact. The first frame watermark could be lost because of various processing in the distribution channel as discussed above.
  • ATSC 3.0 video watermarks are inserted by the broadcast station they could interfere with watermarks that are inserted upstream from the station. Note that some ATSC 3.0 video watermarks have very precise timing requirement, which may make them interfere exactly with the first frame watermarks.
  • the information about the count of black frames that are leading into default ad can also be pre-fetched, so that the terminal device has advanced knowledge how long is the time interval where the starting DAI is safe. In the case when DAI is started later than ideal it is important to finish inserted ad on time, and not to step on programing content. To prevent this, the default ads should carry watermarks with information when the programing content will return (network-in information). Note that if inserted ad is slightly shorter than the default ad, the terminal device should pad inserted ad with black frames to prevent bleed through of the default ad.
  • the timing of the splicing point can be expressed as number of video frames between the marked frame and the start of the default ad.
  • the timing information could be expressed as a count of a predefined timing unit, say as a number of 10 ms intervals, from the watermarked frame to the insertion point.
  • the timing information could be expressed as a time value on a reference timeline that is known by other means, such as through other video watermark messages, audio watermark messages, audio or video fingerprinting systems, or metadata transmitted together with the programming content. Redundant watermarking reduces the risk that the mark will be missed, and allows a flexible selection of which frame needs to carry the timing information.
  • the timing information can be protected using error correction codes that are well known to those skilled in the art.
  • One way to insert advanced information about pending default ads is to put non-replaceable ads in front of default ads, and during non-replaceable ads send the timing info and replacement ad ID for all default ads.
  • an ad ID and timing information represent relatively small payload which could easily fit the user_private_message( ) specified by ATSC in https://www.atsc.org/wn-content/uploads/2017/03/A336-2017-Content-Recovery-in-Redistribution-Scenarios-1.pdf.
  • ad ID can be 72 bit long and timing info in the form of 10 ms counts can be 16 bit long, but protected using error correction code BCH(63,16,11) with one bit reserved. This could be placed into 136-bit payload of user_private_message( ).
  • the ATSC audio watermarks have much smaller throughput than video watermarks, and they don't have specified general-purpose payloads. Yet they can also be used as a vehicle to carry replacement ad IDs and their timing information for the advanced notification about pending default ads.
  • a possible approach is to allow audio watermark embedder to modify scramble sequence used in standard ATSC payloads so that standard audio watermark detector would fail to extract embedded payload. Modified scramble sequence should be delivered over the broadband together with other DAI related information according to standard web protocols. Once this modified scramble sequence is received the audio watermark detector should attempt decoding subsequent payloads with both standard and modified sequence for a predefined period of time, or until detection of watermark segment end.
  • the detector When a payload is detected with the modified scramble sequence, the detector will understand that it contains replacement ad ID and time to default ad start.
  • the replacement ad ID can be 34-bit ad ID and time to default ad start can be 16-bit counter of 10 ms intervals.
  • audio and video watermarking technologies it is possible to combine them so that audio watermarks are used to identify the broadcast channel and address of the server associated with broadcast channel which is designated to support DAI, while video watermarks are used to carry replacement ad ID and timing information.
  • the main security objective is to prevent a foreign ad replacement application to read embedded watermarks and discover start time and duration of replaceable ads.
  • DAI client in the terminal device and DAI decisioning servers should perform mutual authentication based on Transport Layer Security (TLS) protocol.
  • TLS Transport Layer Security
  • the DAI clients should receive DAI instructions only from authenticated DAI decisioning servers, and DAI decisioning servers should provide DAI instructions only to authenticated DAI clients.
  • Compromised certificates could be revoked using Online Certificate Status Protocol (OCSP)
  • this timer is protected by BCH(63,16,11) with one bit reserved. After that it can be scrambled with one-time scrambling pattern 64-bit long, that is securely delivered to an authenticated DAI app during delivery of other DAI related information over the broadband. Since this is one-time pattern associated with a particular replacement ad, reverse engineering of (e.g. by measuring actual time between the watermark and the replacement start) it is not going to help with other DAI instances. Similarly, the audio watermarks are scrambled with 127-bit long modified scramble sequence that is unique for a particular default ad.
  • the insertion end point, or default ad duration could be specified with respect to the default ad start and pre-fetched over the broadband. Presumably the inventory decisioning logic will select replacement ads that closely fit the duration of the default ads. Alternatively, the end of the default ad could be specified using a timer embedded during the default ad in a manner similar to that described for the timer used to specify the start of the default ad as descried above.
  • One of the issues listed above is to detect user action on a device upstream from TV set, such as STB or DVR and act accordingly.
  • One of the objectives could be that DAI application matches the user selection, such as pause, speed change, skip, or volume change.
  • Another option is to abandon DAI whenever upstream user action is detected, and to return to default ad. Presumably the default ad will exhibit results of the user action too.
  • the third option is to make user aware that the current presentation is coming from DAI app, and if user want to execute action on an upstream device it is necessary to first exit the current presentation. Any of these options would prevent user to suspect a malfunctioning of the upstream device.
  • Detection of many common changes to the presentation of the default ad by the upstream device can be determined using “loss of continued watermark detection” as an indicator. For this reason, it is beneficial that the default ad contains watermarks throughout their duration and that the TV use their continued detection (or lack thereof) as an indicator of continued receipt. For this reason, continued application of the watermark transmission and detection techniques described above for the duration of the default ad presentation is beneficial.
  • ATSC video watermarks can reliably detect upstream pause, speed change, or skip and could approximately determine speed change or skip size as long as the default ads are embedded with a string of video watermarks with a payload that includes timing information, say time from the beginning of the default ad. Therefore, the ATSC video watermarks can be used to adjust the timing of the DAI presentation to in correspondence to timing changes in the upstream content. If the adjustments of DAI presentation are made it would be desirable to inform user of the adjustment made using a partial overlay message. For example, if fast-forward is detected at 2 ⁇ rate the replacement ad should be fast forwarded at 2 ⁇ and an overlay should inform user that 2 ⁇ playback is executed.
  • volume change request sent to STB or DVR is most of time not actually executed on upstream device, but rather it is communicated to the actual audio rendering device such as TV set.
  • the TV set will get audio volume information and could pass it to DAI ap.
  • DAI ap it is also possible to do a real time audio loudness measurement and adjust DAI loudness accordingly.
  • Some user actions may cause partial screen overlay that could be masked in the case of DAI.
  • the user may expect volume control overlay when trying to adjust volume.
  • menu selection on upstream device may trigger picture-in-picture with menu options.
  • Even external event such as a phone call may create an overlay with the caller ID, which could be masked in the case of DA.
  • One of the solutions for those cases is, of course, to have user be aware that they are watching web-based content, and that it needs to exit it in order to return to desired screen. Examples of such solutions include display of a graphic icon or informative text superimposed on the inserted advertisement by the TV or illumination of an indicator on another visible location (e.g. TV frame or remote control).
  • Yet another solution is to compare video fingerprints which are extracted upstream of the STB to video fingerprints extracted in the TV. Differences between the two fingerprints can be attributed to video modification by the STB and overlay detection is declared and the DAI can be modified (e.g. by conforming, skipping, or terminating the presentation).
  • the device may delay taking down the replacement ad while video watermark detector tries to interpret user action and adjust DAI accordingly. But if those attempts fail within a predefined time interval, the replacement ad should be taken down.
  • the user should be informed that the current presentation is coming from a DAI app in parallel with attempts to detect screen overlays and automatic DAI termination, so that if screen overlay detection fails the user has the option of manually exiting the replacement ad.
  • the watermarking approach disclosed herein emphasizes three capabilities: 1) ATSC Interoperability; 2) reliability; and 3) security. Interoperability means that there is interoperability with other uses of the ATSC A/335 and A/336 specifications, including the use of A/336 framing including message header and CRC.
  • This approach also permits multiplexing of Project OAR (OAR) (https://projectoar.org/) and ATSC messages.
  • OAR Project OAR
  • ATSC and OAR watermark message protocols will be non-interfering and broadcasters will be able to send watermark messages to both OAR and ATSC clients at the same time.
  • OAR TVs and ATSC TVs will both be able to receive the broadcast and operate correctly. This approach enables the option of cleartext transmission of timestamps in OAR payloads.
  • OAR messages use the extensibility method defined in A/336 for introducing new watermark message formats.
  • OAR defines a message format using with the A/336 extensibility approach and requests that ATSC add it to their registry. This allows any TV to distinguish OAR and ATSC messages.
  • OAR It is also desirable for OAR to: (a) permit safe launch frames to be announced/identified so that launch success is not dependent on a single frame (also providing a reliability benefit); (b) allow multiplexing OAR with other messages during default ads; and (c) enable joint ATSC/OAR usage of timestamps.
  • a weak error correction/detection scheme will cause watermark failures.
  • Low-bitrate coding and high motion video will cause intermittent watermark loss and high motion video can cause continuous watermark degradation (not just sporadic). This will cause insertion opportunities to be missed, failed timeline tracking, or erroneous DAI termination.
  • the present disclosure enables matched filtering of payloads with advanced error correction and supports marked pre-roll.
  • the present disclosure recognizes that matched filtering is far superior to Single Error Correction Double Error Detection (SECDED).
  • Matched filtering is a provably optimal method for detecting a known signal and is guaranteed to outperform error correction/detection schemes like SECDED/BCH/Reed-Solomon, while also being much simpler. These other techniques are only needed when the reader doesn't know the message being transmitted
  • matched filtering is easily introduced into the OAR architecture via decision server response. It is sufficient to include the watermark message in the decision server response (or enough info for client to synthesize it). Separation of static (avail description) and dynamic (timecode) data may be beneficial. Note that most “watermark fields” don't have to be in the watermark; avail ID and timecode are the only essential ones.
  • FIG. 1 shows comparative testing of different approaches. During these tests, performance of a sample implementation was measured across a variety of payload encoding methods. Scene Change frames are typically encoded as I-frames and enable more reliable watermark recovery. Reliable recovery of all frames is necessary for low-latency trick-play tracking.
  • TVs are provisioned by OAR operator with a unique client certificate tied into OAR PKI.
  • Decisioning servers provide decisioning responses only to authenticated TVs. Decision responses contain all watermark fields; watermarks carry very limited information.
  • Compromised certificates can be revoked using Online Certificate Status Protocol (OCSP). This eliminates the need for symmetric key distribution (requires certificate distribution only). It is noted that mutual authentication protocol impacts decisioning server operation and that certificate management and device provisioning are still required. Process development and effort is required to detect, revoke compromised certificates.
  • OCSP Online Certificate Status Protocol
  • an important feature is to swap the publisher data paths. See FIG. 2 .
  • the encrypted message is sent in the Decision Response.
  • Payload in encrypted message has increased size and can be a list (wildcard support not recommended), and run-in and timestamp are not carried in the encrypted message.
  • the watermark carries only: A/336 run_in and header; payload (with increased size); timestamp (encryption optional) with BCH error correction. This yields 400% bit error tolerance vs. SECDED.
  • two watermark payloads should be defined; one with an encrypted timestamp and one cleartext.
  • Watermark payload to match to (may include wildcards)” is replaced by: 1) Header (unencrypted): watermark_version; consortium_key_id; and random_number 2) Consortium encrypted block: validation; publisher_id; publisher_key_id; and random_number; 3) Publisher encrypted block: validation; ad_duration; and one or more payloads to match to.
  • the watermark payload is described in FIG. 3 .
  • OAR participant features relate to both publishers and the TV.
  • the payload must be selected randomly to ensure low probability of collisions.
  • decisions applicable to multiple avails must be specified via payload list rather than wildcard.
  • Timestamp encryption is optional.
  • decryption is applied to the encrypted message in the decision response instead of an encrypted watermark payload.
  • matched filtering is used for watermark payload detection.
  • BCH error correction is used for timestamp payload detection.
  • FIG. 4 illustrates a block diagram of a device 1000 within which the various disclosed embodiments may be implemented.
  • the device 1000 comprises at least one processor 1002 and/or controller, at least one memory 1004 unit that is in communication with the processor 1002 , and at least one communication unit 1006 that enables the exchange of data and information, directly or indirectly, through the communication link 1008 with other entities, devices and networks.
  • the communication unit 1006 may provide wired and/or wireless communication capabilities in accordance with one or more communication protocols, and therefore it may comprise the proper transmitter/receiver antennas, circuitry and ports, as well as the encoding/decoding capabilities that may be necessary for proper transmission and/or reception of data and other information.
  • the device 1000 and the like may be implemented in software, hardware, firmware, or combinations thereof.
  • the various components or sub-components within each module may be implemented in software, hardware or firmware.
  • the connectivity between the modules and/or components within the modules may be provided using any one of the connectivity methods and media that is known in the art, including, but not limited to, communications over the Internet, wired, or wireless networks using the appropriate protocols.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.
  • FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present application.

Abstract

A watermark-based dynamic ad insertion (DAI) technique for presenting different users of content different advertisements based on the user's profile for content viewed on broadcast channels or in multichannel video programming distributor (MVPD) channels. A number of solutions issues with watermark-based DAI are presented. Interoperability is addressed by providing a multiplexing technique so that the DAI watermarks do not interfere with other watermarks, such as ATSC 3.0 watermarks. Reliability is addressed by providing a matched filtering technique. Security is addressed by providing a mutual authentication technique.

Description

    FIELD OF INVENTION
  • The present invention generally relates to the field of content distribution. More particularly, the disclosed embodiments relate to dynamic ad insertion in broadcast content.
  • BACKGROUND
  • This section is intended to provide a background or context to the disclosed embodiments that are recited in the claims. The description herein may include concepts that could be pursued but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
  • Dynamic ad insertion (DAI) is a technique for presenting different users of content different advertisements based on the user's profile for content. DAI has been widely adopted in Over-the-Top (OTT) media consumption. For content viewed on broadcast channels or in multichannel video programming distributor (MVPD) channels DAI has not been generally available.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows test results indicating reliability for embodiments of the invention.
  • FIG. 2 illustrating the swapping of publisher data paths in accordance with an embodiment of the invention.
  • FIG. 3 illustrates the watermark payload in accordance with an embodiment of the invention.
  • FIG. 4 illustrates a block diagram of a device that can be used for implementing various disclosed embodiments.
  • SUMMARY OF THE INVENTION
  • This section is intended to provide a summary of certain exemplary embodiments and is not intended to limit the scope of the embodiments that are disclosed in this application.
  • Disclosed embodiments relate to a method of facilitating dynamic ad insertion in content. The method includes assigning a default ad an identifying number, wherein the default ad is inserted into programming content at a splicing location in the programming content and linking the identifying number to a replacement ad. A watermark payload is generated which includes the identifying number. The watermark payload is embedded in the content and the content is broadcast to a client device. The client device detects the embedded watermark payload in the content and a replacement ad associated with the identifying number is inserted at the splicing location in the programming content.
  • These and other advantages and features of disclosed embodiments, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings.
  • DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
  • In the following description, for purposes of explanation and not limitation, details and descriptions are set forth in order to provide a thorough understanding of the disclosed embodiments. However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments that depart from these details and descriptions.
  • Additionally, in the subject description, the word “exemplary” is used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word exemplary is intended to present concepts in a concrete manner.
  • BACKGROUND
  • Dynamic Ad Insertion (DAI), also known as Targeted Advertisement (TA), is the technique where different users see different ads based on their interests, location, age, gender, etc. or generally based on profile created in view of user's input to a device over time and other data in public domain. DAI is expected to increase likelihood that the user will engage with the message and ultimately make the purchase. DAI is well established in Over-The-Top (OTT) media consumption, but it is not yet available on broadcast channels or in multichannel video programming distributor (MVPD) channels. It should be noted that there are techniques that allow ad insertion by different participants in content distribution chain, such as that described in SCTE 35 standard (https://www.scte.org/SCTEDocs/Standards/ANSI_SCTE%2035%202019r1.pdf), but it requires delivery of metadata used to identify advertisement breaks, advertising content, and programing content, and this metadata is currently not delivered to the end user, in particular if end user receives the content over HDMI link.
  • In order to enable delivery of metadata to the end user ATSC 3.0 standard has introduced digital watermarks in both audio (https://www.atsc.org/atsc-30-standard/a3342016-audio-watermark-emission) and video (https://www.atsc.org/wp-contentuploads/2016/09/A335-2016-Video-Watermark-Emission-4.pdf) component of multimedia broadcasts. This disclosure addresses issues related to DAI based on watermarks and proposes solutions to those issues. For additional details related to the use of watermarks for DAI see: U.S. Pat. Nos. 9,602,891; 9,942,602; and 10, 354,354; as well as US patent applications US 20140074855 and 20190132652. The contents of the above patents and patent applications are hereby incorporated by reference.
  • Constraints
  • Typically, advertisement slots in broadcast content are all filled in, even if some of them are replaceable. Replaceable ads are usually called “default ads” and they are shown to the user if DAI fails to activate. However, if DAI is active it is important that there is no bleeding through of default ad to the end user (partial presentation of the default ad), which would be confusing and perhaps annoying. It is also important that replacement ad ends in time and does not step on programing content.
  • One particular concern is that during live broadcasts the timing of advertising breaks is not known in advance and can be triggered at any time. However, even in distribution channels with full metadata available it may not be possible to splice in an ad instantaneously. For example, SCTE 35 standard recommends that the splicing points are announced at least 4 seconds in advance in live broadcasts (for both network-out and network-in splice points).
  • It is desirable that most of default ads are replaced with a targeted ad, but failure to activate DAI is not considered confusing or annoying to end user.
  • On the other hand, if user initiates an action on an upstream device from the TV set, e.g. on a Set Top Box (STB) or Digital Video Recorder (DVR), such as channel change, pause, speed change (forward/back, fast/slow), skip (forward/back), volume change, user guide or other user interface overlay display, etc. it is important that user sees an effect of his action. It is unacceptable to leave user thinking that STB is malfunctioning or even that it is too slow to react to users' input.
  • Once the DAI technique is in place it is desirable that ad replacement is done in controlled manner, in agreement with content publisher and content distributors. Rogue players may try to replace default ads with their own targeted ads which would deny ad revenue to content owners and/or content distributors. So, it is desirable to prevent unlicensed users to access the metadata, and in particular to access the timing of ad breaks. It is well known to those skilled in the art that the encryption can be used to prevent unauthorized access to information. Yet in the case of DAI the encryption alone may not be enough, and in some scenarios simply detection of the placement of encrypted messages may be used to thwart the system. Also, proper encryption of short messages is not trivial, and it is desirable to use well tested encryption systems.
  • It should be also noted that watermarking has been proposed and used for many other purposes besides DAI, such as usage measurement, second screen communication etc. In particular ATSC 3.0 watermarking has been introduced for interactivity such as audio replacement, emergency alert, dynamic events etc. It is therefore important that watermarks used for DAI do not interfere with other watermark uses. In particular if DAI uses the watermarks specified by ATSC 3.0, they need to be multiplexed in a controlled manner with other watermarks. For procedural simplicity it would be preferred, if possible, to achieve coexistence of DAI watermarks with other ATSC watermarks without changing ATSC specifications.
  • Proposed Solutions
  • In this disclosure we will consider ATSC watermark-based DAI, because ATSC watermarks are public, well tested and available under RAND conditions. However, the proposed solutions could be used with other watermarking systems as well. We will consider usage of either audio or video watermarks, or both of them simultaneously. It is well known that ATSC audio watermarks have much smaller throughput (amount of information per unit time) than video watermarks, while video watermarks have disadvantage of being perceptible on some TV sets, and they are easier to remove or forge.
  • In order to execute DAI, the receiver needs first to identify the channel that is presented as well as the address of a server associated with the detected channel, which supports DAI. Those objectives can be achieved with either audio or video ATSC watermarks, as specified by ATSC, and it will not be explained here. Typically, this is achieved well ahead of moment of ad replacement, with enough time to communicate user profile, device capabilities such as support for various video resolution, audio and video compression techniques, file formats, available memory, availability of multiple decoders, latency involved when repurposing decoders etc. Based on this information the DAI decisioning server would select appropriate replacement ads, perhaps concatenate them and deliver them to TV set, or generally to the terminal device.
  • What is left to do is to inform device about exact timing of the ad insertion for each replacement ad. In some scenarios, when ad insertion point is known well in advance, it could be also communicated over the broadband, and the device could be instructed to use one of many timing systems to time ad insertion precisely. It is desirable for DAI system to work also in time-shift scenarios, when the broadcast is recorded for later viewing. So, the first step is to establish the media time and then to specify the insertion moment on the media timeline. The media time can be established using either fingerprinting or watermarking, which is well known to those skilled in the art, and thus will not be described here.
  • Watermark Payload Considerations
  • In the case of live broadcast, the timing of ad insertion is known only a short time before the DAI execution, and device may not be able to get this information over the broadband quickly enough. Furthermore, having a large number of devices attempting to get timing information simultaneously would increase web congestion and increase likelihood of failing to get the information in time. One possible solution is to use video watermarks to mark default ads. In the case of multiple default ads each one should be marked differently in order to find proper replacement ads for them, e.g. to match them by duration. For example, each instance of a default ad can be assigned a different identifying number (e.g. random, sequential or otherwise determined) and this number can be included as part of the watermark payload. Those identifying numbers can be linked to replacement ads when the replacement ads are fetched to device memory. When a watermark carrying a particular identifying number is detected the replacement ad associated with this number should be inserted into the presentation.
  • It should be noted that video watermarks can get distorted in distribution channel or video recording devices due to transcoding, picture resolution reduction, frame rate changes, high motion and/or high entropy content, etc. In the case where video watermark is distorted the video watermark detector can choose to link the detected watermark with a particular ad even if the extracted identifying number doesn't match perfectly the identifying number received over the broadband. The detector can count the bit mismatches between the extracted identifying number and the expected identifying number, and if the count is below a threshold it could initiate the DA. This approach is similar to adding error correction to the watermark payload. It is particularly effective—offering lower likelihood of false, erroneous and missed detections than other error correction techniques—if the identifying numbers are determined such that each instance is statistically independent and uncorrelated from others; e.g. via a random, pseudorandom, or cryptographic techniques.
  • For example, the embedded watermark can contain owner ID, channel ID, and/or non-random ad ID, which are encrypted and placed as portion or as entire watermark payload. If this identifier is pre-fetched over broadband or if the unencrypted data fields are delivered to the TV and encrypted using the same key used for encrypting them in the watermark payload, the detector can similarly do bit mismatch counting, and initiate DAI if the count is below a threshold. In the above scenario it is important that the watermark in the first frame of the default ad is detected. If the replace ad is not started with the first frame the default ad would bleed through creating significant artefact. The first frame watermark could be lost because of various processing in the distribution channel as discussed above. Besides, if ATSC 3.0 video watermarks are inserted by the broadcast station they could interfere with watermarks that are inserted upstream from the station. Note that some ATSC 3.0 video watermarks have very precise timing requirement, which may make them interfere exactly with the first frame watermarks.
  • One way to mitigate issues listed above is to put a few black frames at the beginning of the default ad. If the first frame watermark is missed for whatever reason, this would cause black frames to bleed through, which is not going to surprise users as even now many transitions from one ad to another are including a few black frames in between. We have found also experimentally that ATSC video watermarks embedded in black frames are more robust to various distortions than those embedded in regular content, in view that black frames have a very low entropy.
  • The information about the count of black frames that are leading into default ad can also be pre-fetched, so that the terminal device has advanced knowledge how long is the time interval where the starting DAI is safe. In the case when DAI is started later than ideal it is important to finish inserted ad on time, and not to step on programing content. To prevent this, the default ads should carry watermarks with information when the programing content will return (network-in information). Note that if inserted ad is slightly shorter than the default ad, the terminal device should pad inserted ad with black frames to prevent bleed through of the default ad.
  • Another way to mitigate issues listed above is to send multiple video watermarks ahead of the splicing point, each of them carrying information about timing of the splice point, in addition to the ad ID. For example, the timing of the splicing point can be expressed as number of video frames between the marked frame and the start of the default ad. Alternatively the timing information could be expressed as a count of a predefined timing unit, say as a number of 10 ms intervals, from the watermarked frame to the insertion point. Alternately, the timing information could be expressed as a time value on a reference timeline that is known by other means, such as through other video watermark messages, audio watermark messages, audio or video fingerprinting systems, or metadata transmitted together with the programming content. Redundant watermarking reduces the risk that the mark will be missed, and allows a flexible selection of which frame needs to carry the timing information. Furthermore, the timing information can be protected using error correction codes that are well known to those skilled in the art.
  • One way to insert advanced information about pending default ads is to put non-replaceable ads in front of default ads, and during non-replaceable ads send the timing info and replacement ad ID for all default ads. Of course, it is possible to insert advanced information about pending default ad in the program content itself. The 4 second lead time between the decision to allow DAI and the start of the DAI slot, as specified in SCTE 35 standard, leaves plenty of room for redundant delivery of multiple replacement ad IDs and their timing information.
  • It should be noted that the an ad ID and timing information represent relatively small payload which could easily fit the user_private_message( ) specified by ATSC in https://www.atsc.org/wn-content/uploads/2017/03/A336-2017-Content-Recovery-in-Redistribution-Scenarios-1.pdf. For example, ad ID can be 72 bit long and timing info in the form of 10 ms counts can be 16 bit long, but protected using error correction code BCH(63,16,11) with one bit reserved. This could be placed into 136-bit payload of user_private_message( ).
  • As mentioned above the ATSC audio watermarks have much smaller throughput than video watermarks, and they don't have specified general-purpose payloads. Yet they can also be used as a vehicle to carry replacement ad IDs and their timing information for the advanced notification about pending default ads. A possible approach is to allow audio watermark embedder to modify scramble sequence used in standard ATSC payloads so that standard audio watermark detector would fail to extract embedded payload. Modified scramble sequence should be delivered over the broadband together with other DAI related information according to standard web protocols. Once this modified scramble sequence is received the audio watermark detector should attempt decoding subsequent payloads with both standard and modified sequence for a predefined period of time, or until detection of watermark segment end. When a payload is detected with the modified scramble sequence, the detector will understand that it contains replacement ad ID and time to default ad start. For example, the replacement ad ID can be 34-bit ad ID and time to default ad start can be 16-bit counter of 10 ms intervals.
  • Having in mind relative strengths and weaknesses of audio and video watermarking technologies it is possible to combine them so that audio watermarks are used to identify the broadcast channel and address of the server associated with broadcast channel which is designated to support DAI, while video watermarks are used to carry replacement ad ID and timing information.
  • Security Considerations
  • The main security objective is to prevent a foreign ad replacement application to read embedded watermarks and discover start time and duration of replaceable ads. In order to achieve this, it is desirable that DAI client in the terminal device and DAI decisioning servers should perform mutual authentication based on Transport Layer Security (TLS) protocol. The DAI clients should receive DAI instructions only from authenticated DAI decisioning servers, and DAI decisioning servers should provide DAI instructions only to authenticated DAI clients. Compromised certificates could be revoked using Online Certificate Status Protocol (OCSP)
  • Clearly if only default ads are marked with video watermarks it would be easy to identify marked frames and replace them. Similarly, if default ads are marked with video watermarks with distinct properties, such as distinct frame structure, it would be unsecure. Therefore, it is desirable to embed watermarks in advance of default ads, as proposed above.
  • It is important that the proposed 16-bit timer is not easy to extract and use to identify the start time of the default ad. For example, in the case of video watermarks based on the user_private_message( ) specified by ATSC described above, this timer is protected by BCH(63,16,11) with one bit reserved. After that it can be scrambled with one-time scrambling pattern 64-bit long, that is securely delivered to an authenticated DAI app during delivery of other DAI related information over the broadband. Since this is one-time pattern associated with a particular replacement ad, reverse engineering of (e.g. by measuring actual time between the watermark and the replacement start) it is not going to help with other DAI instances. Similarly, the audio watermarks are scrambled with 127-bit long modified scramble sequence that is unique for a particular default ad.
  • The insertion end point, or default ad duration, could be specified with respect to the default ad start and pre-fetched over the broadband. Presumably the inventory decisioning logic will select replacement ads that closely fit the duration of the default ads. Alternatively, the end of the default ad could be specified using a timer embedded during the default ad in a manner similar to that described for the timer used to specify the start of the default ad as descried above.
  • In order to further frustrate a determined attacker, it is possible to introduce a decoy watermark messages that would use ad IDs and time stamps that are actually not associated with any replacement ads, and approved DAI app will simply discard those because the ad ID will not match any of the replacement ads that are pre-fetched.
  • Upstream User Action Detection
  • One of the issues listed above is to detect user action on a device upstream from TV set, such as STB or DVR and act accordingly. One of the objectives could be that DAI application matches the user selection, such as pause, speed change, skip, or volume change. Another option is to abandon DAI whenever upstream user action is detected, and to return to default ad. Presumably the default ad will exhibit results of the user action too. The third option is to make user aware that the current presentation is coming from DAI app, and if user want to execute action on an upstream device it is necessary to first exit the current presentation. Any of these options would prevent user to suspect a malfunctioning of the upstream device.
  • Detection of many common changes to the presentation of the default ad by the upstream device can be determined using “loss of continued watermark detection” as an indicator. For this reason, it is beneficial that the default ad contains watermarks throughout their duration and that the TV use their continued detection (or lack thereof) as an indicator of continued receipt. For this reason, continued application of the watermark transmission and detection techniques described above for the duration of the default ad presentation is beneficial.
  • Our research shows that ATSC video watermarks can reliably detect upstream pause, speed change, or skip and could approximately determine speed change or skip size as long as the default ads are embedded with a string of video watermarks with a payload that includes timing information, say time from the beginning of the default ad. Therefore, the ATSC video watermarks can be used to adjust the timing of the DAI presentation to in correspondence to timing changes in the upstream content. If the adjustments of DAI presentation are made it would be desirable to inform user of the adjustment made using a partial overlay message. For example, if fast-forward is detected at 2× rate the replacement ad should be fast forwarded at 2× and an overlay should inform user that 2× playback is executed.
  • Our research also shows that certain upstream user actions, such as channel changes, pause, speed change and skip can be identified by a brief digital silence interval. Note that audio watermarks can cover digital silence intervals preexisting in native audio as disclosed in U.S. Pat. No. 9,805,434. Therefore, digital silence gaps can be used to trigger the end of DAI and return to default ad or whatever new channel user is selecting.
  • Our research further shows that volume change request sent to STB or DVR is most of time not actually executed on upstream device, but rather it is communicated to the actual audio rendering device such as TV set. In this case the TV set will get audio volume information and could pass it to DAI ap. However, it is also possible to do a real time audio loudness measurement and adjust DAI loudness accordingly.
  • Some user actions may cause partial screen overlay that could be masked in the case of DAI. For example, the user may expect volume control overlay when trying to adjust volume. Similarly, menu selection on upstream device may trigger picture-in-picture with menu options. Even external event such as a phone call may create an overlay with the caller ID, which could be masked in the case of DA. One of the solutions for those cases is, of course, to have user be aware that they are watching web-based content, and that it needs to exit it in order to return to desired screen. Examples of such solutions include display of a graphic icon or informative text superimposed on the inserted advertisement by the TV or illumination of an indicator on another visible location (e.g. TV frame or remote control).
  • Yet another solution is to have a screen state detection logic that would detect such overlays and terminate DAI automatically. Our research shows that every device, such as STB or DVR, has a limited set of display overlay options, and that they can be identified in advance and that their templates can be stored on the web servers. Any device could download those templates and try to detect them on the screen by correlating specific portions of the screen with the templates. If the correlation is above a threshold, the overlay detection is declared and DAI can be modified (e.g. by conforming, skipping, or terminating the presentation).
  • Yet another solution is to compare video fingerprints which are extracted upstream of the STB to video fingerprints extracted in the TV. Differences between the two fingerprints can be attributed to video modification by the STB and overlay detection is declared and the DAI can be modified (e.g. by conforming, skipping, or terminating the presentation).
  • The above proposed solutions can be combined in various ways. For example, if audio gap is detected, the device may delay taking down the replacement ad while video watermark detector tries to interpret user action and adjust DAI accordingly. But if those attempts fail within a predefined time interval, the replacement ad should be taken down.
  • Similarly, the user should be informed that the current presentation is coming from a DAI app in parallel with attempts to detect screen overlays and automatic DAI termination, so that if screen overlay detection fails the user has the option of manually exiting the replacement ad.
  • Watermarking Approach
  • The watermarking approach disclosed herein emphasizes three capabilities: 1) ATSC Interoperability; 2) reliability; and 3) security. Interoperability means that there is interoperability with other uses of the ATSC A/335 and A/336 specifications, including the use of A/336 framing including message header and CRC. This approach also permits multiplexing of Project OAR (OAR) (https://projectoar.org/) and ATSC messages. Thus, ATSC and OAR watermark message protocols will be non-interfering and broadcasters will be able to send watermark messages to both OAR and ATSC clients at the same time. Likewise, OAR TVs and ATSC TVs will both be able to receive the broadcast and operate correctly. This approach enables the option of cleartext transmission of timestamps in OAR payloads.
  • In more detail, OAR messages use the extensibility method defined in A/336 for introducing new watermark message formats. OAR defines a message format using with the A/336 extensibility approach and requests that ATSC add it to their registry. This allows any TV to distinguish OAR and ATSC messages.
  • It is also desirable for OAR to: (a) permit safe launch frames to be announced/identified so that launch success is not dependent on a single frame (also providing a reliability benefit); (b) allow multiplexing OAR with other messages during default ads; and (c) enable joint ATSC/OAR usage of timestamps.
  • Regarding reliability, it is noted that a weak error correction/detection scheme will cause watermark failures. Low-bitrate coding and high motion video will cause intermittent watermark loss and high motion video can cause continuous watermark degradation (not just sporadic). This will cause insertion opportunities to be missed, failed timeline tracking, or erroneous DAI termination. To address these issues, the present disclosure enables matched filtering of payloads with advanced error correction and supports marked pre-roll. The present disclosure recognizes that matched filtering is far superior to Single Error Correction Double Error Detection (SECDED). Matched filtering is a provably optimal method for detecting a known signal and is guaranteed to outperform error correction/detection schemes like SECDED/BCH/Reed-Solomon, while also being much simpler. These other techniques are only needed when the reader doesn't know the message being transmitted
  • Also, matched filtering is easily introduced into the OAR architecture via decision server response. It is sufficient to include the watermark message in the decision server response (or enough info for client to synthesize it). Separation of static (avail description) and dynamic (timecode) data may be beneficial. Note that most “watermark fields” don't have to be in the watermark; avail ID and timecode are the only essential ones.
  • To illustrate how payload architecture impacts reliability, FIG. 1 shows comparative testing of different approaches. During these tests, performance of a sample implementation was measured across a variety of payload encoding methods. Scene Change frames are typically encoded as I-frames and enable more reliable watermark recovery. Reliable recovery of all frames is necessary for low-latency trick-play tracking.
  • Regarding security, it is desirable that security is preserved by ensuring that a watermark cannot be interpreted without decision response and decryption keys. Since key management is complex and costly, the present disclosure uses mutual authentication as an alternative to KMS. In more detail, TVs are provisioned by OAR operator with a unique client certificate tied into OAR PKI. Decisioning servers provide decisioning responses only to authenticated TVs. Decision responses contain all watermark fields; watermarks carry very limited information. Compromised certificates can be revoked using Online Certificate Status Protocol (OCSP). This eliminates the need for symmetric key distribution (requires certificate distribution only). It is noted that mutual authentication protocol impacts decisioning server operation and that certificate management and device provisioning are still required. Process development and effort is required to detect, revoke compromised certificates.
  • In accordance with one embodiment of the present disclosure, an important feature is to swap the publisher data paths. See FIG. 2. This involves swapping the publisher outputs, so the encrypted message is in the Decision Response and the payload is in the watermark message. The encrypted message is sent in the Decision Response. Payload in encrypted message has increased size and can be a list (wildcard support not recommended), and run-in and timestamp are not carried in the encrypted message. The watermark carries only: A/336 run_in and header; payload (with increased size); timestamp (encryption optional) with BCH error correction. This yields 400% bit error tolerance vs. SECDED. To enable ATSC compatibility, two watermark payloads should be defined; one with an encrypted timestamp and one cleartext.
  • Decision Response
  • “Watermark payload to match to (may include wildcards)” is replaced by: 1) Header (unencrypted): watermark_version; consortium_key_id; and random_number 2) Consortium encrypted block: validation; publisher_id; publisher_key_id; and random_number; 3) Publisher encrypted block: validation; ad_duration; and one or more payloads to match to.
  • The watermark payload is described in FIG. 3.
  • OAR participant features relate to both publishers and the TV. For publishers, the payload must be selected randomly to ensure low probability of collisions. Also, decisions applicable to multiple avails must be specified via payload list rather than wildcard. Timestamp encryption is optional. For the TV, decryption is applied to the encrypted message in the decision response instead of an encrypted watermark payload. Also, matched filtering is used for watermark payload detection. BCH error correction is used for timestamp payload detection.
  • It is understood that the various embodiments of the present invention may be implemented individually, or collectively, in devices comprised of various hardware and/or software modules and components. These devices, for example, may comprise a processor, a memory unit, an interface that are communicatively connected to each other, and may range from desktop and/or laptop computers, to consumer electronic devices such as media players, mobile devices and the like. For example, FIG. 4 illustrates a block diagram of a device 1000 within which the various disclosed embodiments may be implemented. The device 1000 comprises at least one processor 1002 and/or controller, at least one memory 1004 unit that is in communication with the processor 1002, and at least one communication unit 1006 that enables the exchange of data and information, directly or indirectly, through the communication link 1008 with other entities, devices and networks. The communication unit 1006 may provide wired and/or wireless communication capabilities in accordance with one or more communication protocols, and therefore it may comprise the proper transmitter/receiver antennas, circuitry and ports, as well as the encoding/decoding capabilities that may be necessary for proper transmission and/or reception of data and other information.
  • Referring back to FIG. 4 the device 1000 and the like may be implemented in software, hardware, firmware, or combinations thereof. Similarly, the various components or sub-components within each module may be implemented in software, hardware or firmware. The connectivity between the modules and/or components within the modules may be provided using any one of the connectivity methods and media that is known in the art, including, but not limited to, communications over the Internet, wired, or wireless networks using the appropriate protocols.
  • Various embodiments described herein are described in the general context of methods or processes, which may be implemented in one embodiment by a computer program product, embodied in a computer-readable medium, including computer-executable instructions, such as program code, executed by computers in networked environments. A computer-readable medium may include removable and non-removable storage devices including, but not limited to, Read Only Memory (ROM), Random Access Memory (RAM), compact discs (CDs), digital versatile discs (DVD), etc. Therefore, the computer-readable media that is described in the present application comprises non-transitory storage media. Generally, program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.
  • The foregoing description of embodiments has been presented for purposes of illustration and description. The foregoing description is not intended to be exhaustive or to limit embodiments of the present invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of various embodiments. The embodiments discussed herein were chosen and described in order to explain the principles and the nature of various embodiments and its practical application to enable one skilled in the art to utilize the present invention in various embodiments and with various modifications as are suited to the particular use contemplated. The features of the embodiments described herein may be combined in all possible combinations of methods, apparatus, modules, systems, and computer program products.

Claims (16)

What is claimed is:
1. A method of facilitating dynamic ad insertion in content comprising:
assigning a default ad an identifying number, wherein the default ad is inserted into programming content at a splicing location in the programming content;
linking the identifying number to a replacement ad;
generating a watermark payload that includes the identifying number;
embedding the content with the watermark payload;
broadcasting the content to a client device;
detecting the embedded watermark payload in the content using a client device; and
inserting a replacement ad associated with the identifying number at the splicing location in the programming content.
2. The method of claim 1 further comprising:
counting bit mismatches between detected identifying number and an expected identifying number; and
initiating the inserting if the count is below a threshold.
3. The method of claim 2 wherein the identifying number is selected such that each number is statistically independent and uncorrelated from other identifying numbers.
4. The method of claim 2 wherein the embedded watermark payload contains an owner ID and a channel ID.
5. The method of claim 1 further comprising inserting a plurality of black frames at the beginning of the default ad.
6. The method of claim 1 further comprising including information regarding when programming content will return.
7. The method of claim 1 further comprising:
embedding multiple video watermarks ahead of the splicing location, each video watermark carrying information about the timing of the splice point in addition to the identifying number.
8. The method of claim 1 further comprising using video watermarks to carry the identifying number and timing information and using audio watermarks to identify the broadcast channel and address of a server associated with a broadcast channel.
9. The method of claim 1 further comprising performing mutual authentication based on Transport Layer Security (TLS) protocol using a DAI client in a terminal device and DAI decisioning servers.
10. The method of claim 1 further comprising:
embedding the default ad with watermarks throughout its duration; and
using the receiver device to determine whether there has been a loss of continued watermark detection, whereby user action upstream of the receiver device is detected.
11. The method of claim 1 further comprising detecting overlays and terminating the display of the replacement ad upon such detection.
12. The method of claim 11 wherein detecting overlays comprises:
comparing video fingerprints extracted upstream of a set top box with video fingerprints extracted from a television; and
terminating the replacement ad upon the detection of differences between the video fingerprints.
13. The method of claim 11 wherein identifying number is not linked to any replacement ad, wherein a decoy watermark is created.
14. The method of claim 12 wherein detecting further comprises ignoring the identifying number that is not linked to any replacement ad.
15. A device comprising:
a first processor; and
a first memory comprising processor executable code, the processor executable code when executed by the processor causes the device to:
assign a default ad an identifying number, wherein the default ad is inserted into programming content at a splicing location in the programming content;
link the identifying number to a replacement ad;
generate a watermark payload that includes the identifying number;
embed the content with the watermark payload;
broadcast the content to a client device;
detect the embedded watermark payload in the content using a client device; and
insert a replacement ad associated with the identifying number at the splicing location in the programming content.
16. A computer program product, embodied on one or more computer readable media and comprising:
program code for assigning a default ad an identifying number, wherein the default ad is inserted into programming content at a splicing location in the programming content that is implemented at least partially in hardware;
program code for linking the identifying number to a replacement ad that is implemented at least partially in hardware;
program code for generating a watermark payload that includes the identifying number that is implemented at least partially in hardware;
program code for embedding the content with the watermark payload that is implemented at least partially in hardware;
program code for broadcasting the content to a client device that is implemented at least partially in hardware;
program code for detecting the embedded watermark payload in the content using a client device that is implemented at least partially in hardware; and
program code for inserting a replacement ad associated with the identifying number at the splicing location in the programming content that is implemented at least partially in hardware.
US17/006,751 2019-08-28 2020-08-28 Watermark-based dynamic ad insertion Abandoned US20210076095A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/006,751 US20210076095A1 (en) 2019-08-28 2020-08-28 Watermark-based dynamic ad insertion
US18/476,271 US20240098334A1 (en) 2019-08-28 2023-09-27 Watermark-based dynamic ad insertion

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962893138P 2019-08-28 2019-08-28
US201962909139P 2019-10-01 2019-10-01
US17/006,751 US20210076095A1 (en) 2019-08-28 2020-08-28 Watermark-based dynamic ad insertion

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/476,271 Continuation US20240098334A1 (en) 2019-08-28 2023-09-27 Watermark-based dynamic ad insertion

Publications (1)

Publication Number Publication Date
US20210076095A1 true US20210076095A1 (en) 2021-03-11

Family

ID=74850294

Family Applications (2)

Application Number Title Priority Date Filing Date
US17/006,751 Abandoned US20210076095A1 (en) 2019-08-28 2020-08-28 Watermark-based dynamic ad insertion
US18/476,271 Pending US20240098334A1 (en) 2019-08-28 2023-09-27 Watermark-based dynamic ad insertion

Family Applications After (1)

Application Number Title Priority Date Filing Date
US18/476,271 Pending US20240098334A1 (en) 2019-08-28 2023-09-27 Watermark-based dynamic ad insertion

Country Status (1)

Country Link
US (2) US20210076095A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11343565B2 (en) * 2020-04-08 2022-05-24 Roku, Inc. Content-modification system with feature for detecting and responding to a content modification by a tuner device
US11463744B2 (en) * 2020-10-29 2022-10-04 Roku, Inc. Use of primary and backup instances of supplemental content to facilitate dynamic content modification

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US20090313318A1 (en) * 2008-06-13 2009-12-17 Dye Thomas A System and method using interpretation filters for commercial data insertion into mobile computing devices
US20100145926A1 (en) * 2007-04-05 2010-06-10 J4Ad Co., Ltd. System for providing advertisements and method thereof
US20120117584A1 (en) * 2010-11-01 2012-05-10 Gordon Donald F Method and System for Presenting Additional Content at a Media System
US20120116883A1 (en) * 2010-11-08 2012-05-10 Sony Corporation Methods and systems for use in incorporating targeted advertising into multimedia content streams
US20130006866A1 (en) * 2011-06-30 2013-01-03 Ramesh Pendakur Method and apparatus for dynamic, real-time ad insertion based on meta-data within a hardware based root of trust
US8752085B1 (en) * 2012-02-14 2014-06-10 Verizon Patent And Licensing Inc. Advertisement insertion into media content for streaming
US20140282695A1 (en) * 2013-03-15 2014-09-18 Majd Bakar Systems, methods, and media for presenting advertisements
US20160182977A1 (en) * 2014-12-19 2016-06-23 Telefonaktiebolaget L M Ericsson (Publ) User interaction with advertisements on hybrid terminals
US20160373418A1 (en) * 2015-06-17 2016-12-22 Telefonaktiebolaget L M Ericsson (Publ) Method for Enabling a Secure Provisioning of a Credential, and Related Wireless Devices and Servers
US20170169462A1 (en) * 2015-12-11 2017-06-15 At&T Mobility Ii Llc Targeted advertising
US20180234728A1 (en) * 2017-02-10 2018-08-16 Samsung Electronics Co., Ltd. Display device and method for replacing advertisement
US20210176538A1 (en) * 2016-08-01 2021-06-10 Iheartmedia Management Services, Inc. Media substitution task based on broadcast watermark

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US20100145926A1 (en) * 2007-04-05 2010-06-10 J4Ad Co., Ltd. System for providing advertisements and method thereof
US20090313318A1 (en) * 2008-06-13 2009-12-17 Dye Thomas A System and method using interpretation filters for commercial data insertion into mobile computing devices
US20120117584A1 (en) * 2010-11-01 2012-05-10 Gordon Donald F Method and System for Presenting Additional Content at a Media System
US20120116883A1 (en) * 2010-11-08 2012-05-10 Sony Corporation Methods and systems for use in incorporating targeted advertising into multimedia content streams
US20130006866A1 (en) * 2011-06-30 2013-01-03 Ramesh Pendakur Method and apparatus for dynamic, real-time ad insertion based on meta-data within a hardware based root of trust
US8752085B1 (en) * 2012-02-14 2014-06-10 Verizon Patent And Licensing Inc. Advertisement insertion into media content for streaming
US20140282695A1 (en) * 2013-03-15 2014-09-18 Majd Bakar Systems, methods, and media for presenting advertisements
US20160182977A1 (en) * 2014-12-19 2016-06-23 Telefonaktiebolaget L M Ericsson (Publ) User interaction with advertisements on hybrid terminals
US20160373418A1 (en) * 2015-06-17 2016-12-22 Telefonaktiebolaget L M Ericsson (Publ) Method for Enabling a Secure Provisioning of a Credential, and Related Wireless Devices and Servers
US20170169462A1 (en) * 2015-12-11 2017-06-15 At&T Mobility Ii Llc Targeted advertising
US20210176538A1 (en) * 2016-08-01 2021-06-10 Iheartmedia Management Services, Inc. Media substitution task based on broadcast watermark
US20180234728A1 (en) * 2017-02-10 2018-08-16 Samsung Electronics Co., Ltd. Display device and method for replacing advertisement

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11343565B2 (en) * 2020-04-08 2022-05-24 Roku, Inc. Content-modification system with feature for detecting and responding to a content modification by a tuner device
US11533533B2 (en) 2020-04-08 2022-12-20 Roku, Inc. Content-modification system with feature for detecting and responding to content modifications by tuner devices
US11575963B2 (en) 2020-04-08 2023-02-07 Roku, Inc. Content-modification system with feature for detecting and responding to a content modification by a tuner device
US11785291B2 (en) 2020-04-08 2023-10-10 Roku, Inc. Content-modification system with feature for detecting and responding to content modifications by tuner devices
US11463744B2 (en) * 2020-10-29 2022-10-04 Roku, Inc. Use of primary and backup instances of supplemental content to facilitate dynamic content modification
US20220385958A1 (en) * 2020-10-29 2022-12-01 Roku, Inc. Use of primary and backup instances of supplemental content to facilitate dynamic content modification
US11653038B2 (en) * 2020-10-29 2023-05-16 Roku, Inc. Use of primary and backup instances of supplemental content to facilitate dynamic content modification

Also Published As

Publication number Publication date
US20240098334A1 (en) 2024-03-21

Similar Documents

Publication Publication Date Title
US20240098334A1 (en) Watermark-based dynamic ad insertion
US11368766B2 (en) System and method for signaling security and database population
US10178443B2 (en) Enhanced metadata and content delivery using watermarks
US20140325550A1 (en) Real-time anti-piracy for broadcast streams
KR101529082B1 (en) Apparatus for watermarking by dividing off tracking information and method therefor
CN103686333B (en) A kind of audio and video guard method and audio-video terminal
KR20170043627A (en) Watermark detection using a multiplicity of predicted patterns
US11632597B2 (en) Responding to emergency-alert audio tone by abandoning dynamic content modification
CN102860029B (en) Broadcast for media data flow controls
US20200275168A1 (en) Use of Watermarking to Trigger Fingerprint-Related Action
US8571213B2 (en) Security method for preventing the unauthorized use of multimedia contents
US11343593B2 (en) Use of watermarking to control abandonment of dynamic content modification
US20170251254A1 (en) Tracing piracy of live broadcasts
US8885816B2 (en) Method for detecting an illicit use of a security processor
US20230403416A1 (en) Method and system for re-uniting metadata with media-stream content at a media client, to facilitate action by the media client
WO2020263621A1 (en) Use of watermarking to trigger fingerprint-related action
JP2006042108A (en) Decoding method and device

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION