U.S. patent application number 09/969164 was filed with the patent office on 2003-01-23 for system and method for providing television program information to an entertainment device.
This patent application is currently assigned to DIGEO, Inc.. Invention is credited to McKenna, Thomas P. JR..
Application Number | 20030018748 09/969164 |
Document ID | / |
Family ID | 25427271 |
Filed Date | 2003-01-23 |
United States Patent
Application |
20030018748 |
Kind Code |
A1 |
McKenna, Thomas P. JR. |
January 23, 2003 |
System and method for providing television program information to
an entertainment device
Abstract
Television programs are represented by program interface objects
(PIOs) within an interactive television system. The PIOs provide a
visual indicator for quick identification of the represented
television program, attributes providing information concerning the
represented television program, and actions that may be performed
on or in connection with the represented television program. The
PIOs may be sorted, filtered, and/or managed based on user-provided
criteria. The PIOs may be transmitted between a variety of
electronic devices and software applications.
Inventors: |
McKenna, Thomas P. JR.;
(Sammamish, WA) |
Correspondence
Address: |
DIGEO, INC C/O STOEL RIVES LLP
201 SOUTH MAIN STREET, SUITE 1100
ONE UTAH CENTER
SALT LAKE CITY
UT
84111
US
|
Assignee: |
DIGEO, Inc.
Kirkland
WA
|
Family ID: |
25427271 |
Appl. No.: |
09/969164 |
Filed: |
October 2, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09969164 |
Oct 2, 2001 |
|
|
|
09909468 |
Jul 19, 2001 |
|
|
|
Current U.S.
Class: |
709/219 |
Current CPC
Class: |
H04N 5/44543 20130101;
H04N 21/482 20130101; H04N 21/84 20130101; H04N 21/462 20130101;
H04N 2005/44556 20130101; H04N 21/4828 20130101; H04N 21/47
20130101; H04N 21/4821 20130101; H04N 21/454 20130101 |
Class at
Publication: |
709/219 |
International
Class: |
G06F 015/16 |
Claims
What is claimed is:
1. A method for providing television program information to an
entertainment device, the method comprising: storing a plurality of
program interface objects (PIOs) within a server, each PIO
comprising a plurality of attributes carrying information about a
television program, a plurality of user-selectable actions
performable by an entertainment device in connection with the
television program, and at least one visual indicator displayable
in a graphical user interface (GUI) to facilitate user interaction
with the PIO; selecting at the server at least one stored PIO for
transmission to an entertainment device; and transmitting the at
least one selected PIO from the server to the entertainment device
via a network.
2. The method of claim 1, wherein selecting comprises: receiving a
request from the entertainment device; and selecting the at least
one stored PIO for transmission based on the request.
3. The method of claim 2, wherein the request comprises selection
criteria, the method further comprising: searching the stored PIOs
for ones satisfying the selection criteria.
4. The method of claim 3, wherein the selection criteria relates to
at least one attribute of a PIO.
5. The method of claim 1, wherein the server comprises demographic
data pertaining to a user of the entertainment device, and wherein
selecting comprises: selecting at least one PIO for transmission
based on the demographic data.
6. The method of claim 5, wherein the demographic data comprises at
least one of age, gender, household income, race, ethnicity,
religious affiliation, and occupation.
7. The method of claim 5, wherein at least one attribute of a PIO
includes demographic data.
8. The method of claim 1, wherein the server comprises a set of
user preferences, and wherein selecting comprises: searching the
stored PIOs for ones satisfying the user preferences.
9. The method of claim 8, wherein the user preferences relate to at
least one attribute of a PIO.
10. The method of claim 8, wherein the user preferences specify at
least one attribute that a PIO must include in order to be selected
for transmission.
11. The method of claim 8, wherein the user preferences specify at
least one attribute that a PIO must not include in order to be
selected for transmission.
12. The method of claim 1, wherein at least one stored PIO relates
to a television signal being currently broadcast from the server to
the entertainment device, and wherein selecting comprises:
selecting at least one PIO related to the television signal being
currently broadcast.
13. The method of claim 1, wherein at least one stored PIO relates
to a television signal scheduled to be broadcast from the server to
the entertainment device, and wherein selecting comprises:
selecting at least one PIO related to a television signal scheduled
to be broadcast.
14. The method of claim 1, wherein transmitting comprises:
addressing the at least one selected PIO with a network address of
the entertainment device.
15. The method of claim 1, wherein the network is selected from the
group consisting of a cable television network, a direct satellite
broadcast (DBS) network, an Internet, an intranet, and a home radio
frequency (RF) network.
16. The method of claim 1, wherein the entertainment device is
selected from the group consisting of a personal computer, an
interactive television (ITV) system, a personal digital assistant
(PDA), a cellular telephone, and a pager.
17. The method of claim 1, wherein at least one visual indicator is
selected from the group consisting of a graphical icon, an animated
image, a video clip, and a text description.
18. The method of claim 1, wherein at least one PIO is selected
from the group consisting of a JavaBean object, a Distributed
Component Object Model (DCOM) object, and an eXtensible Markup
Language (XML) object.
19. The method of claim 1, wherein at least one attribute is
selected from the group consisting of a title, a starting time, a
running time, a description, an indication of a channel on which a
television program is broadcast, an Internet link, and a storage
location of a television program.
20. The method of claim 1, wherein at least one user-selectable
action is selected from the group consisting of recording a
television program associated with a corresponding PIO, displaying
a previously-recorded television program associated with a
corresponding PIO, and displaying an attribute of a corresponding
PIO.
21. A system for providing television program information to an
entertainment device, the system comprising: a storage device that
stores a plurality of program interface objects (PIOs) within a
server, each PIO comprising a plurality of attributes carrying
information about a television program, a plurality of
user-selectable actions performable by an entertainment device in
connection with the television program, and at least one visual
indicator displayable in a graphical user interface (GUI) to
facilitate user interaction with the PIO; a selection component
that selects at the server at least one stored PIO for transmission
to an entertainment device; and a transmission component that
transmits the at least one selected PIO from the server to the
entertainment device via a network.
22. The system of claim 21, further comprising: a request reception
component that receives a request from the entertainment device;
and wherein the selection component is further configured to select
the at least one stored PIO for transmission based on the
request.
23. The system of claim 22, wherein the request comprises selection
criteria, the system further comprising: searching the stored PIOs
for ones satisfying the selection criteria.
24. The system of claim 23, wherein the selection criteria relates
to at least one attribute of a PIO.
25. The system of claim 21, wherein the server comprises
demographic data pertaining to a user of the entertainment device,
and wherein the selection component is further configured to
selecting at least one PIO for transmission based on the
demographic data.
26. The system of claim 25, wherein the demographic data comprises
at least one of age, gender, household income, race, ethnicity,
religious affiliation, and occupation.
27. The system of claim 25, wherein at least one attribute of a PIO
includes demographic data.
28. The system of claim 27, wherein the server comprises a set of
user preferences, and wherein the selection component is further
configured to search the stored PIOs for ones satisfying the user
preferences.
29. The system of claim 28, wherein the user preferences relate to
at least one attribute of a PIO.
30. The system of claim 28, wherein the user preferences specify at
least one attribute that a PIO must include in order to be selected
for transmission.
31. The system of claim 28, wherein the user preferences specify at
least one attribute that a PIO must not include in order to be
selected for transmission.
32. The system of claim 21, wherein at least one stored PIO relates
to a television signal being currently broadcast from the server to
the entertainment device, and wherein the selection component is
further configured to select at least one PIO related to the
television signal being currently broadcast.
33. The system of claim 21, wherein at least one stored PIO relates
to a television signal scheduled to be broadcast from the server to
the entertainment device, and wherein the selection component is
further configured to select at least one PIO related to a
television signal scheduled to be broadcast.
34. The system of claim 21, wherein the transmission component is
further configured to address the at least one selected PIO with a
network address of the entertainment device.
35. The system of claim 21, wherein the network is selected from
the group consisting of a cable television network, a direct
satellite broadcast (DBS) network, an Internet, an intranet, and a
home radio frequency (RF) network.
36. The system of claim 21, wherein the entertainment device is
selected from the group consisting of a personal computer, an
interactive television (ITV) system, a personal digital assistant
(PDA), a cellular telephone, and a pager.
37. The system of claim 21, wherein at least one visual indicator
is selected from the group consisting of a graphical icon, an
animated image, a video clip, and a text description.
38. The system of claim 21, wherein at least one PIO is selected
from the group consisting of a JavaBean object, a Distributed
Component Object Model (DCOM) object, and an eXtensible Markup
Language (XML) object.
39. The system of claim 21, wherein at least one attribute is
selected from the group consisting of a title, a starting time, a
running time, a description, an indication of a channel on which a
television program is broadcast, an Internet link, and a storage
location of a television program.
40. The system of claim 21, wherein at least one user-selectable
action is selected from the group consisting of recording a
television program associated with a corresponding PIO, displaying
a previously-recorded television program associated with a
corresponding PIO, and displaying an attribute of a corresponding
PIO.
41. A system for providing television program information to an
entertainment device, the system comprising: means for storing a
plurality of program interface objects (PIOs) within a server, each
PIO comprising a plurality of attributes carrying information about
a television program, a plurality of user-selectable actions
performable by an entertainment device in connection with the
television program, and at least one visual indicator displayable
in a graphical user interface (GUI) to facilitate user interaction
with the PIO; means for selecting at the server at least one stored
PIO for transmission to an entertainment device; and means for
transmitting the at least one selected PIO from the server to the
entertainment device via a network.
Description
RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent
application Ser. No. 09/909,468, filed Jul. 19, 2001, for "Object
Representation of Television Programs within an Interactive
Television System," with inventor Thomas P. McKenna, Jr., which is
hereby incorporated by reference.
FIELD OF THE INVENTION
[0002] The present invention relates generally to the field of
interactive television systems. More specifically, the present
invention relates to a system and method for providing television
program information to an entertainment device.
DESCRIPTION OF RELATED BACKGROUND ART
[0003] Due to the ever-increasing number of channels offered by
cable television and satellite networks, an electronic program
guide (EPG) has become a common feature of many set top boxes
(STBs). Conventional EPGs display schedule information for
television programs in a grid-based format. One axis of the EPG
typically corresponds to channels or stations, while the other axis
corresponds to time slots. Rectangular elements formed within the
grid represent specific television programs.
[0004] While EPGs have numerous advantages over conventional
printed guides (such as TV Guide.RTM.), EPGs are still based on the
channel/time slot model, which is of diminishing importance today.
For example, where a viewer has access to over 500 channels, he or
she is not interested in the fact that the latest episode of
Friends.RTM. is being shown on Channel 498. Rather, the viewer
would simply like to know when the program is being broadcast and
allow the entertainment system to automatically switch to the
appropriate channel.
[0005] With the advent of digital video recorders (DVRs), even the
concept of broadcast time is becoming irrelevant. Ideally, a viewer
would simply like to instruct the entertainment system to record
the next episode of Friends.RTM., which the viewer can then watch
at a convenient time.
[0006] Forcing a viewer to search through a grid consisting, for
example, of over 500 rows (corresponding to channels) and possibly
thousands of columns (corresponding to time slots) is no longer
acceptable. Given the wide variety of entertainment options and the
limited amount of time available to individuals for entertainment,
any advancement increasing the convenience of an entertainment
system would be highly advantageous.
[0007] Accordingly, what is needed is a system and method that
overcomes the problems and disadvantages of the prior art. In
particular, the system and method should provide convenient access
to available programming within an entertainment system without
requiring the use of a conventional, grid-based EPG.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Non-exhaustive embodiments of the invention are described
with reference to the figures, in which:
[0009] FIG. 1 is a block diagram of a communication system;
[0010] FIG. 2 is an illustration of an interactive television
system;
[0011] FIG. 3 is a block diagram of hardware components of a set
top box (STB);
[0012] FIG. 4 illustrates a conventional electronic program guide
(EPG);
[0013] FIG. 5 is a block diagram of a plurality of program
interface objects (PIOs) within a memory of an STB;
[0014] FIG. 6 is an expanded block diagram of a PIO;
[0015] FIG. 7 is a block diagram of a system utilizing PIOs to
represent television programs;
[0016] FIG. 8 is a user interface for interacting with PIOs;
[0017] FIG. 9 is a block diagram of various functional modules for
processing actions associated with a PIO;
[0018] FIG. 10 is a block diagram illustrating use of a PIO to
record an associated television program;
[0019] FIG. 11 is a user interface illustrating visual indicators
of PIOs within a calendar;
[0020] FIG. 12 is a block diagram illustrating use of a PIO to
display a previously recorded television program;
[0021] FIG. 13 is a block diagram illustrating display of an
attribute of a PIO;
[0022] FIG. 14 is a block diagram of a system for filtering a set
of PIOs according to user-defined selection criteria;
[0023] FIG. 15 is a block diagram illustrating transmission of PIOs
between entertainment systems;
[0024] FIG. 16 is a block diagram illustrating user selection of a
visual indicator and transmission of the associated PIO to a
destination entertainment system via a network;
[0025] FIG. 17 is a block diagram illustrating direct transmission
of a PIO between Personal Digital Assistants (PDAs);
[0026] FIG. 18 is a block diagram illustrating selection of a PIO
based on a request from a destination entertainment system;
[0027] FIG. 19 is a block diagram illustrating transmission of a
PIO based on a television signal currently being broadcast to the
entertainment system;
[0028] FIG. 20 is a block diagram illustrating transmission of a
PIO to separate entertainment systems based on demographic
information;
[0029] FIG. 21 is a block diagram illustrating transmission of
multiple PIOs to an entertainment system based on user
preferences;
[0030] FIG. 22 is a user interface illustrating visual indicators
of PIOs organized within logical folders; and
[0031] FIG. 23 is a user interface illustrating a visual indicator
stored within a logical folder.
DETAILED DESCRIPTION OF THE INVENTION
[0032] The present invention solves the foregoing problems and
disadvantages by using program interface objects (PIOs) to
represent television programs within an entertainment system, such
as interactive television system.
[0033] In one embodiment, each PIO includes a plurality of actions
and attributes. Actions correspond to various operations that may
be performed on or in connection with the television program
represented by the PIO. For example, one action may schedule the
recording of the represented television program, while another
action may play back the represented television program if it was
previously recorded. Actions may be embodied as program code, in a
machine-independent format, such as Java or Javascript, that may be
executed, for example, by an STB for an interactive television
system.
[0034] Attributes contain information about the television program
represented by the PIO. For example, one attribute of a television
program may correspond to the program's name, while another
attribute may correspond to the program's broadcast time.
[0035] Certain attributes may contain meta-data relating to the
PIO, the television program, or both. For example, one attribute
may indicate the size of the corresponding PIO. Another attribute
may indicate the encoding format of the television program.
[0036] Attributes may be used to sort, filter, prioritize, or
otherwise organize a set of PIOs. Moreover, certain attributes may
be used in the context of certain actions. For example, an action
for recording a television program may need to access attributes
containing the channel, starting time, and running time of the
television program.
[0037] PIOs may be implemented using various technologies. For
instance, a PIO may be implemented as a JavaBean object.
Alternatively, a PIO may be embodied as a Distributed Component
Object Model (DCOM) object or an eXtensible Markup Language (XML)
object. The present invention is not limited to a particular object
format.
[0038] In one implementation, each PIO also includes a visual
indicator, such as an icon, which is displayed in a graphical user
interface (GUI) to facilitate user interaction with the PIO. The
GUI may display a plurality of visual indicators corresponding to a
set of PIOs. Using a remote control or other selection mechanism, a
user may select a PIO by its corresponding visual indicator.
Further, a user may select an action associated with the PIO, which
then may be executed by the STB.
[0039] In one embodiment, an STB or other system may be populated
with visual indicators of a set of PIOs selected from a larger set
of available PIOs. The set of available PIOs may be filtered based
on user-defined selection criteria. For example, a user may filter
the set of available PIOs for ones relating to sporting events.
[0040] In certain embodiments, PIOs may be transmitted between
interactive television systems, personal computers, mobile devices,
and the like. For example, a PIO may be attached to an e-mail
message and sent via the Internet to another system where it may be
used to perform various actions on, or provide information
concerning, a represented television program. Alternatively, a PIO
may be sent via infrared (IR) or radio frequency (RF) transmission
from one portable entertainment device, such as a Personal Digital
Assistant (PDA), to another.
[0041] Thus, PIOs are an alternative mechanism for providing access
to available television programming within an interactive
television system, without the necessity of a conventional EPG. A
user need not be concerned with such details as channel or
broadcast time, as was necessary in conventional systems. The user
need only select an icon for a PIO and select the desired
action.
[0042] 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.
[0043] Furthermore, the described features, structures, or
characteristics may be combined in any suitable manner in one or
more embodiments. In the following description, numerous specific
details are provided, such as examples of programming, user
selections, network transactions, database queries, database
structures, etc., to provide a thorough understanding of
embodiments of the invention. One skilled in the relevant art will
recognize, however, that the invention can be practiced without one
or more of the specific details, or with other methods, components,
materials, etc. In other instances, well-known structures,
materials, or operations are not shown or described in detail to
avoid obscuring aspects of the invention.
[0044] Referring now to FIG. 1, there is shown a communication
system 100. In one implementation, the system 100 relies on a
broadband network 101 for communication, such as a cable television
network or a direct satellite broadcast (DBS) network, although
other networks are possible.
[0045] The system 100 may include a plurality of set top boxes
(STBs) 102 located, for instance, at customer homes or offices.
Generally, an STB 102 is a consumer electronics device that serves
as a gateway between a customer's television 104 and the network
101. In alternative embodiments, an STB 102 may be embodied more
generally as a personal computer (PC), an advanced television 104
with STB functionality, or another type of client terminal.
[0046] An STB 102 receives encoded television signals and other
information from the network 101 and decodes the same for display
on the television 104 or other display device, such as a computer
monitor. As its name implies, an STB 102 is typically located on
top of, or in close proximity to, the television 104.
[0047] Each STB 102 may be distinguished from other network
components by a unique identifier, number, code, or address,
examples of which include an Internet Protocol (IP) address (e.g.,
an IPv6 address), a Media Access Control (MAC) address, or the
like. Thus, video signals and other information may be transmitted
from the network 101 to a specific STB 102 by specifying the
corresponding address, after which the network 101 routes the
transmission to its destination using conventional techniques.
[0048] A remote control 106 is provided, in one configuration, for
convenient remote operation of the STB 102 and the television 104.
The remote control 106 may use infrared (IR), radio frequency (RF),
or other wireless technologies to transmit control signals to the
STB 102 and the television 104. Other remote control devices are
also contemplated, such as wired or wireless mice (not shown).
[0049] Additionally, a keyboard 108 (either wireless or wired) is
provided, in one embodiment, to allow a user to rapidly enter text
information into the STB 102. Such text information may be used for
e-mail, instant messaging (e.g. text-based chat), or the like. In
various embodiments, the keyboard 108 may use infrared (IR), radio
frequency (RF), or other wireless technologies to transmit
keystroke data to the STB 102.
[0050] Each STB 102 may be coupled to the network 101 via a
broadcast center 110. In the context of a cable television network,
a broadcast center 110 may be embodied as a "head-end", which is
generally a centrally-located facility within a community where
television programming is received from a local cable TV satellite
downlink or other source and packaged together for transmission to
customer homes. In one configuration, a head-end also functions as
a Central Office (CO) in the telecommunication industry, routing
video signals and other data to and from the various STBs 102
serviced thereby.
[0051] A broadcast center 110 may also be embodied as a satellite
broadcast center within a direct broadcast satellite (DBS) system.
A DBS system may utilize a small 18-inch satellite dish, which is
an antenna for receiving a satellite broadcast signal. Each STB 102
may be integrated with a digital integrated receiver/decoder (IRD),
which separates each channel, and decompresses and translates the
digital signal from the satellite dish to be displayed by the
television 104.
[0052] Programming for a DBS system may be distributed, for
example, by multiple high-power satellites in geosynchronous orbit,
each with multiple transponders. Compression (e.g., MPEG) may be
used to increase the amount of programming that can be transmitted
in the available bandwidth.
[0053] The broadcast centers 110 may be used to gather programming
content, ensure its digital quality, and uplink the signal to the
satellites. Programming may be received by the broadcast centers
110 from content providers (CNN.RTM., ESPN.RTM., HBO.RTM.,
TBS.RTM., etc.) via satellite, fiber optic cable and/or special
digital tape. Satellite-delivered programming is typically
immediately digitized, encrypted and uplinked to the orbiting
satellites. The satellites retransmit the signal back down to every
earth-station, e.g., every compatible DBS system receiver dish at
customers' homes and businesses.
[0054] Some broadcast programs may be recorded on digital videotape
in the broadcast center 110 to be broadcast later. Before any
recorded programs are viewed by customers, technicians may use
post-production equipment to view and analyze each tape to ensure
audio and video quality. Tapes may then be loaded into a robotic
tape handling systems, and playback may be triggered by a
computerized signal sent from a broadcast automation system.
Back-up videotape playback equipment may ensure uninterrupted
transmission at all times.
[0055] Regardless of the nature of the network 101, the broadcast
centers 110 may be coupled directly to one another or through the
network 101. In alternative embodiments, broadcast centers 110 may
be connected via a separate network, one particular example of
which is the Internet 112. The Internet 112 is a "network of
networks" and is well known to those skilled in the art.
Communication over the Internet 112 is accomplished using standard
protocols, such as TCP/IP (Transmission Control Protocol/Internet
Protocol) and the like.
[0056] A broadcast center 110 may receive television programming
for distribution to the STBs 102 from one or more television
programming sources 114 coupled to the network 101. Preferably,
television programs are distributed in an encoded format, such as
MPEG (Moving Picture Experts Group). Various MPEG standards are
known, such as MPEG-2, MPEG-4, MPEG-7, and the like. Thus, the term
"MPEG," as used herein, contemplates all MPEG standards. Moreover,
other video encoding/compression standards exist other than MPEG,
such as JPEG, JPEG-LS, H.261, and H.263. Accordingly, the invention
should not be construed as being limited only to MPEG.
[0057] Broadcast centers 110 may be used to enable audio and video
communications between STBs 102. Transmission between broadcast
centers 110 may occur (i) via a direct peer-to-peer connection
between broadcast centers 110, (ii) upstream from a first broadcast
center 110 to the network 101 and then downstream to a second
broadcast center 110, or (iii) via the Internet 112. For instance,
a first STB 102 may send a video transmission upstream to a first
broadcast center 110, then to a second broadcast center 110, and
finally downstream to a second STB 102.
[0058] Of course, the communication system 100 illustrated in FIG.
1 is merely exemplary, and other types of devices and networks may
be used within the scope of the invention.
[0059] Referring now to FIG. 2, there is shown an interactive
television (ITV) system 200 according to an embodiment of the
invention. As depicted, the system 200 may include an STB 102, a
television 104 (or other display device), a remote control 106,
and, in certain configurations, a keyboard 108.
[0060] The remote control 106 is provided for convenient remote
operation of the STB 102 and the television 104. In one
configuration, the remote control 106 includes a wireless
transmitter 202 for transmitting control signals (and possibly
audio/video data) to a wireless receiver 203 within the STB 102
and/or the television 104. In certain embodiments, the remote
control 106 includes a wireless receiver 204 for receiving signals
from a wireless transmitter 205 within the STB 102. Operational
details regarding the wireless transmitters 202, 205 and wireless
receivers 203, 204 are generally well known to those of skill in
the art.
[0061] The remote control 106 preferably includes a number of
buttons or other similar controls. For instance, the remote control
106 may include a power button 206, an up arrow button 208, a down
arrow button 210, a left arrow button 212, a right arrow button
214, a "Select" button 216, an "OK" button 218, channel adjustment
buttons 220, volume adjustment buttons 222, alphanumeric buttons
224, a "Help" button 226, and the like.
[0062] In one embodiment, the remote control 106 includes a
microphone 242 for capturing audio signals. The captured audio
signals may be transmitted to the STB 102 via the wireless
transmitter 202. In addition, the remote control 106 may include a
speaker 244 for generating audible output from audio signals
received from the STB 102 via the wireless receiver 204. In
alternative embodiments, as shown in FIG. 3, the microphone 242
and/or speaker 244 may be integrated with the STB 102.
[0063] In certain embodiments, the remote control 106 further
includes a video camera 246, such as a CCD (charge-coupled device)
digital video camera, for capturing video signals. In one
implementation, the video camera 246 is in electrical communication
with the wireless transmitter 202 for sending the captured video
signals to the STB 102. Like the microphone 242 and speaker 244,
the video camera 246 may be integrated with the STB 102, or
attached to the STB 102, as in the depicted embodiment.
[0064] The various components of the remote control 106 may be
positioned in different locations for functionality and ergonomics.
For example, as shown in FIG. 2, the speaker 244 may be positioned
near the "top" of the remote control 106 (when viewed from the
perspective of FIG. 2) and the microphone 242 may be positioned at
the "bottom" of the remote control 106. Thus, in one embodiment, a
user may conveniently position the speaker 244 near the user's ear
and the microphone 242 near the user's mouth in order to operate
the remote control 106 in the manner of a telephone.
[0065] The optional keyboard 108 facilitates rapid composition of
text messages. The keyboard 108 includes a plurality of standard
alphanumeric keys 236. In one configuration, the keyboard 108
includes a wireless transmitter (not shown), similar or identical
to the wireless transmitter 202 of the remote control 106. The
wireless transmitter transmits keystroke data from the keyboard 108
to the STB 102. Additionally, the keyboard 108 may include one or
more of the buttons illustrated on the remote control 106.
[0066] Alternatively, or in addition, a hands-free headset 248 may
be coupled to the remote control 106 or the keyboard 108. The
headset 248 may be coupled using a standard headset jack 250. The
headset 248 may include a microphone 242 and/or speaker 244. Such a
headset 248 may be used to reduce audio interference from the
television 104 (improving audio quality) and to provide the
convenience of hands-free operation.
[0067] Referring now to FIG. 3, there is shown a block diagram of
physical components of an STB 102 according to an embodiment of the
invention. As noted above, the STB 102 includes a wireless receiver
203 for receiving control signals sent by the wireless transmitter
202 in the remote control 106 and a wireless transmitter 205 for
transmitting signals (such as audio/video signals) to the wireless
receiver 204 in the remote control 106.
[0068] The STB 102 also includes, in one implementation, a network
interface 302 for communicating with the network 101 via the
broadcast center 110. The interface 302 may include conventional
circuitry for receiving, demodulating, and demultiplexing MPEG
packets. The interface 302 may also include conventional modem
circuitry for sending or receiving data. For example, the interface
302 may conform to the DOCSIS (Data Over Cable Service Interface
Specification) or DAVIC (Digital Audio-Visual Council) cable modem
standards.
[0069] In one configuration, one or more frequency bands (for
example, from 5 to 30 MHz) may be reserved for upstream
transmission. Digital modulation (for example, quadrature amplitude
modulation or vestigial sideband modulation) may be used to send
digital signals in the upstream transmission. Of course, upstream
transmission may be accomplished differently for different networks
101. Alternative ways to accomplish upstream transmission include
using a back channel transmission, which is typically sent via an
analog telephone line, ISDN, DSL, or other techniques.
[0070] The STB 102 also preferably includes a codec
(encoder/decoder) 304, which serves to encode audio/video signals
into a network-compatible data stream for transmission over the
network 101. The codec 304 also serves to decode a
network-compatible data stream received from the network 101. The
codec 304 may be implemented in hardware and/or software. Moreover,
the codec 304 may use various algorithms, such as MPEG or Voice
over IP (VoIP), for encoding and decoding.
[0071] The STB 102 further includes a memory device 306, such as a
random access memory (RAM), for storing temporary data. Similarly,
a read-only memory (ROM) may be provided for storing more permanent
data, such as fixed code and configuration information.
[0072] In one embodiment, an audio/video (A/V) controller 308 is
provided for converting digital audio/video signals into analog
signals for playback/display on the television 104. The A/V
controller 308 may be implemented using one or more physical
devices, such as separate graphics and sound controllers. The A/V
controller 308 may include graphics hardware for performing
bit-block transfers (bit-blits) and other graphical operations for
displaying a graphical user interface (GUI) on the television
104.
[0073] In some implementations, the STB 102 may include a storage
device 310, such as a hard disk drive, optical storage device, RAM,
compact flash card, etc. The storage device 310 may be configured
to store encoded incoming and outgoing video signals as well as
television broadcasts and retrieve the same at a later time for
display. The storage device 310 may be configured, in one
embodiment, as a digital video recorder (DVR), enabling scheduled
recording of television programs, pausing (buffering) live video,
etc. The storage device 310 may also be used in various embodiments
to store viewer preferences, parental lock settings, electronic
program guide (EPG) data, passwords, e-mail messages, video
messages, video greetings, and the like. In one implementation, the
storage device 310 also stores an operating system (OS) for the STB
102, such as Windows CE.RTM. or Linux.RTM..
[0074] As noted above, the STB 102 may include, in certain
embodiments, a microphone 242 and a speaker 244 for capturing and
reproducing audio signals, respectively. The STB 102 may also
include or be coupled to a video camera 246 for capturing video
signals. These components may be included in lieu of or in addition
to similar components in the remote control 106, keyboard 108,
and/or television 104.
[0075] A CPU 312 controls the operation of the STB 102, including
the other components thereof, which are coupled to the CPU 312 in
one embodiment via a bus 314. The CPU 312 may be embodied as a
microprocessor, a microcontroller, a digital signal processor (DSP)
or other device known in the art. For instance, the CPU 312 may be
embodied as an Intel.RTM. x86 processor. As noted above, the CPU
312 may perform logical and arithmetic operations based on program
code stored within the memory 306 or the storage device 310.
[0076] Of course, FIG. 3 illustrates only one possible
configuration of an STB 102. Those skilled in the art will
recognize that various other architectures and components may be
provided within the scope of the invention. In addition, various
standard components are not illustrated in order to avoid obscuring
aspects of the invention.
[0077] FIG. 4 illustrates one implementation of a conventional
Electronic Programming Guide (EPG) 402. As noted above, a typical
EPG 402 includes a grid having two axes, one for time slots 404 and
the other for channels or stations 406. Rectangular elements 408
formed within the grid correspond to specific television
programs.
[0078] Generally, the navigation interface for a conventional EPG
402 is awkward and ill-suited to entertainment systems having more
than a few channels. For example, a satellite STB may receive more
than 500 channels, requiring the user to scroll through many pages
of information to locate a desired program. Clearly, a conventional
EPG 402 is based on the channel/time slot model, which is of
diminishing relevance today.
[0079] For example, where a viewer has access to over 500 channels,
he or she is not in interested in the fact that the latest episode
of Friends.RTM. is being shown on Channel 498. Rather, the viewer
would simply like to know when the program is being broadcast and
allow the entertainment system to automatically switch to the
appropriate channel.
[0080] With the advent of digital video recorders (DVRs), even the
concept of broadcast time is becoming irrelevant. Ideally, a viewer
would like instruct the entertainment system to record the next
episode of Friends.RTM., which the viewer can then watch at a
convenient time.
[0081] In conventional systems, the EPG 402 may be generated from a
text data file 410 or the like containing raw schedule information.
For example, each program element 408 in the EPG 402 may correspond
to one or more lines in the text data file 410. Unfortunately,
storing raw schedule information in this manner severely limits the
way in which the information may be used and communicated. For
example, each system that receives the text data file 410 must be
programmed to parse and display the information in a user-friendly
format. The file 410, itself, does not include code or resources
for using or displaying the information.
[0082] FIG. 5 illustrates an alternative to the conventional EPG
402 in accordance with principles of the present invention. In one
embodiment of the invention, program interface objects (PIOs) 502
are used to represent television programs within an entertainment
system, such as an interactive television system 200. In the
depicted embodiment, a plurality of PIOs 502 are stored within a
memory 306 of an STB 102. However, various other systems and
devices may be used to store PIOs 502, such as personal digital
assistants (PDAs), webpads, personal computers, and the like.
[0083] As noted above, a PIO 502 may include a plurality of actions
504 and attributes 506. In one embodiment, actions 504 correspond
to various operations that may be performed on or in connection
with the television program represented by the PIO 502. For
example, one action 504 may schedule the recording of the
represented television program, while another action may display
the represented television program if it was previously recorded or
is currently in progress. Of course each PIO 502 may include a
different set of actions 504 permitting the PIOs 502 to be sorted
and categorized based on the different defined actions 504.
[0084] Actions 504 may be embodied as program code, in a
machine-independent format, that may be executed, for example, by
an STB 102 for an interactive television system. Alternatively,
actions 504 may include resources that are used by program code
within a STB 102 or the like.
[0085] Attributes 506 contain information about the television
program represented by the PIO 502. For example, one attribute 506
may correspond to a television program's name, while another
attribute 506 may correspond to the program's broadcast time.
Certain attributes 506 may contain meta-data related to the PIO
502, the represented television program, or both. For example, one
attribute 506 may indicate the size of the PIO 502. Another
attribute 506 may indicate the video encoding format of the
represented television program.
[0086] As described more fully hereafter, attributes 506 may be
used to sort, filter, search, prioritize, or otherwise organize a
set of PIOs 502. Moreover, certain attributes 506 may be used in
the context of certain actions 504. For example, an action 504 for
recording a television program may need to access the attributes
506 containing the channel, starting time, and running time of the
television program.
[0087] Each of the attributes 506 in a PIO 502 may include a
triplet of information, e.g., the attribute name (Program Title,
Program Broadcast Time, Program Broadcast Channel), the attribute's
type (searchable text, time, executable code, GIF image, ATVEF
triggers and their time mark within the program, MIME, or the
like), and the attribute's value. In some cases, attributes 506 may
include text in multiple languages to allow the PIO 502 to be used
in different countries around the world.
[0088] PIOs 502 may be implemented using various technologies. For
instance, a PIO 502 may be implemented as a JavaBean object.
Alternatively, a PIO 502 may be embodied as a Distributed Component
Object Model (DCOM) object or an eXtensible Markup Language (XML)
object.
[0089] In one implementation, each PIO 502 also includes a visual
indicator 506, such as an icon, animated image, or video clip,
which is displayed in a graphical user interface (GUI) to
facilitate user interaction with the PIO 502. As illustrated in
subsequent figures, the GUI may display a plurality of visual
indicators 508 corresponding to a set of PIOs 502. Using a remote
control 106 or other selection mechanism, a user may select a PIO
502 by its corresponding visual indicator 508. Further, a user may
select an action associated with the PIO 502 to be executed by the
STB 102.
[0090] In one embodiment, PIOs 502 include program code in a
substantially machine-independent format. For example, JavaBean,
DCOM, or XML objects generally do not require proprietary hardware
so long as the hardware executes a Java Virtual Machine (JVM), a
DCOM server, an XML processor, or the like. The PIOs 502 may be
created using a variety of programming languages and protocols,
such as Java, C++, Smalltalk, and other programming languages that
support object-oriented programming.
[0091] Machine independence allows the PIOs 502 to be portable.
Information and functionality associated with a particular
television program are encapsulated within the PIOs 502. PIOs may
be transferred between STBs 102 or other devices, such as personal
computers and hand-held devices. PIOs 502 may also be stored in
computer-readable media, such as CDs, diskettes, memory cards,
memory sticks, or the like.
[0092] Of course, PIOs 502 may be configured in various ways, and
may be referred to using different terms, while still being
considered within the scope of the invention. For example,
"actions" may be termed "methods" or "functions", and "attributes"
may be referred to as "variables", "state", or "data".
[0093] FIG. 6 illustrates an expanded view of a PIO 502 including
examples of attributes 506, actions 504, and visual indicators 508.
For instance, a typical PIO 502 may include such attributes 506 as
title 506a, description 506b, broadcast channel 506c, rating 506d
(e.g., TV-G, TV-PG), start time 506e, end time 506f, running time
506g, release year 506h, classification 506i (e.g., drama, sit-com,
sports), actor(s) 506j, producer(s) 506k, related Internet links
506l, storage location 506m, country of origin 506n, language 506o,
etc. Of course, various other attributes 506 may be provided within
the scope of the invention.
[0094] In some cases, attributes 506 may be embodied as references
to external data in the form of hyperlinks or the like. For
example, where a start time 506e attribute contains a fixed start
time (e.g., 8:00 pm), an STB 102 may not be able to account for
scheduling changes by a television source 114. Thus, in certain
embodiments, the start time attribute 506e (and other such
attributes 506), may include a link to a server (not shown) that
contains the up-to-date start time for the television program.
Thus, scheduling changes reflected in the server will be
automatically recognized by all corresponding PIOs 502. This is
particularly advantageous in the context of a sports game that goes
into overtime. For example, the STB 102 can get updates from the
broadcaster, allowing the STB 102 to extend the duration of the
recording of the program.
[0095] In other embodiments, one or more attributes 506 of a PIO
502 may be dynamically updated based on (possibly real-time)
updates from a broadcaster using a transmission method that can be
specified in the PIO 502. The transmission methods can include, for
instance, HTTP, FTP, e-mail, or an ATVEF trigger.
[0096] One particularly advantageous attribute 506 is the is the
related Internet links attribute 506l. The related Internet links
attribute 506l may link a PIO 502 to an associated web site (e.g.,
a sponsored link), a chat room (e.g., real time chat about the
television program being watched), or an e-commerce site.
[0097] In certain embodiments, one attribute 506 may comprise a
link (not shown) to one or more other PIOs 502. This facilitates
PIO linking, which is advantageous, for example, in the context of
related PIOs 502, e.g., a mini-series.
[0098] A typical PIO 502 may also include various actions 504, such
as an action 504a for recording the associated television program.
As described more fully below, the recording action 504a may
operate in conjunction with the CODEC 304 and storage device 310 of
FIG. 3 to digitally record the television program when it is
broadcast by a television source 114 or streaming video source 116.
In addition, the recording action 504 may access the channel, start
time, end time, and/or running time attributes 506c, 506e-g in
order to facilitate the recording. The instantiation of a PIO 502
as stored in the STB memory 306 may contain additional, or updated
data and may not be exactly the same as the originally broadcast
PIO 502. The recording action 504a is an example of this dynamic
update of the stored copy of the PIO 502.
[0099] An action 504b may also be provided for displaying the
represented television program on a television 104. If, for
instance, the television program is currently being broadcast, the
display action 504b may be configured to tune the STB 102 to the
correct channel. If, however, the television program was previously
broadcast and recorded (e.g., by the record action 504a), the
display action 504b may retrieve and display the stored television
program. In one embodiment, the display action 504 accesses the
storage location 506m attribute to locate a stored television
program.
[0100] Various other actions 504 may include an action 504b for
reminding a user that a particular program is scheduled to be
broadcast and/or reminding the user that the program has been
recorded. Additionally, an action 504d may be provided for
displaying one or more attributes 506 of the PIO 502 on the
television 104 or other display device. Moreover, an action 504e
may be included to allow a user to rate and/or comment on the
represented television program. An action 504f may also be provided
to send a copy of the PIO 502 to another system or device.
[0101] In some cases, actions 504 may be propagated between linked
PIOs 502. For example, a user may selection the record action 502a
of a PIO 502 corresponding to a program in a mini-series. If the
PIOs 502 of the mini-series are linked (e.g., by an appropriate
attribute 506 or the like), then the same action 506a may be
executed by the linked PIOs 502 as well.
[0102] Of course, numerous other attributes 506 and actions 504 may
be provided within the scope of the invention. Moreover, the
object-oriented nature of a PIO 502 allows for additional actions
504 and attributes 506 to be dynamically added as necessary.
[0103] The PIO 502 may also include a visual indicator 508, such as
a graphical icon, to facilitate interaction with the PIO 502 in the
context of a GUI. A visual indicator 508 may alternatively, or in
addition, include a textual description of the television program,
such as the program's name.
[0104] A graphical visual indicator 508 is advantageous in that it
overcomes language and illiteracy barriers presented by
conventional EPGs 402. For example, a child user may be unable to
read a text description. However, a Big Bird.RTM. icon would be
clearly recognizable as representing Sesame Street.RTM..
[0105] In certain embodiments, a PIO 502 may include an audible
indicator 509. The audible indicator 509 may include, for example,
a description of the television program associated with the PIO 502
(similar to the description attribute 506b), an advertisement, user
instructions, theme music for the television program or the like.
The audible indicator 509 may be embodied as an audio clip or
sample, which is played back by the STB 102 when the PIO 502 is
selected or when the corresponding visual indicator 506 is
displayed. The inclusion of an audible indicator 509 is
advantageous for people who are visually disabled or those who have
difficulty reading.
[0106] Referring now to FIG. 7, there is shown a block diagram of
logical components of a system 700 that utilizes PIOs 502 to
represent television programs. The depicted logical components may
be implemented using one or more of the physical components shown
in FIG. 3. Additionally, or in the alternative, various logical
components may be implemented as software modules stored in the
memory 306 and/or storage device 310 and executed by the CPU
312.
[0107] In one configuration, a plurality of PIOs 502a-f may be
stored within a memory, such as a memory 306 of an STB 102. A
display component 702 displays each visual indicator 508 of a PIO
502 on a television 104 or other display device. The visual
indicators 508 may be displayed in connection with a GUI 704.
[0108] In certain embodiments, the displayed visual indicators
508a-f may be grouped in the GUI 704 within logical folders or the
like, allowing user to organize the visual indicators 508a-f in any
desired manner. For example, a user may group visual indicators
508a-f within such folders as "My sit-coms", "My TV dramas", "My
sports", etc., to facilitate easy access thereto.
[0109] As described more fully below, a selection component 706
allows a user to select one or more PIOs 502 by selecting
corresponding visual indicators 508. Thereafter, the selection
component 706 allows a user to choose one of the actions associated
with the selected PIO 502. The selection of an action 504 may be
accomplished via a context-sensitive menu or other suitable
mechanism, as illustrated below.
[0110] As an example, suppose a PIO 502a includes a number of
attributes 506, such as a title attribute 506a (e.g., "Dallas v.
Denver"), a channel attribute 506c ("4 KTVX"), a start time
attribute 506e (e.g., "Monday, 7:00 pm"), and an end time attribute
506f ("Monday, 10:00 pm"). Further, suppose that the PIO 502a
includes a record action 504a, a display action 504b, and an iconic
visual indicator 508a.
[0111] FIG. 8 illustrates an exemplary GUI 704 including visual
indicators 508a-f corresponding to the PIOs 502a-f of FIG. 7. In
the illustrated embodiment, a user selects visual indicator 508a
using, for example, the arrow buttons 208-214 of the remote control
106. A pointer, selection outline, or other mechanism may be used
to pick the desired indicator 508a.
[0112] In response to the selection, a context-sensitive menu 802
may be displayed listing the available actions 504a-b for the PIO
502a. Where a large number of actions 504 are available, the menu
802 may display only the most popular or common actions 504, while
providing a mechanism to display additional actions if desired.
[0113] In some cases, selecting an action 504 may result in the
display of various options 804 in the form of a sub-menu 806. The
options 804 may correspond to various parameters, features, or
settings used by the corresponding action 504. For example, the
record action 504a may include two options 804a-b , corresponding
to record "Weekly" and record "Next Time Broadcast." If the "Next
Time Broadcast" option 804b is selected, for instance, the record
action 504a may record the next episode of a television program, as
opposed to recurring weekly episodes (in the case of TV drama or
sit-com).
[0114] Of course, different selection mechanisms may be provided
other than the context-sensitive menu 802 and sub-menu 806. For
example, the selection component 706 may display a plurality of
user-selectable icons (not shown) corresponding to different
actions 504 and options 804.
[0115] Because each PIO 502 may be tailored to a particular
television program, the actions 504 available in the
context-sensitive menu 802 may vary from program to program.
Similarly, options 804 available in a sub-menu 806 for a particular
action 504 may vary from one program to the next.
[0116] Referring to FIG. 9, the STB 102 may further include an
action component 902 that executes a user-selected action 504. The
action component 902 may be implemented, in various embodiments, in
the context of a Java Virtual Machine (JVM), a DCOM server, XML
processor, or the like. Of course, other implementations are
possible.
[0117] To execute the selected action 504, the action component 902
may interact with various other logical components of the STB 102,
such as a recording component 904, a scheduling component 906, and
a playback component 908, as described below.
[0118] Briefly, the recording component 904 is configured to record
a television program using, for example, the storage device 310.
The scheduling component 906 schedules recording tasks to record
television programs to be broadcast in the future. In addition, the
scheduling component 906 interacts with the recording component 904
to record a desired television program at the correct time and date
in accordance with a scheduled recording task. The playback
component 908 is configured, in one embodiment, to display a
television program stored within the storage device 310 or the
like. Each of the above-described components may be implemented in
the context of a digital video recording (DVR) system, one example
of which is TiVo.RTM., available from TiVo, Inc.
[0119] Suppose, as shown in FIG. 8, that a user selects the record
action 504a with the "Next Time Broadcast" option 804b. In response
to such selection, and as illustrated in FIG. 10, the starting time
506e, ending time 506f, and channel 506c attributes may be provided
to the scheduling component 906. Thereafter, the scheduling
component 906 schedules a recording event to record the television
program. At the specified time and date, the scheduling component
906 instructs the recording component 904 to record the television
program on the specified channel.
[0120] The recorded television program may be stored within the
storage device 310 of the STB 102 or another suitable location.
After the program is recorded, the stored location of the
television program may be placed in the storage location attribute
506m of the PIO 502a to allow subsequent access thereto.
[0121] FIG. 11 illustrates use of PIOs 502 in the context of a
personal information manager (PIM) 1100, such as an adapted version
of Microsoft.RTM. Outlook.RTM.. In one embodiment, when a
television program represented by a PIO 502 is scheduled for
recording, the scheduling component 906 interacts with the PIM 1100
to display a visual indicator 508 of the PIO 502 in a calendar,
to-do list, or the like, provided by the PIM 1100.
[0122] Moreover, in one implementation, the scheduling component
906 inserts reminders 1102 into the PIM 1100 to notify users
concerning scheduled recordings. Similarly, reminders 1102 of
upcoming television programs may be noted on the calendar a day or
two prior to the broadcast date. In this manner, a user may quickly
see which television programs he or she plans to watch.
[0123] In certain embodiments, PIOs 502 may be dragged and dropped
onto the PIM 1100 using object linking and embedding (OLE), DCOM,
ActiveX, or the like. A result of dropping a PIO 502 on the PIM
1100 may be to schedule the program represented by the PIO 502 for
recording.
[0124] While FIG. 11 illustrates use of PIOs 502 in a PIM 1100, the
object-oriented nature of the PIOs 502 allows them to interface
with a variety of software applications. Moreover, PIOs may be used
with a variety of electronic devices, including personal computers,
cell phones, personal digital assistants (PDAs), pagers,
telephones, and the like. The portable nature of the PIOs 502 and
flexibility available provide for a variety of uses for the PIOs
502. For example, an action 504 may exist to call a user and
deliver a voice synthesized reminder 1102 one hour prior to a
broadcast of the associated television program. The possibilities
for actions 504 are endless.
[0125] As shown in FIG. 12, once a television program is recorded,
it may be retrieved and displayed in response to a user selection
of the display action 504b shown in FIG. 8. In one embodiment, the
location of the recorded television program is retrieved from the
stored location attribute 506m and provided to the playback
component 908. Thereafter, the playback component 908 retrieves the
recorded program and plays back the same on the television 104.
[0126] As shown in FIG. 13, an action 504d may be provided for
displaying one or more of the attributes of a PIO 502. The action
504d and the desired attribute(s) 506 may be selected using the
context-sensitive menu 802 and sub-menu 806 illustrated in FIG. 8,
although the invention is not limited in this respect.
[0127] Suppose, for example, that a user selects the display
attribute action 504d with the description attribute 506b. In one
embodiment, the description attribute 506b is retrieved from the
PIO 502 and provided to the display component 702 or the like for
display. In various embodiments, a selected attribute 506 may
include text, audio, video, or the like. Thus, the various modules
not shown but well known in the art may be required for displaying
or playing back the selected attribute 506.
[0128] FIG. 14 illustrates an embodiment of a system 1400 providing
a set of PIOs 502 to an interactive television system 200. PIOs 502
may be available from a variety of sources including, for example,
a broadcast center 110, a television source 114 (such as a
television network), a PIO server (not shown), and the like. The
PIOs 502 may be transmitted from these sources, across a network
101, the Internet 112, or other network connection, including a
satellite link, to an STB 102. In various embodiments, the network
101 may be embodied as a cable television network, a direct
satellite broadcast (DBS) network, an Internet, an intranet, and a
home radio frequency (RF) network, or the like.
[0129] In the depicted embodiment, a population component 914 is
provided for populating an STB 102 or the like with a user-selected
set of PIOs 502. The population component 914 may be implemented
within the STB 102 (as shown), within a broadcast center 110, or
the like.
[0130] In one embodiment, the population component 914 provides a
PIO selection component 1402 for reducing an initial set 1404 of
available PIOs 502 to a user-specified set 1405 that may be stored
within the STB 102. In certain embodiments, the initial set 1404
may include hundreds or thousands of PIOs 502 associated with
corresponding television programs. Thus, reducing the initial set
1404 to a more manageable set 1405 is generally desirable.
[0131] The PIO selection component 1402 may include or be
associated with selection criteria 1406. The selection criteria
1406 may comprise a set of user-defined rules for selecting the
initial set 1404. For example, a user may specify that the
population component 914 only retrieve PIOs 502 having a start time
506e of 7:00 pm or an end time 506f of 10:00 pm (e.g., primetime).
Alternatively, a user may specify that the population component 914
only retrieve PIOs 502 corresponding to sporting events. Of course,
those skilled in the art recognize that various other selection
criteria 1406 may be used, including logical operators (e.g., AND,
OR, NOT) and the like.
[0132] The PIO selection 1402 may also be used within an STB 102 to
divide the initial set 1404 based on different criteria, such as
the genres of the respective television programs, in order to
transmit PIOs 502 or information from PIOs 502 to auxiliary devices
such as pagers, PDAs, personal computers, or telephone handsets
that can receive information and display it for the user.
[0133] As illustrated in FIG. 14, suppose PIOs 502a-d belong to the
initial set 1404. The population component 914 applies the
selection criteria 1406 (e.g., primetime) to each PIO 502a-d. The
PIOs 502 that match the selection criteria 1406 (e.g., PIO 502a-b )
are retrieved from the source and stored in the STB 102. As
previously described, the display component 702 may then display
the corresponding visual indicators 508a-b on the television
104.
[0134] The PIO selection 1402 may also be used internally within a
STB 102 to organize the selected set 1405. For example, a user may
further divide the set 1405 based on different criteria 1406, such
as the genres of the respective television programs. This allows
the user to organize the PIOs 502 using logical folders or the
like.
[0135] In an alternative embodiment, the population component 914
may be included within a PIO server (not shown). As described in
greater detail below, the PIO server may selectively transmit PIOs
502 to various STBs 102 in response to a user request (including
selection criteria), or based on demographic and/or user preference
data.
[0136] FIGS. 15-24 are high-level block diagrams illustrating
various techniques for sharing program information between
entertainment devices using PIOs 502. While STBs 102 are used as
particular examples of entertainment devices, the invention is not
limited to STBs 102 or interactive television systems 200
generally. As used herein, an entertainment device may include any
electronic device that is capable of receiving, storing,
transmitting, or using PIOs 502.
[0137] As shown in FIG. 15, PIOs 502 may be transmitted between
entertainment devices. For example, a first STB 102a may store a
plurality of PIOs 502a-f. As described in greater detail below, a
user may select a PIO 502a for transmission to a second STB 102b.
In one embodiment, the PIO 502a is transmitted through one or more
broadcast centers 110 and the network 101 to the second STB 102b,
although other types of transmission are possible.
[0138] The process of selecting a PIO 502a for transmission is
further detailed in FIG. 16. As depicted, a user of the first STB
102a may select a visual indicator 508a corresponding to the PIO
502a, which may be displayed in a graphical user interface (GUI)
1602.
[0139] Selection of the visual indicator 508a may result in a
context-sensitive menu 802 being displayed, listing various actions
504 that may be performed with respect to the PIO 502. For
instance, as shown in FIG. 16, listed actions may include a send
action 504f and a record action 504a. Thereafter, the user may
select, for example, the send action 504f from a context-sensitive
menu 802.
[0140] In one embodiment, selecting the send action 504f results in
a sub-menu 806 being displayed, which lists various transmission
options such as a "Network" option 804c and a "Wireless" option
804d. Choosing the "Network" option 804c on the sub-menu 806 may
result in the PIO 502a being transmitted to the second STB 102b via
the network 101 using standard network protocols, such TCP/IP,
UDP/IP, etc. In certain embodiments, the selected PIO 502a may be
attached to an email message and sent to a user of the second STB
102b over the network 101 using the Simple Mail Transfer Protocol
(SMTP) or other e-mail protocols.
[0141] Once a PIO 502 is selected for transmission, a user may
designate a destination device for receiving the selected PIO 502.
In one configuration, a user may indicate, for example, a name of
the recipient, a personal network address of the recipient, a
network address of the recipient's device, etc.
[0142] For example, in the depicted embodiment, a window 1604 may
include a drop-down selection list 1606 for selecting a name of a
recipient. Of course, the name may be associated with a network
address that is not displayed. In response to the selection, the
STB 102a may send a copy of the PIO 502a to "Robert Johnson" at the
associated network address. If the PIO 502a is being sent as an
attachment to an email message, the STB 102a may create the email
message (not shown), attach the PIO 502a to the message (using MIME
or other similar techniques), and address the email message to
"Robert Johnson."
[0143] As shown in FIG. 17, other types of entertainment devices,
such as personal digital assistants (PDAs) 1702 are illustrated. Of
course, those skilled in the art will recognize that PIOs 502 may
also be transmitted between an STB 102 and a PDA 1702, and between
other devices, such as personal computers, cellular phones, pagers,
webpads, and the like.
[0144] In such embodiments, different transmission methods may be
appropriate. For example, a user may select a "Wireless" option
804d from the sub-menu 806. Thereafter, the selected PIO 502a may
be transmitted from a first PDA 1702a to a second PDA 1702b using a
wireless transmission method. Various transmission mediums may be
used, such as infrared (IR) or radio frequency (RF). Of course,
multiple PDAs 1702 within range of the transmitting PDA 1702a may
simultaneously receive a copy of the PIO 502a.
[0145] In another embodiment, as shown in FIG. 18, a source STB
102a (or other entertainment device, broadcast center 110, PIO
server, or the like) transmits selected PIOs 502 to a destination
STB 102b based on a request 1802 from the destination STB 102b. In
certain configurations, the request 1802 includes selection
criteria 1804 relating to one or more attributes 506. For instance,
the selection criteria 1804 may select only those PIOs 502 having a
"Sports" classification attribute 506i. Of course, the criteria
1804 may relate to a plurality of actions 504 and attributes 506,
and may include logical operators.
[0146] As depicted, the source STB 102a then searches the PIOs
502a-f for ones satisfying the criteria 1804. The PIOs 502
satisfying the criteria 1804, such as PIO 502a, are transmitted to
the destination STB 102b via the network 101 as discussed with
reference to FIG. 15.
[0147] In another embodiment, as illustrated in FIG. 19, a
broadcast center 110 broadcasts a television signal 1902 from a
television source 114 to one or more STBs 102b. In addition, the
broadcast center 110 may store a number of PIOs related to various
television programs.
[0148] In one embodiment, the broadcast center 110 transmits PIOs
502 to the STBs 102b based on the particular television signal 1902
being currently broadcast. For example, during a commercial for a
televised football game, the broadcast center 110 may transmit a
PIO 502a representing the game. The PIO 502a may include a record
action 504a, which records the game when selected.
[0149] A broadcast center 110 may be referred to herein as a
"server". As used herein, the term server is intended to encompass
more than traditional computer servers, but may also include
equipment for broadcasting TV signals, VoD programs, or the like,
to a plurality of STBs 102. Accordingly, the broadcast center 110
may include traditional broadcast equipment, a computer server,
video editing equipment, and the like.
[0150] The user may be notified of the PIO 502a by a conventional
trigger 1904 received with the television signal 1902, such as an
ATVEF trigger. In particular, a user may be notified by the trigger
1904 that he or she can schedule football game for recording by
selecting the record action 504a.
[0151] Of course, PIOs 502 may be sent to the STB 102 for a wide
variety of purposes beyond simply recording a program. For example,
PIOs 502 may be transmitted to allow a user to purchase an
advertised product, obtain supplemental information about a
television broadcast, etc.
[0152] In other embodiments, as shown in FIG. 20, the broadcast
center 110 may broadcast specific PIOs 502 to STBs 102c-d based on
demographic data 2002. The demographic data 2002 may indicate
particular characteristics of users of STBs 102c-d receiving
television broadcasts from the broadcast center 110. Various types
of demographic data may be stored, e.g., age, gender, household
income, race, ethnicity, religious affiliation, and occupation.
[0153] For example, demographic data 2002 for "user 1" may indicate
that he or she is 25 years old or older. The broadcast center 110
may determine that viewers older than age 25 years are most likely
interested in sports programs. Consequently, the broadcast center
110 transmits the PIO 502a related to a sports program to "user 1."
Similarly, the broadcast center 110 may determine that viewers of
an age between 14 and 25 years are most likely interested in
reality television programs. Therefore, PIO 502e may be transmitted
to "user 2" based on demographic data 2002 indicating that "user
2"'s age is between 14 and 25 years old.
[0154] As illustrated in FIG. 21, the broadcast center 110 may
transmit PIOs 502 to an STB 102b based on user preferences 2102.
The preferences 2102 may be specified using conventional techniques
(e.g., web, e-mail), and may be stored in a storage device 310
accessible to the broadcast center 110. For example, a user may log
into the broadcast center 110 to define or modify preferences
2102.
[0155] In one embodiment, the user preferences 2102 indicate the
kinds of PIOs 502 that the user would like to receive.
Alternatively, or in addition, the preferences 2102 may specify the
kinds of PIOs 502 the user would not like to receive. In one
example, the user may express preferences 2102 for PIOs 502 having
a classification attribute 506i of either "`Sports` OR `Reality
TV`." Accordingly, as depicted in FIG. 21, the broadcast center 110
transmits PIO 502a and PIO 502e to the STB 102b which satisfy the
preferences 2102. The broadcast center 110 may transmit the PIOs
502 satisfying the preferences 2102 periodically as new PIOs 502
are received by the broadcast center 110.
[0156] In another embodiment, a user of the destination
entertainment device, e.g. STB 102b, may automatically or manually
screen PIOs 502 received by the device. For example, the user may
not wish to receive PIOs 502 related to adult programs.
Accordingly, the user may define a filter to automatically reject
such PIOs 502. Alternatively, or in addition, the user may manually
accept or reject each PIO 502.
[0157] In alternative embodiments, a PIO 502 may be communicated
through the use of portable computer-readable media, such as
CD-ROMs, diskettes, memory cards, memory sticks, and the like. For
example, a PIO 502 may be copied or moved onto a computer-readable
medium by a source device. Thereafter, the computer-readable medium
is provided to a destination device, where it is read into memory
306 and/or a storage device 310.
[0158] As shown in FIG. 22, a destination device may include a
graphical user interface (GUI) 2200 for organizing PIOs 502. The
GUI 2200 may display a plurality of folders 2202a-e, which
correspond to logical folders (e.g., directories) or other similar
mechanisms within the storage device 310. The displayed folders
2202a-e may be organized into a folder hierarchy 2204, which
mirrors a corresponding hierarchy of logical folders within the
storage device 310.
[0159] Each of the displayed folders 2202a-e may be given
descriptive names, such as "Sports", "Drama", "Action", etc. Of
course, each displayed folder 2202a-e may include one or more
sub-folders (not shown).
[0160] In certain embodiments, each user may have a separate folder
hierarchy 2204. For example, a root node 2206 corresponding to a
particular user, e.g., "Susan", may form the root of a particular
hierarchy 2204. In other embodiments, a user's folder hierarchy
2204 may form a branch of a larger folder hierarchy 2204 for the
device.
[0161] In one implementation, visual indicators 508 corresponding
to newly received PIOs 502 are displayed in a "Received PIOs" panel
2208. A user may select a particular visual indicator 508a and move
the visual indicator 508a to one of the displayed folders 2202a.
This may be accomplished, for example, using a drag-and-drop
operation or other similar technique. In one configuration, the
corresponding PIO 502 is moved to the correct logical folder.
Later, as shown in FIG. 23, user may select the folder 2202a to
display the visual indicator(s) 508 associated with the folder
2202a.
[0162] In certain embodiments, received PIOs 502 may be
automatically associated with a folder 2202 based on one or more
attributes 506. For example, folders 2202a-e may be defined based
on the classification attribute 506i. Therefore, a PIO 502a having
a classification attribute 506i of "sports" may be automatically
stored within folder 2202a.
[0163] Moreover, in certain implementations, when a PIO 502 is
received, one or more actions 504 of the PIO 502 may be
automatically executed by the destination system. For example, a
record action 504a or a display action 504b of a PIO 502 may be
configured to automatically execute when the PIO 502 is received by
a STB 102b. Such actions 504a-b may be pre-selected by a producer
or other user of a source system.
[0164] Based on the foregoing, the present invention offers a
number of advantages not available in conventional approaches. The
present invention allows users to quickly and efficiently access
television programming within an entertainment system without the
need for a conventional, grid-based EPG 402. PIOs 502 may be
organized according to user-specified criteria and transmitted
between various types of entertainment systems and devices.
[0165] While specific embodiments and applications of the present
invention have been illustrated and described, it is to be
understood that the invention is not limited to the precise
configuration and components disclosed herein. Various
modifications, changes, and variations apparent to those skilled in
the art may be made in the arrangement, operation, and details of
the methods and systems of the present invention disclosed herein
without departing from the spirit and scope of the invention.
* * * * *