US 7516470 B2
A method for providing an interactive program guide (IPG) includes receiving from a user a request for an IPG, and providing the user with an IPG that includes listings that were received by a digital home communication terminal (DHCT) via a subscriber television network, as well as other listings that were not received by the DHCT via the subscriber television network.
1. A method for providing an interactive program guide (IPG) via a digital home communication terminal (DHCT) located at a customer premises, the method comprising steps of:
receiving a plurality of listings of a first type via a subscriber television network;
receiving data related to at least one local device capable of communicating with the DHCT;
providing a user with an IPG, the IPG including a first IPG menu screen that includes the plurality of listings of the first type and at least one listing of a second type corresponding to the data related to the at least one local device, wherein the plurality of listings of the first type and the at least one listing of the second type are displayed as elements in an IPG grid; and
providing, within the IPG, an option for a user to access a second IPG menu screen, the second IPG menu screen including at least one designation associated with the at least one local device, wherein the second IPG menu screen enables the user to select the at least one designation to be accessible to a user through the first IPG menu screen,
wherein the data related to the at least one local device includes personal calendar information from a computer.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
receiving user input requesting that a functionality instance be provided by the local device; and
responsive to receiving the user input, transmitting to the local device a message requesting that the functionality instance be provided.
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. A Digital Home Communication Terminal (DHCT) located at a customer premises, the DHCT comprising:
a communications interlace that receives functionality information from at least one local device, wherein the functionality information is related to a functionality of the local device;
logic configured to provide an Interactive Program Guide (IPG) that includes a first IPG menu screen including:
at least one television program listing; and
at least one listing related to the at least one local device; and
logic configured to provide a second IPG menu screen, the second IPG menu screen including:
at least one functionality related to the at least one local device; and
at least one user selectable option of displaying any number of functionality listings in the first IPG menu screen,
wherein the local device includes a computer, and
wherein the functionality is one of an electronic calendar functionality.
15. The DHCT of
16. The DHCT of
17. A method for providing an interactive program guide (IPG) via a digital home communication terminal (DHCT) located at a customer premises, the method comprising steps of:
receiving a plurality of listings of a first type via a subscriber television network;
receiving data related to at least one local device configured to communicate with the DHCT;
providing a user with an IPG menu screen that includes the plurality of listings of the first type and at least one listing of a second type corresponding to the data related to the at least one local device, wherein the plurality of listings of the first type and the at least one listing of the second type are displayed as elements in an IPG grid, and wherein the first IPG menu screen includes at least one time indicator associated with the displayed elements of the IPG grid; and
in response to receiving user input for viewing functionality related to the at least one listing of the second type, removing the at least one time indicator associated with the displayed elements from the first IPG menu screen.
18. The method of
19. The method of
This invention relates in general to television systems, and more particularly, to the field of electronic program guides.
Cable television systems are now capable of providing many services in addition to analog broadcast video. In implementing enhanced programming, the home communication terminal (“HCT”), otherwise known as the settop box, has become an important computing device for accessing various video services. In addition to supporting traditional analog broadcast video functionality, digital HCTs (or “DHCTs”) now also support an increasing number of two-way digital services such as video-on-demand.
A DHCT is typically connected to a cable or satellite television network and includes hardware and software necessary to provide various services and functionality. Some of the software executed by a DHCT can be downloaded and/or updated via the cable television network. Each DHCT also typically includes a processor, communication components and memory, and is connected to a television or other display device. While many conventional DHCTs are stand-alone devices that are externally connected to a television, a DHCT and/or its functionality may be integrated into a television or other device, as will be appreciated by those of ordinary skill in the art.
Many DHCTs provide users with television program information via electronic program guides (EPGs). Some EPGs automatically scroll through television channel listings to present program information that corresponds to respective channels and time periods. Other EPGs, also known as interactive program guides (IPGs), allow a user to scroll through and/or search available program information by providing input commands via a remote control device. As many DHCT users spend substantial amounts of time watching television and browsing through IPG listings, they have become very adept and comfortable at using IPGs. However, IPGs are often underutilized in conventional systems. Therefore, there exists a need to expand IPG functionality to provide users with easy and convenient systems and methods for accessing desired information.
The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. In the drawings, like reference numerals designate corresponding parts throughout the several views.
Preferred embodiments of the present invention will be herein described in the context of a digital home communication terminal (DHCT) that is coupled to a subscriber television system (STS). In accordance with one implementation, the DHCT provides a user with a locally updated interactive program guide (IPG) that contains television presentation listings that were received by the DHCT via the STS, as well as other listings that were not received via the STS. These other listings may be based on data provided by user input or by a local device. The local device may be, for example, a personal computer (PC), a consumer electronics device, or a home appliance, among others. If the local device is a PC, then the IPG may, for example, include listings that correspond to a functionality provided by a software program that is running on the PC.
Below is a detailed description of the accompanying figures (
A local device 150 capable of communicating with the DHCT 200 is also located at the customer premises 120. The local device 150 provides one or more functionalities to a user and may be for example, a desktop computer, a notebook computer, a personal digital assistant (PDA), a thermostat, an alarm clock, a home security system, a kitchen appliance, a lamp, a light fixture, a television, an audio player, a video cassette recorder (VCR), a digital video disc (DVD) player, and a home appliance, among others. Information about a functionality provided by the local device 150 is transmitted from the local device 150 to the DHCT 200 where it is effectively stored in IPG database 240. The DHCT 200 subsequently provides this information to a user as part of an interactive program guide (IPG) that is presented via the television 140, as illustrated, for example, in
Examples of how a DHCT 200 may discover a local device 150 include the following scenarios, among others:
1) The DHCT 200 acts as a source of IP addresses using a Dynamic Host Configuration Protocol (DHCP). This approach may involve a local device 150 contacting the DHCT 200 to obtain an IP address.
2) The DHCT 200 may synchronize with a local device 150 (e.g., a computer) that supports plug-and-play operation.
3) One or more local devices 150 are specifically programmed to contact the DHCT 200 to register themselves with it.
4) The DHCT 200 is informed of the existence of a local device 150 via information provided by user input. The DHCT 200 uses this information to contact the local device 150.
Preferably, once the DHCT 200 is aware of the existence of a local device 150, then the two units may communicate using a suitable communications protocol. The DHCT 200, in one embodiment, may query the local device 150 about the latter's capabilities. Furthermore, the DHCT 200 may use information received from the local device 150 to compose a user-interface screen for providing instructions to the local device 150. In one embodiment, the DHCT 200 communicates with the local device 150 using one or more residential networking standard such as, for example, Bluetooth, CAL, CEBus, Convergence, emNET, HAVi, HomePNA, HomePlug, HomeRF, Jini, LonWorks, UPnP, 802.11A, 802.11B, 802.11G, 802.15.3 and VESA, among others.
A home network communications application (HNCA) 260 communicates with a local device 150 via a home network interface (HNI) 290. The HNI 290 acts as an interface for transmitting and/or receiving data to/from a local device 150. The HNI 290 may comprise, for example, a USB (Universal Serial Bus) connector, an Ethernet port, an IEEE-1394 connection, a serial port, a parallel port, a wireless radio frequency (RF) interface, a telephone line interface, a power line interface, a coaxial cable interface, and/or an infra-red (IR) interface, among others. In one possible implementation, the HNI 290 may be coupled to a local device via an Ethernet hub. A driver for the HNI 290 may be included in the operating system (O/S) 231 or may otherwise be stored in memory 230.
Memory 230, which may include volatile and/or non-volatile memory, stores one or more programmed software applications, herein referred to as applications, which contain instructions that may be executed by the processor 210 under the auspices of the operating system 231. Data required as input by an application is stored in memory 230 and read by processor 210 from memory 230 as need be during the course of the application's execution. Input data for an application may be data stored in memory 230 by a secondary application or other source, either internal or external to the DHCT 200, or may be data that was created with the application at the time it was generated as a software application program. Data transmitted by the headend 110 may be received via the communications interface 222, whereas user input may be received from an input device via receiver 212. Data generated by an application is stored in memory 230 by processor 210 during the course of the application's execution. Availability, location and amount of data generated by one application for consumption by another application is communicated by messages through the services of the operating system 231.
The IPG application 238 displays a program guide to the user and populates the guide with information about television functionalities. The IPG 238 includes an IPG user interface module 239 component that creates an IPG for presentation to the user. The IPG user interface module 239 accesses configuration settings stored in an IPG configuration module 241 to implement an appropriate configuration for the IPG. The IPG configuration module 241 includes a configuration database 243 for storing a plurality of IPG configurations. The IPG user interface module 239 populates the IPG with information contained in an IPG database 240. The IPG database 240 contains data files corresponding to current and future services and/or functionalities that are or will be available via the DHCT 200 and/or other local devices.
Based on the configuration information stored in the IPG configuration module 241, the IPG user interface module 239 utilizes the window manager 245 and other graphics utilities provided by the operating system 231 to render an IPG on the television 140. The window manager 245, which may also be part of the operating system 231, contains functionality for allocating screen areas and managing screen use among multiple applications. The operating system 231 provides primitives to the IPG user interface module 239 in order to help render images on the television 140 (
As a window is generated on a display device, the IPG user interface 239 registers with the window manager 245 in order to receive particular user input commands that may be required for selecting options provided by the newly-created window. The IPG 238 also contains a daemon application 246 that forwards IPG data received from the headend 110 or the local device 150 to the IPG database 240. Such IPG data may include information about services and functionalities that are provided by the DHCT 200 and/or the local device 150.
A PVR application 270, in cooperation with an appropriate device driver, may effect the storage of a video stream that is received from a local device 150 in a storage device 280. The PVR application 270 may also effect the retrieval and presentation of a video stream including the provision of trick mode functionality such as fast forward, rewind, and pause.
The IPG application 238, the HNCA 260, the PVR application 270, and all other applications executed by the resources of the DHCT 200 comprise executable instructions for implementing logical functions. The applications can be embodied in any computer-readable medium for use by or in connection with an instruction execution system. The instruction execution system may be, for example, a computer-based system, a processor-containing system, or any other system capable of executing instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example, but is not limited to, an electronic, solid-state, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium, either internal to the DHCT 200 or externally connected to the DHCT 200 via one or more communication ports or network interfaces. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a hard drive storage device (magnetic), a random access memory (RAM) (solid-state device), a read-only memory (ROM) (solid-state device), an erasable programmable read-only memory (EPROM or Flash memory) (multiple devices), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
In an alternative embodiment of the invention, different and/or additional systems and methods of providing user input may be used including, for example, a remote control device having different keys and/or key layouts, a keyboard device, a mouse, a voice activated input system, a touch-screen display, etc. The invention described herein is not limited by the type of device used to provide user input.
Video corresponding to the television channel to which the DHCT 200 is currently tuned (for which audio may also be playing, and which typically corresponds to a television presentation occupying the full screen before the user is presented with IPG screen 800) is displayed in a video area 830. Immediately below the video area 830 is an information banner 840 for displaying the television channel number corresponding to the television channel to which the DHCT 200 is currently tuned (e.g., 5), the current day and date (e.g., Thursday, January 17), and the current time (e.g., 5:00 a.m.).
An IPG grid 865 includes a main listing display area 860, a time area 870, and a functionality identification area 880. The main listing display area 860 contains listings of functionality instances that correspond to respective television functionalities identified in functionality identification area 880 and that, in some cases, are or will be available during the time periods listed in the time area 870. The functionality identification area 880 includes a vertical list of television functionalities organized sequentially from top to bottom by increasing television channel number (except for the highest numbered television functionality which is typically listed immediately above the lowest numbered television functionality). In one embodiment, the arrow buttons 310 (
Though other implementations are contemplated within the scope of the present invention, when the IPG application is first activated by the user, the lowest numbered television functionality is typically centered in the functionality identification area 880. In this non-limiting example, the lowest numbered television functionality in the functionality identification area 880 is ABC (channel number 2). Continuing with this non-limiting example, the left-most time column in the main listing display area 860 includes titles of functionality instance listings scheduled to be available about two hours into the future with the middle title in the column being highlighted and corresponding to the lowest numbered television functionality. Therefore, in this example, the Good Morning America listing 820, which is scheduled to be provided via ABC (channel number 2), is highlighted. It should be noted that the current functionality instance listing shown in video area 830 and referenced in information banner 840, corresponds to the currently tuned television channel (channel number 5), and not to the channel corresponding to the currently highlighted functionality instance listing 820. The bottom area 850 of IPG screen 800 indicates the selected day for which functionality instance listing data is being displayed as well as information about the current functions of the “A”, “B”, and “C” keys on the remote control 300. In an alternative embodiment, an IPG screen may have fewer, additional, and/or different components and may have a different layout. For example, an IPG screen might not include a detailed focus area 810, a video area 830, an information banner 840, and/or a bottom area 850.
Each of the options 1002-1006 corresponds to a functionality that is offered by a local device that is capable of communicating with the DHCT 200 (
In one embodiment of the invention, the functionalities that are listed via the Home Network Options screen 1000 are customized based on the specific user that is currently signed-in for the DHCT 200. Therefore, in the current example, the Home Network Options screen 1000 is presented to a person who is signed-in using the user name “Jane.”
The PC Calendar functionality instance listings 1202-1204 have respective time characteristics that are represented by the corresponding time entries in the time area 870. The PC Movies functionality instance listings 1212-1214, on the other hand, do not have such time characteristics, even though the listings 1212-1214 may be displayed below respective time entries. In one embodiment, time entries in the time area 870 are not displayed when one of the functionality instance listings 1212-1214 is highlighted.
A user may request a functionality instance (e.g., a movie), or additional information pertaining to a functionality instance (e.g., a calendar entry) by selecting a corresponding functionality instance listing. A user selection may be effected via a remote control device such as, for example, the remote control 300 (
If a user selects a functionality instance corresponding to a movie that is stored on the local device 150, then the HNCA 260 may request such movie from the local device 150. When the DHCT 200 receives a video stream corresponding to the requested movie, then the PVR application 270, in cooperation with an appropriate device driver, may effect the storage of the video stream in the storage device 280. The PVR application 270 may also effect the retrieval and presentation of the requested movie including the provision of trick mode functionality such as fast forward, rewind, and pause.
Data identifying PC functionality instance listings may be imported by the HNCA 260 (
In accordance with one embodiment of the invention, a user may view data corresponding to a functionality instance (e.g. an e-mail message) by selecting the corresponding functionality instance listing. In accordance with another embodiment of the invention, a user may request a screen for modifying a functionality instance setting by selecting the corresponding functionality instance listing.
Any blocks or steps shown in
The functionality provided by the method illustrated in
The functionality provided by the method illustrated in
It should be emphasized that the above-described embodiments of the present invention, particularly any “preferred embodiments”, are merely possible examples, among others, of the implementations, setting forth a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiments of the invention without departing substantially from the principles of the invention. All such modifications and variations are intended to be included herein within the scope of the disclosure and present invention and protected by the following claims. In addition, the scope of the present invention includes embodying the functionality of the preferred embodiments of the present invention in logic embodied in hardware and/or software-configured mediums.