Method and system for providing content to a media playback device
The content overlay system addresses the challenge of providing overlay content on digital devices by using a processing module to determine timing and content for overlaying, and an overlay generation module to display content seamlessly with active streaming content, ensuring efficient and non-interruptive delivery.
Patent Information
- Application Number
- JP2022507818
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-08-05
- Filing Date
- 2020-08-05
- Publication Date
- 2025-06-26
- Estimated Expiration
- 2040-08-05
AI Technical Summary
Existing digital devices lack an efficient method to provide overlay content, such as advertisements, on streaming and media playback applications without interrupting the user experience or losing streamed content.
A content overlay system that includes a processing module to monitor digital device events, determine timing and content for overlaying, and an overlay generation module to display content from an overlay content server in an overlaid window, ensuring seamless integration with active streaming content.
The system effectively delivers overlay content, such as advertisements, to digital devices without interrupting the streaming experience, ensuring that streamed content is not lost and user engagement is maintained.
Smart Images

Figure 0007699101000001 
Figure 0007699101000002 
Figure 0007699101000003
Abstract
Description
Technical Field
[0001] The present invention relates to a method and system for controlling a digital device, including providing digital content (such as video, image, audio, etc.) as a content overlay container on any application executed on the digital device.
Background Art
[0002] A so-called "set-top box" (STB) is a media playback device commonly connected to a television (TV) or other type of display monitor. Such an STB generally has a dedicated computing device having an operating system specially designed for this purpose and a streaming content player in the form of a computer software application for receiving media streamed from the Internet or a local source (e.g., a DVD or Blu-ray disc, or a local network drive). Generally, the STB uses a version of the Android TM operating system.
[0003] A so-called "mobile device" is a mobile phone or a tablet. Such a mobile device is generally a computing device having an operating system that hosts applications including, but not limited to, SMS, a gallery, and a home screen.
[0004] The digital device is a device capable of playing media, such as a STB or a mobile device. It is desirable to provide additional content, such as advertisements, to the user of the media playback device. For example, in order to obtain additional revenue from a streaming service, it is desirable to advertise to users of the streaming service who are trying to watch a movie. In the case of a mobile device, for example, it is to provide a display advertisement as an overlay on a specific application (not limited to this) such as a media streaming / playback application.
[0005] The present invention has been developed to provide an overlay content container for a number of digital devices including, but not limited to, streaming players and mobile devices.
Summary of the Invention
[0006] According to one aspect of the present invention, there is provided a content overlay system for a digital device, the system comprising: a processing module configured to monitor events of the digital device to generate data indicative of the activation and / or use of one or more applications of the digital device, the processing module being configured to process the generated data to determine timing data indicative of the time to overlay content on an active window and / or to determine the content to overlay; and an overlay generation module configured to place an overlaid window in front of an active streaming window or application and to display content in the overlaid window, the overlay generation module being configured to generate the overlaid window and to display content from an overlaid content server according to the determined timing data and / or the determined content.
[0007] In one embodiment, the application includes a streaming content player. In one embodiment, monitoring the event includes monitoring the streaming content player of the digital device. In particular, activation and / or use of the application includes activation and / or use of the streaming content player of the digital device. In one embodiment, the digital device is a media playback device and / or another device connectable to a media playback device and / or a mobile device.
[0008] In one embodiment, the system further includes an operation module for monitoring applications used on the digital device. In one embodiment, the monitoring includes determining which applications are being used and when they are being used. In one embodiment, the operation module assigns at least one tag to each use of each application used. In one embodiment, the tag is an indicator of user action.
[0009] In one embodiment, tags can be assigned for a period of time. The length of the period can depend on the type of tag. In one embodiment, the operation module is configured such that the tag is removed at the end of the period.
[0010] In one embodiment, the operation module is configured to rank a plurality of tags according to the time when the application to which the tag is assigned was last used. In one embodiment, the operation module is configured such that the plurality of tags are accumulated according to the applications used until each of the plurality of tags is removed by its lifespan.
[0011] In one embodiment, the operation module is configured such that the tags used are IAB categories.
[0012] In one embodiment, the processing module transmits the generated data to the overlay content server, and the overlay content server provides the content to be displayed on the overlay generation module. In another embodiment, the processing module requests, according to the generated data, the overlay content server to provide the content to be displayed. In one embodiment, the overlay content server provides content according to the content type. In one embodiment, the content type is determined according to the generated data.
[0013] In one embodiment, the application or each application provides the activity it is running to the processing module.
[0014] In one embodiment, the overlay generation module includes an alert window created by an operating system or a software component bundled with the operating system.
[0015] In one embodiment, the overlay window is configured as a web container.
[0016] In one embodiment, the overlay window is configured according to the generated data. In one embodiment, the configuration of the overlay window is configured according to the generated data and / or the content type.
[0017] In one embodiment, the content is an advertisement.
[0018] In one embodiment, the user module of the digital device is configured to create an account stored by the overlay content server and store the identification to the user assigned by the overlay content server.
[0019] The location of the digital device is determined and the location is used to determine the overlay content.
[0020] In one embodiment, the system further comprises a control module configured to provide a control signal to the active streaming content player. In one embodiment, the control signal is in the form of an inserted keystroke or button press / tap. In one embodiment, the control module intercepts a plurality of keystrokes or a plurality of button presses / taps received from a user. In one embodiment, the intercepted keystrokes are stored for later insertion into the input of the streaming content player.
[0021] In one embodiment, when the control module is configured to parse in-application inputs, the control module is configured to start the overlay content and, when the overlay content is completed, provide the input to the application.
[0022] In one embodiment, the processing module intercepts keystrokes or button presses / taps received by the media player device and later inserts them as input to the streaming content player, configured to facilitate the presentation of the overlay content. For example, streaming may be paused temporarily so that the overlay content is not interrupted. When the overlay content ends (in some cases when the overlay window is closed), streaming resumes and the intercepted keystrokes are provided to the streaming content player. Thus, the streaming content is not lost due to the presence of the overlay content.
[0023] In one embodiment, the processing module is also configured to generate data based on the content being streamed or that has been streamed. In one embodiment, this data is used to select the overlay content.
[0024] In one embodiment, the system comprises a connection to a mobile device. In one embodiment, the overlay content or related content is transmitted to the mobile device via the connection.
[0025] In one embodiment, the mobile device is configured to generate a user profile by monitoring the applications used on the mobile device. In one embodiment, the user profile is transmitted to the action module for inclusion in the metrics of the user actions. In one embodiment, the monitoring includes determining which applications are being used and when they are being used. In one embodiment, the mobile device assigns at least one tag to each use of each application used. In one embodiment, the tags are used in the user profile.
[0026] According to one aspect disclosed, there is provided an overlay content server for supplying overlay content to a digital device, the server comprising a receiver for data from one or more digital devices, data indicating activation and / or use of one or more applications, and actions of respective users of the corresponding digital devices, and a processor for determining the overlay content to be transmitted to the respective digital devices, the determining including selecting and / or configuring content in accordance with one or more of the activation and / or use of the one or more applications of the corresponding digital devices and the actions of the respective users of the corresponding digital devices, and a transmitter for transmitting the respective overlay content to the corresponding digital devices.
[0027] In one embodiment, the operation includes a plurality of tags that are indicators of user actions, and the plurality of tags are used to select overlay content to be transmitted to the corresponding digital device.
[0028] In one embodiment, the receiver also receives information from the digital device to create an account. The server assigns an identification to the user, and the transmitter transmits the identification to the digital device. In one embodiment, the server comprises a database for storing the respective user actions in association with the identification of the corresponding user.
[0029] In one embodiment, the receiver also receives the location of each digital device, which is stored in the database in association with the identification of the corresponding user. In one embodiment, the processor is configured to use the information stored in the database to determine the overlay content and / or the configuration of the respective overlay content to be transmitted to the corresponding digital device.
[0030] In one embodiment, the receiver receives data indicating the content being streamed or streamed when the application is a media streaming player of the corresponding digital device, and the processor is configured to select and / or configure the respective overlay content to be transmitted to the corresponding digital device.
[0031] According to one aspect disclosed, a method for providing overlay content on a digital device is provided, the method comprising: monitoring the one or more applications of the digital device to generate data indicating activation and / or use of the one or more applications; based on the generated data, determining the timing of overlaying content on the active window of the active applications among the applications, and / or determining the content to be overlaid; arranging an overlay window in front of the active streaming window; receiving overlay content from an overlay content server according to the determined timing and / or the determined content; and displaying the overlay content in the overlay window.
[0032] In one embodiment, the method further comprises monitoring applications used on the digital device and / or another device connectable to the digital device, and determining which applications are used and when they are used. In one embodiment, the method further comprises assigning at least one tag to each use of each application used.
[0033] In one embodiment, the method further comprises invalidating tags older than a certain period.
[0034] In one embodiment, the method further comprises ranking the plurality of tags according to the time when the application to which the tag is assigned was last used.
[0035] In one embodiment, the method further comprises transmitting the generated data to the overlay content server, and receiving the overlay content to be displayed from the overlay content server.
[0036] In another embodiment, the method further includes requesting, according to the generated data, overlay content to be displayed from the overlay content server.
[0037] In one embodiment, the method further includes receiving, from the application, the activity being executed, and determining, based on the activity, the timing to overlay content and / or the content to be overlaid.
[0038] In one embodiment, the method further includes configuring the overlay window according to the generated data.
[0039] In one embodiment, the method further includes providing a control signal to the active streaming content player. In one embodiment, the step of providing the control signal includes inserting a keystroke or a button press / tap into the input of the streaming content player. In one embodiment, the method further includes intercepting a plurality of keystrokes or a plurality of button presses / taps received from the user. In one embodiment, the method further includes delaying inserting the intercepted keystroke into the input of the streaming content player so that the overlay content can be provided without interrupting the overlay content and / or losing the streamed content.
[0040] In one embodiment, the method further includes parsing an in-application input, which starts the overlay content and provides the input to the application when the overlay content is completed.
[0041] In one embodiment, the method further includes generating data based on the content being streamed or that has been streamed. In one embodiment, the method further includes selecting overlay content according to the generated data.
[0042] In one embodiment, the method further includes transmitting the overlay content or related content to a connected mobile device.
[0043] In one embodiment, the method further includes generating a user profile by monitoring a plurality of applications used on a mobile device. In one embodiment, the method further includes transmitting the user profile from the mobile device to the digital device for inclusion in the data indicating user actions. In one embodiment, the method further includes generating the user profile by determining which applications are being used and when they are used. In one embodiment, the method further includes generating the user profile by assigning at least one tag to each use of each application used.
[0044] Also, according to another aspect of the present invention, a method for controlling a digital device is provided, the method including receiving a command to operate the device to perform a task, checking whether a condition is satisfied, when the condition is satisfied, delaying the execution of the task, instead executing an alternative task, and when the alternative task is completed, resuming the delayed task.
[0045] In one embodiment, the alternative task overlays content on an overlay window before the window of the deferred task. In one embodiment, the deferred task is to play streamed video content. In one embodiment, the step of deferring the task includes pausing the playback of the video content. In one embodiment, further received commands for the deferred task are ignored until the deferred task is resumed. In one embodiment, the step of pausing the deferred task includes inserting a pause command into the input of the application that executes the deferred task. In one embodiment, the step of resuming the task includes inserting a play or other start command into the input of the application that executes the deferred task.
[0046] In one embodiment, the conditions include the command starting an action on an application and the application meeting one or more criteria of a profile.
[0047] Also, according to the present invention, a digital device including a module is provided, the module receiving a command to operate the device to execute a task, checking whether a condition is met, and when the condition is met, deferring the execution of the task and instead executing an alternative task, and resuming the deferred task when the alternative task is completed.
[0048] Also, according to another aspect of the present invention, a method of profiling a user of a digital device is provided, the method including monitoring users of a plurality of applications on the device when a category tag is assigned to each monitored application on the device, adding a tag to the profile according to the assignment of the category to each respective application for each application used, and removing the tag from the profile when the application has not been used for a certain period of time.
[0049] In one embodiment, the sub - category of the tag is assigned to the profile according to the content of the application being used. In one embodiment, the source of the content, index information, or other information is used to look up the sub - category tag.
[0050] Also, according to the present invention, a digital device including a module is provided. When a category tag is assigned to each monitored application on the device, the module monitors users of a plurality of applications on the device, and for each application being used, adds a tag to the profile according to the assignment of the category to each respective application, and is configured to remove the tag from the profile when the application has not been used for a certain period of time.
[0051] Throughout this specification and the claims, unless the context otherwise requires, the word "comprise" or variations such as "comprises" or "comprising" are to be understood to mean including the stated integer or group of integers but not excluding other integers or groups of integers.
Brief Description of the Drawings
[0052] To better understand the present invention, exemplary embodiments will be described below with reference to the accompanying drawings.
[0053]
Figure 1
[0054]
Figure 2
[0055]
Figure 3
[0056]
Figure 4
[0057]
Figure 5
[0058]
Figure 6
DETAILED DESCRIPTION OF THE INVENTION
[0059] Referring to FIG. 1, there is a media playback system 10 including a display 12 and a digital device such as a media playback device 14. The media playback device 14 is, for example, a set-top box (STB) having a computer processor that executes an operating system 16, and the operating system 16 is, for example, a version of Android suitable for controlling the STB. TM It is an operating system. The STB includes a streaming launcher 20 and other streaming applications (Apps) 18. The other streaming applications 18 are providers of streamed media (e.g., Netflix TM , Stan TM , Foxtel TM , etc.), from the Internet, or from a local source (e.g., DVD TM or Blu-ray TMIt obtains the streamed content from a disk or a local network drive. There is also an advertising ecosystem 200 that includes an overlay content server that provides HTML advertisements and video advertisements, and an infrastructure that provides real-time bidding for advertisements, campaign-based advertisements, direct purchases, and third-party verification. The digital device can take other forms such as a mobile device (phone or tablet) or a personal computer.
[0060] System 10 includes a service 30 installed on a media playback device 14 and a remote Internet connection backend system 100 running on a server (typically a virtual server or a cluster of servers). Service 30 is a processing module executed by computer software that includes instructions to control a processor to control the operation of the overlay content on the media playback device 14. The processing module includes a monitoring module 32. The monitoring module 32 detects the startup and use of an app in the media playback device 14 and generates data reflecting the use of the app. Also, the processing module is configured to process the data generated from the use of the app to determine the timing of overlaying content on the active window of an active streaming content player and / or the content to be overlaid.
[0061] Also, the processing module includes an overlay generation module. Thereby, an overlay window 8 is placed in front of an active streaming window 6, and content is displayed in the overlay window 8 (overlay). The overlay generation module is configured to generate an overlay window and display content 314 from the overlay content server of the ecosystem 200 according to the determined timing and / or the determined content (300). The overlay window 8 may be full-screen sized or smaller.
[0062] Service 30 also includes a local configuration database 34 for storing configuration data received from the backend system 100.
[0063] Service 30 also includes an operation module 36. Thereby, it monitors applications used on the media playback device and / or another device connectable to the media playback device. In one embodiment, monitoring includes determining which applications are used and when they are used. In one embodiment, the operation module assigns at least one tag to each use of each application used. In one embodiment, the tag is an indicator of user behavior. Also, the operation module 36 tracks events resulting from the interaction between the user and the overlay 8.
[0064] All actions that Service 30 is configured to monitor (according to the configuration in database 34) will cause the operation module 36 to generate events that are sent to the data lake 102 of the backend system 100.
[0065] Service 30 also includes an interface 38 to a remote device having a user interface. Interface 38 is a remote control or remote control application etc. on a mobile computing device (smartphone, tablet, etc.). Interface 38 may be a leanback UI.
[0066] Service 30 is a software application that is preferably executed as a background application. The software application includes instructions that control (along with operating system 16) the processor of media playback device 14 to perform the necessary functions. The computer software is stored in the non-volatile memory of device 14 (such as a hard disk drive or flash drive) and may be accessed by the processor for execution. Operating system 16 can be customized within the STB or similar device to provide service 30 with sufficient permissions, such as sufficient superuser permissions, to execute as described herein.
[0067] Service 30 automatically starts when device 14 is started or restarted. When first executed, service 30 creates a user account and automatically obtains an identifier, such as the Android Advertising ID, to enable integration into the advertising ecosystem 200 for the delivery of operational advertisements. Also, service 30 determines the location of the set-top box from the stored location characteristics 22 for location-based advertising.
[0068] After startup, service 30 enters an application detection mode, where monitoring module 314 begins monitoring activities for configured applications 18 / 20.
[0069] All content streaming applications (and other applications) 18 / 20 on the STB broadcast various activities they perform. For example, a streaming application reports the following. · Viewing of "Live TV" · In the "Video on Demand" section · Display of "Program Guide" · Or, "playback" of content · Etc.
[0070] Even for unadvertised applications, monitoring and reporting can be performed via the analysis functions provided by the analysis module 108.
[0071] The processing module of service 30 is configured to have an overlay and, when detecting application activity that satisfies all other conditions (such as timing, scheduling, etc.), activates the overlay components.
[0072] The data lake 102 is configured to receive data 304 from the operation module 36 (similar to the operation modules of other media playback devices). The data lake 102 provides a detailed and granular view of data regarding the ecosystem 200 and all activities occurring within the individual STB level and summary level, including: · Input of streaming applications · Input of activities of streaming applications · Ad display · Ad completion
[0073] Also, the data lake 102 may store the analysis generated by the analysis module 108. The analysis module 108 is configured to analyze the data from the operation module 36 and provides business intelligence tools for analyzing the data lake 102 with respect to: · User actions and activities · Application usage · Ad visibility and auditing
[0074] The backend system 100 includes a configuration module 106. The configuration module 106 is used to control the operation of the system 10 by storing control data in the real-time database 104, and then replicates the relevant data of 306 to the respective connected local configuration databases 34 of the respective media playback devices 14 from the backend system 100. Also, the configuration module 106 can provide an input to the advertising ecosystem 200 as a setting for including an advertisement in the overlay content 8.
[0075] Also, the system 10 includes an auditing module 210 that provides an auditing function 312 based on the data 310 obtained from the data lake 102.
[0076] The backend system 100 is controlled by computer software including instructions that control the operation of its processor to execute the necessary functions. The computer software may be stored in the non-volatile memory (such as a cloud storage device) of the system 100 and accessed by the processor for execution.
[0077] The configuration module 106 enables fine-grained control of the operation of the overlay on the player device 14. The control can be extended as follows:
[0078] STB application activity definition. a. Define the application activity detected by the service 30 b. Multiple activities for each application
[0079] Overlay group definition a. Sizing b. Scaling c. Timing operation d. Animation
[0080] Overlay definition a. HTML snippet b. JavaScript advertising integration code c. API third-party integration d. Images with local cache e. Keyword substitution for integrating device-level data
[0081] Scheduling
[0082] The configuration module 106 enables all these different types of advertisements for all content streaming applications, namely banner ads, interstitial full-screen takeovers, etc.
[0083] (Overlay) When the service 30 detects appropriate application activity according to the configuration stored in the configuration database 34, it launches the overlay 8.
[0084] In one embodiment, the overlay 8 utilizes an Android feature called an alert window. The alert window can obtain the correct permissions and display the other applications described above. In a preferred form, the overlay 8 can be placed anywhere on the screen according to the available screen real estate and can be scaled to any size. This overlay is an application that displays advertisements or other notifications separately from the streaming application and is placed at the top of the application, and can be set for each application (e.g., size and timing). TM In one embodiment, when configuration details are changed by the configuration module 106, for example, for the position of the overlay, the changes are propagated in real time to the database 104 and then to each respective database 34 across all devices 14.
[0085] The overlay itself is as follows:
[0086] The overlay itself is as follows: · Image o Direct images such as direct advertisements are scaled and are image links shown in the overlay. They are also cached in the device for fast access. · HTML o HTML snippets such as ad creatives. · URL o URL link to the html page shown in the overlay · JavaScript callout o JavaScript components such as integration points to the ad supply side bidding platform that reduces HTML ad creatives o API integration - integration into the ad ecosystem that reduces HTML ad creatives
[0087] JavaScript callout and API integration may include extensive metadata about the user and device, in addition to the tagging function for ad targeting. This is achieved by replacing keywords in the integration definition of key - value pairs specified in the ad ecosystem JavaScript or API interface.
[0088] (Ad integration) The ad ecosystem 200 preferably accesses the real - time bidding and programmatic buying markets and is configured using JavaScript and API integration to provide a good return on investment spending on ads. To ensure accurate ad targeting, detailed device and user - based data can be provided through these integration points. There are no restrictions on creative sizing, and any custom sizes can be provided in the overlay 8 in addition to all IAB standard sizings.
[0089] There can be a high certainty that the purchased ads are viewed, consumed, and that consumption is accurately recorded. The ads do not appear "below the fold" and are not otherwise obtrusive.
[0090] (Active tagging) The publisher uses tags to convey the classification of the content on the site. Tags are essentially keywords that generally define the nature of web content such as news, sports, etc. The Australian Interactive Advertising Bureau (IAB) provides a list of "publisher categories", which is a list of content categories and sub-categories for defining publisher content. When an advertiser places an ad hook on a content page, those hooks ensure that appropriate and relevant ad creatives are served for display on the site via the specified tags.
[0091] The user profile is stored on device 14 within storage device 22. The profile may include details such as, but not limited to: · Age · Gender · Ad ID · Location · Device · Carrier information
[0092] Referring to FIG. 2, user 410 of device 400, which can be device 14 or another device (such as a smartphone or tablet), can be presented with 420 and asked to select categories of interest. The selection is recorded in the profile (as indicated by tag 430). This profile data can then be integrated into the advertising ecosystem 200 for appropriate ad targeting based on the user's details. Additionally, the user's actions regarding the apps they use and the timing when they use them can be used to select appropriate targeted ads. For example, knowing when a user used an airline reservation app and how long ago that app was used can help target appropriate travel-oriented ads.
[0093] For the applications being used, a defined tag set is actively tagged. For example, tags such as "Fast Food, Food Delivery" can be attached to a food delivery app, and can be defined as "Sports, Sports Betting, Football" or any other combination consisting of one or more tags for a betting app. Further, a time period can be added to this tagging. For example, the tag becomes valid when the app is used during a specific period (such as the past 1 hour, 7 days, 30 days, etc.).
[0094] Referring back to FIG. 2, when each of apps 422, 424, 426, and 428 is used, respective tags 432, 434, 436, and 438 are added to the profile. Preferably, the tags being used are IAB categories (or similar) having the same time period concept. Thus, the profile constructs the user's current active tag profile. This set of active tags is essentially a current picture of the user's preferences and actions regarding the applications the user uses.
[0095] An "active tag" represents a systematic view of the user corresponding to the apps the user uses and the timing when the user uses the apps.
[0096] The advantage of such tagging is to use the language of the advertising ecosystem (publishing tags) and use tags to represent the behavior of user apps. This, in turn, makes it easier to select targeted ads and makes it more likely that the user is interested. Also, the tag can represent a time component. Various tags represent activities (e.g., the user has used a ride-sharing app within the past 1 hour) in a configurable time-based manner.
[0097] Referring to FIG. 3, in the STB environment, any other application in which the user is involved is still tracked, and also, the active tags 430A, 430B, and 430C are constructed for the content 6A, 6B, and 6C that the user views.
[0098] Accordingly, a comprehensive list of the user's content / genre / rating and viewing actions is incorporated into the user's profile by the action module via the advertising interaction. As a result, better targeted advertisements can be provided.
[0099] (Application Engagement Detour) In one embodiment, the service 30 has the ability to engage with the underlying application to maximize the engagement opportunity by allowing targeted campaign-based advertisements, including targeted video advertisements, to users within the streaming content environment while restricting any competition with the streaming content.
[0100] (Keystroke Insertion) In one embodiment, the service 30 is configured to absorb all or some of the actions issued by the remote controller 15 and then issue its own commands.
[0101] One example of using this feature is shown in FIG. 4. When the service 30 detects (506) that the user has pressed play 502 to start playing video content, and when the service 30 is configured to display a full-screen video advertisement at that stage (520), the streaming content player 20 starts streaming the content 504 to the display / TV 12. However, the service 30 can pause the currently playing display by issuing a pause keystroke to the player (524). The service 30 can then ensure that all key presses from a remote location (e.g., excluding "back") are ignored (522). The service 30 can then use the overlay 8 to display a full-screen running video advertisement provided (528) from the service 30 via a third-party advertising ecosystem 200. When the advertisement is complete (540), the service 30 closes the video advertisement overlay 8 and then sends a play keystroke to the media player 20 (544). The normal function is resumed by receiving a press of a remote control button (542). Thus, the insertion of the overlay content can appear seamless, as if it were part of the streamed content 504.
[0102] (Two-way interactive button press) In one embodiment, the service 30 is configured to analyze the control of the application of the streaming content player received from the remote controller 15. That is, the service 30 can look at the buttons on the content display page, such as "play" or "resume viewing", and participate.
[0103] One embodiment is described in relation to FIG. 5. Service 30 may detect (606) that the user has pressed button 610 within app 12 via input 602 from remote controller 15. Next, the service may prevent (612) the button press after the user has selected it and before the app is notified that button 610 has been pressed. Service 30 may then use overlay window 8 to display advertisement 620, for example, to execute a full-screen overlay on app 12 (628). This embodiment is a full-screen video advertisement. During this time, button presses by remote controller 15 are ignored and player 20 waits for user interaction (626). When the advertisement is complete (640), service 30 closes the overlay, initiates button press 644 previously selected by the user, and normal operation resumes. That is, the content stream starts playing (646). Normal operation of remote controller 15 also resumes (642).
[0104] The advantage of this approach is that the video advertisement is displayed on the content selection page before the content actually starts, rather than actually being displayed on the streaming content. Since this appears like a standard preroll advertisement, it is seamless for the user.
[0105] (Program Analysis) Service 30 can view the details of the screen underlying any application. Service 30 does this for pre-configured applications to show information that can be collected for enhanced ad targeting. For example, service 30 analyzes the details of the program summary screen to derive information about the program being streamed. This enables targeted advertising, including age-appropriate ads.
[0106] Service 30 can examine the layout profile and underlying structure of a running foreground application by continuously looking at the Android view hierarchy of the application through Android Accessibility Services. And Service 30 can discover internal identifiers of the foreground application, which may include labels, buttons, window positions, references to images or URLs, and whether a button is focused. Service 30 can also examine the logging output of the running foreground application. And Service 30 can trigger activities such as displaying an advertisement overlay based on the presence or use of a specified identifier. For example, Service 30 can detect that a live TV guide is currently being displayed on a live TV stream by looking at various internal system identifiers that make up a guide such as channel indicators. Thus, an advertisement can be displayed at that point. Similarly, Service 30 can detect that the guide has disappeared and remove the advertisement, or display a different type of advertisement when the guide has disappeared.
[0107] (Connectivity of Mobile Devices) Referring to FIG. 6, the app 702 can be installed on the user's mobile device 400 such as a smartphone or a tablet. The service 30 can communicate with the mobile device 400 on the same network. To initially ensure the installation of the mobile app 702, the overlay 8 can display a QR code for the device to read and drive the app 702 installer and establish a permitted connection to the service 30 (710). When a connection is established between the mobile device 400 and the service 30, the service 30 can obtain the user profile (e.g., Android advertising identifier) and other profile information (712). When an ad call is made to the ad provider by the service 30 (720), this profile passes through the ecosystem 200. This means shown by the ad 722 is highly targeted to that user's profile. Also, this connection enables the selection of more information regarding user engagement (724) in the ad, i.e., the requests sent to the mobile device (714).
[0108] Also, the app can provide a leanback feature of an Android TV application that is ideal for use with a remote controller.
[0109] (Monitoring) A monitoring module may be provided to monitor the performance and operation of the service 30 or its sub - modules. The overlay module 8, or other similar overlay modules, are used to overlay a monitoring window while the standard service 30 is running on the user interface (UI). When the user moves around the UI and the service 30 performs an action such as displaying an ad, the monitoring module shows another overlay indicating what the service is looking at and reacting to.
[0110] The present invention is advantageous in that it does not require any changes to the content of the streaming application.
[0111] Within the context described and shown in the drawings, a plurality of modifications may be made to the present invention. Such modifications are intended to form part of the invention described herein.
Claims
1. A content overlay system for a digital device that displays content in an active streaming window, comprising: A processor configured to monitor events of the digital device to generate data indicating activation of one or more applications of the digital device and one or both of use of the one or more applications, the processor being configured to process the generated data to determine timing data indicating a time to overlay content on the active streaming window and one or both of the content to overlay; the processor; An overlay generation module implemented by the processor for placing an overlay window in front of the active streaming window and displaying content in the overlay window, the overlay generation module being configured to generate the overlay window and display overlay content from an overlay content server in the overlay window according to one or both of the determined timing data and the determined content; the overlay generation module; An operation monitoring module implemented by the processor for monitoring applications used on the digital device and generating the generated data processed to determine one or both of the timing data and the content to overlay, using the monitoring of the applications, the operation monitoring module being configured to assign at least one tag to each use of each application used, and rank a plurality of tags according to the time when the application to which the tag is assigned was last used; the operation monitoring module; A content overlay system for a digital device comprising the above.
2. The system according to claim 1, wherein the one or more applications include a streaming content player, and monitoring the event includes monitoring the streaming content player of the digital device.
3. The system according to claim 1 or 2, wherein the application includes an application for activating and / or using a streaming content player of the digital device.
4. The system according to claim 1, wherein the monitoring includes determining which applications are being used by a user and when they are being used to generate a user's application usage profile.
5. The system according to claim 1, wherein the tag is an indicator of user actions.
6. The system according to claim 1 or 5, wherein a tag can be assigned for a period of time.
7. The system according to claim 6, wherein the operation monitoring module is configured such that the tag is removed at the end of the period.
8. The system according to any one of claims 1, 5, 6, and 7, wherein the operation monitoring module is configured such that the plurality of tags are accumulated according to the applications used until each of the plurality of tags is removed due to its lifespan.
9. The processor transmits the generated data to the overlay content server, The system according to any one of claims 1 to 8, wherein the overlay content server provides content to be displayed by the overlay generation module.
10. The system according to claim 9, wherein the processor requests the overlay content server to provide content to be displayed according to the generated data.
11. Each application provides the activity it is executing to the processor, and the processor uses the activity that each application is executing to determine one or both of the timing data and the content. The system according to any one of claims 1 to 10.
12. The overlay generation module is configured to generate an overlay window as an alert window using an operating system or a software component bundled with the operating system, the overlay window is configured as a web container, and the overlay window is configured according to the generated data. The system according to any one of claims 1 to 11.
13. The system according to any one of claims 1 to 12, further comprising a controller configured to provide a control signal to the active streaming content player for controlling the display of streaming content.
14. The system according to claim 13, wherein the control signal is in the form of an inserted keystroke or a button press / tap.
15. The controller according to claim 13 or 14 is configured to intercept a plurality of keystrokes or a plurality of button presses / taps received from a user, and the intercepted keystrokes are stored for later insertion into the input of the streaming content player.
16. The controller is configured to analyze an in-application input of the streaming content player. The system according to any one of claims 13 to 15, wherein the controller is configured to start overlay content and provide the input to the streaming content player when the overlay content is completed.
17. The processor according to any one of claims 1 to 16 is configured to intercept a keystroke or a button press / tap received by a media player device and later insert it as an input to the streaming content player of the digital device to facilitate the presentation of overlay content.
18. The system according to any one of claims 1 to 17, comprising a connection to a mobile device, the mobile device being configured to generate a user profile by monitoring an application used on the mobile device.
19. Monitoring the one or more applications used in a digital device to generate data indicative of activation of the one or more applications and / or use of the one or more applications; Assigning at least one tag to each use of each application used; Ranking a plurality of tags according to the time when the application to which the tag is assigned was last used; Based on the generated data and the ranked tags, determining one or both of the timing to overlay content on the active window of the active applications and the content to be overlaid; Placing an overlay window in front of the active streaming window; Receiving overlay content from an overlay content server according to one or both of the determined timing and the determined content; Displaying the overlay content in the overlay window, a method for providing overlay content on a digital device.
20. A processor configured to monitor events of a digital device to generate data indicative of activation of one or more applications of the digital device and / or use of the one or more applications, the processor being configured to process the generated data to determine timing data indicating the time to overlay content on an active window; An operation monitoring module implemented by the processor for monitoring applications used on the digital device and using the application monitoring to generate the generated data to be processed to determine the timing data, the operation monitoring module being configured to assign at least one tag to each use of each application used and rank a plurality of tags according to the time when the application to which the tag is assigned was last used; An overlay generation module implemented by the processor for placing an overlay window in front of an active streaming window or application and displaying content in the overlay window, the overlay generation module generating the overlay window according to the determined timing data and the ranked tags, and being configured to display content from an overlay content server. A content overlay system for a digital device comprising the above.
21. A processor configured to monitor events of the digital device to generate data indicating activation of one or more applications of the digital device and / or use of one or both of the one or more applications, the processor being configured to process the generated data to determine content to overlay. An operation monitoring module implemented by the processor for monitoring applications used on the digital device and generating the generated data to be processed for determining content to overlay using the application monitoring, the operation monitoring module assigning at least one tag to each use of each application used, and being configured to rank a plurality of tags according to the time when the application to which the tag is assigned was last used. An overlay generation module implemented by the processor for placing an overlay window in front of an active streaming window or application and displaying content in the overlay window, the overlay generation module generating the overlay window according to the determined content and the ranked tags, and being configured to display content from an overlay content server. A content overlay system for a digital device comprising the above.
22. A processor configured to monitor events of the digital device to generate data indicating activation of one or more applications of the digital device and one or both of the use of the one or more applications, the processor being configured to process the generated data to determine timing data indicating the time to overlay content on an active window and the content to overlay, the processor; An operation monitoring module implemented by the processor for monitoring applications used on the digital device and using the application monitoring to generate the generated data to be processed to determine one or both of the timing data and the content to overlay, the operation monitoring module assigning at least one tag to each use of each application used and ranking a plurality of tags according to the time when the application to which the tag is assigned was last used, the operation monitoring module; An overlay generation module implemented by the processor for placing an overlay window in front of an active streaming window or application and displaying content in the overlay window, the overlay generation module generating the overlay window according to the determined timing data, the determined content, and the ranked tags and being configured to display content from an overlay content server, the overlay generation module; A content overlay system for a digital device comprising.
23. The system according to claim 1, wherein the one or more applications of the digital device include applications other than applications for streaming and applications other than applications for displaying content in an overlay window.
Citation Information
Patent Citations
Content provision
EP2501144A2
Computer program, advertisement video reproduction system, and advertisement video reproduction method
JP2015089015A
Apparatus and method for supporting relationships associated with content provisioning
JP2017501645A
Present the content selected by the online system together with additional content presented by the application through the content presented by the application
JP2018538591A
Content overlays in on-demand streaming applications
US20100153990A1