U.S. patent application number 12/850832 was filed with the patent office on 2011-03-17 for system and method in a distributed system for providing user-selection of objects in a television program.
Invention is credited to Jeyhan Karaoguz, Nambirajan Seshadri.
Application Number | 20110067047 12/850832 |
Document ID | / |
Family ID | 43730008 |
Filed Date | 2011-03-17 |
United States Patent
Application |
20110067047 |
Kind Code |
A1 |
Karaoguz; Jeyhan ; et
al. |
March 17, 2011 |
SYSTEM AND METHOD IN A DISTRIBUTED SYSTEM FOR PROVIDING
USER-SELECTION OF OBJECTS IN A TELEVISION PROGRAM
Abstract
A system and method in a distributed system (e.g., a distributed
television system) for providing user-selection of objects in a
television program, substantially as shown in and/or described in
connection with at least one of the figures, as set forth more
completely in the claims.
Inventors: |
Karaoguz; Jeyhan; (Irvine,
CA) ; Seshadri; Nambirajan; (Irvine, CA) |
Family ID: |
43730008 |
Appl. No.: |
12/850832 |
Filed: |
August 5, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61242234 |
Sep 14, 2009 |
|
|
|
Current U.S.
Class: |
725/14 ; 348/564;
348/E5.099 |
Current CPC
Class: |
H04N 21/4826 20130101;
H04N 21/8133 20130101; H04N 21/8545 20130101; H04N 21/4725
20130101; H04N 21/44008 20130101; H04N 21/2668 20130101; H04N
21/234318 20130101; H04N 21/42209 20130101; H04N 21/4622 20130101;
G06F 3/0428 20130101; H04N 21/4325 20130101; H04N 21/4728 20130101;
H04N 21/8173 20130101; H04N 21/41265 20200801; G06F 3/0304
20130101; H04N 21/438 20130101; H04N 21/4828 20130101; H04N 21/858
20130101; H04N 21/25841 20130101; G06F 3/0325 20130101; H04N
21/47805 20130101; H04N 21/4782 20130101; H04N 21/4524 20130101;
H04N 21/845 20130101; G06F 3/0386 20130101; H04N 5/76 20130101;
H04N 21/42204 20130101; H04N 21/482 20130101; H04N 5/445 20130101;
H04N 9/8205 20130101; G06F 3/0346 20130101; H04N 21/436 20130101;
H04N 21/472 20130101; G06F 3/0308 20130101; G06F 3/0412 20130101;
H04N 21/42206 20130101; H04N 21/23892 20130101; H04N 21/42222
20130101; H04N 21/4722 20130101; H04N 21/4334 20130101; H04N 21/812
20130101; H04N 21/2408 20130101; H04N 21/47815 20130101; H04N
21/8126 20130101 |
Class at
Publication: |
725/14 ; 348/564;
348/E05.099 |
International
Class: |
H04H 60/32 20080101
H04H060/32; H04N 5/445 20060101 H04N005/445 |
Claims
1. A method for identifying a user-selected object in television
programming, the method comprising: in one or more modules remote
from a user's local television system: determining an on-screen
pointing location pointed to by a user of the user's local
television system while the user's local television system is
presenting television programming on a screen of the local
television system, the television programming comprising
user-selectable objects; and identifying a user-selectable object
in the presented television programming at which the user is
pointing based, at least in part, on the determined on-screen
pointing location.
2. The method of claim 1, wherein said identifying comprises:
determining respective regions of the local television system
screen associated with respective user-selectable objects; and
identifying a user-selectable object in the presented television
programming at which the user is pointing based, at least in part,
on the determined on-screen pointing location and the determined
respective regions.
3. The method of claim 1, wherein said identifying comprises:
determining respective regions of a frame of the presented
television programming associated with respective user-selectable
objects; and identifying a user-selectable object in the presented
television programming at which the user is pointing based, at
least in part, on the determined on-screen pointing location and
the determined respective regions.
4. The method of claim 1, comprising, in the one or more modules
remote from the user's local television system, receiving
information identifying selectable objects in the presented
television programming.
5. The method of claim 4, wherein receiving information identifying
selectable objects in the presented television programming
comprises receiving said information embedded in a same data stream
as a stream communicating the presented television programming.
6. The method of claim 4, wherein receiving information identifying
selectable objects in the presented television programming
comprises receiving said information in a data stream communicated
in parallel with a stream communicating the presented television
programming.
7. The method of claim 4, wherein the information identifying
selectable objects in the presented television programming is
communicated with the presented television programming without
being requested by the user's local television system.
8. The method of claim 4, wherein the information identifying
selectable objects in the presented television programming
comprises timing information associated with the selectable
objects.
9. The method of claim 4, wherein the information identifying
selectable objects in the presented television programming
comprises information defining respective regions of the presented
television programming associated with respective selectable
objects in the presented television programming.
10. The method of claim 9, wherein the information defining
respective regions of the presented television programming
associated with the respective selectable objects comprises
information describing movement of the respective regions as a
function of time.
11. The method of claim 1, wherein said determining comprises
low-pass filtering the determined on-screen pointing location.
12. The method of claim 1, wherein said identifying comprises
identifying a closest user-selectable object to the determined
on-screen pointing location.
13. The method of claim 1, wherein the presented television
programming comprises real-time broadcast television
programming.
14. The method of claim 4, wherein: the presented television
programming is user-stored; and the information identifying
selectable objects is user-stored.
15. The method of claim 1, comprising generating a signal
comprising characteristics adapted to cause the user's local
television system to generate a user output indicating the
identified user-selectable object.
16. The method of claim 15, wherein said generated signal comprises
characteristics adapted to cause the user's local television system
to overlay a graphical feature coinciding with the identified
user-selectable object on the presented television programming.
17. The method of claim 1, comprising communicating information
indicating the identified user-selectable object to a television
remote control device of the user's local television system.
18. A television system comprising one or more modules remote from
a user's local television system, where said one or more modules
are operable to, at least: determine an on-screen pointing location
pointed to by a user of the user's local television system while
the user's local television system is presenting television
programming on a screen of the local television system, the
television programming comprising user-selectable objects; and
identify a user-selectable object in the presented television
programming at which the user is pointing based, at least in part,
on the determined on-screen pointing location.
19. The television system of claim 18, wherein the one or more
modules are operable to identify the user-selectable object by, at
least in part, operating to: determine respective regions of the
local television system screen associated with respective
user-selectable objects; and identify a user-selectable object in
the presented television programming at which the user is pointing
based, at least in part, on the determined on-screen pointing
location and the determined respective regions.
20. The television system of claim 18, wherein the one or more
modules are operable to identify the user-selectable object by, at
least in part, operating to: determine respective regions of a
frame of the presented television programming associated with
respective user-selectable objects; and identify a user-selectable
object in the presented television programming at which the user is
pointing based, at least in part, on the determined on-screen
pointing location and the determined respective regions.
21. The television system of claim 18, wherein the one or more
modules are operable to receive information identifying selectable
objects in the presented television programming.
22. The television system of claim 21, wherein the one or more
modules are operable to receive information identifying selectable
objects in the presented television programming by, at least in
part, operating to receive said information embedded in a same data
stream as a stream communicating the presented television
programming.
23. The television system of claim 21, wherein the one or more
modules are operable to receive information identifying selectable
objects in the presented television programming by, at least in
part, operating to receive said information in a data stream
communicated in parallel with a stream communicating the presented
television programming.
24. The television system of claim 21, wherein the information
identifying selectable objects in the presented television
programming is communicated with the presented television
programming without being requested by the user's local television
system.
25. The television system of claim 21, wherein the information
identifying selectable objects in the presented television
programming comprises timing information associated with the
selectable objects.
26. The television system of claim 21, wherein the information
identifying selectable objects in the presented television
programming comprises information defining respective regions of
the presented television programming associated with respective
selectable objects in the presented television programming.
27. The television system of claim 26, wherein the information
defining respective regions of the presented television programming
associated with the respective selectable objects comprises
information describing movement of the respective regions as a
function of time.
28. The television system of claim 18, wherein the one or more
modules are operable to determine an on-screen pointing location
by, at least in part, operating to low-pass filter the determined
on-screen pointing location.
29. The television system of claim 18, wherein the one or more
modules are operable to identify a user-selectable object by, at
least in part, operating to identify a closest user-selectable
object to the determined on-screen pointing location.
30. The television system of claim 18, wherein the presented
television programming comprises real-time broadcast television
programming.
31. The television system of claim 21, wherein: the presented
television programming is user-stored; and the information
identifying selectable objects is user-stored.
32. The television system of claim 18, wherein the one or more
modules are operable to generate a signal comprising
characteristics adapted to cause the user's local television system
to generate a user output indicating the identified user-selectable
object.
33. The television system of claim 32, wherein said generated
signal comprises characteristics adapted to cause the user's local
television system to overlay a graphical feature coinciding with
the identified user-selectable object on the presented television
programming.
34. The television system of claim 18, wherein the one or more
modules are operable to communicate information indicating the
identified user-selectable object to a television remote control
device of the user's local television system.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY
REFERENCE
[0001] This patent application is related to and claims priority
from provisional patent application Ser. No. 61/242,234 filed Sep.
14, 2009, and titled "TELEVISION SYSTEM," the contents of which are
hereby incorporated herein by reference in their entirety. This
patent application is also related to U.S. patent application Ser.
No. 12/774,380, filed May 5, 2010, titled "SYSTEM AND METHOD IN A
TELEVISION FOR PROVIDING USER-SELECTION OF OBJECTS IN A TELEVISION
PROGRAM", Attorney Docket No. 21037US02; U.S. patent application
Ser. No. ______, filed concurrently herewith, titled "SYSTEM AND
METHOD IN A TELEVISION RECEIVER FOR PROVIDING USER-SELECTION OF
OBJECTS IN A TELEVISION PROGRAM", Attorney Docket No. 21039US02;
U.S. patent application Ser. No. ______, filed concurrently
herewith, titled "SYSTEM AND METHOD IN A TELEVISION CONTROLLER FOR
PROVIDING USER-SELECTION OF OBJECTS IN A TELEVISION PROGRAM",
Attorney Docket No. 21040US02; U.S. patent application Ser. No.
______, filed concurrently herewith, titled "SYSTEM AND METHOD IN A
TELEVISION CONTROLLER FOR PROVIDING USER-SELECTION OF OBJECTS IN A
TELEVISION PROGRAM", Attorney Docket No. 21041US02; U.S. patent
application Ser. No. ______, filed concurrently herewith, titled
"SYSTEM AND METHOD IN A TELEVISION SYSTEM FOR PROVIDING FOR
USER-SELECTION OF AN OBJECT IN A TELEVISION PROGRAM", Attorney
Docket No. 21051US02; U.S. patent application Ser. No. ______,
filed concurrently herewith, titled "SYSTEM AND METHOD IN A
PARALLEL TELEVISION SYSTEM FOR PROVIDING USER-SELECTION OF OBJECTS
IN A TELEVISION PROGRAM", Attorney Docket No. 21052US02. The
contents of each of the above-mentioned applications are hereby
incorporated herein by reference in their entirety.
FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[0002] [Not Applicable]
SEQUENCE LISTING
[0003] [Not Applicable]
MICROFICHE/COPYRIGHT REFERENCE
[0004] [Not Applicable]
BACKGROUND OF THE INVENTION
[0005] Present distributed systems (e.g., distributed television
systems) are incapable of providing for and/or conveniently
providing for user-selection of objects in a television program.
Further limitations and disadvantages of conventional and
traditional approaches will become apparent to one of skill in the
art, through comparison of such systems with the present invention
as set forth in the remainder of the present application with
reference to the drawings.
BRIEF SUMMARY OF THE INVENTION
[0006] Various aspects of the present invention provide a system
and method in a distributed system (e.g., a distributed television
system) for providing for user selection of objects in a television
program, substantially as shown in and/or described in connection
with at least one of the figures, as set forth more completely in
the claims. These and other advantages, aspects and novel features
of the present invention, as well as details of illustrative
aspects thereof, will be more fully understood from the following
description and drawings.
BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
[0007] FIG. 1 is a diagram illustrating an exemplary distributed
television system, in accordance with various aspects of the
present invention.
[0008] FIG. 2 is a flow diagram illustrating an exemplary method
for providing user-selection of objects in television programming,
in accordance with various aspects of the present invention.
[0009] FIG. 3 is a flow diagram illustrating an exemplary method
for providing user-selection of objects in television programming,
in accordance with various aspects of the present invention.
[0010] FIG. 4 is a diagram illustrating an exemplary remote
television system component, in accordance with various aspects of
the present invention.
[0011] FIG. 5 is a diagram illustrating exemplary modules and/or
sub-modules for a remote television system component, in accordance
with various aspects of the present invention.
DETAILED DESCRIPTION OF VARIOUS ASPECTS OF THE INVENTION
[0012] The following discussion will refer to various communication
modules, components or circuits. Such modules, components or
circuits may generally comprise hardware and/or a combination of
hardware and software (e.g., including firmware). Such modules may
also, for example, comprise a computer readable medium (e.g., a
non-transitory medium) comprising instructions (e.g., software
instructions) that, when executed by a processor, cause the
processor to perform various functional aspects of the present
invention. Accordingly, the scope of various aspects of the present
invention should not be limited by characteristics of particular
hardware and/or software implementations of a module, component or
circuit unless explicitly claimed as such. For example and without
limitation, various aspects of the present invention may be
implemented by one or more processors (e.g., a microprocessor,
digital signal processor, baseband processor, microcontroller,
etc.) executing software instructions (e.g., stored in volatile
and/or non-volatile memory). Also for example, various aspects of
the present invention may be implemented by an application-specific
integrated circuit ("ASIC") and/or other hardware components.
[0013] Additionally, the following discussion will refer to various
television system modules (e.g., television modules). It should be
noted that the following discussion of such various modules is
segmented into such modules for the sake of illustrative clarity.
However, in actual implementation, the boundaries between various
modules may be blurred. For example, any or all of the functional
modules discussed herein may share various hardware and/or software
components. For example, any or all of the functional modules
discussed herein may be implemented wholly or in-part by a shared
processor executing software instructions. Additionally, various
software sub-modules that may be executed by one or more processors
may be shared between various software modules. Accordingly, the
scope of various aspects of the present invention should not be
limited by arbitrary boundaries between various hardware and/or
software components, unless explicitly claimed.
[0014] The following discussion may also refer to communication
networks and various aspects thereof. For the following discussion,
a communication network is generally the communication
infrastructure through which a communication device (e.g., a
portable communication device, television, television control
device, television provider, television programming provider,
television receiver, video recording device, etc.) may communicate
with other systems. For example and without limitation, a
communication network may comprise a cable and/or satellite
television communication network, a cellular communication network,
a wireless metropolitan area network (WMAN), a wireless local area
network (WLAN), a wireless personal area network (WPAN), any home
or premises communication network, etc. A particular communication
network may, for example, generally have a corresponding
communication protocol according to which a communication device
may communicate with the communication network. Unless so claimed,
the scope of various aspects of the present invention should not be
limited by characteristics of a particular type of communication
network.
[0015] The following discussion will at times refer to an on-screen
pointing location. Such a pointing location refers to a location on
the television screen (e.g., a screen of a user's local television
system) to which a user (either directly or with a pointing device)
is pointing. Such a pointing location is to be distinguished from
other types of on-screen location identification, such as, for
example, using arrow keys and/or a mouse to move a cursor or to
traverse blocks (e.g., on an on-screen program guide) without
pointing. Various aspects of the present invention, while referring
to on-screen pointing location, are also readily extensible to such
other forms of on-screen location identification.
[0016] Additionally, the following discussion will at times refer
to television programming. Such television programming generally
includes various types of television programming (e.g., television
programs, news programs, sports programs, music television, movies,
television series programs and/or associated advertisements,
educational programs, live or recorded television programming,
broadcast/multicast/unicast television programming, etc.). Such
television programming may, for example, comprise real-time
television broadcast programming (or multicast or unicast
television programming) and/or user-stored television programming
that is stored in a user device (e.g., a VCR, PVR, etc.). Such
television programming video content is to be distinguished from
other non-programming video content that may be displayed on a
television screen (e.g., an electronic program guide, user
interface menu, a television set-up menu, a typical web page, a
document, a graphical video game, etc.). Various aspects of the
present invention may, for example in a television, comprise
receiving television programming, presenting such received
television programming to a user, determining an on-screen pointing
location pointed to by the user and identifying a user-selected
object in the presented television programming.
[0017] Also, the following discussion will at times refer to
user-selectable objects in television programming. Such
user-selectable objects may include both animate (i.e., living) and
inanimate (i.e., non-living) objects, both still and moving. Such
objects may, for example, comprise characteristics of any of a
variety of objects present in television programming. Such objects
may, for example and without limitation, comprise inanimate
objects, such as consumer good objects (e.g., clothing,
automobiles, shoes, jewelry, furniture, food, beverages,
appliances, electronics, toys, artwork, cosmetics, recreational
vehicles, sports equipment, safety equipment, computer equipment,
communication devices, books, etc.), premises objects (e.g.,
residences, business locations, stores, hotels, signs, doors,
buildings, landmarks, historical sites, entertainment venues,
hospitals, government buildings, etc.), objects related to services
(e.g., objects related to transportation, objects related to
emergency services, objects related to general government services,
objects related to entertainment services, objects related to food
and/or drink services, etc.), objects related to location (e.g.,
parks, landmarks, streets, signs, road signs, etc.), etc. Such
objects may, for example, comprise animate objects, such as people
(e.g., actors/actresses, athletes, musicians, salespeople,
commentators, reporters, analysts, hosts/hostesses, entertainers,
etc.), animals (e.g., pets, zoo animals, wild animals, etc.) and
plants (e.g., flowers, trees, shrubs, fruits, vegetables, cacti,
etc.).
[0018] Turning first to FIG. 1, such figure is a diagram
illustrating a non-limiting exemplary television system 100 in
accordance with various aspects of the present invention. The
exemplary system 100 includes a television provider 110. The
television provider 110 may, for example, comprise a television
network company, a cable company, a movie-providing company, a news
company, an educational institution, etc. The television provider
110 may, for example, be an original source of television
programming (or related information). Also for example, the
television provider 110 may be a communication company that
provides programming distribution services (e.g., a cable
television company, a satellite television company, a
telecommunication company, a data network provider, etc.). The
television provider 110 may, for example, provide television
programming and non-programming information and/or video content.
The television provider 110 may, for example, provide information
related to a television program (e.g., information describing or
otherwise related to selectable objects in programming, etc.). As
will be discussed in more detail later, the television provider 110
may be remote from a user's local television system (e.g., located
at a premises different from the user's local television system).
Such a television provider 110 may, for example, operate to perform
any or all of the functional aspects described below (e.g., with
regard to FIGS. 2-3).
[0019] The exemplary television system 100 may also include a third
party program information provider 120. Such a provider may, for
example, provide information related to a television program. Such
information may, for example, comprise information describing
selectable objects in programming, program guide information, etc.
As will be discussed in more detail later, the third party program
information provider 120 may be remote from a user's local
television system (e.g., located at a premises different from the
user's local television system). Such a third party program
information provider 120 may, for example, operate to perform any
or all of the functional aspects described below (e.g., with regard
to FIGS. 2-3).
[0020] The exemplary television system 100 may also include an
object selection monitor 122. Such a selection monitor may, for
example, operate to identify a television programming object
selected by a user and/or perform additional functionality related
to such a selection. As will be discussed in more detail later, the
object selection monitor 122 may be remote from a user's local
television system (e.g., located at a premises different from the
user's local television system). For example, the object selection
monitor 122 may be independent of a television programming provider
or may be integrated with such a television programming provider.
Also for example, the object selection monitor 122 may be
independent of the third party program information provider or may
be integrated with such a third party program information provider.
Such an object selection monitor 122 may, for example, operate to
perform any or all of the functional aspects described below (e.g.,
with regard to FIGS. 2-3).
[0021] The exemplary television system 100 may include one or more
communication networks (e.g., the communication network(s) 130).
The exemplary communication network 130 may comprise
characteristics of any of a variety of types of communication
networks over which television programming and/or information
related to television programming may be communicated. For example
and without limitation, the communication network 130 may comprise
characteristics of any one or more of: a cable television network,
a satellite television network, a telecommunication network, the
Internet, a local area network (LAN), a personal area network
(PAN), a metropolitan area network (MAN), any of a variety of
different types of home networks, etc.
[0022] The exemplary television system 100 may include a first
television 140. Such a first television 140 may, for example,
comprise networking capability enabling such television 140 to
communicate directly with the communication network 130. For
example, the first television 140 may comprise one or more embedded
television receivers or transceivers (e.g., a cable television
receiver, satellite television transceiver, Internet modem, etc.).
Also for example, the first television 140 may comprise one or more
recording devices (e.g., for recording and/or playing back video
content, television programming, etc.). The first television 140
may, for example, operate to (which includes "operate when enabled
to") perform any or all of the functionality discussed herein.
[0023] The exemplary television system 100 may include a first
television controller 160. Such a first television controller 160
may, for example, operate to (e.g., which may include "operate when
enabled to") control operation of the first television 140. The
first television controller 160 may comprise characteristics of any
of a variety of television controlling devices. For example and
without limitation, the first television controller 160 may
comprise characteristics of a dedicated television control device,
a universal remote control, a cellular telephone or personal
computing device with television control capability, etc.
[0024] The first television controller 160 (or television control
device) may, for example, transmit signals directly to the first
television 140 to control operation of the first television 140.
The first television controller 160 may also, for example, operate
to transmit signals (e.g., via the communication network 130) to
the television provider 110 to control television programming (or
related information) being provided to the first television 140, or
to conduct other transactions (e.g., business transactions, etc.).
Similarly, the first television controller 160 may operate to
communicate information with (e.g., transmit information to and/or
receive information from) the television provider 110, third party
program information provider 120 and/or the object selection
monitor 122. Such communicated information may, for example,
comprise information related to user on-screen pointing and/or
object selection.
[0025] Also, as will be discussed in more detail later, various
aspects of the present invention include a user pointing to a
location on a television screen (e.g., pointing to an animate or
inanimate object presented in television programming). In such a
scenario, the user may perform such pointing in any of a variety of
manners. One of such exemplary manners includes pointing with a
television control device. The first television controller 160
provides a non-limiting example of a device that a user may utilize
to point to an on-screen location.
[0026] The exemplary television system 100 may also include a
television receiver 151. The television receiver 151 may, for
example, operate to (e.g., which may include "operate when enabled
to") provide a communication link between a television and/or
television controller and a communication network, information
provider and/or object selection monitor. For example, the
television receiver 151 may operate to provide a communication link
between the second television 141 and the communication network
130, or between the second television 141 and the television
provider 110 (and/or the third party program information provider
120 and/or the object selection monitor 122, etc.) via the
communication network 130. Similarly, the television receiver 151
may operate to communicate information with (e.g., transmit
information to and/or receive information from) the television
provider 110, third party program information provider 120 and/or
the object selection monitor 122. Such communicated information
may, for example, comprise information related to user on-screen
pointing and/or object selection.
[0027] The television receiver 151 may comprise characteristics of
any of a variety of types of television receivers. For example and
without limitation, the television receiver 151 may comprise
characteristics of a cable television receiver, a satellite
television receiver, etc. Also for example, the television receiver
151 may comprise a data communication network modem for data
network communications (e.g., with the Internet, a LAN, PAN, MAN,
telecommunication network, etc.). The television receiver 151 may
also, for example, comprise recording capability (e.g., programming
recording and playback, etc.).
[0028] The exemplary television system 100 may include a second
television controller 161. Such a second television controller 161
may, for example, operate to (e.g., which may include "operate when
enabled to") control operation of the second television 141 and the
television receiver 151. The second television controller 161 may
comprise characteristics of any of a variety of television
controlling devices. For example and without limitation, the second
television controller 161 may comprise characteristics of a
dedicated television control device, a dedicated television
receiver control device, a universal remote control, a cellular
telephone or personal computing device with television control
capability, etc.
[0029] The second television controller 161 may, for example,
operate to transmit signals directly to the second television 141
to control operation of the second television 141. The second
television controller 161 may, for example, operate to transmit
signals directly to the television receiver 151 to control
operation of the television receiver 151. The second television
controller 161 may additionally, for example, operate to transmit
signals (e.g., via the television receiver 151 and the
communication network 130) to the television provider 110 to
control television programming (or related information) being
provided to the television receiver 151, or to conduct other
transactions (e.g., business transactions, etc.). Similarly, the
second television controller 161 may operate to communicate
information with (e.g., transmit information to and/or receive
information from) the television provider 110, third party program
information provider 120 and/or the object selection monitor 122.
Such communicated information may, for example, comprise
information related to user on-screen pointing and/or object
selection.
[0030] As will be discussed in more detail later, various aspects
of the present invention include a user pointing to a location on a
television screen (e.g., pointing to an animate or inanimate object
presented in television programming). In such a scenario, the user
may perform such pointing in any of a variety of manners. One of
such exemplary manners includes pointing with a television control
device. The second television controller 161 provides one
non-limiting example of a device that a user may utilize to point
to an on-screen location.
[0031] The following discussion may, at times, refer to a user's
local television system and/or one or more components remote from
the user's local television system. The user's local television
system may generally be considered to be the user's home (or
portable) television system. For example, a user's local television
system may comprise the user's television, the user's television
receiver, the user's PVR and/or the user's television controller
located at the user's premises (e.g., home, office, etc.). For
example, the first television 140 and first television controller
160 may be considered a user's local television system. Also for
example, the second television 141, television receiver 151 and
second television controller 161 may be considered a user's local
television system. Additionally, for example the television
provider 110, third party program information provider 120 and
object selection monitor 122 may be considered to be one or more
components remote from the user's local television system. For
example, such components may be located remotely from a premise at
which the user's local television system resides. In other words,
the one or more components remote from the user's local television
system are not co-located with the user's local television
system.
[0032] The exemplary television system 100 was provided to provide
a non-limiting illustrative foundation for discussion of various
aspects of the present invention. Thus, the scope of various
aspects of the present invention should not be limited by any
characteristics of the exemplary television system 100 unless
explicitly claimed.
[0033] FIG. 2 is a flow diagram illustrating an exemplary method
200 for providing user-selection of objects in television
programming, in accordance with various aspects of the present
invention. Any or all aspects of the exemplary method 200 may, for
example, be implemented in one or more components remote from a
user's local television system (e.g., the television provider 110,
third party program information provider 120 and/or object
selection monitor 122 shown in FIG. 1 and discussed previously).
Also, various aspects may be performed by one or more components of
the user's local television system (e.g., in conjunction with one
or more components remote from the user's local television
system).
[0034] The exemplary method 200 may, for example, begin executing
at step 205. The exemplary method 200 may begin executing in
response to any of a variety of causes and/or conditions. For
example, the exemplary method 200 may begin executing in response
to a user command to begin, in response to user selection of a
television program that includes user selectable objects, upon
television reset and/or power-up, in response to a user input
indicating a desire to provide object selection capability to the
user, in response to identification of a user and/or user equipment
for which object selection capability is to be provided, in
response to user payment of a fee, etc. Also for example, the
exemplary method 200 (or various portions thereof) may generally
always execute. For example, a television program provider may
always communicate television programming information to a user's
local television system, even when the user's local television
system is not presently operating to receive and/or present such
television programming to the user.
[0035] The exemplary method 200 may, for example at step 207,
comprise communicating television programming to the user's local
television system and/or user's local television. For example, a
programming provider (e.g., the television provider 110) may
communicate broadcast, multicast and/or unicast television
programming to the user's location television system and/or any
component thereof. Note that such communication may, for example,
comprise communicating to one or more components remote from the
user's local television system (e.g., for processing, for storage,
for ultimate communication to the user's local television system,
etc.). Also for example, a user's local television system may
comprise a local television programming storage device that may
provide locally stored television programming to a television of
the user's local television system.
[0036] The exemplary method 200 may, for example at step 210,
comprise receiving television programming (e.g., at the user's
local television system and/or at the user's local television; at
one or more components remote from the user's local television
system, such as an object selection monitor, an intermediate
communication network node between a programming provider and the
user's local television system; a third party programming
information provider; an advertiser; etc.). Many non-limiting
examples of such television programming were provided above. Step
210 may comprise receiving the television programming from any of a
variety of sources. For example and without limitation, step 210
may comprise receiving the television programming from a television
programming provider (e.g., a television broadcasting company, a
movie streaming company, an Internet television programming
provider, etc.), from a user (or consumer) video recording device
(e.g., internal and/or external to the user's local television),
etc.
[0037] Step 210 may also comprise receiving the television
programming via any of a variety of types of communication
networks. Such networks may, for example, comprise a wireless
television network (e.g., terrestrial and/or satellite) and/or a
wired or tethered optical communication network (e.g., a cable
television network, a land line telecommunication network, etc.).
Such networks may, for example, comprise any of variety of data
communication networks (e.g., the Internet, a local area network, a
personal area network, a metropolitan area network, etc.).
[0038] In general, step 210 may comprise receiving television
programming. The scope of various aspects of the present invention
should not be limited by characteristics of any particular
television programming, television programming source, television
programming network and/or manner of receiving television
programming unless explicitly claimed.
[0039] The exemplary method 200 may, at step 220, comprise
presenting television programming to a user. Step 220 may, for
example, comprise presenting the television programming received at
step 210 to a user in any of a variety of manners. For example,
step 220 may comprise presenting the television programming on a
screen of a television of the user's local television system. Also
for example, step 220 may comprise communicating the television
programming to another video presentation device of the user's
local television system external to the television (e.g., to a
receiver with an on-board screen, to a television remote control
with an on-board screen, etc.).
[0040] The presented television programming may, for example,
comprise user-selectable objects in the television programming.
Many non-limiting examples of such user-selectable objects were
presented above. In general, such user-selectable objects may, for
example, comprise animate and/or inanimate objects in television
programming that a user may select (e.g., using a pointing device
or other user interface by which a user may specify a screen and/or
frame location).
[0041] The exemplary method 200 may, at step 230, comprise
determining an on-screen pointing location pointed to by a user of
a television of the user's local television system. Step 230 may
comprise determining an on-screen pointing location in any of a
variety of manners, non-limiting examples of which will now be
provided. Various non-limiting examples of on-screen pointing
location determining are provided in U.S. Provisional Application
No. 61/242,234, which is hereby incorporated herein by reference in
its entirety. An on-screen pointing location may, for example, be
expressed in a screen-centric coordinate system (e.g., x-y pixel
coordinates), a screen independent coordinate system or normalized
coordinate system (e.g., based on location within a moving image,
where such location is generic to all television screens), a world
coordinate and/or universal coordinate system, a coordinate system
based on video frame coordinates independent of screen size and/or
pixel density, etc.
[0042] Step 230 may, for example, comprise one or more components
remote from the user's local television system analyzing sensor
information (e.g., associated with sensors on-board and/or
off-board the user's television, associated with sensors on-board
and/or off-board non-television components of the user's local
television system, etc.) to determine user on-screen pointing
location. In an exemplary scenario, sensor information
corresponding to user pointing sensors of the user's local
television system (e.g., sensors located at the user's premises)
may be communicated from one or more components of the user's local
television system to one or more components remote from the user's
local television system.
[0043] Step 230 may also, for example, comprise one or more
components remote from the user's local television system the
television receiving information describing the on-screen pointing
location from one or more components of the user's local television
system (e.g., a television, receiver, television controller, a
pointing device, etc.). For example, one or more components of the
user's local television system may process sensor information to
determine the on-screen pointing location and then communicate
information of such determination to one or more components remote
from the user's local television system (e.g., for further
processing by such one or more remote components).
[0044] Step 230 may, for example, comprise identifying a timestamp
temporally identifying the instance of a determined on-screen
pointing location. Such timestamp may, for example, be obtained by
a clock, timestamp embedded in a video stream, timestamp embedded
in a stream including object information, timestamp associated with
a signal transmitted from a user pointing device, etc.
Determination of such a timestamp may, for example, be based on
user command (e.g., a user indicating that a selection has
occurred) or determined automatically without a direct indication
from the user that a selection has occurred (e.g., the system
determining that the user has pointed to an object for at least a
particular amount of time), etc. Such timestamp may be utilized,
for example, for determining selection of a moving, changing and/or
temporally transient object in the presented television
programming. In an exemplary scenario in which pointing sensor
and/or on-screen pointing location information is communicated
between system components, such pointing location information may
be communicated with the timing information.
[0045] In general, step 230 may comprise determining an on-screen
pointing location pointed to by a user of the television.
Accordingly, the scope of various aspects of the present invention
should not be limited by characteristics of any particular type of
on-screen pointing location or any particular manner of determining
such an on-screen pointing location unless explicitly claimed.
[0046] The exemplary method 200 may, at step 240, comprise
identifying a user-selectable object in the presented television
programming at which the user is pointing based, at least in part,
on the determined on-screen pointing location (e.g., as determined
at step 230). Step 240 may comprise performing such identifying in
any of a variety of manners, non-limiting examples of which will
now be presented. Step 240 may, for example, be performed by one or
more system components remote from a user's local television
system. Note, however, that one or more components from the user's
local television system may at least assist the one or more remote
components in implementing step 240.
[0047] For example, step 240 may comprise determining the on-screen
location and/or dimensions of one or more user-selectable objects
(e.g., or associated selection region) in the presented television
programming, and identifying a user-selected object by analyzing
the respective on-screen (or in-frame) locations of the one or more
user-selectable objects and the determined on-screen pointing
location (e.g., at a particular time instance and/or particular
timeframe) to determine the television programming object selected
by the user. For example, such on-screen location may, for example,
comprise the on-screen location of one or more points, areas and/or
volumes associated with respective locations of user-selectable
objects.
[0048] In such an exemplary scenario or any scenario involving
determining on-screen location of one or more objects in the
presented television programming, step 240 may, for example,
comprise determining such on-screen (or in-frame) object location
in any of a variety of manners. For example, step 240 may comprise
receiving information identifying and/or describing the
user-selectable objects in the television program.
[0049] For example, step 240 may comprise receiving information
identifying and/or describing such user-selectable objects from the
same source as the received television programming. Note that if
step 240 is performed by a television programming source, such
information may already be known by such television programming
source. For example, step 240 may comprise receiving such
information embedded in a same data stream as a stream
communicating the presented television programming (e.g., embedded
in the received television program data). For example, a television
stream protocol may comprise specialized elements (and/or the
utilization of unassigned elements) that include information about
selectable objects (e.g., object identity, shape, location, size,
coloration, movement characteristics, timing, appearance time
window, etc.).
[0050] Also for example, step 240 may comprise receiving the
information identifying and/or describing such user-selectable
objects in a data stream communicated in parallel with a stream
communicating the presented television programming. In such a
scenario, the television program stream and object information
stream may be received from a same source over a same television
programming communication channel. Additionally for example, step
240 may comprise receiving such information from a same source but
over a communication channel different from the channel over which
the television programming is received and/or over a type of
communication channel different from a television programming
communication channel.
[0051] Further for example, step 240 may comprise receiving the
information identifying and/or describing such user-selectable
objects from a source (e.g., a third party information provider, a
television network source, etc.) different from the source from
which the television programming is received. In such an exemplary
scenario, step 240 may comprise receiving such information via
different respective communication networks or via one or more same
communication networks. Also for example, step 240 may comprise
receiving such information over a different communication medium
than that over which the television programming is received.
[0052] Step 240 may, for example, comprise receiving the
information identifying and/or describing such user-selectable
objects in a data stream, where such information is always
transmitted in the data stream (e.g., whether or not requested by a
user and/or other system). Alternatively for example, step 240 may
comprise receiving such information, where such information is
communicated (e.g., to the television) only when requested (e.g.,
only when requested by the television, by a television controller,
by a television receiver, by a user electronic device, by the user,
etc.).
[0053] Step 240 may, for example, comprise receiving the
information identifying and/or describing such user-selectable
objects in real-time (i.e., as the television programming is
received at the user's local television system or a remote
component or as the television programming is transmitted from a
television programming source). Also for example, step 240 may
comprise receiving such information from a source of stored (e.g.,
user stored and/or provider stored) television programming. For
example, such information may be stored with stored television
programming in a programming provider's storage device and/or a
user's television programming storage device (e.g., in a same data
file, in separate but related files, etc.). In such an exemplary
implementation, such information may be received from the
programming storage device in time synchronization with television
programming. Note that in various exemplary scenarios, the user's
local television programming storage device may communicate such
information to the one or more components remote from the user's
local television system.
[0054] As mentioned above, the information identifying and/or
describing user selectable objects in television programming may
comprise timing information associated with such selectable
objects. For example, movement of a selectable object may be
expressed as a function of time. Also for example, appearance of a
selectable object in television programming may be associated with
a time window during which such object appears. As will be
discussed in more detail below, timing associated with a user
on-screen or in-frame pointing (or object selection) event may be
synchronized to the timing of selectable object location in a
presented program to determine whether a user pointed to (or
selected) a particular object at a particular location at a
particular time.
[0055] The information identifying and/or describing user
selectable objects in television programming may comprise
information defining respective regions of the presented television
programming that are associated with respective user-selectable
objects in the presented television programming. For example, such
information may comprise information describing respective
geometric shapes (e.g., 2-D and/or 3-D geometric constructs)
associated with respective user-selectable objects. For example, a
circle, oval, square, rectangle, pentagon or any polygon (or any
combination thereof) may be associated with a user-selectable
object. User-selection of one of such geometric shapes (e.g., a
determined on-screen pointing location within the boundaries of
such geometric shape(s) at the relevant point in time) may indicate
user selection of the respective object.
[0056] As discussed above, the object description (whether
geometric or not) may comprise information (e.g., temporal
information) describing movement, appearance, size changing, shape
changing, etc. associated with the user-selectable object. For
example, in an exemplary scenario where a plurality of geometric
shapes are utilized to describe a user-selectable object (and/or a
user-selectable area associated with such object), the description
of the user-selectable object may comprise information describing
the manner in which each of the respective objects move in the
programming (e.g., as a function of time, as a function of video
frame number, etc.) and/or information describing the manner in
which dimensions of each of the respective objects change.
[0057] Once on-screen pointing location and object location (e.g.,
at a particular point in time) are known, such information may be
processed to determine a user-selectable object to which a user has
pointed. As mentioned above, such processing may comprise
determining a respective region of the television screen and/or a
television programming frame associated with a respective
user-selectable object, where the respective region correlates to
an on-screen pointing location pointed to by the user (e.g., at a
particular point in time or during a particular timeframe).
[0058] During performing such processing, step 240 may comprise
low-pass filtering the determined on-screen pointing location
(e.g., as determined at step 230) to compensate for unintended
movement of pointing location (e.g., due to unsteady or unstable
user pointing), thus increasing reliability of object selection
determination. For example, successful user-selection of a
television programming object may require a user to point to an
on-screen object for a particular amount of time (or for a
particular number of frames).
[0059] Note that such low-pass filtering may also be performed at
step 230. Such filtering may, for example, comprise filtering over
a particular period of time, over a particular number of on-screen
pointing direction determinations, over a particular number of
television programming frames, etc. Such filtering may comprise
averaging a plurality of on-screen pointing direction
determinations, utilizing a weighted averaging scheme, utilizing a
finite impulse response filtering scheme, etc.
[0060] Step 240 may also, for example, comprise identifying a
user-selected object by identifying a most likely object selected
by the user. For example, step 240 may comprise identifying a
closest user-selectable object to the on-screen pointing location
determined at step 230. Also for example, step 240 may comprise
determining a most likely user-selected object based, at least in
part, on respective popularity of user selectable objects (e.g.,
favoring the most often selected inanimate and/or animate objects).
Additionally for example, step 240 may comprise identifying a most
likely user-selected object based, at least in part, on monetary
considerations (e.g., placing a higher likelihood on
user-selectable objects associated with relatively higher paying
advertisers, placing a higher likelihood on user-selectable objects
associated with a per-selection based advertising fee, etc.).
Further for example, step 240 may comprise identifying a most
likely user-selected programming object based on history of
selection from a particular user (e.g., favoring types of objects
most often selected by a particular user or at a particular local
television system). Also for example, step 240 may comprise
identifying a most likely user-selected programming object based on
object newness (e.g., a new object is likely to garner more
interest than an object that has been shown for a relatively long
period of time). Additionally, for example, step 240 may comprise
identifying a most likely user-selected television programming
object based on object size.
[0061] A selected object may be identified with a unique identifier
(e.g., unique to the object, unique to a group of related objects,
etc.). Step 240 may thus comprise determining the identifier
associated with the determined user-selected object. Such
identifier may then be utilized in the performance of any of a
variety of further functions, non-limiting examples of which will
be presented below. For example, the information identifying and/or
describing a user-selectable object may comprise information
describing functions associated with such object (e.g., information
presentation functionality, communication functionality, business
transaction functionality, user interaction functionality,
etc.).
[0062] The steps of the exemplary method 200 (or aspects thereof)
may, for example, be performed (e.g., by one or more components
remote from the user's local television system) in real-time. In
such manner, the user may have relatively expeditious access to
functionality associated with the user-selected object.
Alternatively for example, the exemplary method 200 (or aspects
thereof) may be performed off-line in a manner in which
functionality associated with the user-selected object is provided
to the user at a significantly later time (e.g., after presentation
of the television program, upon the user pausing presentation of
the television program, during a commercial break in the television
program, upon the user logging into the user's computer system,
upon the user accessing email, etc.).
[0063] As mentioned above, any or all of the steps of the exemplary
method 200 may be performed for user selection of an object in
television programming as the programming is broadcast in real-time
and/or may be performed for user selection of an object in
television programming that has been recorded on a programming
provider's storage device or a user's local storage device (e.g., a
personal video recorder (PVR), video cassette recorder (VCR), etc.)
and is currently being presented to the user (e.g., at step 220) in
a time-shifted manner. For example, a provider or user may record a
broadcast television program on a storage device (e.g., a networked
PVR or user PVR) for later viewing, present such recorded
programming at a later time, and while presenting such time-shifted
television programming at a later time, provide for user selection
of objects in such programming.
[0064] Similarly, any or all of the steps of the exemplary method
200 may be performed for user selection of an object in television
programming that has been provided to the user (or stored by the
user) on a physical storage medium (e.g., on a digital versatile
disc (DVD), video cassette recorder tape, non-volatile memory
device, etc.). For example, a user may purchase a set of DVDs
including all episodes of a season of a television series, view
each of such episodes at the convenience of the user, and while
viewing such episodes, select user-selectable objects in such
programming. In such a scenario, where the physical storage medium
is being played by the user's local television system, the
information regarding on-screen pointing location and/or selectable
object description information may be communicated from the user's
local television system to the one or more components remote from
the user's local television system. In an exemplary scenario where
the physical storage medium is being played by a component remote
from the user's local television system, such component may process
the object description information and/or may communicate such
information to another of the remote system components for
processing.
[0065] In an exemplary scenario, where on-screen pointing location
at a particular point in time is utilized to determine object
selection, any of a variety of time references may be utilized. For
example, synchronization of on-screen pointing location and
user-selectable object location (e.g., on-screen and/or in-frame
object location) may be based on a presentation timestamp (PTS)
and/or a decoding timestamp (DTS), or the like, which may be
encoded in a broadcast and/or recorded program or determined as
such program is being presented to a user (or transmitted to the
user's local television system). In such a scenario, so long as the
object location and pointing determination are based on a common
and/or synchronized time reference, the identification of a
pointed-to object may be performed accurately.
[0066] As mentioned previously, object information identifying
and/or describing user-selectable objects may be received encoded
in a video program stream or may be received in a separate stream
(and/or channel). In a scenario where television programming
information is stored (either short term or long term), the object
information may also be stored (e.g., with the stored programming
information in a same data file, in a separate but related data
file, etc.). In such a manner, when the user determines to view a
time-shifted program, the object information is accessible to the
user's local television system or to one or more components remote
from the user's local television system. Such is the case whether
the television programming and object information is stored at the
user's local television system or at a component remote from the
user's local television system.
[0067] Alternatively, such information identifying and/or
describing user-selectable objects in programming may be requested
from a third party when such information is needed. As a
non-limiting example, a first component remote from the user's
local television system may request information describing
user-selectable objects from a second component remote from the
user's local television system (or from the user's local television
system).
[0068] In yet another scenario, for example, where video
information may be decoded separately from the user's television
(e.g., in a set top box (STB), cable and/or satellite television
receiver, PVR, etc.) and provided to the television for
presentation, such object information may also be received by such
separate device and provided to other devices of the user's local
television system (e.g., in an information channel separate from a
video driver signal) and/or may be communicated to the one or more
components remote from the user's local television system.
[0069] Note that although a portion of the previous discussion
concerned analyzing on-screen pointing location and on-screen
object location to identify a user-selected object, such analysis
may also be similarly performed by analyzing on-frame pointing
location and on-frame object location. In other words, such
analysis may comprise performing any of a variety of coordinate
transformations to perform such analysis in any of a variety of
different respective coordinate domains (e.g., a coordinate domain
that is generic to all screens).
[0070] In general, step 240 may comprise identifying a
user-selectable object in the presented television programming at
which the user is pointing (e.g., based, at least in part, on the
determined on-screen pointing location (e.g., as determined at step
230)). Accordingly, the scope of various aspects of the present
invention should not arbitrarily be limited by any particular
manner of performing such identifying unless explicitly
claimed.
[0071] The exemplary method 200 may, for example at step 295,
comprise performing continued operations. Step 295 may comprise
performing any of a variety of continued operations, non-limiting
examples of such continued operation(s) will be presented below.
For example, step 295 may comprise returning execution flow to any
of the previously discussed method steps. For example, step 295 may
comprise returning execution flow of the exemplary method 200 to
step 230 for determining additional on-screen pointing locations
and corresponding user-selected objects in the television
programming.
[0072] Also for example, step 295 may comprise generating a user
output indicating the identified user-selectable object (e.g., as
identified at step 240). Additionally for example, step 295 may
comprise one or more components remote from the user's local
television system generating a signal and communicating the signal
to the user's local television system, where the signal comprises
characteristics that, when processed by the user's local television
system, cause the user's local television system to generate a user
output indicating the identified user-selectable object.
[0073] For example, step 295 may comprise overlaying a graphical
feature coinciding with the identified user-selectable object on
the presented television programming (or generating and/or
communicating a signal causing such overlaying). For example, as
discussed above, a user-selectable object (and/or the
user-selectable portion of a user-selectable object) may be defined
by one or more geometric shapes. In such an exemplary scenario,
step 295 may comprise highlighting such geometric shapes (or the
borders thereof) when step 240 determines that the user has
selected a user-selectable object associated with such geometric
shapes (or generating and/or communicating a signal causing such
highlighting). Also for example, step 295 may comprise presenting
an outline of the identified object on the television screen,
temporarily brighten or alter the color of the identified object,
temporarily display a message on the screen as an indication of the
identified object, etc. (or generating and/or communicating a
signal causing such effects). Step 295 may also, for example,
comprise outputting an audio indication that a user-selected object
has been identified (or generating and/or communicating a signal to
the user's local television system causing a component of the
user's local television system to output such an audio
indication).
[0074] Additionally for example, step 295 may comprise
communicating information indicating the identified user-selectable
object to a component of the user's local television system or
other device external to the television (e.g., a user device at the
same premises as the television and/or a device communicatively
coupled to the television via a communication network). For
example, step 295 may comprise communicating such information to a
television remote control device of the user's local television
system (e.g., in a scenario where the television remote control
device may provide the user an indication of the identified
user-selectable object). In such an exemplary scenario, the
television remote control device may comprise a video screen on
which the television program may be displayed, and the identified
user-selectable object may then be graphically indicated on such
video screen (e.g., instead of being identified on a screen of the
television and/or in addition to being identified on the screen of
the television).
[0075] Further for example, step 295 may comprise processing
information of an identified user-selected object (e.g., as
determined at step 240) to determine an action to perform with
regard to such selected object. Various non-limiting examples of
such actions are provided in U.S. Provisional Application No.
61/242,234, which is hereby incorporated herein by reference in its
entirety.
[0076] In general, step 295 may comprise performing continued
operations (e.g., performing additional operations corresponding to
a user-selected television programming object, repeating various
method steps for additional user-selected objects, etc.).
Accordingly, the scope of various aspects of the present invention
should not be limited by characteristics of any particular type of
continued processing unless explicitly claimed.
[0077] Turning next to FIG. 3, such figure is a flow diagram
illustrating an exemplary method 300 for providing user-selection
of objects in television programming, in accordance with various
aspects of the present invention. The exemplary method 300 may, for
example, share any or all characteristics with the exemplary method
200 illustrated in FIG. 2 and discussed previously. Any or all
aspects of the exemplary method 300 may, for example, be
implemented in one or more components remote from a user's local
television system (e.g., the television provider 110, third party
program information provider 120 and/or object selection monitor
122 shown in FIG. 1 and discussed previously).
[0078] The exemplary method 300 may, for example, begin executing
at step 305. The exemplary method 300 may begin executing in
response to any of a variety of causes or conditions. Step 305 may,
for example, share any or all characteristics with step 205 of the
exemplary method 200 illustrated in FIG. 2 and discussed
previously.
[0079] The exemplary method 300 may, for example at step 307,
comprise communicating television programming to the user's local
television system and/or user's local television. Step 307 may, for
example, share any or all characteristics with step 207 of the
exemplary method 200 illustrated in FIG. 2 and discussed
previously.
[0080] For example, step 307 may, for example at sub-step 308,
comprise (e.g., a programming provider) communicating broadcast,
multicast and/or unicast television programming to the user's local
television system and/or any component thereof. Also for example,
step 307 may comprise, for example at sub-step 309, communicating
broadcast, multicast and/or unicast television programming to one
or more components remote from the user's local television system.
Such communication may, for example, comprise communicating to one
or more components remote from the user's local television system
for any of a variety of reasons (e.g., for processing, for storage,
for ultimate communication to the user's local television system,
etc.). Also for example, a user's local television system may
comprise a local television programming storage device that may
provide locally stored television programming to a television of
the user's local television system.
[0081] The exemplary method 300 may, for example at step 310,
comprise receiving television programming. Step 310 may, for
example, share any or all characteristics with step 210 of the
exemplary method 200 illustrated in FIG. 2 and discussed
previously.
[0082] For example, step 310 may comprise, for example at sub-step
312, receiving a television program broadcast as such program is
broadcast in real-time. Alternatively for example, step 310 may
comprise, for example at sub-step 314, receiving a previously
broadcast program from a storage device (e.g., a user television
programming storage device) in a time-shifted manner.
[0083] The exemplary method 300 may, for example at step 320,
comprise presenting television programming (e.g., as received at
step 310) to a user. Step 320 may, for example, share any or all
characteristics with step 220 of the exemplary method 200
illustrated in FIG. 2 and discussed previously.
[0084] For example, step 320 may comprise, for example at sub-step
322, presenting the received television programming on a screen of
a television (e.g., of the user's local television system).
Alternatively for example, step 320 may comprise, for example at
sub-step 324, communicating received television programming to
another device of the user's local television system (e.g., a
device other than the user's television) for presentation to the
user (e.g., to a display device different from the television, to a
television remote control device with a display, to a user's
handheld computer, etc.).
[0085] The exemplary method 300 may, for example at step 330,
comprise determining on-screen pointing location pointed to by a
user of the television. Step 330 may, for example, share any or all
characteristics with step 230 of the exemplary method 200
illustrated in FIG. 2 and discussed previously.
[0086] For example, step 330 may comprise, for example at sub-step
332, analyzing sensor information (e.g., associated with sensors
on-board and/or off-board the user's television) to determine user
on-screen pointing location. Alternatively for example, step 330
may comprise, for example at sub-step 334, receiving information
describing the on-screen pointing location from another device
(e.g., one or more components remote from the user's local
television system receiving such information from one or more
components of the user's local television system).
[0087] The exemplary method 300 may, for example at step 340,
comprise identifying a user-selectable object in the presented
television programming at which the user is pointing based, at
least in part, on the determined on-screen pointing location (e.g.,
as determined at step 330). Step 340 may, for example, share any or
all characteristics with step 240 of the exemplary method 200
illustrated in FIG. 2 and discussed previously.
[0088] For example, step 340 may comprise, for example at sub-step
342, determining the on-screen location of one or more
user-selectable objects in the presented television programming.
Alternatively for example, step 330 may comprise, for example at
sub-step 344, identifying a user-selected object by analyzing the
respective on-screen locations of the one or more user-selectable
objects and the determined on-screen pointing location (e.g., at a
particular time instance and/or particular timeframe) to determine
the object selected by the user.
[0089] The exemplary method 300 may, for example at step 395,
comprise performing continued operations. Step 395 may, for
example, share any or all characteristics with step 295 of the
exemplary method 200 illustrated in FIG. 2 and discussed
previously.
[0090] Turning next to FIG. 4, such figure is a diagram
illustrating an exemplary remote system component (e.g., remote
from a user's local television system), in accordance with various
aspects of the present invention. The exemplary system component
400 may, for example, share any or all characteristics with the
exemplary system components 110, 120 and 122 illustrated in FIG. 1
and discussed previously. Also, the exemplary system component 400
(e.g., various modules thereof) may operate to perform any or all
of the functionality discussed previously with regard to the
exemplary methods 200 and 300 illustrated in FIGS. 2-3 and
discussed previously.
[0091] The exemplary system component 400 includes a first
communication interface module 410. The first communication
interface module 410 may, for example, operate to communicate over
any of a variety of communication media and utilizing any of a
variety of communication protocols. For example, though the first
communication interface module 410 is illustrated coupled to a
wireless RF antenna via a wireless port 412, the wireless medium is
merely illustrative and non-limiting. The first communication
interface module 410 may, for example, operate to communicate with
one or more communication networks (e.g., cable television
networks, satellite television networks, telecommunication
networks, the Internet, local area networks, personal area
networks, metropolitan area networks, etc.) via which television
video content (e.g., television programming) and/or other data is
communicated. The first communication interface module 410 may, for
example, operate to communicate with one or more components of a
user's local television system (e.g., television(s), receiver(s),
PVR(s), television controller(s), etc.). The first communication
interface module 410 may also, for example, operate to communicate
with one or more other components remote from the user's local
television system (e.g., a television programming provider, a third
party program information provider, an object selection monitor, an
advertising server, etc.).
[0092] The exemplary system component 400 includes a second
communication interface module 420. The second communication
interface module 420 may, for example, operate to communicate over
any of a variety of communication media and utilizing any of a
variety of communication protocols. For example, the second
communication interface module 420 may communicate via a wireless
RF communication port 422 and antenna, or may communicate via a
non-tethered optical communication port 424 (e.g., utilizing laser
diodes, photodiodes, etc.). Also for example, the second
communication interface module 420 may communicate via a tethered
optical communication port 426 (e.g., utilizing a fiber optic
cable), or may communicate via a wired communication port 428
(e.g., utilizing coaxial cable, twisted pair, HDMI cable, Ethernet
cable, any of a variety of wired component and/or composite video
connections, etc.). The second communication interface module 420
may, for example, operate to communicate with one or more
communication networks (e.g., cable television networks, satellite
television networks, telecommunication networks, the Internet,
local area networks, personal area networks, metropolitan area
networks, etc.) via which television video content (e.g.,
television programming) and/or other data is communicated. The
first communication interface module 410 may, for example, operate
to communicate with one or more components of a user's local
television system (e.g., television(s), receiver(s), PVR(s),
television controller(s), etc.). The first communication interface
module 410 may also, for example, operate to communicate with one
or more other components remote from the user's local television
system (e.g., a television programming provider, a third party
program information provider, an object selection monitor, an
advertising server, etc.).
[0093] The exemplary system component 400 may also comprise
additional communication interface modules, which are not
illustrated. Such additional communication interface modules may,
for example, share any or all aspects with the first 410 and second
420 communication interface modules discussed above.
[0094] The exemplary system component 400 may also comprise a
communication module 430. The communication module 430 may, for
example, operate to control and/or coordinate operation of the
first communication interface module 410 and the second
communication interface module 420 (and/or additional communication
interface modules as needed). The communication module 430 may, for
example, provide a convenient communication interface by which
other components of the system component 400 may utilize the first
410 and second 420 communication interface modules. Additionally,
for example, in an exemplary scenario where a plurality of
communication interface modules are sharing a medium and/or
network, the communication module 430 may coordinate communications
to reduce collisions and/or other interference between the
communication interface modules.
[0095] The exemplary system component 400 may additionally comprise
one or more user interface modules 440. The user interface module
440 may generally operate to provide user interface functionality
to a user of the system component 400. For example, and without
limitation, the user interface module 440 may operate to provide
for user control of any or all standard commands for the system
component (e.g., maintenance commands, monitoring commands, control
commands, transaction commands, etc.). The user interface module
440 may, for example, operate and/or respond to user commands
utilizing user interface features disposed on the system component
400 (e.g., buttons, etc.) and may also utilize the communication
module 430 (and/or first 410 and second 420 communication interface
modules) to communicate with other system components (e.g., one or
more components of the user's local television system, one or more
other components remote from the user's local television system,
etc.).
[0096] The user interface module 440 may also comprise one or more
sensor modules that operate to interface with and/or control
operation of any of a variety of sensors that may be utilized to
ascertain an on-screen pointing location (e.g., sensors of the
user's local television system). For example and without
limitation, the user interface module 440 (or sensor module(s)
thereof) may operate to receive signals associated with respective
sensors (e.g., raw or processed signals directly from the sensors,
through intermediate devices, via the communication interface
modules 410, 420, etc.). Also for example, in scenarios in which
such sensors are active sensors (as opposed to purely passive
sensors), the user interface module 440 (or sensor module(s)
thereof) may operate to control the transmission of signals (e.g.,
RF signals, optical signals, acoustic signals, etc.) from such
sensors. Additionally, the user interface module 440 may perform
any of a variety of user output functions (e.g., video output
functions, for example, presenting television programming to a user
of the system component, providing visual feedback to a user of the
system component, etc.).
[0097] The exemplary system component 400 may comprise one or more
processors 450. The processor 450 may, for example, comprise a
general purpose processor, digital signal processor,
application-specific processor, microcontroller, microprocessor,
etc. For example, the processor 450 may operate in accordance with
software (or firmware) instructions. As mentioned previously, any
or all functionality discussed herein may be performed by a
processor executing instructions. For example, though various
modules are illustrated as separate blocks or modules in FIG. 4,
such illustrative modules, or a portion thereof, may be implemented
by the processor 450.
[0098] The exemplary system component 400 may comprise one or more
memories 460. As discussed above, various aspects may be performed
by one or more processors executing instructions. Such instructions
may, for example, be stored in the one or more memories 460. Also
for example, in an exemplary scenario where the system component
400 stores and/or provides television programming, such memory 460
may store television program information. Additionally for example,
in an exemplary scenario where the system component 400 stores
and/or provides information identifying and/or describing
user-selectable objects in television programming, the memory 460
may store such information. Further for example, in an exemplary
scenario where the system component 400 receives, determines and/or
analyzes on-screen pointing location information, the memory 460
may store such information.
[0099] The memory 460 may, for example, comprise characteristics of
any of a variety of types of memory. For example and without
limitation, the memory 460 may comprise one or more memory chips
(e.g., ROM, RAM, EPROM, EEPROM, flash memory, one-time-programmable
OTP memory, etc.), hard drive memory, CD memory, DVD memory, etc.
The memory 460 may, for example, comprise a single memory device, a
plurality of co-located memory devices and/or a distributed network
of memory devices.
[0100] The exemplary system component 400 may comprise one or more
modules 452 that operate to perform and/or manage the communication
of television programming. For example, such one or more modules
452 may operate to utilize the communication module 430 (e.g., and
at least one of the communication interface modules 410, 420) to
receive and/or transmit television programming. For example, such
one or more modules 452 may operate to perform step 207 of the
exemplary method 200 discussed previously and/or step 307 of the
exemplary method 300 discussed previously.
[0101] Also for example, such one or more modules 452 may operate
to utilize the user interface module(s) 440 to present television
programming, system maintenance information and/or system control
information to a user of the system component 400 (e.g., via a
video display of and/or communication coupled to the system
component 400). Additionally for example, such one or more modules
452 may operate to utilize the communication module 430 (e.g., and
at least one of the communication interface modules 410, 420) to
communicate television programming information to one or more
devices communicatively coupled to the system component 400 (e.g.,
via one or more of the communication interface modules 410, 420).
For example, such one or more modules 452 may operate to perform
step 220 of the exemplary method 200 discussed previously and/or
step 320 of the exemplary method 300 discussed previously (e.g., in
addition to a user's location television system implementing such
method steps).
[0102] The exemplary system component 400 may comprise one or more
on-screen pointing location determination module(s) 454. Such
on-screen pointing location determination module(s) 454 may, for
example, operate to determine an on-screen pointing location
pointed to by a user of a television of the user's local television
system. Such module(s) 454 may, for example, operate to perform
step 230 of the exemplary method 200 and/or step 330 of the
exemplary method 300 discussed previously. For example, the
module(s) 454 may operate to analyze sensor information to
determine an on-screen pointing location. Also for example, the
module(s) 454 may operate to receive on-screen pointing location
information from a device external to the system component 400
(e.g., utilizing the communication module 430).
[0103] The exemplary system component 400 may comprise one or more
user-selected object identification modules 456. Such module(s) 456
may, for example, operate to identify a user-selectable object in
presented television programming at which a user of a television of
the user's local television system is pointing. For example, such
module(s) 456 may operate to identify such user-selected object
based, at least in part, on on-screen (on in-frame) pointing
location determined by the on-screen pointing location
determination module(s) 454. Such module(s) 456 may, for example,
operate to perform step 240 of the exemplary method 200 and/or step
340 of the exemplary method 300 discussed previously. For example,
the module(s) 456 may operate to determine the on-screen location
of one or more user-selectable objects in the presented television
programming, and identify a user-selected object by analyzing the
respective on-screen locations of the one or more user-selectable
objects and the determined on-screen pointing location (e.g., at a
particular time instance and/or particular timeframe) to determine
the object selected by the user.
[0104] Though not specifically illustrated, the exemplary system
component 400 may, for example, comprise one or more modules that
operate to perform any or all of the continued processing discussed
previously with regard to step 295 of the exemplary method 200 and
step 395 of the exemplary method 300, discussed previously. Such
modules (e.g., as with the one or more modules 452, 454 and 456)
may be performed by the processor(s) 450 executing instructions
stored in the memory 460.
[0105] Turning next to FIG. 5, such figure is a diagram
illustrating exemplary modules and/or sub-modules for a remote
television system component 500, in accordance with various aspects
of the present invention. The exemplary system component 500 may
share any or all aspects with any of the various components 110,
120, 122 and 400 discussed herein and illustrated in FIGS. 1 and 4.
For example, the exemplary system component 500 (or various modules
thereof) may operate to perform any or all functionality discussed
herein with regard to the exemplary method 200 illustrated in FIG.
2 and the exemplary method 300 illustrated in FIG. 3. As with the
exemplary system component 400, the components of the exemplary
system component 500 may be disposed in a single device (e.g., a
television programming server, a communication network monitor, a
third party information server, an object selection monitor,
etc.).
[0106] For example, the system component 500 comprises a processor
530. Such a processor 530 may, for example, share any or all
characteristics with the processor 450 discussed with regard to
FIG. 4. Also for example, the system component 500 comprises a
memory 540. Such memory 540 may, for example, share any or all
characteristics with the memory 460 discussed with regard to FIG.
4.
[0107] Also for example, the system component 500 may comprise any
of a variety of user interface module(s) 550. Such user interface
module(s) 550 may, for example, share any or all characteristics
with the user interface module(s) 440 discussed previously with
regard to FIG. 4. For example and without limitation, the user
interface module(s) 550 may comprise: a display device, a camera
(for still or moving picture acquisition), a speaker, an earphone
(e.g., wired or wireless), a microphone, a video screen (e.g., a
touch screen), a vibrating mechanism, a keypad, and/or any of a
variety of other user interface devices (e.g., a mouse, a
trackball, a touch pad, touch screen, light pen, game controlling
device, etc.).
[0108] The exemplary system component 500 may also, for example,
comprise any of a variety of communication modules (505, 506, and
510). Such communication module(s) may, for example, share any or
all characteristics with the communication interface module(s) 410
and 420 discussed previously with regard to FIG. 4. For example and
without limitation, the communication interface module(s) 510 may
comprise: a Bluetooth interface module; an IEEE 802.11, 802.15,
802.16 and/or 802.20 module; any of a variety of cellular
telecommunication interface modules (e.g., GSM/GPRS/EDGE,
CDMA/CDMA2000/1x-EV-DO, WCDMA/HSDPA/HSUPA, TDMA/PDC, WiMAX, etc.);
any of a variety of position-related communication interface
modules (e.g., GPS, A-GPS, etc.); any of a variety of
wired/tethered communication interface modules (e.g., USB, Fire
Wire, RS-232, HDMI, Ethernet, wireline and/or cable modem, etc.);
any of a variety of communication interface modules related to
communicating with external memory devices; etc. The exemplary
system component 500 is also illustrated as comprising various
wired 506 and/or wireless 505 front-end modules that may, for
example, be included in the communication interface modules and/or
utilized thereby.
[0109] The exemplary system component 500 may also comprise any of
a variety of signal processing module(s) 590. Such signal
processing module(s) 590 may share any or all characteristics with
modules of the exemplary system component 400 that perform signal
processing. Such signal processing module(s) 590 may, for example,
be utilized to assist in processing various types of information
discussed previously (e.g., with regard to sensor processing,
position determination, video processing, image processing, audio
processing, general user interface information data processing,
etc.). For example and without limitation, the signal processing
module(s) 590 may comprise: video/graphics processing modules (e.g.
MPEG-2, MPEG-4, H.263, H.264, JPEG, TIFF, 3-D, 2-D, MDDI, etc.);
audio processing modules (e.g., MP3, AAC, MIDI, QCELP, AMR, CMX,
etc.); and/or tactile processing modules (e.g., Keypad I/O, touch
screen processing, motor control, etc.).
[0110] In summary, various aspects of the present invention provide
a system and method in a distributed system (e.g., a distributed
television system) for providing user-selection of objects in a
television program. While the invention has been described with
reference to certain aspects and embodiments, it will be understood
by those skilled in the art that various changes may be made and
equivalents may be substituted without departing from the scope of
the invention. In addition, many modifications may be made to adapt
a particular situation or material to the teachings of the
invention without departing from its scope. Therefore, it is
intended that the invention not be limited to the particular
embodiment disclosed, but that the invention will include all
embodiments falling within the scope of the appended claims.
* * * * *