System and method for dynamic video advertisement replacement
Through the combination of automatic content recognition head-end and addressable TV engine, dynamic video advertising replacement is realized, solving the problems of untimely and poor targeted advertising replacement in the prior art, and improving the advertising effect and user experience.
Patent Information
- Application Number
- CN202210312783.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-03-02
- Filing Date
- 2016-08-16
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2036-08-16
AI Technical Summary
The prior art is difficult to achieve dynamic video advertising replacement, resulting in poor targeting and user experience of advertising.
Monitor the video stream through the head end of the automatic content recognition (ACR), capture the fingerprint of the ad point, and compare it with the stored fingerprint to detect the location of the ad point. At the same time, use the addressable TV (ATV) engine to determine whether the advertisement deviates from the target, and if it deviates, replace the advertisement in time.
It realizes dynamic video ad replacement, improves the purpose and user experience of advertising, and enhances the performance of advertisers' activities.
Smart Images

Figure CN114549087B_ABST
Abstract
Description
[0001] Information about divisional applications
[0002] This case is a divisional application. The parent case of this divisional application is a Chinese invention patent application with the invention name “Dynamic Video Advertisement Replacement”, the application date is August 16, 2016, and the application number is 201680057676.1. Technical Field
[0003] The present application relates to video advertisements, and more particularly, to systems and methods for dynamic video advertisement replacement. Background Art
[0004] Media consumption devices such as smart televisions (TVs) can access broadcast digital content and receive data such as streaming media from a data network such as the Internet. Streaming media refers to services in which media content such as movies or news can be provided to end users based on request via telephone lines, cables, the Internet, etc. For example, a user can watch a movie without having to leave the user's residence. Also, a user can access various types of educational content, such as video lectures, without having to actually arrive at a school or educational institution.
[0005] As the number of media consumption devices continues to increase, video content generation and delivery may similarly increase. As the use of media consumption devices (such as smartphones, tablets, and smart televisions) to access streaming media increases, content or network providers (such as local broadcasters, multi-channel networks, and other content owners / distributors) may distribute contextually relevant materials to viewers who are consuming streaming media (e.g., media programs). For example, local broadcasters may include contextually relevant advertisements and interactive content with respect to the streaming media. Summary of the invention
[0006] One aspect of the present invention relates to a system, comprising: an automatic content recognition (ACR) headend, which is configured to: store a first fingerprint identifying an advertisement ad point; monitor the video stream before transmitting the video stream to a client device; capture a second fingerprint during the monitoring of the video stream; detect the advertisement point in the video stream by comparing the second fingerprint from the video stream with the stored first fingerprint; monitor the client device for streaming the video stream on the client device; upon detecting that the advertisement point is about to arrive during the streaming of the video stream on the client device, immediately notify the client device; and an addressable television (ATV) engine, which is in operational communication with the ACR front end, the ATV engine being configured to: determine whether a first advertisement to be delivered to the advertisement point is off target for the advertisement point; when the first advertisement is off target for the advertisement point, notify the client device to replace the first advertisement with a replacement advertisement.
[0007] Another aspect of the present invention relates to a method, comprising: storing a first fingerprint identifying an advertisement ad spot; monitoring a video stream before transmitting the video stream to a client device; capturing a second fingerprint during monitoring the video stream; detecting the advertisement spot in the video stream by comparing the second fingerprint from the video stream with the stored first fingerprint; monitoring the client device for streaming the video stream on the client device; notifying the client device upon detecting that the advertisement spot is about to arrive during the streaming of the video stream on the client device; determining whether a first advertisement to be delivered to the advertisement spot is off target for the advertisement spot; and notifying the client device to replace the first advertisement with a replacement advertisement when the first advertisement is off target for the advertisement spot. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The invention will be more fully understood from the detailed description given below and from the drawings of various embodiments of the invention. However, the drawings should not be considered to limit the invention to the specific embodiments, but are for explanation and understanding only.
[0009] Figure 1 The diagram illustrates a system for creating, selling, buying, fulfilling, and coordinating dynamic advertising (ad) replacement inventory according to one embodiment of the present invention.
[0010] Figure 2A and 2B Illustrated is a sequence diagram outlining the systems and methods described herein, according to one embodiment of the present invention.
[0011] Figure 3A system for creating, selling, buying, fulfilling, and coordinating dynamic advertising replacement inventory according to another embodiment of the present invention is illustrated.
[0012] Figure 4 is a flow chart of a method for dynamic advertisement replacement according to an embodiment of the present invention.
[0013] Figure 5 is a flow chart of a method for dynamic advertisement replacement according to another embodiment of the present invention.
[0014] Figure 6 is a flow chart of a website yield optimization method for improving programmatic TV (PTV) campaign performance by dynamically adjusting how much PTV inventory is sold according to one embodiment of the present invention.
[0015] Figure 7 Flow chart of a website revenue optimization method for improving overall campaign performance by adjusting ATV selling CPM price according to PTV campaign performance.
[0016] Fig. 8A Flow chart of a website revenue optimization method for improving overall campaign performance by adjusting the lowest selling CPM price of PTV (or broadcast) ads when not replacing the PTV (or broadcast) ads with replacement ads that do not have a floored CPM price.
[0017] Figure 8B 4 is a flow chart of a website revenue optimization method for automatically adjusting a purchase CPM price to obtain approval for a PTV advertising campaign from an advertising point seller according to an embodiment of the present invention.
[0018] Fig. 9 The diagram illustrates a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. DETAILED DESCRIPTION
[0019] Digital advertising (primarily web and mobile) is typically made available by publishers via a supply-side platform (SSP) or ad network. These publishers provide digital advertising inventory stored on computers such as servers (e.g., web servers and other publishing platforms), which include computer storage devices for storing digital files to include web pages and computer or device applications and the like. This digital advertising inventory (or available advertising spots or slots) is sometimes booked or agreed upon directly and based on the number of impressions (or views) that the advertiser seeks for its advertising campaign. However, more recently, it has become customary for SSPs and ad networks to make this inventory available through the server storage of digital advertising exchanges. Advertisers (e.g., via advertising agencies) may then contact through a demand-side platform (DSP) to set up an advertising campaign, which uses one or more advertising exchanges to find available inventory to be filled with the advertiser's ads.
[0020] Ad exchanges can perform the buying and selling of digital ad inventory in real time. For example, when a consumer uses a laptop to display a web page containing space for an ad or video pre-roll ad, code on the web page contacts the ad exchange, which then opens an auction for the ad space by evaluating a campaign that has been set up to determine the highest bidder (which may be based on the target audience of the campaign). When the auction has been won, the winning ad is then served (or delivered) to the web page containing the ad space. It is also possible for the computing systems of DSPs and SSPs to communicate directly and negotiate the selling and buying of digital ad inventory without the help of ad exchanges, which typically have a target number of impressions as part of any synthesis agreement.
[0021] A broadcaster may be any operator responsible for distributing media and ad spots within a video stream to TVs and other client devices capable of streaming video. A broadcast may be considered a video stream (through which media is distributed) containing ad spots more commonly referred to as available ad spots or "slots" (e.g., time periods for inserting media segments). When a slot has been filled with a media segment, it will be referred to herein as an ad spot. An ad spot seller may be any number of organizations (e.g., a broadcaster, a platform operator, a cable network, or a media representative enterprise) that is responsible for selling TV ad spot inventory. For ease of explanation, a smart TV may be any device capable of receiving broadcast TV connected to the Internet and capable of determining what is being viewed.
[0022] Broadcast TV advertising has traditionally been generated and sold through a largely manual process, where transactions are conducted between advertisers and broadcasters via third-party agencies. More recently, the use of DSPs and programmatic TV (PTV) platforms or systems has become available, where advertisers or agencies can programmatically purchase broadcast TV advertising inventory, typically involving other third-party companies and platforms that manage and publicize inventory available from broadcasters and allow purchase of that inventory.
[0023] Until now, these two worlds have largely existed completely separate. However, as the expectations for the broadcast TV advertising industry have become increasingly targeted, the need for dynamic ad replacement (DAR) has grown, where, in the scenarios described herein, an end-user device (such as a smart TV, for example) can replace a broadcast TV ad with a more appropriate ad targeted to the user by streaming the ad over the Internet, thereby improving the performance of the advertiser's campaign and providing a better experience for the user by showing products that the user is more likely to be interested in.
[0024] A system and methods are disclosed that bring together digital broadcasts and broadcast TV ads to create and price TV DAR inventory that can be targeted in real time and allow this TV DAR inventory to be purchased programmatically through a disclosed computer system. In addition, the disclosed system and method automates the coordination of payment for the generated and sold broadcast TV ad inventory with the TV DAR inventory.
[0025] In one embodiment, for example, the system may include an automatic content recognition (ACR) headend, which is used to store a first fingerprint of an advertisement (ad) spot and to monitor the video stream before delivering the video stream to the smart TV. The ACR headend may further detect the advertisement spot by comparing the first fingerprint with a second fingerprint of the advertisement spot captured during monitoring of the video stream. The ACR headend may also monitor the channel watched on the smart TV, and when the advertisement spot is detected to be about to arrive in the video stream on the channel, the advertisement replacer client of the smart TV may be notified. The system may further include an addressable TV (ATV) engine in operational communication with the ACR headend (or operationally coupled to the ACR headend), wherein the ATV engine is used to determine whether the first advertisement to be delivered to the advertisement spot is off-target for the advertisement spot based on data of the advertising campaign. The ATV engine may then notify the ad replacer client to replace the first ad with an addressable ad when the first ad is off target for the ad spot, and provide criteria to the ad replacer client to constrain ad requests to obtain a second ad that is on target for the ad spot.
[0026] In a corresponding embodiment, the smart TV may then use these criteria to generate the ad request, which is sent to an SSP computing system or an ad exchange to be fulfilled. For example, the smart TV may include a non-transitory computer-readable medium storing a first set of instructions and a second set of instructions. The processing device of the smart TV may execute the first set of instructions to implement an automatic content recognition (ACR) client and execute the second set of instructions to implement an ad (ad) replacer client. The ACR client may send a frame of a video stream that will match the head-end ACR of an addressable television (ATV) system and forward an ACR event received from the head-end ACR that identifies the channel on which the video stream is being played to the ad replacer client. The ACR client may also notify the ad replacer client immediately after detecting an ad spot in the video stream. The ad replacer client may receive a notification from the ATV system indicating that the first ad scheduled for the ad spot deviates from the target for the ad spot and includes criteria for determining a second ad that reaches the target for the ad spot. The ad replacer may then generate an ad request including one or more parameters in accordance with the criteria and transmit the ad request to a supply-side platform where advertisers will bid to fill the ad slot with the second ad.
[0027] Figure 1 The diagram in illustrative illustrates an automated system 100 for creating, selling, fulfilling, and coordinating dynamic ad replacement inventory. The system 100 includes a dynamic ad replacement (DAR) manager 102 that coordinates aspects of selling, buying, fulfilling, and coordinating through an interactive computing system. The DAR manager 102 includes a programmatic TV (PTV) system 110, a data storage system 112, and an addressable TV (ATV) system 118. The system 100 may further include a broadcaster 104, a first brand owner 106, a demand side platform (DSP) computing system 108, an audience database 113, a viewing database 111, a second brand owner 114, another DSP computing system 116, and a smart TV 120 to which the broadcaster and the DAR manager deliver advertisements to fill the ad inventory.
[0028] In particular, a broadcaster 104 (e.g., an advertising spot seller) owns broadcast TV slots (e.g., inventory) that the broadcaster wants to sell and fill with advertisements. A first brand owner 106 wants to purchase the broadcast TV slots as part of an advertising campaign and may do so through a DSP computing system 108, which may perform negotiations and contracting between a PTV system 110 and the brand owner. Broadcaster 104 may further use PTV system 110 to make the broadcast TV slots available for purchase. DSP computing system 108 may use PTV system 110 to purchase broadcast TV inventory on behalf of first brand owner 106.
[0029] The PTV system 110 may use the data storage system 112 to make some of the broadcast TV advertising inventory available for dynamic advertising replacement by combining the audience data with the viewing data to make appropriate advertising targeting decisions for the ATV system 118 .
[0030] A second brand owner 114 wants to purchase the DAR inventory and can do so through another DSP computing system 116, which can perform negotiations and contracting on behalf of the second brand owner. The ATV system 118 can identify and present for sale dynamic advertising replacement inventory that targets advertising spots on specific smart TVs viewed by specific consumers based on information obtained from the data storage system 112. Consumers watch videos streamed to the smart TV 120, which can include broadcast TV ads delivered by the broadcaster 104 as part of a regular broadcast signal in some cases and dynamically replaced ads streamed over the Internet delivered by the addressable TV system 118 in other cases.
[0031] Figure 2A and 2B The diagram illustrates an overview according to one embodiment. Figure 1 100 and the DAR-related methods described herein. Advertisement point seller 204 may include a broadcaster, platform operator, cable network, or media representation enterprise and has TV broadcast slots (e.g., inventory) to sell to advertisers who want to fill TV broadcast slots with broadcast ads. Advertisement point seller 204 provides PTV system 110 with a schedule of available broadcast ad inventory and a rate card outlining the cost of the available inventory (206).
[0032] The first brand owner 106 may run a TV advertising campaign including broadcast TV ads. The first brand owner may create an advertising campaign using the DSP computing system 108, which will manage the campaign on behalf of the first brand owner (208). The DSP computing system 108 may communicate the campaign goals (including available budget, target audience, and desired number of impressions) to the PTV system 110 (210).
[0033] The data storage system 112 contains historical data about previous broadcast TV advertising campaigns, previous dynamic ad replacement campaigns, viewer profiles, and viewing patterns of the viewer profiles. The PTV system 110 may query the data storage system 112 for the broadcast TV network and time slot (or specific time point) that is most suitable for the campaign objectives provided by the first brand owner and the projected DAR impressions that may be generated based on the network and time slot (212). The data storage system 112 may then send the network and time slot information (214) and the number of projected DAR impressions for specific inventory on the network during the time period (216) to the PTV system 110.
[0034] The PTV system 110 analyzes the data received from the data storage system 112 to determine the most effective media plan that meets the campaign goals of the first brand owner 106, the most effective media plan consisting of the broadcast TV slots and cost per thousand impressions (CPM) (e.g., cost per thousand impressions or views) that are most suitable for the campaign, taking into account the available budget, target audience, and number of desired impressions. If the demand from the ATV system 118 is large enough, the PTV system 110 may decide to discount the CPM for the buyer, such as by referring to Figure 6 , 7 , 8A, and 8B are discussed in more detail. The PTV system 110 and the ATV system 118 can work together to reduce the effective CPM (eCPM) paid by the first brand owner, where the eCPM is the cost of one thousand (1,000) ad impressions after removing wasted impressions that did not hit the target audience defined within the ad campaign. For example, when the cost of the ad campaign for 1,000,000 impressions is $10,000, then the CPM would be $10.00. If it is assumed that 20% of the impressions are wasted on non-target audiences, then the cost of the campaign for 800,000 effective impressions is $10,000 and the eCPM becomes $12.50.
[0035] The PTV system 110 returns the media plan with the eCPM to the DSP computing system 108 (218). When the media plan and eCPM are acceptable to the first brand owner, the DSP computing system 108 is then used to execute the order for impressions in the PTV system 110 (220).
[0036] The PTV system 110 then makes an ad spot purchase from the ad spot seller 204 to secure a broadcast TV slot in order to fulfill the first brand owner's order (222). The purchase includes the slot presented on the media plan and an "add-on purchase" for additional impressions for the ATV system 118 (224). The PTV system 110 may determine the add-on purchase based on information queried from the data storage system 112 to understand ATV demand and the profit that may be obtained through the PTV system ad spot purchase. The ad copy may be assigned to the ad spot seller 204 through normal industry methods.
[0037] The second brand owner 114 wants to run a digital video advertising campaign that includes dynamic ad replacement (DAR). To do so, the second brand owner 114 can create an advertising campaign using the DSP computing system 116 that includes the available budget, the target audience, and the desired number of impressions (226). At some later time, the broadcaster 104 (represented by the ad spot seller 204) broadcasts the first brand owner's ad copy in the slot purchased as part of the ad spot purchase made by the PTV system 110 (228).
[0038] The smart TV 120 may use automatic content recognition (ACR) technology to identify that the advertising copy of the first brand owner 106 is to be displayed as part of the TV feed. Automatic content recognition may be based on fingerprinting, watermarking, or other technology that enables the smart TV 120 to identify the content being viewed on the TV display. For example, the fingerprinting technology processes individual video frames of the original content or the audio stream of the original content to generate a fingerprint sequence. The ACR client is at the ACR head end ( Figure 3 ), the fingerprint can then be matched with a similar fingerprint sequence generated by the smart TV 120 to determine if there is a match. Given a match, the ACR client can then identify the content as, for example, a program streamed to a specific channel. As another example, watermarking technology inserts a code sequence into individual video frames of the original content or an audio stream of the original content that is not detectable by the human eye or ear. The smart TV 120 can extract the inserted code sequence to identify the content.
[0039] By understanding the TV feed or program being displayed by the smart TV 120 and taking advantage of the time lag between the original broadcast content and the same content being received and displayed by the smart TV 120, the ACR client can give advance notice that the ad copy of the first brand owner 106 is about to be displayed. As will be explained in more detail, the ATV system 118 can also send targeting criteria to the smart TV 120 to target the DAR ad when the broadcast ad is off-target for the smart TV user. The smart TV 120 can use the targeting criteria to create an ad request (230), which the smart TV 120 can pass to the ATV system 118 or to a third-party supply-side platform to participate in an auction that ultimately fills the ad spot with a DAR ad.
[0040] The ATV system 118 may then query the data storage system 112 to determine the PTV performance of the potential ad spot campaign (232). If the PTV ad spot performance is poor, then certain website revenue optimizations may be performed to improve performance (see Figure 7 , 8A 8B), the website revenue optimization may be sent back to the ATV system 118 (234). The ATV system 118 may also query the data storage system 112 for the viewer profiles of the user(s) of the Smart TV (236). In response, the data storage system 112 may transmit the target profiles of the Smart TV users back to the ATV system 118 (238).
[0041] When the broadcast TV ad is to be replaced, then ATV system 118 bids to sell the dynamic ad replacement impression along with the user's targeting profile to DSP computing system 116, through which second brand owner 114 sets up a digital video ad campaign that includes dynamic ad replacement (DAR) (240).
[0042] DSP computing system 116 may use the provided viewer targeting profile to determine whether the bid for the dynamic ad replacement impression meets the target and is valuable enough to bid on, in which case DSP computing system 116 submits a bid for the bid for the dynamic ad replacement impression to the ATV system (242). If the bid submitted by DSP computing system 116 is the highest bid, then ATV system 118 accepts the bid from DSP computing system 116 (244). DSP computing system 116 may then send a reference to the ad copy that will be used to replace the broadcast TV ad to ATV system 118 (246).
[0043] The ATV system 118 may respond to the replacement ad request from the smart TV 120 with a replacement ad from the second brand owner 114 (248). The smart TV may then play the replacement ad in place of showing the broadcast TV ad. According to one embodiment, after the smart TV 120 has played the replacement ad copy for two (2) seconds or some other predetermined amount of time, the smart TV 120 reports one or more replacement ad (DAR) impressions to the ATV system 118, e.g., 0%, 25%, 50%, 75%, or 100% (250).
[0044] ATV system 118 reports the same DAR impression to DSP computing system 116, which is the DSP through which second brand owner 114 has participated in the auction for the ad spot (250'). DSP computing system 116 deducts payment for the DAR impression from the budget of the campaign set by the second brand owner and makes or registers this payment to ATV system 118 (252). ATV system 118 may then register the DAR impression with data storage system 112, providing details of both the first brand owner as the original advertiser and the second brand owner as the replacement advertiser (253).
[0045] At a time after the TV advertising campaign set up by the first brand owner 106 has been completed (all purchased broadcast TV advertising spots have been aired), the advertising spot seller 204 or allocation partner submits a report detailing the advertising spots in which TV ads from the first brand owner 106 were broadcast and the viewer impressions for the advertising spots to the PTV system 110 (254). Alternatively, the PTV system 110 may be integrated with the advertising spot seller's or allocation partner's platform or with a third-party platform that may provide data on the performance of the advertising spots in which TV ads from the first brand owner 106 were broadcast (including viewer impressions for the advertising spots).
[0046] PTV system 110 may query data storage system 112 for details of a DAR impression where the replaced broadcast TV advertisement corresponds to a campaign of the first brand owner (256). In response to the query, data storage system 112 may send details about the DAR impression to PTV system 110 (258).
[0047] The PTV system 110 creates a coordinated campaign report by removing the number of viewer impressions corresponding to the DAR impressions generated for each TV ad spot from the campaign report provided by the ad spot seller 204, such as in the example where the viewer of the smart TV 120 did not see the broadcast TV ad but instead saw the dynamic replacement ad. The PTV system 110 submits the coordinated campaign report to the DSP computing system 108 (260), such as the DSP used by the first brand owner 106 to set up its broadcast TV ad campaign.
[0048] The DSP computing system 108 adds any revenue share or fee to the coordinated campaign report and submits the coordinated campaign report to the first brand owner 106 (260'). The first brand owner 106 pays the DSP computing system 108 for the broadcast TV advertising campaign (264). The DSP computing system 108 deducts any revenue share or fee from the payment received from the first brand owner 106 and then pays the PTV system 110 for the broadcast TV advertising campaign (266). The PTV system 110 may then pay the broadcaster 104 or the advertising spot seller 204 for the broadcast TV slots that were considered part of the original broadcast TV advertising campaign (268).
[0049] Figure 3 Illustrated is a system 300 for creating, selling, buying, fulfilling, and coordinating dynamic advertisement replacement (DAR) inventory according to another embodiment of the present invention. According to an embodiment of the present invention, the system 300 may include an addressable TV (ATV) system 318 that performs dynamic advertisement replacement (DAR) on a smart TV 120. The ATV system 318 may include an ATV manager 305, an ATV engine 306, and an automatic content recognition (ACR) headend 307. The ATV system 318 may be a single system, or may be a distributed system executed on one or more power servers that are specialized or positioned to better perform the roles of the ATV manager 305, the ATV engine 306, and the ACR headend 307, respectively, as will be explained.
[0050] The ATV system 318 may be coupled to or in communication with the programmed TV (PTV) system 310, the data storage system 312, the video distributor 12, the video feed 14, and a plurality of smart TVs. Figure 3 1. One Smart TV 120 is depicted in FIG. Each Smart TV 120 may include an ad replacer client 356 and an ACR client 357. The video distributor 12 distributes the video and related metadata to the ATV system 318. The PTV system 310 may further be coupled to or in communication with a distributor ad point platform 10.
[0051] The data storage system 312 may include or be coupled with a viewing database 311 (having viewing data) and a viewer database 313 (having viewer data). The viewer data may include information such as TV devices and other household metrics (e.g., income, marital status, children, what cars are owned), and any data that may be associated with the Smart TV 120 or obtained from a third party associated with the IP address of the Smart TV of an individual consumer's household. The viewing data may be obtained directly from viewing activity on the Smart TV 120, which may be updated over time as the consumer continues to stream programming.
[0052] The smart TV 120 may communicate with a supply-side platform (SSP) computing system 16 and a video ad server 20, which in turn may communicate with one or more video demand-side platform (DSP) computing systems 308. These entities may participate in automated live auctions through computing systems having processing power and storage to fill ad spots with dynamic replacement ads as appropriate, as will be discussed in greater detail.
[0053] The ATV manager 305 may run on one or more servers and provide network access. An application programming interface (API) may provide for the insertion of ad spots for dynamic ad replacement through the ATV system 318. The API may provide a way for third parties to connect to the ATV system 318 to create and manage ad campaigns, upload ads, and perform other account specific tasks. These third parties may create campaigns for their advertisers on an agency basis.
[0054] The ATV manager 305 may also provide user interface (UI) insertion of ad spots that may be used for dynamic ad replacement. The ATV manager 305 may associate ad spots with appropriate target audiences and provide predictions of off-target audience volumes. The ATV manager 305 may further predict ATV CPM levels driven from off-target audiences.
[0055] The ATV manager 305 may further report any quality issues with the ad spots and the detection of the ad spots. For example, the ATV system 318 may determine that the video being uploaded is of sufficient quality to be detected by ACR, for example, the aspect ratio is sufficient and the bit rate is not too low. The ATV manager 305 may further ensure that the fingerprint of the ad is sufficient and detectable, and flag the ad when the bit rate is too low to be fingerprinted. The ATV manager 305 may perform tests on the ingested ad spots on the supported devices to ensure that the candidate replacement ads will be properly streamed and viewed on the devices. The ATV manager 305 may also ensure that the ad spots are properly detected, for example, by ACR, and flag any detection issues. Ensuring these qualities and proper detection enables DAR ads of addressable ads to be properly delivered.
[0056] The ATV manager 305 may further send the ad spots to the ATV engine 306 for ad replacement and provide real-time reporting on ad replacement and ad spot fulfillment of the broadcasted ads. The ATV manager 305 may also provide a real-time capability to modify the target audience. For example, the ATV manager 305 may detect many impressions from a certain audience (e.g., males in their thirties looking for power tools in England). The campaign manager may log into the ATV manager 305 and be presented with this particular audience and the ability to rationalize making that audience the new target audience for the campaign. This capability allows midway through a campaign to adjust what type of impressions are considered to be "on target" for the campaign.
[0057] The ATV manager 305 may further associate the minimum CPM expected for the ad spot within the ATV system 318 and may send the ATV impression to the PTV system 310. The ATV manager 305 may also report on waste reduction performance and addressable DAR performance, which will be discussed in more detail. Waste reduction refers to an effort to achieve an increased percentage of delivered ads to target ad spots that are streamed to a certain type of audience. The ATV manager 305 may also receive payments from addressable (ATV) advertisers or agencies and send payments to ad spot submitters (e.g., broadcasters or broadcast partners) for the replaced ads when revenue sharing with ad spot submitters.
[0058] The ATV engine 306 may run on one or more servers (or other computing devices) and receive requests for ad replacements from the smart TV 120. The ATV engine 306 may further use the target audience activity that set the ad spot to determine whether the ad spot is off target. The ATV engine 306 may retrieve audience data and viewing data from the data storage system 312 and analyze this data to determine whether the ad is on target or off target for a particular ad spot. The ATV engine 306 may further notify the smart TV 120 to replace the ad based on the website revenue optimization to increase the eCPM of the campaign, as will be explained in more detail ( Figure 6 , 7 , 8A and 8B). The ATV engine 306 may also send various criteria or parameters to the Smart TV 120 that the ad replacer client 356 may utilize to formulate ad requests that replace broadcast ads with addressable ads. These criteria may include, but are not limited to, demographics, geographic information, the language set on the Smart TV, and the like. The more criteria used to formulate an ad request, the more valuable it is to a (addressable ad) bidder who is deciding whether to bid for an ad spot.
[0059] The ACR headend 307 may run on one or more servers (or other computing devices) and monitor the live stream from the video feed 14 before delivering it to the smart TV 120. Thus, the ACR headend 307 may ingest the advertising spots and the broadcast ads that will be replaced according to the DAR method disclosed herein. The ACR headend 307 may fingerprint the advertising spots and store the fingerprints for comparison to enable detection of advertising spots within the monitored live stream. The ACR headend 307 may then notify the ARC client 357 on the TV channel that an advertising spot that may be filled by a replacement ad is coming, and notify the identity of the replacement ad when the ATV system 318 provides the replacement ad.
[0060] The video feed 14 may include a high quality video feed, such as high definition, 4K, ultra high definition video feeds and the like. The video feed is provided before the smart TV receives the video feed, and therefore has sufficient time to identify the advertising spots and replacement ads to be delivered to the smart TV.
[0061] The smart TV 120 can determine whether the smart TV is in a state of monitoring ACR activity. When the ACR capability is activated, the smart TV 120 can pass the matched ACR events to the ad replacer client 356. These ACR events can each contain a content ID (or key) from the ACR head end 307 that matches a specific advertising campaign. Knowing the advertising campaign, the ATV engine 306 can determine whether the advertisement is on target or off target, for example. The smart TV 120 can further provide temporary or permanent storage for ad replacement videos from the video ad server 20. The smart TV 120 can further facilitate the playback of ad replacement videos through a local player or through a network player executed within the ad replacer client 356.
[0062] The ACR client 357 can be integrated at a lower code level of the electronics of the smart TV (e.g., in firmware, for example), where the ACR client 357 can query frames of streaming video via the input source of the smart TV (e.g., delivering traditional broadcast or over-the-top (OTT) streaming). Over-the-top (OTT) streaming refers to the delivery of audio, video, and other media via the Internet without the need for multiple system operators to participate in the control or distribution of content. OTT content is delivered to terminal devices, so that the Internet Service Provider (ISP) only takes on the role of transmitting Internet Protocol (IP) packets. For either functionality, the ACR client 357 can be adapted to interact with the chipset manufacturer of the smart TV to obtain access to individual video frames displayed on the screen.
[0063] When activated by the smart TV 120, the ACR client 357 may send frames of the video feed to the ACR headend 307 to match with the fingerprint stored by the ACR headend 307. The ACR client 357 may send matched events (e.g., matched content or fingerprints of live video feeds) to the smart TV 120 and / or the ad replacer client 356. The ACR client 357 may further monitor any changes to the matched channel or video, for example, whether the channel or video stream changes immediately after detecting a match interruption. In one embodiment, the ACR client 357 may signal the ad replacer client 356 to download the application and pass in TV / client parameters such as the network ID, the channel it is on (channel ID), what video is detected, the current time, and the like that may be used by the ad replacer client 356 to perform ad replacement.
[0064] The ad replacer client 356 may operate at the application level of the operating system of the smart TV 120 and may be executed as a software development kit (SDK) that is pre-installed by the consumer on the operating system or later installed as an application on the smart TV 120. In one embodiment, the ad replacer client 356 may be executed in an application (Oracle's) running from a browser of the smart TV and displaying various different experiences. The experience may include replacing a video (eg, of a broadcast advertisement) at a precise time, and timing information may be received from the ACR client 357 .
[0065] More specifically, in one embodiment, the ad replacer client 356 may listen for ad replacement events from the smart TV 120 and receive the information necessary to send a call to the ATV engine 306 to prepare for ad replacement on the smart TV. Upon receiving the ad replacement event, the ad replacer client 356 may query the ATV engine 306 to confirm whether the broadcast ad is on target or off target for the ad point. When the ad point is off target, the ad replacer engine may request a new (or replacement) video ad from the SSP computing system 16, thereby providing the audience parameters received from the ATV engine 306. In another embodiment, the request is to the addressable TV system 318, which may also perform the role of the SSP computing system to provide replacement ads to the smart TV. The ad request may include criteria and / or parameters related to the ad campaign that reaches the target ad received from the ATV engine 306.
[0066] Upon a successful bid for an ad request (e.g., by a video DSP computing system 308), the ad replacer client 356 may receive a replacement ad from the appropriate video ad server 20 (or in some embodiments, from the addressable TV system 318 itself). The SSP computing system 16 (or the addressable TV system 318) may act as an ad exchange for addressable replacement ads while holding a real-time automated auction for ad spots. The SSP computing system 16 (or the addressable TV system 318) may then notify the smart TV 120 of the successful bid and the bidder.
[0067] The ad replacer client 356 may then download the replacement ad and store it in a temporary or permanent storage device. The ad replacer client 356 monitors the download speed relative to the file size to establish whether enough of the video has been downloaded to play smoothly without buffering. When the video can be played smoothly and seamlessly, the ad replacer client 356 may signal the smart TV 120 that the replacement ad can be played, or the ad replacer client 356 may play the replacement ad within its own browser at the appropriate time.
[0068] The ad replacer client 356 may further monitor the smart TV 120 for channel / video change events from the ACR client 357 and remove replacement ads as appropriate. The ad replacer client 356 may detect the channel change by receiving the channel change signal from the ACR client 357 and in response cancel or override the dynamic ad replacement that is no longer applicable for the upcoming ad spot (which may be different from the previous upcoming ad spot). This decision should be made within about 1 second (or less) so that the DAR functionality may not fall behind.
[0069] The ad replacer client 356 may further monitor the UI invoked locally or via HDMI or other means such as an electronic program guide (EPG). The ad replacer client 356 may remove the replacement ad or otherwise respond as quickly as possible, which may even involve anticipation of channel or state changes that affect the delivery of the replacement ad. The ad replacer client 356 may also send quartile impressions to the ATV engine 306 for the purpose of tracking and campaign ad fulfillment. A "quartile" is one quarter of an ad, such that an impression may be reported once at least one quarter of the ad is played.
[0070] The SSP computing system 16 may be integrated with the DSP computing system 308 or other exchanges to advertise video ad inventory (e.g., ad slots). The SSP computing system 16 may programmatically provide details about the expected video streams and data related to the expected audience for the ad inventory. This information may be provided to the addressable TV system 318 or otherwise stored in a database in the data storage system 312. The SSP computing system 16 may further allow multiple DSPs to bid on ad slots within the video ad inventory. Automating this bidding process allows it to occur quickly. The SSP computing system 16 may notify the winning bidder and download replacement ads for the winning bidder. The replacement ads may then be sent to the ad replacer client 356 to be streamed into the correct ad slot. The SSP computing system 16 may also facilitate the formation and execution of rules that specify who may bid and other ad exchange parameters that drive the bidding. For example, one such rule may include a minimum pricing.
[0071] The video ad server 20 may allow API ingestion of video to be served to the Smart TV 120. The video ad server 20 may also facilitate serving of video ads in multiple bandwidths and profiles, and manage significant bursts of load without degradation. The video ad server 20 may also receive (via impressions) and report (via API) the performance of video ads.
[0072] Figure 4It is a method of dynamic advertisement replacement according to an embodiment of the present invention. The method may be performed by an addressable TV system 318 (including an ACR headend 307 and an ATV engine 306). The method may start with the ACR headend storing a first fingerprint (410) of an advertisement (ad) point. The method may continue with the ACR headend monitoring the video stream (420) before delivering the video stream to a smart television (TV). The method may continue with the ACR headend detecting the advertisement point (430) by comparing the second fingerprint of the advertisement point captured during the monitoring with the first fingerprint. The method may continue with the ACR headend monitoring the channel watched on the smart TV (440). The method may continue with the advertisement replacer client (450) of the smart TV immediately notifying the ad replacer client of the smart TV upon detecting that an advertisement point is about to arrive in the video stream on the channel.
[0073] Figure 4 The method may continue with the ATV engine determining whether a first advertisement to be delivered to the advertisement spot is off-target for the advertisement spot in view of data from the advertisement campaign (460). The method may continue with the ATV engine notifying the advertisement replacer client to replace the first advertisement with an addressable advertisement when the first advertisement is off-target for the advertisement spot (470). The method may continue with the ATV engine providing criteria to constrain the advertisement request to obtain a second advertisement that is on-target for the advertisement spot. The advertisement replacer client may then send an advertisement request with one or more parameters provided within the criteria to obtain an advertisement that is on-target for the advertisement spot.
[0074] Figure 5 It is a method of dynamic advertisement replacement according to another embodiment of the present invention. The method can be performed by the smart TV 120 and in particular the advertisement replacer client 356 and the ACR client 357 of the smart TV 120. The method can start with the ACR client sending a frame of a video stream that will be matched with the head-end ACR of the addressable television (ATV) system (510). The method can continue with the ACR client forwarding the ACR event received from the head-end ACR identifying the channel playing the video stream to the advertisement replacer client (520). The method can continue with the ACR client notifying the advertisement replacer client (530) immediately after detecting an advertisement point in the video stream.
[0075] The method may continue with the ad replacer client receiving a notification from the ATV system, wherein the notification indicates that a first ad intended for the ad spot is off target for the ad spot and includes criteria for determining a second ad that is on target for the ad spot (540). The method may continue with the ad replacer client generating an ad request including one or more parameters from the criteria (550). The method may continue with the ad replacer client transmitting the ad request to a supply side platform (SSP) computing system where advertisers will bid to fill the ad slot with the second ad (560).
[0076] Further references Figure 1 and 3 , the programmatic TV (PTV) system 110 or 310 can further provide waste reduction by providing addressable impressions that achieve higher CPMs to the first brand owner 106 (e.g., through the distributor ad spot platform 10). The PTV system 110 or 310 can find the most appropriate available ad spots for the audience and budget of the ad campaign. The PTV system 110 or 310 can further predict the possible inventory hits that will result from the waste correction (or present an already formed prediction of such possible inventory hits).
[0077] To perform this prediction, the PTV system 110 or 310 may accumulate an audience database 313 and a viewing database 311 to tell what type of audience is generally on target and generally off target for a particular time period campaign. The PTV system 110 or 310 may further show a specific client (DSP) how much money the client can save by using dynamic ad replacement. The PTV system 110 or 310 may be specific to time periods and networks and understand which viewers watch at what time. The PTV system 110 or 310 may predict the possible percentage of waste through campaign data and viewing data. Waste refers to the number of impressions that miss the target audience defined in the ad campaign due to off target for the target audience. For example, a good goal for waste reduction is to reduce waste to less than 20% of total impressions.
[0078] With waste reduction, the PTV system 110 or 310 can predict addressable impressions that achieve higher CPMs (or present an already formed prediction for the addressable impressions) for a client (e.g., a DSP computing system that is developing an ad campaign on behalf of an advertiser). The PTV system 110 or 310 can use data retrieved from the data storage system 312 to predict how much waste savings impressions can be generated with addressable impressions through the ATV system 118 or 318.
[0079] The PTV system 110 or 310 may also manipulate the media plan, e.g., ad campaign, to provide the maximum inventory for ATV generation (also referred to herein as website revenue optimization). The PTV system 110 or 310 may then send insertion orders to broadcasters and platforms based on the revised ad campaign. The PTV system 110 or 310 may also receive order status from broadcasters, DSPs, and SSPs, and present the final order to advertisers or agencies.
[0080] The PTV system 110 or 310 may also pay broadcasters, DSPs, and / or SSPs to coordinate impressions measured according to agreed measurements minus addressable impressions delivered via the addressable TV system 118 or 318. The PTV system 110 or 310 may report on ad spot campaign performance, waste reduction performance, and addressable ad performance. The PTV system 110 or 310 may also receive payments from advertisers or their agents and pay the ATV system 118 or 318 for waste reduction activities.
[0081] The PTV system 110 or 310 may also distribute video metadata to the ATV system 118 or 318, where replacement ads for the DAR may come from the ATV system 118 or 318 or from the video ad server 20, as explained above. Once a commitment is made through the PTV system to purchase an ad from an advertiser, the PTV system 110 or 310 may then publish the ad to the ATV engine 306 for ingestion and prepare to perform website revenue optimization or waste reduction, as will be discussed in more detail.
[0082] The PTV system 110 or 310 may also distribute the campaign data to the ATV system 118 or 318. Once this campaign data is programmatically ingested, the PTV system 110 or 310 may present the ATV system 118 or 318 with corresponding video metadata, such as an ad identifier (ID), campaign ID, what brand it is, and the like, which should at a minimum tell the ATV system 118 or 318 what ad will be delivered, who it is from, and what is the target audience. This campaign data may be prepared by the PTV system 110 or 310, or may come from a third party providing the advertisement.
[0083] The distributor ad point platform 10 can work with the PTV system 110 or 310 to provide waste reduction, for example, can be a source of addressable impressions provided to achieve higher CPMs. Thus, the distributor ad point platform 10 can predict (or help the PTV system predict) possible inventory hits due to dynamic ad replacement. The distributor ad point platform 10 can further distribute the campaign data and corresponding video and video metadata to the ATV system 118 or 318.
[0084] Website revenue optimization according to various embodiments is described below.There are several ways that the PTV system 110 or 310 and the ATV system 118 or 318 can work together to increase overall website revenue.
[0085] Figure 6 1 is a flow chart of a website revenue optimization method for improving programmatic TV (PTV) campaign performance by dynamically adjusting how much PTV campaign to sell, according to one embodiment of the present invention. In this embodiment, the PTV system 110 or 310 may discount the CPM price of the proposed PTV media plan to increase the generation of inventory for the ATV platform and make up for any lack of revenue with respect to PTV campaigns from the ATV system. In one embodiment, Figure 6 The method may be performed by a computing device such as the DAR manager 102, the PTV system 110 or 310, the ATV system 118 or 318, or a combination thereof.
[0086] When compiling a media plan, DAR manager 102 (or more specifically, programmatic TV (PTV) system 110 or 310) may automatically assess the likely demand for advertising spots from addressable TV (ATV) system 118 or 318 based on data related to, by way of example:
[0087] ● The average ATV CPM required for the advertising spots in the time period and network;
[0088] ● The average success rate of selling ATV advertising spots during the stated time periods and networks;
[0089] ● the average number of addressable devices over the stated period and network; and
[0090] - Expected audience waste for potential PTV ads calculated for average audience at that time period and network.
[0091] Additionally, the PTV system may supply a dummy request to a digital DSP computing system to see how much the CPM would be priced for a few of the most common viewers. Based on the above inputs, the PTV system may choose to discount the selling CPM price for the purchasing DSP computing system. This will effectively reduce the profit of the PTV system 110 or 310, but ensure that the risk of doing so is more than offset by the possible demand and revenue that the ATV system 118 or 318 can drive from that ad spot (inventory). When the above inputs show that there will be little revenue from selling the ATV inventory, the PTV system may choose not to discount the CPM for the DSP computing system and maintain its profit.
[0092] Further references Figure 6, the DSP computing system may request a media plan for a given budget, CPM pricing, and target audience (610). The PTV system may then query the data storage system 112 or 312 for available advertising spots (or slots) with the highest (or second highest) index for the target audience (e.g., target advertisements) (614). The PTV system may then determine whether the returned slot is within the sell CPM price for the target audience (618). When the slot is not within the CPM sell price, the PTV system may determine whether there is demand for the slot from addressable television (ATV) impressions sufficient to discount the sell CPM price (622). For example, the PTV system may determine whether the planned ATV impressions exceed a predetermined threshold sufficient to discount the CPM price of the target slot for the target audience, where the ATV impressions are derived from directly addressable replacement advertisements.
[0093] When the demand for ATV impressions is sufficient, the PTV system may determine whether the target slot is within the sell CPM price with a determined discount to the CPM price (626). If the answer to both questions (blocks 622 and 626) is no, the method may loop back to block 614 and query the data storage system for the top-ranked slot for the target audience and restart from block 614. When the answer to both questions (blocks 622 and 626) is yes, the PTV system may discount the sell CPM price of the target slot by the determined discount that reduces the profit of the PTV media plan (640).
[0094] When the answer is no at box 618, and the target advertisement is within the sell CPM price, then the PTV system may query the database of the data storage system to determine a possible number of ATV impressions for the slot (630). The PTV system may then determine whether the demand for ATV impressions is sufficient to discount the sell CPM price of the target slot for the target audience, e.g., whether it is greater than a predetermined threshold (634). When the answer is yes (demand is sufficient), then the PTV system may discount the sell CPM price of the target slot by a determined discount of the profit of the advertising campaign when the slot is filled with a broadcast advertisement (640). When the answer is no (demand is insufficient), then the PTV system may sell the target slot at the original CPM price in response to determining that the demand for the target slot as an ATV impression is less than the predetermined threshold (636).
[0095] Based on box 640 or box 634, the PTV system may also determine whether the forecast of the number of ATV impressions multiplied by the sold CPM price is within the budget of the advertising campaign (638). When the answer is yes, the PTV system may determine whether there is a satisfactory or predetermined approved buyer CPM (e.g., 90% of the time in the past year, the advertising spot seller accepted the CPM at this price for the proposed slot) (642). When the answer to box 642 is no, the PTV system may increase the buyer CPM to a predetermined level to achieve approval from the advertising spot seller (e.g., acceptance of the order) (643). After increasing the buyer CPM in box 643, the PTV system may determine whether the predetermined campaign profit of the slot is met (e.g., 10% profit between the buyer and seller CPM) (644). When the answers to boxes 642 and 644 are yes, the PTV system adds the slot to the advertiser's media plan when the forecast of the number of PTV impressions multiplied by the sold CPM price is within the budget of the advertising campaign (645). The PTV system may also determine whether there is any remaining budget after adding the slot to the media plan (648). If there is remaining budget (or the answer is no at block 638 or at block 644), the PTV system may continue searching for a target slot by looping back to block 614. However, when there is not sufficient remaining budget, the PTV system may send the (now completed) media plan to the DSP computing system (650).
[0096] Additional website revenue optimization may occur when a decision is needed on whether to replace a PTV ad (e.g., a broadcast ad). The system may monitor in real time how the PTV ad campaign is performing. When an addressable ad spot is presented and it is determined that a potential PTV ad is on target for the audience at that ad spot and the campaign performance is not good, the system may decide to increase the ATV sale CPM price by selling the inventory to a party willing to pay a sufficiently high markup; or if there is no demand, then sell at that price point to provide the impression back to the potential PTV video. This may result in an increase in PTV campaign performance, or drive higher revenue for the ATV system. Alternatively or in addition, the system may be configured not to supply such ads on the target ad spots of the ATV system in order to achieve an activity guarantee for the PTV system party.
[0097] More specifically, Figure 7 Flow chart of a website revenue optimization method for improving overall campaign performance by adjusting ATV selling CPM price according to PTV campaign performance. Figure 7The method may be performed by the ATV system 318 and in one embodiment by the ATV engine 306 of the ATV system 318. More specifically, the ATV system receives an ad request for a replacement ad to be delivered to the ad spot from the smart TV 120 (710). The ATV system may then determine whether the PTV (or broadcast) ad has reached the target for the ad spot (714). If the broadcast ad has reached the target, the ATV system may query the data storage system 312 about the performance of the broadcast ad (718). If the broadcast ad deviates from the target, the ATV system may request a replacement ad from a demand-side platform (DSP) computing system (722). When the broadcast ad reaches the target, the ATV system may further determine whether the broadcast ad is underperforming (or on track) or overperforming (726). In response to determining that the broadcast ad is performing too well, the ATV system may request a replacement ad from the DSP computing system (722).
[0098] In response to determining that the broadcast ad is underperforming relative to the target performance of the ad campaign, the ATV system may increase the sell CPM price of addressable TV (ATV) impressions for the ad spot by the percentage of underperformance of the broadcast ad (730). The ATV system may then request a replacement ad from a cooperating demand-side platform (DSP) computing system (734). The ATV system may further determine whether the demand for the replacement ad has an increased CPM price (e.g., higher than the previously applied sell CPM price) (738). When the answer to box 738 is no, the ATV system may allow the broadcast ad to be played without ad replacement (742). When the answer to box 738 is yes, the ATV system may request a replacement ad from the DSP computing system and sell the replacement ad to achieve the increased CPM price (746).
[0099] An additional measure to improve campaign performance on PTVP is to supply these campaigns via the ATV system where potential ads are off target on a particular TV but on target for another PTV campaign that is underperforming. The ATV system can increase the minimum CPM price it is willing to accept in proportion to the amount that the broadcast ad is underperforming. This can drive more impressions to the PTV system campaign, or alternatively, bring greater revenue to the ATV campaign for the same ad spot (or slot). When there are no PTV ads that are underperforming or available to viewers as described above, replacement inventory may not be presented to the DSP computing system at the minimum CPM.
[0100] More specifically, Fig. 8A Flow chart of a website revenue optimization method for improving overall campaign performance by adjusting the lowest selling CPM price of broadcast ads when broadcast ads are not replaced by ATV ads with no minimum CPM price set. Fig. 8A Steps 710 to 734 are similar to those in reference Figure 7The steps discussed are the same. However, it should be noted that the ad analyzed for performance in block 726 is the first PTV ad, and therefore in block 730, the underperformance is referred to as the first underperformance percentage, which the lowest ATV sell CPM price may increase. In addition, upon a request from a partner DSP for a replacement ad (from Figure 7 After the ATV system determines whether demand for the ATV ad exists at the increased ATV sell CPM price (838). When the answer is no, the ATV system may allow the first PTV ad to be played without a replacement ad (840). When the answer is yes, the ATV system may request a replacement ad from the DSP and sell the replacement ad to achieve the increased CPM (844).
[0101] When the ATV system determines that the broadcast (or first PTV) ad is not meeting the target (714) or the first PTV ad is overperforming (726), the ATV system may determine whether the second PTV ad is underperforming and meeting the target for the ad spot for which the ad request was received (824). If the answer in box 824 is no (e.g., the second PTV ad is overperforming or meeting the target for the second ad campaign), the ATV system may not request a replacement ad from the DSP computing system at the minimum sold CPM price (828). If the answer in box 824 is yes, the ATV system may increase the minimum sold CPM price of the second PTV ad by the underperforming percentage of the second broadcast ad to reach the updated sold CPM price (832). In one embodiment, the ATV system may then allow the PTV system to deliver the second PTV ad to the ad spot so that the second PTV ad can generate an impression and improve the performance of the second ad campaign (844). Alternatively, the ATV system may first request a replacement ad from the partner DSP (836).
[0102] When the replacement ad is first requested, the ATV system may determine whether demand for the ATV ad exists at the increased ATV sell CPM price (842). When the answer to block 842 is no, the ATV system may signal the smart TV to allow insertion of the underperforming second PTV ad (844). When the answer to block 842 is yes, the ATV system may request the replacement ad from the DSP computing system and sell the replacement ad to achieve the increased CPM price (846).
[0103] Figure 8B1 is a flow chart of a website revenue optimization method for automatically adjusting the purchase CPM price to obtain approval for a PTV ad campaign from an ad spot seller according to one embodiment of the present invention. The PTV system may also be able to use several inputs to determine what appropriate CPM price should be approved from the ad spot seller. In order to obtain approval from the ad spot seller in a timely manner and avoid the risk of outbidding others by suppressing the number of ad spots delivered through the PTV and ATV systems, these inputs may be closely monitored to obtain a high approval percentage.
[0104] More specifically and with reference to Figure 8B , the PTV system may analyze the campaign inputs to determine the purchase CPM price required for approval by the ad spot seller (850). The inputs may include, but are not limited to: the rate card provided (852); past approval rates for the same time period / network (from the system's historical data) (854); and past approval rates for the same time period / network (from a third party) (856). After considering these inputs, the PTV system may choose to mark the purchase CPM price with a percentage based on ATV demand and opportunities for these ad spots. For example, the PTV system may determine whether the expected ATV demand for replacement ads for the ad spot exceeds a certain threshold based on the analysis in box 850 (864). If the answer to box 864 is no, the PTV system may leave the purchase CPM price unchanged (872). If the answer to box 864 is yes, the PTV system may mark the purchase CPM price of the broadcast ad commensurate with the expected increased ATV demand to ensure approval of the ad spot seller for the ad campaign (876). This can ensure that approval is given based on the revenue that can be obtained through either or a combination of increased purchase CPM prices and ATV replacement advertising requirements, except for unprecedented circumstances.
[0105] Fig. 9 A diagrammatic representation of a machine in the example form of a computer system 900 is illustrated within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. The computer system 900 may correspond to the computer system described above with respect to Figures 1 to 8B Systems described and that can perform the methods disclosed herein (e.g., DAR manager 102, PTV system 110 or 310, data storage system 112 or 312, ATV system 118 or 318, SSP computing system 16, video DSP computing system 108, 116 or 308, and computing and / or communication systems for broadcaster 104, first brand owner 106, second brand owner 114, and smart TV 120, and any other systems or platforms disclosed herein) are described and that can perform the methods disclosed herein.
[0106] In alternative embodiments, the machine may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, or the Internet. The machine may operate as a server or client device in a client-server network environment or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a smart phone, a web appliance, a server, a network router, a switch or a bridge, or any machine capable of executing a set of instructions (sequential or otherwise) specifying actions to be taken by the machine. Further, although only a single machine is illustrated, the term "machine" should also be construed to include any collection of machines that individually or jointly execute one (or more) sets of instructions to perform any one or more of the methodologies discussed herein.
[0107] The computer system 900 includes a processing device 902, a main memory 904 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) (e.g., synchronous DRAM (SDRAM) or DRAM (RDRAM)), etc.), a static memory 906 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 918 that communicate with each other via a bus 930.
[0108] The processing device 902 represents one or more general-purpose processing devices, such as a microprocessor, a central processing unit, or the like. More specifically, the processing device may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computer (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets or a number of processors that implement a combination of instruction sets. The processing device 902 may also be one or more special-purpose processing devices (e.g., an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like). In one embodiment, the processing device 902 may include one or more processing cores. The processing device 902 may execute instructions 926 of mirror logic for performing the operations discussed herein.
[0109] The computer system 900 may further include a network interface device 908 communicatively coupled to a network 920. The computer system 900 may also include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 912 (e.g., a keyboard), a cursor control device 914 (e.g., a mouse), a signal generating device 916 (e.g., a speaker), or other peripheral devices. In addition, the computer system 900 may include a graphics processing unit 922, a video processing unit 928, and an audio processing unit 932. In another embodiment, the computer system 900 may include a chipset (not illustrated), which refers to a group of integrated circuits or chips designed to work with the processing device 902 and control communications between the processing device 902 and external devices. For example, the chipset may be a chipset on a motherboard that links the processing device 902 to very high-speed devices (e.g., main memory 904 and a graphics controller) and links the processing device 902 to a lower-speed peripheral bus (e.g., a USB, PCI, or ISA bus) of peripheral devices.
[0110] The data storage device 918 may include a computer-readable storage medium 925 having stored thereon instructions 926 embodying any one or more of the methodologies for the functions described herein. The instructions 926 may also reside, completely or at least partially, within the main memory 904 and / or within the processing device 902 during execution thereof by the computer system 900; the main memory 904 and the processing device 902 also constituting computer-readable storage media.
[0111] The computer-readable storage medium 925 may also be used to store instructions 926 that utilize logic and / or a software library containing methods for calling the above application programs. Although the computer-readable storage medium 925 is shown as a single medium in the exemplary implementation, the term "computer-readable storage medium" should be considered to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated cache memory and servers) that store one or more sets of instructions. The term "computer-readable storage medium" should also be considered to include any medium capable of storing, encoding, or carrying a set of instructions 926 for execution by a machine and causing the machine to perform any one or more of the methods of the present invention. Thus, the term "computer-readable storage medium" should be considered to include, but not limited to, solid-state memory, optical media, and magnetic media. The following examples pertain to further embodiments.
[0112] While the present invention has been described with respect to a limited number of embodiments, numerous modifications and variations will occur to those skilled in the art. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of the present invention.
[0113] In the description herein, numerous specific details are set forth, such as specific types of processors and system configurations, specific hardware structures, specific architectural and micro-architectural details, specific register configurations, specific instruction types, specific system components, specific measurements / heights, specific processor pipeline stages and operations, etc., in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that these specific details need not be employed to practice the present invention. In other instances, well-known components or methods (such as specific and alternative processor architectures, specific logic circuits / codes for described algorithms, specific firmware codes, specific interconnect operations, specific logic configurations, specific manufacturing techniques and materials, specific compiler implementations, specific expressions of algorithms in code, specific power interruption and gating techniques / logic, and other specific operational details of computer systems) are not described in detail in order to avoid unnecessarily obscuring the present invention.
[0114] The embodiments are described with reference to a secure memory that is repartitioned in a particular integrated circuit, such as a computing platform or microprocessor. The embodiments may also be applicable to other types of integrated circuits and programmable logic devices. For example, the disclosed embodiments are not limited to desktop computer systems or portable computers, such as Ultrabooks TM Computers. And can also be used in other devices, such as handheld devices, tablet computers, other thin notebook computers, system-on-chip (SoC) devices, and embedded applications. Some examples of handheld devices include cellular phones, Internet protocol devices, digital cameras, personal digital assistants (PDAs), and handheld PCs. Embedded applications typically include microcontrollers, digital signal processors (DSPs), system-on-chips, network computers (NetPCs), set-top boxes, network hubs, wide area network (WAN) switches, or any other system that can perform the functions and operations taught below. The description system can be any kind of computer or embedded system. The disclosed embodiments can be particularly useful for low-end devices, such as wearable devices (e.g., watches), electronic cochleas, sensory and control infrastructure devices, controllers, supervisory control and data acquisition (SCADA) systems, or the like. In addition, the apparatus, methods, and systems described herein are not limited to physical computing devices, but can also involve software optimization for energy conservation and efficiency. As will become apparent from the following description, embodiments of the methods, apparatus, and systems described herein (whether referring to hardware, firmware, software, or a combination thereof) are of great relevance to the future of "green technology" balanced with performance considerations.
[0115] Although the embodiments herein are described with reference to a processor, other embodiments may be applicable to other types of integrated circuits and logic devices. Similar techniques and teachings of embodiments of the present invention may be applicable to other types of circuits or semiconductor devices that may benefit from higher pipeline throughput and improved performance. The teachings of embodiments of the present invention may be applicable to any processor or machine that performs data manipulation. However, the present invention is not limited to processors or machines that perform 512-bit, 256-bit, 128-bit, 64-bit, 32-bit, or 16-bit data operations and may be applicable to any processor and machine that performs manipulation or management of data therein. In addition, the description herein provides several examples, and the accompanying drawings show various examples for illustration purposes. However, these examples should not be interpreted in a restrictive sense, because they are intended only to provide examples of embodiments of the present invention rather than to provide an exhaustive list of all possible implementations of embodiments of the present invention.
[0116] Although the following examples describe instruction handling and distribution in the context of execution units and logic circuits, other embodiments of the present invention may be accomplished with the aid of data or instructions stored on a machine-readable tangible medium, which, when executed by a machine, causes the machine to perform functions consistent with at least one embodiment of the present invention. In one embodiment, functions associated with embodiments of the present invention are embodied in machine-executable instructions. The instructions may be used to cause a general or special-purpose processor programmed with the instructions to perform the steps of the present invention. Embodiments of the present invention may be provided as a computer program product or software, which may include a machine or computer-readable medium on which instructions are stored that can be used to program a computer (or other electronic device) to perform one or more operations according to embodiments of the present invention. Alternatively, the operations of embodiments of the present invention may be performed by specific hardware components containing fixed-function logic for performing operations or by any combination of programmed computer components and fixed-function hardware components.
[0117] Instructions for programming logic to perform embodiments of the present invention may be stored in a memory (e.g., DRAM, cache memory, flash memory, or other storage device) in the system. In addition, the instructions may be distributed via a network or by means of other computer-readable media. Therefore, machine-readable media may include any mechanism for storing or transmitting information in a form that can be read by a machine (e.g., a computer), but is not limited to floppy disks, optical disks, compact disk-read only memory (CD-ROM) and magneto-optical disks, read-only memory (ROM), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic or optical cards, flash memory, or tangible machine-readable storage devices for transmitting information on the Internet via electrical, optical, acoustic, or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.). Therefore, computer-readable media include any type of tangible machine-readable media suitable for storing or transmitting electronic instructions or information in a form that can be read by a machine (e.g., a computer).
[0118] A design may go through various stages from creation to simulation to production. Data representing a design may represent the design in several ways. First, as may be used in simulation, a hardware description language or another functional description language may be used to represent the hardware. In addition, a circuit level model having logic and / or transistor gates may be generated at some stages of the design process. Furthermore, at a certain stage, most designs reach a data level representing the physical placement of various devices in the hardware model. In the case where conventional semiconductor fabrication techniques are used, the data representing the hardware model may be data specifying the presence or absence of various features on different mask layers of a mask used to produce an integrated circuit. In any representation of a design, the data may be stored in any form of machine-readable media. A memory or a magnetic or optical storage device (such as a disk) may be a machine-readable medium for storing information transmitted via optical or radio waves, which are modulated or otherwise generated to transmit this information. When an electrical carrier wave indicating or carrying a code or design is transmitted, a new copy is formed in terms of performing a copy, buffering, or retransmission of the electrical signal. Thus, a communications provider or network provider may store, at least temporarily, on a tangible machine-readable medium an article embodying the techniques of embodiments of the present invention, such as information encoded into a carrier wave.
[0119] As used herein, a module refers to any combination of hardware, software, and / or firmware. As an example, a module includes hardware (e.g., a microcontroller) associated with a non-transitory medium to store code suitable for execution by the microcontroller. Therefore, in one embodiment, the module referred to refers to hardware that is specifically configured to recognize and / or execute code to be stored on a non-transitory medium. In addition, in another embodiment, the module used refers to a non-transitory medium that includes code that is specifically suitable for execution by a microcontroller to perform a predetermined operation. And as can be inferred, in yet another embodiment, the term module (in this example) may refer to a combination of a microcontroller and a non-transitory medium. Typically, the boundaries of modules illustrated as separate typically vary and may overlap. For example, a first module and a second module may share hardware, software, firmware, or a combination thereof when some independent hardware, software, or firmware may be maintained. In one embodiment, the term "logic" used includes hardware, such as transistors, registers, or other hardware such as programmable logic devices.
[0120] The phrase "configured to" used in one embodiment refers to arranging, co-placing, marking up, importing and / or designing a device, hardware, logic or element to perform a specified or determined task. In this example, if a device or its element is designed, coupled and / or interconnected to perform a specified task, then a device or its element that is not in operation is still "configured to" perform the specified task. As a purely illustrative example, a logic gate can provide a 0 or 1 during operation. But a logic gate that is "configured to" provide an enable signal to a clock does not include every possible logic gate that can provide a 1 or 0. Alternatively, the logic gate is a logic gate that is coupled in a way that a 1 or 0 output is used to enable the clock during operation. Note again that the term "configured to" used does not require operation, but instead focuses on the quiescent state of the device, hardware and / or element, where the device, hardware and / or element is designed to perform a specific task when the device, hardware and / or element is in operation in the quiescent state.
[0121] Additionally, the phrases "to", "can / with" and / or "operable with" as used, in one embodiment, refer to a certain device, logic, hardware, and / or element being designed in a manner so as to enable the device, logic, hardware, and / or element to be used in a fixed manner. As noted above, the phrases "to", "can" or "operable with" as used, in one embodiment, refer to a quiescent state of a device, logic, hardware, and / or element, wherein the device, logic, hardware, and / or element is not operating, but rather is designed in a manner so as to enable the device to be used in a prescribed manner.
[0122] As used herein, a value includes any known representation of a number, state, logic state, or binary logic state. Typically, the logic levels, logic values, or logic states used are also referred to as 1 and 0, which simply represent binary logic states. For example, 1 refers to a high logic level and 0 refers to a low logic level. In one embodiment, a storage cell such as a transistor or a flash cell may be able to store a single logic value or multiple logic values. However, other representations of values in a computer system have been used. For example, the decimal number 10 may also be represented as the binary value of 1010 and the hexadecimal letter A. Thus, a value includes any representation of information that can be stored in a computer system.
[0123] Furthermore, states may be represented by values or portions of values. As an example, a first value, such as a logical 1, may represent a default or initial state, while a second value, such as a logical 0, may represent a non-default value. Additionally, in one embodiment, the terms "reset and set" refer to default and updated values or states, respectively. For example, a default value may include a high logic value, i.e., reset, while an updated value may include a low logic value, i.e., set. Note that any combination of values may be utilized to represent any number of states.
[0124] Embodiments of the methods, hardware, software, firmware, or code set forth above may be implemented via instructions or code stored on a machine-accessible, machine-readable, computer-accessible, or computer-readable medium that is executable by a processing element. Non-transitory machine-accessible / readable media include any mechanism that provides (i.e., stores and / or transmits) information in a form that can be read by a machine (e.g., a computer or electronic system). For example, non-transitory machine-accessible media include the following, which are to be distinguished from non-transitory media from which information may be received: random access memory (RAM), such as static RAM (SRAM) or dynamic RAM (DRAM); ROM; magnetic or optical storage media; flash memory devices; electrical storage devices; optical storage devices; acoustic storage devices; other forms of storage devices for holding information received from a transient (propagated) signal (e.g., a carrier wave, an infrared signal, a digital signal); etc.
[0125] Instructions for programming logic to perform embodiments of the present invention may be stored in a memory (e.g., DRAM, cache memory, flash memory, or other storage device) in the system. In addition, the instructions may be distributed via a network or by means of other computer-readable media. Therefore, machine-readable media may include any mechanism for storing or transmitting information in a form that can be read by a machine (e.g., a computer), but is not limited to floppy disks, optical disks, compact disk-read only memory (CD-ROM) and magneto-optical disks, read-only memory (ROM), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic or optical cards, flash memory, or tangible machine-readable storage devices for transmitting information over the Internet via electrical, optical, acoustic, or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.). Therefore, computer-readable media include any type of tangible machine-readable media suitable for storing or transmitting electronic instructions or information in a form that can be read by a machine (e.g., a computer).
[0126] References throughout this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the phrases "in one embodiment" or "in an embodiment" appearing in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, in one or more embodiments, the particular features, structures, or characteristics may be combined in any suitable manner.
[0127] In the foregoing description, detailed descriptions have been given with reference to specific exemplary embodiments. However, it will be apparent that various modifications and changes may be made to the present invention without departing from the broader spirit and scope of the invention as set forth in the appended claims. Therefore, the present description and drawings should be regarded as having an illustrative rather than a restrictive sense. Furthermore, the foregoing use of embodiments and other exemplary language does not necessarily refer to the same embodiment or the same example, but may refer to different and distinct embodiments as well as possibly the same embodiment.
[0128] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means by which those skilled in the art of data processing technology most effectively convey the substance of their work to other skilled in the art. An algorithm is here and generally conceived to be a consistent sequence of steps leading to a desired result. The operations are those requiring physical manipulation of physical quantities. Typically, but not necessarily, these quantities are in the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven to be sometimes convenient, primarily for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. The blocks described herein may be hardware, software, firmware, or a combination thereof.
[0129] It should be remembered, however, that all of these terms and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as is apparent from the above discussion, it should be understood that throughout this specification, discussions utilizing terms such as "define," "receive," "determine," "publish," "link," "associate," "obtain," "verify," "inhibit," "execute," "request," "communicate," or the like refer to actions and processes of a computing system or similar electronic computing device that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computing system's registers and memories into other data similarly represented as physical quantities within the computing system's memories or registers or other such information storage, transmission, or display devices.
[0130] The words "example" or "exemplary" are used herein to mean serving as "an example, instance, or illustration." Any aspect or design described herein as an "example" or "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, the use of the words "example" or "exemplary" is intended to present concepts in a concrete way. As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from the context, "X includes A or B" is intended to mean any of the natural inclusive arrangements. That is, if X includes A; X includes B; or X includes both A and B, then "X includes A or B" is satisfied under any of the following examples. In addition, the articles "a and an" as used in this application and in the appended claims should generally be interpreted to mean "one or more," unless otherwise specified or clear from the context to point to a singular form. In addition, the term "an embodiment" or "an embodiment" or "an implementation" or "an implementation" used throughout the text is not intended to refer to the same embodiment or implementation unless so described. Moreover, the terms "first", "second", "third", "fourth", etc. as used herein are intended to be marks for distinguishing between different elements and may not necessarily have an ordinal meaning according to their numerical designations.
Claims
1. A system for advertisement replacement, comprising: Automatic Content Recognition (ACR) headend, which is configured to: storing a first fingerprint identifying an advertisement point; monitoring the video stream prior to transmitting the video stream to the client device; capturing a second fingerprint during monitoring of the video stream; detecting the advertisement spot in the video stream by comparing the second fingerprint from the video stream to a stored first fingerprint, wherein the second fingerprint is captured during monitoring of the video stream; monitoring a channel stream of the video stream on the client device; During the channel streaming of the video stream on the channel, upon detecting that the advertisement point is about to arrive, immediately notifying the client device; as well as an addressable television (ATV) engine in operative communication with the ACR headend, the ATV engine being configured to: determining from data of the advertising campaign whether a first advertisement to be delivered to the advertising spot is off-target for the advertising spot; When the first advertisement is off-target for the advertisement spot, notifying the client device to replace the first advertisement with a replacement advertisement; and Criteria are provided for constraining ad requests to obtain the replacement ad that hits the target for the ad spot.
2. The system of claim 1, wherein the ATV engine determines whether the first advertisement is off-target for the advertisement spot based on audience data and viewing data associated with the client device. 3 . The system of claim 1 , wherein the ATV engine determines whether the first advertisement is off-target for the advertisement spot based on data of an advertisement campaign.
4. The system of claim 1, further comprising an ATV manager configured to receive input to modify the advertising campaign.
5. The system of claim 4, wherein the input modifies a target audience for the advertising campaign. 6 . The system of claim 1 , further comprising a supply-side platform (SSP) system configured to receive an ad request for the replacement ad from the client device and deliver the replacement ad to the client device.
7. The system of claim 6, wherein the SSP system identifies the replacement advertisement to satisfy the advertisement request based on audience data and viewing data associated with the client device.
8. The system of claim 6, wherein the SSP system is configured to auction bids from advertisers to satisfy the ad request.
9. The system of claim 6, wherein the ATV engine is further configured to provide criteria to the client device for constraining the ad request so that the replacement ad is on target for the ad spot.
10. The system of claim 1, further comprising an ATV manager configured to monitor a quality of the video stream used to capture the second fingerprint and report the quality to the client device.
11. A method for advertisement replacement, comprising: storing a first fingerprint identifying an advertisement point; monitoring the video stream prior to transmitting the video stream to the client device; capturing a second fingerprint during monitoring of the video stream; detecting the advertisement spot in the video stream by comparing the second fingerprint from the video stream to a stored first fingerprint, wherein the second fingerprint is captured during monitoring of the video stream; monitoring a channel stream of the video stream on the client device; During the channel streaming of the video stream on the channel, upon detecting that the advertisement point is about to arrive, immediately notifying the client device; determining from data of the advertising campaign whether a first advertisement to be delivered to the advertising spot is off-target for the advertising spot; as well as When the first advertisement is off-target for the advertisement spot, notifying the client device to replace the first advertisement with a replacement advertisement; and Criteria are provided for constraining ad requests to obtain the replacement ad that hits the target for the ad spot.
12. The method of claim 11, wherein determining whether the first advertisement is off-target for the advertisement spot is based on audience data and viewing data associated with the client device.
13. The method of claim 11, wherein determining whether the first advertisement is off-target for the advertisement spot is based on data of an advertisement campaign.
14. The method of claim 11, further comprising receiving a modification to the advertising campaign.
15. The method of claim 14, wherein the modifying modifies a target audience for the advertising campaign.
16. The method of claim 11, further comprising receiving an ad request for the replacement ad from the client device at a supply-side platform (SSP) system, and delivering the replacement ad to the client device by the SSP system.
17. The method of claim 16, wherein the SSP system identifies the replacement advertisement to satisfy the advertisement request based on audience data and viewing data associated with the client device.
18. The method of claim 16, wherein the SSP system is configured to auction bids from advertisers to satisfy the ad request.
19. The method of claim 16, further comprising providing criteria to the client device for constraining the ad request so that the replacement ad is on target for the ad spot.
20. The method of claim 11, further comprising monitoring a quality of the video stream used to capture the second fingerprint and reporting the quality to the client device.
Citation Information
Patent Citations
System and methods for competitive dynamic selection of digital advertising assets in a video distribution system
CN101512591A
Front end device and method for realizing pretreatment for video fingerprints at front end
CN102647617A