Method and system for triggering a media rendering device to use a video on demand service
By detecting content selection patterns on media presentation devices and utilizing machine analysis and automatic content recognition technology to present user approval prompts, the problem of repeated access to the same video-on-demand service by users is solved, promoting the discovery and use of diverse content.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- THE NIELSEN CO (US) LLC
- Filing Date
- 2019-12-20
- Publication Date
- 2026-05-15
AI Technical Summary
Users may not try or learn about other useful video-on-demand services when using media presentation devices, leading to repeated access to the same service while ignoring other interesting services.
By using a computing system to detect the content selection patterns of media presentation devices, and leveraging machine analysis and automatic content recognition technology, timely user approval prompts are displayed to incentivize the use of other video-on-demand services, especially when the current service is not being used or when it is detected that the user may be selecting new content.
It facilitated the transition of media presentation devices to other video-on-demand services, increasing users' frequency of discovering and using diverse content.
Smart Images

Figure CN117768737B_ABST
Abstract
Description
[0001] This application is a divisional application. The original application is a PCT application with application number PCT / US2019 / 067718, filed on December 20, 2019, which entered the Chinese national phase on June 22, 2021. The Chinese application number is 201980085422.4, and the title is "Method and System for Triggering Media Presentation Devices to Use Video-on-Demand Services".
[0002] Citation of relevant applications
[0003] This application claims priority to U.S. Patent Application No. 15 / 929,192, filed December 19, 2019, and U.S. Provisional Patent Application No. 62 / 784,520, filed December 23, 2018, the entire contents of which are incorporated herein by reference. Technical Field
[0004] This invention relates to a method and system for triggering a media presentation device to use a video-on-demand service. Background Technology
[0005] A typical media presentation device (MPD) operates to receive analog or digital media streams representing video content (e.g., multimedia content including video components) and to present the media content for display on a user interface such as a display screen. A representative example of such a device is a television set. Other examples, without limitation, include computer monitors, smartphones, and projection systems.
[0006] A television can be configured to receive and present various channels of video content distributed by one or more content distribution systems, such as cable, satellite, or terrestrial radio broadcasting systems. For example, a television may include or be interconnected with a tuner and / or receiver (e.g., a set-top box), which allows a user to select channels such as national or local broadcast feeds, tune to the user-selected channel, and provide content from the user-selected channel for rendering and presentation over the television.
[0007] Furthermore, televisions can be configured to receive and present video-on-demand (VOD) content. For example, a television can interconnect with a streaming media player such as ROKU, APPLETV, AMAZONFIRETV, or CHROMECAST, allowing the user to select a VOD service from several available options (such as corresponding VOD apps). The user chooses specific video content, such as movies or television programs, offered by the selected VOD service, and the streaming media player operates to receive and serve the user-selected video content for rendering and presentation on the television. Additionally, some smart TVs come pre-installed with this media player functionality. Summary of the Invention
[0008] One problem with implementing VOD services is that users may repeatedly access the same VOD service and may not try or learn about other useful and / or interesting VOD services. For example, each time a user browses for movies or TV shows, they may access the same set of one or more VOD applications on their media player, even if that media player supports one or more other VOD services that may offer more or different kinds of movie and TV show content and / or have other useful features. In fact, the user may not be aware of those other VOD services, or the user may not make any effort to explore them at all.
[0009] This disclosure provides a technical mechanism to help incentivize and promote the use of a given VOD service by enabling the MPD to timely and relevantly present prompts for user approval for the MPD to present content of the given VOD service. Specifically, when the MPD is not using the given VOD service (e.g., when the MPD is not presenting any video content from the given VOD service and no content selection menu for the given VOD service is displayed), the computing system will detect that the MPD is in a mode where the user may select content to watch, and the computing system will responsively cause the MPD to present prompts for user approval for the MPD to present content of the given VOD service.
[0010] For example, the computing system can detect, based on machine analysis of the video content presented by the MPD, that the MPD is currently displaying a menu of VOD services, such as a page describing various VOD application icons from which the user can select the VOD application to use, and the MPD can respond by displaying a video overlay prompting the user to consent to the MPD displaying the content of the given VOD service. Furthermore, the computing system can make the user approval prompt specifically presented in such a way that, in response to the machine analysis, it detects that, in cases where the user may have already navigated to such a VOD application through the menu but has not yet selected it, another VOD service, besides the given VOD service, is currently highlighted in the VOD service menu for the user to select.
[0011] As another example, the computing system can detect, based on similar machine learning, that the MPD is currently displaying a content selection menu for another VOD service or has just finished displaying content items (e.g., movies or TV shows) from another VOD service, and the computing system can respond by displaying a video overlay prompting the user to consent to the MPD displaying content from the given VOD service. In this case, displaying the user's approval prompt helps facilitate the MPD's transition from using other VOD services to using the given VOD service.
[0012] Furthermore, as another example, the computing system can detect that the MPD has just been powered on through machine analysis or other processing logic, which could be another situation where a user might choose to watch new VOD content. And in response, the computing system can then similarly present a prompt indicating user approval for the content used by the MPD to present a given VOD service.
[0013] On the other hand, this disclosure also provides the use of Automatic Content Recognition (ACR) as a basis to identify content types, such as specific genres, that MPD users may like to watch, and responsively configures user approval prompts to allow MPD to present prompts for specific types of content provided by a given VOD service.
[0014] For example, a web-based ACR server can identify various content items (such as movies, TV shows, etc.) recently presented by an MPD and / or by one or more associated MPDs through digital fingerprinting, watermarking, and / or one or more other ACR technologies. The ACR server or another entity can determine the genre and / or one or more other attributes of these content items. When the computing system detects that an MPD is in content selection mode, it can prompt the MPD to display a user-approved prompt for content selected based on belonging to that specific genre or having one or more specific attributes. Presenting such timely prompts for user approval to allow the MPD to display content of interest from a given VOD service further helps to incentivize the use of that given VOD service.
[0015] These and other aspects, advantages, and alternatives will become apparent to those skilled in the art upon reading the following detailed description and referring to the accompanying drawings where necessary. Furthermore, it should be understood that the invention is intended to be illustrated by way of example only and not as a limitation. Attached Figure Description
[0016] Figure 1 It is a simplified block diagram of an example device that can implement various publicly disclosed principles.
[0017] Figure 2 This is an illustration of the example VOD service - Select - menu.
[0018] Figure 3 This is an illustration of a sample video content selection menu for a given VOD service.
[0019] Figure 4 It is shown Figure 3 The menu features an overlay prompt icon for user approval to allow MPD to display video content from another VOD service.
[0020] Figure 5 This is a flowchart illustrating the operations that can be performed according to this disclosure.
[0021] Figure 6 This is a simplified block diagram of the example computing system.
[0022] Figure 7 This is a simplified block diagram of an example media presentation device. Detailed Implementation
[0023] Referring to the attached diagram, as described above, Figure 1This is a simplified block diagram of an example arrangement in which various publicly disclosed principles can be applied. However, it should be understood that this arrangement and other arrangements, as well as this process and other processes, described herein can take many other forms. For example, elements and operations can be reordered, distributed, copied, combined, omitted, added, or otherwise modified. Furthermore, it should be understood that the functions described herein, performed by one or more entities, can be implemented by these entities and / or on their behalf through hardware, firmware, and / or software, for example, by one or more processing units that execute program instructions, etc.
[0024] Figure 1 A representative MPD 100 is depicted, which can be or include a television or any other type of MPD configured to receive and present video content on an integrated or externally connected user interface (e.g., display screen 102). As shown, MPD 100 is interconnected with a transmission network 104 such as the Internet, which provides direct or indirect connections to various VOD services, including VOD service 1 and VOD service 2.
[0025] Each VOD service shown can be operated and provided by the corresponding VOD service provider under the corresponding VOD brand name. For simplicity, this manual refers to VOD-service 1 as brand "VOD 1" and VOD-service 2 as brand "VOD 2", although the actual brand names of these services may be more distinctive.
[0026] Each VOD service can take various forms and may include one or more servers (not shown) configured to facilitate the delivery of VOD content to a media player for MPD rendering, such as MPD 100. For example, a typical VOD service may include a content selection server, such as a web server, configured to send a menu to the media player allowing the user to select video content items to stream from the VOD service to the media player. Furthermore, a typical VOD service may include a media server and an associated signaling server, which are cooperatively configured to establish a streaming session with the media player and stream video content items upon request from the media player.
[0027] A representative MPD 100 is shown as including an integrated media player 106, which can be defined by program logic (e.g., program instructions) stored in the MPD 100 and executable by the processing unit of the MPD 100. For example, the media player 106 can be defined as application-layer logic running on top of the operating system of the MPD 100, or can be integrated into the operating system of the MPD 100, and so on.
[0028] Furthermore, a representative MPD 100 is shown as a media player device 108 with external connectivity. In an exemplary embodiment, for example, the MPD 100 may include multiple interfaces for connecting peripheral devices, such as a High Definition Multimedia Interface (HDMI), and the external media player device 108 may be coupled to the MPD 100 through this interface.
[0029] Media player 106 and media player 108 can each be configured to interact with various VOD services (such as VOD1 and VOD2) to receive VOD content for MPD 100 to present.
[0030] In an exemplary embodiment, for example, the media player can be configured to first acquire and provide a menu of various such VOD services available for user selection, and the media player can be configured to receive input from the menu of available VODs indicating the user's selection of a particular such VOD service. Furthermore, the media player can be configured to request and receive a menu of video content items available for user selection to stream from the VOD service to the media player. The media player can also be configured to receive the user's selection of desired video content items from the menu of available video content items, responsively requesting and receiving the selected video content items from the VOD service, receiving the requested video content items from the VOD service in a streaming session, and playing the received video content items in real time to present MPD 100.
[0031] The details of these processes, including the signaling protocols used and other details, can take various forms.
[0032] For example, a media player can utilize basic Hypertext Transfer Protocol (HTTP) signaling and web browser functionality to obtain a menu of available VOD services from a media player provisioning server 110, such as a provisioning server operated by the media player's provider. For example, the media player or associated logic can generate an HTTP GET request message and send it to the media player provisioning server 110, and in response, receive an HTTP response message from the provisioning server 110 carrying a tagged document representing a VOD service selection menu, which can be rendered for presentation by the MPD 100.
[0033] This markup document defines the graphical layout and associated functions of the available VOD service menu, as shown in the example below. Figure 2 As shown.
[0034] like Figure 2As shown, the menu of available VOD services can provide an array of VOD service objects (e.g., graphic icons, text, etc.) representing various available VOD services. Each VOD service object displays the name or other branding identifier of the VOD service, facilitating user selection of the desired VOD service from the menu. Furthermore, the markup document defining this graphic layout can be encoded so that each such VOD service object becomes an operational hyperlink to the Uniform Resource Identifier (URI) of the associated VOD service, and each VOD service object navigated to by the user is highlighted (e.g., with external glow, color changes, etc.) for possible selection.
[0035] Upon receiving the tagged document, the media player or associated logic is thus able to render the tagged document for use by the MPD 100 to present a menu of available VOD services. Using the menu of available VOD services presented by the MPD 100, the user can then navigate to and select one of the desired listed VOD services using a navigation / selection mechanism such as a remote control. For example, as Figure 2 As shown, the user can navigate to VOD2, which allows the VOD service menu presented by the MPD 100 to display an external glow around the VOD2 object. The user can then press the OK button or otherwise select VOD2.
[0036] Once a user selects a desired VOD service, the media player can use HTTP signaling and web browser functionality to obtain a menu of video content items available for streaming from that VOD service. For example, once the user selects VOD2, the media player or associated logic can generate an HTTP GET request message and send it to the URI of VOD2, and in response, receive an HTTP response message from VOD2 carrying a marked document representing the video content item menu, which can be rendered for presentation by the MPD 100.
[0037] This markup document allows you to define the graphical layout and associated functionality of the menu of available video content items, as shown in the example below. Figure 3 As shown.
[0038] like Figure 3 As shown, the menu of video content items available from VOD2 can provide an array of video content objects (e.g., thumbnails, trailer videos, etc.) representing various available video content items, as well as text and / or other descriptors for the video content items. Furthermore, the markup document defining this graphical layout can be encoded to make each such video content object an operable hyperlink to a URI pointing to the related video content item, and to highlight each video content object the user navigates to (similarly with external glow, color change, etc.) for possible selection.
[0039] Upon receiving the tagged document, the media player or associated logic can then render the tagged document as a menu for the MPD 100 to display available video content items. Using the menu of available video content items presented by the MPD 100, the user can then navigate to and select one of the desired listed video content items. For example, as... Figure 3 As shown, the user can navigate to MOVIE1, which causes the video content item menu presented by the MPD 100 to display an external glow around the MOVIE1 object. The user can then press the OK button or otherwise select MOVIE1 to start playback of MOVIE1.
[0040] Once the user selects the video content item they wish to play from VOD2, the media player and VOD2 can interact to establish a streaming session. VOD2 will then stream the video content item through this session for MPD 100 to play and present in real time. In example implementations, this streaming can be accomplished using protocols such as Real-Time Transport Protocol (RTP) and Real-Time Streaming Protocol (RTSP).
[0041] For example, in response to the user's selection of MOVIE1, the media player can generate a URI associated with MOVIE1 and send an RTSP SETUP request message to it, requesting the establishment of an RTP session for real-time streaming of MOVIE1. VOD2 can then return an RTSP SETUP response message describing the session parameters. Following possible further signaling between the media player and VOD2, the media player can send an RTSP PLAY message to VOD2 to initiate a streaming session. Upon receiving the PLAY request, VOD2 can begin transmitting MOVIE1 as the payload in a sequence of RTP packets to the media player. When the media player receives these RTP packets, it can buffer the packet payload and play MOVIE1 in real-time for MPD 100 presentation.
[0042] Note that the menus and associated information described above can alternatively be cached locally on the media player and updated periodically to make it easier for the media player to display the menus and respond to user selections. Other devices can also do this. Similarly, the media player can pre-establish a streaming session with the VOD service to facilitate faster delivery of requested video content items from the VOD service to the media player.
[0043] In a representative example, the program logic defining the media player 106 of MPD 100 can also provide an application programming interface (API). This API defines commands through which the host processor of MPD 100 enables the media player 106 to perform certain media player operations. For example, through this API, the host processor can instruct and cause the media player to request, receive, and present a specific video content item from a specified URI for MPD 100 to render.
[0044] As described above, this disclosure provides a mechanism for triggering the use of a specific VOD service when the MPD 100 is in content selection mode and no specific VOD service is currently being used. Continuing the example above, for instance, this mechanism can be used to trigger the use of VOD1 when the MPD 100 is in content selection mode and no VOD1 is currently being used.
[0045] To facilitate this, MPD 100 can include and apply client VOD triggering logic 112. Similar to media player 106, client VOD triggering logic 112 can be defined by program logic stored in MPD 100 and can be executed by the processing unit of MPD 100 to cause MPD 100 to perform various operations. For example, client VOD triggering logic 112 can be defined as application-layer logic running on top of the operating system of MPD 100, or it can be integrated into the operating system of MPD 100, among other possibilities.
[0046] According to the client VOD triggering logic 112, (i) MPD 100 can detect when MPD 100 is in content selection mode when MPD 100 is not currently using VOD1, and (ii) in response to detecting that MPD 100 is in content selection mode at least when MPD 100 is not currently using VOD1, MPD 100 can present a prompt for the user to approve MPD 100 to present the video content of VOD1 and / or may be a menu of video content items that can be obtained from VOD1.
[0047] Consistent with the discussion above, the action of detecting that MPD 100 is in content selection mode can include detecting that MPD 100 is in a mode where the user of MPD 100 will select video content to watch. Furthermore, the action of detecting that MPD 100 is in content selection mode when MPD 100 is not using VOD1 can include detection that occurs when MPD 100 is not currently displaying video content provided by VOD1 and when MPD 100 is not currently displaying a menu of video content items obtainable from VOD1.
[0048] As mentioned above, there are various examples of this situation. The MPD 100 is capable of detecting this situation in multiple ways.
[0049] One example is when the MPD 100 has just been powered on (e.g., transitioning from standby or power-off mode to a fully powered-on mode where the MPD 100 is ready to present video content). In this state, the MPD 100 may not yet be using any VOD services, and the user of the MPD 100 may be able to select video content to watch. The behavior of the MPD 100 in detecting this situation could therefore include the MPD 100 detecting any events that it normally detects as an indication that the MPD 100 has just been powered on, triggering the normal power-on and startup routines of the MPD.
[0050] Another example is when MPD 100 presents a VOD service selection menu (e.g., such as VOD service selection menu) to the user, offering various VOD services. Figure 2 As shown, in this state, MPD 100 does not yet present video content for any specific VOD service, and the user of MPD 100 may select the video content to watch—by selecting a VOD service and then selecting the video content item provided by the selected VOD service.
[0051] MPD 100 can detect in various ways that MPD 100 is currently displaying the VOD-Service-Select menu.
[0052] For example, if the media player 106 of MPD 100 is providing a VOD service selection menu for MPD 100 to present, MPD 100 will be programmatically aware of this fact. For example, media player 106 can notify client VOD triggering logic 112 that media player 106 is providing a VOD service selection menu for MPD 100 to present. Alternatively, if an external media player 108 is providing a VOD service selection menu for MPD 100 to present, the external media player 108 can send a control signal (e.g., via HDMI signaling) to MPD 100 to notify MPD 100 of this fact.
[0053] Alternatively, MPD 100 can apply any of a variety of image recognition techniques to determine whether the video frame currently being presented by MPD 100 is a VOD-Service-Select menu. Here, for example, MPD 100 can periodically capture the video frame being presented and attempt to analyze the frame to detect one or more predefined images, objects, or attributes within the frame that indicate MPD 100 is presenting a VOD-Service-Select menu. MPD 100 can apply one or more known pattern recognition and template matching techniques for this purpose.
[0054] For example, each of various media players—such as those mentioned above—can have a predefined, unique format for its VOD service selection menu, which can include features such as: a unique arrangement of VOD service objects, a unique shape or scale of the VOD service objects, and unique text, images, and color schemes. Figure 2 Taking the illustrated device as an example, the video frame of the example VOD service selection menu may have a title bar with a unique background color, a media player name at a specific location in the frame, a media player logo at a specific location in the frame, and a VOD service selection object with a specific shape, orientation, and relative orientation. Furthermore, the indicators for the VOD service selection menu may be the presence of multiple VOD service logos and / or names in the video frame, such as having names, logos, color schemes, and / or other attributes specific to various VOD services.
[0055] MPD 100 is able to provide predefined image templates and other data that define unique characteristics of the VOD-service-select menu for each of the various media players mentioned above. MPD 100 can therefore periodically perform image recognition based on the templates and / or other data to determine whether and when the video frame currently presented by MPD 100 is such a VOD-service-select menu.
[0056] Furthermore, the MPD 100 can also use any of various image recognition technologies to detect when the presented frame depicts the logos of multiple different VOD service providers. This instructs the user to select a VOD service provider and thus puts the MPD into content selection mode. Similarly, the MPD 100 can use any of various image recognition technologies to detect when the user is navigating through various VOD service objects in this menu, for example, by detecting scrolling and / or navigating through VOD service objects.
[0057] Alternatively, the MPD 100 can use any of the various ACR technologies to detect that the MPD 100 is currently displaying such a VOD service-select-menu.
[0058] For example, MPD 100 can periodically generate digital video fingerprints of the video frames it is rendering. MPD 100 can then compare these digital video fingerprints with pre-established reference video fingerprints representing VOD service selection menus, and determine if a fingerprint matches sufficiently to indicate that MPD 100 is rendering a VOD service selection menu. Alternatively, MPD 100 can send its generated digital video fingerprints to a network-based ACR server 114, which can compare the digital video fingerprints with pre-established reference video fingerprints and, upon finding a match, signal to MPD 100 that MPD 100 is rendering a VOD service selection menu. Any of various known fingerprint recognition and fingerprint matching techniques can be used for this purpose.
[0059] Alternatively, by evaluating the video presented by MPD 100, MPD 100 can detect within the video a watermark or other steganographic data indicating that the presented video is a VOD service selection menu. This can indicate to MPD 100 that it is currently presenting a VOD service selection menu. Alternatively, MPD 100 can detect such a watermark and report it to ACR server 114, and the ACR server can respond by signaling to MPD 100 that it is presenting a VOD selection menu based on the detected watermark. Any of various watermarking and watermark detection techniques can be used for this purpose.
[0060] Furthermore, MPD 100 detects that when MPD 100 is not currently using VOD1, it is in content selection mode. MPD 100 detects that it is displaying a VOD service selection menu, and the VOD service selection menu currently displayed highlights VOD services other than VOD1 for the user to select. For example, as... Figure 2 As shown, the VOD service selection menu that MPD 100 is presenting currently highlights the VOD service object of VOD2 for the user to select. This may be because the user has already navigated to VOD2 for possible selections, and is waiting for the user to select VOD2 using the OK button, etc. Figure 2 This highlight can be shown as an outer glow around the VOD2 object in the menu, but other forms of highlighting are also possible.
[0061] As described above, MPD can apply any of various image recognition techniques to determine that the currently presented VOD service selection menu has the option to highlight VOD services other than VOD1 for user selection. For example, MPD can evaluate video frames to detect the VOD-service object of VOD2 based on image features that are clearly related to VOD2, and MPD can further detect external luminescence around the VOD-service object, which indicates that the VOD2 object is highlighted for user selection. Other examples are also possible.
[0062] Another example of MPD 100 being in content selection mode when it is not using VOD1 is when MPD 100 is displaying a video content selection menu for another VOD service, such as VOD2 (e.g., as...). Figure 3 In that case, MPD 100 users can also select video content items to watch, and by definition, MPD 100 is not using VOD1 in this situation because MPD is presenting another VOD video content selection menu service.
[0063] The MPD100 can detect in various ways the video content selection menu that the MPD 100 is currently displaying as VOD2.
[0064] For example, if the media player 106 of MPD 100 is providing a VOD2 video content selection menu for MPD 100 to display, MPD 100 will be programmatically aware of this fact. For example, media player 106 can notify the client-side VOD triggering logic 112 that media player 106 is providing a VOD2 video content selection menu for MPD 100 to display. Alternatively, if external media player 108 is providing a VOD2 video content selection menu for MPD 100 to display, external media player 108 can (e.g., via HDMI signaling) send a control signal to MPD 100 to notify MPD 100 of this fact.
[0065] Alternatively, similar to detecting VOD service selection menus, MPD 100 can apply any of a variety of image recognition techniques—such as pattern recognition and template matching—to determine if the video frame currently being presented by MPD 100 is a VOD2 video content selection menu. Similarly, for example, MPD 100 can periodically capture video frames being presented and analyze those frames to attempt to detect one or more predefined images, objects, or attributes within the frame that indicate MPD 100 is presenting a VOD2 video content selection menu.
[0066] For example, VOD2 can have a predefined, unique format for its Video-Content-Select menu (which can vary depending on the media player used). This predefined, unique format can include features such as: a unique arrangement of video content objects, a unique shape or proportion of the video content objects, and unique text, images, and color schemes. Figure 3 Taking the device shown as an example, the video frame of the example video-content-select menu can have a title bar offset from the top of the frame, and a unique background color with the VOD2 logo on its left end, and text listing various available video content types on the left side of the frame, with video content objects having specific shapes, proportions and relative orientations.
[0067] MPD 100 is capable of providing predefined image templates and other such data that define the unique characteristics of the video-content-selection menu for VOD2 (and other similar VOD services). MPD 100 is therefore able to periodically perform image recognition based on the templates and / or other data to determine whether the video frame currently presented by MPD 100 is a VOD2 video content selection menu.
[0068] Alternatively, the MPD 100 can use any of a variety of ACR technologies to detect that the MPD 100 is currently displaying a video content selection menu such as VOD2. For example, for this purpose, the MPD 100 can use fingerprint or watermark analysis as discussed above.
[0069] Another example of MPD 100 being in content selection mode when it is not using VOD1 is when MPD 100 has just finished displaying video content provided by another VOD service, such as VOD2. A concrete example of this could be MPD 100 displaying the end credits of a VOD2 video content item, or perhaps MPD 100 displaying a prompt for the user to approve MPD 100 displaying the next episode or other related video content items from VOD2 (e.g., "Continue watching," "Watch the next episode," etc.). In this case, the user of MPD 100 will select the next video content item to watch, and in this case, MPD 100 uses VOD2 instead of VOD1.
[0070] The MPD100 can detect in various ways that the MPD100 has just finished presenting video content provided by VOD2.
[0071] For example, if the media player 106 of MPD 100 is playing a video content item from VOD2 for MPD 100 to display, MPD 100 can programmatically detect this fact and can also receive a signaling message from VOD2 indicating that the video content item has ended, such as when it is currently scrolling end credits. Alternatively, if an external media player 108 is playing a video content item from VOD2 displayed by MPD 100, the external media player 108 can send a control signal (e.g., via HDMI signaling) to MPD 100 to notify MPD 100 that the video content item has ended.
[0072] Alternatively, if VOD2 presents a unique VOD2 prompt at the end of playback of a given video content item, prompting the user to select the next video content item to be offered by VOD2, then MPD 100 can apply any of a variety of image recognition techniques—such as pattern recognition and template matching—to detect that the video frame currently being presented by MPD 100 includes such a unique VOD2 prompt. For example, MPD 100 can periodically capture video frames being presented by MPD 100 and analyze the video frames to detect such unique VOD2 prompts within the frames.
[0073] Furthermore, MPD 100 can also use any of a variety of ACR technologies to detect that MPD 100 has completed the presentation of video content items from VOD2. For example, for this purpose, MPD 100 can use fingerprint or watermark analysis as discussed above.
[0074] When MPD is not currently using VOD1, at least in response to MPD 100 detecting that MPD 100 is in content selection mode, MPD 100 can then generate and present a prompt for user approval to allow MPD 100 to present video content VOD1. This prompt can be interactive, presenting information to the user and displaying buttons or other operable user interface objects that the user can interact with, in order to provide approval for MPD 100 to present video content VOD1.
[0075] MPD 100 can present the prompt as a video overlay superimposed on the video currently being presented by MPD 100. Furthermore, MPD 100 can position the video overlay at any location within the video frame. For example, MPD 100 can position the video overlay in a pop-up bar along the edge of the video frame. Alternatively, MPD 100 can position the video overlay at another location, which may be related to the object that triggered the prompt presentation, among other possibilities.
[0076] Figure 4 It shows the superimposed on Figure 3The example prompt appears in the bar at the bottom edge of the video frame on the VOD2 content selection frame. As shown, the example prompt displays the VOD1 logo or other branding, and presents a text-based invitation for the MPD 100 to display MOVIE1 streaming from VOD1. Additionally, the example prompt displays an OK button that allows the user to participate using a remote control or other mechanism, providing user approval in response to the prompt.
[0077] MPD 100 can configure the OK button of the prompt as an operable hyperlink to the URI of MOVIE1 to be streamed from VOD1. Therefore, when the user uses the OK button to approve MPD 100 to present MOVIE1 from VOD1, MPD 100 can responsively initiate the MOVIE1 stream from VOD1. For example, MPD 100 can use the API of media player 106 as described above to enable media player 106 to establish a streaming session with VOD1 and begin receiving and playing MOVIE1 from VOD1 for MPD 100 to present.
[0078] In another aspect as described above, MPD 100 can interact with VOD trigger server 116 via transmission network 104 or other channels, and VOD trigger server 116 can facilitate, for example, by sending instructions to MPD 100 to prompt MPD 100 to present video content for user approval to present VOD1. MPD 100 will send instructions to MPD 100 by taking various actions disclosed herein, and / or by transmitting information to MPD 100 that MPD 100 can use as the basis for performing various disclosed actions.
[0079] For example, once MPD 100 detects that it is in content selection mode when VOD1 is not currently in use, MPD 100 sends a notification of this fact to VOD trigger server 116. VOD trigger server can respond to this notification by transmitting various information to MPD 100 to facilitate the presentation of prompts. This information can include a markup document defining text, images, and an operable hyperlink from VOD1 to MOVIE1. Alternatively, the information can simply be the URI of MOVIE1, which MPD 100 can use as the target URI in prompts presented by MPD 100. Upon receiving this information from the VOD trigger server, MPD 100 can then responsively use the received information as a basis to configure and present prompts for user approval.
[0080] On another front, ACR can be used as a basis for identifying preferred types of video content to prompt user approval for MPD 100 presentation. Specifically, MPD 100 and / or ACR server 114 can apply ACR based on the content presented over time by MPD 100 and / or one or more associated MPDs (e.g., MPDs associated with the same user, household, or other media consumption entity) to determine if MPD and / or associated MPDs have a tendency to present certain types or other types of media content. Based on this determination, MPD 100 can configure user approval prompts to present content of the determined type.
[0081] For example, typically when MPD100 and / or one or more associated MPDs present video content, for instance, from one or more VOD services and / or from other video content providers or sources, each such MPD can generate a digital video fingerprint of the content being presented and can send the fingerprint to ACR server 114 for analysis. Furthermore, ACR server 114 can be provided with reference video fingerprints for various video content items and data specifying the content type (e.g., genre) for each such item. ACR server 114 can thus compare the digital video fingerprints provided by the MPDs with the reference video fingerprints to attempt to find a fingerprint match. And upon finding a fingerprint match, ACR server 114 can determine the associated content type of the content presented by the MPDs. Alternatively, watermarking or other ACR technologies can be used.
[0082] Over time, such as by compiling information about this content type in a recent sliding window, ACR server 114 and / or one or more other entities can then determine the trend of MPD 100 and / or one or more related MPDs presenting specific types of content, representing user preferences for that type of content. Based on this identified preference, VOD trigger server 116 can select specific video content items of the determined content type that can be streamed from VOD1, and can provide MPD 100 with the URI of that content item and related prompt information for MPD 100 to use as a basis for generating and presenting prompts for user approval. For example, VOD trigger server 116 can refer to data listing various video content items available from VOD1 categorized by type (e.g., genre), and VOD trigger server 116 can select a video content item from that data based on the selected video content item being of a determined type. VOD trigger server can then provide MPD 100 with the URI of the selected video content item. MPD 100 can then generate and present prompts accordingly.
[0083] Furthermore, this identification of content type preferences can be associated with the time of day and / or one or more other contextual factors.
[0084] For example, ACR server 114 and / or one or more other entities can associate a determined preference with the time when MPD 100 and / or one or more other associated MPDs tend to present content of a determined type. Using this timing information, VOD trigger server 116 can then determine that the time when MPD 100 detects that it is in content selection mode is a specific moment when MPD 100 and / or one or more associated MPDs prefer specific content. In response, VOD trigger server 116 can provide MPD 100 with a URI of that type of video content item that can be streamed from VOD1, and MPD 100 can accordingly present a prompt for user approval to allow MPD 100 to present that type of video content item.
[0085] Please also note that the prompt presented by MPD 100 for user approval could instead be a prompt for the user to more generally approve the transition of MPD 100 to using VOD1, rather than a prompt for MPD 100 to specifically present a given video content item from VOD1. For example, the prompt could invite the user to use a button that would cause media player 106 to switch from not using VOD1 to presenting a video content selection menu of VOD1. And when the user uses the button, media player 106 could respond accordingly, such that MPD 100 would subsequently present the video content selection menu of VOD1.
[0086] Figure 5 This is a flowchart depicting a method executable according to the present disclosure for triggering an MPD (Multi-Distributed Device) to use a first VOD service, such as on a television or other device. The method can be executed by a computing system, which can include components in the MPD and / or in one or more other entities. For example, the computing system can be implemented at least in part by the MPD's processing unit executing stored program instructions. Furthermore, the computing system can be implemented at least in part by the processing unit of a network server communicating with the MPD. Other implementations are also possible.
[0087] like Figure 5 As shown, at box 500, the method includes a computing system detecting that the MPD is in content selection mode, performing this detection when the MPD is not using the first VOD service. At box 502, the method then includes, at least in response to the detection, the computing system causing the MPD to display a prompt for user approval that the MPD presents video content from the first VOD service. And at box 504, the method includes, at least in response to user approval, causing the MPD to present video content from the VOD service.
[0088] Based on the above discussion, the first VOD service not used by MPD can include (i) any video content from the first VOD service not presented by MPD and (ii) any content selection menu from the first VOD service not presented by MPD.
[0089] Furthermore, detecting that an MPD is in content selection mode can include detecting that the MPD is in content selection mode based on machine analysis of the video content presented by the MPD (e.g., image recognition and / or ACR processing). For example, detection can include detecting a match between the video content presented by the MPD and pre-associated video content of the MPD in content selection mode based on template matching.
[0090] For example, the detection can include, specifically, detecting that the MPD is presenting a VOD service selection menu that includes multiple VOD services as menu items for the user to select from among multiple VOD services when the VOD service selection menu is currently highlighting a second VOD service among multiple VOD services for selection.
[0091] Alternatively, the detection could include detecting that the MPD is presenting a content selection menu for a second VOD service. In this case, having the MPD present a prompt for the user to approve the MPD presenting video content from the first VOD service could help facilitate the transition from using the second VOD service to using the first VOD service.
[0092] Alternatively, the detection could include detecting that the MPD has just finished displaying content items from a second VOD service, such as a TV program or movie. Or, the detection could include detecting that the MPD has just been powered on.
[0093] Furthermore, as described above, the method can also include identifying a preference for a specific content type based on the ACR of content presented by one or more MPDs, and based on that identification, configuring a prompt for user approval of MPDs presenting video content from a first VOD service as a prompt for user approval of MPDs presenting video content of the identified content type. Here, for example, one or more MPDs can be MPDs and / or one or more MPDs all associated with the same user account as the MPDs.
[0094] As discussed further above, the action of identifying a preference for a specific content type can include identifying a preference for a specific content type based on determining that one or more media presentation devices have presented content of that specific content type. More specifically, identification can include identifying a preference for a specific content type based on determining that one or more content presentation devices present content of that specific content type at a specific time of day, and wherein the configuration prompt is also based on detection of that specific time of day.
[0095] Furthermore, as described above, the computing system can include a processing unit at the MPD. In that case, the method can also include responding to the detection by notifying the network server of the detection, in which case the action of causing the MPD to present the prompt can include receiving a message from the network server in response to the notification, and the processing unit responding to the message by causing the MPD to present the prompt.
[0096] Furthermore, as described above, the act of presenting a prompt for the user to approve the MPD to present video content from the first VOD service can include presenting video content overlays that describe a message prompting the user to approve the MPD to present video content from the first VOD service.
[0097] Next, Figure 6 This is a simplified block diagram of an example computing system operable according to this disclosure. As described above, the system is capable of representing one or more entities (e.g., individually or in combination). Figure 5 As shown, the example system includes an instance of at least one network communication interface 600, at least one processing unit 602, and at least one non-transitory data memory 604, any one or all of which can be integrated together in various ways, or, as shown, communicatively connected together via one or more system buses, networks, and / or other connection mechanisms 606.
[0098] Each network communication interface 600 may include one or more network connection mechanisms to facilitate communication on a network such as the aforementioned transport network 104, and / or for direct or networked communication with one or more other local or remote entities. Thus, the network communication interface 600 may include a wireless or wired Ethernet interface or other type of network interface for IP communication and / or other types of network communication, as well as network communication program logic supporting such communication.
[0099] Each processing unit 602 may include one or more general-purpose processors (e.g., microprocessors) and / or one or more special-purpose processors (e.g., application-specific integrated circuits). And each instance of the non-transitory data memory 604 may include one or more volatile and / or non-volatile memory components, such as optical memory, magnetic memory, or flash memory.
[0100] As shown in the figure, the non-transitory data memory 604 then stores program instructions 608 that can be executed by any one of one or more processing units 602 to perform the various operations described herein.
[0101] The features mentioned above can also be applied to this context, and vice versa.
[0102] at last, Figure 7 The following is a simplified block diagram of an example MPD operable according to this disclosure. Based on the discussion above, this MPD can take various forms. For example, it can be a television, a computer monitor, or other device operated to receive and present video content. Many other examples are also possible.
[0103] like Figure 7 As shown, the example media presentation device includes at least one of a media input interface 700, a media presentation interface 702, a network communication interface 704, a processing unit 706, and a non-transitory data storage 708, any one or all of which can be integrated together, or as shown, communicatively connected together via a system bus, network, or other connection mechanism 710.
[0104] The media input interface 700 can include a physical communication interface for receiving media content presented by the MPD. Thus, the media input interface can include one or more wired and / or wireless interfaces for establishing a communication connection with a receiver or other device or system and for receiving media content in analog or digital form from said receiver or other device or system. For example, the media input interface can include one or more interfaces conforming to protocols such as DVI, HDMI, VGA, USB, Bluetooth, and WIFI.
[0105] The media presentation interface 702 may include one or more components for presenting received media content. As an example, the media presentation interface may include a user interface such as a display screen and speakers, and one or more drivers or other components for processing the received media content in order to present the content on the user interface.
[0106] The network communication interface 704 can include a physical network connection mechanism to facilitate communication on a network such as the transport network 104 described above, and / or for direct or networked communication with one or more other local or remote entities. Thus, the network communication interface can include a wireless or wired Ethernet interface or other types of network interfaces for IP communication and / or other types of network communication.
[0107] Furthermore, the processing unit 706 may include one or more general-purpose processors (e.g., microprocessors) and / or one or more special-purpose processors (e.g., application-specific integrated circuits). The non-transitory data memory 708 may include one or more volatile and / or non-volatile storage components, such as optical memory, magnetic memory, or flash memory. Additionally, as shown, the non-transitory data storage 708 stores program instructions 712 that can be executed by the processing unit 706 to perform the various MPD operations described herein.
[0108] It should also be understood that this disclosure further contemplates a non-transitory computer-readable medium that stores, encodes thereon, or otherwise contains executable program instructions to perform such operations.
[0109] Exemplary embodiments have been described above. However, those skilled in the art will understand that changes and modifications can be made to these embodiments without departing from the actual scope and spirit of the invention.
Claims
1. A computing system for triggering the use of a first video-on-demand (VOD) service by a media presentation device (MPD), the computing system comprising: Processing unit; Non-temporary data storage; and Program instructions stored in the non-temporary data memory, which, when executed by the processing unit, are capable of performing the following operations: When the MPD is not using the first VOD service, it is detected that the MPD is in a content selection mode that presents a content selection menu for the second VOD service. At least in response to the detection, the MPD displays a prompt for user approval for displaying video content from the first VOD service, and At least in response to the user approval, the MPD is made to present video content from the first VOD service, wherein making the MPD present a prompt for user approval for the MPD to present video content from the first VOD service helps to facilitate a switch from using the second VOD service to using the first VOD service.
2. The computing system according to claim 1, wherein, The MPD not using the first VOD service includes (i) the MPD not displaying any video content from the first VOD service, and (ii) the MPD not displaying any content selection menu from the first VOD service.
3. The computing system according to claim 1, wherein, Detecting that the MPD is in a content selection mode that presents the content selection menu of the second VOD service includes: detecting that the MPD is in the content selection mode based on machine analysis of the video content presented by the MPD.
4. The computing system according to claim 3, wherein, Based on machine analysis of the video content presented by the MPD, detecting that the MPD is in a content selection mode that presents the content selection menu of the second VOD service includes: Template matching is used as a basis to detect whether the video content presented by the MPD matches the video content pre-associated with the MPD in content selection mode.
5. The computing system according to claim 1, wherein, The operation also includes: Based on Automatic Content Recognition (ACR) of content presented by one or more media presentation devices, preferences for specific content types are identified; and Based on the identification, the prompt for user approval for video content from the first VOD service used for MPD presentation is configured to be a prompt for user approval for video content of the identified content type used for MPD presentation.
6. The computing system according to claim 5, wherein, The one or more media presentation devices are the MPD.
7. The computing system according to claim 5, wherein, The MPD is associated with a user account, and the one or more media presentation devices include multiple media presentation devices associated with the user account.
8. The computing system according to claim 5, wherein, Identifying a preference for the specific content type includes: identifying a preference for the specific content type based on determining that one or more media presentation devices have presented content of the specific content type.
9. The computing system according to claim 5, wherein, Identifying a preference for the specific content type includes: identifying a preference for the specific content type based on determining that one or more media presentation devices have presented content of the specific content type at a specific time of day, and wherein configuring the prompt is also based on detection at the specific time of day.
10. The computing system according to claim 1, wherein, The computing system includes a processing unit at the MPD, wherein the operation further includes: The detection is responded to by notifying the network server of the detection. The process of causing the MPD to display the prompt includes: in response to the notification, receiving a message from the network server, and the processing unit responding to the message by causing the MPD to display the prompt.
11. The computing system according to claim 1, wherein, Presenting a prompt for user approval for the MPD to present video content from the first VOD service includes presenting a video content overlay that illustrates a message for prompting user approval for the MPD to present video content from the first VOD service.
12. The computing system according to claim 1, wherein, The MPD includes television.
13. A method for triggering the use of a first video-on-demand (VOD) service by a media presentation device (MPD), the method comprising: When the MPD is not using the first VOD service, the computing system detects that the MPD is in a content selection mode that presents a content selection menu for the second VOD service. as well as At least in response to the detection, the computing system causes the MPD to display a prompt for user approval for the MPD to display video content from the first VOD service.
14. The method according to claim 13, wherein, The MPD not using the first VOD service includes (i) the MPD not displaying any video content from the first VOD service, and (ii) the MPD not displaying any content selection menu from the first VOD service.
15. The method of claim 13, further comprising: Respond to the presented prompt to receive the user's approval; as well as At least in response to received user approval, the MPD displays video content from the first VOD service.
16. The method according to claim 13, wherein, Detecting that the MPD is in a content selection mode that presents the content selection menu of the second VOD service includes: detecting that the MPD is in a content selection mode that presents the content selection menu of the second VOD service based on machine analysis of the video content presented by the MPD.
17. A non-transitory computer-readable medium having program instructions encoded thereon, the program instructions being executable by a processing unit to perform operations for triggering a media presentation device (MPD) to use a first video-on-demand (VOD) service, the operations including: When the MPD is not using the first VOD service, it is detected that the MPD is in a content selection mode that presents a content selection menu for the second VOD service. At least in response to the detection, the MPD displays a prompt for user approval for displaying video content from the first VOD service.
18. The non-transitory computer-readable medium of claim 17, further comprising: Respond to the presented prompt to receive the user's approval; as well as At least in response to received user approval, the MPD displays video content from the first VOD service.
19. The non-transitory computer-readable medium according to claim 18, wherein, The MPD not using the first VOD service includes (i) the MPD not displaying any video content from the first VOD service, and (ii) the MPD not displaying any content selection menu from the first VOD service.
20. The non-transitory computer-readable medium according to claim 18, wherein, Detecting that the MPD is in a content selection mode that presents the content selection menu of the second VOD service includes: detecting that the MPD is in a content selection mode that presents the content selection menu of the second VOD service based on machine analysis of the video content presented by the MPD.