WO2003009597A1 - System and method for providing supplemental information related to a television program - Google Patents

System and method for providing supplemental information related to a television program Download PDF

Info

Publication number
WO2003009597A1
WO2003009597A1 PCT/US2002/016862 US0216862W WO03009597A1 WO 2003009597 A1 WO2003009597 A1 WO 2003009597A1 US 0216862 W US0216862 W US 0216862W WO 03009597 A1 WO03009597 A1 WO 03009597A1
Authority
WO
WIPO (PCT)
Prior art keywords
pio
link
supplemental information
user
television program
Prior art date
Application number
PCT/US2002/016862
Other languages
French (fr)
Inventor
Thomas P. Mckenna
Original Assignee
Digeo, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/909,468 external-priority patent/US20030018970A1/en
Application filed by Digeo, Inc. filed Critical Digeo, Inc.
Publication of WO2003009597A1 publication Critical patent/WO2003009597A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4113PC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4786Supplemental services, e.g. displaying phone caller identification, shopping application e-mailing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Definitions

  • the present invention relates generally to the field of interactive television systems. More specifically, the present invention relates to a system and method for providing supplemental information related to a television program.
  • EPG electronic program guide
  • STBs set top boxes
  • 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. Rectangular elements formed within the grid represent specific television programs.
  • 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 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.
  • DVRs digital video recorders
  • FIG. 1 is a block diagram of a communication system
  • FIG. 2 is an illustration of an interactive television system
  • FIG. 3 is a block diagram of hardware components of a set top box (STB);
  • FIG. 4 illustrates a conventional electronic program guide (EPG)
  • FIG. 5 is a block diagram of a plurality of program interface objects (PIOs) within a memory of an STB;
  • PIOs program interface objects
  • FIG. 6 is an expanded block diagram of a PIO
  • FIG. 7 is a block diagram of a system utilizing PIOs to represent television programs
  • FIG. 8 is a user interface for interacting with PIOs
  • FIG. 9 is a block diagram of various functional modules for processing actions associated with a PIO
  • FIG. 10 is a block diagram illustrating use of a PIO to record an associated television program
  • FIG. 11 is a user interface illustrating visual indicators of PIOs within a calendar
  • FIG. 12 is a block diagram illustrating use of a PIO to display a previously recorded television program
  • FIG. 13 is a block diagram illustrating display of an attribute of a PIO
  • FIG. 14 is a block diagram of a system for filtering a set of PIOs according to user-defined filtering criteria
  • FIG. 15 is a block diagram illustrating transmission of PIOs between entertainment systems
  • FIG. 16 is a block diagram illustrating use of a PIO to display supplemental information related to a television program represented by a PIO
  • FIG. 17 is a block diagram illustrating use of a PIO to automatically purchase a product
  • FIGS. 18-19 are block diagrams illustrating use of a PIO to establish a chat session
  • FIG. 20 is a block diagram illustrating use of a PIO to provide supplemental information during a broadcast of a television program represented by the PIO;
  • FIG. 21 is a block diagram illustrating use of a PIO to provide supplemental information related to a television program to be broadcast in the future;
  • FIG. 22 is a user interface illustrating supplemental information provided in conjunction with visual indicators for stored PIOs;
  • FIG. 23 is a block diagram of a system for providing supplemental information related to a television program represented by a PIO.
  • 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.
  • PIOs program interface objects
  • 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.
  • 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.
  • Certain attributes may contain meta-data relating to the PIO, the television program, or both. For example, one attribute may indicate the size of the corresponding PIO. Another attribute may indicate the encoding format of the television program.
  • 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.
  • PIOs may be implemented using various technologies. For instance, a
  • PIO may be implemented as a JavaBean object.
  • a PIO may be embodied as a Distributed Component Object Model (DCOM) object or an extensible Markup Language (XML) object.
  • DCOM Distributed Component Object Model
  • XML extensible Markup Language
  • the present invention is not limited to a particular object format.
  • 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.
  • GUI graphical user interface
  • the GUI may display a plurality of visual indicators corresponding to a set of PIOs.
  • 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.
  • 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.
  • PIOs may be transmitted between interactive television systems, personal computers, mobile devices, and the like.
  • 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.
  • a PIO may be sent via infrared (IR) or radio frequency (RF) transmission from one portable entertainment device, such as a Personal Digital Assistant (PDA), to another.
  • IR infrared
  • RF radio frequency
  • a PIO may be used to provide supplemental information related to a television program.
  • an attribute may comprise a link to a web page associated with the television program.
  • the PIO may be used to direct a browser to the web page indicated by the link.
  • a PIO may include a link to an e-commerce website.
  • the link may identify, for instance, a particular product associated with the television program.
  • attributes of the PIO containing personal information about a user may be used to automatically initiate a sale for the identified product.
  • a link of a PIO may connect a user to a chat room associated with the television program.
  • PIOs are an alternative mechanism for providing access to available television programming and supplemental information using 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.
  • 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.
  • 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.
  • the system 100 relies on a broadband network 101 for communication, such as a cable television network or a direct satellite broadcast (DBS) network, although other networks are possible.
  • a broadband network 101 for communication, such as a cable television network or a direct satellite broadcast (DBS) network, although other networks are possible.
  • DBS direct satellite broadcast
  • the system 100 may include a plurality of set top boxes (STBs) 102 located, for instance, at customer homes or offices.
  • STBs set top boxes
  • an STB 102 is a consumer electronics device that serves as a gateway between a customer's television 104 and the network 101.
  • an STB 102 may be embodied more generally as a personal computer (PC), an advanced television 104 with STB functionality, or another type of client terminal.
  • PC personal computer
  • advanced television 104 with STB functionality or another type of client terminal.
  • 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. As its name implies, an STB 102 is typically located on top of, or in close proximity to, the television 104.
  • 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 (e.g., an IPv6 address), a Media Access Control (MAC) address, or the like.
  • IP Internet Protocol
  • MAC Media Access Control
  • 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.
  • IR infrared
  • RF radio frequency
  • Other remote control devices are also contemplated, such as wired or wireless mice (not shown).
  • a keyboard 108 (either wireless or wired) is provided, in one embodiment, to allow a user to rapidly enter text information into the STB 102.
  • text information may be used for e-mail, instant messaging (e.g. text-based chat), or the like.
  • the keyboard 108 may use infrared (IR), radio frequency (RF), or other wireless technologies to transmit keystroke data to the STB 102.
  • IR infrared
  • RF radio frequency
  • Each STB 102 may be coupled to the network 101 via a broadcast center 110.
  • a broadcast center 110 may be embodied as a "head-end", which is generally a centrally-located facility within a community where television programming is received from a local cable TV satellite downlink or other source and packaged together for transmission to customer homes.
  • a head-end also functions as a Central Office (CO) in the telecommunication industry, routing video signals and other data to and from the various STBs 102 serviced thereby.
  • CO Central Office
  • a broadcast center 110 may also be embodied as a satellite broadcast center within a direct broadcast satellite (DBS) system.
  • DBS direct broadcast satellite
  • a DBS system may utilize a small 18-inch satellite dish, which is an antenna for receiving a satellite broadcast signal.
  • Each STB 102 may be integrated with a digital integrated receiver/decoder (IRD), which separates each channel, and decompresses and translates the digital signal from the satellite dish to be displayed by the television 104.
  • ITD digital integrated receiver/decoder
  • 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.
  • Compression e.g., MPEG
  • the broadcast centers 110 may be used to gather programming content, ensure its digital quality, and uplink the signal to the satellites. Programming may be received by the broadcast centers 110 from content providers (CNN ® , ESPN ® , HBO ® , TBS ® , 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 back down to every earth-station, e.g., every compatible DBS system receiver dish at customers' homes and businesses.
  • content providers CNN ® , ESPN ® , HBO ® , TBS ® , etc.
  • Satellite-delivered programming is typically immediately digitized, encrypted and uplinked to the orbiting satellites. The satellites retransmit the signal back down to every earth-station, e.g., every compatible DBS system receiver dish at customers' homes and businesses.
  • Some broadcast programs may be recorded on digital videotape in the" broadcast center 110 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.
  • the broadcast centers 110 may be coupled directly to one another or through the network 101.
  • broadcast centers 110 may be connected via a separate network, one particular example of which is the Internet 112.
  • the Internet 112 is a "network of networks" and is well known to those skilled in the art. Communication over the Internet 112 is accomplished using standard protocols, such as TCP/IP (Transmission Control Protocol/Internet Protocol) and the like.
  • a broadcast center 110 may receive television programming for distribution to the STBs 102 from one or more television programming sources 114 coupled to the network 101.
  • television programs are distributed in an encoded format, such as MPEG (Moving Picture Experts Group).
  • MPEG Motion Picture Experts Group
  • MPEG-2, MPEG-4, MPEG-7, and the like are known, such as MPEG-2, MPEG-4, MPEG-7, and the like.
  • MPEG Motion Picture Experts Group
  • 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.
  • Broadcast centers 110 may be used to enable audio and video communications between STBs 102. Transmission between broadcast centers 110 may occur (i) via a direct peer-to-peer connection between broadcast centers 110, (ii) upstream from a first broadcast center 110 to the network 101 and then downstream to a second broadcast center 110, or (iii) via the Internet 112. For instance, a first STB 102 may send a video transmission upstream to a first broadcast center 110, then to a second broadcast center 110, and finally downstream to a second STB 102.
  • FIG. 1 is merely exemplary, and other types of devices and networks may be used within the scope of the invention.
  • 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.
  • the remote control 106 is provided for convenient remote operation of the
  • the remote control 106 includes a wireless transmitter 202 for transmitting control signals (and possibly audio/video data) to a wireless receiver 203 within the STB 102 and/or the television 104.
  • the remote control 106 includes a wireless receiver 204 for receiving signals from a wireless transmitter 205 within the STB 102. Operational details regarding the wireless transmitters 202, 205 and wireless receivers 203, 204 are generally well known to those of skill in the art.
  • the remote control 106 preferably includes a number of buttons or other similar controls.
  • 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, a "Help” button 226, and the like.
  • the remote control 106 includes a microphone 242 for capturing audio signals. The captured audio signals may be transmitted-to the STB 102 via the wireless transmitter 202.
  • the remote control 106 may include a speaker 244 for generating audible output from audio signals received from the STB 102 via the wireless receiver 204.
  • the microphone 242 and/or speaker 244 may be integrated with the STB 102.
  • the remote control 106 further includes a video camera 246, such as a CCD (charge-coupled device) digital video camera, for capturing video signals.
  • the video camera 246 is in electrical communication with the wireless transmitter 202 for sending the captured video signals to the STB 102.
  • the video camera 246 may be integrated with the STB 102, or attached to the STB 102, as in the depicted embodiment.
  • the various components of the remote control 106 may be positioned in different locations for functionality and ergonomics.
  • the speaker 244 may be positioned near the "top" of the remote control 106 (when viewed from the perspective of FIG. 2) and the microphone 242 may be positioned at the "bottom" of the remote control 106.
  • a user may conveniently position the speaker 244 near the user's ear and the microphone 242 near the user's mouth in order to operate the remote control 106 in the manner of a telephone.
  • the optional keyboard 108 facilitates rapid composition of text messages.
  • the keyboard 108 includes a plurality of standard alphanumeric keys 236.
  • the keyboard 108 includes a wireless transmitter (not shown), similar or identical to the wireless transmitter 202 of the remote control 106.
  • the wireless transmitter transmits keystroke data from the keyboard 108 to the STB 102.
  • the keyboard 108 may include one or more of the buttons illustrated on the remote control 106.
  • a hands-free headset 248 may be coupled to the remote control 106 or the keyboard 108.
  • the headset 248 may be coupled using a standard headset jack 250.
  • the headset 248 may include a microphone 242 and/or speaker 244.
  • Such a headset 248 may be used to reduce audio interference from the television 104 (improving audio quality) and to provide the convenience of hands-free operation.
  • the STB 102 includes a wireless receiver 203 for receiving control signals sent by the wireless transmitter 202 in the remote control 106 and a wireless transmitter 205 for transmitting signals (such as audio/video signals) to the wireless receiver 204 in the remote control 106.
  • the STB 102 also includes, in one implementation, a network interface 302 for communicating with the network 101 via the broadcast center 110.
  • the interface 302 may include conventional circuitry for receiving, demodulating, and demultiplexing MPEG packets.
  • the interface 302 may also include conventional modem circuitry for sending or receiving data.
  • the interface 302 may conform to the DOCSIS (Data Over Cable Service Interface Specification) or DAVIC (Digital Audio-Visual Council) cable modem standards.
  • one or more frequency bands may be reserved for upstream transmission.
  • Digital modulation for example, quadrature amplitude modulation or vestigial sideband modulation
  • 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.
  • 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 (VoIP), for encoding and decoding.
  • the STB 102 further includes a memory device 306, such as a random access memory (RAM), for storing temporary data.
  • a read-only memory (ROM) may be provided for storing more permanent data, such as fixed code and configuration information.
  • an audio/video (A/V) controller 308 is provided for converting digital audio/video signals into analog signals for playback/display on the television 104.
  • the A/V controller 308 may be implemented using one or more physical devices, such as separate graphics and sound controllers.
  • the AA controller 308 may include graphics hardware for performing bit-block transfers (bit-blits) and other graphical operations for displaying a graphical user interface (GUI) on the television 104.
  • the STB 102 may include a storage device 310, such as a hard disk drive, optical storage device, RAM, compact flash card, etc.
  • the storage device 310 may be configured to store encoded incoming and outgoing video signals as well as television broadcasts and retrieve the same at a later time for display.
  • the storage device 310 may be configured, in one embodiment, as a digital video recorder (DVR), enabling scheduled recording of television programs, pausing (buffering) live video, etc.
  • DVR digital video recorder
  • the storage device 310 may also be used in various embodiments to store viewer preferences, parental lock settings, electronic program guide (EPG) data, passwords, e-mail messages, video messages, video greetings, and the like.
  • EPG electronic program guide
  • the storage device 310 also stores an operating system (OS) for the STB 102, such as Windows CE ® or Linux ® .
  • OS operating system
  • the STB 102 may include, in certain embodiments, a microphone 242 and a speaker 244 for capturing and reproducing audio signals, respectively.
  • the STB 102 may also include or be coupled to a video camera 246 for capturing video signals. These components may be included in lieu of or in addition to similar components in the remote control 106, keyboard 108, and/or television 104.
  • a CPU 312 controls the operation of the STB 102, including the other components thereof, which are coupled to the CPU 312 in one embodiment 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.
  • DSP digital signal processor
  • the CPU 312 may be embodied as an Intel ® x86 processor.
  • the CPU 312 may perform logical and arithmetic operations based on program code stored within the memory 306 or the storage device 310.
  • FIG. 3 illustrates only one possible configuration of an STB 102.
  • 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.
  • various standard components are not illustrated in order to avoid obscuring aspects of the invention.
  • FIG. 4 illustrates one implementation of a conventional Electronic Programming Guide (EPG) 402.
  • EPG Electronic Programming Guide
  • 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.
  • a conventional EPG 402 is awkward and ill-suited to entertainment systems having more than a few channels.
  • a satellite STB may receive more than 500 channels, requiring the user to scroll through many pages of information to locate a desired program.
  • a conventional EPG 402 is based on the channel/time slot model, which is of diminishing relevance today.
  • DVRs digital video recorders
  • the EPG 402 may be generated from a text data file 410 or the like containing raw schedule information.
  • each program element 408 in the EPG 402 may correspond to one or more lines in the text data file 410.
  • storing raw schedule information in this manner severely limits the way in which the information may be used and communicated.
  • each system that receives the text data file 410 must be programmed to pa.rse 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.
  • FIG. 5 illustrates an alternative to the conventional EPG 402 in accordance with principles of the present invention.
  • program interface objects (PIOs) 502 are used to represent television programs within an entertainment system, such as an interactive television system 200.
  • PIOs 502 are stored within a memory 306 of an STB 102.
  • various other systems and devices may be used to store PIOs 502, such as personal digital assistants (PDAs), webpads, personal computers, and the like.
  • PDAs personal digital assistants
  • webpads personal computers, and the like.
  • a PIO 502 may include a plurality of actions 504 and attributes 506.
  • 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.
  • each PIO 502 may include a different set of actions 504 permitting the PIOs 502 to be sorted and catagorized based on the different defined actions 504.
  • 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.
  • 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 50.6 may correspond to the program's broadcast time. Certain attributes 506 may contain meta-data related to the PIO 502, the represented television program, or both. For example, one attribute 506 may indicate the size of the PIO 502. Another attribute 506 may indicate the video encoding format of the represented television program.
  • 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.
  • 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.
  • attributes 506 may include text in multiple languages to allow the PIO 502 to be used in different countries around the world.
  • 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 or an extensible Markup Language (XML) object.
  • DCOM Distributed Component Object Model
  • XML extensible Markup Language
  • 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.
  • GUI graphical user interface
  • the GUI may display a plurality of visual indicators 508 corresponding to a set of PIOs 502.
  • 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.
  • PIOs 502 include program code in a substantially machine-independent format. For example, JavaBean, DCOM, or XML objects generally do not require proprietary hardware so long as the hardware executes a
  • JVM Java Virtual Machine
  • DCOM server a DCOM server
  • XML processor a Java Virtual Machine
  • 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.
  • PIOs 502 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.
  • 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.
  • actions may be termed “methods” or “functions”, and “attributes” may be referred to as “variables”, “state”, or “data”.
  • FIG. 6 illustrates an expanded view of a PIO 502 including examples of attributes 506, actions 504, and visual indicators 508.
  • a typical PIO 502 may include such attributes 506 as title 506a, description 506b, broadcast channel 506c, rating 506d (e.g., TV-G, TV-PG), start time 506e, end time 506f, running time 506g, release year 506h, classification 506i (e.g., drama, sit-com, sports), actor(s) 506j, producer(s) 506k, related Internet links 5061, storage location 506m, country of origin 506n, language 506o, etc.
  • rating 506d e.g., TV-G, TV-PG
  • start time 506e e.g., start time 506e
  • end time 506f running time 506g
  • release year 506h e.g., release year 506h
  • classification 506i e.g., drama, sit-com, sports
  • attributes 506 may be embodied as references to external data in the form of hyperlinks or the like.
  • a start time 506e 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.
  • the start time attribute 506e (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.
  • 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.
  • the STB 102 can get updates from the broadcaster, allowing the STB 102 to extend the duration of the recording of the program.
  • 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.
  • the related Internet links attribute 506I 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.
  • an associated web site e.g., a sponsored link
  • a chat room e.g., real time chat about the television program being watched
  • one attribute 506 may comprise a link (not shown) to one or more other PIOs 502.
  • PIO linking allows PIOs 502 to be associated based on characteristics besides those defined within the actions 504 and attributes 506 of each PIO 502. For example, PIOs 502 may be linked based on movies and television programs which discuss the subject of water rights in the western United States. Consequently, a PIO 502 for the movie "Chinatown,” with actor Jack Nicholson, may be linked to a PIO 502 for "Rider of Destiny,” with actor John Wayne.
  • a typical PIO 502 may also include various actions 504, such as an action 504a for recording the associated television program.
  • the recording action 504a 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.
  • the recording action 504 may access the channel, start time, end tirr ⁇ e, and/or running time attributes 506c, 506e-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 504a is an example of this dynamic update of the stored copy of the PIO 502.
  • An action 504b 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 504b 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 504a), the display action 504b may retrieve and display the stored television program. In one embodiment, the display action 504 accesses the storage location 506m attribute to locate a stored television program.
  • actions 504 may include an action 504b 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 504d 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 504e may be included to allow a user to rate and/or comment on the represented television program. An action 504f may also be provided to send a copy of the PIO 502 to another system or device. In some cases, actions 504 may be propagated between linked PIOs 502.
  • a user may selection the record action 502a 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 506a may be executed by the linked PIOs 502 as well.
  • attributes 506 and actions 504 may be provided within the scope of the invention.
  • object-oriented nature of a PIO 502 allows for additional actions 504 and attributes 506 to be dynamically added as necessary.
  • 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.
  • 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 ® . In certain embodiments, a PIO 502 may include an audible indicator 509.
  • the audible indicator 509 may include, for example, a description of the television program associated with the PIO 502 (similar to the description attribute 506b), an advertisement, user instructions, theme music for the television program or the like.
  • the audible indicator 509 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 509 is advantageous for people who are visually disabled or those who have difficulty reading.
  • 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.
  • a plurality of PIOs 502a-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.
  • the displayed visual indicators 508a-f may be grouped in the GUI 704 within logical folders or the like, allowing a user to organize the visual indicators 508a-f in any desired manner. For example, a user may group visual indicators 508a-f within such folders as "My sit-coms", "My
  • 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.
  • a PIO 502a includes a number of attributes 506, such as a title attribute 506a (e.g., "Dallas v. Denver"), a channel attribute 506c ("4 KTVX”), a start time attribute 506e (e.g., "Monday, 7:00 pm”), and an end time attribute 506f ("Monday, 10:00 pm”).
  • a title attribute 506a e.g., "Dallas v. Denver
  • a channel attribute 506c (“4 KTVX”
  • start time attribute 506e e.g., "Monday, 7:00 pm”
  • an end time attribute 506f e.g., 10:00 pm
  • FIG. 8 illustrates an exemplary GUI 704 including visual indicators 508a-f corresponding to the PIOs 502a-f of FIG. 7.
  • a user selects visual indicator 508a using, for example, the arrow buttons 208-214 of the remote control 106.
  • a pointer, selection outline, or other mechanism may be used to pick the desired indicator 508a.
  • a context-sensitive menu 802 may be displayed listing the available actions 504a-b for the PIO 502a. 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. 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.
  • the record action 504a may include two options 804a-b, corresponding to record "Weekly” and record "Next Time Broadcast.” If the "Next Time Broadcast" option 804b is selected, for instance, the record action 504a may record the next episode of a television program, as opposed to recurring weekly episodes (in the case of TV drama or sit-com).
  • the selection component 706 may display a plurality of user-selectable icons (not shown) corresponding to different actions 504 and options 804.
  • 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.
  • 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, XML processor, or the like. Of course, other implementations are possible.
  • JVM Java Virtual Machine
  • DCOM server DCOM server
  • XML processor XML processor
  • 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.
  • 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.
  • 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.
  • DVR digital video recording
  • 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 the television program on the specified channel.
  • 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 506m of the PIO 502a to allow subsequent access thereto.
  • 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 ® .
  • PIM personal information manager
  • 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.
  • the scheduling component 906 inserts reminders 1102 into the PIM 1100 to notify users concerning scheduled recordings.
  • 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.
  • PIOs 502 may be dragged and dropped onto the PIM 1100 using object linking and embedding (OLE), DCOM, ActiveX, or the like.
  • OLE object linking and embedding
  • a result of dropping a PIO 502 on the PIM 1100 may be to schedule the program represented by the PIO 502 for recording.
  • 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.
  • PIOs may be used with a variety of electronic devices, including personal computers, cell phones, personal digital assistants (PDAs), pagers, telephones, and the like.
  • PDAs personal digital assistants
  • the portable nature of the PIOs 502 and flexibility available provide for a variety of uses for the PIOs 502.
  • 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.
  • a television program may be retrieved and displayed in response to a user selection of the display action 504b shown in FIG. 8.
  • the location of the recorded television program is retrieved from the stored location attribute 506m 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.
  • an action 504d may be provided for displaying one or more of the attributes of a PIO 502.
  • the action 504d 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.
  • 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 broadcast center 110, a television source 114 (such as a television network), a PIO server (not shown), and the like.
  • the PIOs 502 may be transmitted from these sources, across a network 101 , the Internet 112, or other network connection, including a satellite link, to an STB 102.
  • 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 broadcast center 110, or the like.
  • 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.
  • 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.
  • 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 506e of 7:00pm or an end time 506f of 10:00 pm (e.g., primetime). Alternatively, a user may specify that the population component 914 only retrieve PIOs 502 corresponding to sporting events.
  • logical operators e.g., AND, OR, NOT
  • 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.
  • the population component 914 applies the filtering criteria 1406 (e.g., primetime) to each PIO 502a-d.
  • the PIOs 502 that match the filtering criteria 1406 e.g., PIO 502a-b
  • the display component 702 may then display the corresponding visual indicators 508a-b on the television 104.
  • 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.
  • PIOs 502 may be transmitted from one system to another.
  • a PIO 502a within a first STB 102a may be transmitted via the network 101 to second STB 102b.
  • other networks may be used, such as telephone and satellite networks (not shown).
  • PIOs 502 may be communicated between a variety of electronic devices, including personal computers, PDAs, telephones, cell phones, pagers, and the like.
  • a communication component 1502 is provided within each STB 102a-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.
  • various communication protocols may be used, such as HTTP, FTP, SMTP, IMAP, which are well known to those skilled in the art.
  • a user of the source STB 102a may select the visual indicator 508a of PIO 502a. Thereafter, the user may select, for example, the send action 504f from the context-sensitive menu 802.
  • the send action 504f may include code for interacting with the communication component 1502 to transmit a copy of the PIO 502a to the destination STB 102b.
  • 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.
  • 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.
  • FIGS. 16-18 are high-level block diagrams illustrating various techniques for providing supplemental information related to television programs using PIOs 502. While the following description makes particular reference to STBs 102, the invention is not limited to STBs 102 or interactive television systems 200 generally.
  • a wide variety of devices may use, transport, create, or otherwise process PIOs 502, examples of which include personal computers, PDAs, webpads, etc.
  • PIOs 502 may be used, in certain embodiments, to provide supplemental information related to a television program.
  • supplemental information broadly refers to any type of information, content, or service relating to a television program. Examples of supplemental information may include related articles, close-ups, replays, outtakes, galleries, commercial tie-ins, games, sound clips, video clips, product information, chat servers, and the like.
  • the supplemental information is external to the PIO 502 (and possibly the STB 102), and the supplemental information is accessed through a link attribute 506I.
  • the link 506I is an address or pointer, such as a Uniform Resource Locator (URL), for locating and retrieving the supplemental information.
  • a typical PIO 502 may include one or more of such link attributes 506I.
  • a PIO 502 may include a link 506I to a web page 1602 related to the television program represented by a PIO 502.
  • an STB 102 may launch a browser 1604, such as Microsoft ® Internet Explorer ® , to display the web page 1602.
  • the STB 102 may launch software programs other than a browser 1604 for presentation of the information available through the link 506i.
  • the link 506i may indicate which software program should be launched.
  • a link 506i to a FLASH animation file e.g. demo.fla, may launch a FLASH animation player such as the FLASH player available from Macromedia ® .
  • the link 506I shown in FIG. 16, e.g., "http://sports.espn.go.com/nfl/mnf/index,” may direct the browser 1604 to access a specific information server 1606, such as a web server.
  • the browser 1604 establishes communication with the information server 1606 using known protocols, such as the HyperText Transfer Protocol (HTTP), the File Transfer Protocol (FTP), or the like.
  • HTTP HyperText Transfer Protocol
  • FTP File Transfer Protocol
  • the browser 1604 may request a specific web page 1602 indicated by the link 506I.
  • the browser 1604 receives and displays the web page 1602 on the television 104 or other display device.
  • the user may further interact with the web page 1602 to explore new links and retrieve information referenced by the web page 1602.
  • a variety of supplemental information may be preloaded within the STB 102. This may occur, for example, during off-peak hours when communication bandwidth is more available.
  • the link 506I may be embodied as a URL or a file name referencing a cached web page or local file within a storage device 310 of the STB 102.
  • the link 506I may be used to initiate a commercial transaction.
  • the link 506I may include the address of a commercial server 1702 for selling goods or services related to a television program, a sponsor of the television program, etc.
  • the commercial server 1702 may sell licenses to view the television program and/or provide a copy of the television program, itself.
  • "television program” refers broadly to any type of media program, including motion pictures, audio-only presentations, etc. Thus, the term “television program” should not be construed as being limited to broadcast television.
  • a user of an STB 102 may select a visual indicator 508a corresponding to the PIO 502a, which may be displayed in a graphical user interface (GUI) 1704.
  • Selection of the visual indicator 508a may result in a context-sensitive menu 802 being displayed, listing various actions 504 that may be performed with respect to the PIO 502. For instance, as shown in FIG. 17, listed actions may include a buy action 504g and a record action 504a. Thereafter, the user may select, for example, the buy action 504g from a context- sensitive menu 802.
  • selecting the buy action 504g results in a sub-menu 806 being displayed, which lists various options 804 corresponding to products available for sale.
  • the PIO 502 may include a plurality of links 506I such that each option 804 may correspond to a different link 506I.
  • each link 506I may indicate a different commercial server 1702 available for purchasing a product.
  • a "Highlights" option 804c may initiate a transaction for purchasing a DVD of highlights of a football game. Choosing the "Highlights" option 804c on the sub-menu 806 may result in the STB 102 establishing a connection with the commercial server 1702 (identified by the corresponding link 506I) via the network 101 using standard network protocols, such TCP/IP, UDP/IP, etc.
  • the STB 102 identifies the product a user desires to purchase.
  • the link 506I includes an identifier for the product, e.g. "highlightsDVD.”
  • the product identifier may be obtained from another attribute 506.
  • the STB 102 may then automatically provide necessary information about the user to complete the sale.
  • the PIO 502a includes additional attributes 506 such as the user's name 506p, address 506q, payment information 506r, user ID (not shown), password (not shown), telephone number (not shown), etc.
  • the STB 102 transmits (as illustrated by the dashed lines) the user information to the commercial server 1702.
  • the commercial server 1702 may place an order and conduct other steps to ensure the product is delivered to the user, including, for example, notifying a warehouse, manufacturer, and/or shipper.
  • the STB 102 may prompt the user using the GUI 1704 to authorize placing of the order.
  • the STB 102 may then proceed to place an order.
  • the PIO 502a may include a user's payment information 506r, such as a credit card or bank account number, for paying for the product.
  • the payment information 506r may be encrypted, using well known encryption algorithms, such as Secure Sockets Layer (SSL), prior to transmission to the commercial server 1702.
  • SSL Secure Sockets Layer
  • the user information may include a user's digital certificate.
  • the link 506I may be used to purchase a license to view Video-on-Demand (VoD) content.
  • VoD Video-on-Demand
  • a user may select the "Outtakes" option 804d to purchase, from a VoD server (not shown), a license to view an Outtakes" video.
  • a user may activate a display action 504b to view an "Outtakes" video stored, for example, at the broadcast center 110.
  • FIG. 17 is merely illustrative of a variety of commercial transactions may be initiated or completed using a PIO 502, from purchasing insurance to subscribing to a magazine.
  • the transaction need not be directly related to the television program represented by the PIO 502, but may relate, for example, to the program's sponsor.
  • FIG 18 illustrates an alternative embodiment in which a link 506I is used to provide user interaction with a server, such as a chat (instant messaging) server, accessible via the network 101.
  • a server such as a chat (instant messaging) server
  • the link 506I may be used to establish a chat session 1802, illustrated in FIG. 19, between the STB 102 and a chat server 1804.
  • a user selects a visual indicator 508a displayed within a picture-in-picture window 1806. Thereafter the user selects a chat action 504h from a context-sensitive menu 802.
  • the STB 102 parses the link 506I to identify the chat server 1804, chat room, and other relevant information.
  • "www.espn.com” may be the name of an Internet chat server 1804.
  • the name may be translated to a network address.
  • "Mnfchatroom.dll” may indicate the specific chat room to connect to.
  • "Guest” may be a login ID to allow the user access to the chat room.
  • the STB 102 may also send a chat room alias 506s, for example, "Chalky,” to conceal the user's identity in the chat room and/or conference.
  • the link 506i may indicate a specific chat conference which will host the chat session 1802.
  • a chat conference comprises a chat forum which is organized to allow chat communicaiton for ad-hoc or short term topics of common interest among users.
  • a chat conference enables chat gatherings based on more dynamically changing subjects.
  • a chat conference may be implemented using a specific chat room as a "conference room" for a chat conference on an particular topic.
  • the STB 102 uses the information contained within the link 506I to establish a chat session 1802 with the chat server 1804, as shown in FIG. 19.
  • the STB 102 uses the link 506I to direct an instant messaging client (not shown) to establish the chat session 1802.
  • the instant messaging client may include a graphical user interface 1902 displayable in conjunction with the television program. The user may then interact with the instant messaging client to exchange chat messages while viewing the television program.
  • a PIO 502 may be configured to automatically provide supplemental information referenced by the link 506I at a particular time.
  • the PIO 502 may be configured to display a web page 1602 during at a time while the television program is being broadcast.
  • the PIO 502 may include an action 504 (not shown) selectable by the user from a list of other actions 504, discussed above, to present the supplemental information.
  • the STB 102 in response to a television program being broadcast, the STB 102 may automatically retrieve and display the web page 1602 referenced by the link 506I.
  • the web page 1602 listing the scores for other football games may be displayed along side a football game currently being broadcast.
  • the web page 1602 may be retrieved periodically during the program, at pre-programmed intervals during the program, etc., which may be defined by attributes within the PIO 502.
  • the link 506I may be used to display a web page 1602 to promote a television program prior to the television program being broadcast.
  • the STB 102 may retrieve and display a web page 1602 associated with PIO 502e to advertise the television program, e.g. "Survivor," before the television program is broadcast.
  • the web page 1602 is displayed within a PIP window during another television program (e.g., during a preceding football game, as shown in FIG. 21 ).
  • supplemental information may be provided in a graphical user interface (GUI) 2200 for organizing PIOs 502.
  • GUI graphical user interface
  • the GUI 2200 may display a plurality of folders 2202a-e, which correspond to logical folders (e.g., directories) or other similar mechanisms within the storage device 310.
  • the displayed folders 2202a-e may be organized into a folder hierarchy 2204, which mirrors a corresponding hierarchy of logical folders within the storage device 310.
  • Each of the displayed folders 2202a-c may be given descriptive names, such as "Tonight”, “Drama”, “Sports", etc. Of course, each displayed folder 2202a-c may include one or more sub-folders (not shown).
  • each user may have a separate folder hierarchy 2204.
  • a root node 2206 corresponding to a particular user e.g., "Susan”
  • a user's folder hierarchy 2204 may form a branch of a larger folder hierarchy 2204 for the device.
  • FIG. 23 illustrates one embodiment of a system 2300 for providing supplemental information related to a television program.
  • the system includes the display component 702 and communication component 1502, as described above in connection with FIGs 7 and 15. These components 702, 1502 may be adapted to provide supplemental information.
  • the system further includes one or more PIOs 502 stored on a computer-readable medium, such as a memory 306.
  • the system includes a retrieval component 2302.
  • the retrieval component 2302 accesses the link 506I (as illustrated by the dashed line).
  • the retrieval component 2302 directs the communication component 1502 to request the supplemental information referenced by the link 506I.
  • the communication component 1502 provides the supplemental information to the retrieval component 2302, which displays the supplemental information using the display component 702.
  • the components 702, 1502, 2302 are embodied as a browser 1604 as discussed in relation to FIG. 16.
  • 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.

Abstract

Television programs are represented by program interface objects, or PIOs (502) within an interactive television system. The PIOs (502) provide a visual indicator for quick identification of the represented television program, attributes (506) providing information concerning the represented television program, and actions (504) that may be performed on or in connection with the represented television program. The PIOs (502) may be sorted, filtered, and/or managed based on user-provided criteria. The PIOs (502) may also be used to selectively retrieve supplemental information related to a television program, initiate a commercial transaction, establish a chat session, and the like.

Description

SYSTEM AND METHOD FOR PROVIDING SUPPLEMENTAL INFORMATION RELATED TO A TELEVISION PROGRAM
BACKGROUND
RELATED APPLICATIONS
This application is a continuation-in-part of U.S. Patent Application Serial No. 09/909,468, filed July 19, 2001 , for Object Representation of Television Programs within an Interactive Television System," with inventor Thomas P. McKenna, Jr., which is hereby incorporated by reference.
FIELD OF THE INVENTION
The present invention relates generally to the field of interactive television systems. More specifically, the present invention relates to a system and method for providing supplemental information related to a television program.
DESCRIPTION OF RELATED BACKGROUND ART
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. Rectangular elements formed within the grid represent specific television programs.
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 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.
With the advent of digital video recorders (DVRs), even the concept of broadcast time is becoming irrelevant. Ideally, a viewer would simply like to instruct the entertainment system to record the next episode of Friends®, which the viewer can then watch at a convenient time.
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. 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
Non-exhaustive embodiments of the invention are described with reference to the figures, in which:
FIG. 1 is a block diagram of a communication system;
FIG. 2 is an illustration of an interactive television system; FIG. 3 is a block diagram of hardware components of a set top box (STB);
FIG. 4 illustrates a conventional electronic program guide (EPG);
FIG. 5 is a block diagram of a plurality of program interface objects (PIOs) within a memory of an STB;
FIG. 6 is an expanded block diagram of a PIO; FIG. 7 is a block diagram of a system utilizing PIOs to represent television programs;
FIG. 8 is a user interface for interacting with PIOs;
FIG. 9 is a block diagram of various functional modules for processing actions associated with a PIO; FIG. 10 is a block diagram illustrating use of a PIO to record an associated television program;
FIG. 11 is a user interface illustrating visual indicators of PIOs within a calendar; FIG. 12 is a block diagram illustrating use of a PIO to display a previously recorded television program;
FIG. 13 is a block diagram illustrating display of an attribute of a PIO;
FIG. 14 is a block diagram of a system for filtering a set of PIOs according to user-defined filtering criteria;
FIG. 15 is a block diagram illustrating transmission of PIOs between entertainment systems;
FIG. 16 is a block diagram illustrating use of a PIO to display supplemental information related to a television program represented by a PIO; FIG. 17 is a block diagram illustrating use of a PIO to automatically purchase a product;
FIGS. 18-19 are block diagrams illustrating use of a PIO to establish a chat session;
FIG. 20 is a block diagram illustrating use of a PIO to provide supplemental information during a broadcast of a television program represented by the PIO;
FIG. 21 is a block diagram illustrating use of a PIO to provide supplemental information related to a television program to be broadcast in the future; FIG. 22 is a user interface illustrating supplemental information provided in conjunction with visual indicators for stored PIOs; and
FIG. 23 is a block diagram of a system for providing supplemental information related to a television program represented by a PIO.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
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.
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.
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.
Certain attributes may contain meta-data relating to the PIO, the television program, or both. For example, one attribute may indicate the size of the corresponding PIO. Another attribute may indicate the encoding format of the television program.
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.
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 or an extensible Markup Language (XML) object. The present invention is not limited to a particular object format.
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.
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. 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. Alternatively, a PIO may be sent via infrared (IR) or radio frequency (RF) transmission from one portable entertainment device, such as a Personal Digital Assistant (PDA), to another.
In one embodiment, a PIO may be used to provide supplemental information related to a television program. For example, an attribute may comprise a link to a web page associated with the television program. The PIO may be used to direct a browser to the web page indicated by the link. Alternatively, a PIO may include a link to an e-commerce website. The link may identify, for instance, a particular product associated with the television program. Furthermore, attributes of the PIO containing personal information about a user may be used to automatically initiate a sale for the identified product. In another configuration, a link of a PIO may connect a user to a chat room associated with the television program.
Thus, PIOs are an alternative mechanism for providing access to available television programming and supplemental information using 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. 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.
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.
Referring now to FIG. 1 , there is shown a communication system 100. In one implementation, the system 100 relies on a broadband network 101 for communication, such as a cable television network or a direct satellite broadcast (DBS) network, although other networks are possible.
The system 100 may include a plurality of set top boxes (STBs) 102 located, for instance, at customer homes or offices. 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 (PC), an advanced television 104 with STB functionality, or another type of client terminal.
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. As its name implies, an STB 102 is typically located on top of, or in close proximity to, the television 104.
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 (e.g., an IPv6 address), a Media Access Control (MAC) address, or the like. Thus, video signals 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.
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 control devices are also contemplated, such as wired or wireless mice (not shown).
Additionally, a keyboard 108 (either wireless or wired) is provided, in one embodiment, to allow a user to rapidly enter text information into the STB 102. Such text information may be used for e-mail, instant messaging (e.g. text-based chat), or the like. 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.
Each STB 102 may be coupled to the network 101 via a broadcast center 110. In the context of a cable television network, a broadcast center 110 may be embodied as a "head-end", which is generally a centrally-located facility within a community where television programming is 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 also functions as a Central Office (CO) in the telecommunication industry, routing video signals and other data to and from the various STBs 102 serviced thereby.
A broadcast center 110 may also be embodied as a satellite broadcast center within a direct broadcast satellite (DBS) system. A DBS system may utilize a small 18-inch satellite dish, which is an antenna for receiving a satellite broadcast signal. Each STB 102 may be integrated with a digital integrated receiver/decoder (IRD), which separates each channel, and decompresses and translates the digital signal from the satellite dish to be displayed by the television 104.
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.
The broadcast centers 110 may be used to gather programming content, ensure its digital quality, and uplink the signal to the satellites. Programming may be received by the broadcast centers 110 from content providers (CNN®, ESPN®, HBO®, TBS®, 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 back down to every earth-station, e.g., every compatible DBS system receiver dish at customers' homes and businesses.
Some broadcast programs may be recorded on digital videotape in the" broadcast center 110 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.
Regardless of the nature of the network 101 , the broadcast centers 110 may be coupled directly to one another or through the network 101. In alternative embodiments, broadcast centers 110 may be connected via a separate network, one particular example of which is the Internet 112. The Internet 112 is a "network of networks" and is well known to those skilled in the art. Communication over the Internet 112 is accomplished using standard protocols, such as TCP/IP (Transmission Control Protocol/Internet Protocol) and the like.
A broadcast center 110 may receive television programming for distribution to the STBs 102 from one or more television programming sources 114 coupled to the network 101. 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.
Broadcast centers 110 may be used to enable audio and video communications between STBs 102. Transmission between broadcast centers 110 may occur (i) via a direct peer-to-peer connection between broadcast centers 110, (ii) upstream from a first broadcast center 110 to the network 101 and then downstream to a second broadcast center 110, or (iii) via the Internet 112. For instance, a first STB 102 may send a video transmission upstream to a first broadcast center 110, then to a second broadcast center 110, and finally downstream to a second STB 102.
Of course, the communication system 100 illustrated in FIG. 1 is merely exemplary, and other types of devices and networks may be used within the scope of the invention.
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. 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 (and possibly audio/video data) to a wireless receiver 203 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 205 within the STB 102. Operational details regarding the wireless transmitters 202, 205 and wireless receivers 203, 204 are generally well known to those of skill in the art.
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, a "Help" button 226, and the like. In one embodiment, the remote control 106 includes a microphone 242 for capturing audio signals. The captured audio signals may be transmitted-to the STB 102 via the wireless transmitter 202. In addition, the remote control 106 may include a speaker 244 for generating audible output from audio signals received from the STB 102 via the wireless receiver 204. In alternative embodiments, as shown in FIG. 3, the microphone 242 and/or speaker 244 may be integrated with the STB 102.
In certain embodiments, the remote control 106 further includes a video camera 246, such as a CCD (charge-coupled device) digital video camera, for capturing video signals. In one implementation, the video camera 246 is in electrical communication with the wireless transmitter 202 for sending the captured video signals to the STB 102. Like the microphone 242 and speaker 244, the video camera 246 may be integrated with the STB 102, or attached to the STB 102, as in the depicted embodiment.
The various components of the remote control 106 may be positioned in different locations for functionality and ergonomics. For example, as shown in FIG. 2, the speaker 244 may be positioned near the "top" of the remote control 106 (when viewed from the perspective of FIG. 2) and the microphone 242 may be positioned at the "bottom" of the remote control 106. Thus, in one embodiment, a user may conveniently position the speaker 244 near the user's ear and the microphone 242 near the user's mouth in order to operate the remote control 106 in the manner of a telephone.
The optional keyboard 108 facilitates rapid composition of text messages. The keyboard 108 includes a plurality of standard alphanumeric keys 236. In one configuration, the keyboard 108 includes a wireless transmitter (not shown), similar or identical to the wireless transmitter 202 of the remote control 106. The wireless transmitter 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.
Alternatively, or in addition, a hands-free headset 248 may be coupled to the remote control 106 or the keyboard 108. The headset 248 may be coupled using a standard headset jack 250. The headset 248 may include a microphone 242 and/or speaker 244. Such a headset 248 may be used to reduce audio interference from the television 104 (improving audio quality) and to provide the convenience of hands-free operation.
Referring now to FIG. 3, there is shown a block diagram of physical components of an STB 102 according to an embodiment of the invention. As noted above, the STB 102 includes a wireless receiver 203 for receiving control signals sent by the wireless transmitter 202 in the remote control 106 and a wireless transmitter 205 for transmitting signals (such as audio/video signals) to the wireless receiver 204 in the remote control 106. The STB 102 also includes, in one implementation, a network interface 302 for communicating with the network 101 via the broadcast center 110. The interface 302 may include conventional circuitry for receiving, demodulating, and demultiplexing MPEG packets. The interface 302 may also include conventional modem circuitry for sending or receiving 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.
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.
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 (VoIP), for encoding and decoding.
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.
In one embodiment, an audio/video (A/V) controller 308 is provided for converting digital audio/video signals into analog signals for playback/display on the television 104. The A/V controller 308 may be implemented using one or more physical devices, such as separate graphics and sound controllers. The AA controller 308 may include graphics hardware for performing bit-block transfers (bit-blits) and other graphical operations for displaying a graphical user interface (GUI) on the television 104. In some implementations, the STB 102 may include a storage device 310, such as a hard disk drive, optical storage device, RAM, compact flash card, etc. The storage device 310 may be configured to store encoded incoming and outgoing video signals as well as television broadcasts and retrieve the same at a later time for display. The storage device 310 may be configured, in one embodiment, as a digital video recorder (DVR), enabling scheduled recording of television programs, pausing (buffering) live video, etc. The storage device 310 may also be used in various embodiments to store viewer preferences, parental lock settings, electronic program guide (EPG) data, passwords, e-mail messages, video messages, video greetings, 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®.
As noted above, the STB 102 may include, in certain embodiments, a microphone 242 and a speaker 244 for capturing and reproducing audio signals, respectively. The STB 102 may also include or be coupled to a video camera 246 for capturing video signals. These components may be included in lieu of or in addition to similar components in the remote control 106, keyboard 108, and/or television 104.
A CPU 312 controls the operation of the STB 102, including the other components thereof, which are coupled to the CPU 312 in one embodiment 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. For instance, the CPU 312 may be embodied as an Intel® x86 processor. As noted above, the CPU 312 may perform logical and arithmetic operations based on program code stored within the memory 306 or the storage device 310.
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.
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.
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.
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.
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.
In conventional systems, the EPG 402 may be 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 pa.rse 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.
FIG. 5 illustrates an alternative to the conventional EPG 402 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.
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. Of course each PIO 502 may include a different set of actions 504 permitting the PIOs 502 to be sorted and catagorized based on the different defined actions 504.
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.
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 50.6 may correspond to the program's broadcast time. Certain attributes 506 may contain meta-data related to the PIO 502, the represented television program, or both. For example, one attribute 506 may indicate the size of the PIO 502. Another attribute 506 may indicate the video encoding format of the represented television program.
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.
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.
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 or an extensible Markup Language (XML) object.
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. In one embodiment, PIOs 502 include program code in a substantially machine-independent format. For example, JavaBean, DCOM, or XML objects generally do not require proprietary hardware so long as the hardware executes a
Java Virtual Machine (JVM), a DCOM server, an XML processor, 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.
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.
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".
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 506a, description 506b, broadcast channel 506c, rating 506d (e.g., TV-G, TV-PG), start time 506e, end time 506f, running time 506g, release year 506h, classification 506i (e.g., drama, sit-com, sports), actor(s) 506j, producer(s) 506k, related Internet links 5061, storage location 506m, country of origin 506n, language 506o, etc. Of course, various other attributes 506 may be provided within the scope of the invention.
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 506e 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 506e (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.
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. '
One particularly advantageous attribute 506 is the related Internet links attribute 506I. The related Internet links attribute 506I 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.
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 mini- series. PIO linking allows PIOs 502 to be associated based on characteristics besides those defined within the actions 504 and attributes 506 of each PIO 502. For example, PIOs 502 may be linked based on movies and television programs which discuss the subject of water rights in the western United States. Consequently, a PIO 502 for the movie "Chinatown," with actor Jack Nicholson, may be linked to a PIO 502 for "Rider of Destiny," with actor John Wayne.
A typical PIO 502 may also include various actions 504, such as an action 504a for recording the associated television program. As described more fully below, the recording action 504a 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 tirr^e, and/or running time attributes 506c, 506e-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 504a is an example of this dynamic update of the stored copy of the PIO 502.
An action 504b 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 504b 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 504a), the display action 504b may retrieve and display the stored television program. In one embodiment, the display action 504 accesses the storage location 506m attribute to locate a stored television program.
Various other actions 504 may include an action 504b 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 504d 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 504e may be included to allow a user to rate and/or comment on the represented television program. An action 504f may also be provided to send a copy of the PIO 502 to another system or device. In some cases, actions 504 may be propagated between linked PIOs 502.
For example, a user may selection the record action 502a 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 506a may be executed by the linked PIOs 502 as well.
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.
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.
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®. In certain embodiments, a PIO 502 may include an audible indicator 509.
The audible indicator 509 may include, for example, a description of the television program associated with the PIO 502 (similar to the description attribute 506b), an advertisement, user instructions, theme music for the television program or the like. The audible indicator 509 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 509 is advantageous for people who are visually disabled or those who have difficulty reading.
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.
In one configuration, a plurality of PIOs 502a-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.
In certain embodiments, the displayed visual indicators 508a-f may be grouped in the GUI 704 within logical folders or the like, allowing a user to organize the visual indicators 508a-f in any desired manner. For example, a user may group visual indicators 508a-f within such folders as "My sit-coms", "My
TV dramas", "My sports", etc., to facilitate easy access thereto.
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.
As an example, suppose a PIO 502a includes a number of attributes 506, such as a title attribute 506a (e.g., "Dallas v. Denver"), a channel attribute 506c ("4 KTVX"), a start time attribute 506e (e.g., "Monday, 7:00 pm"), and an end time attribute 506f ("Monday, 10:00 pm"). Further, suppose that the PIO 502a includes a record action 504a, a display action 504b, and an iconic visual indicator 508a. FIG. 8 illustrates an exemplary GUI 704 including visual indicators 508a-f corresponding to the PIOs 502a-f of FIG. 7. In the illustrated embodiment, a user selects visual indicator 508a using, for example, the arrow buttons 208-214 of the remote control 106. A pointer, selection outline, or other mechanism may be used to pick the desired indicator 508a. In response to the selection, a context-sensitive menu 802 may be displayed listing the available actions 504a-b for the PIO 502a. 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. 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 504a may include two options 804a-b, corresponding to record "Weekly" and record "Next Time Broadcast." If the "Next Time Broadcast" option 804b is selected, for instance, the record action 504a may record the next episode of a television program, as opposed to recurring weekly episodes (in the case of TV drama or sit-com). 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.
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.
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, XML processor, or the like. Of course, other implementations are possible.
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.
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 TiVo®, available from TiVo, Inc.
Suppose, as shown in FIG. 8, that a user selects the record action 504a with the "Next Time Broadcast" option 804b. In response to such selection, and as illustrated in FIG. 10, the starting time 506e, ending time 506f, and channel 506c 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 the television program on the specified channel.
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 506m of the PIO 502a to allow subsequent access thereto.
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.
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.
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.
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.
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 504b shown in FIG. 8. In one embodiment, the location of the recorded television program is retrieved from the stored location attribute 506m 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.
As shown in FIG. 13, an action 504d may be provided for displaying one or more of the attributes of a PIO 502. The action 504d 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.
Suppose, for example, that a user selects the display attribute action 504d with the description attribute 506b. In one embodiment, the description attribute 506b 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. 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 broadcast center 110, a television source 114 (such as a television network), a PIO server (not shown), and the like. The PIOs 502 may be transmitted from these sources, across a network 101 , the Internet 112, or other network connection, including a satellite link, to an STB 102.
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 broadcast center 110, or the like.
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.
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 506e of 7:00pm or an end time 506f of 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.
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.
As illustrated in FIG. 14, suppose PIOs 502a-d belong to the initial set 1404. The population component 914 applies the filtering criteria 1406 (e.g., primetime) to each PIO 502a-d. The PIOs 502 that match the filtering criteria 1406 (e.g., PIO 502a-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 508a-b on the television 104.
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.
As shown in FIG. 15, PIOs 502 may be transmitted from one system to another. For example, a PIO 502a within a first STB 102a may be transmitted via the network 101 to second STB 102b. 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.
In one embodiment, a communication component 1502 is provided within each STB 102a-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.
In the illustrated embodiment, a user of the source STB 102a may select the visual indicator 508a of PIO 502a. Thereafter, the user may select, for example, the send action 504f from the context-sensitive menu 802. The send action 504f may include code for interacting with the communication component 1502 to transmit a copy of the PIO 502a to the destination STB 102b.
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. FIGS. 16-18 are high-level block diagrams illustrating various techniques for providing supplemental information related to television programs using PIOs 502. While the following description makes particular reference to STBs 102, the invention is not limited to STBs 102 or interactive television systems 200 generally. A wide variety of devices may use, transport, create, or otherwise process PIOs 502, examples of which include personal computers, PDAs, webpads, etc.
As previously noted, PIOs 502 may be used, in certain embodiments, to provide supplemental information related to a television program. As used herein, supplemental information broadly refers to any type of information, content, or service relating to a television program. Examples of supplemental information may include related articles, close-ups, replays, outtakes, galleries, commercial tie-ins, games, sound clips, video clips, product information, chat servers, and the like. In certain embodiments, the supplemental information is external to the PIO 502 (and possibly the STB 102), and the supplemental information is accessed through a link attribute 506I. The link 506I is an address or pointer, such as a Uniform Resource Locator (URL), for locating and retrieving the supplemental information. A typical PIO 502 may include one or more of such link attributes 506I.
As shown in FIG. 16, a PIO 502 may include a link 506I to a web page 1602 related to the television program represented by a PIO 502. In such an embodiment, an STB 102 may launch a browser 1604, such as Microsoft® Internet Explorer®, to display the web page 1602. Of course the STB 102 may launch software programs other than a browser 1604 for presentation of the information available through the link 506i. The link 506i may indicate which software program should be launched. For example, a link 506i to a FLASH animation file, e.g. demo.fla, may launch a FLASH animation player such as the FLASH player available from Macromedia®.
As another example, the link 506I shown in FIG. 16, e.g., "http://sports.espn.go.com/nfl/mnf/index," may direct the browser 1604 to access a specific information server 1606, such as a web server. The browser 1604 establishes communication with the information server 1606 using known protocols, such as the HyperText Transfer Protocol (HTTP), the File Transfer Protocol (FTP), or the like. Once communication is established, the browser 1604 may request a specific web page 1602 indicated by the link 506I. The browser 1604 receives and displays the web page 1602 on the television 104 or other display device. Of course, the user may further interact with the web page 1602 to explore new links and retrieve information referenced by the web page 1602.
In other embodiments, a variety of supplemental information may be preloaded within the STB 102. This may occur, for example, during off-peak hours when communication bandwidth is more available. In such an embodiment, the link 506I may be embodied as a URL or a file name referencing a cached web page or local file within a storage device 310 of the STB 102.
As shown in FIG. 17, the link 506I may be used to initiate a commercial transaction. For example, the link 506I may include the address of a commercial server 1702 for selling goods or services related to a television program, a sponsor of the television program, etc. In certain embodiments, the commercial server 1702 may sell licenses to view the television program and/or provide a copy of the television program, itself. As used herein, "television program" refers broadly to any type of media program, including motion pictures, audio-only presentations, etc. Thus, the term "television program" should not be construed as being limited to broadcast television.
In the depicted embodiment, a user of an STB 102 may select a visual indicator 508a corresponding to the PIO 502a, which may be displayed in a graphical user interface (GUI) 1704. Selection of the visual indicator 508a may result in a context-sensitive menu 802 being displayed, listing various actions 504 that may be performed with respect to the PIO 502. For instance, as shown in FIG. 17, listed actions may include a buy action 504g and a record action 504a. Thereafter, the user may select, for example, the buy action 504g from a context- sensitive menu 802.
In one embodiment, selecting the buy action 504g results in a sub-menu 806 being displayed, which lists various options 804 corresponding to products available for sale. Of course, the PIO 502 may include a plurality of links 506I such that each option 804 may correspond to a different link 506I. Furthermore, each link 506I may indicate a different commercial server 1702 available for purchasing a product.
As an example, a "Highlights" option 804c may initiate a transaction for purchasing a DVD of highlights of a football game. Choosing the "Highlights" option 804c on the sub-menu 806 may result in the STB 102 establishing a connection with the commercial server 1702 (identified by the corresponding link 506I) via the network 101 using standard network protocols, such TCP/IP, UDP/IP, etc.
Once a connection is established, the STB 102 identifies the product a user desires to purchase. For example, in certain embodiments, the link 506I includes an identifier for the product, e.g. "highlightsDVD." Alternatively, the product identifier may be obtained from another attribute 506.
In certain embodiments, the STB 102 may then automatically provide necessary information about the user to complete the sale. For example, in certain configurations, the PIO 502a includes additional attributes 506 such as the user's name 506p, address 506q, payment information 506r, user ID (not shown), password (not shown), telephone number (not shown), etc. The STB 102 transmits (as illustrated by the dashed lines) the user information to the commercial server 1702. Once the user information is received, the commercial server 1702 may place an order and conduct other steps to ensure the product is delivered to the user, including, for example, notifying a warehouse, manufacturer, and/or shipper. Of course, the STB 102 may prompt the user using the GUI 1704 to authorize placing of the order. Upon receiving authorization, the STB 102 may then proceed to place an order.
In one embodiment, the PIO 502a may include a user's payment information 506r, such as a credit card or bank account number, for paying for the product. The payment information 506r may be encrypted, using well known encryption algorithms, such as Secure Sockets Layer (SSL), prior to transmission to the commercial server 1702. In addition, for non-repudiation purposes, the user information may include a user's digital certificate.
In an alternative embodiment, the link 506I may be used to purchase a license to view Video-on-Demand (VoD) content. For example, a user may select the "Outtakes" option 804d to purchase, from a VoD server (not shown), a license to view an Outtakes" video. Once the license is purchased, a user may activate a display action 504b to view an "Outtakes" video stored, for example, at the broadcast center 110.
Of course, the transaction of FIG. 17 is merely illustrative of a variety of commercial transactions may be initiated or completed using a PIO 502, from purchasing insurance to subscribing to a magazine. The transaction need not be directly related to the television program represented by the PIO 502, but may relate, for example, to the program's sponsor.
FIG 18 illustrates an alternative embodiment in which a link 506I is used to provide user interaction with a server, such as a chat (instant messaging) server, accessible via the network 101. For example, the link 506I may be used to establish a chat session 1802, illustrated in FIG. 19, between the STB 102 and a chat server 1804. In one embodiment, a user selects a visual indicator 508a displayed within a picture-in-picture window 1806. Thereafter the user selects a chat action 504h from a context-sensitive menu 802. The STB 102 then parses the link 506I to identify the chat server 1804, chat room, and other relevant information. For example, "www.espn.com" may be the name of an Internet chat server 1804. Of course the name may be translated to a network address. "Mnfchatroom.dll" may indicate the specific chat room to connect to. "Guest" may be a login ID to allow the user access to the chat room. In one embodiment, the STB 102 may also send a chat room alias 506s, for example, "Chalky," to conceal the user's identity in the chat room and/or conference.
Alternatively, the link 506i may indicate a specific chat conference which will host the chat session 1802. Generally, a chat conference comprises a chat forum which is organized to allow chat communicaiton for ad-hoc or short term topics of common interest among users. Instead of a chat room defined for a specific topic or genre, a chat conference enables chat gatherings based on more dynamically changing subjects. A chat conference may be implemented using a specific chat room as a "conference room" for a chat conference on an particular topic.
In the depicted embodiment, the STB 102 uses the information contained within the link 506I to establish a chat session 1802 with the chat server 1804, as shown in FIG. 19. For example, the STB 102 uses the link 506I to direct an instant messaging client (not shown) to establish the chat session 1802. The instant messaging client may include a graphical user interface 1902 displayable in conjunction with the television program. The user may then interact with the instant messaging client to exchange chat messages while viewing the television program.
In one embodiment, a PIO 502 may be configured to automatically provide supplemental information referenced by the link 506I at a particular time. For example, as shown in FIG. 20, the PIO 502 may be configured to display a web page 1602 during at a time while the television program is being broadcast. Of course, the PIO 502 may include an action 504 (not shown) selectable by the user from a list of other actions 504, discussed above, to present the supplemental information. In one configuration, in response to a television program being broadcast, the STB 102 may automatically retrieve and display the web page 1602 referenced by the link 506I. As illustrated, the web page 1602 listing the scores for other football games may be displayed along side a football game currently being broadcast. The web page 1602 may be retrieved periodically during the program, at pre-programmed intervals during the program, etc., which may be defined by attributes within the PIO 502.
In another embodiment, as shown in FIG. 21 , the link 506I may be used to display a web page 1602 to promote a television program prior to the television program being broadcast. For example, the STB 102 may retrieve and display a web page 1602 associated with PIO 502e to advertise the television program, e.g. "Survivor," before the television program is broadcast. In one configuration, the web page 1602 is displayed within a PIP window during another television program (e.g., during a preceding football game, as shown in FIG. 21 ). As shown in FIG. 22, supplemental information may be provided in a graphical user interface (GUI) 2200 for organizing PIOs 502. The GUI 2200 may display a plurality of folders 2202a-e, which correspond to logical folders (e.g., directories) or other similar mechanisms within the storage device 310. The displayed folders 2202a-e may be organized into a folder hierarchy 2204, which mirrors a corresponding hierarchy of logical folders within the storage device 310. Each of the displayed folders 2202a-c may be given descriptive names, such as "Tonight", "Drama", "Sports", etc. Of course, each displayed folder 2202a-c may include one or more sub-folders (not shown).
In certain embodiments, each user may have a separate folder hierarchy 2204. For example, a root node 2206 corresponding to a particular user, e.g., "Susan", may form the root of a particular hierarchy 2204. In other embodiments, a user's folder hierarchy 2204 may form a branch of a larger folder hierarchy 2204 for the device.
In one implementation, visual indicators 508 corresponding to a selected folder 2202a are displayed within a display pane 2208. If a user selects a visual indicator 508e, the STB 102 retrieves and displays a web page 1602 referenced by the link 506I of the PIO 502e. The web page 1602 may be displayed within a detail pane 2210 using a browser 1604 as discussed in relation to FIG. 16. FIG. 23 illustrates one embodiment of a system 2300 for providing supplemental information related to a television program. The system includes the display component 702 and communication component 1502, as described above in connection with FIGs 7 and 15. These components 702, 1502 may be adapted to provide supplemental information. The system further includes one or more PIOs 502 stored on a computer-readable medium, such as a memory 306. In certain embodiments, the system includes a retrieval component 2302. The retrieval component 2302 accesses the link 506I (as illustrated by the dashed line). The retrieval component 2302 directs the communication component 1502 to request the supplemental information referenced by the link 506I. The communication component 1502 provides the supplemental information to the retrieval component 2302, which displays the supplemental information using the display component 702. In one implementation, the components 702, 1502, 2302 are embodied as a browser 1604 as discussed in relation to FIG. 16.
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.
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.

Claims

What is claimed is:
1. A method for providing supplemental information related to a television program, the method comprising: storing a program interface object (PIO) within an entertainment system, the PIO comprising a plurality of attributes, at least one attribute comprising a link to supplemental information related to the television program, the PIO further comprising a plurality of user-selectable actions performable by the entertainment system in connection with the television program; retrieving the supplemental information referenced by the link; and displaying the supplemental information on a display device associated with the entertainment system.
2. The method of claim 1 , wherein retrieving comprises: establishing communication with a supplemental information server; requesting the supplemental information referenced by the link from the supplemental information server; and receiving the requested supplemental information.
3. The method of claim 2, wherein the supplemental information server comprises an Internet server.
4. The method of claim 1 , wherein the link comprises a Uniform Resource Locator (URL).
5. The method of claim 1 , wherein the link comprises a file name.
6. The method of claim 1 , wherein the PIO further comprises a visual indicator, the method further comprising: displaying the visual indicator in a graphical user interface; and detecting a user selection of the visual indicator.
7. The method of claim 6, wherein the visual indicator comprises a graphical icon.
8. The method of claim 6, wherein the PIO further comprises a first action configured to display the supplemental information referenced by the link, the method further comprising: displaying a list of the plurality of user-selectable actions associated with the PIO; and detecting a user selection of the first action.
9. The method of claim 1 , wherein displaying comprises: automatically displaying the supplemental information in response to the television program being presented by the entertainment system.
10. The method of claim 1 , wherein displaying comprises: automatically displaying the supplemental information prior to the television program being presented by the entertainment system.
11. The method of claim 1 , wherein displaying comprises: launching a browser configured to display the supplemental information; and displaying the supplemental information within the browser.
12. The method of claim 1 , wherein the PIO comprises a set of link attributes, each link attribute comprising a different link to a set of supplemental information.
13. The method of claim 12, further comprising: displaying a list of link attributes associated with the PIO; and receiving a user selection of a particular link attribute from the list of link attributes.
14. The method of claim 1 , wherein the supplemental information comprises an extensible Markup Language (XML) document.
15. The method of claim 1 , wherein the PIO is selected from the group consisting of a JavaBean object, a Distributed Component Object Model (DCOM) object, and an extensible Markup Language (XML) object.
16. The method of claim 1 , wherein the entertainment system is selected from the group consisting of a personal computer, an interactive television (ITV) system, and a personal digital assistant (PDA).
17. A method for initiating a commercial transaction within an entertainment system, the method comprising: storing a program interface object (PIO) within the entertainment system, the PIO comprising a plurality of attributes, at least one attribute comprising a link to a commercial server, the PIO further comprising a plurality of user-selectable actions performable by the entertainment system in connection with the television program; establishing communication with the commercial server referenced by the link; and initiating a commercial transaction with the commercial server using the link.
18. The method of claim 17, wherein the link comprises a Uniform Resource Locator (URL) and wherein establishing comprises: directing a browser to the URL.
19. The method of claim 17, wherein the PIO comprises user information necessary for initiating the commercial transaction and wherein initiating comprises: transmitting the user information to the commercial server.
20. The method of claim 19, wherein the user information comprises a user's payment information, and wherein sending comprises: encrypting the payment information prior to transmission to the commercial server.
21. The method of claim 19, wherein the user information comprises a digital certificate.
22. The method of claim 19, wherein user information is selected from the group consisting of a name, a user ID, a password, an address, a telephone number, and payment information.
23. The method of claim 17, wherein the link identifies a particular product from a set of products, and wherein initiating comprises: placing an order for the identified product.
24. The method of claim 23, wherein the commercial server comprises a video-on-demand server, and wherein the identified product comprises a license for video-on-demand content.
25. The method of claim 23, wherein the commercial transaction comprises a sales transaction for a particular product and wherein initiating further comprises: prompting the user to approve the sales transaction; receiving an indication of approval from the user.
26. The method of claim 17, wherein the PIO further comprises a visual indicator, the method further comprising: displaying the visual indicator in a graphical user interface; and detecting a user selection of the visual indicator.
27. The method of claim 26, wherein the visual indicator comprises a graphical icon.
28. The method of claim 26, wherein the PIO further comprises a first action configured to initiate a commercial transaction, the method further comprising: detecting a user selection of the first action.
29. The method of claim 17, wherein the PIO comprises a set of link attributes, each link attribute comprising a link for initiating a different commercial transaction.
30. The method of claim 17, wherein the link comprises a Uniform Resource Locator (URL).
31. The method of claim 17, wherein the PIO is selected from the group consisting of a JavaBean object, a Distributed Component Object Model (DCOM) object, and an extensible Markup Language (XML) object.
32. The method of claim 17, wherein the entertainment system is selected from the group consisting of a personal computer, an interactive television (ITV) system, and a personal digital assistant (PDA).
33. A method for providing interactive communication related to a television program within an entertainment system, the method comprising: storing a program interface object (PIO) within the entertainment system, the PIO comprising a plurality of attributes carrying information about a television program, at least one attribute comprising a link to a chat server, and a plurality of user- selectable actions performable by the entertainment system in connection with the television program; establishing a chat session with the chat server referenced by the link; and connecting to a chat room hosted on the chat server.
34. The method of claim 33, where establishing comprises: launching an instant messaging client on the entertainment system.
35. The method of claim 33, wherein the link comprises an indication of a chat room on the chat server and wherein establishing comprises: directing the instant messaging client to the indicated chat room.
36. The method of claim 33, wherein the link comprises an indication of a chat conference on the chat server and wherein establishing comprises: directing the instant messaging client to the indicated chat conference.
37. A system for providing supplemental information related to a television program, the system comprising: computer-readable medium that stores a program interface object
(PIO), the PIO comprising a plurality of attributes, at least one attribute comprising a link to supplemental information related to the television program, the PIO further comprising a plurality of user-selectable actions performable in connection with the television program; a retrieval component that retrieves the supplemental information referenced by the link; and a display component that displays the supplemental information on a display device associated with the entertainment system.
38. The system of claim 36, further comprising: a communication component that establishes communication with a supplemental information server and requests the supplemental information referenced by the link from the supplemental information server.
39. The system of claim 37, wherein the supplemental information server comprises an Internet server.
40. The system of claim 36, wherein the link comprises a Uniform Resource Locator (URL).
41. The system of claim 36, wherein the link comprises a file name.
42. The system of claim 36, wherein the PIO further comprises a visual indicator and wherein the display component is further configured to display the visual indicator in a graphical user interface and detect a user selection of the visual indicator.
43. The system of claim 41 , wherein the visual indicator comprises a graphical icon.
44. The system of claim 41 , wherein the PIO further comprises a first action configured to display the supplemental information referenced by the link and wherein the display component is further configured to display a list of the plurality of user-selectable actions associated with the PIO; and detect a user selection of the first action.
45. The system of claim 36, wherein the display component is configured to automatically display the supplemental information in response to the television program being presented by the entertainment system.
46. The system of claim 36, wherein the display component is configured to automatically display the supplemental information prior to the television program being presented by the entertainment system.
47. The system of claim 36, wherein the display component is configured to automatically launch a browser configured to display the supplemental information and display the supplemental information within the browser.
48. The system of claim 36, wherein the PIO comprises a set of link attributes, each link attribute comprising a different link to a set of supplemental information.
49. The system of claim 47, wherein the display component is further configured to display a list of link attributes associated with the PIO and receive a user selection of a particular link attribute from the list of link attributes.
50. The system of claim 36, wherein the supplemental information comprises an extensible Markup Language (XML) document.
51. The system of claim 36, wherein the PIO is selected from the group consisting of a JavaBean object, a Distributed Component Object Model (DCOM) object, and an extensible Markup Language (XML) object.
52. A system for providing supplemental information related to a television program, the system comprising: means for storing a program interface object (PIO) within an entertainment system, the PIO comprising a plurality of attributes, at least one attribute comprising a link to supplemental information related to the television program, the PIO further comprising a plurality of user-selectable actions performable by the entertainment system in connection with the television program; means for retrieving the supplemental information referenced by the link; and means for displaying the supplemental information on a display device associated with the entertainment system.
53. A system for initiating a commercial transaction within an entertainment system, the method comprising: means for storing a program interface object (PIO) within the entertainment system, the PIO comprising a plurality of attributes, at least one attribute comprising a link to a commercial server, the PIO further comprising a plurality of user-selectable actions performable by the entertainment system in connection with the television program; means for establishing communication with the commercial server referenced by the link; and means initiating a commercial transaction with the commercial server using the link.
PCT/US2002/016862 2001-07-19 2002-05-30 System and method for providing supplemental information related to a television program WO2003009597A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/909,468 US20030018970A1 (en) 2001-07-19 2001-07-19 Object representation of television programs within an interactive television system
US09/909,468 2001-07-19
US09/966,566 US20030018971A1 (en) 2001-07-19 2001-09-26 System and method for providing supplemental information related to a television program
US09/966,566 2001-09-26

Publications (1)

Publication Number Publication Date
WO2003009597A1 true WO2003009597A1 (en) 2003-01-30

Family

ID=27129525

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/016862 WO2003009597A1 (en) 2001-07-19 2002-05-30 System and method for providing supplemental information related to a television program

Country Status (1)

Country Link
WO (1) WO2003009597A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918832A (en) * 2010-06-07 2013-02-06 索尼公司 Tv-centric actions in triggered declarative objects

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5929849A (en) * 1996-05-02 1999-07-27 Phoenix Technologies, Ltd. Integration of dynamic universal resource locators with television presentations
US5987509A (en) * 1996-10-18 1999-11-16 Silicon Graphics, Inc. System and method for displaying active uniform network resource locators during playback of a media file or media broadcast
US6018768A (en) * 1996-03-08 2000-01-25 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018768A (en) * 1996-03-08 2000-01-25 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US5929849A (en) * 1996-05-02 1999-07-27 Phoenix Technologies, Ltd. Integration of dynamic universal resource locators with television presentations
US5987509A (en) * 1996-10-18 1999-11-16 Silicon Graphics, Inc. System and method for displaying active uniform network resource locators during playback of a media file or media broadcast

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918832A (en) * 2010-06-07 2013-02-06 索尼公司 Tv-centric actions in triggered declarative objects
CN102918832B (en) * 2010-06-07 2018-04-24 索尼公司 The action centered on TV in trigger the declaration object

Similar Documents

Publication Publication Date Title
US20030018971A1 (en) System and method for providing supplemental information related to a television program
US20050155067A1 (en) System and method for managing television programs within an entertainment system
US20230300418A1 (en) Program shortcuts
JP5819883B2 (en) Media library in interactive media guide application
KR101138433B1 (en) Program table display method, program table display apparatus and a recording medium
EP1996994B1 (en) Recommended recording and downloading guides
US8755666B2 (en) Interactive television program guide with remote access
JP4637482B2 (en) System and method for acquiring and distributing video and digital multimedia
ES2467971T3 (en) Interactive multimedia content distribution using a separate return channel communications network.
US20050149987A1 (en) Television viewing communities
JP2003502921A (en) Interactive TV application system using handheld application device
JP2015029307A (en) System and method for supplementing on-demand media
US20090119328A1 (en) Bookmarks for program note information
US20080115162A1 (en) Methods, systems, and computer products for implementing content conversion and presentation services
EP1622371A1 (en) Methods and apparatuses providing synchronised electronic program guide
WO2003009597A1 (en) System and method for providing supplemental information related to a television program
EP1784009A2 (en) Methods and apparatuses providing synchronised electronic program guide
WO2003009156A1 (en) System and method for providing television program information to an entertainment device
WO2003009087A2 (en) System and method for sharing television program information between entertainment devices
WO2003021950A1 (en) Epg card navigation and caching of tv programs
JP2010258873A (en) Content mediation server

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP