UNIVERSAL PROGRAMMING SYSTEM AND METHOD
FOR ELECTRONIC PROGRAMMING GUIDE
FIELD OF THE INVENTION
The present invention relates generally to electronic programming guides and, more particularly, to a programming system for an electronic programming guide.
BACKGROUND OF THE INVENTION
Electronic programming guides (EPGs) are often programmed for set-top boxes (STBs), which typically have a low-speed CPU and extremely limited memory. Such EPGs are simple and limited in functionality. For example, most of these EPGs operate in the same basic fashion: scheduled program information is transmitted to a STB on a viewer's premises by an appropriate form of transmission (e.g., broadcast, direct satellite, cable, etc.). The set-top box CPU retains the transmission in memory so that the scheduled programming information may be subsequently viewed on a viewer's television set in response to user-generated signals. The information generally appears in a grid structure on the television screen with multiple columns corresponding to a designated time slot (e.g., 30 minutes) and multiple rows corresponding to a different television channel.
Any minimal design upgrade of the user interface or other EPG functions requires significant redesign of the EPG and reprogramming of the STB. As a result, broadcasters and content developers cannot easily upgrade the software in existing EPGs, and are often even required to replace the hardware, or at least upgrade the memory, CPU, etc. Moreover, because of the limited resolution quality of conventional television screens, the viewer can only see about 1.5 hours of programming at a time for only a few channels. In addition, current EPGs allow for only one font size. Unfortunately, viewers do not all have the same depth of vision. Therefore, some viewers may be unable to read the programming information on the television screen. Confounding this problem is the fact that existing EPGs do not have very advanced lighting capabilities, which detracts from the functionality of the EPG.
In essence, to date EPG's have been unsophisticated, limited in utility, and difficult to upgrade This detracts from the enjoyment of television viewing and also limits the viewer's desire to make the upgrades necessary to improve the functionality of existing EPGs.
SUMMARY OF THE INVENTION
The present invention provides an improved EPG that can display programming information in a vaπety of ways (e g , 3-D images, alphanumeπc text, and video data) and that also allows viewers and/or television programmers to select between varying programming worlds according to viewer and/or programmer preferences
An EPG in accordance with an embodiment of the present invention provides tor a memory or database which contains objects a through n. One class of objects is a pseudo-descπptive language that descπbes, for example, program events or schedule times. Such an object has a title and/or a channel ID that can be converted into the actual channel number or program association (e.g., Channel 7 equals ABC, etc.).
In a further aspect of the present invention, an additional class of objects contain a vaπety of world descπptions. This class of objects provides a 3-D enabled EPG, including a 3-D virtual world whose end result is the view that the user gets.
Such multiple user interfaces, environments, and even logics may be loaded into the same device at the same time, and by choosing a particular EPG world, vaπous layouts may be achieved. One layout may mimic the look of a classic 2-D EPG approach. Another layout may mimic, for example, a futuπstic science fiction type of environment in space, with rotating carousels showing movie previews, etc A third layout may offer, for example, an environment mimicking video games such as DOOM™, etc. In addition, there may be a dynamic relationship between the selection of content by a user and the selection of a specific world (e.g., the selection of the sports channel by the user changes the world to a ballpark, the selection of the Disney channel changes the world to a Disney world, etc.).
In these vaπous environments, channels may be organized by different classes so that the EPG world may contain, in addition to its layout and descπptions, one through n elements with objects. In turn, each of these objects may be linked or assigned to one of the items to display, such as schedule items, etc.
In addition, there may be non-EPG objects, such as interaction objects. These may be used for e-commerce activities, etc., and may be conflated with the presentation of the world along with the programming schedule items.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and which:
Figure 1 shows a block diagram of a conventional EPG system according to the prior art.
Figure 2 shows an overview of the software architecture of a programming system for an EPG according to an embodiment of the present invention.
Figure 3a shows a pseudo-descriptive language containing one class of objects for an EPG according to an embodiment of the present invention.
Figure 3b shows a description of a 3-D world in another class of objects for an EPG according to an embodiment of the present invention.
Figure 3c shows a description of a non-EPG object according to an embodiment of the present invention.
Figure 4 is one example of a computer system according to an embodiment of the present invention.
DETAILED DESCRIPTION
Described herein is a universal programming system and method for an EPG. Throughout the following description specific details are set forth in order to provide a more thorough understanding of the invention. However, the invention may be practiced without these particulars. In other instances, well known elements have not been shown or described in detail to avoid unnecessarily obscuring the present invention. Accordingly, the specification and drawings are to be regarded in an illustrative, rather than a restrictive, sense.
One limitation of prior art EPGs is that they are unsophisticated. That is, programming information is typically displayed in a grid structure on a television screen.
This information is often not very detailed and may be difficult for some viewers to read Moreover, pπor art EPGs are difficult to upgrade
It would be helpful if an improved EPG system existed to allow users to display programming information in a vaπety of ways (e g , including 3-D images) and to allow users to vary programming worlds according to certain preferences
Referπng now to Figure 1 there is shown a block diagram of a conventional EPG system 100 according to the pπor art A service provider 110 such as a broadcaster or a cable television provider, broadcasts a transmission 115 to a plurality of subscπbers each having a set-top box 120 and 122, etc Signal may be distπbuted and received through a vaπety of means, including optical, microwave, electπcal or other forms of transmission Signal includes EPG data 130 and 132, etc , which is displayed on television screens 134 and 136, etc., as part of television systems 140 and 142, etc EPG data 130 and 132, etc., is displayed in a matπx of rectangular boxes containing text (not shown in this view) in a manner well known in the art
Referπng now to Figure 2 there is shown an overview of the software architecture of a programming system for an EPG 200 according to an embodiment of the present invention The present invention may be implemented in any television system (not shown in this view) including analog (e.g., using CRTs technology) as well as digital technologies (e.g , HDTV supporting interlaced format) A user interface 201 such as a wireless remote control device (using a signal transmission method such as infrared, RF, inductive, or any other available method) may communicate with the television system. In the present embodiment, the remote control device contains a mechanism (e.g., a joystick, track ball, touch pad, mouse, lever, etc ) by which the user can manipulate a cursor on a television screen. Of course, remote control device could also be any one of numerous control devices known in the art, including a wireless keyboard, a wireless pointer device, etc. It is also possible not to use a remote control device at all, and to just use a key pad, cursor, etc , attached directly to the television system.
In the embodiment illustrated by Figure 2, the software architecture of the programming system 200 resides in a set-top box 210 The set-top box 210 typically includes the user interface 201 which compπses a CPU coupled to a read-only memory (ROM) and a random-access memory (RAM) (not show in this view) The ROM
includes instructions and data for executing on the CPU. The RAM is used tor stoπng program vaπables for the program instructions contained in the ROM In another embodiment, the software architecture of the system may reside in the television system or may be built into a VCR.
A presentation engine 202 has dπvers or connectors 205 a through n One such dπver is dπver 203 which connects to the operating system within the set-top box 210 and allows the presentation engine 202 to communicate with such things as a television tuner, data for replenishing programming information, and the like. In addition, there is a memory or database 220 in the system, which contains objects 215 a through n. In the present embodiment, the database 220 resides in the memory. However, since the architecture of the here-referenced system also has hard disks, the database may also be in the hard disk, or in both the memory and the hard disk. An interface 204 provides for a 3-D enabled EPG virtual world whose end result is the view that the user gets. Rather than hard-programming one world into the application and allowing objects such as programs, etc., to be filled-in, numerous objects 215 a through n contain vaπous world descπptions.
The interface 204 displays objects with real shapes on a television screen along with rectangular or bar shaped text blocks (rather than displaying a matπx of rectangular boxes containing text). For example, one method for displaying real shapes involves using 3-D accelerator technology. In one embodiment, the graphics circuitry that provides the information displayed on the television screen stores the image elements in a 3-D model and generates the image using a 3-D accelerator. This is done in a manner similar to that descπbed in our U.S. patent applications 09/344,442 (docket No Isurftvl ) and 09/361,470 (docket No. Isurftv2) and our co-pending application "Electronic Programming Guide" (docket No. Isurftv 12) (all of which descπbe 3-D accelerator technology and are incorporated herein by reference). Bπefly, this is accomplished by a) stoπng a computer model of a geometπc surface of one or more pictograms in a first set of memory locations within the television STB; b) stoπng within a second set of memory locations a two dimensional image to be mapped onto that surface (e.g., a pixel aπay), and c) constructing a pixel array compπsing image.
According to the present embodiment, a vaπety of world descπptions in the objects 215 a through n provide the user with schedule information (or other information
as typically presented in EPGs or IPGs) for broadcast programs using the 3-D accelerator technology mentioned herein These 3-D enabled objects 215 provide a 3-D virtual world whose end result is the view that the user gets For example, one layout may mimic a futuπstic science fiction type of environment in space, with rotating carousels showing movie previews (not shown in this view) Another layout may offer, tor example, an environment mimicking video games, such as Doom™, etc (not shown in this view) Still another environment may offer the look of a classic 2-D EPG approach (not shown in this view)
In these vaπous environments, channels (not shown in this view) may be organized by different classes, so the EPG world may contain, in addition to its layout and world descπptions, a through n elements with objects 215 In turn, each of those objects would then be linked or assigned to one of the items to display, such as schedule items, etc. In addition, there may be a dynamic relationship between the selection by the user of a specific content and the selection of a specific world (e g , the selection of the sports channel by the viewer changes the world to a ballpark, the selection of the Disney channel changes the world to a Disney world, etc.)
Another class of objects 215 contain a pseudo-descπptive language Such an object may convert a title or channel identification into an actual channel or program association.
There may also be non-EPG objects 215, such as interaction objects These may be used for e-commerce activities, etc., and may be mixed in with the presentation of the world along with the programming schedule items For example, the selection of the sports channel by the user may bπng forth a virtual world with the image of a large baseball and bat and a logo indicating that a baseball game is being shown on a particular channel By clicking on the logo, a user may obtain a list of products that may be purchased using an interactive television system in a manner well known in the art
In one embodiment, the user can customize which EPG world he wants based on user preferences. For instance, EPG worlds can be catered to age categoπes of viewers, with particular worlds selected for the interests of senior citizens, teenagers, children, etc In another embodiment, the programmer may decide which world the user views For example, CNN may make a deal with the programmer saying that all CNN channels are to appear in the News World and not the viewer's chosen environment Or, the
programmer may offer 2-3 different world choices, and the viewer may choose amone them. Of course, numerous other programming options are available in the system as well.
Referπng now to Figure 3A there is shown a pseudo-descπptive language containing one class of objects for an EPG 300 according to an embodiment of the present invention. Such an object as shown in Figure 3A has a title 310 and/or a channel identification 320 that may be converted into the actual channel number or program association. For example, Channel 7 may be converted to ABC, etc It may have localized aspects such as local start time 335, run length or end time 340, ad overlay 345, permissive choice of advertisements 350, etc. Other important parameters 360 may also be included in the class of objects as demonstrated in Figure 3A.
Referπng now to Figure 3B there is shown a descπption of a 3-D world in another class of objects for an EPG 380 according to an embodiment of the present invention. Objects 382, 384, 386, etc., may be used to build the world and then the entire world descπption 390 is an object itself.
Refemng now to Figure 3C there is shown a descπption of a non-EPG object 392 according to an embodiment of the present invention. The objects 393 and 394, etc., in Figure 3C may be interaction objects and can be used for e-commerce activities. The objects 393 and 394, etc., may be mixed in the presentation of the world along with the schedule item objects (not shown in this view).
The system and method disclosed herein may be integrated into advanced Internet-or network-based knowledge systems as related to information retπeval, information extraction, and question and answer systems. Figure 4 is an example of one embodiment of a computer system 400. The system shown has a processor 401 coupled to a bus 402. Also shown coupled to the bus 402 are a memory 403 which may contain objects (See Figure 2 objects 215 a through n). Additional components shown coupled to the bus 402 are a storage device 405 (such as a hard dπve, floppy dπve, CD-ROM, DVD-ROM, etc.), an input device 406 (such as a keyboard, mouse, light pen, barcode reader, scanner, microphone, joystick, etc.), and an output device 407 (such as a pπnter, monitor, speakers, etc.). Of course, an exemplary computer system could have more components than these or a subset of the components listed.
The system and method descπbed herein may be stored in the memory ot a computer system (i.e., a set-top box) as a set of instructions to be executed, as shown by way of example in Figure 4 In addition, the instructions to perform the system and method descπbed herein may alternatively be stored on other forms of machine-readable media, including magnetic and optical disks For example, the system and method of the present invention may be stored on machine-readable media, such as magnetic disks or optical disks, which are accessible via a disk dπve (or computer-readable medium dπve) Further, the instructions may be downloaded into a computing device over a data network in the form of a compiled and linked version
Alternatively, the logic to perform the system and method descπbed herein may be implemented in additional computer and/or machine-readable media such as discrete hardware components as large-scale integrated circuits (LSI's), application specific integrated circuits (ASIC's), firmware such as electπcally erasable programmable readonly memory (EEPROM's), and electπcal, optical, acoustical, and other forms of propogated signals (e.g., earner waves, infrared signals, digital signals, etc )
Thus, a universal programming system for an EPG system and method has been descπbed. Although the foregoing descπption and accompanying figures discuss and illustrate specific embodiments, it should be appreciated that the present invention is to be measured only in terms of the claims that follow