A traditional linear TV broadcast may be considered “dumb” in that it does not contain data streams and has no awareness of other data events happening outside the broadcast. If a TV watcher is interested in getting additional information on what the user is watching or other events, the user may manually access that information from another device. At that point, the information shows up on the other device, not on the TV screen presenting the linear TV broadcast.
A system is provided for enhancing a user experience while viewing a linear broadcast. During display of the linear broadcast, an alert notification may be generated and displayed on top of the linear broadcast. The alert overlay includes content relating to the linear broadcast and/or user preferences. The alert notification may be interactive so that a user can select a link in the alert to explore the linked content in greater detail. When a user elects to explore the linked content in greater detail, the alert may expand into a user interface chrome framed around at least a portion of the underlying linear broadcast. The chrome may have links to web content such as an IPTV video which, when selected, is displayed alongside the linear broadcast or in place of the linear broadcast. Upon completion of the user's exploration of the content, the linear broadcast may return full screen to the display.
In one example, the present technology relates to a method for enhancing a user experience with respect to a linear broadcast presented on a display, comprising: (a) receiving an indication from a computing device associated with the display that the linear broadcast is being displayed on the display; (b) identifying web content relating to at least one of the linear broadcast and a user associated with the computing device; and (c) transmitting at least one of the web content identified in said step (b), and an alert notification relating to the web content identified in said step (b), for display in an interactive display area on the display together with the linear broadcast.
In a further example, the present technology relates to a system for enhancing a user experience with respect to a linear broadcast presented on a display, comprising: a set-top box receiving the linear broadcast from a television distribution network; a computing device connected to the set-top box and associated with the display, the computing device receiving the linear broadcast from the set-top box and presenting it on the display, and the computing device receiving web content from a remote server related to at least one of the linear broadcast and user-defined preferences, the computing device including a processor executing an application for at least assisting in the identification of the linear broadcast, the computing device causing the display of the web content instead of or in addition to the linear broadcast in response to received input from a user.
In another example, the present technology relates to a computer-readable media for programming a processor to perform a method of enhancing a user experience with respect to a linear broadcast presented on a display, comprising: (a) identifying the linear broadcast being displayed on the display; (b) receiving web content from a third-party content provider; (c) transmitting for display an alert notification relating to the web content to a computing device associated with the display, the alert notification generated in response to a determination that the web content is related to at least one of the linear broadcast and user preferences; and (d) transmitting the web content to the computing device for display in response to a received interaction with the displayed alert notification.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
A system is disclosed for enhancing a linear broadcast by automatically displaying alerts over the linear broadcast relating to content determined to be of interest to the linear broadcast and/or user. The content may be related to the linear broadcast, an event in the linear broadcast, or some other event. The alert may be a deep link such that, once actioned upon, a user interface chrome is displayed around the underlying linear broadcast. The chrome may present information enhancing a user's viewing experience of the underlying linear broadcast, or may allow the user to discover other content potentially of greater interest to the user than the linear broadcast by itself.
The user interface chrome may also present a link to web content such as an IPTV video. If actioned upon, a companion window opens on the display presenting the selected content. The companion window may display split screen alongside the linear broadcast, or may be displayed full screen replacing the linear broadcast. Upon completion or termination by the user, the companion window may close and the underlying linear broadcast may return within the user interface chrome or full screen to the display.
Embodiments of the technology described below are presented in the context of sports-related linear broadcasts enhanced with alerts for accessing additional sports-related web content. However, it is understood that the present technology may be used to present a television experience with linear broadcasts and/or web content that are unrelated to sports. Such television experiences may relate in whole or in part to news and current events, entertainment, shopping, music videos, and other subject matter.
Referring to
The linear broadcast 132 and EPG 134 may be received within a set-top box 112 for presentation on a display 118 of a television or other A/V device 116. The set-top box 112 and A/V device 116 may be collocated within a location 140 such as for example a home, office, etc. (indicated by the dashed line in
Traditionally, the set-top box 112 and computing device 110 both had parallel connections to the A/V device 116. However, to aid in implementing aspects of the present technology, the linear broadcast 132 and EPG from the set-top box 112 are transmitted through the computing device 110 to the A/V device 116. In embodiments, HDMI connections may be used between the set-top box 112 the computing device 110 so that the linear broadcast 132 may be rendered as an HDMI pass-through video by the computing device 110 on the A/V device 116.
Details of an implementation of computing device 110 are provided below with respect to
The computing device 110 may be connected to the A/V device 116, which may for example be a monitor, a high-definition television (HDTV), or the like that may provide a video feed, game or application visuals and/or audio to a user 18 (
As explained below, the linear broadcast experience may be enhanced with web content received from a central service 122 and/or a third-party content provider 142. The central service 122 may include one or more servers 124 for aggregating content feeds from one or more third-party content providers 142. Aggregated content 144 may be stored in a central storage location 128 within or associated with the central service 122. As explained below, the central service 122 may not store content 144, with it instead coming directly from the one or more third-party content providers 142. In embodiments, one or more of the third-party content providers 142 may be owned, associated with or partnered with the central service 122. In further embodiments, the third-party content provider(s) 142 may be independent of the central service 122.
The central storage 128 of service 122 may further include a user records store 146. Such records include stored profiles and user preferences for one or more users. In the context of one embodiment of the present technology, user records may store sports preference information for a user, such as for example their favorite teams and players, their sports fantasy teams for fantasy sports leagues they participate in, sporting events they would like to watch and sports content they would like to receive, etc. This information may additionally or alternatively include a wide variety of other non-sports related information. A user may store this information with the central service 122 over time. It is further contemplated that the user records store 146 may be stored locally on computing device 110 instead of or in addition to the store 146 on the central service 122. The central service 122 may further include a notification service 148 for providing alert notifications to users as explained below.
In embodiments, the central service 122 and third-party content provider(s) 142 may be network connected to the remote computing device 110 via a network connection such as the Internet 150 and a communications interface 114 within the computing device 110.
In embodiments, a second computing device 120 may optionally be provided at location 140. As explained below, the second computing device 120 may be provided for interacting with a displayed user interface chrome providing access to web content over the display 118 to enhance the user's television experience. Alternatively, as explained below, the computing device 120 may provide a second display so that web content may be displayed on the second computing device while the linear broadcast is displayed on A/V device 116. The computing device 120 may be a portable computer such as a laptop, tablet, smartphone or remote control, though it may be a desktop computer in further embodiments. Details of an implementation of computing device 120 are described below with respect to
In embodiments including two computing devices such as computing devices 110 and 120, the system may be practiced in a distributed computing environment. In such embodiments, devices 110 and 120 may be linked through a communications network implemented for example by communications interfaces 114 in the computing devices 110 and 120. One such distributed computing environment may be accomplished using the Smartglass™ software application from Microsoft Corporation which allows a first computing device to act as a display, controller and/or other peripheral to a second computing device.
It is understood that other user interface schemes may be used to interact with the computing device 110.
It is understood that the functions of computing devices 110 and/or 120 may be performed by numerous other general purpose or special purpose computing system environments or configurations. Examples of other well-known computing systems, environments, and/or configurations that may be suitable for use with the system include, but are not limited to, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, distributed computing environments that include any of the above systems or devices, and the like.
A system is provided for displaying a linear broadcast video and an alert notification displayed on top of the video. The alert includes data relating to the video. The alert may be interactive so that a user can select a link in the alert to explore the linked data in greater detail. When a user elects to explore the linked data in greater detail, the alert may increase in size and/or change to a larger user interface, and the underlying video may decrease in size. Upon completion of the user's exploration of the linked data, the underlying video may return to their original relative sizes.
A flow for setting up the system of the present technology will now be explained with reference to the flowchart of
As is further explained below, it is contemplated that the present technology may operate without user record store 146 or stored user preferences. In such an embodiment, alert notifications may be generated and sent to the user based on a determined contextual relevance of the alert content to the linear broadcast 132 or a specific event or specific portion of the linear broadcast 132, without reference to user preferences.
The setup routine of
Upon completion of setup, the present system may be used for example as will now be described with reference to the flowchart of
In step 212, an alert notification application running on computing device 110 may identify the linear broadcast being displayed on the A/V device 116. This may be done a variety of ways, but in one example, the alert notification application may determine the linear broadcast from examining the data from the EPG, including for example a program identifier, the date, time and channel a user is watching. The alert notification application may alternatively or additionally identify the linear broadcast from data received from the central service 122 or other third-party website. In embodiments, the computing device 110 and a server 124 in the central service 122 may work together to identify the linear broadcast, or one or the other of computing device 110 and the server 124 may identify the linear broadcast by itself.
Once the linear broadcast identified in step 212, the alert notification application may periodically display alert notifications related to the linear broadcast or other topic in step 214. In the embodiment of
In step 224, the central service 122 ingests and stores content from one or more third party content providers 142 via the network 150. The step 224 may be periodically or continuously performed, and may occur in parallel with the steps described above and below for
If the service 122 identifies relevant information, the service 122 may further determine whether that information is contextually relevant to the user. For example, with respect to the embodiment of
If content is determined to be relevant to a user in step 226, the notification service 148 of the central service 122 generates an alert which is sent to the user via network 150. This alert is displayed to the user in step 214 of
Referring again to the flowchart of
As noted above, alerts 160 may be generated in a wide variety of contextual situations. In the example of
In step 234, an event occurs in the linear broadcast. For example, as noted above, the linear broadcast may relate to a sports competition. Some event may take place in the competition that is captured in video and depicted in the linear broadcast. This event may be a highlight of the sports competition but generic to the user, such as for example a touchdown or long run in football, a home run or double play in baseball, etc. Or the event may be specifically relevant to the user, such as for example a play involving the user's favorite football player or player on his/her fantasy football team, etc. As explained above with respect
Thus, in the above example, the alert notification application on computing device 110 may determine that a user is watching a linear broadcast, which information is transmitted to the central service 122. When the central service 122 determines that it has content on some event that is depicted in or related to the linear broadcast which is potentially of interest to the user, the notification service 148 may generate and send an alert notification 160 to the user relating to that event. The alert notification 160 may be displayed on the A/V device 116 in step 238. Thereafter, the alert notification 160 may be actioned on in step 240 at which point, additional information on the event is displayed to the user as explained below. If the alert notification 160 is not actioned on after a preset period of time, the alert may disappear as described above.
In the examples described above with respect to the flowcharts of
As one of many examples, the user may be watching a movie, when an alert notification 160 is generated and displayed letting the user know that the user's favorite team is about to start playing a game. As a further example, a user may be watching a movie or a sporting event, when an alert notification 160 is generated and displayed letting the user know that the user's favorite player has just scored a touchdown in a game not being shown in the underlying linear broadcast. In these examples, the alerts may be said to have a temporal contextual relevance (in that they relate to an event that has just occurred or is about to occur) instead of any relevance to the underlying linear broadcast.
Referring now to
The user interface chrome 164 may include a wide variety of text, graphics and images providing additional information related to the alert notification 160 that was actioned on. For example, for alerts related to a sporting competition, the chrome 164 may display a game summary, a description of one or more events from the competition, related news stories, and/or historical, statistical and biographical information. This information may come from the central service 122, which may generate and store the information on its own, or receive the information from one or more third-party content providers such as content provider 142.
The chrome 164 may further include embedded links to additional information located on remote servers (within central service 122 or other third-party content provider 142). Referring to
In step 252, a user has the option of selecting a link, such as video link 168, or closing the chrome in step 254. If the user elects to close the chrome, then the linear broadcast 132 may return full screen to the display 118 in step 256.
On the other hand, if a user selects a link such as video link 168, a companion window may open (step 260) in which the video is displayed (step 262). The video may be streamed from a third-party content provider such as provider 142, or directly from the central service 122. An example of a companion window 170 displaying a video associated with the video link 168 is shown in
The size of the companion window may vary, as defined by the user in the user records store 146 of service 122, or it may have default settings determined by the alert notification application. In the example of
Referring again to
In further embodiments, once a web video ends or is terminated, instead of closing the chrome 164, the companion window may close, but the chrome may remain displayed. Thereafter, a user may select another video link 168 in step 252 or close the chrome in step 254.
In the above example, the chrome 164 included a link 168 to a video. However, it is understood that links to a variety of different web content may be provided in text and/or graphics on the chrome 164. For example, a player's name may be displayed as an actionable link, which, when selected, displays text, images and/or video about the player in a companion window 170 as described above. As noted, the text, images and/or video may come from central service 122 or directly from a third party content provider 142. In a further example described below, selection of a link in either the alert notification 160 or chrome 164 may bring up additional information that is displayed on the second client device 120 (
In embodiments, the video may for example be identified using electronic program guide (EPG) data and metadata relating to the scheduled TV program video that the user is viewing. Alternatively, the central service 122 may keep track of the content being displayed. In such an embodiment, the central service 122 is able to identify and provide information relating to the video.
In embodiments described above, content from one or more third party content providers 142 may be stored in advance of the linear broadcast 132 being displayed. In further embodiments, once the linear broadcast is identified, the client computing device 110 or central service 122 may use the TV program ID from the EPG to query for data or data feeds relevant to the identified linear broadcast. This query may be performed in servers 124 of the central service 122 or over the World Wide Web in general such as for example in the one or more third party content providers 142. The program ID and/or keywords from the metadata associated with the program in the EPG or from the central service 122 may be used as keyword searches to identify relevant data, events and/or data feeds.
Once data, events and/or one or more data feeds (collectively referred to herein as cloud data) relevant to the linear broadcast video are identified, the client computing device 110 or central service 122 may associate the cloud data with the linear broadcast video 132. As noted above, it is contemplated that cloud data may relate to the linear broadcast video in general, or to specific events or specific portions of the linear broadcast video.
The cloud data may be monitored by the client computing device 110 or central service 122 while the linear broadcast is playing. Cloud data that is identified as being relevant to the user may trigger an alert notification 160 that is displayed on top of the linear broadcast, as shown in
As shown in
As described above, the alert notification 160 may include a link so as to be interactive. Upon a user selecting the alert notification 160, such as for example via a selection device or other interface, the alert notification 160 may be expanded into the user interface chrome 164 and provide additional information, as shown in
The expanded user interface chrome 164 shown in
In one embodiment, where a user selects a link in the chrome 164, such as for example the link 168 for supplemental web video content, that content may be played back over the linear broadcast video 132 at full-screen, such as for example as shown in
In an alternative embodiment, selection of a link in either the alert notification 160 or expanded chrome 164 may bring up additional information that is displayed on the second client device 120 (
A graphics processing unit (GPU) 508 and a video encoder/video codec (coder/decoder) 514 form a video processing pipeline for high speed and high resolution graphics processing. Data is carried from the graphics processing unit 508 to the video encoder/video codec 514 via a bus. The video processing pipeline outputs data to an A/V (audio/video) port 540 for transmission to a television or other display. A memory controller 510 is connected to the GPU 508 to facilitate processor access to various types of memory 512, such as, but not limited to, a RAM.
The multimedia console 500 includes an I/O controller 520, a system management controller 522, an audio processing unit 523, a network (or communication) interface 524, a first USB host controller 526, a second USB controller 528 and a front panel I/O subassembly 530 that are preferably implemented on a module 518. The USB controllers 526 and 528 serve as hosts for peripheral controllers 542(1)-542(2), a wireless adapter 548 (another example of a communication interface), and an external memory device 546 (e.g., flash memory, external CD/DVD ROM drive, removable media, etc. any of which may be non-volatile storage). The network interface 524 and/or wireless adapter 548 provide access to a network (e.g., the Internet, home network, etc.) and may be any of a wide variety of various wired or wireless adapter components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.
System memory 543 is provided to store application data that is loaded during the boot process. A media drive 544 is provided and may comprise a DVD/CD drive, Blu-Ray drive, hard disk drive, or other removable media drive, etc. (any of which may be non-volatile storage). The media drive 544 may be internal or external to the multimedia console 500. Application data may be accessed via the media drive 544 for execution, playback, etc. by the multimedia console 500. The media drive 544 is connected to the I/O controller 520 via a bus, such as a Serial ATA bus or other high speed connection (e.g., IEEE 1394).
The media console 500 may include a variety of computer readable media. Computer readable media can be any available tangible media that can be accessed by computer 441 and includes both volatile and nonvolatile media, removable and non-removable media. Computer readable media does not include transitory, transmitted or other modulated data signals that are not contained in a tangible media.
The system management controller 522 provides a variety of service functions related to assuring availability of the multimedia console 500. The audio processing unit 523 and an audio codec 532 form a corresponding audio processing pipeline with high fidelity and stereo processing. Audio data is carried between the audio processing unit 523 and the audio codec 532 via a communication link. The audio processing pipeline outputs data to the A/V port 540 for reproduction by an external audio user or device having audio capabilities.
The front panel I/O subassembly 530 supports the functionality of the power button 550 and the eject button 552, as well as any LEDs (light emitting diodes) or other indicators exposed on the outer surface of the multimedia console 500. A system power supply module 536 provides power to the components of the multimedia console 500. A fan 538 cools the circuitry within the multimedia console 500.
The CPU 501, GPU 508, memory controller 510, and various other components within the multimedia console 500 are interconnected via one or more buses, including serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures can include a Peripheral Component Interconnects (PCI) bus, PCI-Express bus, etc.
When the multimedia console 500 is powered on, application data may be loaded from the system memory 543 into memory 512 and/or caches 502, 504 and executed on the CPU 501. The application may present a graphical user interface that provides a consistent user experience when navigating to different media types available on the multimedia console 500. In operation, applications and/or other media contained within the media drive 544 may be launched or played from the media drive 544 to provide additional functionalities to the multimedia console 500.
The multimedia console 500 may be operated as a standalone system by simply connecting the system to a television or other display. In this standalone mode, the multimedia console 500 allows one or more users to interact with the system, watch movies, or listen to music. However, with the integration of broadband connectivity made available through the network interface 524 or the wireless adapter 548, the multimedia console 500 may further be operated as a participant in a larger network community. Additionally, multimedia console 500 can communicate with processing unit 4 via wireless adaptor 548.
When the multimedia console 500 is powered ON, a set amount of hardware resources are reserved for system use by the multimedia console operating system. These resources may include a reservation of memory, CPU and GPU cycle, networking bandwidth, etc. Because these resources are reserved at system boot time, the reserved resources do not exist from the application's view. In particular, the memory reservation preferably is large enough to contain the launch kernel, concurrent system applications and drivers. The CPU reservation is preferably constant such that if the reserved CPU usage is not used by the system applications, an idle thread will consume any unused cycles.
With regard to the GPU reservation, lightweight messages generated by the system applications (e.g., pop ups) are displayed by using a GPU interrupt to schedule code to render popup into an overlay. The amount of memory used for an overlay depends on the overlay area size and the overlay preferably scales with screen resolution. Where a full user interface is used by the concurrent system application, it is preferable to use a resolution independent of application resolution. A scaler may be used to set this resolution such that the need to change frequency and cause a TV resync is eliminated.
After multimedia console 500 boots and system resources are reserved, concurrent system applications execute to provide system functionalities. The system functionalities are encapsulated in a set of system applications that execute within the reserved system resources described above. The operating system kernel identifies threads that are system application threads versus gaming application threads. The system applications are preferably scheduled to run on the CPU 501 at predetermined times and intervals in order to provide a consistent system resource view to the application. The scheduling is to minimize cache disruption for the gaming application running on the console.
When a concurrent system application uses audio, audio processing is scheduled asynchronously to the gaming application due to time sensitivity. A multimedia console application manager (described below) controls the gaming application audio level (e.g., mute, attenuate) when system applications are active.
Optional input devices (e.g., controllers 542(1) and 542(2)) are shared by gaming applications and system applications. The input devices are not reserved resources, but are to be switched between system applications and the gaming application such that each will have a focus of the device. The application manager preferably controls the switching of input stream, without knowing the gaming application's knowledge and a driver maintains state information regarding focus switches. Capture device 320 may define additional input devices for the console 500 via USB controller 526 or other interface. In other embodiments, computing system 312 can be implemented using other hardware architectures. No one hardware architecture is required.
Using the present technology, an essentially “dumb” linear broadcast (dumb in that it has no associated data) may be used to enhance a user's viewing experience by automatically providing additional information that may be relevant to the linear broadcast and/or user. Aspects of the current technology include:
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. It is intended that the scope of the invention be defined by the claims appended hereto.
This application claims priority to U.S. Provisional Patent Application No. 61/816,689, filed Apr. 26, 2013, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61816689 | Apr 2013 | US |