SYSTEMS AND METHODS FOR CREATING CUSTOM VIDEO MOSAIC PAGES. WITH LOCAL CONTENT
Background of the Invention
[0001] This invention relates generally to media systems and, more particularly, to media systems supporting custom video mosaic pages . [0002] Video mosaic pages allow users to access services and video assets from video-rich menu screens in an interactive application, such as an interactive media guidance application. These video-rich menu screens may present a plurality of video assets (e.g., broadcast television channels or on-demand content) each in its own video window, or cell, on a single page.
[0003] Video mosaic pages are typically remotely- generated at a distribution facility or central facility. At the distribution facility or central facility, the video assets in the mosaic page are composited into a single video feed before being transmitted to the user equipment device. The multi- video feed may be transmitted as a composite stream
(e.g., MPEG-2 stream) to a number of user equipment devices. For example, the composite stream may be transmitted to user equipment devices over a digital television channel. After the stream is received by the user equipment devices, a local video mosaic client may overlay graphics, icons, and text onto the display to create custom video mosaic pages. For example, one implementation of a video mosaic system for providing video mosaic pages called "Video-Rich Navigation" (VRN) is described in U.S. Patent Application Serial No. 11/395,380, filed March 30, 2006, which is hereby incorporated by reference herein in its entirety. [0004] Although video mosaic pages provide a more user-friendly way to present video assets to viewers, the pages may be limited in several respects. For example, because video mosaic pages are typically remotely-generated, there is very little flexibility for users to personalize the look and feel of the page. The remotely-generated nature of these pages also prevents dynamic page creation and customization, for example, at the viewer's user equipment. [0005] In addition, typical video mosaic pages are limited in the type of content that is available for display in the pages. Because the pages are typically remotely-generated, local content, such as content stored on a digital video recorder (DVR) , gaming device, or other suitable local storage device, are generally not available for use in video mosaic pages. [0006] Accordingly, it would be desirable to provide systems and methods for dynamic video mosaic page creation and display. The video mosaic pages may combine local content with broadcast, multicast, switched digital video, and on-demand assets in a
single interactive display. It would also be desirable to provide video mosaic pages capable of being automatically customized based on user behavior and user preferences.
Summary of the Invention
[0007] In accordance with the principles of the present invention, a VRN client is implemented on a user equipment device. The VRN client supports the generation of video mosaic pages from various video asset sources. These asset sources may include linear content sources (e.g., broadcast television sources), non-linear content sources (e.g., on-demand and Internet sources), and local sources (e.g., recorded content, local gaming content, and content stored in memory) .
[0008] The VRN client may create or present locally- generated and remotely-generated video mosaic pages or a combination of locally and remotely-generated video mosaics. The video sources in remotely-generated pages may be composited remote from the user equipment device into a single video feed. In this type of arrangement, screen data may be transmitted to the user equipment device, either in-band or out-of-band, that identifies the video sources in the mosaic page as well as any other information necessary to successfully display the page. Suitable information necessary to successfully display the page may include, for example, action data that defines the behavior and response to a viewer selection of a cell (or group of cells) in the mosaic page, graphics, on-screen text, advertisements, and any
other elements that are to be displayed with or on the mosaic page.
[0009] The screen data may also include one or more placeholder cell definitions. The placeholder cell definitions may include information relating to one or more cells of the video mosaic page that do not correspond to video in the transmitted composite multi- video feed. Thus, the remotely-generated multi-video feeds in accordance with the invention may have one or more "blank" areas corresponding to placeholder cell locations. The video assets presented in the placeholder cells may be identified and selected dynamically at the user equipment by the VRN client. These video assets may include local content. For example, recorded content, local gaming content, and videophone messages may be presented in the placeholder cells. The selection of video assets for presentation in the placeholder cells may be based on active user monitoring, direct interaction from a user, user preferences, or any other suitable user-derived or user-generated data.
[0010] For example, placeholder cell definitions in the received screen data may include local function calls that are executed automatically as the screen data is received by the user equipment device. The local function calls may return suitable identifying information about local assets to be displayed in one or more placeholder cells of the mosaic page. This identifying information may include, for example, local file system paths for text, advertisements, and video assets to be presented in the placeholder cells or elsewhere on the mosaic page.
[0011] After receiving the screen data, the VRN client may determine the size and location of any placeholder cells (e.g., x and y coordinates) in the video mosaic page. The VRN client may then overlay suitable content, including local content, at the appropriate positions corresponding to the placeholder cells. In this way, VRN pages with one or more video assets selected at the user equipment device may be presented to the user. [0012] Mosaic pages in accordance with the present invention may also be completely locally-generated, if desired. The video sources included in the locally- generated pages may be composited at the user equipment device that the page is to be displayed on. Local assets may populate some or all of the cells of the locally-generated mosaic page. The remaining cells may be populated with on-demand content, broadcast television content, or any other video content accessible by the user equipment. [0013] In order to overlay a local video asset on a video mosaic page or create locally-generated pages, in some embodiments, a local MPEG (or other suitable video standard) compositing system may extract selected portions of local content for use in the video mosaic page. The extracted portion or portions may be saved to the user equipment device as a continuous or looping video file. The portions selected for extraction may be determined, for example, by a scene selection algorithm that identifies scene changes within a video asset. In some embodiments, the scene selection algorithm may also analyze user viewing behavior or user preferences to determine which portions of the local content to extract for use in the video mosaic
page. For example, if a certain portion of a local video asset (e.g., the user's favorite scene) is watched more frequently then other portions, this portion may be selected by the scene selection algorithm for extraction.
[0014] In some embodiments, appropriate content for looping may be identified in advance by the content provider and communicated to the user equipment device by a sideband signal or markings within the video, or the location of looping content within an asset may be known in advance by a standard established for locating looping content by the system operator (e.g., looping content may always be placed in the last minute of a program) . [0015] In some embodiments, the VRN client is configured to generate and display various custom video mosaic pages. These custom pages may be populated, for example, with the user's most frequently watched broadcast programs, on-demand content, and recorded content. In some embodiments, videophone messages received for the user may also populate one or more cells of the custom mosaic pages.
[0016] In some embodiments, video mosaic pages may be dynamically customized on-the-fly based on such factors as, for example, active user monitoring, user behavior, and user preference information. The VRN client (or some other application) may monitor all user interaction with the user equipment device. The application may then log this user interaction information to the user equipment device and build a profile for each user accessing the user equipment device. From the profile data, the VRN client may select particular video assets, such as assets the user
has recently watched, accessed, or recorded, assets that the user has bookmarked (e.g., VOD assets), assets that the user might like (based on, e.g., frequently accessed genre categories) , video messages that have been received but not yet displayed, or any other suitable video assets, for display in a custom video mosaic page .
[0017] In multi-room DVR systems, a local VRN page may display portions of content that are stored on a user equipment device other than the local user equipment device. Selection of such content may be made on a user basis. For example, a user may have logged into different devices (e.g., a set-top in the living room and one in the bedroom) and started watching different content in each context. Upon accessing (e.g., logging in) to either device, a custom "In progress for this user" VRN page may pull content from both devices and composite the content into a locally-generated VRN page that is displayed upon the local device.
[0018] In some embodiments, compositing is done remote from the user equipment device that ultimately displays the VRN content, but the composited result includes content sourced from the local user equipment device. For example, consider a user that is local to a mid-range user equipment device that supports DVR, remote streaming, but not local compositing. However, within the home or within the network, there exists another high-end user equipment device that supports DVR, remote streaming, and local compositing, or there exists a compositing-only engine on the network. As such, some embodiments may involve providing at least part of the content to be composited into a VRN page
from the device that ultimately displays the composited VRN result.
Brief Description of the Drawings [0019] The above and other features of the present invention, its nature and various advantages will be more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which: [0020] FIG. 1 is a simplified diagram of an illustrative interactive video mosaic media system architecture in accordance with one embodiment of the invention;
[0021] FIG. 2 is a simplified diagram of illustrative network and local content sources for use in video mosaic page composition in accordance with one embodiment of the invention;
[0022] FIG. 3 is an illustrative generic display screen showing a number of video windows, or cells, of a video mosaic page in accordance with one embodiment of the invention;
[0023] FIG. 4 is an illustrative display screen showing a "what's hot" video mosaic homepage in accordance with one embodiment of the invention; [0024] FIG. 5 is an illustrative display screen showing a "what's hot on-demand" video mosaic homepage in accordance with one embodiment of the invention; [0021] FIG. 6 is an illustrative display screen showing a "what's hot in my DVR" video mosaic homepage in accordance with one embodiment of the invention; [0022] FIG. 7 is an illustrative display screen showing a "what's hot that I might like" video mosaic
homepage in accordance with one embodiment of the invention;
[0025] FIG. 8A and 8B shows illustrative mark-up language files including cell definition tags in accordance with one embodiment of the invention;
[0026] FIG. 9 shows a simplified illustrative process for displaying locally-generated or remotely- generated video mosaic pages in accordance with one embodiment of the invention; [0027] FIG. 10 shows a simplified illustrative process for populating video mosaic cells with extracted portions of local content in accordance with one embodiment of the present invention; and
[0028] FIG. 11 shows a simplified illustrative process for monitoring user behavior and displaying custom video mosaic pages in accordance with one embodiment of the present invention.
Detailed Description of the Invention [0029] The systems and methods described herein are directed toward providing custom video mosaic pages . Although the term "video-rich navigation" or "VRN" is sometimes used herein when referring to the mosaic pages, system elements (e.g., the VRN client), and the mosaic environment, the present invention is compatible with any video mosaic environment. The VRN environment is just one example of a suitable implementation of a video mosaic environment, which is described in more detail in U.S. Patent Application Serial No. 11/395,380.
[0030] As described in more detail below, these custom mosaic pages may display various types of video
assets, including locally-recorded assets, in one or more video windows, or cells, of the mosaic page. In addition to full-motion video and associated audio, these cells may also include still images, text, icons, logos, advertising, or any combination of these (or any other suitable) elements. The particular video assets included in the cells of the custom mosaic pages may be selected based on a number of criteria, such as active user monitoring and user preferences. In this way, the video mosaic pages of the present invention may provide a more personalized look and feel with significant relevance to the user.
[0031] FIG. 1 shows illustrative media system 100 for providing custom video mosaic pages . Central facility 10 may include content source 12, VRN screen data source 14, and distribution equipment 16. Content source 12 may include any equipment suitable for producing or generating VRN pages or screens including MPEG-4 based compositing technologies and may receive content over any suitable network (e.g., a Gigabit Ethernet network) . The video content from content source 12 may be in analog or digital form. In other embodiments, content source 12 may be in a facility other than central facility 10, and may also provide content for distribution of regular television channels (e.g., broadcast programming and VOD content) . [0032] VRN screen data source 14 may be any equipment suitable for generating VRN screen data. For example, VRN screen data source 14 may be a personal- computer (PC) based system or a workstation. User interface 18 may be any suitable interface, such as a Windows-based or Unix-based graphic user interface (GUI) , which allows, for example, an operator to define
VRN definitional files and synchronize the VRN screen data of the definitional files with content from content source 12. The user interface may allow an operator to, for example, specify transitions between distinct configuration specifications for selectable items in synchronization with video content. The user interface may also allow an operator to define control data which controls, inter alia, the appearance, functionality, and interactivity of the screen elements, as well as the content or asset displayed in a screen element .
[0033] The screen data may also include local functions calls to be executed on user equipment 30 (by either VRN client 31 or control circuitry 32) . The local function calls may be inserted into the screen data by central facility 10 or distribution facility 20. The local function calls may return suitable data values, such as the local path to recording device 36 or other local storage within user equipment 30, an identification of local content to be included in a music page, or any other suitable information. In some embodiments, the local functions are part of an application program interface (API) used to interface with VRN client 31. VRN client 31 may automatically execute any local function calls embedded in the screen data immediately after receiving the screen data, or the instructions and function calls may be executed at some later time (e.g., when a user attempts to access or display the mosaic page) . FIG. 8, described below, shows illustrative mark-up language tags used to transmit local function calls within the screen data in some embodiments .
[0034] Compiler 20, which may include any suitable combination of hardware and software, may compile or translate the VRN screen data of the definitional files into another format, such as binary, XML, or HTML format. In some embodiments, input from user interface 18 may be used to directly generate the screen data without need for compiler 20.
[0035] Distribution equipment 16 may be any suitable equipment for distributing VRN pages from content source 12 and VRN screen data from VRN screen data source 14 over communications path 19 to distribution facility 20, and further over communication path 28 for distribution to user equipment 30. Central facility 10 may distribute the VRN pages and screen data to multiple distribution facilities 20, but only one has been shown to avoid over-complicating the drawing. In other embodiments, central facility 10 may distribute the VRN pages and screen data to users at user equipment 30 directly. Distribution equipment 16 may distribute the VRN screens and VRN screen data in any suitable analog or digital format and over any suitable communications path (e.g., satellite or terrestrial broadcast or the Internet) . VRN screen data may be distributed in-band or out-of-band with respect to the VRN pages. The screen data may also be sent synchronously with the VRN pages or asynchronousIy. For example, screen data, VRN pages, or both, may be sent at times of reduced network utilization. [0036] Distribution facility 20 may be any facility (e.g., a cable headend) suitable for receiving the VRN screens and screen data and distributing the screens and screen data to user equipment 30. There may be multiple users at multiple instances of user equipment
30, but only one instance of user equipment has been shown to avoid over-complicating the drawing. Distribution facility 20 may include local insertion equipment 22 and content source 24 for allowing a local operator to insert content and data into the VRN screens or VRN screen data, respectively, and compile VRN screen data into binary format for transmission (if required) . Local insertion equipment 22 may run, for example, a local version of user interface 18 and compiler 20.
[0037] Distribution equipment 26 may distribute the VRN pages and VRN screen data in any suitable analog or digital format and over any suitable communications path to user equipment 30 (e.g., broadcast, cable, or the Internet.). The communication paths 19, 49, and 28 may include, for example, a satellite path, a fiberoptic path, a cable path, an Internet path, or any other suitable wired or wireless path. For example, VRN pages may be provided as MPEG-2 or MPEG-4 feeds. Distribution equipment 26 may provide each VRN page
(and the VRN screen data) as a tunable analog or digital channel, or as a VOD stream (both of which are referred to herein as VRN channels) . The VRN channels provide the users of user equipment 30 with a set of interactive features that make up a VRN application.
[0038] In some embodiments, distribution facility 20 may provide the VRN channel full-time over a given analog or digital channel. Alternatively, distribution facility 20 may provide VRN channels on-demand or during specific time intervals or using switched digital video technology.
[0039] Distribution facility 20 may provide one or more VRN applications to user equipment 30. A VRN
application may include one or more VRN pages, buttons, and associated functionality. For example, FIG. 4, described in more detail below, shows a homepage display screen associated with an illustrative VRN "what's hot" application.
[0040] User equipment 30 may include any equipment suitable for providing an interactive media experience and for implementing the VRN applications provided by distribution facility 20. User equipment 30 may include television equipment such as a television, set- top box, recording device, video player, user input device (e.g., remote control, keyboard, mouse, touch pad, touch screen, or voice recognition interface) , or any other device suitable for providing an interactive multimedia experience. For example, user equipment 30 may include a DCT 2000, 2500, 5100, 6208 or 6412 set- top box provided by Motorola, Inc. In some embodiments, user equipment 30 may include computer equipment, such as a personal computer with a television card (PCTV) . In some embodiments, user equipment 30 may include a gaming system, a portable electronic device, such as a portable DVD player, a portable gaming device, a cellular telephone, a video phone, a PDA, a music player (e.g., MP3 player), or any other suitable portable or fixed device.
[0041] In the example of FIG. 1, user equipment 30 includes control circuitry 32, display device 34, recording device 36, user input device 38, and VRN client 31, all of which may be implemented as separate devices or as a single device. VRN client 31 may be implemented on user equipment 30 to receive, execute, and support VRN applications .
[0042] Control circuitry 32 is adapted to receive user input from input device 38 and execute the instructions of VRN client 31 and any other interactive applications running on user equipment 30. Control circuitry 32 may include one or more tuners (e.g., analog or digital tuners), decoders (e.g., MPEG decoders), processors (e.g., Motorola 68000 family processors), memory (i.e., RAM and hard disks), communications circuitry (e.g., cable modem circuitry), input/output circuitry (e.g., graphics circuitry), connections to the various devices of user equipment 30, and any other suitable component for providing analog or digital media programming and interactive media features. In one embodiment, control circuitry 32 may be included as part of one of the devices of user equipment 30 such as, for example, part of recording device 36, display device 34, or any other suitable device (e.g., a set-top box, television, or video player) . [0043] Display device 34 may include any suitable device such as, for example, a television monitor, an LCD screen, a computer monitor, or a display incorporated in user equipment 30 (e.g., a cellular telephone display or music player display) . Display device 34 may also be configured to provide for the output of audio and/or other sensory output (e.g., a holographic projector or virtual reality simulator). [0044] Recording device 36 may be a personal video recorder (PVR) , digital video recorder (DVR) , video cassette recorder (VCR) , DVD-recorder, gaming device, digital audio library, or any other suitable recording device. Recording device 36 may include one or more tuners. In addition to storing programming assets,
recording device 36 may also store video messages received by an attached or integrated video phone. [0045] VRN client 31 may be implemented on user equipment 30 as a stand alone application or part of another interactive application, such as an interactive media guidance application (IMGA) or interactive program guide (IPG) . One or more of the interactive applications may receive interactive application data from application data source 40. As shown in FIG. 1, the data may be received via distribution facility 20 over communication path 49. Alternatively, the data may be received by user equipment 30 from application data source 40 over a direct communication path (not shown) . Application data source 40 may also be part of central facility 10 or distribution facility 20. In some embodiments, the interactive application data may include elements that are referenced in the VRN screen data for inclusion in the VRN application such as graphics, text, logos, advertising, and the like. VRN templates, for example, may be provided as part of interactive television application data. [0046] Homepages (and other VRN screens or pages) delivered to user equipment 30 may include a number of interactive elements . Interactive elements may be highlighted, selected, or both. If the user navigates to a specific interactive element (e.g., by using the arrow keys on a remote control device) , the interactive element may be visually highlighted in some fashion (e.g., a colored border may appear around the element) . If the user selects a highlighted interactive element (e.g., by pressing the "OK" button on a remote control device) , the system may display a specific tunable channel, VOD asset, VOD screen, recorded asset (e.g., a
video message or some other programming recorded or stored on recording device 36) , or another interactive application screen, based on selection behavior specified for the interactive element in the VRN screen data.
[0047] Although, in the illustrated embodiment of FIG. 1, VRN client 31 is internal to user equipment 30, VRN client 31 may be implemented externally or partially implemented externally to user equipment 30. For example, VRN client 31 may be implemented at central facility 10 or distribution facility 20 and may run using a client-server or distributed architecture where some of the application is implemented locally on user equipment 30 in the form of a client process and some of the application is implemented at a remote location in the form of a server process. VRN client 31 may also be implemented completely on any suitable server, computer equipment, or set-top box accessible by user equipment 30. [0048] FIG. 2 shows illustrative media system 200 with available content sources for use in the VRN pages of the present invention. Remote facility 202 may exist at a cable system headend or a remote MSO facility responsible for creating custom VRN pages and delivering these pages to user equipment 30. In some embodiments, remote facility 202 is the same facility as central facility 10 or distribution facility 20 (both of FIG. 1) . [0049] Remote facility 202 may include VRN compositing server 204. VRN compositing server 204 may combine one or more video assets from linear content sources 208 and non-linear content sources 206 into a single display or VRN page. After generating the
appropriate screen data, the page may then be transmitted to user equipment 30. VRN compositing server 204 may include MPEG decoding, MPEG encoding, and MPEG transcoding circuitry. Additionally or alternatively, VRN compositing server 204 may communicate with remote devices that perform any of the aforementioned compositing, encoding, decoding, or transcoding functions.
[0050] Linear content sources 208 may include any content sources containing video assets transmitted or broadcast on a schedule. The video assets available from linear content sources 208 may include, for example, broadcast television programming, switched digital television, and pay-per-view programming. Non- linear content sources 206 may include any content sources containing video assets not transmitted or broadcast on a schedule. Example of non- linear content sources include Internet content and on-demand programming. VRN compositing server 204 may use content from one or both of linear content sources 208 and non-linear content sources 206 in compositing video assets to create a VRN page. For example, one cell in a VRN page may display a video from an Internet website, another cell in the same VRN page may display broadcast television content, while still another cell may display on-demand programming.
[0051] In addition to compositing video assets from linear content sources 208 and non-linear content sources 206, VRN compositing server 204 may also designate one or more cells in a VRN page as a placeholder cell. These placeholder cells may correspond to blank cells without a corresponding video asset presented in the cell location. Appropriate
video may then be overlaid in the placeholder cell locations at user equipment 30. For example, user equipment 30 may include MPEG compositing system 218, which may include MPEG encoding, decoding, and transcoding circuitry. MPEG compositing system may extract video from DVR 220, gaming device 222, or memory 224 for use in populating placeholder VRN cells or locally-generated VRN pages. The extracted video may be a continuous or looping video segment from one or more video assets stored on these devices. If generating a locally-generated page, MPEG compositing system 218 may then create a composite feed with a plurality of video assets, including the video extracted from local assets, for use in a VRN page. [0052] For example, DVR 220 may include hours of stored broadcast, on-demand, and pay-per-view programming. MPEG compositing system 218 may extract video segments from selected assets stored on DVR 220 and store these extracted segments back on DVR 220 or some other storage device (e.g., memory 224) . These extracted segments of continuous or looping video may be overlaid on one or more cells of a VRN page, such as the pages shown in FIGS. 4-7, which are described in more detail below. [0053] Similarly, MPEG compositing system 218 may also extract segments of video from gaming device 222 and from memory 224. Gaming device 222 may include a plurality of interactive games stored on CD-ROM, cartridge, DVD, or any other suitable storage mechanism. MPEG compositing system 218 may extract video from gaming device 222 and store the video on DVR 220 or in memory 224. Memory 224 may include any suitable memory or storage device, including hard
drives, tape devices, optical drives, flash memory, RAM, ROM, and hybrid types of memory. The video extracted from gaming device 222 may also be overlaid on one or more cells of a VRN page, such as the pages shown in FIGS. 4-7.
[0054] In certain systems used to create VRN pages, multiple videos are resized and composited in a grid configuration and then the entire grid of video is recompressed to create one video stream (e.g., a video elementary stream in MPEG-2 parlance) which is carried in one video pipe (a digital channel or single service multiplex in MPEG-2 parlance) corresponding to approximately 3 Mbps of data bandwidth. Alternatively or additionally, headend systems may take multiple videos, create a single video stream for each of the multiple videos and then multiplex the multiple video streams into a single transport multiplex (e.g., a multiple service transport multiplex in MPEG-2 parlance, corresponding to, for example, one 6 MHz band in North American cable systems) . In this configuration, each of the elementary stream videos requires approximately 3 Mbps of bandwidth, and a typical 10 video multiplex may occupy 30 Mbps. Also in this configuration, one or more of these roughly 3 Mbps multiplexed videos may be composited videos as described above. The latter multiplexing may be done not for the purposes of mosaic presentation, but rather as a means of packing multiple videos into a single band of frequency corresponding to a 64 or 256 QAM modulator. However, one embodiment of the present invention uses the multiplexing capability of MPEG-2 (or any multiplexing transport such as Internet protocol (IP) or ATM) to flexibly bundle the videos
corresponding to the remotely supplied video elements of a VRN page but with the recognition that the bundled videos will be composited together in the user equipment device. Thus, the spatial resolution and size may be adjusted accordingly at the headend before multiplexing the videos. Each adjusted video will thus take less bandwidth to send than its corresponding full resolution source video (e.g., less than 80%), but by not compositing these adjusted videos in the headend, this approach allows flexibility in the user equipment device for compositing while also saving bandwidth. The multiplexed videos may then be demultiplexed and optionally decompressed at the user equipment device. [0055] In some embodiments, additional local video assets may be available for display in one or more cells of a VRN page. For example, video messages stored in memory 224, DVR 220, or an attached or integrated videophone may populate cells of a VRN page. MPEG compositing system 218 may encode these video assets into a suitable MPEG (e.g., MPEG-2 or MPEG-4) format for presentation on a VRN page, if required. [0056] In a typical usage scenario, a multi-video feed is composited (at least partially) by VRN compositing server 204 at remote facility 202. As described above, the composited feed may include a plurality of video assets, each positioned in a cell location. Certain cell locations, such as those corresponding to placeholder cells may have no associated video when the feed is composited. The video assets for these cells may be selected and overlaid by VRN client 31. After the user equipment device receives the VRN feed, VRN client 31 may process the transmission and prepare the page for display. In
the process of preparing the page for display, VRN client 31 may analyze the cell definitions contained in the screen data (which may be transmitted with the VRN page or over a separate channel) . VRN client 31 may then instruct control circuitry 214 to execute any local functions that may be referenced within the screen data. In executing the local functions, control circuitry 32 may access (or cause MPEG compositing system 218 to access) one or more video segments from DVR 220, gaming device 222, and/or memory 224. After all the video sources for the VRN page are located, VRN client 31 may display the VRN page with local assets overlaid on the page in one or more cell locations. In this way, the cells of the VRN page may be populated with assets from various sources, including local sources .
[0057] In lieu of receiving the VRN page from remote facility 202, VRN pages may also be entirely or partially locally-generated in accordance with the present invention. Locally-generated pages may be fully composited at user equipment 30 in some embodiments. To composite a page locally, MPEG compositing system 218 may create a composited multi- video interactive page. The video sources used in the composited multi-video interactive page may include any sources accessible by user equipment 30, including local content, content from linear sources 208, and content from non-linear sources 206. This provides a more flexible alternative to remotely-generated pages. [0058] In some cases, the difference between compositing a VRN page locally and remotely may be significant. For example, a VRN page with few or no local assets may be more efficiently composited at
remote facility 202, while pages with more local assets may benefit from local composition. In addition, at least partial local composition allows for dynamic VRN page creation and customization based on active user monitoring, user behavior, and user preferences, as described in more detail below.
[0059] FIG. 3 shows illustrative generic video mosaic display screen 300. In the example of FIG. 3, screen 300 contains eight numbered cells, or windows. Each of these eight cells may be populated with a different video asset or channel. For example, cell 302 may include full-motion video from channel "225 Cinemax" while cell 303 may contain promotional advertising for new VOD movie releases. Each of the cells in display 300 may be individually selected using input device 38 (FIG. 1) . For example, the user may highlight a cell in display 300 using the arrow or cursor keys on a remote control . In the example of FIG. 3, cell 303 is currently highlighted, as shown by the darkened border around the cell. One or more cells may be simultaneously selected, if desired. For example, upon pressing an "OK" key on input device 38 (FIG. 1) , the selected status of a cell may toggle on and off. The user may then select one or more additional cells in the same manner.
[0060] In some embodiments, a selected subset of cells can be used to form a new custom VRN page. For example, in such embodiments, a user may select cells 302 and 303 from FIG. 3 and then enter a "create custom VRN page" command (e.g., by selecting such a command from an on-screen menu or option button) . Other combinations of cell selection as well as selection of cells from a combination of other different custom or
system standard VRN screens and/or grid- listed assets are also possible.
[0061] The number, location, size, and shape of the cells in display 300 may be altered without departing from the spirit of the invention. As described above, screen data may be used to define the elements in a VRN page. This data may define more or fewer than eight cells and cells of different sizes, positions, and shapes than those shown in FIG. 3. [0062] VRN display screen 300 may also include one or more of vertical option buttons 304 and horizontal option buttons 306. These buttons may link screen 300 to other VRN screens, the main interactive media guidance application screen, or perform any suitable functionality. For example, one button may select all the numbered cells in screen 300, while another button may deselect all the numbered cells in screen 300. [0063] The cells in VRN display screen 300 may be populated with content from similar sources or mixed- mode sources. For example, one cell may contain broadcast television content, while another cell may contain on-demand content. Still another cell may contain local DVR content. The sources of the cells in VRN display screen 300 may be determined by the creator of the VRN page. For example cells 1, 2, 3, and 4 may display video assets that were composited into a multi- video feed remote from the user equipment . The remaining cells (i.e., cells 5, 6, 7, and 8) may be placeholder cells, which are overlaid with video assets at the user equipment device. In some embodiments, the placeholder cells may be overlaid with local content) such as locally-recorded content.
[0064] FIGS. 4-7 show illustrative VRN homepages 400 (FIG. 4), 500 (FIG. 5), 600 (FIG. 6), and 700 (FIG. 7). Each of these homepages may be remotely-generated or locally-generated. In some embodiments, VRN pages displaying one or more local assets, such as video loops of content recorded on DVR 220 (FIG. 2) , may be locally-generated. Each of homepages 400 (FIG. 4) , 500 (FIG. 5), 600 (FIG. 6), and 700 (FIG. 7) may be accessible through a particular digital television channel. Any of the video cells in the homepages of FIGS. 4-7 may be individually selected using input device 38 (FIG. 1) . After selecting a cell, one or more screens of additional information about the asset currently being presented in the selected cell may be displayed. Additionally or alternatively, after selecting any cell in the homepages of FIGS. 4-7, the asset currently being presented in the selected cell may be automatically accessed and presented in fullscreen mode. For example, a digital television channel may be tuned, local content may be accessed, or a request for an on-demand asset may be transmitted by the user equipment in response to the user selection of a video cell. [0065] Although homepages 400 (FIG. 4) , 500 (FIG. 5) , 600 (FIG. 6) , and 700 (FIG. 7) show a number of video cells (including main cells and thumbnail cells) , the number, size, and position of these cells may be altered without departing from the spirit of the invention. [0066] FIG. 4 shows illustrative "what's hot" VRN homepage 400 in accordance with one embodiment of the invention. A user may be presented with homepage 400 after selecting an appropriate button on input device
38 (FIG. 1) . For example, a "Home Page" button may- provide direct access to homepage 400. In some embodiments, homepage 400 may be optionally locked, requiring a valid parental control access code input in order to view the page. Homepage 400 may include main cell 406, thumbnail cells 402, 403, 404, and 405, PIP window 416, and option buttons 407. Main cell 406 and thumbnail cells 402, 403, 404, and 405 may both be VRN cells, capable of displaying full-motion video. In some embodiments, main cell 406 is approximately four times larger in size than thumbnail cells 402, 403, 404, and 405.
[0067] In the depicted embodiment, thumbnail cells 402, 403, 404, and 405 present video assets from various local and remote sources. For example, thumbnail cell 402 may present a home video recorded to a local recording device, such as DVR 220 (FIG. 2) . Thumbnail cell 403 may present, for example, an Internet video clip. Thumbnail cell 404 may present, for example, a broadcast television sporting event, and thumbnail cell 405 may present, for example, an on- demand cartoon.
[0068] The selection of video assets to display in thumbnail cells 402, 403, 404, and 405 may be based on a number of criteria. For example, the cells may contain the video assets most recently or most frequently accessed by a user of user equipment 30 (FIG. 2) . The cells may also contain the video assets most recently or most frequently accessed by all users of media system 100 (FIG. 1) . In some embodiments, VRN client 31 may maintain a listing or database table (not shown) of "hot content," including an identification of local assets (such as recorded programming) , broadcast
programming, on-demand assets, and Internet assets. The listing of hot content may be specific to a single user of user equipment 30, a group of users of user equipment 30, or a group of user equipment devices in media system 100 (FIG. 1) . The assets listed in the listing or table of hot content may include featured assets selected by the MSO or service provider, assets meeting a certain threshold criteria (e.g., assets recently accessed by the user within a certain period of time, assets accessed a certain number of times, or any other suitable criteria) , or any combination of the aforementioned assets. The listing or table may be transmitted from central facility 10 (FIG. 1) or distribution facility 20 (FIG. 1) in some embodiments. VRN client 31 may access the listing or record of hot content to determine what content should be presented in thumbnail cells 402, 403, 404, and 405. [0069] If the video feed corresponding to homepage 400 is remotely-generated (i.e., composited remote from the user equipment) , some of the video assets presented on the page may be overlaid at the user equipment . For example, if cell 404 corresponds to a locally-recorded content accessible from DVR 220 (FIG. 2) , then this video asset may be overlaid in the appropriate location for cell 404. From the user's point of view, whether the page is remotely-generated or locally-generated may be completely transparent to the user. [0070] Option buttons 407 may provide for single- selection access to a variety of commonly-used features. For example, option button 408 may link the user to an interactive media guidance application. Option button 410 may link the user to an on-demand listings screen or VRN page, such as homepage 500
(FIG. 5) . Option button 412 may link the user to a DVR listings screen or VRN page, such as homepage 600 (FIG. 6) . Option button 414 may link the user to a favorites listings screen or VRN page, such as homepage 700 (FIG. 7) .
[0071] FIG. 5 shows illustrative "what's hot on- demand" VRN homepage 500. Homepage 500 may be similar to homepage 400 of FIG. 4 and may include main cell 506, thumbnail cells 502, 503, 504, and 505, and option buttons 507. Unlike thumbnail cells 402, 403, 404, and 405 (FIG. 4) , which may display content from a variety of different sources, thumbnail cells 502, 503, 504, and 505 may display on-demand assets only. In some embodiments, the assets displayed in thumbnail cells 502, 503, 504, and 505 may be selected by the MSO or service provider. For example, the newest or most popular on-demand releases may be displayed in thumbnail cells 502, 503, 504, and 505. In other embodiments, thumbnail cells 502, 503, 504, and 505 may display on-demand content recently accessed by, or currently bookmarked on, user equipment 30 (FIG. 1) . [0072] FIG. 6 shows illustrative "what's hot in my DVR" VRN homepage 600. Homepage 500 may be similar to homepage 400 of FIG. 4 and may include main cell 606, thumbnail cells 602, 603, 604, and 605, and option buttons 607. Unlike thumbnail cells 402, 403, 404, and 405 (FIG. 4) , which may display content from a variety of different sources, thumbnail cells 602, 603, 604, and 605 may display locally recorded assets only. For example, in some embodiments, thumbnail cells 602, 603, 604, and 605 may display locally recorded assets recently (or frequently) accessed by user equipment 30 (FIG. 1) . Thumbnail cells 602, 603, 604, and 605 may
display continuous or looping portions of the locally recorded assets .
[0073] For example, MPEG compositing system 218 (FIG. 2) may extract local loops of video from locally recorded assets and optionally store them in memory 224 (FIG. 2) or onto DVR 220 (FIG. 2) . The local compositing system may then generate the VRN page locally with one or more of the extracted video loops presented in thumbnail cells 602, 603, 604, and 605. The portion of the locally recorded asset to extract for use in the VRN homepage may be determined by a scene selection algorithm. The algorithm may identify scene changes within a video asset (e.g., by analyzing the video and/or audio components of the asset using an unsupervised segmentation algorithm, motion estimation algorithm, or any other suitable algorithm) . In some embodiments, the scene selection algorithm may also use user viewing behavior or preferences to determine which portions of the locally recorded content to extract for use in VRN homepage 600. For example, if a certain portion of a locally recorded video asset (e.g., the user's favorite scene from a movie or favorite replay from a sporting event) is watched more frequently than other portions, this portion may be selected by the scene selection algorithm for extraction. In some embodiments, user preferences, such as a favorite programs list, are accessed in order to determine which locally recorded assets are selected for presentation in VRN homepage 600. VRN homepage 600 may also present the user's four most recently or frequently accessed recordings in thumbnail cells 602, 603, 604, and 605. [0074] FIG. 7 shows illustrative "what's hot that I might like" VRN homepage 700. Homepage 700 may be
similar to homepage 400 of FIG. 4 and may include main cell 706, thumbnail cells 702, 703, 704, and 705, and option buttons 707. Like thumbnail cells 402, 403, 404, and 405 (FIG. 4), thumbnail cells 702, 703, 704, and 705 may display content from a variety of different sources (i.e., homepage 700 may be a "mixed-mode" page) . For example, cell 702 may display a feature on- demand movie, cell 703 may display a live broadcast television program, cell 704 may display an Internet video, and cell 705 may display a locally recorded video.
[0075] The content displayed in thumbnail cells 702, 703, 704, and 705 may be selected based on a number of criteria. For example, the user may create a user profile including the user's favorite genres, sports teams, actors, directors, or any other suitable information. Using the profile data, VRN client 31 (FIG. 2) may select any assets accessible by user equipment 30 (FIG. 1) for display in thumbnail cells 702, 703, 704, and 705 that matches one or more of the user's preferences. The user's profile may also be supplemented with data obtained from active user monitoring. For example, all interaction with user equipment 30 (FIG. 1) may be monitored and optionally logged. The amount of time assets are displayed, the sources of accessed assets, the genres of accessed assets, and any other suitable information may be included in the user's profile. In this way, the user's profile may contain a record of all the assets that have been accessed by the user equipment and the length of time each asset was presented. VRN client 31 (FIG. 1) may use this information when selecting video assets for cells of VRN pages, like VRN homepage 700.
[0076] FIGS. 8A and 8B shows illustrative mark-up language files 800 and 810. File 800 may be associated with unique name 802 and one or more mark-up language tags in body 804. Body 804 may include HTML, XML7 and/or SGML tags in some embodiments. The tags in body 804 may include cell definitions for all or a subset of cells in a VRN page, such as VRN homepages 400 (FIG. 4), 500 (FIG. 5), 600 (FIG. 6), and 700 (FIG. 7). As shown in the example of FIG. 8A, an identification of the content to include in cell 1 of the VRN page is provided in the "c_name" tag. This tag references a local function call to be executed on user equipment 30 (FIG. 1) . The source of the cell and the local path of the content to display in the cell are provided by the "getHotDVRsource" and "getHotDVRPath" functions, respectively. Body 804 may also include an indication of selected portions of the content to use as video loops in the VRN cell. Finally, body 804 may define action data for the cells in the VRN page, such as response behavior to highlighting or selecting a cell. [0077] FIG. 8B shows mark-up language file 810 associated with unique name 812. File 810 may correspond to the local version of file 800 after being processed by VRN client 31 (FIG. 1) . For clarity, the local function calls have been executed and the data returned by the function calls placed inside the appropriate tags. For example, the "getHotDVRPath" function returned the path to a locally recorded asset "/local/dvrl/00004.mp2" . Each function call to "getHotDVRPath" may return the path to a different "hot" locally recorded asset, based on the user preference data and monitoring described above. VRN client 31 (FIG. 2) may read the received cell
definitions from the mark-up language files to determine the if any placeholder cells exist on the page. If so, VRN client (FIG. 2) may execute the local functions to determine the identity of the video assets to be displayed in the placeholder cells. The VRN client may then overlay the appropriate video assets in the position of the placeholder cells and display the page. More or fewer tags than those defined in body 814 and 804 may be used in other embodiments. [0078] FIG. 9 shows illustrative process 900 for generating a VRN page in accordance with one embodiment of the invention. At step 902, a request is received for a VRN page. For example, the user may press a "Homepage" button on input device 38 (FIG. 1) or tune to a certain digital channel. At step 904, VRN client 31 (FIG. 2) may determine if the requested VRN page is remotely-generated or locally-generated. If the page is remotely-generated, at step 906 screen data may be received for the page. For example, VRN screen data source 14 (FIG. 1) may generate screen data and transmit the generated screen data to distribution facility 20 (FIG. 1) . Distribution facility 20 (FIG. 1) may then, in turn, transmit the screen data to user equipment 30 (FIG. 1) . The screen data may define user response behaviors for any of the selectable cells in the mosaic page. In addition, one or more placeholder cells may be defined in the screen data. The placeholder cell definition may include an indication of the placeholder cell's size, location (e.g., x and y coordinates) or any other suitable information.
[0079] The received screen data is then parsed by VRN client 31 (FIG. 2) at step 908. The VRN client may
then determine, at step 918, whether the screen data defines one or more placeholder cells. For example, mark-up language file 800 (FIG. 8) may designate one or more cells as placeholder cells. The screen data may also reference several local function calls for each placeholder cell. These local function calls may return any suitable data or variables on the local user equipment device. For example, file system paths, asset source identifiers, pointers to media assets, or any other suitable information may be returned by the local function calls. At step 920, if the screen data defines a placeholder cell, video is overlaid on the mosaic display in the position of the placeholder cell. [0080] If, at step 904, a determination is made that the VRN page is to be locally-generated, at step 910
VRN client 31 (FIG. 2) may locate the video sources for the requested VRN page. For example, if the user has requested "what's hot in my DVR" homepage 600 (FIG. 6), user profile information (including user monitoring data) may be accessed to determine what assets should populate the cells in the VRN page. At step 912, VRN client 31 (FIG. 2) may determine whether any local sources are selected for inclusion in the VRN page. If the cells do not display any local content, at step 914 the remote video sources may be accessed. If one more of the cells do display local content, an extracted video loop of the content may be accessed at step 916. For example, MPEG compositing system 218 (FIG. 8) may extract selected portions of video from one or more locally recorded assets.
[0081] At step 922, the VRN page may be generated. For example, if the page is remotely-generated, all the video sources may be composited at the remote
compositing location into a single video feed and displayed in an interactive page, such as the homepages shown in FIGS. 4-7. If the page is remotely-generated, the video feed and any video overlays may be combined into a single display at the user equipment device. In general, the page may be streamed to the source of at least one of the video sources to be displayed in the VRN for further compositing, if desired. The VRN page may then be displayed to the user at step 924. For example, control circuitry 32 (FIG. 1) may cause the page to be displayed on display device 34 (FIG. 1) . [0082] In practice, a flexible mix of compositing at the remote location and local compositing may be combined with sourcing video from remote and local sources. As such, one or more steps shown in process 900 may be repeated, combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed. Additionally, in some embodiments, compositing may be done remotely while screen data is generated locally or vice versa.
[0083] FIG. 10 shows illustrative process 1000 for populating a VRN cell with local content. At step 1002, screen data may be received or generated. If the page is remotely-generated, screen data may be received from a remote location (e.g., distribution facility 20 of FIG. 2) . This screen data may define one or more cells of a VRN page. For example, the screen data may include an identification of the source of one or more cells, an identification of the content of one or more cells, action data for responding to user behavior (e.g., the selection of one or more cells), and any other suitable information. At step 1004, VRN client
31 (FIG. 1) may determine if the screen data references any local sources. For example, content stored in DVR 220 (FIG. 2) , gaming device 222 (FIG. 2) , or memory 224 (FIG. 2) may be referenced by the screen data. In lieu of actually referencing a local source, a local function call may return a local source, as described above .
[0084] If, at step 1004, the screen data references a local source, a determination is made at step 1006 whether a video loop of the local source exists on the user equipment. If a local video loop does exist, it may be accessed at step 1008. If a local video loop does not exist, a portion of the local source may be selected for a video loop segment at step 1010. For example, a scene selection algorithm may be used in some embodiments to identify new or changing scenes within a video asset. The scene selection algorithm may also access user profile information to determine what portion to select for the video loop segment . For example, the scene selection algorithm may select a more frequently watched portion of a video asset, if one exists, for the video loop segment. [0085] At step 1012, the selected portion of video may be extracted from the video asset and stored to the user equipment device. For example, MPEG compositing system 218 (FIG. 2) may extract the selected portion and store it as an MPEG-2 file in memory 224 (FIG. 2) or on DVR 220 (FIG. 2) . At step 1014, the VRN page may be rendered with the local video loop overlaid in the position of a video cell, such as thumbnail cell 402, 403, 404, or 405 (FIG. 4) . Finally, at step 1016, the VRN page may be displayed with the local video loops to the user.
[0086] In practice, one or more steps shown in process 1000 may be repeated, combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed.
[0087] FIG. 11 shows illustrative process 1100 for presenting a custom VRN page based on user profile information, user monitoring, or both. At step 1102, user behavior is monitored and optionally logged to the user equipment. For example, some application process implemented on user equipment 30 may monitor all interaction with the user equipment, including content access requests, frequently watched programs and genres, and any other suitable characteristics. In addition, the user may have a profile saved to the user equipment. If a user profile is defined at step 1104, the profile data is read at step 1106. This profile data may include various content preferences for the user. For example, the user may select his or her favorite program, sports team, actor, director, genre, or any other suitable preference.
[0088] After reading the user profile data at step 1106, local content may be selected for display in one or more custom VRN pages at step 1110. The content selected may be based on both user profile data and user behavior. If a user profile is not defined for the current user at step 1104, local content may be selected for presentation in one or more custom VRN pages at step 1108 based on monitored user behavior. For example, VRN homepage 400 (FIG. 4) may include local content recently or frequently accessed by the user in one or more of thumbnail cells 402, 403, 404 and 405 (FIG. 4) .
[0089] At step 1112, the VRN page is generated or updated. For example, MPEG compositing system 218 (FIG. 2) may extract video loops of local content as described above. VRN client 31 (FIG. 2) may then swap out one or more VRN cells with the new local content selections. In this way, the user may be presented with custom VRN pages including one or more cells of local content that are particularly relevant to the user. Each time the custom page is displayed, new video assets may be presented in the page, depending on the user's viewing habits, preferences, and user monitoring information.
[0090] In practice, one or more steps shown in process 1100 may be repeated, combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed.
[0091] The above described embodiments of the invention are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.