This invention relates to interactive television systems and more particularly, to interactive television systems that provide advanced set-top applications.
Modern set-top boxes are being developed with advanced processing circuitry and sufficient memory to support new types of software applications not previously envisioned. A challenge created by new types of interactive software applications is the ability to offer advanced features consistently with users' expectations of a set-top box-based environment. Advanced set-top applications may provide features that are as complex and sophisticated as features users expect from their personal computer-based applications, but personal computer-based applications and set-top box-based applications have differences in, for example, their user interfaces and persistent storage capabilities that require different programming paradigms. For example, users of set-top box-based applications input information using a remote control having a limited keyset, rather than a full keyboard as with computer-based approaches. While set-top boxes may be designed to use a mouse and keyboard, such devices may be clumsy and difficult to use in a dark television-watching environment.
Television-based applications and personal computer-based applications draw users' attentions to display elements differently. On a computer-based application, a user can navigate to an active area on the screen by positioning a mouse cursor over a display item. The mouse cursor moves along the screen as the user moves the mouse, allowing the user to follow his or her navigation to the display item. Set-top box-based applications typically have highlight regions that jump between active areas in response to a user pressing a direction key on a remote control. Users are accustomed to anticipating where the highlight region is going to appear.
Operating systems such as Microsoft Windows have familiarized personal computer users with running multiple applications simultaneously (“multitasking”). Multitasking is not prevalent in set-top box-based environments, and it would be desirable to provide a multitasking solution that provides multiple applications consistent with a user's expectation of a set-top box-based environment.
It is therefore an object of the present invention to provide enhanced features and applications for a set-top box-based environment.
This and other objects of the invention are accomplished in accordance with the principles of the present invention by providing advanced set-top applications and features in a set-top boxed-based environment in which multiple interactive television applications are provided.
Some embodiments and features of the present invention are described, for example, in U.S. provisional patent application Ser. No. 60/170,223, filed Dec. 10, 1999, and U.S. provisional patent application Ser. No. 60/200,930, filed May 1, 2000, and are hereby incorporated by reference herein in their entireties. Some embodiments of the present invention may provide users with opportunities to launch and navigate between multiple applications or other resources. An inter-resource “back” function may be provided that allows users to return from one application, display, web site, feature, channel or other resource, to a previous application, display, web site, feature, channel or other resource. An inter-resource “forward” feature may be provided that allows users to return to an application, display, web site, feature, channel or other resource, from which a back function was performed. An inter-resource “history” function may be provided that allows users to access a list of the most recently visited applications, displays, web sites, features, channels or other resources, and to select a desired destination.
Some embodiments of the present invention may provide a reminder feature that allows users to schedule reminders in any application for user-selected resources or events. Events may include, for example, television shows, chat sessions, birthdays, or any other suitable event that occurs within a resource (e.g., application, display, web site, feature, channel or other resource). When an event occurs, or at a predefined time prior to the event, a reminder overlay may be displayed over an active application. The reminder overlay may include a list of reminders. Each reminder may include specific information and selectable options related to the event for which it is scheduled.
Some embodiments of the present invention may provide an inter-resource favorites feature. The favorites feature may allow users to set any application, screen, web site, feature, channel or other resource as a favorite. The system may provide users with opportunities to access a list of favorites at any time, to select a resource from the favorites list, and to launch the corresponding application.
Some embodiments of the present invention may provide an inter-resource parental control feature. While in any application, users may be provided with opportunities to enter or select parental control restrictions that apply to any or all resources. A parental control function in one application may provide a link to a parental control function in another application. Users may be provided with opportunities to synchronize the parental control restrictions for all applications, or to designate them application-specific.
Some embodiments of the present invention may also provide support for multiple users across multiple applications. User profiles may include associated passwords or codes required of users in order to gain access to a specific profile. Multiple lists of favorites may be provided for multiple users. Multiple user profiles may have associated parental control functions that specify which types of applications are accessible by the associated user or users.
Some embodiments of the present invention may allow users to search across multiple applications. Users may be provided with opportunities to enter one or more search criteria and to select one or more search targets. For example, a user may enter one or more keywords and may be allowed to search any target, such as a program guide database, a video-on-demand database, the Internet, electronic commerce applications, electronic mail messages, another suitable search target, or a combination of such search targets.
Some embodiments of the present invention may provide an extras feature. The extras feature may be accessed from any application available to users. When accessed, the extras feature may overlay a portion of an application and may include a number of sub-features. Some of the sub-features may be the same regardless of which application is active when the extras function is accessed. Other sub-features may vary depending on the application from which the extras feature is accessed. Users may select sub-features to provoke associated actions. Sub-features may include, for example, a home feature, print feature, help feature, search feature, or any other suitable feature.
Some embodiments of the present invention may include enhanced features that direct users' attentions to display regions. For example, active screen regions may be animated to make them more evident to users. As another example, display elements may be overlaid onto each other. The user's attention to a particular display element may be attracted to a particular display by dimming other screen elements, animating the outline of the particular screen element, or using any other suitable approach.
Some embodiments of the present invention may support multiple communications paths, any of which may be utilized by any of the supported applications. Internet channels, in-band data paths, out-of-band data channels, telephone dial-up lines, other suitable communications paths, or a combination of such communications paths may be supported.
The above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, in which:
a and 40b are flowcharts of illustrative steps involved in providing inter-resource parental control features in accordance with one embodiment of the present invention.
An illustrative interactive television system 100 in which advanced set-top applications may be implemented in accordance with the present invention is shown in
Main facility 102 may include a program guide database 104 for storing program guide information (e.g., television program listings data, program-related information, channel listings data, channel-related information, network listings data, network-related information, package listings data, package-related information, pay-per-view ordering information, television program promotional information, program guide Internet-related information, etc.). Main facility 102 may also include a video-on-demand database 106 for storing video-on-demand information. Databases 104 and 106 may be combined into a single database if desired. Main facility 102 may also provide data for other applications implemented at least in part on user television equipment 112. For example, main facility 102 may provide data for home shopping applications, information services, or other applications. In some embodiments, there may be multiple main facilities servicing a number of applications. Each main facility may serve one or more applications.
Main facility 102 may include any suitable computer-based system for generating information, receiving information, storing information, or otherwise managing information in databases 104 and 106. Main facility 102 may also manage information for other purposes, such as for other interactive applications. Main facility 102 may include equipment suitable for transmitting information from program guide database 104 and video-on-demand database 106, and other information (e.g., other application data) through communications link 108 to television distribution facility 110. In practice, main facility 102 may transmit information in parallel to multiple television distribution facilities, but only one television distribution facility has been shown to avoid over-complicating the drawing. In some embodiments, main facility 102 may transmit information to other types of distribution facilities such as, for example, Internet servers for websites.
Communications link 108 may be a satellite link, a telephone network link, an Internet link, a fiber-optic link, another suitable communications link, or a combination of such communications links. Text, graphics, video, data, or any other suitable content may be transmitted by main facility 102 over communications link 108. If it is desired to transmit video signals over communications link 108, a relatively high bandwidth link such as a satellite link may be preferable to a relatively low bandwidth link. Television distribution facility 110 may be any facility suitable for distributing television signals to viewers, such as a cable system headend, a broadcast distribution facility, or a satellite television distribution facility.
The information transmitted by main facility 102 to television distribution facility 110 may include, for example, video-on-demand listings data and television program listings data such as program times, channels, titles, descriptions, or other suitable information. For purposes of clarity, any suitable combination of program guide information, video-on-demand information, or any other suitable information may sometimes be referred to herein generically as “information.” Transmitted information may include, for example, pay program data such as pricing information for individual programs and subscription channels, time windows for ordering programs and channels, telephone numbers for placing orders that may be placed over the telephone, etc. Transmitted information may also include a detailed description of program guide television content such as movie reviews, ratings, network affiliation, associated services, program director, cast, channel call letters, full channel name, air times, service description, logo, package title, package components, web links, e-mail information, chat information, video previews, merchandise information, still graphics, video, advertisements, etc. Television distribution facility 110 may include equipment for accessing data and communicating on the Internet.
Television distribution facility 110 may distribute information received from main facilities, such as one or more main facilities 102, to user television equipment 112 via communications path 114. User television equipment 112 may be any suitable television equipment that contains sufficient processing capabilities to implement interactive television applications and features in accordance with the present invention.
Communications path 114 may be a cable link, fiber-optic link, satellite link, broadcast link, another suitable link, or a combination of such links. Any suitable communications scheme may be used to transmit data over communications path 114, including in-band transmissions, out-of-band transmissions, digital transmissions, analog transmissions, cable transmissions, satellite transmissions, over-the-air transmissions, multi-channel multi-point distribution services (MMDS) transmissions, data-over-cable service interface specification (DOCSIS) transmissions, or any other suitable communications scheme.
Communications path 114 preferably has sufficient bandwidth to allow television distribution facility 110 to distribute television programming, program guide information, video-on-demand information, advertisements, and other information to user television equipment 112. Multiple television and audio channels (analog, digital, or both analog and digital) may be provided to user television equipment 112 via communications paths 114. If desired, some of the data may be distributed to user television equipment 112 by one or more distribution facilities that are separate from television distribution facility 110 using communications paths that are partly or completely separate from communications path 114.
The data distribution technique used to distribute data on communications path 114 may depend on the type of information that is being distributed. For example, text and graphics may be distributed over an out-of-band channel using an out-of-band modulator or distributed in the vertical blanking interval (VBI) lines of an analog video channel. Video information may also be distributed in this way, although large quantities of video information may be more efficiently distributed using one or more digital channels on communications path 114. Such digital channels may also be used for distributing text and graphics.
Programming information from an Internet server 116 may also be transmitted to user television equipment 112 via a communications path 118. Communications path 118 may be a dial-up telephone line, cable link, fiber-optic link, satellite link, broadcast link, another suitable link, or a combination of such links. In some embodiments, Internet server 116 may be connected to main facility 102 via a communications path suitable for exchanging program guide, video-on-demand, or other information with main facility 102.
An illustrative arrangement for user television equipment 112 is shown in
Interactive applications may run on set-top box 150, on television 154 (if television 154 has suitable processing circuitry and memory), on a suitable analog or digital receiver connected to television 154, on a secondary storage device 152 (if secondary storage device 152 has suitable processing circuitry and memory), or on any other suitable device. Interactive applications may also run cooperatively on a suitable combination of these devices. For example, interactive television program guide systems in which a cooperative interactive television program guide runs on multiple devices are described in Ellis U.S. patent application Ser. No. 09/186,598, filed Nov. 5, 1998, which is hereby incorporated by reference herein in its entirety.
Secondary storage device 152 can be any suitable type of analog or digital storage device or player (e.g., a videocassette recorder, a digital versatile disc (DVD) player, etc.). Program recording and other features may be controlled by set-top box 150 using control path 170. If secondary storage device 152 is a videocassette recorder, for example, a typical control path 170 may involve the use of an infrared transmitter coupled to the infrared receiver in the videocassette recorder that normally accepts commands from a remote control such as a remote control 156. Remote control 156 may be used to control set-top box 150, secondary storage device 152, and television 154.
If desired, a user may record programs, application data or a combination thereof in digital form on an optional digital storage device 162. Digital storage device 162 may be a writeable optical storage device (such as a DVD player capable of handling recordable DVD discs), a magnetic storage device (such as a disk drive or digital tape), or any other digital storage device. For example, interactive television program guide systems that have digital storage devices are described in Hassell et al. U.S. patent application Ser. No. 09/157,256, filed Sep. 17, 1998, which is hereby incorporated by reference herein in its entirety.
Digital storage device 162 may be contained in set-top box 150 or may be external to set-top box 150 via an output port and appropriate interface. If necessary, processing circuitry in set-top box 150 may format the received video, audio and data signals into a digital file format. The file format may be an open file format such as the Moving Picture Experts Group (MPEG) MPEG-2 standard or the Moving Joint Photographic Experts Group (MJPEG) standard. The resulting data may be streamed to digital storage device 162 via an appropriate bus (e.g., a bus using the Institute Electrical and Electronics Engineers (IEEE) 1394 standard), and then stored on digital storage device 162. In another suitable approach, an MPEG-2 data stream or series of files may be received from television distribution facility 110 (
Television 154 may receive video signals from secondary storage device 152 via communications path 168. The video signals on communications path 168 may be generated by secondary storage device 152 when playing back a prerecorded storage medium (e.g., a videocassette or a recordable digital video disc), may be generated by digital storage device 162 when playing back a recorded digital medium, may be passed through from set-top box 150, may be provided directly to television 154 from set-top box 150 if secondary storage device 152 is not included in user television equipment 112, or may be received directly by television 154. During normal television viewing, the video signals provided to television 154 correspond to the desired channel to which a user has tuned with set-top box 150. Video signals may also be provided to television 154 by set-top box 150 when set-top box 150 is used to play back information stored on digital storage device 162.
Set-top box 150 may have memory 158. Memory 158 may be any memory or other storage device, such as a random access memory (RAM), read only memory (ROM), flash memory, a hard disk drive, a combination of such devices, etc., that is suitable for storing application code and data.
Set-top box 150 may include a communications device 160 for communicating with television distribution facility 110 (
A more generalized embodiment of user television equipment 112 of
User television equipment 112 may also include a secondary storage device 202 and/or a digital storage device 204 for recording programming. Secondary storage device 202 may be any suitable type of analog or digital program storage device (e.g., a videocassette recorder, a digital versatile disc (DVD), etc.). Program recording and other features may be controlled by control circuitry 200. Digital storage device 204 may be, for example, a writeable optical storage device (such as a DVD recorder), a magnetic storage device (such as a disk drive or digital tape), or any other digital storage device.
User television equipment 112 may also include memory 206. Memory 206 may be any memory or other storage device, such as a random access memory (RAM), read only memory (ROM), flash memory, a hard disk drive, a combination of such devices, etc., that is suitable for storing instructions and data.
User television equipment 112 may also include a communications device 201 for supporting communications between a program guide, an operating system, or another set-top box-based application, and television distribution facility 110, Internet server 116 (
In some embodiments, user television equipment 112 may include multiple communications devices 201, which may be of different types. For example, one or more communications devices 201 may be an integrated cable modem for supporting Internet channels. One or more communications devices 201 may be receivers or tuners for in-band data paths. While user television equipment 112 is tuned to a television channel, data, which may be related or unrelated to the television channel, may be sent along with the audio and video of the channel. For analog television, the data may be sent in the video vertical-blanking interval (VBI). For digital television, the data may be sent as a separate digital data stream in the same analog carrier. One or more communications devices may be receivers for out-of-band data paths. For example, a receiver or tuner may be dedicated to continuously receiving out of band data from an out-of-band data channel. The channel may continuously provide data, regardless of the status of the other resources of user television equipment 112. One or more communications devices 201 may be modems for telephone dial-up links.
Applications running on user television equipment 112 may use one communications device 201 for one type of data, and another communications device 201 for another type of data. In another suitable approach, the same type of data may be acquired over multiple data paths depending on, for example, user requests, availability of system resources, system failures, or any other suitable event. For example, a program guide may acquire most of its schedule data over an out-of-band data path. The guide may augment that data using in-band data, an Internet connection, or both. Similarly, any application may receive data via an in-band or out-of-band path, and supplement that data via an Internet path.
Some applications may be resident in user television equipment 112. Others may be acquired, for example over an Internet link or via an in-band channel. In some embodiments, applications that are resident in user television equipment 112 may be optimized based on the amount of storage required to maintain them, and applications acquired in real-time may be optimized based on the ability to acquire them in a reasonable period of time.
User television equipment 112 may also include a user input device 210 which may be, for example, a wireless keyboard, mouse, trackball, dedicated set of keys, voice recognition system, personal digital assistant (PDA), display remote, or other suitable input device. When a PDA or display remote is included, the support application may provide data to the device which can be used to generate displays appropriate to the supported application in use. A PDA or display remote may include a touch pad for receiving user input. For example, a user may select options by touching specific active options on the display screen of the remote. Program guide systems with display remotes are described in U.S. patent application Ser. No. 09/588,823, filed Jun. 7, 2000, which is incorporated herein in its entirety.
User television equipment 112 may also include a display device 212 which may be any suitable 1; television, monitor, or other suitable display device.
In some embodiments of the present invention, advanced set-top box-based features may be implemented using a central function library, dynamically linked library (DLL), or other software construct. For example, one or more applications, such as an interactive program guide, operating system, or other application, may provide code and resources for advanced set-top box-based features. These applications, one or more of which may sometimes be referred to herein as a “support application,” may provide advanced features to other applications (one or more of which may sometimes be referred to herein as a “supported application”) using an application programming interface (API). The supported applications may be programmed to call API function calls that invoke processes performed by the support application. In another suitable approach, code for advanced features may be stored as DLLs in memory 206. Supported applications may dynamically link with the DLL code during run-time. Any other suitable approach to provide features across multiple set-top box-based applications may be used.
An illustrative embodiment of a remote control 156 of
Program guide API 302 may include functions that allow supported applications to access platform resources 326 such as on-screen display features (colors, fonts, animations, dimming, etc.), remote control keys (key assignments and the like), front panel resources (which determine, e.g., the functions assigned to various dedicated buttons on user television equipment 112 (
Program guide API 302 may include functions that allow supported applications to access program guide features 324 such as tuning (changing applications, displays, features, web sites, channels or other resources), parental control (features related to placing a password lock on certain applications, displays, web sites, features or other resources), favorites (e.g., user-designated favorite applications, displays, web sites, features or other resources), user profiles (e.g., favorites and settings profiles for various users of a given set-top box), drawing functions, animations, highlighting and on-screen navigation, database access (e.g., access to databases of application information stored in memory in set-top a box 150 (
As shown in
Operating system API 352 may include functions that allow supported applications to access platform resources 374 such as on-screen display features (colors, fonts, etc.), remote control keys (key assignments and the like), front panel resources (which determine, e.g., the functions assigned to various dedicated buttons on user television equipment 112 (
Operating system API 352 may include functions that allow supported applications to access operating system features 376, such as, for example, tuning (how to change set-top box channels, web site applications or other resources), parental control (features related to placing a password lock on various applications, displays, features, channels or other resources), favorites (e.g., user-designated favorite applications, displays, features, web sites, channels or other resources), user profiles (e.g., favorites and settings profiles for various users of a given set-top box), drawing functions, highlighting animations, on-screen navigation, database access (e.g., to a database of application information stored in memory in set-top box 150 (
In some embodiments, the program guide may provide go to feature 560 that allow users to specify web sites, features, applications or other resources that the user wishes to access. If desired, go to feature 560 may be provided by other support applications, such as an operating system, or accessed from supported applications. The user may indicate a desired resource by, for example, selecting go to feature 560 and entering a resource name, selecting a resource from a drop-down selectable list of resource names (as shown), or using any other suitable approach. In embodiments where a program guide is the support application, the program guide may, in response to the user identifying a resource, provide a display having the identified resource. In some embodiments, the program guide (or other support application) may dynamically fill go to feature 560 with the name of the currently accessed display, feature, web site or other resource. Go to feature 560 may then allow users to access a history of their recently accessed resources. In some embodiments, go to feature 560 may be a drop-down list of selectable resources.
The program guide may allow a user to scroll through the program listings by, for example, pressing “up” and “down” arrows keys 250 on remote control 156 (
A program guide, whether a support or supported application, may provide users with opportunities to view information about programs and to access related features from within program information screens. Systems in which program guides provide users with opportunities to access program guide features from within information screens are described, for example, in Rudnick et al. U.S. patent application Ser. No. 09/356,268, filed Jul. 16, 1999, which is hereby incorporated by reference herein in its entirety. Program information screens may include, for example, a brief description of a program, the actors of a program, the rating of a program, when a program is aired, or any other suitable information related to a program. The program guide may display a program information screen when a user indicates a desire to view program information by, for example, pressing an “info” key on remote control 156 (
If desired, advanced features may be integrated into program information displays, such as in illustrative program information display 900 of
In some embodiments, the reminders feature may be inter-resource. That is, the reminder feature may allow users to set reminders for different types of resources. For example, the reminder feature may allow users to set reminders for events provided in services or web sites accessed through the guide throughout the system. The program guide (or other support application) may obtain an identifier for the event and service or site, and store the identifier and time of the event in a reminder table. These two types of resources are only illustrative, as support applications, such as the operating system in this example, may allow users to set reminders for any suitable resource.
In some embodiments, the program guide may provide a user with an opportunity to set channels and other resources as favorites. A user may, for example, press a suitable key on remote control 156 of
In some embodiments, the favorites feature may be inter-resource. That is, the program guide (or other support application) may allow the user to identify different types of resources as favorites. For example, the user may press the FAV key on remote control 156 while accessing an interactive service or a web site via the program guide anywhere throughout the system. The program guide (or other support application) may obtain an identifier for the service or site, and mark it as a favorite. In some embodiments, for example, the guide (or other support application) may query the service or the site for its identifier, and store the identifier in a favorites list.
As shown in
The operating system may support any suitable supported application. In some embodiments, the operating system may provide selectable features for the supported application. In this example, the operating system supports an interactive program guide, and provides feature 512 accordingly. The operating system may launch the interactive program guide in response to, for example, a user selecting feature 512.
As shown in
In some embodiments of the present invention, program guide displays accessed from menu display 1400 may include feature areas. If desired, feature areas may be illustrative feature area 1420 of
In the example of
In some embodiments, advanced features may be integrated into displays of a supported application, such as a program guide. For example, the program guide may provide a program information display, such as the illustrative display 900 of
The support application, in this example an operating system, may provide users with opportunities to access interactive services. For example, in response to a user selecting interactive services feature 514 from the displays shown in
In some embodiments, the support application may, in response to the user selection of a display element 1610, launch a web browser and access a web site associated with the service. Users may only be provided with limited access to services provided over the Internet. In such embodiments, the support application may be configured to allow users access to only a limited number of web sites which are also configured to provide access to a limited number of websites, allowing users to access only a finite set of websites.
In some embodiments, the support application, whether an operating system, program guide, or other support application, may provide guidance to users to allow them to find desired interactive services more easily. This approach may be desirable when, for example, the number of available interactive services is large. In response to a user indicating a desire to access interactive services by, for example, selecting interactive services feature 514 of
In response to a user selecting (or otherwise identifying) a service type, the operating system may provide a services sub-type display such as illustrative display 1800 of
The reminder feature may be an inter-resource reminder feature. That is, the reminder feature may allow users to set reminders for different types of resources. For example, the reminder feature may allow users to set reminders for chat sessions as shown in
The operating system (or other support application) may provide a favorites feature. In the example of
The operating system (or other support application) may allow users to establish a customer service session with a system provider.
The operating system (or other support application) may allow users to read and write electronic messages, such as e-mail or TV Mail.
The operating system (or other support application) may allow users to browse the Internet. Browser functionality may be programmed into the operating system, or the operating system may launch a browser in response to a user indicating a desire to access the Internet.
In some embodiments, the support application, whether an interactive program guide, operating system, or other suitable support application, may provide users with an extras feature. Users may indicate a desire to access the extras feature by, for example, pressing EXTRAS key 264 on remote control 156 (
Extras overlay 2500 may include, for example, advertisement 2570. Advertisement 2570 may be selectable. In response to a user selecting advertisement 2570, the system may display information or access a service or web site associated with the advertisement. Extras overlay 2500 may include, for example, home icon 2520. In response to a user selecting icon 2520, the support application may return a user to a home display. Extras overlay 2500 may include, for example, print icon 2530. In response to a user selecting icon 2530, the support application may print the current screen to a printer attached to set-top box 150 (
The aforementioned icons and features of extras overlay 2500 are merely illustrative. In some embodiments, extras overlay 2500 may include, for example, icons for specific applications. Icons may be included for applications to allow users to easily access the applications. If desired, icons may be included for applications on a conditional basis. For example, if a user has received electronic mail, there may be a mail icon present on extras overlay 2500. When reminders are outstanding, extras overlay 2500 may include a reminder feature. Extras overlay 2500 may include features to parentally control a current application. Extras overlay 2500 may include, for example, features relating to a currently active application. Icons for these features may be displayed separately, or the features may be displayed as a result of, for example, a user selecting an option to view “More” features from extras overlay 2500.
Extras overlay 2500 may include, for example, search feature 2590. The search feature may allow users to search for desired programs, sites, applications or other resources. In some embodiments, extras overlay 2500 may include a screen region that allows a user to enter a keyword for a desired resource, such as a web site, channel, or any other suitable resource, and provide the user with a list of matching resources. In some embodiments, extras overlay 2500 may include go to feature 560. In still other embodiments, extras overlay 2500 may include options to parentally control a resource, set a reminder for the resource, add the resource to a calendar, or provide any other suitable feature.
As discussed, some embodiments may provide a back feature. Users may indicate a desire to access a back feature using any suitable approach. For example, users may press BACK key 256 on remote control 156 (
In some embodiments, the support application may track the resources accessed by the user. Set-top box 150 (
In another suitable approach, the support application may include rules for defining which resources a user can return to from other resources. For example, the support application may only allow users to return to web sites from other web sites or applications. In still another suitable approach, the user television equipment, the support application, or both, may provide multiple interface elements that allow a user to specify the type of resource to which the user desires to return. Any other suitable approach may be used.
If desired, the support application may place a limit on the number of times a user can perform the back function. This limit may be based on, for example, the memory capacity of the set-top box, a time limitation, or any other suitable factor. The backup sequence, which is the order in which the back function visits previously accessed resources, may not be identical to the reverse of the sequence used to get to a specific resource. For example, intermediate resources may be bypassed. Passwords or codes may be required to return to specific resources. Resources that were previously both entered and exited may be bypassed. Resources visited multiple times may not be revisited the same number of times when backing up through resources. While a user is watching television, for example, the back function may return the user to a previous resource, or it may function like a previous channel key, such as PREV key 254 on remote control 156 (
Users may indicate a desire to access a forward feature using any suitable approach. For example, users may press a FORWARD key 258 on remote control 156 (
The support application may generate a forward sequence. The forward sequence is the order in which the forward function visits resources from which the back function was performed. The forward sequence may not be identical to the reverse of the sequence used to get to a specific resource. For example, intermediate resources may be bypassed. Passwords or codes may be required to return to specific resources. Resources that were previously both entered and exited may be bypassed. Resources visited multiple times may not be revisited the same number of times when advancing through applications.
A forward feature may be implemented using any suitable approach. For example, the support application may track the resources accessed by the user. Set-top box 150 (
In another suitable approach, the support application may include rules for defining which resources a user can use the forward function to go to from other resources. For example, the support application may only allow users to use the forward function to go to web sites from other web sites or applications. In another suitable approach, the user television equipment may provide multiple interface elements that allow a user to specify the type of resource the user desires to use the forward function to go to. Any other suitable approach may be used.
Users may indicate a desire to access a history feature using any suitable approach. For example, users may select history feature 403 from menu screen 400 of
An illustrative history display 2600 is shown in
As discussed, some embodiments of the present invention may provide a reminder feature. The reminder feature may provide users with an opportunity to set reminders for user-selected resources or events. Events may include any suitable future content of a resource such as, for example, future television shows, future chat sessions, birthdays, or any other suitable event. A user may specify events that are not scheduled for a particular time as reminders, such as alerts when stocks reach a specified price.
A user may indicate a desire to schedule a reminder for a resource or event using any suitable approach. For example, the user may press a suitable key on a remote control (e.g., REMINDERS key 262 on remote control 156 of
Whatever the approach used by the support application to provide users with opportunities to set reminders, the support application may maintain a list of upcoming reminders. The reminder list may include, for example, identifiers for events that a user has scheduled reminders for, the resources on which the events are provided, the start times of these events, or any other suitable information. The support application may monitor the list and, at a suitable time (e.g., a predefined time before an event, or when an event starts), the support application may provide a reminder display in which reminders for one or more events are provided. The reminder display may be overlaid onto an active application. If desired, the support application may display a reminder overlay in response to a user pressing a suitable key, such as REMINDERS key 262 on remote control 156 (
A reminder may include information associated with an event in reminder information region 2730. Reminder information region 2730 may include a channel name and a title of a selected program, a name and web address of a chat session, a name of a birthday, a symbol and price for a stock, any other suitable reminder information, or a combination of such reminder information.
A reminder may identify a type of event. In this example, reminder information region 2730 for a program listing reminder is formatted as a television listing. A reminder for a chat session, for example, may be formatted as a web address. A reminder may include a brand logo of an application in which the reminder was selected.
A reminder may have one or more selectable options relating to the reminder. For example, as shown in
Reminders may include advertisements such as advertisement 2750 which may be selectable by a user. For example, a user may select advertisement 2750 in order to order a pay-per-view.
The support application may provide a user with an option to hide a reminder at any time without acting upon the reminder. For example, the user may select “Hide” feature 2760 in order to hide reminder overlay 2700. The user's remote control may include a key to allow the user to access the reminder feature. For example, a user may press REMINDERS key on remote control 156 (
Some embodiments of the present invention may provide a favorites feature. The favorites feature may allow users to set any resource as a favorite, such as a display, web site, channel, or other suitable resource. The support application may allow a user to access a list of favorite resources. The list of favorite resources may be specific to a currently active application, or it may be a comprehensive list of favorites from multiple applications. If desired, the support application may allow users to maintain multiple favorites lists, or support favorites lists for multiple users.
In response to a user indicating a desire to access a list of favorites, the support application may provide a favorites display. An illustrative favorites display is shown in
If desired, the support application may allow the user to designate sort criteria for list 2805. In this example, the user has selected that the list be sorted alphabetically. The system may allow the user to specify the type or types of resources included in list 2805. In practice, the system may allow the user to specify any other suitable characteristic of list 2805.
In some embodiments, the support application may provide support for multiple users across multiple applications. The support application may allow each user to define multiple user profiles. A profile may have, for example, associated passwords or codes that allow a user to gain access to resources. In some embodiments, profiles may have associated parental control functions to define which resources are accessible by an associated user or users. In some embodiments, profiles may include purchasing support. A profile may include details of one or more credit cards, shipping addresses, billing addresses, or other suitable resources, in order to facilitate purchasing from any application service, web site or other resource.
In response to the user entering a correct password, the support application may provide a user profile display.
Some support applications may provide inter-resource parental control features. Users may, for example, may be allowed to specify parental control restrictions for one or more resources. In some embodiments the parental control feature in one resource may provide a link to a parental control feature in another resource. For example, a parental control feature for Internet access may provide a link to a parental control function for television channels. The support application may allow users to synchronize parental control restrictions between resources or have them be resource-specific.
In response to the user selecting parental control feature 3150 from user profile display 3100, the support application may provide the user with opportunities to set parental control features for one or more resources. The support application may, for example, provide resource display 3200 of
In some embodiments, the support application may allow users to set parental control criteria that are used by multiple resources. For example, the support application may store parental control settings for age ranges, control ratings, or other criteria that a user may set once. Supported applications may call the support application for these general settings, and use them when providing content.
In response to the user selecting a resource, the support application may provide a resource sensitive parental control sequence. In some embodiments the support application may, for example, store a table of supported applications and the types of resources they may set parental control settings for. When the support application must resolve whether a user may access a resource, or when the support application provides a user with an opportunity to set parental controls for a resource, the support application may search the table for the type of resource and corresponding supported application. In the example of
Some embodiments may allow users to search across multiple resources. A user may indicate a desire to search across multiple resources by, for example, selecting search feature 1464 of
An illustrative search target display 3400 is shown in
In response to the user selecting one or more targets (e.g., by highlighting a target and pressing on key 252 of remote control 156 (
Some embodiments of the present invention may use special display effects to draw users' attentions to particular screen elements. For example, the support application may present information in a screen region without completely dismissing or obscuring a previous active application display. The system may attract the user's attention to the new screen region by dimming the previous screen and by displaying the new overlay, perhaps in a brighter color, on top of a portion of the previous screen. These approaches may be used to display, for example, overlay 2500 (
For example, a user may select a television program or channel for locking from within a program guide (whether a support or supported application). The support application may dim the current screen, and may display an overlay requesting entry of a parental control code. This may indicate to the user that the user must focus on the area of the screen requiring an input, while also indicating that there is an active application. In response to the user entering a code, the support application may remove the overlay and undim the previous display or provide an additional display relate to the lock request.
As another example, the user may be in a supported application, such as an email application, and a reminder occurs. The support application may dim the email application, and display a reminder overlay onto the top portion of the display. If the user dismisses the reminder, the support application may return the email application display to its previous brightness level. If the user acts on the reminder and a new display is required, the support application may display it in partial or full screen. For example, if the reminder was for a television program, the support application may display the program in full screen or in a small video window as part of the email application.
Some embodiments may provide video windows in for allowing users to watch television programs or other videos. In response to a user indicating desire to change channels or other video sources (e.g., by changing channels, acting on a reminder, etc.), the support application may dim the currently active supported application display and change sources. If desired, the support application may provide a flip overlay, which may be undimmed, in a portion of the display. Flip overlays and embedded video windows are described, for example, in ______ et al. U.S. patent application Ser. No. ______, (Attorney Docket No. UV-171) which is hereby incorporated by reference herein in its entirety.
In some embodiments, the support application may provide a flip overlay when a user changes between other types of resources, such as when a user changes between applications. The flip overlay may be undimmed (or bright), and the application area of the display may be dimmed (or less bright). The support application may dismiss the flip overlay after a predefined time or in response to a user action, and may un-dim the application over which the overlay is displayed.
Supported applications may include an on-screen option to tune to a program or channel. For example, one application may be related to a particular program provider. That application may include a selectable option or advertisement for a specific television program, which may be broadcast at the time the user is in that application. Selecting that option may cause the requested program to be displayed in a partial screen video window, with the flip banner displayed over part of the screen, and with the underlying application dimmed in the background.
In any of the above flip examples, the user may desire to continue navigating television while the flip banner is displayed. The user may, for example, press an arrow key on the remote control to “browse” to information for a different channel, to highlight an advertisement, or to browse to future program listings. The user may enter a channel number or press a “previous channel key”. After the user has selected a specific program or advertisement, the OK or SELECT key can be used to tune to that program, view additional information about the program or ad, set a reminder for the program, or perform some other action. If the user tunes from the browse overlay, the flip banner may be displayed for the newly selected channel.
In some embodiments, the support application may animate highlighted display elements. For example, a bright yellow outline may be presented about the highlighted display element, and that outline may “shimmer,” i.e., a brighter region of the outline may move around the display element. The highlighted display element may change colors. Display elements may be animated as they are drawn onto the screen. For example, selectable buttons may slide or glide into position when a screen is first drawn. Selectable display elements may have animations to draw attention to them. For example, a selectable information service may alternate between displaying news, weather, and sports headlines. Display elements may slide on or off a screen in an indicated direction when a user presses an arrow key on a remote control. Active regions and animation are described, for example, in ______ et al. U.S. patent application Ser. No. ______, (Attorney Docket No. UV-176) which is hereby incorporated by reference herein in its entirety.
The inter-resource feature for the resource is provided at step 3640. The feature may be provided by the support or the supported application. Features may be provided by the support application to the supported application via, for example, API calls, DLLs, or using any other suitable approach. The support application may in turn provide the feature to the user in accordance with its programming. In another suitable approach, the support application may provide the feature to the user independently of the supported application.
At step 3650, the support application receives an indication to perform the inter-resource feature for a resource of a different type. This may include receiving an indication from a supported application (step 3660), or receiving an indication from a user (step 3670), or both. At step 3680, the support application performs the inter-resource feature for the different resource.
Providing a forward feature may include receiving a user indication to return to a resource from which a back feature was performed (step 3760), determining the resource (step 3765), and providing the resource (step 3770) to the supported application or the user.
The reminder is generated at step 3850. The reminder may be generated by the support application, or the supported application. The reminder may include the resources of different types (step 3860) (i.e., as in a reminder list), and may be appropriate to the type of resource and event for which the reminder is generated (step 3870).
a and 40b are flowcharts of illustrative steps involved in providing an inter-resource parental control feature in accordance with some embodiments of the present invention. At steps 4010 and 4050, the support application receives an indication to set parental controls for resources of different types. These steps may include receiving an indication of a user profile (e.g., step 4020). At steps 4030 and 4050, the support application receives, from the user or the supported application, the parental controls for the resources. At step 4060, the support application, or the supported application, provides access to the resources according to their respective parental controls. This may include providing access for the user profile as indicated at step 4020.
b shows illustrative steps involved in setting parental control settings used by a number of supported applications. The support application receives an indication to set general parental control settings, and the corresponding parental control settings, at steps 4015 and 4025, respectively. In some embodiments, the supported application may control access. For example, at step 4035 the support application receives an inquiry from the supported application for the general parental controls. The supported application may request these controls when, for example, it first starts, in response to a user attempting to access a resource, or in response to any other suitable event. At step 4045, the supported application provides the information to the supported application, and the supported application provides user access according to the parental control settings (step 4055).
In some embodiments, the support application controls user access. For example at step 4065, the support application receives a user indication for access to a resource. This may be directly from the user or from a support application. At step 4075, the support application provides the user with access to the resource according to the general parental control settings. This may include providing access according to parental control for a particular user profile (step 4085).
One skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.
This application claims the benefit of U.S. provisional patent application Ser. No. 60/170,223, filed Dec. 10, 1999, and U.S. provisional patent application Ser. No. 60/200,930, filed May 1, 2000.
Number | Date | Country | |
---|---|---|---|
60170223 | Dec 1999 | US | |
60200930 | May 2000 | US |