WO2003021950A1 - Epg card navigation and caching of tv programs - Google Patents

Epg card navigation and caching of tv programs Download PDF

Info

Publication number
WO2003021950A1
WO2003021950A1 PCT/US2002/027382 US0227382W WO03021950A1 WO 2003021950 A1 WO2003021950 A1 WO 2003021950A1 US 0227382 W US0227382 W US 0227382W WO 03021950 A1 WO03021950 A1 WO 03021950A1
Authority
WO
WIPO (PCT)
Prior art keywords
television program
visual
user
television
card
Prior art date
Application number
PCT/US2002/027382
Other languages
French (fr)
Inventor
James A. Billmaier
John M. Kellum
Anthony F. Istvan
Dewey M. Reid
Philip A. Rogan
Robert E. Kaplan
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 US10/097,174 external-priority patent/US20030046693A1/en
Application filed by Digeo, Inc. filed Critical Digeo, Inc.
Publication of WO2003021950A1 publication Critical patent/WO2003021950A1/en

Links

Classifications

    • 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
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • H04N21/4316Generation 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 for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • 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/482End-user interface for program selection
    • 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

Definitions

  • the present invention relates generally to electronic entertainment systems and methods. More specifically, the present invention relates to a system and method for delivering television programs and related schedule information.
  • ITV interactive television
  • PDA personal digital assistant
  • cellular telephones and other information systems.
  • current ITV systems offer hundreds of broadcast channels and a variety of interactive options, including e-mail, videoconferencing, instant messaging, online banking, online purchasing, and so forth.
  • GUI graphical user interface
  • FIG. 1 is a block diagram of a system for delivering television and television programs to a plurality of users
  • FIG. 2 is an illustration of an interactive television system including a remote control and a set top box
  • FIG. 3 is an illustration of a plurality of cards
  • FIG. 4 is a detailed block diagram of a set top box
  • FIG. 5 is a block diagram of logical components of a system and method for delivering television programs and related schedule information
  • FIG. 6 is an illustration of a technique for focused navigation of a plurality of options within a user interface.
  • FIGS. 7-7A is a flowchart of a method of delivering television programs and related schedule information to a user.
  • a database of television program schedule information may be maintained for a plurality of television networks and/or stations.
  • a television system retrieves the schedule information from the database and generates a set of cards based on this information.
  • the cards graphically illustrate information useful in selecting from among television programs.
  • the cards are interactive in that a user may select a television program therefrom. If the selected television program is currently broadcast, the user's television system receives the television program from the television station and simultaneously plays it for the user. If the television program is to be broadcast in the future, the user's television system sets a recording task to record the television program when it is subsequently broadcast by the television station.
  • the user's television system may determine whether the television program was previously cached in response, for example, to a recording task, a user selection, or an ongoing program of caching television programs in anticipation of user demand. Alternatively, if the television program was not previously cached, the user's television system may set a recording task to record the television program if and when the television program is subsequently broadcast by a television station.
  • the present invention provides a mechanism for easy selection of a television program for viewing or recording.
  • the system 100 includes a broadband communication network 101 , such as a cable network.
  • a broadband communication network 101 such as a cable network.
  • other networks are contemplated, one particular example of which is a direct broadcast satellite (DBS) network.
  • the system 100 includes a plurality of set top boxes (STBs) 102 located, for instance, at customer homes.
  • STB 102 serves as a gateway between the TV 104 and the broadband communication network 101 and/or the Internet 114.
  • One commercially-available example of an STB 102 is the Motorola DCT5000 ® interactive set-top terminal.
  • the STB 102 receives encoded television signals and other data from the broadband network 101 or Internet 114 and processes the same for display on a display screen 103 of TV 104.
  • the STB 102 may also include hardware and software for presenting a graphical user interface (GUI) 110 on the display screen 103 for operating the various functions and services of the STB 102.
  • GUI graphical user interface
  • the STB 102 may be integrated into the TV 104 or may be embodied within a personal computer (PC), mobile computing device, or the like.
  • Each STB 102 may be distinguished from other network components by a unique identifier, number, code, or address, examples of which include an IP (Internet Protocol) address or media access control (MAC) address.
  • IP Internet Protocol
  • MAC media access control
  • a remote control 106 is provided, in one embodiment, for convenient remote operation of the STB 102 and the television 104. If desired, the remote control 106 may take the form of separate remote control devices for the STB 102 and the television 104.
  • the remote control 106 may use infrared (IR), television 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 a mouse, wireless keyboards and webpads (not shown).
  • each STB 102 is coupled to the network 101 via a head-end 108 or other distribution center.
  • a head-end 108 is generally a centrally-located facility where television programs are received from a local cable TV (CATV) satellite downlink or other source and packaged together for transmission to customer homes.
  • CATV local cable TV
  • a head-end 108 also functions as a central office (CO) in the telephone industry, routing video streams and other data to and from the various STBs 102 serviced thereby.
  • CO central office
  • the network 101 is preferably coupled to one or more television stations 112, which provide television programming for distribution to the STBs 102. Additionally, the network 101 may be coupled to the television stations 112 via the Internet 114.
  • the Internet 114 is a "network of networks" and is well known to those skilled in the art. Communication over the Internet 114 is accomplished using standard protocols, such as TCP/IP (transmission control protocol/Internet protocol) and the like.
  • a television schedule database 116 is coupled to one or both of the broadband communication network 101 and the Internet 114.
  • the television schedule database 116 preferably maintains schedule information for past, present, and future television programs broadcast by a plurality of television stations 112.
  • broadcast is not limited to electromagnetic transmissions, but contemplates packetized transmissions using a network, such as the Internet 114.
  • the television schedule database 116 may be implemented using any conventional relational or hierarchical database management system (DBMS) or the like.
  • the television schedule database 116 receives television program schedule information directly from the television stations 112 via the Internet 114 using, for example, the hypertext transfer protocol (HTTP) or the file transfer protocol (FTP).
  • HTTP hypertext transfer protocol
  • FTP file transfer protocol
  • updates of the database may be fully automated.
  • the television program schedule information may be obtained from disks, CD-ROMS, or tapes, or may even be manually entered.
  • the ITV system 150 includes a television (TV) 104 or other display device having a display screen 103, a set-top box (STB) 102, and a remote control 106.
  • TV television
  • STB set-top box
  • the remote control 106 may include a number of buttons or other similar controls.
  • the remote control 106 may include an "Up” button 132, a “Down” button 118, a “Left” button 120, a “Right” button 122, and a “Select” button 124.
  • the remote control 106 may further include a "Forward” button 126 and a “Backward” button 128.
  • buttons or controls such as a scroll rocker button 136, may be provided within the scope of the invention.
  • An ITV system 150 typically provides access to a plurality of selectable options, such as channels, programs, applications, digital media files, etc.
  • an ITV system 150 may provide access to literally hundreds of broadcast TV channels, pay-per-view (PPV) channels, music channels, and the like. Additionally, an ITV system 150 may provide access to a number of interactive channels or applications, including web browsers, e- mail programs, chat clients, personal video recorder (PVR) applications, contact directories, and the like. Furthermore, an ITV system 150 may store or provide access to stored PVR recordings, digital photographs, audio (MP3) files, or other forms of digital media. As shown in FIG. 3, each selectable option within the ITV system
  • a card 150 may be associated with a card 200.
  • a card 200 is an object or other suitable data structure that provides information about and/or access to an available option within an ITV system 150.
  • a card 200 may be a container of all of the attributes, actions, and/or states needed to facilitate interaction with the option represented thereby.
  • Cards 200 may be stored in any suitable format within a memory or disk drive of the ITV system 150.
  • Each card 200 may include a graphical representation 202 for display in the GUI 110, as described in detail below.
  • the graphical representation 202 may include various types or combinations of artwork, digital photography, captured video frames, animations, or the like.
  • cards 200a-c may be used to represent television programs, networks or channels.
  • the television programs may be ongoing (live), upcoming, or previously-broadcast as of the time of review by a user of cards 200.
  • cards 200 may include but not necessarily display, for instance, a channel number 204, a channel name or identifier 206, a starting time 208, a running time 210, and a text description 212.
  • cards 200 may include a time slot 214.
  • cards 200 representing other types of options may include additional or different types of information, such as audio/video clips, file or path names, network addresses (URLs), etc.
  • one or more cards 200 may represent interactive channels, applications, or digital media.
  • the graphical representations 202 associated with cards 200 may have different levels of specificity or granularity.
  • a graphical representation 202a may correspond generally to a television series, e.g., "3 rd Rock from the Sun”
  • another graphical representation 202b may correspond to a television programming source such as a television station, e.g., "TBS”, or network, e.g., "CBS”.
  • a graphical representation 202 may correspond to a specific episode of a television series (e.g., a series premier), or even a product (purchase opportunity) associated with the television program.
  • a generic graphical representation 202 may be provided, which may be overlaid by the channel number 204, text description 212, or other information, where a more specific card 200 is not available.
  • Cards 200 may be generated locally within an ITV system 150 or may be received at an ITV system 150 via the broadband network 101 or Internet 114 using HTTP (hypertext transfer protocol), FTP (file transfer protocol), ATVEF (advanced television enhancement forum) triggers or other well-known protocols or techniques.
  • a card 200 may be received with data encoded in the vertical blanking interval (VBI) of a television signal.
  • VBI vertical blanking interval
  • information associated with cards 200 may be dynamically updated with information received in ATVEF triggers.
  • a comprehensive discussion of the nature, arrangement, manipulation and utility of cards 200 is presented in commonly-owned U.S. Patent Application No. 10/138,810 entitled “SYSTEM AND METHOD FOR FOCUSED NAVIGATION WITHIN A USER INTERFACE,” the entirety of which is hereby incorporated by reference herein.
  • FIG. 4 is a schematic block diagram of an STB 102 according to an embodiment of the invention.
  • the illustrated components may be logical or physical and may be implemented using any suitable combination of hardware, software, and/or firmware.
  • the STB 102 includes a network interface 302 for communicating with the broadband network 101 or Internet 114.
  • the network interface 302 may conform to the DOCSIS (Data Over Cable Service Interface Specification) or DAVIC (Digital Audio-Visual Council) cable modem standards. Additionally, the network interface 302 may include standard circuitry for receiving MPEG (Moving Picture Experts Group) streams including multiplexed television programs and data from the broadband network 101.
  • MPEG Motion Picture Experts Group
  • One or more sequences 500, discussed below in greater detail, of cards 200 may be received by the interface 302 from a server accessible via the broadband network 101 or the Internet 114.
  • the STB 102 further includes a memory 304, such as a random access memory (RAM) and/or read-only memory (ROM).
  • the memory 304 may store an operating system (OS) for the STB 102 (e.g., Windows CE ® or Linux ® ), application program code, and various types of data.
  • OS operating system
  • the memory 304 stores one or more sequences 500 of cards 200.
  • the sequences 500 may be stored within a mass storage device 306, such as a hard disk drive, optical storage device, or the like. It should be noted that all storing functions associated with memory 304 and mass storage device 306 may alternatively be performed at a storage location included by or external to system 100.
  • An input interface 308 may be provided for receiving commands from an input device, such as a remote control 106.
  • the input interface 308 may include or be associated with the wireless receiver 130 described in connection with FIG. 2.
  • the input interface 308 may detect a user action for initiating navigation, such as the user pressing the "Up” or “Down” buttons 132, 118 on the remote control 106.
  • the STB 102 may further include a display interface 310 for generating a GUI 110 on an attached TV 104 or other display device.
  • the display interface 310 may be responsible for successively displaying cards 200 from one or more stored sequences 500 in a focus area 502 of the GUI 110 in response to a user action detected by the input interface 308, as previously described.
  • the display interface 310 may be responsible for halting the successive display in response to detection of a subsequent user action.
  • a tuner 312 may be included for demodulating and demultiplexing selected MPEG streams received by the STB 102 from the broadband network 101 or Internet 114.
  • the tuner 312 may be used to tune to a particular television program in response to a user selection of a card 200, e.g., in response to the user pressing the "Select” button 124 or when the user "lingers” on a card 200 in the focus area 502.
  • a CPU 314 controls the operation of the STB 102 components described above, each of which may be in electrical communication with the CPU 314 via a bus 316.
  • the CPU 314 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 314 may be embodied as an Intel ® x86 processor.
  • the CPU 314 may perform logical and arithmetic operations based on program code stored within the memory 304 or the mass storage device 306.
  • the STB 102 also includes a decoder 318, such as an MPEG decoder, for decoding packets received from the network
  • the decoder 318 may be implemented as a hardware component. Alternatively, or in addition, software decoding may be used.
  • a display interface 310 is provided for converting decoded digital video information into analog signals for display on the television 104.
  • the display interface 310 may provide a direct, digital video output for televisions 104 equipped to receive the same.
  • the display interface 310 includes graphics hardware for performing bit-block transfers (bit-blits) and other graphical operations.
  • the display interface 310 may be configured to display the GUI 110 on the television 104.
  • FIG. 4 illustrates only one possible configuration of an STB 102.
  • FIG. 4 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. 5 is a block diagram of logical components of a system 400 for delivering television programs and related schedule information.
  • the depicted logical components may be implemented using one or more of the STB 102 physical components shown in FIG. 4. Additionally, or in the alternative, various logical components may be implemented as software modules stored in the memory 304 and/or storage device 306 and executed by the CPU 314.
  • a schedule retrieval component 402 retrieves television program schedule information 404 from the database 116 shown in FIG. 1.
  • the schedule information 404 may be retrieved upon demand, e.g., when requested by the user, or at periodic intervals.
  • the schedule retrieval component 402 may include a client program for accessing the particular DBMS or server associated with the database 116.
  • the schedule retrieval component 402 issues a request to the database 116 and receives in response the schedule information 404.
  • the retrieved schedule information 404 is cached within the memory 304 or the storage device 306 of the STB 102.
  • the format of the television program schedule information 404 is not crucial to the invention.
  • the information 404 may be stored, for instance, within one or more tables of a relational database, within an XML (extensible Markup Language) document, within a delimited text document, or the like.
  • the schedule retrieval component 402 may retrieve only a subset of the information 404 available in the database 116. For example, the schedule retrieval component 402 may retrieve only the current day's schedule information 404 associated with the user's favorite television stations 112 (which may be specified by the user or determined from historical user selections). However, the user may request retrieval of more comprehensive schedule information 404, if desired.
  • a television program reception component 408 receives one or more television programs 410 from a television station 112 via the network 101 or Internet 114.
  • a television station 112 need not actually broadcast television frequency electromagnetic signals. Rather, digitally-encoded and packetized television programs 410 may also be received from television stations 112 via the network 101 or Internet 114.
  • the television program reception component 408 may be implemented in hardware or firmware, such as MPEG-2 encoders/decoders.
  • the schedule retrieval component 402 and the television program reception component 408 may utilize, for example, the network interface 302 of FIG. 4 to receive a packet stream containing the television program 410 from a head-end 108.
  • the television program 410 may be encoded in a variety of formats, such as MPEG, or any other known compressed or uncompressed digital format.
  • the decoder 318 and/or CPU 314 of FIG. 4 decode the transmission, if necessary.
  • the television program reception component 408 is capable of simultaneously receiving a plurality of television programs 410 from different television stations 112.
  • the maximum number of television programs 410 that can be simultaneously received is primarily limited by the bandwidth of the STB's 102 connection to the network 101 or Internet 114. In the case of a broadband communication network 101 , the bandwidth is relatively high, allowing for simultaneous retrieval of a large number of television programs 410.
  • a formatting component 412 arranges the raw schedule information 404 into a suitable format for display to the user.
  • the formatting component 412 may arrange the schedule information 404 into a set of cards 200, examples of which are shown in FIG. 3.
  • the cards 200 rather than schedule information 404, may arrive at the head-end 108 fully-formatted and usable.
  • a display component 415 receives the formatted cards 200 from the formatting component 412 and displays the same on the television 104.
  • the display component 415 may be configured to display a television program simultaneously with the GUI 110, for example, by splitting the television screen between the television program and the GU1 110.
  • the GUI 110 is interactive in that a user- selection component 416 allows a user to select a television program 410 from the cards 200 displayed within the GUI 110.
  • a plurality of cards 200 may be arranged or grouped together in a package or sequence 500.
  • the sequence 500 may be circular (as depicted), linear, or configured in other ways.
  • the sequence 500 may be arranged in numerical order by channel number 204, in alphabetical order by the text description 212, or in other preset or user-defined ways.
  • one card 200a in the sequence 500 is active or in "focus".
  • the active card 200a may be displayed within a focus area 502 of a GUI 110 displayed on the TV 104.
  • the phrase "displaying a card” refers herein to displaying, or presenting as output to a display device, a graphical representation 202 associated with the card 200.
  • Other information associated with the card e.g., the channel number 204 or text description 212, may or may not be displayed.
  • a focus area 502 is a single location of the GUI 110 at which the cards 200 are successively displayed (i.e., displayed one at a time in any direction along a sequence 500).
  • the focus area 502 may be located at a central or visually dominant location of the GUI 110, although the invention is not limited in this respect.
  • the cards 200 in a sequence 500 are successively displayed within the focus area 502. Where the sequence 500 is circular, the successive display of cards 200 may continue indefinitely until halted by the user by a subsequent action.
  • the user action to initiate navigation may be pressing (or pressing and holding down) or otherwise activating a button on the remote control 106.
  • the user may press the "Up” button 132 to initiate the successive display in a first direction within the sequence 500 (indicated by arrow 504), and press the "Down” button 118 to initiate navigation in the opposite direction (indicated by arrow 506).
  • the user may press the scroll rocker button 136 to initiate navigation in the first and opposite directions.
  • the user may speak a command into a microphone (either within the STB 102 or remote control 106) to initiate navigation.
  • the user may initiate navigation in a variety of other ways within the scope of the invention.
  • the user may select a television program 410 or other option associated with the displayed card 200 by taking a selection action. For instance, the user may press the "Select" button 124 on the remote control. Alternatively, the selection action may simply be waiting a set amount of time without activating any controls on the remote control 106.
  • a television program 410 may be selected from a menu or list.
  • a user may type the name of a desired television program 410, after which the user selection component 416 searches the cards 300 for a matching television program 410.
  • the actions performed by the user selection component 416 in response to a selection of a television program 410 depend on whether the selected television program 410 is currently broadcast (i.e., "live"), will be broadcast in a future, or was previously broadcast by the television station 112 (i.e., at an earlier time).
  • the user selection component 416 instructs the television program reception component 408 to receive the selected television program 410 from the television station 112. Thereafter, the user selection component 416 instructs a playback component 418 to immediately display to the TV 104 the television program 410 as the program is received by the television program reception component 408.
  • the playback component 418 utilizes the display interface 310 of FIG. 4 to output the television program 410 to the television 104.
  • the user selection component 416 instructs a caching component 422 to store the television program 410 within the storage device 306 or the memory 304 of the STB 102 as the program is received by the television program reception component 408. Later, the user may view the cached television program 410, by issuing a command, for example, using the remote control 106.
  • a recording task 420 includes an indication of the television station 112 (and/or any channel or network associated with the television station 112), the starting time, and the ending time for the selected television program 410.
  • the user selection component 416 and the scheduling component 419 may receive an indication of the current time of day from a clock 421.
  • the clock 421 may be periodically synchronized using timing signals received with television broadcasts or using time/date servers on the Internet 114.
  • One or more recording tasks 420 may be stored by the scheduling component 419 within the storage device 306 or the memory 304 of the STB 102.
  • the scheduling component 419 signals the television program reception component 408 to receive the television program 410.
  • a caching component 422 stores the television program 410 within the storage device 306 or the memory 304 of the STB 102.
  • the user may view the cached television program 410, by issuing a command, for example, using the remote control 106.
  • the user may also select a previously-broadcast television program 410 (i.e., the program 410 starts at a time earlier than the time at which the program 410 is selected).
  • a user would be unable to view a television program 410 in such an earlier time slot and that he or she failed to record.
  • the user selection component 416 queries the caching component 422 to determine whether the requested program 410 has been cached.
  • the television program reception component 408 and the caching component 422 continuously receive television programs 410 from different television stations 112 without a specific user request. Specified user preferences (e.g., favorite television stations 112) or observed user selections over time may determine which television programs 410 are received.
  • the television program reception component 408 may receive television programs 410 broadcast by that station 112 or of that genre in anticipation of user demand.
  • the caching component 422 may cache all of the programming broadcast by a particular television station 112 for a period of time.
  • the selection of which television programs 410 are received is made by the caching component 422.
  • the television program reception component 408 is used for this purpose.
  • Television programs 410 received by the television reception component 408 are preferably cached by the caching component 422, either within the storage device 306 or the memory 304 of the STB 102.
  • the caching component 422 may retrieve the television program 410 from the storage device 306 or the memory 304 and provide the same to the playback component 418 for playback to the user.
  • the user is charged a fee in exchange for playback of the cached program 410.
  • the fee amount may be set according to the elapsed time between selection for viewing of the program 410 and caching or display of the television program 410; that is, the cost to the user of viewing the cached program 410 may be reduced if the user is willing to delay availability for or actual viewing of the selected television program 410.
  • the caching component 422 will typically be able to anticipate a user interest in a majority of television programs 410 and make them available for subsequent playback.
  • the user selection component 416 may instruct the scheduling component 419 to search for the next occurrence (if any) of and schedule a recording task 420 to cache the selected television program 410 when broadcast by a television station 112. Later, the user may view the cached television program 410, by issuing a command, for example, using the remote control 106.
  • the caching component 422 need not be located within the STB 102, as shown in FIG. 4. Rather, the caching component 422 may be located upstream of the STB 102, such as within the head-end 108 or another location within the network 101 , one or more television stations 1 2, or a location external to and accessible by system 100. Thus, a storage device within the head-end 108, for example, may be used to selectively cache television programs 410 for a plurality of STBs 102. Locating the caching component 422 at the head-end 108 is advantageous in that a television program 410, once cached, is available for download by a plurality of users.
  • a head-end based caching component 422 may better anticipate user demand based upon the historical selections of more than one user.
  • a television program 410 cached by a caching component 422 located, for example, at the head-end 108 may be requested for download by one or more users on the system 100.
  • This requested program 410 may be offered for multicast download to one or more non- requesting users on the system 100 (who may, for example, have previously requested but unsuccessfully downloaded the program 410).
  • the time at which a cached television program 410 is downloaded to requesting users may be a function of the number of such requesting users (i.e., the program 410 may be downloaded at a certain or free of charge once a predetermined number of users have requested the program 410).
  • a plurality of STBs 102 may share files with one another in a peer-to-peer arrangement, such that, for example, a first STB 102 may receive programming from the caching component 422 of one or more other STBs 102 within system 100 or one or more other memory devices capable of communicating with the elements of system 100.
  • a recording indicator (not shown) is displayed within the GUI 110 in connection with a television program 410 that has been scheduled for recording.
  • the recording indicator may be embodied as an icon or the like and may indicate the time at which the program 410 will be recorded.
  • a card 200 representing a television program 410 marked for recording may be highlighted or designated by a particular color.
  • the method 600 begins by storing 601 a sequence 500 of cards 200 representing channels or other available options within an ITV system 150.
  • the method 600 waits 602 for user input.
  • a user action is detected 603, as previously discussed, the cards 200 from the sequence 500 are successively displayed 604 in a focus area 502 of the GUI 110. This successive display continues until a subsequent user action is detected 605, at which point the successive display may be discontinued and the selection of a single card 200 corresponding to a selected television program 410 is received 606.
  • a determination 608 is made as to whether the selected television program 410 is live (e.g., the current time is within the time slot of the television program 410), will be broadcast in the future (e.g., the starting time of the television program 410 is after the current time), or has already been broadcast (e.g., the ending time of the television program 410 is before the current time). If the television program 410 is live, the method 600 continues by receiving 610 the television program 410 from a television station 112 specified in the selected card 200. Thereafter, the television program 410 is played 612 using the television 104.
  • the television program 410 is preferably cached 614 within the storage device 306 or the memory 304 of the STB 102.
  • the receiving 610, displaying 612, and caching 614 steps are performed in parallel, such that a user may view the television program 410 as it is received and stored.
  • the method 600 continues by scheduling 616 a recording task 420 to record the television program 410 when it is actually broadcast by the television station 112.
  • the method 600 waits 618 until the start time specified in the recording task 420, at which time the television program 410 is received 620 and cached 614.
  • a determination 622 is made whether the selected television program 410 has been cached by the caching component 422 (either in response to a user selection, a recording task 420, or an ongoing program of caching to anticipate user demand). If so, the cached television program 410 is retrieved 624 from storage. Thereafter, the television program 410 is displayed 626 using the television 104. After either of steps 614 or 626, the method returns to step 606 to receive another user selection of a television program 410.
  • the method 600 continues by scheduling 628 a recording task 420 to record the television program 410 if and when the program 410 is broadcast by a television station 112.
  • the method 600 waits 630 until the start time specified in the recording task 420, at which time the television program 410 is received 632 and cached 614.

Abstract

A television system provides cards (200) depicting television programs available via a network. The cards display the programming available for a plurality of television stations and time slots. The cards are interactive in that a user may select a television program for immediate playback or future recording. Television programs may be continuously received (408) and cached (422) by the television system such that a user can select and view an earlier-broadcast television program.

Description

EPG CARD NAVIGATION AND CACHING OF TV PROGRAMS
BACKGROUND OF THE INVENTION
The present invention relates generally to electronic entertainment systems and methods. More specifically, the present invention relates to a system and method for delivering television programs and related schedule information.
BRIEF SUMMARY OF THE INVENTION
Recent advances in technology have vastly increased the number of available options within personal computers (PCs), interactive television (ITV) systems, personal digital assistant (PDAs), cellular telephones, and other information systems. For instance, current ITV systems offer hundreds of broadcast channels and a variety of interactive options, including e-mail, videoconferencing, instant messaging, online banking, online purchasing, and so forth.
Unfortunately, despite technological advances, user interfaces for these systems have remained largely unchanged, making navigation through all of the newly available options no easy task. For example, a user of a modern ITV system must scan through potentially hundreds of channels and other options, often by repeatedly pressing a button on a remote control. Such an outdated approach is far too slow and inconvenient to facilitate effective operation of a modern ITV system.
Similar problems exist with PC interfaces. The graphical user interface (GUI) of a modern PC looks remarkably similar to the first GUI developed twenty years ago. Small icons representing user options are arranged in rows and columns on a graphical representation of a desktop. Many of the icons are identical, requiring the addition of text labels as a distinguishing feature. Typically, a user must individually examine each icon and read each label — a time-consuming process that does not lend itself to effective navigation of the numerous options available in a modern PC.
Accordingly, it would be an advancement in the art to provide a user interface that allows for rapid and efficient navigation of a plurality of options without the drawbacks of conventional approaches. In addition, it would be an advancement in the art to provide such an interface in conjunction with an associated system allowing a user to record and/or view television programs irrespective of the time at which such programs are first broadcast or otherwise made generally available.
BRIEF DESCRIPTION OF SEVERAL VIEWS 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 system for delivering television and television programs to a plurality of users; FIG. 2 is an illustration of an interactive television system including a remote control and a set top box;
FIG. 3 is an illustration of a plurality of cards;
FIG. 4 is a detailed block diagram of a set top box;
FIG. 5 is a block diagram of logical components of a system and method for delivering television programs and related schedule information;
FIG. 6 is an illustration of a technique for focused navigation of a plurality of options within a user interface; and
FIGS. 7-7A is a flowchart of a method of delivering television programs and related schedule information to a user.
DETAILED DESCRIPTION OF THE INVENTION
The present invention solves the foregoing problems and disadvantages by providing a system and method for delivering television programs and related schedule information. A database of television program schedule information may be maintained for a plurality of television networks and/or stations. A television system retrieves the schedule information from the database and generates a set of cards based on this information. In an embodiment, the cards graphically illustrate information useful in selecting from among television programs. The cards are interactive in that a user may select a television program therefrom. If the selected television program is currently broadcast, the user's television system receives the television program from the television station and simultaneously plays it for the user. If the television program is to be broadcast in the future, the user's television system sets a recording task to record the television program when it is subsequently broadcast by the television station. If the television program was broadcast in the past, the user's television system may determine whether the television program was previously cached in response, for example, to a recording task, a user selection, or an ongoing program of caching television programs in anticipation of user demand. Alternatively, if the television program was not previously cached, the user's television system may set a recording task to record the television program if and when the television program is subsequently broadcast by a television station.
Thus, the present invention provides a mechanism for easy selection of a television program for viewing or recording.
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, and to avoid obscuring aspects of the invention, well-known structures, materials, or operations are not shown or described in detail.
Referring now to FIG. 1 , there is shown a system 100 for delivering television programs and other forms of content to a plurality of customers. In one implementation, the system 100 includes a broadband communication network 101 , such as a cable network. However, other networks are contemplated, one particular example of which is a direct broadcast satellite (DBS) network. In one configuration, the system 100 includes a plurality of set top boxes (STBs) 102 located, for instance, at customer homes. The STB 102 serves as a gateway between the TV 104 and the broadband communication network 101 and/or the Internet 114. One commercially-available example of an STB 102 is the Motorola DCT5000® interactive set-top terminal. The STB 102 receives encoded television signals and other data from the broadband network 101 or Internet 114 and processes the same for display on a display screen 103 of TV 104. The STB 102 may also include hardware and software for presenting a graphical user interface (GUI) 110 on the display screen 103 for operating the various functions and services of the STB 102. In alternative embodiments, the STB 102 may be integrated into the TV 104 or may be embodied within a personal computer (PC), mobile computing device, or the like.
Each STB 102 may be distinguished from other network components by a unique identifier, number, code, or address, examples of which include an IP (Internet Protocol) address or media access control (MAC) address. Thus, video streams and other information may be transmitted from the network 101 to a specific STB 102 by specifying the corresponding address, after which the network 101 routes the transmission to its destination using conventional techniques.
A remote control 106 is provided, in one embodiment, for convenient remote operation of the STB 102 and the television 104. If desired, the remote control 106 may take the form of separate remote control devices for the STB 102 and the television 104. The remote control 106 may use infrared (IR), television 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 a mouse, wireless keyboards and webpads (not shown).
In one embodiment, each STB 102 is coupled to the network 101 via a head-end 108 or other distribution center. In the context of a cable network, a head-end 108 is generally a centrally-located facility where television programs are received from a local cable TV (CATV) satellite downlink or other source and packaged together for transmission to customer homes. In one configuration, a head-end 108 also functions as a central office (CO) in the telephone industry, routing video streams and other data to and from the various STBs 102 serviced thereby.
The network 101 is preferably coupled to one or more television stations 112, which provide television programming for distribution to the STBs 102. Additionally, the network 101 may be coupled to the television stations 112 via the Internet 114. The Internet 114 is a "network of networks" and is well known to those skilled in the art. Communication over the Internet 114 is accomplished using standard protocols, such as TCP/IP (transmission control protocol/Internet protocol) and the like.
In one configuration, a television schedule database 116 is coupled to one or both of the broadband communication network 101 and the Internet 114. The television schedule database 116 preferably maintains schedule information for past, present, and future television programs broadcast by a plurality of television stations 112. Throughout the following disclosure, the term "broadcast" is not limited to electromagnetic transmissions, but contemplates packetized transmissions using a network, such as the Internet 114. The television schedule database 116 may be implemented using any conventional relational or hierarchical database management system (DBMS) or the like.
In one implementation, the television schedule database 116 receives television program schedule information directly from the television stations 112 via the Internet 114 using, for example, the hypertext transfer protocol (HTTP) or the file transfer protocol (FTP). In such an embodiment, updates of the database may be fully automated. However, in other embodiments, the television program schedule information may be obtained from disks, CD-ROMS, or tapes, or may even be manually entered.
Referring now to FIG. 2, there is shown a block diagram of an ITV system 150 according to an embodiment of the invention. In one configuration, the ITV system 150 includes a television (TV) 104 or other display device having a display screen 103, a set-top box (STB) 102, and a remote control 106.
The remote control 106 may include a number of buttons or other similar controls. For instance, the remote control 106 may include an "Up" button 132, a "Down" button 118, a "Left" button 120, a "Right" button 122, and a "Select" button 124. In an embodiment, the remote control 106 may further include a "Forward" button 126 and a "Backward" button 128. Of course, a variety of other buttons or controls, such as a scroll rocker button 136, may be provided within the scope of the invention. An ITV system 150 typically provides access to a plurality of selectable options, such as channels, programs, applications, digital media files, etc. For instance, an ITV system 150 may provide access to literally hundreds of broadcast TV channels, pay-per-view (PPV) channels, music channels, and the like. Additionally, an ITV system 150 may provide access to a number of interactive channels or applications, including web browsers, e- mail programs, chat clients, personal video recorder (PVR) applications, contact directories, and the like. Furthermore, an ITV system 150 may store or provide access to stored PVR recordings, digital photographs, audio (MP3) files, or other forms of digital media. As shown in FIG. 3, each selectable option within the ITV system
150 may be associated with a card 200. A card 200 is an object or other suitable data structure that provides information about and/or access to an available option within an ITV system 150. A card 200 may be a container of all of the attributes, actions, and/or states needed to facilitate interaction with the option represented thereby. Cards 200 may be stored in any suitable format within a memory or disk drive of the ITV system 150.
Each card 200 may include a graphical representation 202 for display in the GUI 110, as described in detail below. The graphical representation 202 may include various types or combinations of artwork, digital photography, captured video frames, animations, or the like.
As depicted in FIG. 3, cards 200a-c may be used to represent television programs, networks or channels. The television programs may be ongoing (live), upcoming, or previously-broadcast as of the time of review by a user of cards 200. In addition to a graphical representation 202, such cards 200 may include but not necessarily display, for instance, a channel number 204, a channel name or identifier 206, a starting time 208, a running time 210, and a text description 212. In an embodiment and as an alternative or in addition to the starting time 208 and running time 210, cards 200 may include a time slot 214. Of course, cards 200 representing other types of options may include additional or different types of information, such as audio/video clips, file or path names, network addresses (URLs), etc. For example, one or more cards 200 may represent interactive channels, applications, or digital media.
The graphical representations 202 associated with cards 200 may have different levels of specificity or granularity. For instance, a graphical representation 202a may correspond generally to a television series, e.g., "3rd Rock from the Sun", while another graphical representation 202b may correspond to a television programming source such as a television station, e.g., "TBS", or network, e.g., "CBS". In other embodiments, a graphical representation 202 may correspond to a specific episode of a television series (e.g., a series premier), or even a product (purchase opportunity) associated with the television program. In still other embodiments, a generic graphical representation 202 may be provided, which may be overlaid by the channel number 204, text description 212, or other information, where a more specific card 200 is not available. Cards 200 may be generated locally within an ITV system 150 or may be received at an ITV system 150 via the broadband network 101 or Internet 114 using HTTP (hypertext transfer protocol), FTP (file transfer protocol), ATVEF (advanced television enhancement forum) triggers or other well-known protocols or techniques. In one embodiment, a card 200 may be received with data encoded in the vertical blanking interval (VBI) of a television signal. Additionally, information associated with cards 200 (e.g., channel number 204, starting time 208, running time 210) may be dynamically updated with information received in ATVEF triggers. A comprehensive discussion of the nature, arrangement, manipulation and utility of cards 200 is presented in commonly-owned U.S. Patent Application No. 10/138,810 entitled "SYSTEM AND METHOD FOR FOCUSED NAVIGATION WITHIN A USER INTERFACE," the entirety of which is hereby incorporated by reference herein.
FIG. 4 is a schematic block diagram of an STB 102 according to an embodiment of the invention. The illustrated components may be logical or physical and may be implemented using any suitable combination of hardware, software, and/or firmware.
In one configuration, the STB 102 includes a network interface 302 for communicating with the broadband network 101 or Internet 114. The network interface 302 may conform to the DOCSIS (Data Over Cable Service Interface Specification) or DAVIC (Digital Audio-Visual Council) cable modem standards. Additionally, the network interface 302 may include standard circuitry for receiving MPEG (Moving Picture Experts Group) streams including multiplexed television programs and data from the broadband network 101. One or more sequences 500, discussed below in greater detail, of cards 200 may be received by the interface 302 from a server accessible via the broadband network 101 or the Internet 114.
The STB 102 further includes a memory 304, such as a random access memory (RAM) and/or read-only memory (ROM). The memory 304 may store an operating system (OS) for the STB 102 (e.g., Windows CE® or Linux®), application program code, and various types of data. In one embodiment, the memory 304 stores one or more sequences 500 of cards 200. In other embodiments, the sequences 500 may be stored within a mass storage device 306, such as a hard disk drive, optical storage device, or the like. It should be noted that all storing functions associated with memory 304 and mass storage device 306 may alternatively be performed at a storage location included by or external to system 100.
An input interface 308 may be provided for receiving commands from an input device, such as a remote control 106. In one embodiment, the input interface 308 may include or be associated with the wireless receiver 130 described in connection with FIG. 2. The input interface 308 may detect a user action for initiating navigation, such as the user pressing the "Up" or "Down" buttons 132, 118 on the remote control 106.
The STB 102 may further include a display interface 310 for generating a GUI 110 on an attached TV 104 or other display device. In addition, the display interface 310 may be responsible for successively displaying cards 200 from one or more stored sequences 500 in a focus area 502 of the GUI 110 in response to a user action detected by the input interface 308, as previously described. Likewise, the display interface 310 may be responsible for halting the successive display in response to detection of a subsequent user action. A tuner 312 may be included for demodulating and demultiplexing selected MPEG streams received by the STB 102 from the broadband network 101 or Internet 114. The tuner 312 may be used to tune to a particular television program in response to a user selection of a card 200, e.g., in response to the user pressing the "Select" button 124 or when the user "lingers" on a card 200 in the focus area 502.
A CPU 314 controls the operation of the STB 102 components described above, each of which may be in electrical communication with the CPU 314 via a bus 316. The CPU 314 may be embodied as a microprocessor, a microcontroller, a digital signal processor (DSP) or other device known in the art. For instance, the CPU 314 may be embodied as an Intel® x86 processor. The CPU 314 may perform logical and arithmetic operations based on program code stored within the memory 304 or the mass storage device 306.
In one implementation, the STB 102 also includes a decoder 318, such as an MPEG decoder, for decoding packets received from the network
101 or Internet 114. As depicted, the decoder 318 may be implemented as a hardware component. Alternatively, or in addition, software decoding may be used.
In one embodiment, a display interface 310 is provided for converting decoded digital video information into analog signals for display on the television 104. In alternative embodiments, the display interface 310 may provide a direct, digital video output for televisions 104 equipped to receive the same. Preferably, the display interface 310 includes graphics hardware for performing bit-block transfers (bit-blits) and other graphical operations. Thus, the display interface 310 may be configured to display the GUI 110 on the television 104.
Of course, FIG. 4 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. 5 is a block diagram of logical components of a system 400 for delivering television programs and related schedule information. The depicted logical components may be implemented using one or more of the STB 102 physical components shown in FIG. 4. Additionally, or in the alternative, various logical components may be implemented as software modules stored in the memory 304 and/or storage device 306 and executed by the CPU 314. In the depicted embodiment, a schedule retrieval component 402 retrieves television program schedule information 404 from the database 116 shown in FIG. 1. The schedule information 404 may be retrieved upon demand, e.g., when requested by the user, or at periodic intervals. The schedule retrieval component 402 may include a client program for accessing the particular DBMS or server associated with the database 116. In one embodiment, the schedule retrieval component 402 issues a request to the database 116 and receives in response the schedule information 404. In one embodiment, the retrieved schedule information 404 is cached within the memory 304 or the storage device 306 of the STB 102. The format of the television program schedule information 404 is not crucial to the invention. The information 404 may be stored, for instance, within one or more tables of a relational database, within an XML (extensible Markup Language) document, within a delimited text document, or the like.
The schedule retrieval component 402 may retrieve only a subset of the information 404 available in the database 116. For example, the schedule retrieval component 402 may retrieve only the current day's schedule information 404 associated with the user's favorite television stations 112 (which may be specified by the user or determined from historical user selections). However, the user may request retrieval of more comprehensive schedule information 404, if desired. In one configuration, a television program reception component 408 receives one or more television programs 410 from a television station 112 via the network 101 or Internet 114. In the context of the present invention, a television station 112 need not actually broadcast television frequency electromagnetic signals. Rather, digitally-encoded and packetized television programs 410 may also be received from television stations 112 via the network 101 or Internet 114.
Various software tools are known for receiving digitally-encoded and packetized television programs 410, one particular example of which is RealPlayer Plus®, available from RealNetworks, Inc. of Seattle, WA. In alternative embodiments, however, the television program reception component 408 may be implemented in hardware or firmware, such as MPEG-2 encoders/decoders.
The schedule retrieval component 402 and the television program reception component 408 may utilize, for example, the network interface 302 of FIG. 4 to receive a packet stream containing the television program 410 from a head-end 108. The television program 410 may be encoded in a variety of formats, such as MPEG, or any other known compressed or uncompressed digital format. The decoder 318 and/or CPU 314 of FIG. 4 decode the transmission, if necessary.
Preferably, the television program reception component 408 is capable of simultaneously receiving a plurality of television programs 410 from different television stations 112. The maximum number of television programs 410 that can be simultaneously received is primarily limited by the bandwidth of the STB's 102 connection to the network 101 or Internet 114. In the case of a broadband communication network 101 , the bandwidth is relatively high, allowing for simultaneous retrieval of a large number of television programs 410.
In one embodiment, a formatting component 412 arranges the raw schedule information 404 into a suitable format for display to the user. As described in greater detail above, the formatting component 412 may arrange the schedule information 404 into a set of cards 200, examples of which are shown in FIG. 3. Alternatively, and as above alluded to, the cards 200, rather than schedule information 404, may arrive at the head-end 108 fully-formatted and usable.
A display component 415 receives the formatted cards 200 from the formatting component 412 and displays the same on the television 104. In certain embodiments, the display component 415 may be configured to display a television program simultaneously with the GUI 110, for example, by splitting the television screen between the television program and the GU1 110.
In one implementation, the GUI 110 is interactive in that a user- selection component 416 allows a user to select a television program 410 from the cards 200 displayed within the GUI 110. As shown in FIG. 6, a plurality of cards 200 may be arranged or grouped together in a package or sequence 500. The sequence 500 may be circular (as depicted), linear, or configured in other ways. The sequence 500 may be arranged in numerical order by channel number 204, in alphabetical order by the text description 212, or in other preset or user-defined ways.
In the illustrated embodiment, one card 200a in the sequence 500 is active or in "focus". As shown, the active card 200a may be displayed within a focus area 502 of a GUI 110 displayed on the TV 104. For brevity, the phrase "displaying a card" refers herein to displaying, or presenting as output to a display device, a graphical representation 202 associated with the card 200. Other information associated with the card, e.g., the channel number 204 or text description 212, may or may not be displayed.
A focus area 502 is a single location of the GUI 110 at which the cards 200 are successively displayed (i.e., displayed one at a time in any direction along a sequence 500). The focus area 502 may be located at a central or visually dominant location of the GUI 110, although the invention is not limited in this respect. In response to a user action, the cards 200 in a sequence 500 are successively displayed within the focus area 502. Where the sequence 500 is circular, the successive display of cards 200 may continue indefinitely until halted by the user by a subsequent action. The user action to initiate navigation may be pressing (or pressing and holding down) or otherwise activating a button on the remote control 106. For example, the user may press the "Up" button 132 to initiate the successive display in a first direction within the sequence 500 (indicated by arrow 504), and press the "Down" button 118 to initiate navigation in the opposite direction (indicated by arrow 506). Alternatively, the user may press the scroll rocker button 136 to initiate navigation in the first and opposite directions. Alternatively, the user may speak a command into a microphone (either within the STB 102 or remote control 106) to initiate navigation. Of course, the user may initiate navigation in a variety of other ways within the scope of the invention.
The user may select a television program 410 or other option associated with the displayed card 200 by taking a selection action. For instance, the user may press the "Select" button 124 on the remote control. Alternatively, the selection action may simply be waiting a set amount of time without activating any controls on the remote control 106.
In alternative embodiments, a television program 410 may be selected from a menu or list. In still other embodiments, a user may type the name of a desired television program 410, after which the user selection component 416 searches the cards 300 for a matching television program 410. In one implementation, the actions performed by the user selection component 416 in response to a selection of a television program 410 depend on whether the selected television program 410 is currently broadcast (i.e., "live"), will be broadcast in a future, or was previously broadcast by the television station 112 (i.e., at an earlier time). For example, if the user selects a currently-broadcast television program 410 (i.e., the time at which program 410 is selected falls within the time slot of the selected television program 410), the user selection component 416 instructs the television program reception component 408 to receive the selected television program 410 from the television station 112. Thereafter, the user selection component 416 instructs a playback component 418 to immediately display to the TV 104 the television program 410 as the program is received by the television program reception component 408. In one implementation, the playback component 418 utilizes the display interface 310 of FIG. 4 to output the television program 410 to the television 104. Alternatively, or additionally, the user selection component 416 instructs a caching component 422 to store the television program 410 within the storage device 306 or the memory 304 of the STB 102 as the program is received by the television program reception component 408. Later, the user may view the cached television program 410, by issuing a command, for example, using the remote control 106.
If, however, the user selects a television program 410 in a future time slot (i.e., the program 410 starts at a time later than the time at which the program 410 is selected), the user selection component 416 instructs a scheduling component 419 to schedule a recording task 420 to record the selected television program 410 when broadcast by the television station 112. In one embodiment, a recording task 420 includes an indication of the television station 112 (and/or any channel or network associated with the television station 112), the starting time, and the ending time for the selected television program 410.
The user selection component 416 and the scheduling component 419 may receive an indication of the current time of day from a clock 421. The clock 421 may be periodically synchronized using timing signals received with television broadcasts or using time/date servers on the Internet 114. One or more recording tasks 420 may be stored by the scheduling component 419 within the storage device 306 or the memory 304 of the STB 102. When the starting time for the selected television program 410 arrives (as indicated by the clock 421), the scheduling component 419 signals the television program reception component 408 to receive the television program 410. Thereafter, a caching component 422 stores the television program 410 within the storage device 306 or the memory 304 of the STB 102. Later, the user may view the cached television program 410, by issuing a command, for example, using the remote control 106. The user may also select a previously-broadcast television program 410 (i.e., the program 410 starts at a time earlier than the time at which the program 410 is selected). Conventionally, a user would be unable to view a television program 410 in such an earlier time slot and that he or she failed to record. However, in accordance with the present invention, the user selection component 416 queries the caching component 422 to determine whether the requested program 410 has been cached. In one implementation, the television program reception component 408 and the caching component 422 continuously receive television programs 410 from different television stations 112 without a specific user request. Specified user preferences (e.g., favorite television stations 112) or observed user selections over time may determine which television programs 410 are received.
For example, where a user typically views broadcasts from a particular television station 112, or of a particular genre, the television program reception component 408 may receive television programs 410 broadcast by that station 112 or of that genre in anticipation of user demand. In some cases, the caching component 422 may cache all of the programming broadcast by a particular television station 112 for a period of time. In one embodiment, the selection of which television programs 410 are received is made by the caching component 422. Alternatively, the television program reception component 408 is used for this purpose.
Television programs 410 received by the television reception component 408 are preferably cached by the caching component 422, either within the storage device 306 or the memory 304 of the STB 102. Thus, if the user selects a previously-broadcast television program 410 that was cached, the caching component 422 may retrieve the television program 410 from the storage device 306 or the memory 304 and provide the same to the playback component 418 for playback to the user. In an embodiment, the user is charged a fee in exchange for playback of the cached program 410. In addition, the fee amount may be set according to the elapsed time between selection for viewing of the program 410 and caching or display of the television program 410; that is, the cost to the user of viewing the cached program 410 may be reduced if the user is willing to delay availability for or actual viewing of the selected television program 410.
Of course, not every television program 410 may be feasibly cached, since the bandwidth of the STB's 102 connection to the network 101 and/or Internet 114 is probably not sufficient to simultaneously download all of the possible television programs 410 from all of the possible television stations 112. Thus, if a requested television program 410 was not cached, the user is notified accordingly. However, by paying close attention to historical user selections, and by relying on stated user preferences, the caching component 422 will typically be able to anticipate a user interest in a majority of television programs 410 and make them available for subsequent playback. If the requested television program 410 from an earlier time slot was not cached, the user selection component 416 may instruct the scheduling component 419 to search for the next occurrence (if any) of and schedule a recording task 420 to cache the selected television program 410 when broadcast by a television station 112. Later, the user may view the cached television program 410, by issuing a command, for example, using the remote control 106.
In alternative embodiments, the caching component 422 need not be located within the STB 102, as shown in FIG. 4. Rather, the caching component 422 may be located upstream of the STB 102, such as within the head-end 108 or another location within the network 101 , one or more television stations 1 2, or a location external to and accessible by system 100. Thus, a storage device within the head-end 108, for example, may be used to selectively cache television programs 410 for a plurality of STBs 102. Locating the caching component 422 at the head-end 108 is advantageous in that a television program 410, once cached, is available for download by a plurality of users. Moreover, a head-end based caching component 422 may better anticipate user demand based upon the historical selections of more than one user. In an embodiment, a television program 410 cached by a caching component 422 located, for example, at the head-end 108 may be requested for download by one or more users on the system 100. This requested program 410 may be offered for multicast download to one or more non- requesting users on the system 100 (who may, for example, have previously requested but unsuccessfully downloaded the program 410). In an embodiment, the time at which a cached television program 410 is downloaded to requesting users may be a function of the number of such requesting users (i.e., the program 410 may be downloaded at a certain or free of charge once a predetermined number of users have requested the program 410). In an embodiment, a plurality of STBs 102 may share files with one another in a peer-to-peer arrangement, such that, for example, a first STB 102 may receive programming from the caching component 422 of one or more other STBs 102 within system 100 or one or more other memory devices capable of communicating with the elements of system 100. Preferably, a recording indicator (not shown) is displayed within the GUI 110 in connection with a television program 410 that has been scheduled for recording. The recording indicator may be embodied as an icon or the like and may indicate the time at which the program 410 will be recorded. Alternatively, a card 200 representing a television program 410 marked for recording may be highlighted or designated by a particular color.
Referring now to FIGS. 7 and 7A, there is shown a flowchart of a method 600 for delivering television programs 410 and related schedule information 404. The method 600 begins by storing 601 a sequence 500 of cards 200 representing channels or other available options within an ITV system 150.
In one configuration, the method 600 waits 602 for user input. When a user action is detected 603, as previously discussed, the cards 200 from the sequence 500 are successively displayed 604 in a focus area 502 of the GUI 110. This successive display continues until a subsequent user action is detected 605, at which point the successive display may be discontinued and the selection of a single card 200 corresponding to a selected television program 410 is received 606.
As illustrated in FIG. 7A, once the user selection is received 606, a determination 608 is made as to whether the selected television program 410 is live (e.g., the current time is within the time slot of the television program 410), will be broadcast in the future (e.g., the starting time of the television program 410 is after the current time), or has already been broadcast (e.g., the ending time of the television program 410 is before the current time). If the television program 410 is live, the method 600 continues by receiving 610 the television program 410 from a television station 112 specified in the selected card 200. Thereafter, the television program 410 is played 612 using the television 104. In addition, the television program 410 is preferably cached 614 within the storage device 306 or the memory 304 of the STB 102. In one embodiment, the receiving 610, displaying 612, and caching 614 steps are performed in parallel, such that a user may view the television program 410 as it is received and stored.
If, however, the television program 410 is to be broadcast in the future, the method 600 continues by scheduling 616 a recording task 420 to record the television program 410 when it is actually broadcast by the television station 112. The method 600 waits 618 until the start time specified in the recording task 420, at which time the television program 410 is received 620 and cached 614.
If, however, the selected television program 410 was previously broadcast, a determination 622 is made whether the selected television program 410 has been cached by the caching component 422 (either in response to a user selection, a recording task 420, or an ongoing program of caching to anticipate user demand). If so, the cached television program 410 is retrieved 624 from storage. Thereafter, the television program 410 is displayed 626 using the television 104. After either of steps 614 or 626, the method returns to step 606 to receive another user selection of a television program 410.
If, however, the selected previously broadcast television program 410 was not cached by the caching component 422, the method 600 continues by scheduling 628 a recording task 420 to record the television program 410 if and when the program 410 is broadcast by a television station 112. The method 600 waits 630 until the start time specified in the recording task 420, at which time the television program 410 is received 632 and cached 614.
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 which will be 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

1. A method for delivering television programs, the method comprising: successively displaying a first set of visual cards in a first area of a user interface, each visual card of the first set of visual cards representing a corresponding broadcast time slot; enabling selection of a particular visual card of the first set of visual cards by a user in order to view a television program corresponding to the time slot represented by the selected visual card; and receiving a user selection of the particular visual card.
2. The method of claim 1 wherein the broadcast time slot is associated with an episode of a plurality of episodes of the television program, and wherein enabling selection of the particular visual card of the first set of visual cards by the user in order to view the television program includes enabling selection of the particular visual card in order to view the episode of the television program corresponding to the time slot represented by the selected visual card.
3. The method of claim 1 wherein the selected visual card represents at least one of a future time slot, an earlier time slot, and a current time slot.
4. The method of claim 3, further comprising scheduling a task to receive the television program represented by the selected visual card.
5. The method of claim 4, further comprising caching the received television program.
6. The method of claim 4, further comprising providing a visual indication within the user interface that the task to receive the television program represented by the selected visual card has been scheduled.
7. The method of claim 5, further comprising displaying the cached television program in response to a user command.
8. The method of claim 3, further comprising selectively receiving at least one television program.
9. The method of claim 8, further comprising caching the at least one received television program.
10. The method of claim 8 wherein the at least one television program is selectively received in response to specified user preferences.
11. The method of claim 8 wherein the at least one television program is selectively received in response to historical user selections.
12. The method of claim 8 wherein the at least one television program comprises all of the programming broadcast over a particular television channel for a period of time.
13. The method of claim 9 wherein the selected visual card corresponds to the cached television program.
14. The method of claim 13, further comprising displaying the cached television program in response to receipt of the user selection.
15. The method of claim 14, further comprising charging a fee to the user.
16. The method of claim 15 wherein the fee amount depends on the elapsed time between receipt of the selection of the particular visual card and displaying the cached television program.
17. The method of claim 3, further comprising receiving the television program, including an episode of the television program.
18. The method of claim 17, further comprising at least one of displaying the received television program and caching the received television program.
19. The method of claim 1 wherein the successive display of visual cards is in response to activation of a scroll rocker button.
20. A system for delivering television programs, the system comprising: a user input detector configured to detect actions of a user; and a processor configured to successively display a first set of visual cards in a first area of a user interface, each visual card of the first set of visual cards representing a corresponding broadcast time slot, the processor further configured to enable selection of a particular visual card of the first set of visual cards by the user in order to view a television program corresponding to the time slot represented by the selected visual card, the processor further configured to receive a user selection of the particular visual card.
21. The system of claim 20 wherein the broadcast time slot is associated with an episode of a plurality of episodes of the television program, and wherein configuration of the processor to enable selection of the particular visual card of the first set of visual cards by the user in order to view the television program includes configuration of the processor to enable selection of the particular visual card of the first set of visual cards in order to view the episode of the television program.
22. The system of claim 20 wherein the selected visual card represents at least one of a future time slot, an earlier time slot, and a current time slot.
23. The system of claim 22 wherein the processor is further configured to schedule a task to receive the television program represented by the selected visual card.
24. The system of claim 23, further comprising a memory configured to cache the received television program.
25. The system of claim 23 wherein the processor is further configured to provide a visual indication within the user interface that the task to receive the television program represented by the selected visual card has been scheduled.
26. The system of claim 24 wherein the processor is further configured to display the cached television program in response to a user command.
27. The system of claim 22 wherein the processor is further configured to selectively receive at least one television program.
28. The system of claim 27, further comprising a memory configured to cache the at least one received television program.
29. The system of claim 27 wherein the at least one television program is selectively received in response to specified user preferences.
30. The system of claim 27 wherein the at least one television program is selectively received in response to historical user selections.
31. The system of claim 27 wherein the at least one television program comprises all of the programming broadcast over a particular television channel for a period of time.
32. The system of claim 28 wherein the selected visual card corresponds to the cached television program.
33. The system of claim 32 wherein the processor is further configured to display the cached television program in response to receipt of the user selection.
34. The system of claim 22 wherein the processor is further configured to receive the television program, including an episode of the television program.
35. The system of claim 34 wherein the processor is further configured to at least one of display the received television program and cache the received television program.
36. A method for delivering television programs, the method comprising: successively displaying a first set of visual cards in a first area of the user interface, at least one visual card of the first set of visual cards representing an interactive television channel; successively displaying a second set of visual cards in the first area of the user interface, each visual card of the second set of visual cards representing a corresponding broadcast time slot; enabling selection of a particular visual card of the second set of visual cards by a user in order to view a television program corresponding to the time slot represented by the selected visual card; and receiving a user selection of the particular visual card.
37. The method of claim 36 wherein the broadcast time slot is associated with an episode of a plurality of episodes of the television program, and wherein enabling selection of the particular visual card of the first set of visual cards by the user in order to view the television program includes enabling selection of the particular visual card in order to view the episode of the television program corresponding to the time slot represented by the selected visual card.
38. An article of manufacture, comprising: a carrier signal adapted to carry data, the data functionally related to the carrier signal such that a first set of visual cards is successively displayed in a first area of a user interface, each visual card of the first set of visual cards representing a corresponding broadcast time slot, the data further functionally related to the carrier signal such that selection of a particular visual card of the first set of visual cards by a user is enabled in order to view a television program corresponding to the time slot represented by the selected visual card, the data further functionally related to the carrier signal such that a user selection of the particular visual card is received.
39. The article of manufacture of claim 38 wherein the broadcast time slot is associated with an episode of a plurality of episodes of the television program, and wherein the selection of the particular visual card of the first set of visual cards by the user is enabled in order to view the television program includes enablement of selection of the particular visual card in order to view the episode of the television program corresponding to the time slot represented by the selected visual card.
40. A system for delivering television programs, the system comprising: means for successively displaying a first set of visual cards in a first area of the user interface, each visual card of the first set of visual cards representing a corresponding broadcast time slot; means for enabling selection of a particular visual card of the first set of visual cards by a user in order to view a television program corresponding to the time slot represented by the selected visual card; and means for receiving a user selection of the particular visual card.
41. The system of claim 40 wherein the broadcast time slot is associated with an episode of a plurality of episodes of the television program, and wherein the means for enabling selection of the particular visual card of the first set of visual cards by the user in order to view the television program includes a means for enabling selection of the particular visual card in order to view the episode of the television program corresponding to the time slot represented by the selected visual card.
PCT/US2002/027382 2001-08-29 2002-08-27 Epg card navigation and caching of tv programs WO2003021950A1 (en)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US31573101P 2001-08-29 2001-08-29
US60/315,731 2001-08-29
US31761201P 2001-09-06 2001-09-06
US60/317,612 2001-09-06
US32499701P 2001-09-26 2001-09-26
US60/324,997 2001-09-26
US10/097,174 US20030046693A1 (en) 2001-08-29 2002-03-12 System and method for focused navigation within an interactive television user interface
US10/097,174 2002-03-12
US37762702P 2002-05-03 2002-05-03
US60/377,627 2002-05-03
US18609402A 2002-06-29 2002-06-29
US18609502A 2002-06-29 2002-06-29
US10/186,095 2002-06-29
US10/186,094 2002-06-29

Publications (1)

Publication Number Publication Date
WO2003021950A1 true WO2003021950A1 (en) 2003-03-13

Family

ID=27568573

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/027382 WO2003021950A1 (en) 2001-08-29 2002-08-27 Epg card navigation and caching of tv programs

Country Status (1)

Country Link
WO (1) WO2003021950A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2418119A (en) * 2004-09-10 2006-03-15 Radioscape Ltd Navigating through a content database stored on a digital media player

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812124A (en) * 1995-03-28 1998-09-22 Lucent Technologies, Inc. Program category selection with filtered data and displayed cascaded cards
US6005601A (en) * 1996-02-14 1999-12-21 Sony Corporation Apparatus for and method of controlling display of electronic program guide
US6028600A (en) * 1997-06-02 2000-02-22 Sony Corporation Rotary menu wheel interface
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6418556B1 (en) * 1993-09-09 2002-07-09 United Video Properties, Inc. Electronic television program guide schedule system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418556B1 (en) * 1993-09-09 2002-07-09 United Video Properties, Inc. Electronic television program guide schedule system and method
US5812124A (en) * 1995-03-28 1998-09-22 Lucent Technologies, Inc. Program category selection with filtered data and displayed cascaded cards
US6005601A (en) * 1996-02-14 1999-12-21 Sony Corporation Apparatus for and method of controlling display of electronic program guide
US6028600A (en) * 1997-06-02 2000-02-22 Sony Corporation Rotary menu wheel interface
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2418119A (en) * 2004-09-10 2006-03-15 Radioscape Ltd Navigating through a content database stored on a digital media player

Similar Documents

Publication Publication Date Title
US7340761B2 (en) System and method for delivering radio programs and related schedule information
US8132118B2 (en) Intelligent default selection in an on-screen keyboard
US8984551B2 (en) Interactive program guide with continuous data stream and client-server data supplementation
US6915528B1 (en) System and method for managing television programs within an entertainment system
US8601507B2 (en) System and method for focused navigation in a media center/extension device architecture
US6774926B1 (en) Personal television channel system
US9326016B2 (en) Systems and methods for mirroring and transcoding media content
US7080394B2 (en) System and method for capturing video frames for focused navigation within a user interface
US20050155067A1 (en) System and method for managing television programs within an entertainment system
US20040205816A1 (en) Virtual channel preview guide
EP1492349A2 (en) Interactive content without embedded triggers
EP2062420A1 (en) Peer to peer media distribution system and method
US8099680B1 (en) System and method of contextual pre-tuning
WO2003021950A1 (en) Epg card navigation and caching of tv programs
AU2015221530A1 (en) Client-Server Electronic Program Guide
AU2003203749B2 (en) Client-Server Electronic Program Guide
AU2008201052C1 (en) Client-Server Electronic Program Guide
WO2003009597A1 (en) System and method for providing supplemental information related to a television program
WO2003009156A1 (en) System and method for providing television program information to an entertainment device

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 VC VN YU ZA ZM ZW

Kind code of ref document: A1

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

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 BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI 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
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