System and method for alternative advertisements

Through alternative advertising systems, users of video on-demand service are asked about their preferences and attributes, providing selective advertising experience, solving users' dissatisfaction with advertising interruptions and the difficulty of advertisers to target groups, and improving user experience and advertisers' revenue.

CN119301626APending Publication Date: 2025-01-10RIVIT TV INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202380040137.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-19
Filing Date
2023-05-09
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

In existing video on demand services, viewers are dissatisfied with the interruptions and frequent commercial advertisements and lack the ability to select and control advertising information, making it difficult for advertisers to target specific groups and affect income.

Method used

By providing an alternative advertising system, asking users about their preferences and attributes, allowing users to choose whether to watch advertisements during video content playback, and providing ad-free experience or advertising information based on user's choices, and delivering advertising proposals through email, SMS, etc. , enhance user experience and improve advertisers' brand preferences.

Benefits of technology

It improves users' viewing experience of video content, enhances advertisers' accurate delivery of target groups, increases advertising revenue, and encourages users to participate in advertising proposals through incentive mechanisms such as reward points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119301626A_ABST
    Figure CN119301626A_ABST
Patent Text Reader

Abstract

A method of providing digital content is disclosed. A request to view and interact with digital content is received from a user. In response to the request, it is determined whether the user has an advertisement-free right to view and interact with the digital content. In response to determining that the user has no advertisement-free rights to view and interact with the digital content, the user is provided with an alternative advertisement (AA) query including an AA query item. The AA inquiry items comprise at least one pre-selected AA inquiry item, wherein the pre-selected AA inquiry item can be deselected by the user or cannot be deselected by the user. In response to determining that an AA query response to the AA query is received from the user within the predefined time period, the requested digital content is provided to a user device of the user without an advertisement.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of U.S. Application No. 17 / 948,120, filed September 19, 2022, which claims the benefit of U.S. Provisional Application No. 63 / 342,310, filed May 16, 2022, both of which are incorporated herein by reference in their entirety. Technical Field

[0003] The present invention relates generally to the field of video-on-demand streaming and, more particularly, to video-on-demand advertising. Background Art

[0004] Most TV and video on demand (VOD) viewers are dissatisfied with commercial interruptions. Commercials and ads interrupt the viewing experience, are often viewed by viewers as a waste of the viewer's time, are often uninteresting, and are repeated too frequently. Viewers are dissatisfied with the lack of control over the selection and display mechanisms of ads. Major VOD services, such as Netflix, Hulu, and Amazon Prime, offer commercial-free viewing for an additional monthly subscription fee. Smaller VOD services typically offer video content with commercials without requiring a subscription fee.

[0005] Advertising VOD services (AVOD) provided by VOD publishers hope to maximize their revenue by giving viewers a positive experience and satisfying the needs of their advertisers. Advertisers prefer to target specific groups, but viewers are usually reluctant to voluntarily provide personal information.

[0006] In U.S. Patent 9,503,691, entitled “Methods and apparatus for enhanced advertising and promotional delivery in a network,” issued on November 12, 2016, Lawrence-Apfelbaum discloses an enhanced advertising selection and delivery system in a communication network, such as a cable television network. Lawrence-Apfelbaum states that, in one embodiment, a viewer can elect to have an advertisement: (i) available after the currently viewed program ends, or (ii) forwarded to the viewer via email or other means. Although Lawrence-Apfelbaum describes many useful methods, Lawrence-Apfelbaum does not adequately address the specific needs of modern VOD publishers, modern VOD viewers, and advertisers.

[0007] FIG. 1 shows an example of a modern conventional VOD service 100. A viewer 105 interacts with a viewer device 110. The viewer device 110 may be any of a variety of device types, such as a television enhanced with an internal or external streaming device (such as a Roku device). The viewer 105 interacts with the viewer device 110 using a controller (not shown) and selects video content to be viewed. A content delivery network (CDN) or content delivery service 120 streams video data to the viewer device 110. A CDN is a highly distributed server platform that helps minimize latency in streaming video content by reducing the physical distance between the server and the viewer. This helps viewers around the world watch the same high-quality content without slow loading times. A VOD server 130 communicates with the viewer device, accepting requests for video content and sending video content in response. The VOD server 130 performs various functions, including viewer profile management, content management, advertising management, and advertising revenue and reporting. Viewer profile management keeps track of viewer information, such as content viewed and any viewer login information. Content management keeps track of which video content is available for streaming. VOD server 130 communicates with content partners 140 to receive new video content. Ad management functions keep track of available ads. VOD server 130 inserts ads into the video content stream it sends to viewer device 110. Viewers cannot control what ads are inserted. VOD service advertisers are usually unable to target desired groups. Ad revenue and reporting functions keep track of what ads have been sent to viewers so that VOD services can charge advertisers. VOD server 130 communicates with ad servers and ad exchange servers through supply side platform (SSP) ad network 150 to obtain video ads for insertion. VOD server also usually communicates with multiple third-party tools 160.

[0008] However, VOD viewers, VOD publishers, and advertisers desire a system that allows viewers some control over the selection and presentation of advertising information, and that allows advertisers to target specific groups. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The accompanying drawings are intended to point out the uniqueness and creativity of the disclosed application and to distinguish the application from the prior art. The objects, features and advantages of the application are described in detail in the specification together with the accompanying drawings. In the accompanying drawings, various embodiments according to the present invention are described by way of example rather than by way of limitation. Note that the same reference numerals mark similar elements throughout the accompanying drawings.

[0010] FIG. 1 is a diagram showing a conventional VOD system.

[0011] Figure 2is a flow chart illustrating processing performed by an alternative advertisement (or alternative ad) system according to an embodiment.

[0012] Figure 3 is a diagram illustrating components of an alternative ad system according to an embodiment.

[0013] Figure 4 is a block diagram illustrating a computing system for implementing an alternative ad server and viewer device.

[0014] Figure 5 is a diagram illustrating components of an alternative ad database according to an embodiment.

[0015] Figure 6 is a diagram showing an example of merchandise categories according to an embodiment.

[0016] Figure 7 is a diagram illustrating an example of alternative ad data ingestion according to an embodiment.

[0017] Figure 8 is a diagram illustrating the use of an alternative ad system application programming interface (API) according to an embodiment.

[0018] Fig. 9 is a diagram illustrating an example alternative ad system that returns values ​​from an API call according to an embodiment.

[0019] Fig.10 is a diagram illustrating an example alternative ad query on a display of a viewer device according to an embodiment.

[0020] Fig.11 is a diagram illustrating example viewer device screenshots from an alternative ad application, according to an embodiment.

[0021] Fig.12 is a diagram illustrating an example two-level candidate ad ranking investigation, according to an embodiment.

[0022] Fig.13 is a diagram showing an example of how an alternative ad system determines a viewer's gender or sexual orientation according to an embodiment.

[0023] Fig.14 is a diagram showing an example of how an alternative ad system uses alternative ad query term positioning according to an embodiment.

[0024] Fig.15 is a flow chart illustrating an example process of how the alternative ad system determines the next alternative ad query according to an embodiment.

[0025] Fig.16 is a diagram illustrating an example viewer-item preference matrix, according to an embodiment.

[0026] Fig.17 is a diagram illustrating another example viewer-item preference matrix according to an embodiment.

[0027] FIG. 18A to FIG. 18I An example of an AA query shown by the AA system to a user is shown.

[0028] Fig.19 are examples of user profile settings, options, and preferences as displayed on the AA website or AA application, according to an embodiment.

[0029] Fig. 20 An example of an AA proposal email according to an embodiment is shown.

[0030] Fig.21 An example of a user's proposal page as displayed on a website is shown according to an embodiment.

[0031] Fig. 22 An example of a user wallet according to an embodiment is shown.

[0032] Fig.23 is a diagram illustrating an alternative ad system with a viewer device and a control device according to an embodiment.

[0033] Fig.24 is a flow chart illustrating processing performed by an alternative advertisement system according to an embodiment.

[0034] Fig.25 is a diagram illustrating an example AA system using a cable set-top box TV according to an embodiment.

[0035] Fig.26 is a diagram illustrating an example AA flow on a publisher site according to an embodiment.

[0036] Fig. 27 is a flow chart illustrating a process performed by the AA system for use on a publisher site or application according to an embodiment. DETAILED DESCRIPTION

[0037] Reference will now be made in detail to various embodiments according to the present invention, examples of which are illustrated in the accompanying drawings. Although described in conjunction with various embodiments, it should be understood that these various embodiments are not intended to limit the present invention. In contrast, the present invention is intended to cover alternatives, modifications and equivalents, which may be included within the scope of the present invention as interpreted according to the claims. In addition, in the following detailed description according to various embodiments of the present invention, in order to provide a thorough understanding of the present invention, many specific details are set forth. However, it is apparent to those of ordinary skill in the art that the present invention can be implemented without these specific details or with their equivalents. In other examples, known methods, processes, components and circuits are not described in detail to avoid unnecessarily obscuring aspects of the present invention.

[0038] Some parts of the following detailed description are presented in terms of processes, logic blocks, processing and other symbolic representations that operate on data bits in a computer memory. These descriptions and representations are the means by which those skilled in the art of data processing can most effectively communicate the content of their work to other persons skilled in the art. In the present invention, processes, logic blocks, processing, etc. are considered to be self-consistent sequences of operations or instructions that obtain desired results. These operations are operations that utilize physical manipulations of physical quantities. Typically, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, and otherwise manipulated in a computing system.

[0039] It should be remembered, however, that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless otherwise clearly stated from the following discussion, it should be understood that throughout this disclosure, discussions utilizing terms such as "implement," "input," "operate," "determine," "detect," "notify," "aggregate," "coordinate," "apply," "compare," "engage," "predict," "record," "analyze," "determine," "identify," "classify," "generate," "extract," "receive," "process," "acquire," "perform," "produce," "provide," "prioritize," "place," "match," "measure," "store," "signal," "propose," "change," "create," "compute," "load," "infer," and the like refer to the actions and processes of a computing system or similar electronic computing device or processor. A computing system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within a computing system memory, register, or other such information storage, transmission, or display device.

[0040] The various embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of computer-readable storage media, such as program modules executed by one or more computers or other devices. By way of example and not limitation, computer-readable storage media may include non-transitory computer storage media and communication media. Typically, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of the program modules may be combined or distributed as desired.

[0041] Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disk ROM (CD-ROM), digital versatile disks (DVD) or other optical storage devices, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed to retrieve the information.

[0042] Communication media can embody computer executable instructions, data structures, and program modules, and include any information delivery media. As an example and not limitation, communication media include wired media (such as a wired network or a direct wired connection), and wireless media (such as acoustic, radio frequency (RF), infrared and other wireless media). Any combination of the above may also be included within the scope of computer-readable media.

[0043] In one aspect, a method for providing digital content is disclosed. A request is received from a user to view and interact with digital content. In response to the request, it is determined whether the user has ad-free rights to view and interact with the digital content. In response to determining that the user does not have ad-free rights to view and interact with the digital content, an AA query is provided to the user including an AA query item. The AA query item includes at least one pre-selected AA query item, wherein the pre-selected AA query item can be deselected by the user or cannot be deselected by the user. It is determined whether an AA query response to the AA query is received from the user within a predefined time period, wherein the AA query response includes a user selection of the AA query item. In response to determining that an AA query response to the AA query is received from the user within the predefined time period, the requested digital content is provided to a user device of the user without advertisements.

[0044] In another aspect, a system for providing digital content is disclosed. The system includes: one or more processors; and a memory coupled to the processor to store instructions that, when executed by the processor, cause the processor to perform operations. The operations include receiving a request from a user to view and interact with digital content. The operations also include: in response to the request, determining whether the user has an ad-free right to view and interact with the digital content. The operations also include: in response to determining that the user does not have an ad-free right to view and interact with the digital content, providing the user with an AA query including a plurality of alternative advertisement (AA) query items. The AA query items include at least one preselected AA query item, wherein the preselected AA query item can be deselected by the user or cannot be deselected by the user. The operations also include: determining whether an AA query response to the AA query is received from the user within a predefined time period, wherein the AA query response includes a user selection of a plurality of AA query items. The operations also include: in response to determining that an AA query response to the AA query is received from the user within the predefined time period, providing the requested digital content to the user device of the user without advertisements.

[0045] In an embodiment, the plurality of AA query items are refreshable to provide a new set of AA query items to the user.

[0046] In an embodiment, in response to determining that no AA query response to the AA query has been received from the user within a predefined time period, automatically assigning the user a default selection for the AA query item; and providing the requested digital content to the user device of the user without advertising.

[0047] In an embodiment, a user profile setting is provided, wherein the assigned default selections for AA query items are changeable by the user in the user profile setting. The user profile setting may include user preferences that are controllable by the user. The user preferences may include at least one of: an AA system default setting, an AA system default auto-select mode, an AA system preferred query item count, an AA system selected preference genre, an AA system selected preference item category, an AA system selected preference brand from various categories, and an AA system selected preference AA offer delivery method.

[0048] The AA challenge items may be selectable by the user, and pre-selected AA challenge items may be deselectable by the user. The AA challenge items may include AA challenge items having a quick response (QR) code.

[0049] In an embodiment, in response to determining that an AA query response to an AA query is received from a user within a predefined time period, determining one or more AA offers to provide to the user based on the AA query response; and providing the AA offer to the user. The AA offer may be provided to the user via at least one of: a website on the user device or other user devices, an application, an email, and a text message. The AA offer may include at least one AA offer with a quick response (QR) code, a coupon, or both.

[0050] In an embodiment, a virtual wallet is provided that stores the user's current AA offers, wherein the current AA offers are accessible to the user. The user may be periodically alerted of the provided AA offers to encourage the user to redeem one or more of the provided AA offers. The user may be provided with reward points or virtual coins for redemption. An educational message may be sent to educate the user on the benefits of the AA offers being sent. A warning message may be sent to warn the user that the user may be removed from receiving digital content without advertisements. User feedback may be requested from the user to formulate the AA offers to be sent to the user.

[0051] In an embodiment, the AA query is provided to the user during playing a video game, playing video content, playing audio content, using a podcast application, or interacting with an interactive application on the user's user device.

[0052] In yet another aspect, a computer-implemented method and system for providing digital content is provided. For example, the method may include receiving a request from a first user device of a user to view and interact with digital content. The method may also include, in response to the request, determining whether the user has an ad-free entitlement to view and interact with the digital content. The method may also include, in response to determining that the user does not have an ad-free entitlement to view and interact with the digital content, presenting an option to view and interact with the digital content without advertisements to the user on the first user device. The method may also include, in response to receiving a user selection from a second user device of the user to view and interact with the digital content without advertisements, providing an AA query including a plurality of alternative advertisement (AA) query items to the second user device of the user. The method may also include determining whether an AA query response to the AA query is received from the second user device within a predefined time period, wherein the AA query response includes a user selection of a plurality of AA query items. The method may also include, in response to determining that an AA query response to the AA query is received from the user within a predefined time period, providing the requested digital content to the first user device of the user without advertisements.

[0053] In one embodiment, the method may further include presenting a quick response (QR) code on the first user device for scanning. The QR code may be scannable by a user on a second user device, and when the QR code is scanned, an AA website or an AA application may be launched on the second user device. The method may further include receiving a user selection from the second user device to register to receive an AA offer, wherein the AA offer is provided on an AA wallet application or website or via email. The second user device may be a smartphone, a tablet, a laptop, a desktop computer, a wearable device, a personal digital assistant (PDA), or a cable set-top box.

[0054] In an embodiment, the method may be performed on a publisher site via an application programming interface (API). The digital content may include at least one of: a magazine, an article, an e-book, an academic journal, a blog, a video game, and music. The digital content may be complete content, limited duration content, or partial content. An AA query including a plurality of AA query items may be provided to the second user device via the publisher site.

[0055] According to some embodiments, an alternative advertisement (AA) system enhances a viewer's VOD content viewing experience by allowing the viewer to provide information in lieu of viewing advertisements during video content playback. Viewers benefit immediately from spending a few seconds entering information instead of having to watch several minutes of advertisements. Advertisers benefit because every time a viewer expresses an opinion, the viewer reinforces or even creates a preference for their brands and products. The AA system provides AA offers based on the viewer's input information, video preferences, and profiles. The AA system provides different AA offer delivery options, including email, short message service (SMS), and text.

[0056] The AA system provides AA services to viewers who want to watch VOD. The AA system creates and displays AA queries to collect information from viewers. The AA system creates and displays AA queries of different AA query types. Each AA query has one or more AA query items that viewers can select to show preferences.

[0057] Figure 2 200 is a flow chart illustrating a process performed by an AA system according to an embodiment. Process 200 may be performed by processing logic including hardware (e.g., circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer-readable medium), or a combination thereof. For example, process 200 may be performed by Figure 3 The AA system 300 is performed. Figure 2In operation 201, the AA system receives a request to watch a particular video content. In operation 202, the AA system determines whether the viewer has the right to watch the particular video content without advertisements. If the viewer has previously requested the same video content, has chosen to watch the content without advertisements, and has provided the information requested by the AA query, the AA system allows the viewer to watch the video content without advertisements. The AA system can allow the viewer to watch the same video content for a period of time, such as up to 12 months. This allows the viewer to stop the video content, fast forward, rewind, resume playing, and watch it again later. The period of ad-free viewing that the viewer has is controlled by system control parameters. For example, if the viewer has logged in before, the AA system can identify the viewer. If the viewer has not logged in, the AA system can use cookies stored on the viewer's device to identify the viewer. In one embodiment, in the case where the AA system does not use cookies, the AA system asks the viewer to log in before the viewer can request the video content. If the viewer has the right to watch the video content without advertisements, the AA system proceeds to operation 260. At operation 260 , the AA system begins streaming the video content without advertisements. If the viewer does not have the right to view the video content without advertisements, the AA system proceeds to operation 205 .

[0058] In response to the video content viewing request, in operation 205, the AA system prepares an AA query to request information from the viewer, and then presents the AA query to the viewer. The AA query may include a question asking the viewer whether he / she wants to watch the video content without advertisements. The AA system prepares the rest of the AA query based on multiple factors including the viewer's past preferences (if any). The AA query may request different types of information, such as asking for preferences or rankings between product categories, advertising brands, or products. The AA query may also request information about the viewer, or request information that can be used to infer viewer attributes and preferences. The AA query may take a variety of forms called AA query types. Most viewer devices only have virtual keyboards, so text input is tedious for most viewers. The AA query may require the viewer to select an AA query item on the viewer device display. Different AA query types may require the viewer to select an item or rank the items in order. Different AA query types may also require the viewer to select between different types of AA query items, such as selecting among brands or selecting among product categories. The AA system selects AA inquiries based on various determining factors, including: current and past viewer preferences or likes for brands, product categories, or products; previous AA offer receptivity; market trends and viewer video content selection. Determinants also include advertiser / brand preferences (including brand rules), AA offer seasonality, past AA offer history, and survey requests. Advertisers can make survey requests, thereby asking the AA system to display AA inquiries that ask questions about the advertiser's products. Brand rules include rules for displaying items, bidding, making AA offers, and viewer targeting. Determinants also include VOD publishers' preferences for AA offers, which increases VOD publishers' revenue. The AA system uses AA inquiry rules to select AA inquiry types. AA inquiry rules depend on factors including the following: the amount of known information about a specific viewer, the amount of known information about individual brands, product categories, and product preferences.

[0059] In operation 208, the AA system receives an AA query response to the AA query. In operation 210, the AA system checks the AA query response to determine whether the response included in the AA query response is affirmative. For example, if the system receives a negative response to the question included in the AA query (asking the viewer whether he / she wishes to view the video content without commercials), the AA system continues at operation 220. If the system receives an affirmative response to the question asking the viewer whether he / she wishes to view the video content without commercials, the AA system continues at operation 230. At operation 220, the AA system begins streaming the requested content to the viewer device with inserted video ads. After operation 220, the AA system proceeds to operation 265, where the system updates viewer data (e.g., viewer profile and viewer history). The AA system keeps track of AA query answers, AA offers sent, viewed, and accepted, video content requested and viewed, and viewer preferences for specific AA query terms (e.g., brands, product categories, products) and video content. The AA system may update viewer attributes such as gender or age range based on the AA query answers.

[0060] In operation 230, the AA system determines or confirms the viewer's identity. If the viewer is not already logged in, the AA system asks the viewer to log in (using an existing account) or register to create a new account. The AA system allows the viewer to log in using an email or an existing external account (such as or The AA system may log in or register an account with the VOD publisher (e.g., etc.). In 240, the AA system determines whether the AA system should generate one or more AA proposals. Some AA queries are designed to generate AA proposals, and some AA queries are designed to collect information rather than send AA proposals. In some cases, the AA system may not be able to find a suitable AA proposal to send. Figure 2 If the AA system decides not to generate an AA proposal, the AA system continues at operation 260. If the AA system decides to generate an AA proposal, the AA system proceeds to operation 250. The sequence of operations may be similar to Figure 2The sequence shown is different. For example, the AA system may start streaming the requested content before the AA system determines the best offer. In addition, the AA system may update viewer data before or after starting video streaming. In operation 250, the AA system selects one or more of the best AA offers to be sent. The AA system uses multiple factors to decide the best AA offer to be sent. These determining factors may include: current and past preferences or preferences of viewers for brands, product categories, products, previous AA offers and / or video content. Determining factors may also include advertiser / brand preferences, including bidding rules, AA offer seasonality, past AA offer history and / or viewer targeting rules. Determining factors may also include the VOD publisher's preference for AA offers that increase VOD publisher revenue. In operation 255, the AA system begins sending the selected one or more AA offers using the viewer's preferred (or selected) delivery medium or channel. The AA system typically sends AA offers at different times, for example, the AA system may send a first AA offer at 7 pm, a second AA offer at 10 pm, a third AA offer at 10 am, and so on. The AA system operator can set configuration parameters that control when the AA offer is delivered. At operation 260, the AA system begins streaming the requested content to the viewer device without inserting video ads. At operation 265, the AA system updates the viewer data.

[0061] In an embodiment, the AA system receives notification when a viewer has opened an AA offer email, has clicked on a link in an AA offer email, or has used an online coupon included in an AA offer. The AA system may assign bonus points or bonus coins to viewers who have viewed and / or accepted an email AA offer. The bonus points or bonus coins may be exchanged for various benefits, including viewing video content without commercials, viewing premium video content that would otherwise cost a fee, or merchandise.

[0062] Viewer scene example

[0063] Some possible uses of the AA system in the context of example scenarios are described below.

[0064] The viewer selects a brand for the first time. The viewer may start or launch the AA application for the first time and select a VOD program to watch on a portable viewing device (e.g., a smart phone, tablet, etc.), a TV, or a desktop computer. Before playback of the VOD content begins, the AA system may present the viewer with an AA query asking the viewer whether the viewer wants to watch the program without inserted commercials. The AA query may also allow the viewer to select multiple brands from a graphical list or a named list of brands. If the viewer responds with “no” (e.g., by selecting a “no” button), the AA system may play the program with inserted commercials. If the viewer selects the desired number of brands and clicks a “yes” button, the AA system may ask the viewer to use an existing VOD publisher account or an external account (such as or An AA system can log in with a VOD publisher account or create a new VOD publisher account using an identification (ID) such as an email ID. After a viewer has logged in, the AA system can store a cookie on the viewer's device to make further viewer identification easier. In this example, the viewer has selected an action show with a car chase. The AA system maintains a database that lists all selections made by all viewers for each program type. The AA system displays the most frequently selected brands for the current program type. In this example, the AA system displays car brands such as and wait.

[0065] The viewer may select the desired number of brands requested, e.g., click “yes,” and then complete the login / registration and begin watching ad-free video content. The AA system may send multiple AA offers to the viewer to increase awareness or as a call-to-action. The AA offer may include a specific promotional code, discount, or web link to a specific AA offer. In this example, the AA system uses email, but the AA system may use other channels, such as SMS or text messaging, etc. The AA system may select specific AA offer emails related to the selected brands. The AA system may maintain a database listing the AA offers associated with each brand. The AA system may send the highest priority AA offer for each selected brand. As an example, if the viewer selects Tesla, Mercedes, and Toyota, the AA system sends an AA offer for each selected brand. and In this example, the AA system may send the Tesla AA offer immediately, the Mercedes AA offer three hours later, and the Toyota AA offer three hours later.

[0066] Select merchandise categories. The viewer may log in and choose to watch a comedy show. The AA system may want to discover what type of AA offers the viewer may be interested in. In an embodiment, before starting to play the VOD content, the AA system presents the viewer with an AA query that asks the viewer if he wants to watch the show without commercials. The AA query allows the viewer to select multiple merchandise categories. If the viewer selects the desired number of merchandise categories and clicks the "Yes" button, the viewer can proceed to watch the show without commercials. For example, the AA system may ask the viewer to select three merchandise categories from the options of sneakers, snacks, hats, and candy. After the viewer selects snacks, hats, and candy, the AA system may send the viewer AA offers of the best snacks, hats, and candy from the advertiser AA that provides them. In addition to selecting a brand or general merchandise category, the AA system may ask the viewer to select a specific brand merchandise category (e.g., McDonalds salads, McDonalds sandwiches) or merchandise (e.g., Stargate SG-1, Firefly, Star Trek Discovery).

[0067] Select a ranked merchandise subcategory. The AA system may want to better understand the types of AA offers that may be of interest to the viewer. In an embodiment, before starting to play the VOD content, the AA system presents the viewer with an AA query, which asks the viewer whether he wants to watch the show without ads. The AA system also allows the viewer to select multiple merchandise categories. If the viewer selects one or more merchandise categories, the AA system presents the viewer with one or more menus of the corresponding merchandise subcategories. The AA system asks the viewer to rank the merchandise subcategories in order of preference. For example, the AA system may ask the viewer to select 3 merchandise categories from the options of sneakers, snacks, hats, and candy. As an example, after the viewer selects snacks, the AA system may ask the viewer to rank the merchandise categories of healthy snacks, potato chips, and popcorn. After the viewer selects candy, the AA system may ask the viewer to rank the three types of candy in order of preference. After entering the required information, clicking "yes" and logging in or registering, the viewer can proceed to watching the show without ads. The AA system keeps track of the viewer's merchandise preferences and sends AA offers to the viewer using each of the top ranked merchandise subcategories. The AA system uses a database that indicates which AA offers apply to which merchandise categories.

[0068] Use different AA ranking surveys. In addition to ranking general product categories, the AA system can ask the viewer to select a brand, brand-specific product category, or product, and then ask the viewer to rank the brand, brand-specific product category, or product corresponding to the initial selection. For example, multiple advertisers may want to better understand the popularity of new products among their customers. For example, the AA system can ask the viewer to select a brand, brand-specific product category, or product corresponding to the initial selection. Taco and If the viewer selects McDonalds, the AA system may ask the viewer to select three items from the options. Different products sold (e.g. Big bacon cheeseburger and a new meatless sandwich) were ranked.

[0069] Bidding rules. Advertisers can specify bidding rules for competitive scenarios. For example, a viewer can select the Beverages generic product category and then offer the first Sunny Second Red and the third Ranked by Sunny Maybe bid 10 cents after ranking first for an AA offer. Maybe bid 20 cents after ranking first for an AA offer. It may be that the bid after the first place is 15 cents for AA offer, and the bid after the second place is 30 cents for AA offer. In an embodiment, the AA system performs AA proposed that because Red With the highest bid. In an embodiment, the AA system employs a real-time bidding system, in which a third-party server is communicated to solicit and receive bids in real time.

[0070] Find viewer attributes. Advertisers like to target consumers based on demographics such as gender, age, and geographic location. Viewers may be reluctant to reveal personal information like this. After the viewer has watched multiple programs without ads, the AA system can introduce questions to help determine viewer attributes. The AA system can first try to directly ask the viewer's age range and gender in exchange for watching ad-free content. If the direct question fails, the AA system can infer the viewer's gender, age, and other attributes based on the viewer's preferences for programs, merchandise categories, and brands. For example, the AA system can build a menu with male-friendly and female-friendly items for the specific purpose of determining the viewer's gender. If the viewer selects the male-friendly item, the AA system concludes that the user is male. The AA system can use multiple methods to determine the viewer's geographic location, including Internet Protocol (IP) address lookup, direct questioning, and inference from answers to indirect questions. The AA system can also allow viewers to check and edit viewer profile data through a separate account settings menu. Viewers can use this mechanism to specify options such as gender and age, change the method of AA offer delivery (e.g., email, SMS, or text), and opt out or opt in to the AA service. If a viewer chooses to opt out of the AA service, the AA system may not present the viewer with an AA query, and may default to showing the content with inserted ads.

[0071] Information Query. In addition to asking questions about the viewer's attributes, the AA system can also be controlled to make other information queries. For example, the AA system can ask questions such as "Do you like the AA offer that was previously sent to you from Brand X?" The email AA offer can include buttons (such as emoticons, etc.) to query the viewer for the value of the AA offer. In an embodiment, the AA system uses Hypertext Markup Language (HTML) email coding to create visually appealing email content by displaying various colors, images, backgrounds, and fonts. The emoticons can show positive and negative images, such as happy and sad faces, thumbs up and thumbs down, etc. Clicking the button sends a message to a uniform resource locator (URL) address, where the website corresponding to the URL address records the event and returns a report to the AA server. In one embodiment, clicking the button calls a script that plays an audible tone or sound. Clicking the positive and negative images produces different positive and negative audible tones or sounds.

[0072] Advertiser rules. Advertisers often want to target specific viewers. Advertisers can represent a single advertising brand or multiple brands. Advertisers can introduce rules that emphasize groups. In a competitive situation, advertisers bid to have their brands or products appear in an AA query, or to make an AA offer. For example, a viewer may select "luxury cars" from an AA query that asks about preferences for product categories. A car manufacturer may bid $3 to make an AA offer on luxury cars to male viewers aged 40-55. If the viewer is aged 21-29, the same car manufacturer may only bid $1.

[0073] Advertising Research. Advertisers wish to gauge interest in their products (especially interest in new and future products). For example, a VOD publisher may have to decide which television content to purchase or which new, unproduced programming to fund. The VOD publisher instructs the AA system to ask viewers for their preferences for television programs that have not been produced or are not currently available.

[0074] AA System

[0075] Figure 3 is a diagram showing components of an AA system according to an embodiment. Figure 3 In the embodiment, the AA system 300 may include an AA system viewer 305 that interacts with a viewer device 310. In an embodiment, the viewer device 310 may include a display capable of displaying streaming video content and image overlays and an input device for accepting viewer input. In another embodiment, the viewer device 310 may be coupled to the display and the input device. The display and the input device may be separate or integrated with the viewer device 310. The viewer device 310 may be composed of multiple separate or integrated components. The viewer device 310 may be of various types, including: a television with an integrated streaming device, a television with a separate streaming device, a smart phone, a laptop, a tablet computer, a desktop computer, a car computer, or a game console. The streaming device may be of various types, including: a Roku device, an Amazon Fire Stick, a digital video disc (DVD) player, a set-top box, or a digital video recorder (DVR). The viewer device 310 runs an AA application. Viewers can typically download the AA application to their device, but some viewer devices may have the AA application pre-installed. AA applications typically use over-the-top (OTT) functionality to overlay AA queries and information on the viewer's screen or window, or may utilize a QR code on the viewing device to engage in AA on a second device, allowing these devices to work in tandem to complete AA selections. The specific display mechanism depends on the type of viewer device. For example, a smartphone AA application may use iOS and Android APIs as appropriate to display AA queries.

[0076] Continue to refer Figure 3 , the system 300 may include a content delivery network (CDN) or content delivery service 120 that handles data transmission between viewer devices 310 and AA servers 320. A CDN is a highly distributed server platform that helps minimize the latency of streaming video content by reducing the physical distance between servers and viewers. This helps viewers around the world watch the same high-quality content without slow loading times. The AA server 320 is a networked computing system, typically in the cloud. The AA server 320 communicates with the AA application running on the viewer device 310, thereby accepting requests for video content and sending video content in response. The AA server 320 also sends AA queries to the viewer device 310 and receives AA query responses. The AA server 320 may include and perform various functions, including viewer profile management, content management, advertising management, advertising revenue and reporting, AA processing management, AA / content analysis, AA data ingestion, AA offer management, AA query management, and AA reward management.

[0077] The viewer profile management function can handle both conventional and traditional cable VOD system requirements and new AA system requirements. The AA viewer profile management function keeps track of attributes that are directly entered, inferred, or derived, such as age, gender, and geographic location. The AA viewer profile management function maintains a record of individual viewers' preferences for brands, items, item categories, and options. The AA viewer profile management function maintains a record of viewing habits, responses to AA inquiries, AA offers sent to viewers, and individual viewers' responses to AA offers. The AA viewer profile management function maintains a record of which AA inquiry responses apply to which requested video content. Viewing habit data includes a video content identifier and the time and date that the viewer requested or watched the content. The AA viewer profile management function receives notification when a viewer opens an AA offer email, clicks on a link in an AA offer message, or uses a discount provided by an AA offer.

[0078] The content management function manages the input of new video content (from content partners 140 and third parties), the streaming of video to viewers, and the maintenance of a data dictionary that lists available video content and its associated metadata. The AA server 320 may store video content in a content database 340. The AA server 320 may also maintain a record of the interactions of individual viewers with the video content. The AA server may stream video content from the content database 340 or directly from the content partners 140.

[0079] The ad management function manages inserted ads, bidding, and AA offers. The ad revenue and reporting function manages the revenue associated with inserted ads, AA query item display, bidding, and AA offers. The AA server receives ads from the SSP / ad provider 150 for insertion into the video content. The VOD publisher charges a fee when the inserted ad is displayed, an AA offer is made, and may charge a fee when a brand, item, or item category is displayed in the AA query. The ad management, ad revenue, and reporting functions keep records of fees collected, financial reports created, and may track financial trends.

[0080] The AA process management function provides overall control of the AA system 300. The AA process management function manages multiple processes or threads, including: a process or thread that handles initial viewer requests to access the AA server, independent processes or threads that handle communications with various different viewers, processes or threads that handle notifications such as open emails, and processes or threads that communicate with content partners, third parties, and the AA system operator 325.

[0081] The AA / Content Analysis function analyzes AA data and content viewing data and makes predictions. The AA server predicts viewer preferences for video content, brands, merchandise, merchandise categories, and AA offers. The AA server keeps track of issues such as which brand gets the most clicks, which brand generates the least revenue, and trends.

[0082] The AA data ingestion function manages the input and maintenance of AA data, such as advertisers, brands, brand rules, items, item categories, and AA offers, etc. In one embodiment, the system 300 may include an AA system operator 325 that interacts directly with the AA server 320. In another embodiment, one or more AA system operators 325 may interact with the AA server 325 remotely. Some AA system operators may have restricted access, such as only being able to access specific brand-related data.

[0083] The AA proposal management function manages AA proposal selection and the sending of AA proposals.

[0084] The AA query management function manages the AA query generation. The AA server uses the AA query rules to decide which AA query to present to the viewer.

[0085] AA Rewards Management manages the AA Rewards system, which includes handling notifications when AA offers are opened or accepted, reward point allocation and accounting, and reward point redemption.

[0086] AA server 320 can store data in and retrieve data from AA database 330. AA database 330 and content database 340 can each reside on one or more computer storage devices and use one or more database management systems. In one embodiment, AA database 330 uses a relational database management system and the AA server uses relational database queries to access AA data.

[0087] The AA server 320 may interact with one or more third-party licensees 360. The third-party licensees 360 use API calls to access the functionality of the AA server 320. The third-party licensees 360 use the AA server 320 to generate AA queries and generate AA offers. In one embodiment, each third-party licensee 360 ​​uses its own dedicated AA server 320, which uses its own AA database 330. The AA server 320 may not have access to the viewer profile and content database of the licensee, but maintains limited information about viewers and content in the AA database 330. To meet privacy considerations, the AA server 320 may not know the viewer's email address or other viewer information. The third-party licensee can generate an anonymous email id for communicating with the AA server. The third-party licensee sends the generated AA offer to the viewer.

[0088] Figure 4 4 is a block diagram of an example of a computing system that can implement one or more of the various embodiments described herein. For example, computing system 400 can be used to implement an AA server and a viewer device (as described above). In an embodiment, system 400 includes at least one central processing unit 402 and a system memory 404, such as Figure 4 The system 400 may also include additional features and / or functions. For example, the system 400 may also include (e.g., removable and / or non-removable) additional storage devices (including but not limited to magnetic disks or optical disks or tapes). Such additional storage devices may be stored in the system 400. Figure 4 4 is illustrated by removable storage device 408 and non-removable storage device 420.

[0089] The system 400 may also include a communication connection 422 that allows the device to communicate with other devices, such as a logical connection to one or more remote computers used in a networked environment. In addition, the system 400 may also include an input device 424, such as but not limited to a voice input device, a touch input device, a keyboard, a mouse, a pen, a touch input display device, etc. In addition, the system 400 may also include an output device 426, such as but not limited to a display device, a speaker, a printer, etc.

[0090] exist Figure 4In the example of the present invention, the memory 404 includes computer readable instructions, data structures, program modules, etc. associated with one or more various embodiments 450 according to the present invention. Embodiment 450 may include AA system and computer readable instructions and data, and viewer device AA application computer readable instructions and data. However, embodiment 450 may alternatively reside in any one computer storage medium used by system 400, or may be distributed on some combination of computer storage media, or may be distributed on some combination of networked computers, but is not limited thereto.

[0091] Note that computing system 400 may not include Figure 4 In addition, the computing system 400 may be implemented to include Figure 4 One or more elements not shown. Note that computing system 400 may be utilized or implemented in any manner similar to that described and / or illustrated herein, but is not limited thereto.

[0092] Figure 5 is a diagram showing components of an AA database according to an embodiment. Figure 5 , the AA database 330 may include multiple sets of interrelated data, such as AA offers 505, merchandise 510, advertiser brands 515, advertisers 520, and merchandise categories 525. An AA offer 505 may be an advertising message sent in response to an AA query. An AA offer 505 may have associated text, a clickable URL link, and associated illustrations, such as one or more bitmap images, etc. An AA offer 505 may provide a discount on a product or service, provide information, present a call to action requesting the viewer to do something within a time interval, or request the viewer to click on one or more links. An AA offer 505 is generally applicable to a specific advertiser 520, one or more advertiser brands 515, a specific merchandise 510, and / or merchandise categories 525. An advertiser 520 may own or represent one or more advertising brands 515. For example, Procter and Gamble The company owns many brands of detergent, including Tide, Persil, Gain, and others. Other advertisers may represent a brand. For example, an advertiser may wish to make an AA offer that gives viewers a 10% discount on a) any item from the advertiser; b) any item associated with one or more specific brands; or c) a specific item or category of items. Various advertisers have items that they wish to promote. Item 510 may be any good or service from the advertiser. For example, item 510 may be "Meineke's brake or oil change service," or Advertisers 520 may group items 510 together into named item categories 525. Advertisers 520 may request that the AA system create an AA query that queries about specific items and item categories that they have defined in the AA database.

[0093] AA offers 505, merchandise 510, advertiser brands 515, advertisers 520, and merchandise categories 525 have related attributes, such as AA offer location, seasonality, and rules. For example, an advertiser may want to limit AA offers 505 to viewers in the United States, or to make certain AA offers only during the Christmas sales period. In many cases, advertisers want to specify a single value that applies to all related AA offers 505, merchandise 510, advertiser brands 515, and merchandise categories 525. In other cases, advertisers may want to specify different values ​​for different AA offers 505, merchandise 510, advertiser brands 515, and merchandise categories 525. In one embodiment, the AA system provides attribute value inheritance so that a merchandise 510 can assume an attribute value from a parent advertiser 520.

[0094] The AA system creates an AA query to ask the viewer to show a preference between generic product categories (e.g., any detergent or any snack food) that contain products from multiple advertisers. To this end, the AA database maintains a list of generic product categories and their associations with specific advertiser products, product categories, and AA offers. AA product categories and products differ from AA offers in that they are more generic and include both services and products. Product categories and products found on the Site.

[0095] AA database 330 can be implemented in a variety of ways. In one embodiment, the database consists of multiple different record types, including record types for AA offers 505, merchandise 510, advertiser brands 515, advertisers 520, and merchandise categories 525. Each record has fields or attributes with values. Each record can be considered an object. Relationships can be stored in three-value records of the form "<object 1><relationship><object 2>". The <relationship> field has values ​​such as "is an AA offer for...", "is a member of...", "is a parent of..."

[0096] AA query items 530 are objects that appear in an AA query. When a viewer selects an AA query item 530, the viewer typically indicates a preference for the object. Each AA query item 530 has associated display text and / or illustrations. Each AA query item 530 refers to another object in the database, which includes a specific advertiser 520, an advertiser brand 515, a specific item 510, an item category 525, or an attribute in a viewer profile 535. In one embodiment, the AA database 330 includes AA query item records. In another embodiment, the AA system derives AA query items from other record types that have a field indicating whether the record represents an AA query item. AA query items may indicate a viewer's preference, or may be used for purely informational purposes. AA query items have a scorable attribute to indicate whether the AA query item indicates a viewer's preference.

[0097] The viewer profile 535 contains known information about the viewer. The viewer profile 535 includes fields for login credentials, email address, age, gender, location, reward status, and preferences.

[0098] AA query types 540 give information about possible AA query types. The AA system displays the AA query as a screen overlay on some viewer devices (e.g., smart phones), and as a window on other viewer devices (e.g., desktop computers). AA query types include: a) a single screen / window AA query where the viewer selects N brands from M options, b) a single screen / window AA query where the viewer selects N general merchandise categories from M options, c) a single screen / window AA query where the viewer selects N specific advertiser or specific brand merchandise categories from M options, d) a dual screen / window AA query where the viewer selects N brands from M options on the first screen / window, and then selects P merchandise categories from Q options (related to the N selections) on the second screen / window, e) a specific AA query designed to determine the viewer's gender, f) a specific question that asks the viewer to select a gender and age range.

[0099] AA query rules 545 control the AA server's selection of AA query types and AA query terms to be sent to the viewer.

[0100] Brand rules and control data 550 allow advertisers or brand managers to control what AA offers they send or when their brands, items, and item categories are shown in the AA query. As an example, for the first AA query type above, where the viewer selects among competing brands, these brands are shown as options in the competition. The advertiser can specify a bid, such as 20 cents, etc., and specify a maximum budget. The advertiser can further refine the bid so that different amounts are bid based on the viewer's group (such as age and / or gender, etc.). For the second AA query type above, where the viewer selects among generic item categories, brands are in competition in two ways. Each advertiser wants his or her item categories to be shown as options. After the viewer selects the generic item category, the AA system may need to decide which advertisers to start sending AA offers. Advertisers can specify separate bid amounts for a) having their item categories shown as options, and b) being selected as advertisers to send AA offers.

[0101] Control data can be represented in a variety of ways including global variable values, parameter values, rules, and object attributes. The AA system operator can change the control data to change the AA system behavior. In one embodiment, the global variables include:

[0102] The length of time viewers can watch ad-free episodes.

[0103] The number of times the same AA proposal is sent repeatedly.

[0104] • The number of consecutive times a viewer must enter "No, I want commercials" into the AA before being given the opt-out information.

[0105] • The number of consecutive times the viewer enters "No, I want a commercial" before the AA system changes the AA query title and subtitle.

[0106] The number of consecutive times a viewer fails to open an AA offer email before the viewer is given the opt-out information.

[0107] The attributes of each AA query type object control the format and behavior of the corresponding type of AA query. AA query type objects include:

[0108] • The number of items that the viewer can select.

[0109] The number of items to rank.

[0110] The number of levels of screens / windows.

[0111] The information contained in AA query rules, brand rules, control rules, and control data can be entered, displayed, and stored in a variety of ways. In an embodiment, the rules are in the form of "if" <condition> "then" <action>. The <condition> component can use conjunctions and disjunctions of basic conditions. Basic conditions include checking whether an AA query item is selected, comparing counts of events, and testing viewer attributes. Basic conditions refer to objects and object attributes. The AA system defines global objects that rules can reference, such as the current viewer, the current AA offer, or the current AA query selection. For example, a rule may include "current viewer->location" to reference the location of the current viewer. The AA system uses built-in functions in the same way that a spreadsheet uses built-in functions in its formulas. The AA system can make multiple simultaneous AA offers, or have multiple selected AA query items. These rules allow embedded functions to determine whether the rules apply to each item separately, or when any or all items meet certain conditions. The <action> component includes actions such as displaying or not displaying AA query items, making or not making AA offers, changing bids, or selecting AA query types.

[0112] Examples of brand rules include:

[0113] If the viewer selects the product category Truck, no bidding will be performed.

[0114] • If a particular AA offer has been sent a certain amount of time (eg, 500 times), then the associated AA challenge item is not displayed.

[0115] If the viewer is not in the United States, no AA offer is sent.

[0116] If the viewer's second choice matches the advertiser's AA query, bid for it.

[0117] • If the viewer is male and in a certain age group (eg, 30-55 years old), bid an additional amount (eg, 50% more).

[0118] Control rules and control data 555 control the overall operation of the AA server. Examples of control rules include:

[0119] • If the viewer answers "No" to the AA query a certain number of times (e.g., 8 times in a row), play the content with ads.

[0120] • If the viewer has not opened a certain number of previous AA offers (eg, the last 20 AA offers), then play the content with ads.

[0121] • If the viewer answers "yes" to the AA query a certain number of times (eg, 10 times), then ask the viewer profile question.

[0122] • If the viewer has received the same AA offer a certain number of times (eg, 3 times), then the AA offer is not sent again.

[0123] • If the viewer has previously selected from a small number of selectable items (eg, <10% of all selectable items), construct an AA challenge showing 50% high system interest challenge items and 50% random challenge items.

[0124] • If the viewer has opened an AA offer email within the previous few days (eg, the past 60 days), the AA challenge items associated with the AA offer are not shown.

[0125] If a viewer does not click on a particular brand after certain consecutive impressions (eg, 5 consecutive impressions), then that brand is not shown.

[0126] Viewer history 560 includes a record of all viewer selections and preferences.

[0127] Figure 6 is a diagram showing an example of commodity categories. Figure 6 , merchandise categories 525 may include merchandise category apparel 605 with links to more specific merchandise categories men's apparel 610 and women's apparel 615. Merchandise category men's apparel 610 has links to more specific merchandise categories shirts 620, socks 625, and footwear 630. Merchandise category women's apparel 615 has links to more specific merchandise categories skirts 635, socks 625, and pants 640. Merchandise category footwear 630 has links to more specific merchandise categories sneakers 645 and boots 650. Merchandise category socks 625 may be a specialization of both men's apparel 610 and women's apparel 615. The AA system uses the hierarchy of merchandise categories in several ways. First, the AA system uses the hierarchy of merchandise categories to construct queries to discover more specific preferences of the viewer. Second, the AA system uses the hierarchy of merchandise categories to match advertiser merchandise and viewer merchandise category preferences. For example, a viewer may indicate an interest or preference in footwear. The AA system may determine that an advertiser promoting boots may be of interest to the viewer.

[0128] Figure 7 is a diagram showing an example of AA data ingestion according to an embodiment. Figure 7, AA data ingestion 700 may begin with the AA system operator 325 inputting data to be stored in the AA database 330. In operation 710, the AA system operator 325 may capture advertiser, brand, AA offer, and item data. The AA system operator 325 may enter fields such as: a) advertiser supported item categories, brands, AA offers, and items, b) geographic details (such as applicable countries and regions, etc.); groups (such as age range and gender, etc.), c) maximum and minimum income related restrictions, d) pricing and bidding parameters, e) seasonality, such as holidays, time / day of year associations, etc., f) brand control rules. In operation 750, the AA system operator 325 may enter or create illustrations for associated AA query terms and AA offers. In operation 720, the AA system operator 325 may enter or update control rules and associated control data. In operation 730, the AA system operator 325 may enter or update generic item categories to align with advertiser / brand item categories. In operation 740 , the AA system operator 325 may input or update the AA query type and the AA query rule.

[0129] Figure 8 is a diagram illustrating the use of an AA system application programming interface (API) according to an embodiment. Figure 8 In the embodiment, the AA server 320 may include a plurality of application programming interface (API) libraries for communicating with a computer running on a viewer device (e.g., Figure 3 The API library may include: AA application API, content API, transaction API, and data analysis API.

[0130] The AA application 810 may send an AA query request 820 for an AA query. The AA query request 820 may include process parameters that identify the viewer, the requested content, and the capabilities of the viewer device. If the viewer device supports cookies, the AA system will store a viewer identifier on the viewer device. If the viewer has logged in on the viewer device, the AA application 810 may have a viewer identifier associated with the login, such as a viewer email address, etc. The AA query request 820 may include a login viewer identifier and a cookie viewer identifier. If the identifier is unknown, the process parameter may have a value indicating that the identifier is unknown, such as a null value, etc. In an embodiment, the AA query request 820 includes a content identifier that identifies the requested video content. The AA query request 820 includes a type of viewer device or a structure that provides viewer device capabilities. Common viewer device types have standard display sizes. The AA server 320 receives the AA query request 820 and responds by sending an AA query result 830. The AA query result 830 may identify the AA query type, the AA query terms, and the associated display illustrations or videos.

[0131] Fig. 9 is a diagram illustrating an example AA system that returns values ​​from an API call according to an embodiment. Fig. 9 In the example of FIG. 1 , the AA application 810 may send an AA query response (or answer) 910 to the AA server 320. The AA query response 910 may include a logged-in viewer identifier, a cookie viewer identifier, an answer as to whether the viewer wants to watch ad-free content, and an AA query item selection. After receiving the AA query response 910, the AA server 320 may send a return code 920 indicating success or failure to the AA application 810.

[0132] Viewer Interface

[0133] Fig.10 1 is a diagram showing an example AA query on a display of a viewer device according to an embodiment. In an embodiment, AA query 1000 summarizes the purpose of the AA query, gives the viewer clear instructions on what to do, presents selectable items, and has two buttons for accepting or declining the AA offer to view ad-free content. The AA query can encourage the viewer to select the ad-free option, which is easy to understand and quick to complete. Fig.10As shown, AA query 1000 includes a header 1004 (e.g., "Watch this episode without commercials"). Header 1004 summarizes the purpose of AA query 1000 and encourages the viewer to select and watch commercial-free video content. For example, if the viewer has requested a movie or other video content without an episode, AA query 1000 may appropriately replace the word "episode". In one embodiment, header 1004 has a larger font than other on-screen text. AA query 1000 may also include a subheading 1006 (e.g., "Click below to watch the episode." <n>items and click Yes"), where <n>is an integer greater than 0. Subtitle 1006 may provide an explanation of what the viewer should do and encourage the viewer to select button 1015. AA query item 1010 may show a brand, product category, or product. In this example, AA query 1000 has items showing different brands (e.g., Sunny and ) of the present invention. The AA query items 1010 may include associated illustrations, such as images, etc. The number of AA query items 1010 varies and depends on the capabilities of the viewer's device display. In embodiments, the number of AA query items 1010 may be four, six, nine, or sixteen. The AA query has two buttons 1015 and 1020. In this example, button 1015 is labeled "Yes, make the ads disappear" and button 1020 is labeled "No, I want commercials". In one embodiment, button 1015 uses a larger font than button 1020 to further encourage the viewer to select the button 1015. The AA system periodically changes the text and format of the title 1004, subtitle 1006, and buttons 1015 and 1020. For example, if the viewer has selected the "No, I want commercials" button 1020 ten times in a row, the AA system may change the relative size of the two buttons 1015 and 1020 and change the header. The AA system operator can set system control parameters and specify rules for periodically changing AA queries.

[0134] The VOD publisher may want the viewer to select an appropriate number of AA query items 1010 and then click button 1015. Selecting an AA query item 1010 may cause the AA system to highlight the AA query item 1010 and generate a unique auditory tone or sound. The auditory tone or sound may provide a similar video game experience. The viewer selection may generate a series of auditory tones or sounds that form a familiar tune. The AA system uses an AA tone and sound library that lists possible audio tones and sounds. The AA system operator sets system control parameters and specifies rules for assigning audible tones and sounds to selectable buttons and AA query items. Selecting an AA query item 1010 a second time deselects it and causes the AA system to de-highlight the AA query item 1010. The AA system may highlight the AA query items 1010 in a variety of ways including: a) using the standard or most common button highlighting method on the viewer's device operating system, b) making the AA query items 1010 appear to be pressed by adding a shadow, c) increasing the width of the border of the AA query items 1010, d) drawing an additional box around the AA query items 1010, and e) changing the image displayed within the AA query items 1010, such as by changing from color to black and white. If the viewer selects the appropriate number of AA query items 1010 and then clicks button 1015, the AA system replaces the displayed AA query with a login / registration display (if necessary) and then shows the selected video content. In an embodiment, if the viewer selects the wrong number of AA query items 1010 and then clicks button 1015, the AA system indicates an error and continues to display the AA query. The AA system may signal an error in a variety of ways including: a) emitting an error sound, b) flashing the screen, c) displaying a message explaining that the viewer selected the wrong number of AA query items. If the viewer clicks button 1020, the AA system replaces the displayed AA query with the selected video content.

[0135] Fig.11 is a diagram showing four example viewer device screenshots from an AA application according to an embodiment. Fig.11 110, screenshot 1110 shows the title, synopsis, and associated artwork of the video content selected by the viewer. In this example, the viewer has selected a television show titled "Raised by Wolves." Screenshot 1110 also shows a button for playing the video content for free. In response to the viewer selecting the "Watch Now for Free" button, the AA system displays the AA query in screenshot 1120. In response to the viewer selecting the appropriate number of brands and clicking the "Yes, Make Ads Disappear" button, the AA system may display the information in screenshot 1130 or screenshot 1140. If the viewer is already logged in, the AA system need not show screenshot 1130 or screenshot 1140. If the viewer has an existing account and has not yet logged in, the AA system displays the information in screenshot 1130. If the viewer does not have an existing account, the AA system displays the information in screenshot 1140. Screenshot 1130 provides an easy-to-use, typically single-click login screen where the viewer's name and password are filled in. Screenshot 1140 provides an easy-to-use registration screen, allowing the viewer to log in using an existing account (such as Facebook, etc.), or to specify an email address and password to log in.

[0136] Fig.12 is a diagram illustrating an example two-level AA ranking survey according to an embodiment. Fig.12 , the AA system may first display a first level screen / window 1205 and then display a second level screen / window 1230. The first level screen / window 1205 displays an AA query on the viewer device. The screen / window 1205 shows four merchandise category items 1210, a "yes, make ads go away" button 1015, and a "no, I want commercials" button 1020. When the viewer selects a merchandise category item 1210, the AA system immediately displays the information shown in the second level screen / window 1230. In this example, the viewer selects a merchandise category item 1210 for beverages, and the AA system responds by showing three types of beverages (e.g., Sunny Delight 1235, Powerade 1240, and Red Bull 1245) in the screen / window 1230. The screen / window 1230 displays an indicative text 1232, the ranked AA query items 1235, 1240, and 1245, and the associated ranking boxes 1250, 1255, 1260. Each ranked AA query term has its own associated ranking box.

[0137] In a first configuration, the viewer selects a ranked AA query item or any of its associated ranking boxes to indicate a preference. A first such selection may cause the AA system to select or highlight the first ranking box 1250 to indicate that the AA query item is the highest ranked item and play an audible tone (or sound). A second AA query item selection may cause the AA system to select or highlight the second ranking box 1255 to indicate the second highest ranked AA query item and play a second audible tone (or sound). After the viewer makes two selections, the AA system may automatically fill in the appropriate third ranking box 1260 and play a third audible tone (or sound), pause for the viewer to view the final ranking, and then close the window (or restore to the previous screen display). The viewer may change his or her highest ranked selection by selecting the same AA query item selection a second time. Selecting the same AA query item selection twice cancels that selection.

[0138] In the second configuration, the viewer selects ranking boxes 1250, 1255, and 1260 to indicate the first, second, and third options. The AA system uses this configuration when the ranking boxes 1250, 1255, and 1260 are large enough to enable the viewer to easily select them. The AA system operator controls whether the AA system uses the first or second configuration, or whether the AA system automatically selects the configuration based on the viewer device capabilities. After the viewer ranks twice, the AA system can fill in the third ranking box appropriately, pause for the viewer to view the final ranking, and then automatically close the window (or restore the previous screen display). The viewer can change his or her ranking by clicking on different ranking boxes 1250, 1255, and 1260. The AA system modifies the ranking as needed to ensure that there is a first option, a second option, and a third option. For example, if the viewer selects the first option ranking box 1250 for SunnyDelight 1235, and then selects the first option ranking box 1250 for Powerade 1240, the AA system may change the Sunny Delight ranking from first to second, or make the Sunny Delight ranking unknown.

[0139] After the viewer has completed ranking the items in panel / window 1230, the AA system may redisplay the information in panel / window 1205. In this example, the viewer has completed ranking the items associated with the merchandise category Beverages 1210. The AA system modifies the Beverages 1210 AA query item display to indicate completion using methods such as: a) changing the item display image from color to black and white, b) giving the item display a shadow to simulate the pressing of a button, c) dimming or blurring the item's display image.

[0140] After the viewer selects the appropriate number of items in frame / window 1205 and ranks each of their associated items in frame / window 1232, the viewer may select a "Yes, make the ad disappear" button 1015.

[0141] Fig.12 An example of a two-level AA ranking survey according to an embodiment is provided. The AA system can provide multiple types of AA ranking surveys. The AA system can change the number of items in the first level screen / window 1205, and can change the number of items in the second level screen / window 1230. The AA system can change the type of items in the screen / window 1205, and can change the type of items in the screen / window 1230. In this example, the AA system shows a general merchandise category in the screen / window 1205, and shows a specific brand / merchandise in the screen / window 1230. Sunny Delight 1235, Powerade 1240, and RedBull 1245 represent both brands and merchandise. The AA system can support a multi-level AA ranking survey, in which the AA system presents more than two levels of screens / windows 1205 and 1230. More generally, the AA system can support a multi-level AA query, in which at each screen / window level, the screen / window asks the viewer to select an AA query item or rank the AA query item. For example, an AA query may ask the viewer to select items in a first frame / window and then select items in subsequent frames / windows.

[0142] Fig.13 13 is a diagram showing an example of how the AA system according to an embodiment determines the gender or sexual orientation of the viewer. For example, in the screen / window 1310, the AA system may display four AA query items 1320. Two of the four AA query items 1320 represent brands, product categories, or products that are oriented toward men, while the other two AA query items 1320 represent brands, product categories, or products that are oriented toward women. Brands oriented toward men include, for example, Sports Samuel wait.

[0143] Brands targeting women include e.g. Etc. If the viewer consistently selects AA query items associated with one gender, the AA system concludes the gender of the viewer. For example, if the viewer selects brands, product categories, or products oriented toward women more than twice as often as the viewer selects brands, product categories, or products oriented toward men, the AA system may conclude that the viewer is female. In screen / window 1330, the AA system may display AA query items 1340. Four of the nine AA query items 1320 represent brands, product categories, or products oriented toward men, while the other five AA query items 1320 represent brands, product categories, or products oriented toward women. The AA system may typically display AA queries in which only some of these AA query items 1320 represent male or female orientation. If the viewer selects a combination of male and female query items, the AA system indicates the viewer's gender as undetermined.

[0144] Fig.14 is a diagram showing an example of how the AA system uses AA query item positioning according to an embodiment. Fig.14 , grids 1410 and 1450 give examples of different AA query item positioning configurations. For example, grid 1410 has three rows and two columns forming a 3×2 matrix. On the top row of grid 1410, the AA system has high-scoring AA query items 1415. On the middle row of grid 1410, the AA system has medium-scoring AA query items 1420. On the bottom row of grid 1410, the AA system has low-scoring AA query items 1425. Most viewers tend to look at the AA query items in the top row first and select the items in the top row first. The AA system uses knowledge of this position preference when assigning AA query items to different grid positions. The AA system may place higher-scoring AA query items in the most popular positions, as shown in this example. The AA system may monitor viewer selections across many AA queries and determine the most popular grid position or positions. Position preferences vary from culture to culture and are influenced by factors such as whether viewers read from left to right or from top to bottom. Individual viewers also exhibit different position preferences, so the AA system attempts to detect the preferred grid position of each viewer. The AA system builds experiments that repeat the same AA query items at different locations. The AA system also keeps track of the order of selections. For example, in a situation where a viewer selects three items, the viewer may frequently select the first item from a row higher than the second item. The AA system uses a different scoring method. The AA system assigns higher scores to items that the viewer prefers or may prefer. The viewer may frequently view his or her preferred items first. The AA system may assign the highest scores to items that may generate the most revenue for the VOD publisher.

[0145] Continue to refer Fig.14 , grid 1450 may show different types of AA query items assigned to different positions. The AA system constructs queries that include high-scoring AA query items 1415, gender-biased AA query items 1460, and pseudo-random AA query items 1455. For example, the AA system may show some female-oriented brands to female viewers because the viewers like or may like them. Alternatively, the AA system may show male-oriented brands and female-oriented brands to determine the viewer's gender or sexual orientation. In separate AA queries, the AA system shows the same male-oriented and female-oriented brands in swapped positions to check for position bias. The AA system assigns pseudo-random AA query items to AA queries to find new viewer preferences and verify existing viewer preferences. When new brands are added to the AA database (e.g., Figure 5 330), the AA system has little or no information about viewer preferences for that brand. To better understand viewer preferences for new brands and items, the AA system includes that brand / item as a pseudo-random AA query item. The AA system swaps the grid positions of the pseudo-random AA query items 1455 to check for positional deviations. If the viewer consistently selects at the same grid position, regardless of the content of that grid position, the AA system concludes that the viewer is not paying attention and is not using the AA system as intended. The AA system may require the viewer to take corrective action.

[0146] AA inquiry confirmation

[0147] Most viewers watch multiple video content programs and receive many AA inquiries. The AA system can generate many different AA inquiries and hopes to provide AA inquiry diversity to each viewer. For example, the AA system avoids showing the same AA inquiry during a viewing session. The AA system adopts different AA inquiry generation strategies, depending on how well it knows the viewer's preferences. The AA system also uses multiple scoring indicators when generating AA inquiries. The AA system uses equity scores to measure the overall popularity and revenue generation of AA inquiry items (such as specific brands, product categories or products, etc.). The AA system also uses viewer-item preference scores to estimate the attitude of a specific viewer towards a specific AA inquiry item. Tables 1, 2 and 3 (see below) show the scoring indicators and how the AA system derives these indicators.

[0148] Fig.15 1500 is a flowchart illustrating an example process of how the AA system determines the next AA query according to an embodiment. Process 1500 may be performed by processing logic including hardware (e.g., circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer-readable medium), or a combination thereof. For example, process 1500 may be performed by Figure 3 The AA system 300 is performed. Fig.15 In operation 1510, the AA system receives a request to generate an AA query. In operation 1520, the AA system may determine or test whether the system has sufficient knowledge about viewer preferences. In one embodiment, the AA system counts the number of scorable AA query items for which the viewer has known or derived preferences, and divides the number of scorable AA query items by the total number of scorable AA query items. The AA system may compare the result to a threshold value, such as 40%, etc. The AA system operator may adjust the threshold value. If the percentage of known scorable AA query items exceeds the threshold value, the AA system determines that there is sufficient knowledge about viewer preferences and proceeds to operation 1540. If the percentage of known scorable AA query items does not exceed the threshold value, the AA system determines that there is insufficient knowledge about viewer preferences and proceeds to operation 1530. In systems with new brands, product categories, and new products, the AA system may know little about viewer preferences and follow the same process. In operation 1530, the AA system determines what type of AA query to create for viewers with unknown preferences. For example, the AA system may decide between AA query types such as a two-level AA ranking survey or a one-level AA selection survey. When the AA system knows little about the new viewer preference information, it may tend to use a two-level AA ranking survey because the two-level AA ranking survey gives more information. In an embodiment, the AA system constructs an AA query that asks the viewer to select or rank AA query items for which the viewer has not expressed a preference. For a two-level AA ranking survey, the AA system may tend to use the most general generic product categories at the first level. If the first-level generic product categories have subcategories, the AA system may ask the viewer to rank the relevant subcategories. If the first-level generic product categories have no subcategories, the AA system may ask the viewer to rank relevant brands or specific products. In one embodiment, the AA system uses the information in the table to decide the sequence of AA query types. Table 1 gives one such example.

[0149]

[0150] Table 1

[0151] In the example of Table 1, if the viewer's known preferences are less than 40% of the possible or all AA query items, the AA system may cycle through the list of AA query types on the first row. The AA system may first use AA query type "Type-1". The AA system may next use AA query type "Type 2", and subsequently use each AA query type in the list. The AA system repeats the sequence of AA query types after it has used all AA query types in the appropriate table cells.

[0152] In operation 1535, the AA system determines or selects AA query items to be used for the selected AA query type. The AA system may tend to use AA query items that reveal the group and AA query items with high equity scores. The AA system can also select pseudo-random AA query items. If the AA system does not know the gender of the viewer (or other group value), the AA system can also introduce AA queries to determine the gender of the viewer. These AA queries attempt to discover new viewer preference information and mainly use AA query items that the viewer has not shown a preference for. In an embodiment, the AA system applies control rules to filter out some AA query items (for example, not showing male-oriented products to women). In one embodiment, the AA system uses a data table to indicate how many AA query items of each type to use. For example, the data table can indicate the ratio of one high-equity AA query item, one group-determining AA query item, and one pseudo-random AA query item that the AA system should use for the first-level selection AA query. If the viewer device has a screen size that accommodates nine AA query items, the AA system can select to allocate three high-equity AA query items, three group-determining AA query items, and three pseudo-random AA query items. The AA system selects high stakes AA queries based on their stake scores and the number of times they have been shown before.

[0153] In operation 1540, the AA system determines what type of AA query to create for a viewer with known preferences. When a viewer has a strong preference for a product category, the AA system may tend to use a two-level AA ranking survey. In one embodiment, the AA system uses a table (e.g., Table 1 shown above) to determine the next AA query type. In operation 1545, the AA system determines AA query items for a viewer with known preferences. The AA system may be less concerned with finding out the viewer's preferences and more concerned with showing AA query items that the viewer may like and may generate revenue. The AA system may tend to use AA query items with high viewer-item preference scores and only use equity scores as tie-breakers. The AA system also uses AA query item types and pseudo-random AA query items with favorable group attribute matches. In one embodiment, the AA system uses a data table to indicate how many AA query items of each type to use. For example, the data table may indicate that the AA system should use a ratio of a high viewer-item preference AA query item, a favorable group AA query item, and a pseudo-random AA query item for a first-level selection AA query.

[0154] After creating the AA query at operation 1535 or operation 1545, the AA system proceeds to operation 1550, in which the AA system sends the requested AA query. At operation 1560, the AA system receives a response (or result) to the AA query. At operation 1565, the AA system updates the equity score and viewer-item preference score based on the response. At operation 1570, the AA system may attempt to derive or predict unknown viewer-item preference and equity scores. System control parameters control when the AA system attempts to predict scores.

[0155] Table 2 illustrates how the AA system assigns equity scores for AA query items. The AA system keeps track of each viewer's response to each AA query. In this example, the AA system keeps track of how often each viewer has viewed each AA query item, how often each viewer has selected the AA query item, and how much revenue the AA query item has generated. The AA system maintains multiple scoring factors by summing the data for all viewers.

[0156]

[0157] Table 2

[0158] In the example of Table 2, the system keeps track of how often the AA inquiry items are viewed, how often the AA inquiry items are selected, the ratio of selected to viewed, and the total revenue. The AA system uses a combination of these factors to derive an equity score. In one embodiment, the AA system uses a weighted sum. In the example of Table 2, Item 3 is only viewed once in the AA inquiry, so the AA system has too little information to generate an equity value like it does for other items. The AA system can infer equity values ​​by comparing the attributes of different AA inquiry items. For example, if Item 3 belongs to the same product category as Item 1, and Item 1 and Item 3 share other characteristics (such as similar brand company revenue), the AA system can infer that Item 3 has a similar equity score.

[0159] Table 3 illustrates a viewer-item preference matrix. The AA system attempts to determine viewer-item preferences for each combination of viewer and AA query term. Question marks indicate unknown preferences.

[0160]

[0161] Table 3

[0162] In an embodiment, the AA system assigns a viewer-item preference score based on the viewer's responses to the AA query items. The AA system may consider, for example, whether the viewer accepted an AA offer associated with the AA query item, whether the viewer opened an AA offer associated with the AA query item, whether the viewer completed a selection query and selected the AA query item, whether the viewer completed a ranking query and ranked the AA query item, whether the viewer did not complete the AA query but selected the AA query item before clicking the "No, I want commercials" button, and / or whether the viewer had viewed the AA query item without selecting the AA query item. In some embodiments, the AA system may consider the number of times the viewer's response occurred, such as whether the viewer failed to select the AA query item in more than three AA queries. The AA system applies simple reasoning and machine learning to derive unknown viewer-item preference scores. The AA system may apply inferences between related AA query items. For example, interest in boots implies interest in footwear, interest in generic luxury cars implies interest in , and so on. The AA system can also apply inferences based on video content selection. For example, viewers who prefer science fiction video content may have a common preference for products.

[0163] Table 4 gives an example of how the AA system assigns viewer-item preference scores. This example uses a score of 1 to 5 to indicate preference, but any different scoring range can be used. Each viewer-item combination starts with unknown preference. Scores of 1 to 5 correspond to the viewer showing no interest (1), some interest (2), moderate interest (3), active interest (4), and clear interest (5). The AA system can of course use a different scoring scheme.

[0164] In an embodiment, the AA system may assign a score of one if the viewer fails to select the AA query item, or if the AA query item has been shown. <n>times or more (where <n>is a number), give the AA query item a better ranking than the last one. The AA system can also assign a score of one if the rule disqualifies the viewer from viewing the AA query item. For example, some advertisers may not be interested in the viewer's group (e.g., age, gender, and location). If the viewer ranks the AA query item better than the last one, or selects the AA query item before clicking the "No, I want commercials" button, the AA system can assign a score of two. If the AA system is able to derive some preferences for the AA query item, the AA system can also assign a score of two. When the viewer has not viewed the AA query item enough times in the AA query, the AA system can use the derived viewer allocation score. Scores based on viewer responses take precedence over derived scores. If the viewer ranks the AA query item first in the completed AA ranking survey, or if the AA system can derive a medium or better preference for the AA query item, the AA system can assign a score of three. If the viewer has already selected the AA query item in the completed AA selection query, the AA system can assign a score of four. If the viewer has completed an AA inquiry, received an AA offer, and opened or accepted the AA offer, the AA system may assign a score of five.

[0165] The AA system will not typically lower known viewer-item preference scores, but viewer preferences can change over time. Events such as marriage, childbirth, or illness can cause a significant change in a person's preferences. The AA system can allow a viewer to change his / her group and reset his / her preferences in the user profile. In one embodiment, the AA system monitors changes in viewer preferences and gives greater priority to more recent viewer activity.

[0166]

[0167] Table 4

[0168] Export viewer preferences

[0169] In one embodiment, the AA system uses well-known machine learning methods of collaborative filtering and content-based filtering. Collaborative filtering allows the AA system to find similar viewers, and content-based filtering allows the AA system to find similar AA query terms. Similar viewers (or AA query terms) share common characteristics. The AA system can use this similarity to predict viewer-item preference scores. If a first AA query term has similar characteristics to a second AA query term, the AA system can use the viewer-item preferences of the first AA query term to predict the viewer-item preferences of the second AA query term.

[0170] Fig.16 is a diagram showing an example viewer-item preference matrix. Fig.16 , matrix columns 1610 may represent different AA query items. Matrix rows 1620 may represent different viewers. The number of viewers typically exceeds the number of AA query items. Viewer-item preference matrix 1630 may indicate preferences of individual viewers for individual query items. Viewer-item preference matrix 1630 is bimodal because it involves two entities, each with its own attributes. Individual viewers have attributes such as video content preferences, location, viewing frequency, and group. AA query items have attributes such as product categories, income, and equity scores. To reduce storage requirements for viewer-item preference matrix 1630, the AA system stores the viewer-item preference matrix as a sparse matrix, such as a scipy sparse matrix. The AA system assigns zero values ​​to unknown viewer-item preference values. Sparse matrices encode a large number of zeros to reduce storage space.

[0171] In one embodiment, the AA system uses techniques such as cosine similarity or L1 / L2 norm to determine similarity. These techniques measure the distance between AA query items (or viewers) in the hyperspace. The AA system uses the K-nearest neighbor (KNN) method to find <k>The AA system uses the most similar AA query items (or viewers). <k>The AA system may replace the unknown value with a value derived from the two nearest neighbors. The AA system may obtain the average viewer-item preference from the two nearest neighbors. In the viewer-item preference assignments described in Table 4, the derived preferences have a score of two or three. In this case, the AA system may compare the average viewer-item preference to a threshold. If the average exceeds the threshold, the AA system may assign a value of three, and if it does not, a value of two.

[0172] In another embodiment, the AA system uses matrix decomposition techniques. As the amount of data increases, matrix decomposition provides a more scalable method. Matrix decomposition also reduces two limitations of the KNN method, namely popularity bias and cold start problems. In a third embodiment, the AA system uses singular value decomposition (SVD) to decompose the matrix.

[0173] The matrix factorization algorithm works by decomposing the viewer-item preference matrix into the product of two low-dimensional rectangular matrices. The product of the two low-dimensional rectangular matrices approximates the original viewer-item preference matrix.

[0174] Fig.17 is a diagram showing another example viewer-item preference matrix according to an embodiment. In an embodiment, the AA system decomposes the viewer-item preference matrix 1730 into a viewer factor matrix 1720 and an AA query item factor matrix 1710 using low-rank matrix decomposition. In this example, there are m viewers and n AA query items, so the viewer-item preference matrix 1730 has a dimension of m×n. The viewer factor matrix 1720 may include r eigenfactors representing viewer attributes. The AA query item factor matrix 1710 may also include r eigenfactors representing query item attributes. The AA system finds similarities between the viewers represented in the viewer factor matrix 1720 and then uses the similarities to populate the viewer-item preference matrix 1730. The AA system uses techniques such as cosine similarity or mean square error (MSE) to find similarities.

[0175] Matrix factorization is a form of optimization processing whose goal is to approximate the original matrix R with two matrices U and P such that the following cost function is minimized:

[0176] J=||R–U x P T || 2 +L(||U||2+||P|| 2 )

[0177] The first term in this cost function is the original rating matrix R and its approximation UxP T The second term L is called the "regularization term" and is added to control the generalized solution (to prevent the influence of overfitting to some local noise on the ratings).

[0178] Gradient descent and alternating least squares (ALS) are well-known iterative machine learning techniques for minimizing a cost function.

[0179] In one embodiment, the AA system uses Spark. Spark is a new industry standard distributed batch processing framework for general cluster computing. The Machine Learning Library (MLlib) is built on top of Spark to leverage Spark's capabilities when running iterative machine learning algorithms.

[0180] Alternative Advertising (AA) systems and methods are described for viewing or engaging with videos, games, applications, audio content, music, publishing paywalls, etc., or other content available via the Internet, wherein one or more AA query items are automatically presented or pre-selected for a user. In one embodiment, the user has the option to refresh the pre-selected AA query items and is presented with new AA query items. In another embodiment, the user has the option to change the automatic selection feature in the AA system. Methods for encouraging users to move through the entire AA flow (e.g., Figure 2 200) and utilizes the method of AA proposal sent to the user. As used herein, AA flow refers to the processing performed by the AA system (e.g., Figure 2 A portion of the process 200) that enables interaction with and viewing of AA offers, AA queries, etc. for a user to receive content with an ad-free experience.

[0181] AA system pre-selection

[0182] FIG. 18A to FIG. 18I An example of an AA query shown by the AA system to a user is shown. FIG. 18A to FIG. 18G and Fig.18I The example shown in is similar to Fig.10 Example 1000 in . The difference is that the AA system preselects (or automatically selects) query items for the user. One or more preselected AA query items may be presented to the user (or viewer). The user may have the option of selecting one or more from the remaining unselected items and completing the AA flow. As previously described, the AA system preselects for the user based on the preference score. In an embodiment, the user interacts with the AA system (and views the AA query and query items) on the same device as the user is watching or engaging with digital content (such as videos, games, applications, audio content, or other content available via the Internet). Examples of such devices include desktop computers, laptop computers, smart or mobile phones, tablets, OTT (over-the-top) devices, digital media players, game consoles, televisions or televisions with integrated smart TV platforms, USB devices and other streaming devices (e.g., Roku streaming stick, Chromecast), etc. In another embodiment, the user interacts with the AA system (and views the AA query and query items) on different devices using an application (e.g., AA application) or an AA website. The user can run the AA application on a mobile device (e.g., smartphone, tablet), laptop, desktop computer, wearable device (e.g., smart watch), personal data organizer, etc. The user can also interact with the AA system using a website using a mobile device, computer, etc. An additional benefit of using a second device to interact with and control the AA system is that it does not interrupt the video, game, application, or audio content that the user is watching or participating in on streaming or traditional cable OTT.

[0183] In an embodiment, the AA system pre-selects all items for the user, and the user can accept these items and continue the AA flow. In another embodiment, the user may have the option to refresh the AA query items to be presented to the user by simply clicking a "Refresh Items" option (button or link). This will invoke the AA query item selection process again, and a new set of query items may be presented to the user. In another embodiment, if the user does not respond to the AA item selection process within a predefined time period, such as a number of seconds (e.g., M seconds), the system may automatically complete the selection process and continue the AA flow.

[0184] Fig.18A An example AA query 1800A is shown with one or more AA query items pre-selected by the AA system. AA query items 1810-xx (e.g., 1810-01, ..., 1810-04) show brands, categories of goods, or previously described goods. In this example, the AA query has items showing different brands (e.g., Sunny The AA query items 1810-01 to 1810-04 (such as AA query items 1810-01 to 1810-04) are pre-selected by the AA system for the user. In this example, query items 1810-01 and 1810-02 are pre-selected. The user can select one of the remaining query items 1810-03 and 1810-04, and complete the AA flow by selecting AA query button 1815 ("Yes, make the ads disappear"). If the user does not want to take advantage of ad-free viewing, he can select query button 1820 ("No, I want commercials"). AA query items 1810-xx include UI affordances or other visual cues to indicate whether AA query items 1810-xx have been pre-selected as 1830-xx by the AA system. In this example, the pre-selection is indicated by the "x" in the selection box 1830-01 in the upper left corner of AA query items 1810-01 and 1810-02. AA query items 1810-03 and 1810-04 are not pre-selected (indicated by the absence of an "x" in selection box 1830-02). AA query 1800A includes a header or title 1804 that summarizes the purpose of the query and encourages viewers to select and watch ad-free video content. In this example, the AA query has a header 1804 that specifies "Watch this episode without commercials." In this example, a subtitle 1806 explains what the viewer should do and encourages the user to "Select more than 1 item below and click Yes." AA query 1800A may include a text message (not shown) to indicate that the "x" represents pre-selection. Other UI affordances may be attached to AA query items 1810-xx to indicate pre-selection or non-pre-selection. For example, if query item 1810-xx has been pre-selected, it may not be clickable (e.g., the "x" cannot be removed in selection box 1830-01). Other examples may include hovering tooltips or explanations, highlighted items, or different colors to show selection. In another embodiment, the user may or may be able to deselect one or more pre-selected query items 1810-xx (i.e., deselect the pre-selection of query items 1810-xx). Fig.18I As shown, subheading 1806 may be located below pre-selected AA query items 1810-01 and 1810-02 and above non-pre-selected AA query items 1810-03 and 1810-04.

[0185] Fig.18B An example AA query 1800B is shown with one or more AA query items pre-selected by the AA system and includes a "Refresh Items" button. In addition to the "Refresh Items" button 1840, Fig.18B The AA query 1800B in is similar to Fig.18A 1800A shown in . The user may optionally click on a "Refresh Items" button 1840 to refresh the query items 1810-xx. For example, upon clicking on the "Refresh Items" button 1840, the AA system may present a new set of AA query items 1810-xx to the user. In an embodiment, only the pre-selected AA query items (e.g., query items 1810-01 and 1810-02) may be refreshed. In another embodiment, non-pre-selected AA query items (e.g., query items 1810-03 and 1810-04) may be refreshed. In yet another embodiment, all AA query items (1810-xx) may be refreshed. In yet another embodiment, when the user clicks on the "Refresh Items" button 1840, the total number of AA query items and the number of pre-selected AA query items (and the corresponding number of non-pre-selected AA query items) may be changed.

[0186] Fig. 18C An example AA query 1800C is shown with all AA query items pre-selected by the AA system. AA query 1800C is similar to the previously described AA query 1800A, except that all AA query items 1810-xx are pre-selected. In this embodiment, the user clicks button 1815 or 1820 to complete the AA query flow.

[0187] Fig.18D An example AA query 1800D is shown with all AA query items pre-selected by the AA system, and includes a "Refresh Items" button. AA query 1800D is similar to previously described AA query 1800B, except that all AA query items 1810-xx are pre-selected. In addition to refreshing AA query items 1810-xx (by clicking "Refresh Items" button 1840), the user may also click button 1815 or 1820 to complete the AA query flow.

[0188] In another embodiment, if the user does not respond to the AA item selection process (by clicking one of buttons 1840, 1815, and 1820) within a predefined number of seconds (e.g., M seconds), the system can automatically complete the selection process and continue the flow. The AA system can include a timer as well as a text message (e.g., "Item selection will be made in 15 seconds", "Item selection will be made in 14 seconds", etc.) to indicate that the AA system can automatically complete the selection process for the query. The timer and text message are not explicitly shown in the figure.

[0189] Fig.18E An example AA query 1800E is shown, where the query item may include a QR (Quick Response) code. In addition to the query item 1810-xx may include a QR code, Fig.18E The AA query 1800E shown in is similar to the previous query example. In this example, the AA query item 1810-04 includes a QR code 1850. In addition to images and text, the AA query item can also include a QR code. The user can take a photo of the code. In an embodiment, the QR code can direct the user to a website, application, etc. corresponding to the query item. In another embodiment, taking a photo of the QR code can complete the query item selection process and can optionally direct the user to the AA application or AA website.

[0190] Fig.18F An example AA query 1800F is shown having one or more AA query items pre-selected by the AA system to be displayed to a user participating in an AA stream for playing a video game. Fig.18F As shown, AA query 1800F displays title 1804 (e.g., "Get 30 minutes of game time without ads"). In this example, the user can play the game using the AA flow (e.g., ad-free experience).

[0191] Figure 18G An example AA query 1800G is shown having one or more AA query items pre-selected by the AA system to be displayed to a user participating in an AA stream for audio content / applications. Figure 18G As shown, AA query 1800G displays title 1804 (e.g., labeled "Get 30 minutes of gaming audio podcast without ads"). In this example, the user can use a podcast app or website such as "Apple Podcasts", "Google Podcasts", "Spotify", "Audible", etc. to take advantage of AA streaming (e.g., ad-free experience).

[0192] Fig.18H An example AA query 1800H is shown having one or more AA query items pre-selected by the AA system to be displayed to a user participating in an AA flow for a social media website, social media application, etc. Fig.18H As shown, AA query 1800H displays title 1804 (e.g., labeled "Get 30 minutes of ad-free experience" or "30 minutes of free trial to enjoy this article"). As shown in the above examples, the AA system can be presented to the user when playing video (or other multimedia) content, playing video games, playing audio content, using a podcast application, or interacting with other interactive applications (e.g., social media applications). The user can participate in the AA system to take advantage of ad-free rights to watch video content, browse content, play games, and interact with applications or sites for a predetermined amount of time. In an embodiment, the AA query item selection can be shown to the user at any time in the application. For example, while watching a video (or playing a game, or interacting with social media), the user may be presented with an AA query at the beginning or in the middle (of the video, game, or social media interaction). The AA system can be presented to the user once the ad-free period ends, or presented multiple times during a session to extend the ad-free time.

[0193] Default and auto-select behavior

[0194] In an embodiment, a user may have the option to customize the AA flow. The user may change the default AA query terms and auto-select behavior in the user account profile settings or AA settings. For example, in the account profile settings, the auto-select feature may be enabled by default, and the user may change the auto-select feature setting to enabled or disabled. The user's account profile settings may provide many options to change the default behavior of the AA system, including auto-select preferences and preferred item categories (brands, products, product categories, etc.). The system may use these preferences to pick AA query terms. The AA system may attempt to respect the user's preferences during the display and selection of AA query terms. However, this cannot always be guaranteed if not enough items are available for the preferences to work. In addition, the user may change the AA system behavior to customize the AA offer delivery options.

[0195] Fig.19 1900 as displayed on an AA website or AA application, according to an embodiment. The user profile settings 1900 include a title 1903 and an account profile settings / icon 1902. The title 1903 can display a welcome message with the user's name or login name, for example, "Welcome! John". The account profile settings / icon 1902 can show a user picture (which may be optional in some embodiments) and accompanying text used as an "Account Settings" menu hierarchy indicator. To change preferences, the user can click on the "Change / Edit Preferences" button 1901. This makes various preferences editable, or a hierarchical preference menu can be enabled. The example preferences and supporting values ​​shown in the user preferences 1900 are summarized in Table 5 below.

[0196]

[0197] Table 5

[0198] User preferences 1900 may include several such preference pages that can be accessed via button 1905 "Next page for more options".

[0199] proposal

[0200] The AA system can make AA offers available to users via many different methods and can be configured according to user preferences. The AA system can provide AA offers via email or SMS (text) messages. In another embodiment, the AA system can create a wallet or offer page. In an embodiment, the AA offers are available on a website (e.g., an AA website), platform, or application (e.g., an AA application) where the user is participating in an AA flow. The wallet or offer page lists the current AA offers for the user. In an embodiment, the AA system can show the wallet or offer page on a different website or application (i.e., not the AA website or AA application).

[0201] Fig. 20 An example of an AA proposal email according to an embodiment is shown. Fig. 20 The AA offer email 2000 shown includes an AA offer (which may be sent as an HTML link). This example shows that the product (e.g., Candy bar) of "buy one, get one free" offer (link). AA offer emails can contain QR codes, coupons, etc. The accompanying text in the email encourages the user to complete the AA flow by accepting the offer (and being rewarded with two free coins) or declining the offer and clicking the link to claim one free coin. The bonus points or bonus coins can be used for various benefits, such as viewing video content without ads, viewing premium video content that would otherwise require payment, or free or discounted merchandise.

[0202] Fig.21 21 shows an example of a user's offer page as displayed on a website, according to an embodiment. As previously described, the offer page 2100 (also referred to as a "my offer / wallet page") can be accessed by a user on an AA website or a website completely separate from the AA system. The offer page 2100 can list the user's current AA offers. This example shows various brands (e.g., Along with each brand, the corresponding coupon value (e.g., 50% discount, 50 cents discount, etc.) and coupon date information are displayed.

[0203] Fig. 22 2200 is a virtual wallet that stores the user's current AA offers. Fig. 22 , the wallet 2200 includes and lists the user's current AA offers, which include various brands (e.g., The wallet 2200 may include a title / welcome message 2210 (e.g., a personalized wallet name, such as "John's Wallet", etc.) and a subtitle 2250 (e.g., a "call to action" link or message).

[0204] User Conduct

[0205] As previously described, the alternative ad (AA) system enhances the viewing experience of viewers by allowing viewers to provide information while playing video content instead of watching ads, thereby benefiting both viewers and advertisers. The AA system provides AA offers based on the user's choice, and the user can watch or experience ad-free content for a period of time. Then it is expected that the user will participate in watching and / or interacting with the available AA offers. Some users may intentionally or negligently not participate in the AA flow by not interacting with the AA offer or not watching the AA offer, and continue to take advantage of the ad-free experience. The AA system can provide multiple methods to encourage such users to complete the entire AA flow and use the AA offer. In an embodiment, the AA system can provide AA offers via multiple means such as email, SMS (text), a website with an offer / wallet page, or an accompanying application. This makes it easier for users to use the AA offer and complete the AA flow. In another embodiment, the AA system can provide AA offers based on user preferences, for example, users can prefer to receive AA offers via email, and different users can choose to receive AA offers via offers / wallet webpages / websites, etc. The AA system can provide reminders and alerts to users. Reminders can be sent from a website or application via email, SMS, or a push notification / internal message system. The user may be reminded periodically (e.g., weekly). If, despite the reminders, the user has not completed the AA flow, the frequency of reminders may be appropriately increased (e.g., twice a week or daily). In an embodiment, the reminder takes the form of an instructional message. The instructional message may be shown to the user on a website (AA website, AA offer website, or third-party website), an application (AA application, wallet / offer application, or third-party application), an email, or an SMS. The purpose of the instructional message is to help teach the user the benefits of the AA flow, current AA offers, and the like. In another embodiment, the AA system may request user feedback instead of sending reminders. This helps the AA system formulate an AA flow or AA offer for the user (and thus encourages the user to complete the AA flow by providing a better AA offer). As previously described, the AA system may provide rewards or virtual coins to the user to complete the AA flow. The AA system may provide a limited-time incentive (e.g., additional rewards or coins) to encourage the user to complete the AA flow. As more time passes, or if the AA system notices misuse of the system, the urgency and tone of the message in the reminder may be adjusted to encourage the user to complete the AA flow. The AA system may now send an alert or warning. An example alert may be "Offering <xxx>Expires in 3 days: Act now! ! ". Send a warning message to prevent intentional or negligent user behavior of not completing the AA flow. The AA system can warn users that they may be removed from the AA flow (e.g., ad-free experience). This can be done by changing the default settings (described above Fig.19 1910, 1911 in the example above). The AA system may remove the default AA flow for a user for a limited time. In another embodiment, the AA system may remove the AA flow for a user after "N" attempts (e.g., 10 attempts). In some embodiments, the AA system may permanently prohibit a user from participating in an AA flow. An AA system administrator may enable or disable a user from participating in an AA flow.

[0206] AA operation using additional devices

[0207] Fig.23 is a diagram illustrating an example alternative ad system with a viewer device and a control device according to an embodiment. Fig.23 The AA system 2300 shown in FIG. 2 may be similar to Figure 3 , and for the sake of brevity, the common features shared by system 2300 and system 300 are not described herein. As shown, system 2300 may also include control device 2315. The interaction between viewer (or user) 305, viewer device 310 and control device 2315 within system 2300 may be modified. In an embodiment, user 305 may run an AA flow (or AA application) on control device 2315 (such as a smart phone, tablet computer, laptop computer, desktop computer, wearable device, personal digital assistant (PDA)), etc. In some embodiments, an additional benefit of using another viewing / user device (i.e., additional control device 2315) to interact with and control AA system 2300 is that the digital content (e.g., video, game, application or audio content) that user 305 is watching or participating in is not interrupted. In an embodiment, viewer device 310 displays a QR code, and user 305 scans the QR code using device 2315 to launch an AA application or AA website on device 2315. In another embodiment, the control device 2315 and the viewer device 310 may communicate using NFC (Near Field Communication). In another embodiment, Bluetooth (or other similar wireless technology) may be used to communicate between the devices. In yet another embodiment, the control device 2315 and the viewer device 310 may communicate via a wired medium (e.g., USB, RS-232, etc.). The viewer device 310 may display a message directing the user 305 to a website, application, Play Store, AppStore, etc. The user 305 may download the AA application on the control device 2315 and present the AA flow to the user 305 on the device 2315.

[0208] Fig.24 is a flow chart illustrating processing performed by the AA system according to an embodiment. In some embodiments, the process 2400 may be performed by Fig.23 The AA system 2300 shown in FIG. Fig.24 In operation 2402, user 305 may start content to be played on viewer device 310. In operation 2404, it is determined whether user 305 has existing rights or credits to view ad-free content. If user 305 has rights to view ad-free content, process 2400 proceeds to operation 2420. At operation 2420, the content is streamed or played without advertisements. As previously described, ad-free viewing may last for a specific time. If user 305 does not have rights to view ad-free content, process 2400 proceeds to operation 2406.

[0209] In operation 2406, the option of watching or viewing ad-free content is presented to user 305. In operation 2408, it is determined whether user 305 selects "yes" or "no" in response to the option presented in operation 2406. In an embodiment, user 305 may make the selection using a remote control (not explicitly shown in the figure). In an embodiment, if AA streaming is enabled on the user's control device 2315, user 305 may select "yes" or "no" on control device 2315. If user 305 selects "no", process 2400 proceeds to operation 2422. In operation 2422, the content is streamed or played with advertisements. In an embodiment, the user may have the option to cancel watching the content with advertisements. In this case, process 2400 returns to operation 2408.

[0210] In operation 2410, a QR code is presented to the user on a viewer device 310 (e.g., OTT, smart TV, etc.). In operation 2412, the user 305 can scan the QR code using the control device 2315. In an embodiment, the accompanying AA application or AA website is launched on the device 2315. In an embodiment, the user 305 can complete the AA flow using a remote control. In operation 2414, an AA query item is presented to the user 305, for example, on the control device 2315. In operation 2416, it is determined whether the user 305 makes a query item selection or cancels the AA flow. If the user 305 cancels the AA flow, the process 2400 proceeds to operation 2422. If the user 305 selects the query item, the process 2400 proceeds to operation 2418. In this operation, the user 305 can register (if not already registered) to receive offers on the accompanying AA wallet application / website or via email. The user 305 can also earn reward points, coins, etc.

[0211] Fig.25 An example AA system using a cable set-top box TV according to an embodiment is shown. Fig.25 As shown, the cable set-top box 2510 and the AA system 2310 (which can be connected to Figure 3 System 300 or Fig.23 In this example, the user 305 can interact with the cable set-top box 2510, for example, via a remote control. The user 305 can interact with the set-top box 2510 using other devices such as a smart phone, a mouse, a keyboard, etc. When the user 305 wants to play content on a television (TV) 2520, the cable set-top box 2510 can communicate with the AA system 2310 to present the AA stream to the user. An AA stream similar to process 2400 can be presented to the user 305. In an embodiment, the cable set-top box 2510 includes the ability to run an AA stream / QR stream. The user can select the AA stream to watch ad-free content. The cable set-top box TV can also be combined with Fig.24 QR elements within, allowing additional devices to make the process dynamic.

[0212] AA flow on the publisher site

[0213] Fig.26 An example AA flow on a publisher site according to an embodiment is shown. A publisher site herein refers to a website (or application) that publishes magazines, articles, e-books, academic journals, blogs, video games, music / music-related, etc. A publisher site typically requires a paid subscription to view its content (behind a paywall). Fig.26 An example AA flow on a publisher site is shown, where a user can obtain free or limited use content access. In an embodiment, the user obtains access to the complete content. In another embodiment, the user obtains access to the content for a limited duration. In another embodiment, the user obtains access to the content at a discounted price. In yet another embodiment, the user obtains access to some content (partial access). The user can log in to the publisher site 2610 (which may include links, news, etc. as shown in 2611). In this example, the publisher site 2610 is shown as having links 2611-01 and 2611-02. The user usually has to click on link 2611 and be taken to a "subscribe or log in" page 2620. The user can also directly reach the "subscribe or log in" page 2620 by clicking on links provided on different websites. In a traditional flow, the user subscribes or logs in (as shown in 2624). Upon subscription or login, content 2630 is provided to the user. In the AA stream, the user is presented with an option 2628 to view the content for free using the AA stream, and if the user agrees, the content is provided 2640 in the AA stream.

[0214] Fig. 27 2700 is a flow chart illustrating a process performed by the AA system for use on a publisher site or application. In some embodiments, the process 2700 may be performed by an API coupled to or installed on a publisher site. Fig. 27 In the process 2700 in operation 2710, the publisher site or application registers with the AA system. Once the registration is successful, the AA system can provide the publisher site with an authentication method. In operation 2720, the user requests access to the publisher's site / application for content. The publisher site can use the AA flow to provide the user with the option of receiving ad-free content. In operation 2730, the publisher site can use the authentication method and request secure access to the AA flow from the AA system. In this operation, the publisher site can also present user data to the AA system. The user data can be based on previous logins, cookies, etc. In operation 2740, the AA system returns the AA flow data to the publisher site. The AA flow data can include AA query items. The publisher site presents the AA query items and instructions to the user. In operation 2750, it is determined whether the user makes a query item selection or cancels the AA flow. If the user cancels the AA flow, the process 2700 returns to operation 2720. If a user selection is made, process 2700 proceeds to operation 2760, where the user agrees to receive offers via the AA wallet application, AA website, or email. The publisher site may send user data (such as login, email, and user query item selection options) to the AA system. In operation 2770, the publisher site provides access to ad-free content. As previously described, this access may be time-limited to a specific time.

[0215] All examples and conditional language listed herein are intended to be used for teaching purposes, to help readers understand the principles of the present invention and the concepts contributed by the inventors to promote this area, and will be interpreted as not being limited to such specific examples and conditions. In addition, all statements of the principles, aspects and embodiments of the present invention are listed herein, and their specific examples are intended to include equivalents of both their structure and function. In addition, this equivalent is intended to include currently known equivalents and equivalents developed in the future (for example, any element of the same function developed, regardless of its structure) both.

[0216] Note that some or all of the components shown and described above may be implemented in software, hardware, or a combination thereof. For example, such a component may be implemented as software installed and stored in a persistent storage device, which may be loaded and executed by a processor (not shown) in a memory to perform the processing or operations described throughout the present application. Alternatively, such a component may be implemented as an executable code that is programmed or embedded in dedicated hardware (such as an integrated circuit (e.g., a dedicated IC or ASIC), a digital signal processor (DSP), or a field programmable gate array (FPGA), etc.), which may be accessed from an application via a corresponding driver and / or operating system. In addition, such a component may be implemented as specific hardware logic in a processor or processor core as part of an instruction set accessible by a software component via one or more specific instructions.

[0217] Some portions of the preceding detailed description have been 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 data processing arts can most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities.

[0218] It should be remembered, however, that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless otherwise clearly indicated from the above discussion, it should be understood that throughout the description, discussions utilizing terms such as those set forth in the following claims refer to the actions and processes of a computer system or similar electronic computing device that manipulates data represented as physical (electronic) quantities within the computer system's registers and memories and converts it into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.

[0219] Embodiments of the present invention also relate to devices for performing the operations herein. Such a computer program is stored in a non-transitory computer-readable medium. A machine-readable medium includes any mechanism for storing information in a machine (e.g., computer) readable form. For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., computer) readable storage medium (e.g., read-only memory ("ROM"), random access memory ("RAM"), magnetic disk storage medium, optical storage medium, flash memory device).

[0220] The processes or methods described in the foregoing figures may be performed by processing logic including hardware (e.g., circuits, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer-readable medium), or a combination of the two. Although the processes or methods are described above in terms of some sequential operations, it should be understood that some of the described operations may be performed in a different order. In addition, some operations may be performed in parallel rather than sequentially.

[0221] The embodiments of the present invention are not described with reference to any particular programming language. It should be appreciated that a variety of programming languages ​​can be used to implement the teachings of the embodiments of the present invention described herein.

[0222] The foregoing description of various specific embodiments according to the present invention has been presented for the purpose of illustration and description. These embodiments are not intended to be exhaustive or to limit the invention to the precise form disclosed, and many modifications and variations are possible in light of the above teachings. The present invention will be interpreted in accordance with the claims and their equivalents.< / xxx> < / k> < / k> < / n> < / n> < / n> < / n>

Claims

1. A computer-implemented method for providing digital content, comprising: receiving a request from a user to view and interact with the digital content; In response to the request, determining whether the user has advertisement-free rights to view and interact with the digital content; In response to determining that the user does not have the advertisement-free right to view and interact with the digital content, providing the user with an AA query including a plurality of alternative advertisement query items (i.e., a plurality of AA query items), the plurality of AA query items including at least one pre-selected AA query item, wherein the at least one pre-selected AA query item can be deselected by the user or cannot be deselected by the user; determining whether an AA query response to the AA query is received from the user within a predefined time period, wherein the AA query response includes a user selection of the plurality of AA query items; and In response to determining that an AA query response to the AA query is received from the user within the predefined time period, the requested digital content is provided to a user device of the user without advertisements.

2. The method according to claim 1, wherein: The plurality of AA query items can be refreshed to provide a new set of AA query items to the user.

3. The method according to claim 1, further comprising: In response to determining that no AA query response to the AA query is received from the user within the predefined time period, automatically assigning to the user default selections for the plurality of AA query items; as well as The requested digital content is provided to a user device of the user without advertisements.

4. The method according to claim 3, further comprising: A user profile setting is provided, wherein the assigned default selections for the plurality of AA query items can be changed by the user in the user profile setting.

5. The method according to claim 4, wherein: The user profile settings include a plurality of user preferences controllable by the user.

6. The method according to claim 5, wherein: The plurality of user preferences include at least one of: AA system default settings, AA system default automatic selection mode, AA system preference query item count, AA system selected preference genre, AA system selected preference item category, AA system selected preference brand from various categories, and AA system selected preference AA offer delivery method.

7. The method according to claim 1, wherein: The plurality of AA query items are selectable by the user, and the at least one pre-selected AA query item is deselectable by the user.

8. The method according to claim 1, wherein: The plurality of AA query items include an AA query item having a quick response code, ie, a QR code.

9. The method according to claim 1, further comprising: In response to determining that an AA query response to the AA query is received from the user within the predefined time period, determining one or more AA offers to provide to the user based on the AA query response; as well as The one or more AA offers are provided to the user.

10. The method according to claim 9, wherein: The one or more AA offers are provided to the user via at least one of: a website on the user device or other user devices, an application, an email, and a text message.

11. The method according to claim 9, wherein: The one or more AA offers include at least one AA offer having a quick response code (QR code), a coupon, or both.

12. The method according to claim 9, further comprising: A virtual wallet is provided that stores the user's current AA offers, wherein the current AA offers are accessible to the user.

13. The method according to claim 9, further comprising: The user is periodically alerted of the provided one or more AA offers to encourage the user to redeem the provided one or more AA offers.

14. The method according to claim 13, further comprising: The user is provided with reward points or virtual coins for redemption.

15. The method according to claim 9, further comprising: An education message is sent to educate the user about the benefits of the sent one or more AA offers.

16. The method according to claim 9, further comprising: A warning message is sent to alert the user of the possibility of the user being removed from receiving the digital content without advertisements.

17. The method according to claim 9, further comprising: User feedback is requested from the user to formulate one or more AA offers to be sent to the user.

18. The method according to claim 1, wherein: The AA query is provided to the user during playing a video game, playing video content, playing audio content, using a podcast application, or interacting with an interactive application on a user device of the user.

19. A system for providing digital content, comprising: one or more processors; as well as a memory coupled to the one or more processors to store instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a request from a user to view and interact with the digital content; In response to the request, determining whether the user has advertisement-free rights to view and interact with the digital content; In response to determining that the user does not have the advertisement-free right to view and interact with the digital content, providing the user with an AA query including a plurality of alternative advertisement query items (i.e., a plurality of AA query items), the plurality of AA query items including at least one pre-selected AA query item, wherein the at least one pre-selected AA query item can be deselected by the user or cannot be deselected by the user; determining whether an AA query response to the AA query is received from the user within a predefined time period, wherein the AA query response includes a user selection of the plurality of AA query items; and In response to determining that an AA query response to the AA query is received from the user within the predefined time period, the requested digital content is provided to a user device of the user without advertisements.

20. The system of claim 19, wherein: The plurality of AA query items can be refreshed to provide a new set of AA query items to the user.

21. The system of claim 19, wherein: The operations further include: in response to determining that no AA query response to the AA query is received from the user within the predefined time period, automatically assigning to the user default selections for the plurality of AA query items; and The requested digital content is provided to a user device of the user without advertisements.

22. The system of claim 21, wherein: The operations further include providing a user profile setting, wherein the assigned default selections for the plurality of AA query items are changeable by the user in the user profile setting.

23. The system of claim 22, wherein: The user profile settings include a plurality of user preferences controllable by the user.

24. The system of claim 23, wherein: The plurality of user preferences include at least one of: AA system default settings, AA system default automatic selection mode, AA system preference query item count, AA system selected preference genre, AA system selected preference item category, AA system selected preference brand from various categories, and AA system selected preference AA offer delivery method.

25. The system of claim 19, wherein: The plurality of AA query items are selectable by the user, and the at least one pre-selected AA query item is deselectable by the user.

26. The system of claim 19, wherein: The plurality of AA query items include an AA query item having a quick response code, ie, a QR code.

27. The system of claim 19, wherein: The operations further include: in response to determining that an AA query response to the AA query is received from the user within the predefined time period, determining one or more AA offers to provide to the user based on the AA challenge response; and The one or more AA offers are provided to the user.

28. The system of claim 27, wherein: The one or more AA offers are provided to the user via at least one of: a website on the user device or other user devices, an application, an email, and a text message.

29. The system of claim 27, wherein: The one or more AA offers include at least one AA offer having a quick response code (QR code), a coupon, or both.

30. The system of claim 27, wherein: The operations also include providing a virtual wallet storing a current AA offer for the user, wherein the current AA offer is accessible to the user.

31. The system of claim 27, wherein: The operations also include periodically alerting the user of the provided one or more AA offers to encourage the user to redeem the provided one or more AA offers.

32. The system of claim 31, wherein: The operation also includes: providing the user with reward points or virtual coins for redemption.

33. The system of claim 27, wherein: The operations also include sending an educational message to educate the user about the benefits of the sent one or more AA offers.

34. The system of claim 27, wherein: The operations also include sending a warning message to alert the user of the possibility of the user being removed from receiving the digital content without advertisements.

35. The system of claim 27, wherein: The operations also include requesting user feedback from the user to formulate one or more AA offers to be sent to the user.

36. The system of claim 19, wherein: The AA query is provided to the user during playing a video game, playing video content, playing audio content, using a podcast application, or interacting with an interactive application on a user device of the user.

37. The system of claim 19, wherein: The user interacts with the system through an application or website running on the user device or other user devices.

38. A computer-implemented method for providing digital content, comprising: receiving a request from a first user device of a user to view and interact with the digital content; In response to the request, determining whether the user has advertisement-free rights to view and interact with the digital content; In response to determining that the user does not have advertisement-free rights to view and interact with the digital content, presenting an option on the first user device to the user to view and interact with the digital content without advertisements; In response to receiving a user selection from a second user device of the user to view and interact with the digital content without advertisements, providing an AA query including a plurality of alternative advertisement query items (a plurality of AA query items) to the second user device of the user; determining whether an AA query response to the AA query is received from the second user device within a predefined time period, wherein the AA query response includes a user selection of the plurality of AA query items; as well as In response to determining that an AA query response to the AA query is received from the user within the predefined time period, the requested digital content is provided to a first user device of the user without an advertisement.

39. The method of claim 38, further comprising: Presenting a quick response code (QR code) on the first user device for scanning; The QR code can be scanned by the user on the second user device, and when the QR code is scanned, an AA website or an AA application is launched on the second user device.

40. The method of claim 38, further comprising: A user selection is received from the second user device to register to receive an AA offer, wherein the AA offer is provided on an AA wallet application or website or via email.

41. The method of claim 39, wherein: The second user device is a smart phone, a tablet computer, a laptop computer, a desktop computer, a wearable device, a personal digital assistant (PDA), or a cable set-top box.

42. The method of claim 38, wherein: The method is performed on the publisher's site through an application programming interface, or API.

43. The method of claim 42, wherein: The digital content includes at least one of the following: magazines, articles, e-books, academic journals, blogs, video games, and music.

44. The method of claim 42, wherein: The digital content is complete content, limited duration content, or partial content.

45. The method of claim 42, wherein: An AA query including the plurality of AA query items is provided to the second user device through the issuer site.

46. ​​A system for providing digital content, comprising: one or more processors; as well as a memory coupled to the one or more processors to store instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a request from a first user device of a user to view and interact with the digital content; In response to the request, determining whether the user has advertisement-free rights to view and interact with the digital content; In response to determining that the user does not have advertisement-free rights to view and interact with the digital content, presenting an option on the first user device to the user to view and interact with the digital content without advertisements; In response to receiving a user selection from a second user device of the user to view and interact with the digital content without advertisements, providing an AA query including a plurality of alternative advertisement query items (a plurality of AA query items) to the second user device of the user; determining whether an AA query response to the AA query is received from the second user device within a predefined time period, wherein the AA query response includes a user selection of the plurality of AA query items; and In response to determining that an AA query response to the AA query is received from the user within the predefined time period, the requested digital content is provided to a first user device of the user without an advertisement.

47. The system of claim 46, wherein: The operations also include: Presenting a quick response code (QR code) on the first user device for scanning; The QR code can be scanned by the user on the second user device, and when the QR code is scanned, an AA website or an AA application is launched on the second user device.

48. The system of claim 46, wherein: The operations also include: A user selection is received from the second user device to register to receive an AA offer, wherein the AA offer is provided on an AA wallet application or website or via email.

49. The system of claim 47, wherein: The second user device is a smart phone, a tablet computer, a laptop computer, a desktop computer, a wearable device, a personal digital assistant (PDA), or a cable set-top box.

50. The system of claim 46, wherein: The system communicates with the publisher site through an application programming interface (API) to perform the operation on the publisher site.

51. The system of claim 50, wherein: The digital content includes at least one of the following: magazines, articles, e-books, academic journals, blogs, video games, and music.

52. The system of claim 50, wherein: The digital content is complete content, limited duration content, or partial content.

53. The system of claim 50, wherein: An AA query including the plurality of AA query items is provided to the second user device through the issuer site.

Citation Information

Patent Citations

  • Method and system for playing video containing advertisement content

    CN106375801A

  • Method for simultaneously playing video content and advertisement on video page

    CN113259746A

  • Delivering user-selected video advertisements

    US20080115161A1

  • Web and mobile device advertising

    US20120166267A1

  • Interactive advertisement method and system

    US20150032519A1