The present invention relates to the field of electronic programming guides. In particular, the present invention relates to providing images in an electronic programming guide.
In the early days of television when a viewer wanted to see what the selections of programming were, he would manually change from one channel to the next by turning a knob on the television set. This was a reasonable thing to do because originally there were only a few channels among which to choose. Cable TV brought an increase in the number of available channels and the accompanying technology of the remote control, which gave the viewer the capability to surf through the channels until he came upon a program that he wanted to watch. With the advent of satellite TV, and the corresponding leap from dozens to hundreds of channels of available programming, came the need to provide the viewer with a more convenient means for making program choices.
Paper guides listing channels and times of programming are printed in the newspaper and elsewhere but these are inconvenient and difficult to use, thus the development of electronic programming guides (EPGs). EPGs are lists of programming information displayed on the television screen or monitor which provide an interactive method for the viewer to review options and make programming choices.
In most EPGs known in the art, when a viewer wants to select a program, the EPG presents a list of available programs, typically in the form of a text list. The viewer is able to select the type of program, the time slots and other parameters in order to customize the program listings displayed and limit the choices to a reasonable number. In some cases, the text may have an additional small picture or logo pertaining to a specific item in the list of programs. For example, an image of a football may appear, referring to a listed football game or an image of a bat and ball may refer to a listed baseball game.
A drawback to the prior art EPGs is that knowing the name of the program, even with other information available in the textual format, may not be enough information to really inform the viewer of her choices. In this age of reruns and syndication, different episodes of the same show may be playing on the same day at different times or even on different channels at the same time. Just knowing the name of the show may not be enough to know if the program is an episode the viewer wishes to see. Also, with so many programming choices from which to draw, the viewer cannot possibly be acquainted with the name of every program. It would be useful to be able to see in real time what is currently showing on the selected channels and thus to receive quick impressions of the programs currently in progress when making a viewing choice.
One way of providing this kind of real time information is to create thumbnail video scenes for display on the video screen or monitor. “Thumbnail” is a term used by graphic designers meaning a small image representation of a larger image. Displaying thumbnail images of scene choices allows more choices to be displayed more quickly and manageably than using full size images.
The technology to generate a thumbnail of a video stream is known in the art. In standard broadcast television, for example, the approximate video resolution of the video stream is 600×400 pixels. In contrast, the thumbnail video resolution is much lower, typically only 20×16 pixels or so. In the prior art, broadcast providers generate live thumbnail video streams for multiple channels at the head-end and combine them into a fixed array of thumbnails which are made available to viewers in a single video stream broadcast over a separate preview channel. The fixed array of thumbnails is then capable of being displayed as a standard mosaic of live thumbnail videos.
One drawback to combining thumbnails into a fixed array at the provider head-end is that providers supply so many channels that only a small number of them can be combined into any particular array, typically up to 16 channels per array. But those 16 channels may not be the ones which the viewer is interested in previewing. Another drawback is that the use of a separate preview channel to supply the thumbnails wastes bandwidth. At the receiving end there is yet another drawback—the EPG cannot provide the viewer with the ability to select only certain thumbnails for display from the fixed array. Because the fixed array of thumbnails is encapsulated using standard video transport protocols, there is no way to identify the content of each individual thumbnail. Consequently, all of the thumbnails represented in the fixed array must be displayed on the preview channel as a predetermined mosaic of live thumbnail streams.
The present invention will be described by way of exemplary embodiments, but not limitation, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
In the following description, various aspects of the present invention, an image-oriented electronic programming guide (EPG) system, are described. Specific details are set forth in order to provide a thorough understanding of the present invention. However, it is understood by those skilled in the art that the present invention may be practiced with only some or all aspects described here, and with or without some or all of the specific details. In some instances, well-known features may be omitted or simplified in order not to obscure the present invention.
Parts of the description are presented in terms of operations performed by a computer system, using terms such as data, flags, bits, values, characters, strings, numbers and the like, consistent with the manner commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. As is well understood by those skilled in the art, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through mechanical and electrical components of the computer system; and the term computer system includes general purpose as well as special purpose data processing machines, systems, and the like, that are standalone, adjunct or embedded.
The present invention is described in components for ease in illustrating the embodiments. The invention may or may not actually be implemented in discrete components, and such components may or may not correspond to the components used in this description. Also, even though some components and functions may be described as being hardware or software, as is well understood by those in the art, which components and functions are implemented in hardware and which are implemented in software may vary depending on many factors, such as the speed of the processor or processors involved, among others, and these variations in implementation are well within the scope of the present invention. Also, the use of the term “hardware” is intended to include the term “logic” meaning Boolean logic as implemented in, for example, a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC).
Various operations are described as multiple discrete steps performed in turn in a manner that is most helpful in understanding the present invention. However, the order of description should not be construed to imply that these operations are necessarily performed in the order they are presented, or even order dependent. Lastly, repeated usage of the phrase “in one embodiment” does not necessarily refer to the same embodiment, although it may.
In one embodiment of the present invention, the individual image areas 205A-X contain snapshots of current programming for the selected channels. The snapshot is generated using an enhanced tuner or television input circuitry that is capable of capturing the snapshots from a television input source. Each snapshot is updated at brief intervals of, for example, a few seconds, or whenever a scene change is detected.
In yet another embodiment of the present invention, the individual image areas 205A-X contain thumbnail video streams of real-time programming for the selected channels. The thumbnail video streams are provided on an enhanced preview channel generated by a head-end server. The head-end server reduces the resolution of each video stream, encapsulates each reduced stream with an identifying header, encodes the encapsulated video streams and multiplexes them into the enhanced preview channel.
Also shown in
Also shown in
Also shown in
In one embodiment, the EPG can receive information and commands by a keyboard 322 that is electrically coupled to CPU 306. Keyboard 322 can be an alphanumeric keyboard, e.g. a qwerty keyboard. However, other types of keyboards can be used in conjunction with the EPG. Keyboard 322 provides additional flexibility for a viewer controlling the EPG.
In one embodiment, the EPG can be programmed to provide to the viewer a reminder when certain programs of interest are going to be on. This can be accomplished using remote controller 150, clicking on a selected program pictogram, and pressing a control button on the remote controller that instructs CPU 306 to display a prompt on screen 100 shortly before that program is to be broadcast. Alternatively, remote controller 150 can have a numeric keyboard or a more complicated input control console for purposes of entering such information into the EPG. Alternatively, keyboard 322 can be used to enter this information.
In one embodiment, a viewer can modify the format in which the EPG information is to be displayed. For example, the viewer can adjust the size of the text (e.g. the font size) of the information displayed by the EPG. Thus, viewers with poor vision will be better able to read the information displayed by the EPG. Viewers with good vision can shrink the text size so that more information can be displayed on the screen by the EPG. This can be accomplished by using remote controller 150 to cause CPU 306 to display an appropriate menu of control options on screen 100. The viewer can then click on the displayed options to enter a text font size into the EPG. (The text font size is typically stored within a memory in the EPG, e.g. within memory 309.) Rather than clicking on text font size options, text font size information can be entered into the EPG using keyboard 322.
There are several ways that a viewer can enter mode information into the EPG. For example, remote controller 150 can have a mode button. When the mode button is pressed, a list of programmable menu options appears on screen 100, and the viewer can click on a desired option. Alternatively, the EPG can have a menu icon, and the viewer can click on the menu icon. Alternatively, there can be a menu button on STB itself that a viewer can push. Other techniques can be used to communicate programmable option choices to the EPG.
In another embodiment, such as that discussed in reference to an image-oriented EPG system capable of displaying the individual image areas 205A-X of
In an alternative embodiment, the reduced size displays in individual image areas 205A-X can be mapped onto one or more independent or geometric surfaces, e.g. the surfaces of a polyhedron (e.g. a cube) as described in U.S. patent application Ser. No. 09/378,184, filed Aug. 20, 1999 by Kamen et al., and U.S. patent application Ser. No. 09/378,220, filed Aug. 20, 1999 by Kamen et al. The '184 and '220 Applications are incorporated herein by reference. The graphics circuitry that provides the information displayed on screen 100 stores the image elements of the individual image areas 205A-X in a 3D model and generates the image of the individual image areas 205A-X using a 3D accelerator. This is done in a manner similar to that described in U.S. patent application Ser. Nos. 09/344,442 and 09/361,470. (The '442 and '470 Applications describe 3D accelerator technology and are incorporated herein by reference.) Briefly, this is accomplished by a) storing a computer model of an independent or geometric surface of one or more of the individual image areas 205A-X in a first set of memory locations within the television STB; b) storing within a second set of memory locations a two dimensional image to be mapped onto that surface (e.g. a pixel array); and c) constructing a pixel array comprising the individual image area 205A-X.
The '184 and '220 Applications teach mapping (or binding) video images of the reduced size displays onto an independent surface or a geometric surface of the individual image areas 205A-X using 3D accelerator technology. A 3D graphics accelerator generates a pixel array corresponding to these images as bound onto the independent or geometric surfaces. By altering the position of a “virtual viewer”, or by altering the shape or angle of the independent or geometric surface, one can create an appearance similar to projecting a movie onto a surface having a particular shape, or held at a particular angle. The '184 and '220 applications teach, among other things, that one can display an individual image area 205A-X as a polyhedron (e.g. a cube), with different video images of the reduced size displays appearing on the various faces of the cube. A viewer can alter the orientation of the polyhedron using the remote controller so that different polyhedron faces are exposed.
For example, in one embodiment of the invention, programs from different channels are mapped onto different faces of a polyhedron (e.g. the three faces of the ABC/UPN/FOX polyhedron in the individual image areas 205A-X of
The location and angle of the independent or geometric surface upon which the reduced size video images are mapped can be modified by the EPG. For example, by clicking on a reduced size video image in individual image areas 205A-X, the viewer can cause the EPG to move the image closer to the virtual viewer (i.e. enlarge the portion of the screen showing the video image.)
As illustrated in
In one embodiment, the EPG component 302 further includes a 3D graphics pipeline 313 that may comprise a software component or a graphics accellerator 314, or both. The 3D graphics pipeline 313 operates in conjunction with the instructions 310 and data buffered in memory 309, 309A and 309B to generate and bind a reduced video image (e.g. a snapshot or thumbnail video stream) to an independent or geometric surface of an individual image area 205A-X. User interface 307 may include interfaces to multiple input/output devices including remote controls, television sets, and other types of monitors and displays 100. It is to be appreciated that various components of the image-oriented EPG system 200 may be rearranged, and that certain implementations of the present invention may not require nor include all of the above components. Furthermore, additional components may be included in image-oriented EPG system 200, such as additional processors, storage devices, memories, network/communication interfaces, multiple buses, etc.
The present invention is not described with reference to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a computer causes the processor or processors of the computer to perform an action or to produce a result.
In one embodiment of the present invention, the image-oriented EPG system 200 displays reduced resolution real-time video streams (i.e. thumbnail video streams) of the selected channels in the individual image areas 205A-X. The thumbnail video streams are selected from hundreds of thumbnail video streams that are streamed over an enhanced preview channel. The thumbnail video streams have extremely high compression because their resolution is very low. For example, a thumbnail video stream may comprise only 24 by 48 pixels for each image.
In one embodiment, the enhanced preview channel is generated at the cable or broadcast head-end, where a head-end component reduces the resolution of the video stream and encapsulates it with an identifying header. The encapsulated streams are chunked together, for example in groups of 100, and transmitted to a viewer's STB 300 for decoding. The identifying header provides the information necessary for making a program or channel selection via the image-oriented EPG system 200, thereby allowing the viewer to select which programs or channels are viewed from the enhanced preview channel rather than being restricted to viewing only a predefined mosaic of thumbnail previews such as those available from prior art preview channels.
In one embodiment, on the receiving side of the image-oriented EPG system 200, the decoder 303 of STB 300 decodes selected thumbnail streams using the identifying headers and in accordance with the list of selected channels set up by the viewer. The list of channels may be set up using dedicated hardware or software well known in the art running an EPG 302 on a CPU 306 in STB 300.
In one embodiment, the image-oriented EPG system 200 of the present invention may be implemented in discrete hardware or firmware, or in one or more ASICs of an additional circuit board for insertion into an STB 300 or other television-enhanced computer system. In yet another embodiment, an embodiment of the image-oriented EPG system 200 the present invention is implemented entirely in software routines executed by a high-speed processor or processors 306 in a system such as EPG component 302. These software routines comprise a series of instructions to be executed by a processing system in a hardware system. It is to be appreciated that the series of instructions can be stored using any conventional computer-readable or machine-accessible storage medium, such as a diskette, DC-ROM, magnetic tape, DVD, ROM, Flash memory, etc. It is also to be appreciated that the series of instructions need not be stored locally, and could be stored on a remote storage device, such as a server on a network, via a network/communication interface. It is to be appreciated that these software routines may be implemented in any of a wide variety of programming languages.
In one embodiment, the image-oriented EPG system 200 provides a reliable and efficient method of updating or replacing the application software that implements the EPG 302 at the viewer sites. This can be accomplished by downloading such software either from the cable broadcaster (e.g. from source 326 using tuner/television input circuitry 301), or via a WAN or LAN, e.g. using network I/O circuit 324 (
In an embodiment which permits the automated updating of software, the program memory 310 should contain a programmable segment (e.g. a RAM, EEPROM, EAROM, magnetic memory or magneto-optic memory) to accommodate the loading of data.
In one embodiment, the EPG operates as a shell or window to enable a viewer to access other applications or information systems that are not part of the EPG application or data. For example, in one embodiment, when using the EPG, one can press a button on the remote controller, or click on an icon within the EPG to active Internet server software (e.g. Netscape software Internet Explorer software, or other web surfing software package). (Such software can be stored within program memory 310.) In this embodiment, the information provided by the web and the web surfing software package is bound to a flat independent or geometric surface and displayed on screen 100. The viewer can then use the screen to browse the Internet as if he or she were logged onto a personal computer (PC). In such an embodiment, it is typically desirable to couple alphanumeric keyboard 322 or other alphanumeric input device to STB 200 so that the viewer can enter key words for searching or type URLs into STB 200. In this embodiment, STB 200 communicates with a proxy server or other ISP via network I/O circuit 324 (
The options and features described above can be combined to provide a 3D enhanced image-oriented EPG system 300 that allows user friendliness and interactivity not known in current EPG systems. However, these options and features can be practiced independently. Further, different combinations of these options and features can be practiced in an image-oriented EPG system 300.
While the invention has been described with respect to specific embodiments, those skilled in the art will appreciate that changes can be made in form and detail without departing from the spirit and scope of the invention. For example, an image-oriented EPG system 300 in accordance with an embodiment the present invention can be displayed on CRT, LCD, projection, or other types of display systems. The image-oriented EPG system 300 can be further displayed on a television (TV), personal computer (PC), or a device that is a combination TV/PC. The image-oriented EPG system 300 can be used in conjunction with video signals that are provided by electrical or optical cable, radio wave broadcast, satellite broadcast, or other types of video signal transmission. The information displayed in the image-oriented EPG system 300 can originate from any of numerous sources, e.g. provided via electrical or optical cable, radio waves, satellite broadcast, or a wide area network (for example, the Internet).
When displaying video information, the video information may be applied to an independent or geometric surface using a 3D graphics pipeline. Thus, as shown in
As explained in the above-incorporated '442 application, the 3D graphics pipeline can be implemented by a combination of hardware elements, known as accelerators, and software, some of which is referred to as drivers. The partitioning between hardware and software may vary. Accordingly, all of these modifications come within the present invention. Thus, the present invention is not limited by the details described. Instead, the present invention can be practiced with modifications and alterations within the spirit and scope of the appended claims.
This application claims priority based on U.S. Provisional Application 60/267,001, filed Feb. 6, 2001 by Kikinis et al. This application is further a Continuation-in-Part of U.S. patent application Ser. No. 09/344,442, now U.S. Pat. No. 6,342,884, filed Jun. 25, 1999, and incorporated by reference herein. This application is further a Continuation-in-Part of U.S. patent application Ser. No. 09/361,470, now U.S. Pat. No. 6,456,287, filed Jul. 27, 1999, and incorporated by reference herein. This application is further a Continuation-in-Part of U.S. patent application Ser. No. 09/378,184, now abandoned, filed Aug. 20, 1999 by Kamen et al., and incorporated by reference herein, which in turn is a continuation of U.S. patent application Ser. No. 09/344,442, filed Jun. 25, 1999. This application is further a Continuation-in-Part of U.S. patent application Ser. No. 09/378,270, now abandoned, filed Aug. 20, 1999 by Kamen et al., and incorporated by reference herein, which in turn is a continuation of U.S. patent application Ser. No. 09/344,442, filed Jun. 25, 1999. This application is further a Continuation-in-Part of U.S. patent application Ser. No. 09/488,361, now U.S. Pat. No. 6,421,067, filed Jan. 16, 2000 by Kamen et al., and incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
4621259 | Schepers et al. | Nov 1986 | A |
4751578 | Reiter et al. | Jun 1988 | A |
4935879 | Ueda | Jun 1990 | A |
4963979 | Sendelweck | Oct 1990 | A |
4963994 | Levine | Oct 1990 | A |
5038211 | Hallenbeck | Aug 1991 | A |
5179638 | Dawson et al. | Jan 1993 | A |
5243418 | Kuno et al. | Sep 1993 | A |
5293357 | Hallenbeck | Mar 1994 | A |
5414773 | Handelman | May 1995 | A |
5479268 | Young et al. | Dec 1995 | A |
5526034 | Hoarty | Jun 1996 | A |
5532754 | Young et al. | Jul 1996 | A |
5550576 | Klosterman | Aug 1996 | A |
5550578 | Hoarty | Aug 1996 | A |
5583560 | Florin et al. | Dec 1996 | A |
5684525 | Klosterman | Nov 1997 | A |
5704837 | Iwasaki et al. | Jan 1998 | A |
5737028 | Bertram et al. | Apr 1998 | A |
5751282 | Girard et al. | May 1998 | A |
5808613 | Marrin et al. | Sep 1998 | A |
5818441 | Throckmorton et al. | Oct 1998 | A |
5828945 | Klosterman | Oct 1998 | A |
5841441 | Smith | Nov 1998 | A |
5841563 | Effenberger | Nov 1998 | A |
5883640 | Hsieh et al. | Mar 1999 | A |
5900915 | Morrison | May 1999 | A |
5914755 | Ito et al. | Jun 1999 | A |
5923362 | Klosterman | Jul 1999 | A |
5926168 | Fan | Jul 1999 | A |
5929849 | Kikinis | Jul 1999 | A |
5940073 | Klosterman et al. | Aug 1999 | A |
5956456 | Bang et al. | Sep 1999 | A |
5999167 | Marsh et al. | Dec 1999 | A |
5999187 | Dehmlow et al. | Dec 1999 | A |
6002403 | Sugiyama et al. | Dec 1999 | A |
6029195 | Herz | Feb 2000 | A |
6034678 | Hoarty | Mar 2000 | A |
6057884 | Chen et al. | May 2000 | A |
6061055 | Marks | May 2000 | A |
6072983 | Klosterman | Jun 2000 | A |
6075575 | Schein et al. | Jun 2000 | A |
6078348 | Klosterman et al. | Jun 2000 | A |
6081271 | Bardon et al. | Jun 2000 | A |
6094237 | Hashimoto | Jul 2000 | A |
6100883 | Hoarty | Aug 2000 | A |
6167188 | Young et al. | Dec 2000 | A |
6205485 | Kikinis | Mar 2001 | B1 |
6205582 | Hoarty | Mar 2001 | B1 |
6233389 | Barton et al. | May 2001 | B1 |
6243039 | Elliot | Jun 2001 | B1 |
6271831 | Escobosa et al. | Aug 2001 | B1 |
6331852 | Gould et al. | Dec 2001 | B1 |
6405371 | Oosterhout et al. | Jun 2002 | B1 |
6411337 | Cove et al. | Jun 2002 | B2 |
6549643 | Toklu et al. | Apr 2003 | B1 |
6549669 | Sundqvist et al. | Apr 2003 | B1 |
6597358 | Miller | Jul 2003 | B2 |
6710788 | Freach et al. | Mar 2004 | B1 |
6732371 | Lee et al. | May 2004 | B1 |
6784945 | Norsworthy et al. | Aug 2004 | B2 |
6870573 | Yeo et al. | Mar 2005 | B2 |
7130864 | Lin et al. | Oct 2006 | B2 |
20020069415 | Humbard et al. | Jun 2002 | A1 |
20020140805 | Gutta et al. | Oct 2002 | A1 |
20030014752 | Zaslavsky et al. | Jan 2003 | A1 |
Number | Date | Country |
---|---|---|
0637814 | Feb 1995 | EP |
1131976 | May 1989 | JP |
6-20063 | Jan 1994 | JP |
8305894 | Nov 1996 | JP |
9147136 | Jun 1997 | JP |
9265548 | Oct 1997 | JP |
9827515 | Jun 1998 | WO |
9900768 | Jan 1999 | WO |
WO 9951022 | Oct 1999 | WO |
WO0001149 | Jan 2000 | WO |
PCTUS0112342 | Sep 2001 | WO |
PCTUS0113897 | Sep 2001 | WO |
PCTUS0115405 | Oct 2001 | WO |
PCTUS0141664 | Nov 2001 | WO |
PCTUS0111666 | Jan 2002 | WO |
Entry |
---|
Shahraray B.,“Scene Change Detection and Content-Based Sampling of Video Sequences”, SPIE vol. 2419, 1995. |
Rosengren et al.,“Arrangement and Method for Transmitting and Receiving Video Signals”, WIPO, WO 95/28794. |
EP 00 90 5959.3 Search Report dated Mar. 3, 2009. |
EP 00 9913354.7 Search Report dated Jun. 12, 2009. |
Takaaki Akimoto et al., “3D Facial Model Creation Using Generic Model and Front and Side Views of Face,” IEEE Transactions on Information and Systems, Information & Systems Society, Tokyo, JP, vol. E75-D No. 2, Mar. 1, 1992, pp. 191-197 XP000301166. |
Brenner C; Haala N, “Fast Production of Virtual Reality City Models,” International Archives of Photogrammetry and Remote Sensing, IAPRS, vol. 32, No. 4, 1998, pp. 77-84, XP002529779, printed May 8, 2009. |
Sclaroff S, et al., “Generalized Implicit Functions for Computer Graphics,” Computer Graphics USA, vol. 25, No. 4, Jul. 1991, pp. 247-250, XP002529780. |
Office Action issued Oct. 29, 2009; JP 2000-597760. |
Translation of JP 2000-597760 OA Issued May 28, 2010. |
Number | Date | Country | |
---|---|---|---|
20020166122 A1 | Nov 2002 | US |
Number | Date | Country | |
---|---|---|---|
60267001 | Feb 2001 | US | |
60118509 | Jun 1998 | US | |
60114809 | Feb 1999 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09344442 | Jun 1999 | US |
Child | 10072114 | US | |
Parent | 09361470 | Jul 1999 | US |
Child | 09344442 | US | |
Parent | 09378184 | Aug 1999 | US |
Child | 09361470 | US | |
Parent | 09378270 | Aug 1999 | US |
Child | 09378184 | US | |
Parent | 09448361 | Jan 2000 | US |
Child | 09378270 | US |