Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20030018970 A1
Publication typeApplication
Application numberUS 09/909,468
Publication dateJan 23, 2003
Filing dateJul 19, 2001
Priority dateJul 19, 2001
Also published asUS6915528, US20030018748, US20030018971, US20030018977, WO2003009585A1
Publication number09909468, 909468, US 2003/0018970 A1, US 2003/018970 A1, US 20030018970 A1, US 20030018970A1, US 2003018970 A1, US 2003018970A1, US-A1-20030018970, US-A1-2003018970, US2003/0018970A1, US2003/018970A1, US20030018970 A1, US20030018970A1, US2003018970 A1, US2003018970A1
InventorsThomas McKenna
Original AssigneeDigeo, Inc.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Object representation of television programs within an interactive television system
US 20030018970 A1
Abstract
Television programs are represented by program interface objects (PIOs) within an interactive television system. The PIOs provide a visual indicator for quick identification of the represented television program, attributes providing information concerning the represented television program, and actions that may be performed on or in connection with the represented television program. The PIOs may be sorted, filtered, and/or managed based on user-provided criteria. The PIOs may be communicated between a variety of electronic devices and software applications.
Images(16)
Previous page
Next page
Claims(67)
What is claimed is:
1. A program interface object (PIO) for representing a television program within an interactive television system, the program interface object comprising:
a plurality of attributes carrying information about the television program;
a plurality of user-selectable actions performable by the interactive television system in connection with the television program; and
a visual indicator displayable in a graphical user interface to facilitate user interaction with the program interface object.
2. The PIO of claim 1, wherein the visual indicator comprises one of a graphical icon, an animated image, a video clip, and a text description.
3. The PIO of claim 1, further comprising:
an audible indicator capable of being played back by the interactive television system.
4. The PIO of claim 1, wherein at least one of the user-selectable actions comprises program code executable by the interactive television system in response to a user selection.
5. The PIO of claim 4, wherein the program code is substantially machine-independent.
6. The PIO of claim 5, wherein the PIO comprises one of a JavaBean object and a Distributed Component Object Model (DCOM) object.
7. The PIO of claim 1, wherein at least one attribute comprises a title of the television program.
8. The PIO of claim 1, wherein at least one attribute comprises a starting time of the television program.
9. The PIO of claim 1, wherein at least one attribute comprises a running time of the television program.
10. The PIO of claim 1, wherein at least one attribute comprises a description of the television program.
11. The PIO of claim 1, wherein at least one attribute comprises an indication of a channel on which the television program is broadcast.
12. The PIO of claim 1, wherein at least one attribute comprises a storage location of the television program.
13. The PIO of claim 1, wherein at least one attribute comprises an alternative language version of another attribute.
14. The PIO of claim 1, wherein at least one user-selectable action is configured to display at least one attribute of the PIO using the interactive television system.
15. The PIO of claim 1, wherein at least one user-selectable action is configured to record the television program within the interactive television system.
16. The PIO of claim 1, wherein at least one user-selectable action is configured to display the television program using the interactive television system.
17. A method for managing television programs received by an interactive television system, the method comprising:
providing, for each television program, a program interface object (PIO) comprising a plurality of attributes carrying information about the television program, a plurality of user-selectable actions performable by the interactive television system in connection with the television program, and a visual indicator displayable in a graphical user interface to facilitate user interaction with the PIO;
displaying one or more visual indicators corresponding to PIOs;
receiving a user selection of a visual indicator corresponding to a PIO;
receiving a user selection of an action associated with the selected PIO; and
executing the selected action within the interactive television system.
18. The method of claim 17, further comprising:
displaying, in response to a user selection of a visual indicator, a list of user-selectable actions associated with the selected PIO.
19. The method of claim 18, wherein the list is displayed in a context-sensitive menu associated with the visual indicator of the selected PIO.
20. The method of claim 17, wherein displaying one or more visual indicators comprises:
filtering an initial set of PIOs according to user-specified filtering criteria; and
displaying visual indicators of the PIOs satisfying the filtering criteria.
21. The method of claim 17, further comprising:
receiving at least one PIO from a remote system.
22. The method of claim 17, further comprising:
transmitting at least one PIO to a remote system in response to a user command.
23. The method of claim 21, further comprising:
modifying at least one attribute of a PIO in response to a schedule change.
24. The method of claim 17, wherein at least one visual indicator comprises one of a graphical icon, an animated image, a video clip, and a text description.
25. The method of claim 17, wherein at least one PIO includes an audible indicator, the method further comprising:
playing back the audible indicator using the interactive television system.
26. The method of claim 17, wherein at least one user-selectable action comprises program code executable by the interactive television system in response to a user selection.
27. The method of claim 26, wherein the program code is substantially machine-independent.
28. The method of claim 27, wherein at least one PIO comprises one of a JavaBean object and a Distributed Component Object Model (DCOM) object.
29. The method of claim 17, wherein at least one attribute comprises a title of a television program.
30. The method of claim 17, wherein at least one attribute comprises a starting time of a television program.
31. The method of claim 17, wherein at least one attribute comprises a running time of a television program.
32. The method of claim 17, wherein at least one attribute comprises a description of a television program.
33. The method of claim 17, wherein at least one attribute comprises an indication of a channel on which a television program is broadcast.
34. The method of claim 17, wherein at least one attribute comprises a storage location of a television program.
35. The method of claim 17, wherein at least one attribute comprises an alternative language version of another attribute.
36. The method of claim 17, wherein at least one user-selectable action is configured to display an attribute of the selected PIO using the interactive television system.
37. The method of claim 17, wherein at least one user-selectable action is configured to record a television program corresponding to the selected PIO within the interactive television system.
38. The method of claim 37, further comprising:
recording the television program at a time indicated by an attribute of the selected PIO.
39. The method of claim 17, wherein at least one user-selectable action is configured to display a television program corresponding to the selected PIO using the interactive television system.
40. The method of claim 39, further comprising:
locating a stored recording of the television program using an attribute of the selected PIO;
displaying the stored recording of the television program.
41. A system for managing television programs received by an interactive television system, the system comprising:
a computer readable medium comprising, for each television program, a program interface object (PIO) comprising a plurality of attributes carrying information about the television program, a plurality of user-selectable actions performable by the interactive television system in connection with the television program, and a visual indicator displayable in a graphical user interface to facilitate user interaction with the PIO;
a display component configured to display one or more visual indicators corresponding to PIOs;
a selection component configured to receive a user selection of a visual indicator corresponding to a PIO and a user selection of an action associated with the selected PIO; and
an action component configured to execute the selected action within the interactive television system.
42. The system of claim 41, wherein the selection component is further configured to display, in response to a user selection of a visual indicator, a list of user-selectable actions associated with the selected PIO.
43. The system of claim 42, wherein the list is displayed in a context-sensitive menu associated with the visual indicator of the selected PIO.
44. The system of claim 41, further comprising a population component configured to filter an initial set of PIOs according to user-specified filtering criteria, wherein the display component is further configured to display the visual indicators of the PIOs satisfying the filtering criteria.
45. The system of claim 41, further comprising a communication component configured to receive at least one PIO from a remote system.
46. The system of claim 45, wherein the at least one PIO is received from the remote system via e-mail.
47. The system of claim 41, further comprising a communication component configured to transmit at least one PIO to a remote system in response to a user command.
48. The system of claim 41, wherein at least one visual indicator comprises one of a graphical icon, an animated image, a video clip, and a text description.
49. The system of claim 41, wherein at least one PIO includes an audible indicator, the system further comprising:
a playback component configured to play back the audible indicator.
50. The system of claim 41, wherein at least one user-selectable action comprises program code executable by the interactive television system in response to a user selection.
51. The system of claim 50, wherein the program code is substantially machine-independent.
52. The system of claim 51, wherein at least one PIO comprises one of a JavaBean object and a Distributed Component Object Model (DCOM) object.
53. The system of claim 41, wherein at least one attribute comprises a title of a television program.
54. The system of claim 41, wherein at least one attribute comprises a starting time of a television program.
55. The system of claim 41, wherein at least one attribute comprises a running time of a television program.
56. The system of claim 41, wherein at least one attribute comprises a description of a television program.
57. The system of claim 41, wherein at least one attribute comprises an indication of a channel on which a television program is broadcast.
58. The system of claim 41, wherein at least one attribute comprises a storage location of a television program.
59. The system of claim 41, wherein at least one attribute comprises an alternative language version of another attribute.
60. The system of claim 41, wherein the display component is further configured to display an attribute of the selected PIO using the interactive television system.
61. The system of claim 41, further comprising:
a recording component configured to record a television program corresponding to the selected PIO using the interactive television system.
62. The system of claim 61, wherein the recording component is further configured to record the television program at a time indicated by an attribute of the selected PIO.
63. The system of claim 41, wherein the display component is further configured to display a television program corresponding to the selected PIO using the interactive television system.
64. The system of claim 63, further comprising:
a playback component configured to locate a stored recording of the television program using an attribute of the selected PIO, and display the stored recording of the television program.
65. A method for managing television programs received by an interactive television system, the method comprising:
providing, for each television program, a program interface object (PIO) comprising a plurality of attributes carrying information about the television program, a plurality of user-selectable actions performable by the interactive television system in connection with the television program, and an icon displayable in a graphical user interface to facilitate user interaction with the PIO;
filtering an initial set of PIOs according to user-specified filtering criteria;
displaying the icons corresponding to the PIOs satisfying the filtering criteria;
receiving a user selection of an icon corresponding to a PIO;
displaying a list of user-selectable actions associated with the selected PIO;
receiving a user selection of an action associated with the selected PIO from the list; and
executing the selected action within the interactive television system.
65. A system for managing television programs received by an interactive television system, the method comprising:
a computer-readable medium storing, for each television program, a program interface object (PIO) comprising a plurality of attributes carrying information about the television program, a plurality of user-selectable actions performable by the interactive television system in connection with the television program, and an icon displayable in a graphical user interface to facilitate user interaction with the PIO;
a filtering component configured to filter an initial set of PIOs according to user-specified filtering criteria;
an icon display component configured to display the icons corresponding to the PIOs satisfying the filtering criteria;
an icon selection component configured to receive a user selection of an icon corresponding to a PIO;
an action display component configured to display a list of user-selectable actions associated with the selected PIO;
an action selection component configured to receive a user selection of an action associated with the selected PIO from the list; and
an action execution component configured to execute the selected action within the interactive television system.
66. A system for managing television programs received by an interactive television system, the system comprising:
means for storing, for each television program, a program interface object (PIO) comprising a plurality of attributes carrying information about the television program, a plurality of user-selectable actions performable by the interactive television system in connection with the television program, and a visual indicator displayable in a graphical user interface to facilitate user interaction with the PIO;
means for displaying one or more visual indicators corresponding to PIOs;
means for receiving a user selection of a visual indicator corresponding to a PIO and a user selection of an action associated with the selected PIO; and
means for executing the selected action within the interactive television system.
Description
    BACKGROUND
  • [0001]
    1. Field of the Invention
  • [0002]
    The present invention relates generally to the field of interactive television systems. More specifically, the present invention relates to an object representation of television programs within an interactive television system.
  • [0003]
    2. Description of Related Background Art
  • [0004]
    Due to the ever-increasing number of channels offered by cable television and satellite networks, an electronic program guide (EPG) has become a common feature of many set top boxes (STBs). Conventional EPGs display schedule information for television programs in a grid-based format. One axis of the EPG typically corresponds to channels or stations, while the other axis corresponds to time slots (typically an hour or half hour in length). Rectangular elements formed within the grid represent specific television programs.
  • [0005]
    While EPGs have numerous advantages over conventional printed guides (such as TV Guide®), EPGs are still based on the channel/time slot model, which is of diminishing importance today. For example, where a viewer has access to over 500 channels, he or she is not in interested in the fact that the latest episode of Friends® is being shown on Channel 498. Rather, the viewer would simply like to know when the program is being broadcast and allow the entertainment system to automatically switch to the appropriate channel.
  • [0006]
    With the advent of digital video recorders (DVRs), even the concept of broadcast time is becoming irrelevant. Ideally, a viewer would like to instruct the entertainment system to record the next episode of Friends®, which the viewer can then watch at a convenient time.
  • [0007]
    Forcing a viewer to search through a grid consisting, for example, of over 500 rows (corresponding to channels) and possibly thousands of columns (corresponding to time slots) is no longer acceptable. Given the wide variety of entertainment options and the limited amount of time available to individuals for entertainment, any advancement increasing the convenience of an entertainment system would be highly advantageous.
  • [0008]
    Accordingly, what is needed is a system and method that overcomes the problems and disadvantages of the prior art. In particular, the system and method should provide convenient access to available programming within an entertainment system without requiring the use of a conventional, grid-based EPG.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0009]
    Non-exhaustive embodiments of the invention are described with reference to the figures, in which:
  • [0010]
    [0010]FIG. 1 is a block diagram of a system for delivering television programs and other forms of content;
  • [0011]
    [0011]FIG. 2 is an illustration of an interactive television system;
  • [0012]
    [0012]FIG. 3 is a block diagram of hardware components of a set top box (STB);
  • [0013]
    [0013]FIG. 4 illustrates a conventional electronic program guide (EPG);
  • [0014]
    [0014]FIG. 5 is a block diagram of a plurality of program interface objects (PIOs) within a memory of an STB;
  • [0015]
    [0015]FIG. 6 is an expanded block diagram of a PIO;
  • [0016]
    [0016]FIG. 7 is a block diagram of a system utilizing PIOs to represent television programs;
  • [0017]
    [0017]FIG. 8 is a user interface for interacting with PIOs;
  • [0018]
    [0018]FIG. 9 is a block diagram of various functional modules for processing actions associated with a PIO;
  • [0019]
    [0019]FIG. 10 is a block diagram illustrating use of a PIO to record an associated television program;
  • [0020]
    [0020]FIG. 11 is a user interface illustrating visual indicators of PIOs within a calendar;
  • [0021]
    [0021]FIG. 12 is a block diagram illustrating use of a PIO to display a previously recorded television program;
  • [0022]
    [0022]FIG. 13 is a block diagram illustrating display of an attribute of a PIO;
  • [0023]
    [0023]FIG. 14 is a block diagram of a system for filtering a set of PIOs according to user-defined filtering criteria; and
  • [0024]
    [0024]FIG. 15 is a block diagram of a system for transmitting PIOs between interactive television system.
  • DETAILED DESCRIPTION OF THE INVENTION
  • [0025]
    The present invention solves the foregoing problems and disadvantages by using program interface objects (PIOs) to represent television programs within an entertainment system, such as interactive television system.
  • [0026]
    In one embodiment, each PIO includes a plurality of actions and attributes. Actions correspond to various operations that may be performed on or in connection with the television program represented by the PIO. For example, one action may schedule the recording of the represented television program, while another action may play back the represented television program if it was previously recorded. Actions may be embodied as program code, in a machine-independent format, such as Java or Javascript, that may be executed, for example, by an STB for an interactive television system.
  • [0027]
    Attributes contain information about the television program represented by the PIO. For example, one attribute of a television program may correspond to the program's name, while another attribute may correspond to the program's broadcast time.
  • [0028]
    Attributes may be used to sort, filter, prioritize, or otherwise organize a set of PIOs. Moreover, certain attributes may be used in the context of certain actions. For example, an action for recording a television program may need to access attributes containing the channel, starting time, and running time of the television program.
  • [0029]
    PIOs may be implemented using various technologies. For instance, a PIO may be implemented as a JavaBean object. Alternatively, a PIO may be embodied as a Distributed Component Object Model (DCOM) object. The present invention is not limited to a particular object format.
  • [0030]
    In one implementation, each PIO also includes a visual indicator, such as an icon, which is displayed in a graphical user interface (GUI) to facilitate user interaction with the PIO. The GUI may display a plurality of visual indicators corresponding to a set of PIOs. Using a remote control or other selection mechanism, a user may select a PIO by its corresponding visual indicator. Further, a user may select an action associated with the PIO, which then may be executed by the STB.
  • [0031]
    In one embodiment, an STB or other system may be populated with visual indicators of a set of PIOs selected from a larger set of available PIOs. The set of available PIOs may be filtered based on user-defined filtering criteria. For example, a user may filter the set of available PIOs for ones relating to sporting events.
  • [0032]
    In certain embodiments, PIOs may be transmitted between interactive television systems, personal computers, mobile devices, and the like. For example, a PIO may be attached to an e-mail message and sent via the Internet to another system where it may be used to perform various actions on, or provide information concerning, a represented television program.
  • [0033]
    Thus, PIOs are an alternative mechanism for providing access to available television programming within an interactive television system, without the necessity of a conventional EPG. A user need not be concerned with such details as channel or broadcast time, as was necessary in conventional systems. The user need only select an icon for a PIO and select the desired action.
  • [0034]
    Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.
  • [0035]
    Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, user selections, network transactions, database queries, database structures, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
  • [0036]
    Throughout the following disclosure, the term “coupled” may be used to refer to components that are either directly connected to one another or linked by one or more other components. Thus, as used herein, the term “coupled” may be synonymous with “in electrical communication with” or simply “in communication with.”
  • [0037]
    Referring now to FIG. 1, there is shown a system 100 for delivering television programs and other forms of content to a plurality of customers. In one implementation, the system 100 relies on a broadband communication network 101, such as a cable network. However, as described more fully below, other networks are contemplated, one particular example of which is a satellite network.
  • [0038]
    In one configuration, the system 100 includes a plurality of set top boxes (STBs) 102 located, for instance, at customer homes. Generally, an STB 102 is a consumer electronics device that serves as a gateway between a customer's television 104 and the network 101. In alternative embodiments, an STB 102 may be embodied more generally as a personal computer, an advanced television 104 including STB functionality, or another type of client terminal.
  • [0039]
    An STB 102 receives encoded television signals and other information from the network 101 and decodes the same for display on the television 104 or other display device (such as a computer monitor, flat panel display, or the like). As its name implies, an STB 102 is typically located on top of, or in close proximity to, the television 104.
  • [0040]
    Each STB 102 may be distinguished from other network components by a unique identifier, number, code, or address, examples of which include an Internet Protocol (IP) address or media access control (MAC) address. Thus, video streams and other information may be transmitted from the network 101 to a specific STB 102 by specifying the corresponding address, after which the network 101 routes the transmission to its destination using conventional techniques.
  • [0041]
    A remote control 106 is provided, in one configuration, for convenient remote operation of the STB 102 and the television 104. The remote control 106 may use infrared (IR), radio frequency (RF), or other wireless technologies to transmit control signals to the STB 102 and the television 104. Other remote controls are also contemplated, such as a wired or wireless mouse (not shown).
  • [0042]
    Additionally, a keyboard 108 (either wireless or wired) is provided, in one embodiment, to allow the customer to rapidly enter text information into the STB 102. Such text information may be used for e-mail or instant messaging, e.g. text-based chat. In various embodiments, the keyboard 108 may use infrared (IR), radio frequency (RF), or other wireless technologies to transmit keystroke data to the STB 102.
  • [0043]
    Each STB 102 may be coupled to the network 101 via a head-end 1 10 or other distribution node or broadcast center. In the context of a cable network, a head-end 110 is generally a centrally-located facility where television programs are received from a local cable TV satellite downlink or other source and packaged together for transmission to customer homes. In one configuration, a head-end 110 also functions as a Central Office (CO) in the telecommunications industry, routing video streams and other data to and from the various STBs 102 serviced thereby. Head-ends 110 may be coupled directly to one another or through the network 101. In some cases, head-ends 110 may be connected via a separate network, one particular example of which is the Internet 112.
  • [0044]
    The network 101 is preferably coupled to one or more television sources 114, which provide television programming for distribution to the STBs 102. Preferably, television programs are distributed in an encoded format, such as MPEG (Moving Picture Experts Group). Various MPEG standards are known, such as MPEG-2, MPEG-4, MPEG-7, and the like. Thus, the term “MPEG,” as used herein, contemplates all MPEG standards. Moreover, other video encoding/compression standards exist other than MPEG, such as JPEG, JPEG-LS, H.261, and H.263. Accordingly, the invention should not be construed as being limited only to MPEG.
  • [0045]
    Television programming or its equivalent may also be received via the Internet 112 from one or more streaming video sources 116. Communication over the Internet 112 is accomplished using standard protocols, such as TCP/IP (Transmission Control Protocol/Internet protocol) and the like.
  • [0046]
    In one implementation, a schedule source 118 is coupled to one or both of the broadband communication network 101 and the Internet 112. The schedule source 118 preferably maintains schedule information for past, present, and future television programs. Throughout the following disclosure, the term “broadcast” is not limited to electromagnetic transmissions over the air, but contemplates packetized transmissions using a network, such as the Internet 112. The schedule source 118 may be implemented using any conventional relational or hierarchical database management system (DBMS) and appropriate server software.
  • [0047]
    In one implementation, the schedule source 118 receives television program schedule information directly from the television sources 114 and/or streaming video sources 116 via the Internet 112 and/or the network 101 using, for example, the hypertext transfer protocol (HTTP) or the file transfer protocol (FTP). In such embodiments, updates of the database may be fully automated. However, in other embodiments, the schedule information may be obtained from disks, CD-ROMS, tapes, manual entry, etc.
  • [0048]
    While FIG. 1 illustrates a broadband communication network 101, such as a cable network, the invention is not limited in this respect. A satellite delivery system may also be used, such as a direct broadcast satellite (DBS) system. A DBS system may include a small 18-inch satellite dish (which is an antenna for receiving a satellite broadcast signal); a digital integrated receiver/decoder (IRD), which separates each channel and decompresses and translates the digital signal for display by a television; and a remote control.
  • [0049]
    Programming for a DBS system may be distributed, for example, by multiple high-power satellites in geosynchronous orbit, each with multiple transponders. Compression (e.g., MPEG) may be used to increase the amount of programming that can be transmitted in the available bandwidth.
  • [0050]
    A digital broadcast center may be used to gather programming content, ensure its digital quality, and transmit the signal up to the satellites. Programming may come to the broadcast center from content providers (TBS®, HBO®, CNN®, ESPN®, etc.) via satellite, fiber optic cable and/or special digital tape. Satellite-delivered programming is typically immediately digitized, encrypted and uplinked to the orbiting satellites. The satellites retransmit the signal to every earth-station—or, in other words, every compatible DBS system receiver dish at customers' homes and businesses.
  • [0051]
    Some programs may be recorded on digital videotape in the broadcast center to be broadcast later. Before any recorded programs are viewed by customers, technicians may use post-production equipment to view and analyze each tape to ensure audio and video quality. Tapes may then be loaded into a robotic tape handling systems, and playback may be triggered by a computerized signal sent from a broadcast automation system. Back-up videotape playback equipment may ensure uninterrupted transmission at all times.
  • [0052]
    While the following description makes particular reference to cable head-ends 110, it should be recognized that satellite broadcast centers may be used for the same purpose. Thus, as used herein, the term “broadcast center” may refer interchangeably to head-ends 110 or satellite broadcast centers.
  • [0053]
    Referring now to FIG. 2, there is shown an interactive television (ITV) system 200 according to an embodiment of the invention. As depicted, the system 200 may include an STB 102, a television 104 (or other display device), a remote control 106, and, in certain configurations, a keyboard 108.
  • [0054]
    The remote control 106 is provided for convenient remote operation of the STB 102 and the television 104. In one configuration, the remote control 106 includes a wireless transmitter 202 for transmitting control signals to a corresponding wireless receiver 204 within the STB 102 and/or the television 104. In certain embodiments, the remote control 106 includes a wireless receiver 204 for receiving signals from a wireless transmitter 202 in the STB 102. Of course, the wireless transmitters 202 of the STB 102 and remote control 106 need not be identical. The same is true with respect to the wireless receivers 204.
  • [0055]
    In one embodiment, the wireless transmitters 202 and receivers 204 are configured to use radio frequency (RF) signals. In other embodiments, infrared (IR) or other frequencies along the electromagnetic spectrum may be used. Operational details regarding the wireless transmitters 202 and receivers 204 are generally well known to those of skill in the art.
  • [0056]
    The remote control 106 preferably includes a number of buttons or other similar controls. For instance, the remote control 106 may include a power button 206, an up arrow button 208, a down arrow button 210, a left arrow button 212, a right arrow button 214, a “Select” button 216, an “OK” button 218, channel adjustment buttons 220, volume adjustment buttons 222, alphanumeric buttons 224, and the like.
  • [0057]
    Additionally, the remote control 106, in one configuration, may include a number of buttons specifically-designated for activating various interactive options. These buttons may include, for example, a “Help” button 226, an information button 228, a “Buy” button 230, an e-mail button 232, as well as other buttons 234, 236, 238, 240 designated to activate specific interactive options.
  • [0058]
    The optional keyboard 108 facilitates rapid composition of text messages. The keyboard 108 includes a plurality of standard alphanumeric keys 252 arranged in a suitable format. In one configuration, the keyboard 108 includes a wireless transmitter 202, similar or identical to the wireless transmitter 202 of the remote control 106. The wireless transmitter 202 transmits keystroke data from the keyboard 108 to the STB 102. Additionally, the keyboard 108 may include one or more of the buttons illustrated on the remote control 106.
  • [0059]
    Referring now to FIG. 3, there is shown a physical block diagram of an STB 102 according to an embodiment of the invention. As noted above, the STB 102 includes a wireless receiver 204 for receiving control signals sent by the wireless transmitter 202 in the remote control 106.
  • [0060]
    The STB 102 also includes, in one implementation, a network interface 302 for communicating with the broadband communication network 101 via the head-end 110. The interface 302 may include conventional tuning circuitry for receiving MPEG (Moving Picture Experts Group) packets for a selected television channel. The interface 302 may also include conventional cable modem circuitry for sending or receiving other types of data. For example, the interface 302 may conform to the DOCSIS (Data Over Cable Service Interface Specification) or DAVIC (Digital Audio-Visual Council) cable modem standards.
  • [0061]
    In one configuration, one or more frequency bands (for example, from 5 to 30 MHz) may be reserved for upstream transmission. Digital modulation (for example, quadrature amplitude modulation or vestigial sideband modulation) may be used to send digital signals in the upstream transmission. Of course, upstream transmission may be accomplished differently for different networks 101. Alternative ways to accomplish upstream transmission include using a back channel transmission, which is typically sent via an analog telephone line, ISDN, DSL, or other techniques.
  • [0062]
    The STB 102 also preferably includes a CODEC (encoder/decoder) 304, which serves to encode audio/video signals into a network-compatible data stream for transmission over the network 101. The CODEC 304 also serves to decode a network-compatible data stream received from the network 101. The CODEC 304 may be implemented in hardware and/or software. Moreover, the CODEC 304 may use various algorithms, such as MPEG or Voice over IP (VolP), for encoding and decoding.
  • [0063]
    The STB 102 further includes a memory device 306, such as a random access memory (RAM), for storing temporary data. Similarly, a read-only memory (ROM) may be provided for storing more permanent data, such as fixed code and configuration information.
  • [0064]
    In one embodiment, an audio/video (AN) controller 308 is provided for converting digital audio/video signals into analog signals for display/playback on the television 104. The AN controller 308 may be implemented using one or more physical devices, such as a separate graphics and sound controllers. The A/V controller 308 may include graphics hardware for performing bit-block transfers (bit-blits) and other graphical operations in order to display a graphical user interface (GUI) on the television 104.
  • [0065]
    In some implementations, the STB 102 may include a storage device 310, such as a hard disk drive or the like. The storage device 310 may be configured to store encoded television broadcasts and retrieve the same at a later time for display.
  • [0066]
    The storage device 310 may also be used in various embodiments to store viewer preferences, parental lock settings, programming preferences, passwords, e-mail messages, and the like. To aide in transferring this data between STBs 102, the storage device 310 may interface with removable storage media such as memory cards, memory sticks, CDs, diskettes, and the like. In one implementation, the storage device 310 also stores an operating system (OS) for the STB 102, such as Windows CE® or Linux®.
  • [0067]
    A CPU 312 controls the operation of the STB 102, including the other components thereof, which are coupled to the CPU 312 via a bus 314. The CPU 312 may be embodied as a microprocessor, a microcontroller, a digital signal processor (DSP) or other device known in the art. As noted above, the CPU 312 may perform logical and arithmetic operations based upon control signals generated by the remote control 106 and transmitted to the receiver 204.
  • [0068]
    Of course, FIG. 3 illustrates only one possible configuration of an STB 102. Those skilled in the art will recognize that various other architectures and components may be provided within the scope of the invention. In addition, various standard components are not illustrated in order to avoid obscuring aspects of the invention.
  • [0069]
    [0069]FIG. 4 illustrates one implementation of a conventional Electronic Programming Guide (EPG) 402. As noted above, a typical EPG 402 includes a grid having two axes, one for time slots 404 and the other for channels or stations 406. Rectangular elements 408 formed within the grid correspond to specific television programs.
  • [0070]
    Generally, the navigation interface for a conventional EPG 402 is awkward and ill-suited to entertainment systems having more than a few channels. For example, a satellite STB may receive more than 500 channels, requiring the user to scroll through many pages of information to locate a desired program. Clearly, a conventional EPG 402 is based on the channel/time slot model, which is of diminishing relevance today.
  • [0071]
    For example, where a viewer has access to over 500 channels, he or she is not in interested in the fact that the latest episode of Friends® is being shown on Channel 498. Rather, the viewer would simply like to know when the program is being broadcast and allow the entertainment system to automatically switch to the appropriate channel.
  • [0072]
    With the advent of digital video recorders (DVRs), even the concept of broadcast time is becoming irrelevant. Ideally, a viewer would like instruct the entertainment system to record the next episode of Friends , which the viewer can then watch at a convenient time.
  • [0073]
    In conventional systems, the EPG 402 is generated from a text data file 410 or the like containing raw schedule information. For example, each program element 408 in the EPG 402 may correspond to one or more lines in the text data file 410. Unfortunately, storing raw schedule information in this manner severely limits the way in which the information may be used and communicated. For example, each system that receives the text data file 410 must be programmed to parse and display the information in a user-friendly format. The file 410, itself, does not include code or resources for using or displaying the information.
  • [0074]
    [0074]FIG. 5 illustrates an alternative to the conventional EPG 402 and in accordance with principles of the present invention. In one embodiment of the invention, program interface objects (PIOs) 502 are used to represent television programs within an entertainment system, such as an interactive television system 200. In the depicted embodiment, a plurality of PIOs 502 are stored within a memory 306 of an STB 102. However, various other systems and devices may be used to store PIOs 502, such as personal digital assistants (PDAs), webpads, personal computers, and the like.
  • [0075]
    As noted above, a PIO 502 may include a plurality of actions 504 and attributes 506. In one embodiment, actions 504 correspond to various operations that may be performed on or in connection with the television program represented by the PIO 502. For example, one action 504 may schedule the recording of the represented television program, while another action may display the represented television program if it was previously recorded or is currently in progress. Actions 504 may be embodied as program code, in a machine-independent format, that may be executed, for example, by an STB 102 for an interactive television system. Alternatively, actions 504 may include resources that are used by program code within a STB 102 or the like.
  • [0076]
    Attributes 506 contain information about the television program represented by the PIO 502. For example, one attribute 506 may correspond to a television program's name, while another attribute 506 may correspond to the program's broadcast time.
  • [0077]
    As described more fully hereafter, attributes 506 may be used to sort, filter, search, prioritize, or otherwise organize a set of PIOs 502. Moreover, certain attributes 506 may be used in the context of certain actions 504. For example, an action 504 for recording a television program may need to access the attributes 506 containing the channel, starting time, and running time of the television program.
  • [0078]
    Each of the attributes 506 in a PIO 502 may include a triplet of information, e.g., the attribute name (Program Title, Program Broadcast Time, Program Broadcast Channel), the attribute's type (searchable text, time, executable code, GIF image, ATVEF triggers and their time mark within the program, MIME, or the like), and the attribute's value. In some cases, attributes 506 may include text in multiple languages to allow the PIO 502 to be used in different countries around the world.
  • [0079]
    PIOs 502 may be implemented using various technologies. For instance, a PIO 502 may be implemented as a JavaBean object. Alternatively, a PIO 502 may be embodied as a Distributed Component Object Model (DCOM) object.
  • [0080]
    In one implementation, each PIO 502 also includes a visual indicator 506, such as an icon, animated image, or video clip, which is displayed in a graphical user interface (GUI) to facilitate user interaction with the PIO 502. As illustrated in subsequent figures, the GUI may display a plurality of visual indicators 508 corresponding to a set of PIOs 502. Using a remote control 106 or other selection mechanism, a user may select a PIO 502 by its corresponding visual indicator 508. Further, a user may select an action associated with the PIO 502 to be executed by the STB 102.
  • [0081]
    In one embodiment, PIOs 502 include program code in a substantially machine-independent format. For example, Java Bean or DCOM objects generally do not require proprietary hardware so long as the hardware executes a Java Virtual Machine (JVM), a DCOM server, or the like. The PIOs 502 may be created using a variety of programming languages, and protocols, such as Java, C++, Smalltalk, and other programming languages that support object-oriented programming.
  • [0082]
    Machine independence allows the PIOs 502 to be portable. Information and functionality associated with a particular television program are encapsulated within the PIOs 502. PIOs may be transferred between STBs 102 or other devices, such as personal computers and hand-held devices. PIOs 502 may also be stored in computer-readable media, such as CDs, diskettes, memory cards, memory sticks, or the like.
  • [0083]
    Of course, PIOs 502 may be configured in various ways, and may be referred to using different terms, while still being considered within the scope of the invention. For example, “actions” may be termed “methods” or “functions”, and “attributes” may be referred to as “variables”, “state”, or “data”.
  • [0084]
    [0084]FIG. 6 illustrates an expanded view of a PIO 502 including examples of attributes 506, actions 504, and visual indicators 508. For instance, a typical PIO 502 may include such attributes 506 as title 506 a, description 506 b, broadcast channel 506 c, rating 506 d (e.g., TV-G, TV-PG), start time 506 e, end time 506 f, running time 506 g, release year 506 h, classification 506i (e.g., drama, sit-com, sports), actor(s) 506 j, producer(s) 506 k, related Internet links 506 l, storage location 506 m, country of origin 506 n, language 506 o, etc. Of course, various other attributes 506 may be provided within the scope of the invention.
  • [0085]
    In some cases, attributes 506 may be embodied as references to external data in the form of hyperlinks or the like. For example, where a start time 506 e attribute contains a fixed start time (e.g., 8:00 pm), an STB 102 may not be able to account for scheduling changes by a television source 114. Thus, in certain embodiments, the start time attribute 506 e(and other such attributes 506), may include a link to a server (not shown) that contains the up-to-date start time for the television program. Thus, scheduling changes reflected in the server will be automatically recognized by all corresponding PIOs 502. This is particularly advantageous in the context of a sports game that goes into overtime. For example, the STB 102 can get updates from the broadcaster, allowing the STB 102 to extend the duration of the recording of the program.
  • [0086]
    In other embodiments, one or more attributes 506 of a PIO 502 may be dynamically updated based on (possibly real-time) updates from a broadcaster using a transmission method that can be specified in the PIO 502. The transmission methods can include, for instance, HTTP, FTP, e-mail, or an ATVEF trigger.
  • [0087]
    One particularly advantageous attribute 506 is the is the related Internet links attribute 506 l. The related Internet links attribute 506 l may link a PIO 502 to an associated web site (e.g., a sponsored link), a chat room (e.g., real time chat about the television program being watched), or an e-commerce site.
  • [0088]
    In certain embodiments, one attribute 506 may comprise a link (not shown) to one or more other PIOs 502. This facilitates PIO linking, which is advantageous, for example, in the context of related PIOs 502, e.g., a miniseries.
  • [0089]
    A typical PIO 502 may also include various actions 504, such as an action 504 a for recording the associated television program. As described more fully below, the recording action 504 a may operate in conjunction with the CODEC 304 and storage device 310 of FIG. 3 to digitally record the television program when it is broadcast by a television source 114 or streaming video source 116. In addition, the recording action 504 may access the channel, start time, end time, and/or running time attributes 506 c, 506 e-g in order to facilitate the recording. The instantiation of a PIO 502 as stored in the STB memory 306 may contain additional, or updated data and may not be exactly the same as the originally broadcast PIO 502. The recording action 504 a is an example of this dynamic update of the stored copy of the PIO 502.
  • [0090]
    An action 504 b may also be provided for displaying the represented television program on a television 104. If, for instance, the television program is currently being broadcast, the display action 504 b may be configured to tune the STB 102 to the correct channel. If, however, the television program was previously broadcast and recorded (e.g., by the record action 504 a), the display action 504 b may retrieve and display the stored television program. In one embodiment, the display action 504 accesses the storage location 506 m attribute to locate a stored television program.
  • [0091]
    Various other actions 504 may include an action 504 b for reminding a user that a particular program is scheduled to be broadcast and/or reminding the user that the program has been recorded. Additionally, an action 504 d may be provided for displaying one or more attributes 506 of the PIO 502 on the television 104 or other display device. Moreover, an action 504 e may be included to allow a user to rate and/or comment on the represented television program. An action 504 f may also be provided to send a copy of the PIO 502 to another system or device.
  • [0092]
    In some cases, actions 504 may be propagated between linked PIOs 502. For example, a user may selection the record action 502 a of a PIO 502 corresponding to a program in a mini-series. If the PIOs 502 of the mini-series are linked (e.g., by an appropriate attribute 506 or the like), then the same action 506 a may be executed by the linked PIOs 502 as well.
  • [0093]
    Of course, numerous other attributes 506 and actions 504 may be provided within the scope of the invention. Moreover, the object-oriented nature of a PIO 502 allows for additional actions 504 and attributes 506 to be dynamically added as necessary.
  • [0094]
    The PIO 502 may also include a visual indicator 508, such as a graphical icon, to facilitate interaction with the PIO 502 in the context of a GUI. A visual indicator 508 may alternatively, or in addition, include a textual description of the television program, such as the program's name.
  • [0095]
    A graphical visual indicator 508 is advantageous in that it overcomes language and illiteracy barriers presented by conventional EPGs 402. For example, a child user may be unable to read a text description. However, a Big Bird® icon would be clearly recognizable as representing Sesame Street®.
  • [0096]
    In certain embodiments, a PIO 502 may include an audible indicator 502. The audible indicator 502 may include, for example, a description of the PIO 502 (similar to the description attribute 506 b), an advertisement, user instructions, or the like. The audible indicator 502 may be embodied as an audio clip or sample, which is played back by the STB 102 when the PIO 502 is selected or when the corresponding visual indicator 506 is displayed. The inclusion of an audible indicator 502 is advantageous for people who are visually disabled or those who have difficulty reading.
  • [0097]
    Referring now to FIG. 7, there is shown a block diagram of logical components of a system 700 that utilizes PIOs 502 to represent television programs. The depicted logical components may be implemented using one or more of the physical components shown in FIG. 3. Additionally, or in the alternative, various logical components may be implemented as software modules stored in the memory 306 and/or storage device 310 and executed by the CPU 312.
  • [0098]
    In one configuration, a plurality of PIOs 502 a-f may be stored within a memory, such as a memory 306 of an STB 102. A display component 702 displays each visual indicator 508 of a PIO 502 on a television 104 or other display device. The visual indicators 508 may be displayed in connection with a GUI 704.
  • [0099]
    In certain embodiments, the displayed visual indicators 508 a-f may be grouped in the GUI 704 within logical folders or the like, allowing user to organize the visual indicators 508 a-f in any desired manner. For example, a user may group visual indicators 508 a-f within such folders as “My sit-coms”, “My TV dramas”, “My sports”, etc., to facilitate easy access thereto.
  • [0100]
    As described more fully below, a selection component 706 allows a user to select one or more PIOs 502 by selecting corresponding visual indicators 508. Thereafter, the selection component 706 allows a user to choose one of the actions associated with the selected PIO 502. The selection of an action 504 may be accomplished via a context-sensitive menu or other suitable mechanism, as illustrated below.
  • [0101]
    As an example, suppose a PIO 502 a includes a number of attributes 506, such as a title attribute 506 a (e.g., “Dallas v. Denver”), a channel attribute 506c (“4 KTVX”), a start time attribute 506 e(e.g., “Monday, 7:00 pm”), and an end time attribute 506 f(“Monday, 10:00 pm”). Further, suppose that the PIO 502 a includes a record action 504 a, a display action 504 b, and an iconic visual indicator 508 a.
  • [0102]
    [0102]FIG. 8 illustrates an exemplary GUI 704 including visual indicators 508 a-f corresponding to the PIOs 502 a-f of FIG. 7. In the illustrated embodiment, a user selects visual indicator 508 a using, for example, the arrow buttons 208-214 of the remote control 106. A pointer, selection outline, or other mechanism may used to pick the desired indicator 508 a.
  • [0103]
    In response to the selection, a context-sensitive menu 802 may be displayed listing the available actions 504 a-b for the PIO 502 a. Where a large number of actions 504 are available, the menu 802 may display only the most popular or common actions 504, while providing a mechanism to display additional actions if desired.
  • [0104]
    In some cases, selecting an action 504 may result in the display of various options 804 in the form of a sub-menu 806. The options 804 may correspond to various parameters, features, or settings used by the corresponding action 504. For example, the record action 504 a may include two options 804 a-b, corresponding to record “Weekly” and record “Next Time Broadcast.” If the “Next Time Broadcast” option 804 b is selected, for instance, the record action 504 a may record the next episode of a television program, as opposed to recurring weekly episodes (in the case of TV drama or sit-com).
  • [0105]
    Of course, different selection mechanisms may be provided other than the context-sensitive menu 802 and sub-menu 806. For example, the selection component 706 may display a plurality of user-selectable icons (not shown) corresponding to different actions 504 and options 804.
  • [0106]
    Because each PIO 502 may be tailored to a particular television program, the actions 504 available in the context-sensitive menu 802 may vary from program to program. Similarly, options 804 available in a sub-menu 806 for a particular action 504 may vary from one program to the next.
  • [0107]
    Referring to FIG. 9, the STB 102 may further include an action component 902 that executes a user-selected action 504. The action component 902 may be implemented, in various embodiments, in the context of a Java Virtual Machine (JVM), a DCOM server, or the like. Of course, other implementations are possible.
  • [0108]
    To execute the selected action 504, the action component 902 may interact with various other logical components of the STB 102, such as a recording component 904, a scheduling component 906, and a playback component 908, as described below.
  • [0109]
    Briefly, the recording component 904 is configured to record a television program using, for example, the storage device 310. The scheduling component 906 schedules recording tasks to record television programs to be broadcast in the future. In addition, the scheduling component 906 interacts with the recording component 904 to record a desired television program at the correct time and date in accordance with a scheduled recording task. The playback component 908 is configured, in one embodiment, to display a television program stored within the storage device 310 or the like. Each of the above-described components may be implemented in the context of a digital video recording (DVR) system, one example of which is the TiVo® DVR, available from TiVo, Inc.
  • [0110]
    Suppose, as shown in FIG. 8, that a user selects the record action 504 a with the “Next Time Broadcast” option 804 b. In response to such selection, and as illustrated in FIG. 10, the starting time 506 e, ending time 506 f, and channel 506 c attributes may be provided to the scheduling component 906. Thereafter, the scheduling component 906 schedules a recording event to record the television program. At the specified time and date, the scheduling component 906 instructs the recording component 904 to record 904 the television program on the specified channel.
  • [0111]
    The recorded television program may be stored within the storage device 310 of the STB 102 or another suitable location. After the program is recorded, the stored location of the television program may be placed in the storage location attribute 506 m of the PIO 502 a to allow subsequent access thereto.
  • [0112]
    [0112]FIG. 11 illustrates use of PIOs 502 in the context of a personal information manager (PIM) 1100, such as an adapted version of Microsoft® Outlook®. In one embodiment, when a television program represented by a PIO 502 is scheduled for recording, the scheduling component 906 interacts with the PIM 1100 to display a visual indicator 508 of the PIO 502 in a calendar, to-do list, or the like, provided by the PIM 1100.
  • [0113]
    Moreover, in one implementation, the scheduling component 906 inserts reminders 1102 into the PIM 1100 to notify users concerning scheduled recordings. Similarly, reminders 1102 of upcoming television programs may be noted on the calendar a day or two prior to the broadcast date. In this manner, a user may quickly see which television programs he or she plans to watch.
  • [0114]
    In certain embodiments, PIOs 502 may be dragged and dropped onto the PIM 1100 using object linking and embedding (OLE), DCOM, ActiveX, or the like. A result of dropping a PIO 502 on the PIM 1100 may be to schedule the program represented by the PIO 502 for recording.
  • [0115]
    While FIG. 11 illustrates use of PIOs 502 in a PIM 1100, the object-oriented nature of the PIOs 502 allows them to interface with a variety of software applications. Moreover, PIOs may be used with a variety of electronic devices, including personal computers, cell phones, personal digital assistants (PDAs), pagers, telephones, and the like. The portable nature of the PIOs 502 and flexibility available provide for a variety of uses for the PIOs 502. For example, an action 504 may exist to call a user and deliver a voice synthesized reminder 1102 one hour prior to a broadcast of the associated television program. The possibilities for actions 504 are endless.
  • [0116]
    As shown in FIG. 12, once a television program is recorded, it may be retrieved and displayed in response to a user selection of the display action 504 b shown in FIG. 8. In one embodiment, the location of the recorded television program is retrieved from the stored location attribute 506 m and provided to the playback component 908. Thereafter, the playback component 908 retrieves the recorded program and plays back the same on the television 104.
  • [0117]
    As shown in FIG. 13, an action 504 d may be provided for displaying one or more of the attributes of a PIO 502. The action 504 d and the desired attribute(s) 506 may be selected using the context-sensitive menu 802 and sub-menu 806 illustrated in FIG. 8, although the invention is not limited in this respect.
  • [0118]
    Suppose, for example, that a user selects the display attribute action 504 d with the description attribute 506 b. In one embodiment, the description attribute 506 b is retrieved from the PIO 502 and provided to the display component 702 or the like for display. In various embodiments, a selected attribute 506 may include text, audio, video, or the like. Thus, the various modules not shown but well known in the art may be required for displaying or playing back the selected attribute 506.
  • [0119]
    [0119]FIG. 14 illustrates an embodiment of a system 1400 providing a set of PIOs 502 to an interactive television system 200. PIOs 502 may be available from a variety of sources including, for example, a head-end 110, a television source 114 (such as a television network), a schedule source 118, a streaming video source 116, an PIO server (not shown), and the like. The PIOs 502 may be transmitted from these sources, across a broadband network 101, the Internet 112, or other network connection, including a satellite link, to an STB 102.
  • [0120]
    In the depicted embodiment, a population component 914 is provided for populating an STB 102 or the like with a user-selected set of PIOs 502. The population component 914 may be implemented within the STB 102 (as shown), within a head-end 110, or the like.
  • [0121]
    In one embodiment, the population component 914 provides a filter component 1402 for reducing an initial set 1404 of available PIOs 502 to a user-specified set 1405 that may be stored within the STB 102. In certain embodiments, the initial set 1404 may include hundreds or thousands of PIOs 502 associated with corresponding television programs. Thus, reducing the initial set 1404 to a more manageable set 1405 is generally desirable.
  • [0122]
    The filter component 1402 may include or be associated with filtering criteria 1406. The filtering criteria 1406 may comprise a set of user-defined rules for filtering the initial set 1404. For example, a user may specify that the population component 914 only retrieve PIOs 502 having a start time 506 eof 7:00 pm and a end time 506 fof 10:00 pm (e.g., primetime). Alternatively, a user may specify that the population component 914 only retrieve PIOs 502 corresponding to sporting events. Of course, those skilled in the art recognize that various other filtering criteria 1406 may be used, including logical operators (e.g., AND, OR, NOT) and the like.
  • [0123]
    The filtering component 1402 may also be used within an STB 102 to divide the initial set 1404 based on different criteria, such as the genres of the respective television programs, in order to transmit PIOs 502 or information from PIOs 502 to auxiliary devices such as pagers, PDAs, personal computers, or telephone handsets that can receive information and display it for the user.
  • [0124]
    As illustrated in FIG. 14, suppose PIOs 502 a-d belong to the initial set 1404. The population component 914 applies the filtering criteria 1406 (e.g., primetime) to each PIO 502 a-d. The PIOs 502 that match the filtering criteria 1406 (e.g., PIO 502 a-b) are retrieved from the source and stored in the STB 102. As previously described, the display component 702 may then display the corresponding visual indicators 508 a-b on the television 104.
  • [0125]
    The filtering component 1402 may also be used internally within a STB 102 to organize the selected set 1405. For example, a user may further divide the set 1405 based on different criteria 1406, such as the genres of the respective television programs. This allows the user to organize the PIOs 502 using logical folders or the like.
  • [0126]
    As shown in FIG. 15, PIOs 502 may be transmitted from one system to another. For example, a PIO 502 a within a first STB 102 a may be transmitted via the network 101 to second STB 102 b. Of course, other networks may be used, such as telephone and satellite networks (not shown). Additionally, PIOs 502 may be communicated between a variety of electronic devices, including personal computers, PDAs, telephones, cell phones, pagers, and the like.
  • [0127]
    In one embodiment, a communication component 1502 is provided within each STB 102 a-b or other systems or devices. The communication component 1502 may be embodied by various standard communication tools, such as Web browsers, e-mail clients, or the like. Moreover, various communication protocols may be used, such as HTTP, FTP, SMTP, IMAP, which are well known to those skilled in the art.
  • [0128]
    In the illustrated embodiment, a user of the source STB 102 a may select the visual indicator 508 a of PIO 502 a. Thereafter, the user may select, for example, the send action 504 f from the context-sensitive menu 802. The send action 504 f may include code for interacting with the communication component 1502 to transmit a copy of the PIO 502 a to the destination STB 102 b.
  • [0129]
    Alternatively, a PIO 502 may be communicated through the use of portable computer-readable media, such as CD-ROMs, diskettes, memory cards, memory sticks, and the like. In one embodiment, the PIO 502, or a copy thereof, is placed on a computer-readable medium by a source system. Thereafter, the computer-readable medium is provided to the destination system, where it is read into memory 306 and/or a storage device 310.
  • [0130]
    Based on the foregoing, the present invention offers a number of advantages not available in conventional approaches. The present invention allows users to quickly and efficiently access television programming within an entertainment system without the need for a conventional, grid-based EPG 402. PIOs 502 may be organized according to user-specified criteria and transmitted between various types of entertainment systems and devices. Television programs may be recorded and played back while shielding a user from the details of the program's broadcast time and channel.
  • [0131]
    While specific embodiments and applications of the present invention have been illustrated and described, it is to be understood that the invention is not limited to the precise configuration and components disclosed herein. Various modifications, changes, and variations apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems of the present invention disclosed herein without departing from the spirit and scope of the invention.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US5649105 *Nov 10, 1993Jul 15, 1997Ibm Corp.Collaborative working in a network
US5659105 *May 23, 1995Aug 19, 1997Eniricerche S.P.A.Process for the alkylation of aliphatic hydrocarbons with olefins
US5673401 *Jul 31, 1995Sep 30, 1997Microsoft CorporationSystems and methods for a customizable sprite-based graphical user interface
US5805763 *May 5, 1995Sep 8, 1998Microsoft CorporationSystem and method for automatically recording programs in an interactive viewing system
US5808608 *Apr 10, 1996Sep 15, 1998Starsight Telecast, Inc.Background television schedule system
US5808662 *Nov 8, 1995Sep 15, 1998Silicon Graphics, Inc.Synchronized, interactive playback of digital movies across a network
US5815145 *Aug 21, 1995Sep 29, 1998Microsoft CorporationSystem and method for displaying a program guide for an interactive televideo system
US5819295 *Sep 26, 1996Oct 6, 1998Matsushita Electric Industrial Co., Ltd.Document storing and managing system
US5926230 *Jan 25, 1996Jul 20, 1999Sony CorporationElectrical program guide system and method
US5982362 *May 6, 1997Nov 9, 1999Control Technology CorporationVideo interface architecture for programmable industrial control systems
US5987256 *Sep 3, 1997Nov 16, 1999Enreach Technology, Inc.System and process for object rendering on thin client platforms
US6081263 *Oct 23, 1997Jun 27, 2000Sony CorporationSystem and method of a user configurable display of information resources
US6130726 *May 15, 1998Oct 10, 2000Evolve Products, Inc.Program guide on a remote control display
US6163316 *Oct 3, 1997Dec 19, 2000Texas Instruments IncorporatedElectronic programming system and method
US6177931 *Jul 21, 1998Jan 23, 2001Index Systems, Inc.Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US6240555 *Mar 29, 1996May 29, 2001Microsoft CorporationInteractive entertainment system for presenting supplemental interactive content together with continuous video programs
US6246442 *Aug 28, 1998Jun 12, 2001Matsushita Electric Industrial Co., Ltd.Apparatus for displaying information arranged in cells
US6275268 *Aug 4, 1999Aug 14, 2001United Video Properties, Inc.Electronic television program guide with remote product ordering
US6292624 *May 13, 1997Sep 18, 2001Sony CorporationSystem and method for selection/deselection of timer recording
US6338094 *Dec 9, 1999Jan 8, 2002Webtv Networks, Inc.Method, device and system for playing a video file in response to selecting a web page link
US6349410 *Aug 4, 1999Feb 19, 2002Intel CorporationIntegrating broadcast television pause and web browsing
US6374402 *May 12, 1999Apr 16, 2002Into Networks, Inc.Method and apparatus for installation abstraction in a secure content delivery system
US6421067 *Jan 16, 2000Jul 16, 2002IsurftvElectronic programming guide
US6434447 *Oct 2, 1998Aug 13, 2002Koninklijke Philips Electronics N.V.Control property is mapped modally compatible GUI element
US6442755 *Jan 8, 1999Aug 27, 2002United Video Properties, Inc.Electronic program guide using markup language
US6490616 *Jun 14, 1999Dec 3, 2002Wind River International, Ltd.Method and apparatus for incremental download from server to client
US6510157 *Apr 29, 1996Jan 21, 2003Microsoft CorporationDynamic ATM connection management in a hybrid fiber-coax cable network
US6519765 *Jul 9, 1999Feb 11, 2003International Business Machines CorporationMethod and apparatus for eliminating redundant array range checks in a compiler
US6526577 *Nov 22, 1999Feb 25, 2003United Video Properties, Inc.Enhanced interactive program guide
US6549929 *Jun 2, 1999Apr 15, 2003Gateway, Inc.Intelligent scheduled recording and program reminders for recurring events
US6591292 *Jan 8, 1999Jul 8, 2003Thomson Licensing S.A.Method and interface for incorporating program information into an electronic message
US6606747 *Sep 23, 1999Aug 12, 2003Index Systems, Inc.System and method for grazing television channels from an electronic program guide
US6615408 *Jan 15, 1999Sep 2, 2003Grischa CorporationMethod, system, and apparatus for providing action selections to an image referencing a product in a video production
US6630719 *Dec 6, 2000Oct 7, 2003Stmicroelectronics S.A.Hardened MOS transistors
US6637029 *Jun 30, 1998Oct 21, 2003Nds LimitedIntelligent electronic program guide
US6671882 *Jul 21, 1999Dec 30, 2003General Instrument CorporationSystem for distributing and handling electronic program guide information using CORBA-wrapped objects
US6675385 *Oct 21, 1998Jan 6, 2004Liberate TechnologiesHTML electronic program guide for an MPEG digital TV system
US6678733 *Oct 26, 1999Jan 13, 2004At Home CorporationMethod and system for authorizing and authenticating users
US6681395 *Mar 18, 1999Jan 20, 2004Matsushita Electric Industrial Company, Ltd.Template set for generating a hypertext for displaying a program guide and subscriber terminal with EPG function using such set broadcast from headend
US6742121 *Sep 2, 1999May 25, 2004General Instrument CorporationDetection of suspect software objects and signatures after failed authentication
US6771290 *Jul 16, 1999Aug 3, 2004B.E. Technology, LlcComputer interface method and apparatus with portable network organization system and targeted advertising
US6771886 *May 25, 2000Aug 3, 2004Koninklijke Philips Electronics N.V.Method and apparatus to adaptively program a recording device
US6774926 *Mar 3, 2000Aug 10, 2004United Video Properties, Inc.Personal television channel system
US6792197 *Dec 7, 1999Sep 14, 2004Index Systems, Inc.System and method for generating video taping reminders
US6817028 *Jun 9, 2000Nov 9, 2004Scientific-Atlanta, Inc.Reduced screen control system for interactive program guide
US6865746 *Nov 30, 1999Mar 8, 2005United Video Properties, Inc.Electronic program guide with related-program search feature
US6898762 *Aug 13, 1999May 24, 2005United Video Properties, Inc.Client-server electronic program guide
US6925567 *Apr 14, 1998Aug 2, 2005Sony CorporationRemote control of VCR with electronic mail
US6934965 *Jun 17, 2003Aug 23, 2005Sedna Patent Services, LlcSystem for generating, distributing and receiving an interactive user interface
US6968364 *Aug 29, 2000Nov 22, 2005Microsoft CorporationSystem and method to facilitate selection and programming of an associated audio/visual system
US6983448 *Jul 12, 2001Jan 3, 2006International Business Machines CorporationOpen framework for the definition of metadata
US7032236 *Feb 18, 1999Apr 18, 2006Thomson LicensingMultimedia system for processing program guides and associated multimedia objects
US7134131 *Apr 18, 2000Nov 7, 2006Sedna Patent Services, LlcDigital broadcast program billing
US7143428 *Apr 21, 1999Nov 28, 2006Microsoft CorporationConcurrent viewing of a video programming and of text communications concerning the video programming
US7174512 *Nov 28, 2001Feb 6, 2007Thomson Licensing S.A.Portal for a communications system
US7207057 *Nov 16, 2001Apr 17, 2007Rowe Lynn TSystem and method for collaborative, peer-to-peer creation, management & synchronous, multi-platform distribution of profile-specified media objects
US20020052747 *Aug 21, 2001May 2, 2002Sarukkai Ramesh R.Method and system of interpreting and presenting web content using a voice browser
US20020104098 *Jan 31, 2001Aug 1, 2002Zustak Fred J.Subscriber class television channel with class member programming
US20020124252 *Mar 2, 2001Sep 5, 2002Schaefer Scott R.Method and system to provide information alerts via an interactive video casting system
US20020174430 *Feb 21, 2002Nov 21, 2002Ellis Michael D.Systems and methods for interactive program guides with personal video recording features
US20030018748 *Oct 2, 2001Jan 23, 2003Digeo, Inc.System and method for providing television program information to an entertainment device
US20030018971 *Sep 26, 2001Jan 23, 2003Mckenna Thomas P.System and method for providing supplemental information related to a television program
US20030056215 *Nov 30, 1998Mar 20, 2003Rajesh KanungoTv pip using java api classes and java implementation classes
US20030066085 *Nov 1, 2002Apr 3, 2003United Video Properties, Inc., A Corporation Of DelawareInternet television program guide system
US20030149980 *Mar 5, 2003Aug 7, 2003United Video Properties, Inc., A Corporation Of DelawareElectronic program guide with integrated program listings
US20050028208 *Aug 26, 2004Feb 3, 2005United Video Properties, Inc.Interactive television program guide with remote access
US20050204388 *Aug 26, 2004Sep 15, 2005Knudson Edward B.Series reminders and series recording from an interactive television program guide
US20050251827 *Jul 11, 2005Nov 10, 2005United Video Properties, Inc.Interactive television program guide system having multiple devices within a household
US20060136965 *Feb 15, 2006Jun 22, 2006United Video Properties, Inc.Client-server electronic program guide
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US8046808 *May 23, 2005Oct 25, 2011Koninklijke Philips Electronics N.V.Communication of TV-Anytime CRIDs
US8307035Aug 31, 2007Nov 6, 2012Lava Two, LlcVirtual Aggregation Processor for incorporating reverse path feedback into content delivered on a forward path
US8308572Aug 31, 2007Nov 13, 2012Lava Two, LlcGaming system with end user feedback for a communication network having a multi-media management
US8308573Aug 31, 2007Nov 13, 2012Lava Two, LlcGaming device for multi-player games
US8381130 *Nov 29, 2006Feb 19, 2013Yahoo! Inc.Method and user interface tool for navigation through grid of scheduled items
US8509748Aug 31, 2007Aug 13, 2013Lava Two, LlcTransaction management system in a multicast or broadcast wireless communication network
US8572176Aug 31, 2007Oct 29, 2013Lava Two, LlcForward path multi-media management system with end user feedback to distributed content sources
US9179188 *Mar 30, 2011Nov 3, 2015Sony CorporationTransmission apparatus and method, reception apparatus and method, and transmission and reception system
US9355416Aug 31, 2007May 31, 2016James Michael GrazianoForward path multi-media management system with end user feedback to central content sources
US20030018748 *Oct 2, 2001Jan 23, 2003Digeo, Inc.System and method for providing television program information to an entertainment device
US20030018971 *Sep 26, 2001Jan 23, 2003Mckenna Thomas P.System and method for providing supplemental information related to a television program
US20030018977 *Sep 25, 2001Jan 23, 2003Mckenna Thomas P.System and method for sharing television program information between entertainment devices
US20050155067 *Dec 23, 2004Jul 14, 2005Digeo, Inc.System and method for managing television programs within an entertainment system
US20050238062 *May 23, 2005Oct 27, 2005Richard Ashley Alexis SCommunication of TV-anytime crids
US20060117349 *Nov 29, 2004Jun 1, 2006Ruhl Timothy JProviding a personalized programming guide
US20070157251 *Jan 3, 2007Jul 5, 2007Mptv, LlcMethods and Systems For Distributing Assets Associated With Television Program
US20080126989 *Nov 29, 2006May 29, 2008Philip FloresMethod and user interface tool for navigation through grid of scheduled items
US20080235729 *Jan 11, 2008Sep 25, 2008Kabushiki Kaisha ToshibaUser interface apparatus, display method, and computer program product
US20100228650 *Aug 27, 2007Sep 9, 2010Correlsense Ltd.Apparatus and Method for Tracking Transaction Related Data
US20100228814 *Aug 31, 2007Sep 9, 2010Lava Two ,LLCForward path multi-media management system with end user feedback to distributed content sources
US20100240298 *Aug 31, 2007Sep 23, 2010Lava Two, LlcCommunication network for a multi-media management system with end user feedback
US20100241527 *Aug 31, 2007Sep 23, 2010Lava Two, LlcTransaction management system in a multicast or broadcast wireless communication network
US20100254297 *Jun 17, 2010Oct 7, 2010Lava Two, LlcTransaction management system in a multicast or broadcast wireless communication network
US20100309375 *Jun 9, 2009Dec 9, 2010Echostar Technologies, LlcIndependent management of individual elements of a graphical display
US20110045910 *Aug 31, 2007Feb 24, 2011Lava Two, LlcGaming system with end user feedback for a communication network having a multi-media management
US20110066747 *Aug 31, 2007Mar 17, 2011Lava Two, LlcVirtual aggregation processor for incorporating reverse path feedback into content delivered on a forward path
US20110188415 *Aug 31, 2007Aug 4, 2011Lava Two, LlcForward path multi-media management system with end user feedback to central content sources
US20120054214 *Mar 30, 2011Mar 1, 2012Sony CorporationTransmission apparatus and method, reception apparatus and method, and transmission and reception system
WO2008120941A1 *Mar 31, 2008Oct 9, 2008Lg Electronics Inc.Method and system for providing service using mobile communication
WO2009029108A1 *Aug 31, 2007Mar 5, 2009Vulano Group, Inc.Gaming system with end user feedback for a communication network having a multi-media management
Classifications
U.S. Classification725/37, 725/39, 725/53
International ClassificationH04N5/445, H04N21/462, H04N21/482, H04N21/84, H04N21/454, G06F15/16, G06F3/00, G06F13/00
Cooperative ClassificationH04N21/4828, H04N21/4821, H04N21/454, H04N21/462, H04N5/44543, H04N2005/44556, H04N21/84
Legal Events
DateCodeEventDescription
Feb 25, 2009ASAssignment
Owner name: VULCAN VENTURES, INC., WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DIGEO, INC.;REEL/FRAME:022309/0016
Effective date: 20090220
Owner name: VULCAN VENTURES, INC.,WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DIGEO, INC.;REEL/FRAME:022309/0016
Effective date: 20090220