This invention relates in general to television systems, and more particularly, to the field of interactive program guides.
Historically, television services have been comprised of analog broadcast audio and video signals. Cable television systems now receive broadcasts and retransmit them with other programming to subscribers over land-line networks, typically comprising fiber optic cable and/or coaxial cable. With the recent advent of digital transmission technology, cable television systems are now capable of providing much more than the traditional analog broadcast video. In addition, two-way and advanced one-way communications between a subscriber and a cable system headend are now possible.
In implementing enhanced programming, the home communication terminal (“HCT”), otherwise known as the settop box, has become an important computing device for accessing video services and navigating a subscriber through a maze of services available. In addition to supporting traditional analog broadcast video and functionality, digital HCTs (or “DHCTs”) now also support an increasing number of services which are not analog, but rather digital; are not basic broadcast, but rather two-way communication such as video-on-demand; and are not basic video, such as e-mail or web browsers. These are all in addition to the host of other television services which are increasingly being demanded by consumers, examples of which include audio and audio/visual programming, advance navigation controls, impulse pay-per-view technology, and on-line commerce. In addition to the interactive services, the increased bandwidth available through a digital television system has made it possible for a subscriber to have access to hundreds, or even thousands, of channels and/or services. Thus, in order to provide these more powerful and complex features, the simple conventional channel abstractions need to be extended beyond those which have traditionally been provided.
Each HCT and DHCT (collectively hereinafter “DHCT”) are typically connected to a cable or satellite television network. The DHCTs generally include hardware and software necessary to provide the functionality of the digital television system at the client's site. Preferably, some of the software executed by a DHCT is downloaded and/or updated via the cable television network. Each DHCT typically includes a processor, a communication component and memory, and is connected to a television or other display device, such as a personal computer. 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 personal computer, as will be appreciated by those of ordinary skill in the art.
As more and more services and applications are provided, cable television systems are providing television program information to the DHCT so that the subscriber can view the program information on the DHCT display such as the television. This program information has traditionally been organized for presentation purposes into a program guide format that presents the program information by time and channel only. The program guide can, for instance, automatically scroll the available television channels to present the program information such as name and title, by time.
Many cable system operators include one or more dedicated channels that scroll through the channel list displaying the programs that not only are currently on, but also are scheduled to be on in the future. These types of passive displays do not rely on a terminal for presentation of the programming data and also lack the interactive functionality of permitting a subscriber to scroll to a desired channel for a desired time. For example, the subscriber typically must view the programming information as it scrolls on the display and wait for either the desired channel and/or the desired time to search for the program that may be available for viewing.
With the advent of program guide “browsers” for use in cable television systems, viewers (also referred to as “subscribers” or “users”) can literally scan program information by time and channel while watching the tuned channel. In analog systems that offer a limited number of cable television channels, these browsers enable the viewer to easily scan available programs one-by-one in order of channel number. However, many digital systems can provide hundreds or even thousands of channels. In such systems, scanning program information by channel numbers sequentially can require many keystrokes by the viewer and can consume tremendous amounts of time. Additionally, locating a particular channel can be quite tedious if the viewer does not already know the channel number for the channel for which it is desired. Traditional program guides have also typically been little more than grids with the channel time and number presented on x and y axes respectively; moreover, traditional systems have failed to flexibly provide the types of complex, graphically rich interactive program applications that are demanded by more sophisticated consumers of current digital systems. As a result, there is a need for interactive program guides that flexibly provide applications to enable viewers to easily and efficiently browse information about available programming and services.
An object of the invention is to overcome the deficiencies and inadequacies as described in the previous section. Briefly described, the preferred embodiment of the present invention provides an apparatus and method for providing a plurality of navigable interactive program guide initial arrangements, or views, for selecting an individual television service or program.
A programmable television services client device that enables a subscriber to navigate to an individual television service that is coupled to a programmable television services server device is provided. The client device includes an interactive program guide contained in memory that displays program information received from the headend server device. The memory of the client device stores configuration information for a plurality of initial guide arrangements, as well as an indication of one of the initial guide arrangements denoted as the selected guide arrangement. In one embodiment of the present invention, the system operator at the headend selects the initial guide arrangement, and an indication of the selection is communicated to the client device. Another embodiment includes a mechanism for storing a viewer preference for the initial guide arrangement. The client device also includes a processor that, responsive subscriber input processes to the interactive program guide and the configuration information, causes the client device to display program information according to the selected guide arrangement.
In one of many embodiments of the present invention, an initial arrangement includes a subscriber browse-by format that includes a list of the guide arrangements on a portion of the guide so that the subscriber may interactively select a desired or preferred guide arrangement for locating an individual television service. In one such implementation, a default browse-by selection is included in the stored indication of the initial guide arrangements.
In an alternate embodiment, the subscriber selects and saves a mode from one or more configurable modes in which an interactive program guide (IPG) presents the initial displayed IPG presentation each time the subscriber invokes an IPG display session. Responsive to a first subscriber input, a first configurable mode displays an initial IPG presentation that lists a multiplicity of guide arrangements in which the subscriber provides secondary input to select a desired IPG presentation arrangement to initiate the current IPG session. Responsive to a first subscriber input, a second configurable mode displays an initial IPG presentation corresponding to the last IPG presentation arrangement effective at the time of exiting the last IPG display session. Responsive to a first subscriber input, a third configurable mode displays an initial IPG presentation corresponding to a preferred IPG presentation arrangement selected by subscriber during an interactive configuration session from a multiplicity of guide arrangements.
The preferred embodiment of the present invention has numerous advantages, a few of which are delineated hereafter, as merely examples.
One advantage of the preferred embodiment of the invention is that it flexibly and efficiently solves the problem of information overload that the subscriber might experience in attempting to navigate between hundreds of perhaps even thousands of potential channel viewing options.
Another advantage of the preferred embodiment of the present invention is that it enables the subscriber to instantly manipulate a list of selectable guide arrangements to permit a subscriber to take advantage of, for example, a time option, a theme option or a title option in locating a desired individual television service.
Other objects, features, and advantages of the present invention will become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional objects, features and advantages be included herein within the scope of the present invention as defined by the claims.
The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily 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.
Memory 30, such as a non-volatile and dynamic random access memory, is coupled to the processor 24 and stores operational parameters, such as commands that are recognized by the processor 24. The most basic functionality of the DHCT 16 is provided by an operating system 31 that operates in memory 30. One or more programmed software applications, herein referred to as applications, are executed by utilizing the computing resources in the DHCT 16. The application executable program stored in memory 30 is executed by processor 24 (e.g., a central processing unit or digital signal processor) under the auspices of the operating system 31. Data required as input by the application program is stored in memory 30 and read by processor 24 from memory 30 as need be during the course of application program execution. Input data may be data stored in memory 30 by a secondary application or other source, either internal or external to the DHCT 16, or possibly anticipated by the application and thus created with the application program at the time it was generated as a software application program. Data may be received via any of the communication ports of the DHCT 16, from the headend 11 via the DHCT's network interface (i.e., the QAM or out-of-band tuners) or as subscriber input via receiver 26. A type of input data fulfills and serves the purpose of parameters as described below. Data generated by application program is stored in memory 30 by processor 24 during the course of application program execution. Availability, location and amount of data generated by a first application for consumption by a secondary application is communicated by messages as described below. Messages are communicated through the services of the operating system, such as interrupt or polling mechanisms or data sharing mechanisms such as semaphores.
A Navigator (application) 33 is responsible for providing the subscriber the capability to select services and also provides a core functionality of the DHCT 16, including volume and settings. To implement its functionality, the Navigator 33 communicates with a platform 35, which is a collection of functionality such as the services application manager (SAM) 36, a Configuration Manager 42, and a Window Manager 45 that is useful to the applications. The platform 35 may also include such functionality as a Timer Manager, a Compression Manager, an HTML Parser, a Database Manager, A Widget Toolkit, and other utilities (not shown).
In one implementation, the Window Manager 45 maintains, among other things, a user input registry 32 so that when a subscriber enters a key or a command via the remote device 27 or another input device such as a keyboard or mouse, the user input registry 32 is accessed to determine which of various applications running on the DHCT 16 should receive the inputted key and it what order. The Navigator 33 registers for certain user input commands with the Window Manager 45 so that when the subscriber hits a key corresponding to one of the commands on the remote 27, the command is received by the receiver 26 and relayed to the processor 24. The processor 24 dispatches the event to the operating system 31 where it is forwarded to the Window Manager 45 which ultimately accesses the user input registry 32 and routes the incoming command to the Navigator 33. The Navigator 33 registers for user input commands that correspond to service navigation functions such as selecting a channel (channel increment, channel decrement, favorite, last) and those for other reserved functionality such as a key to activate the program guide.
After the Navigator 33 is activated by the remote 27, it sends a command to a services application manager (“SAM”) component 36 part of the platform 35. The SAM 36 maintains a services database 37 of all services available on the DHCT 16 that the subscriber may access and also comprises Daemon 34. A service is a pairing of an application and a parameter, such as a WatchTV application (not shown) and the television program to tune (e.g. NBC), or an E-mail application (not shown) and the IP address of the E-mail server. When the SAM 36 receives a query from the Navigator 33, it accesses the service database 37 and informs the Navigator 33 about the existence and status of the requested service. The Navigator 33 can further query the SAM 36 to determine if the service is authorized for the DHCT 16 and, if so, subsequently command the SAM 36 to activate the service. In response, the SAM 36 initiates an activate service message to the application identified in the service database as the provider of the desired service. As a non-limiting example, the subscriber pressing a “GUIDE” key on the remote 27 would activate the interactive program guide (application) 38. That is, the subscriber presses a first key that invokes display of an interactive program guided (IPG) 38 presentation session.
The IPG 38 displays a program guide to the subscriber and populates the guide with program data for selection. Contained in the IPG 38 is a user interface component 39 that controls the screen display presented to the subscriber on display 21. When the user interface 39 receives the activation message from the SAM 36, the user interface 39 proceeds in accessing an IPG database 40 and a configuration module 41 to determine the appropriate program guide configuration (initial guide arrangement or view) to present to the subscriber on the display 21. The IPG database 40 contains program data files of current and future television programs. An IPG configuration module 41 stores settings that the user interface 39 will implement in creating the display for the subscriber. According to the preferred embodiment of the present invention, the IPG configuration module 41 includes a configuration database 43 of all configurations relevant to the IPG 38. The configuration library 42 allows applications to access configurations stored in other applications, such as the IPG configuration database 43. Some of these configurations are pre-loaded into DHCT 16 non-volatile memory before it is released to a subscriber for use in viewing television services. Additionally, configurations can be updated, added, or replaced in the DHCT 16 by communicating the configuration data files 54 (
When the IPG user interface 39 receives the activate service command from the SAM 36 responsive to a user selecting the IPG from the remote 27, the IPG user interface 39 accesses the IPG configuration module 41 to determine which viewing arrangement to present to the subscriber on the display 21. Based on the configuration information stored in the configuration module 41, the user interface 39 utilizes the window manager 45 and other graphics utilities provided by the operating system 31 to draw the screen on the display 21. The window manager 45 is a component that in one embodiment is part of the platform 35, but in other embodiments may be part of the operating system 31. In addition to the user input registry mentioned previously, it contains functionality for managing screen real-estate and synchronizing the drawing done by multiple applications. The operating system 31 provides primitives to the user interface 39 to, for example, to create a rectangular region on display 21 and to draw into that rectangle graphics utilities such as lines, shadings and strings.
As a window is created on display 21 for presentation to the subscriber, the IPG user-interface 39 registers with the window manager 45 for particular user input commands that are required by the newly-created window on the display 21. The IPG 38 also contains a daemon 46 that receives program data files 53 from the headend 11, and the daemon 46 stores the program data files 53 in the database 40 for utilization by the user interface 39.
The Navigator application 33, IPG 38, and all other applications executed by the resources of the DHCT 16 comprise an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the 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 not limited to, an electronic, solid-state, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium, either internal to the DHCT 16 or externally connected to the DHCT 16 via one or more communication ports or network interfaces. More specific examples (a nonexhaustive 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. Furthermore, any process descriptions or blocks in flow charts should be understood as representing modules, segments, or portions of code or programmed software which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.
With reference to
In
As discussed above, the configuration server 52 (
In the time view, the main program display area 76 includes program names organized in a grid of rows of channels and columns of time. The ordering area 78 includes a vertical list of channels organized sequentially from top to bottom by increasing channel number. The main program display area 76 can be scrolled in both time and channel number dimensions. The time dimensions are a horizontal array of program names categorized in columns of times in which they are broadcast. As the subscriber scrolls in time across a calendar day boundary, the selected day displayed in various areas is automatically updated.
When the IPG 38 is first activated by the subscriber and the time view is configured to be the initial view, the first, or lowest, channel, including channel name and number, in the channel lineup is centered in the channel portion of the IPG display 78. In this non-limiting example, the lowest channel in this channel list displayed in the ordering area 78 is The Weather Channel (TWC), which is shown as channel 1. Continuing with this non-limiting example, the left-most time column is set for two hours in the future, for example, making the “in-focus” program on the lowest channel, The Weather Channel, two hours in the future, centered and highlighted as highlighted program area 72. It should be noted that the current program shown in current program video area 73 and referenced in information banner 74, corresponds to channel 10 at 12:01 p.m., does not match the in-focus program on channel 1 at 2:00 p.m.
If the subscriber wants to view a theme other than the current theme displayed in the ordering area 81, a separate input via the remote 27 directs the DHCT 16 to display multiple themes to a subscriber by moving the cursor 72 to the theme column in the ordering area 81. The ordering area 81 enables a subscriber to identify a theme from a scrolling list of themes (not shown) from which the subscriber may select an individual theme for a selected date. The programs in the main program display area 82 for the selected theme in the ordering area 81 are arranged sequentially by broadcast time.
Continuing with this non-limiting example, if the title format is the view that is the initial guide arrangement, the DHCT 16 displays the first alphabetical category (“A”) as the first selected category in the ordering area 91. In the main program display area 82, the first program in that category starting after the current time is displayed alphabetically at the top of the list in the main program display area 82. The highlighted program area 72 is centered in the main program display area 82 enabling the subscriber to scroll up and down to the various programs listed under the category selected in the title portion of the ordering area 91. Thus, a subscriber may navigate by using the remote 27 (
As described previously, in the preferred embodiment, the default “in-focus” position is the currently showing program on the channel to which the DHCT 16 is tuned, for the time, theme, and title views. The subscriber can return the IPG display 90′ to this state by actuating a particular function key on the remote 27 such as the “C” key. An alternate embodiment of this invention may have a different default or home position, possibly for each view. For example, the default position in the theme view may have the cursor highlighting 72 the first available theme category in the theme list on the left, and the default position in the title view may have the cursor highlighting the first alphabetical category (“A”) in the title view.
A further alternative embodiment provides the subscriber, in response to actuating a particular function key on the remote 27 such as the “C” key, a list of default positions that can be selected. These positions may include, but are not limited to, the currently showing program in-focus, the first category of the relevant view highlighted, a favorite category the user has previously defined, or a recommended program in line with the user's television watching habits.
In addition, from this initial guide selection in browse-by theme format, the subscriber may select either the time, theme, or title view by input, such as through the “select” key, from the remote 27. For example, if the subscriber “selects” the theme view from the browse-by menu 101, the IPG screen 80′ of
Additionally, from this initial guide selection in browse-by time format, the subscriber may select either the time, theme, or title view by input, such as through the “select” key, from the remote 27. For example, if the subscriber “selects” the time view from the browse-by menu 101, the IPG screen 70′ of
Additionally, from this initial guide selection in browse-by title format, the subscriber may select either the time, theme, or title view by input, such as through the “select” key, from the remote 27. For example, if the subscriber “selects” the title view from the browse-by menu 101, the IPG screen 90′ of
In an alternative embodiment, initial guide arrangements may be configured for a variety of formats in addition to those described above based on types of programming, such as news programs, sports programs, movie programs, etc. As a non-limiting example, an initial guide arrangement can be configured for movie programming depicting a set of movies by channel versus broadcast time. Other configurations include initial guide arrangements with a set of movies displayed by title and a set of movies displayed by theme. The set of movies may be configured to include both all movies purchasable for fee and regular broadcast or merely movies of a distinct set that are purchasable and free.
In an alternate embodiment, the subscriber selects and saves a mode from one or more configurable modes in which an IPG 38 presents the initial guide arrangement each time the subscriber invokes an IPG display session. Responsive to a first subscriber input, a first configurable mode displays an initial guide arrangement that lists a multiplicity of guide arrangements in which the subscriber provides secondary input to select a desired guide arrangement to initiate the current IPG session. Responsive to a first subscriber input, a second configurable mode displays an initial guide arrangement corresponding to the last guide arrangement effective at the time of exiting the last IPG display session. Responsive to a first subscriber input, a third configurable mode displays an initial guide arrangement corresponding to a preferred guide arrangement selected by subscriber during an interactive configuration session from a multiplicity of guide arrangements.
It should be emphasized that the above-described embodiments of the present invention, particularly, any “preferred embodiments” are merely possible examples of the implementations, merely setting forth for a clear understanding of the principles of the inventions. Any variations and modifications may be made to the above-described embodiments of the invention without departing substantially from the spirit of 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.
This application is a continuation of U.S. application Ser. No. 09/518,041, filed on Mar. 2, 2000, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 09518041 | Mar 2000 | US |
Child | 12127968 | US |