CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCEThis 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. __/______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A LOCAL TELEVISION SYSTEM FOR RESPONDING TO USER-SELECTION OF AN OBJECT IN A TELEVISION PROGRAM”, Attorney Docket No. 21046US02; U.S. patent application Ser. No. __/______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A TELEVISION SYSTEM FOR RESPONDING TO USER-SELECTION OF AN OBJECT IN A TELEVISION PROGRAM BASED ON USER LOCATION”, Attorney Docket No. 21047US02; U.S. patent application Ser. No. __/______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A TELEVISION SYSTEM FOR PRESENTING INFORMATION ASSOCIATED WITH A USER-SELECTED OBJECT IN A TELEVISION PROGRAM”, Attorney Docket No. 21048U502; U.S. patent application Ser. No. __/______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A TELEVISION SYSTEM FOR PRESENTING INFORMATION ASSOCIATED WITH A USER-SELECTED OBJECT IN A TELEVISION PROGRAM”, Attorney Docket No. 21049US02; U.S. patent application Ser. No. __/______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A TELEVISION SYSTEM FOR RESPONDING TO USER-SELECTION OF AN OBJECT IN A TELEVISION PROGRAM UTILIZING AN ALTERNATIVE COMMUNICATION NETWORK”, Attorney Docket No. 21050US02; 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. 21052U502; U.S. patent application Ser. No. __/______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A TELEVISION FOR PROVIDING ADVERTISING INFORMATION ASSOCIATED WITH A USER-SELECTED OBJECT IN A TELEVISION PROGRAM”, Attorney Docket No. 21053US02; U.S. patent application Ser. No. __/______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A TELEVISION FOR PROVIDING INFORMATION ASSOCIATED WITH A USER-SELECTED PERSON IN A TELEVISION PROGRAM”, Attorney Docket No. 21054U502; U.S. patent application Ser. No. __/______, filed concurrently herewith, titled “SYSTEM AND METHOD IN A TELEVISION FOR PROVIDING INFORMATION ASSOCIATED WITH A USER-SELECTED INFORMATION ELEMENT IN A TELEVISION PROGRAM”, Attorney Docket No. 21055US02. The contents of each of the above-mentioned applications are hereby incorporated herein by reference in their entirety.
FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT[Not Applicable]
SEQUENCE LISTING[Not Applicable]
MICROFICHE/COPYRIGHT REFERENCE[Not Applicable]
BACKGROUND OF THE INVENTIONPresent television systems are incapable of providing for and/or conveniently providing for user-selection of objects in a television program, much less responding to such selection. 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 INVENTIONVarious aspects of the present invention provide a system and method in a distributed television system for responding to user-selection of an object 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 DRAWINGSFIG. 1 is a diagram illustrating an exemplary television system, in accordance with various aspects of the present invention.
FIG. 2 is a flow diagram illustrating an exemplary method for responding to user-selection of objects in television programming, in accordance with various aspects of the present invention.
FIG. 3 is a flow diagram illustrating an exemplary method for responding to user-selection of objects in television programming, in accordance with various aspects of the present invention.
FIG. 4 is a diagram illustrating an exemplary television, in accordance with various aspects of the present invention.
FIG. 5 is a diagram illustrating an exemplary television receiver, in accordance with various aspects of the present invention.
FIG. 6 is a diagram illustrating an exemplary television controller, in accordance with various aspects of the present invention.
FIG. 7 is a diagram illustrating exemplary modules and/or sub-modules for a local television system, in accordance with various aspects of the present invention.
DETAILED DESCRIPTION OF VARIOUS ASPECTS OF THE INVENTIONThe 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.
Additionally, the following discussion will refer to various television system modules (e.g., television modules, television receiver modules, television controller modules, modules of a user's local television system, modules of a geographically distributed television system, etc.). 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.
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.
The following discussion may at times refer to an on-screen pointing location. Such a pointing location refers to a location on the television screen (e.g., a primary television screen, a secondary television screen, etc.) 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.
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 system, comprise receiving a television program, presenting such received television program to a user, determining an object in the television program that has been selected by the user, determining based on the user-selected object one or more interactions to perform with entities remote from the user's local television system, and performing such determined one or more interactions.
Also, the following discussion will at times refer to user-selectable objects in television programming. Such user-selectable objects 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., 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, reports, 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.).
Turning first toFIG. 1, such figure is a diagram illustrating a non-limitingexemplary television system100 in accordance with various aspects of the present invention. Theexemplary system100 includes atelevision provider110. Thetelevision provider110 may, for example, comprise a television network company, a cable company, a movie-providing company, a news company, an educational institution, etc. Thetelevision provider110 may, for example, be an original source of television programming (or related information). Also for example, thetelevision provider110 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.). Thetelevision provider110 may, for example, provide television programming and non-programming information and/or video content. Thetelevision provider110 may, for example, provide information related to a television program (e.g., information describing or otherwise related to selectable objects in programming, etc.). Thetelevision provider110 may, for example, operate to (which includes “operate when enabled to”) perform any or all of the functionality discussed herein.
Theexemplary television system100 may also include a third partyprogram information provider120. 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, information to provide to a user upon selection of a selectable object in programming, information related to various interactions that may be performed (e.g., with networked entities remote from the user's local television system) upon user selection of a selectable object, program guide information, etc. The third partyprogram information provider120 may, for example, operate to (which includes “operate when enabled to”) perform any or all of the functionality discussed herein.
Theexemplary television system100 may include one or more communication networks (e.g., the communication network(s)130). Theexemplary communication network130 may comprise characteristics of any of a variety of types of communication networks over which television programming and/or information related to television programming (e.g., information identifying and/or describing and/or otherwise related to user-selectable objects in television programming) may be communicated. For example and without limitation, thecommunication network130 may comprise characteristics of any one or more of: a cable television network, a satellite television network, a telecommunication network, a general data 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.
Theexemplary television system100 may include afirst television140. Such afirst television140 may, for example, comprise networking capability enablingsuch television140 to communicate directly with thecommunication network130. For example, thefirst television140 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, thefirst television140 may comprise one or more recording devices (e.g., for recording and/or playing back video content, television programming, etc.). Thefirst television140 may, for example, operate to (which includes “operate when enabled to”) perform any or all of the functionality discussed herein.
Theexemplary television system100 may include afirst television controller160. Such afirst television controller160 may, for example, operate to (e.g., which includes “operate when enabled to”) control operation of thefirst television140. Thefirst television controller160 may comprise characteristics of any of a variety of television controlling devices. For example and without limitation, thefirst television controller160 may comprise characteristics of a dedicated television control device, a universal remote control, a cellular telephone or personal computing device with television control capability, any personal electronic device with television control capability, etc. Thefirst television controller160 may, for example, operate to (which includes “operate when enabled to”) perform any or all of the functionality discussed herein. In a non-limiting exemplary configuration, thefirst television controller160 may comprise an on-board display which may operate as a television screen (e.g., a primary, secondary and/or parallel television screen) via which thefirst television controller160 may present television programming and/or interface with a user regarding user-selectable objects in television programming.
The first television controller160 (or television control device) may, for example, transmit signals directly to thefirst television140 to control operation of thefirst television140. Thefirst television controller160 may also, for example, operate to transmit signals (e.g., via the communication network130) to thetelevision provider110 to control television programming (or related information) being provided to thefirst television140, or to conduct other transactions (e.g., business transactions, etc.).
As will be discussed in more detail later, thefirst television controller160 may operate to communicate screen pointing and/or object selection information with thefirst television140 and/or other devices. Also, as will be discussed in more detail later, various aspects of the present invention include a user selecting a user-selectable object in programming. Such selection may, for example, be performed by the 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. Thefirst television controller160 provides a non-limiting example of a device that a user may utilize to point to an on-screen location.
As will be mentioned throughout the following discussion, various aspects of the invention will be performed by one or more devices, components and/or modules of a user's local television system. Thefirst television140 andfirst television controller160 provide a non-limiting example of a user's local television system. Such a user's local television system, for example, generally refers to the television-related devices that are local to the television system currently being utilized by the user. For example, when a user is utilizing a television system located at the user's home, the user's local television system generally refers to the television-related devices that make up the user's home television system. Also for example, when a user is utilizing a television system at a premises away from the user's home (e.g., at another home, at a hotel, at an office, etc.), the user's local television system generally refers to the television-related devices that make up the premises television system Such a user's local television system does not, for example, comprise television network infrastructure devices that are generally outside of the user's current premises (e.g., cable and/or satellite head-end apparatus, cable and/or satellite communication intermediate communication network nodes) and/or programming source devices that are generally managed by television enterprises and generally exist outside of the user's home. Such entities, which may be communicatively coupled to the user's local television system may be considered to be entities remote from the user's local television system (or “remote entities”).
Theexemplary television system100 may also include atelevision receiver151. Thetelevision receiver151 may, for example, operate to (e.g., which includes “operate when enabled to”) provide a communication link between a television and/or television controller and a communication network and/or information provider. For example, thetelevision receiver151 may operate to provide a communication link between thesecond television141 and thecommunication network130, or between thesecond television141 and the television provider110 (and/or third party program information provider120) via thecommunication network130.
Thetelevision receiver151 may comprise characteristics of any of a variety of types of television receivers. For example and without limitation, thetelevision receiver151 may comprise characteristics of a cable television receiver, a satellite television receiver, etc. Also for example, thetelevision receiver151 may comprise a data communication network modem for data network communications (e.g., with the Internet, a LAN, PAN, MAN, telecommunication network, etc.). Thetelevision receiver151 may also, for example, comprise recording capability (e.g., programming recording and playback, etc.). Thetelevision receiver151 may, for example, be a stand-alone component (e.g., a set top box) or may be integrated with any of a variety of other television system components (e.g., a television, a video recorder, a gaming station, etc.). Thetelevision receiver151 may, for example, operate to (which includes “operate when enabled to”) perform any or all of the functionality discussed herein.
Theexemplary television system100 may include asecond television controller161. Such asecond television controller161 may, for example, operate to (e.g., which includes “operate when enabled to”) control operation of thesecond television141 and thetelevision receiver151. Thesecond television controller161 may comprise characteristics of any of a variety of television controlling devices. For example and without limitation, thesecond television controller161 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, any personal electronic device with television control capability, etc.
Thesecond television controller161 may, for example, operate to transmit signals directly to thesecond television141 to control operation of thesecond television141. Thesecond television controller161 may, for example, operate to transmit signals directly to thetelevision receiver151 to control operation of thetelevision receiver151. Thesecond television controller161 may additionally, for example, operate to transmit signals (e.g., via thetelevision receiver151 and the communication network130) to thetelevision provider110 to control television programming (or related information) being provided to thetelevision receiver151, or to conduct other transactions (e.g., business transactions, etc.). Thesecond television controller161 may further, for example, operate to receive signals from thesecond television141 and/ortelevision receiver151. Such signals may, for example, comprise signals communicating television programming, information identifying and/or describing user-selectable objects in television programming and/or any of a variety of other information to thesecond television controller161. As a non-limiting example, thesecond television controller161 may comprise an on-board display which may operate as a television (e.g., a primary television, secondary television, parallel television (presenting on the on-board display a same television program as that being presented by the second television141), etc.). In such a configuration, thesecond television controller161 may, for example, operate to perform any or all of the functionality discussed herein.
As will be discussed in more detail later, various aspects of the present invention include a user selecting a user-selectable object in programming. Such selection may, for example, comprise the 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. Thesecond television controller161 provides one non-limiting example of a device that a user may utilize to point to an on-screen location. Also, in a scenario in which thesecond television controller161 comprises a touch screen, a user may touch a location of such touch screen to point to an on-screen location (e.g., to select a user-selectable object).
As will be mentioned throughout the following discussion, and as mentioned previously in the discussion of thefirst television140 andtelevision controller160, various aspects of the invention will be performed by one or more devices, components and/or modules of a user's local television system. Thesecond television141,television receiver151 andsecond television controller161 provide another non-limiting example of a user's local television system.
Theexemplary television system100 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 theexemplary television system100 unless explicitly claimed.
FIG. 2 is a flow diagram illustrating anexemplary method200 for responding to user-selection of objects in television programming, in accordance with various aspects of the present invention. Any or all aspects of theexemplary method200 may, for example, be implemented in one or more devices (or components or modules) of a user's local television system (e.g., in any one or more of thefirst television140 and/orsecond television141, thetelevision receiver151, thefirst television controller160 and/orsecond television controller161, etc., shown inFIG. 1 and discussed previously).
Theexemplary method200 may, for example, begin executing atstep205. Theexemplary method200 may begin executing in response to any of a variety of causes and/or conditions, non-limiting examples of which will now be provided. For example, theexemplary method200 may begin executing in response to a user command to begin, in response to user selection of a user-selectable object in a television program, upon television and/or television receiver and/or television controller reset 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 receipt and/or presentation of a television program comprising user-selectable objects, in response to user payment of a fee, etc.
Theexemplary method200 may, for example atstep220, comprise determining an identity of a user-selected object in a television program being presented to a user. Step220 may comprise performing such determining in any of a variety of manners, non-limiting examples of which will now be provided.
For example, step220 may comprise analyzing various sensor readings to identify an object in television programming selected by a user. For example, step220 may comprise performing such analysis in a local television system component (or device) implementing theexemplary method200. Also for example, step220 may comprise receiving information from another television system component (or device) identifying an object in a television program that has been selected by a user. In such an exemplary scenario, step220 may, for example, comprise receiving object identification information from another television system component (or device) of the user's local television system and/or from another television system component remote from the user's local television system (e.g., via a direct communication link; via a personal area network, local area network or home area network; via the Internet, etc.).
Many examples of such object-selection determination are provided in U.S. Provisional Patent Application 61/242,234, which is hereby incorporated herein by reference in its entirety. Additionally, examples of such object-selection determination are also provided in: 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 ______, titled “SYSTEM AND METHOD IN A DISTRIBUTED SYSTEM FOR PROVIDING USER-SELECTION OF OBJECTS IN A TELEVISION PROGRAM”, Attorney Docket No. 21038US02; U.S. patent application Ser. No. __/______, filed ______, 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 ______, 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 ______, 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; and U.S. patent application Ser. No. __/______, filed ______, 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.
A user-selectable object in a television program may be identified by one or more identifiers comprising any of a variety of characteristics. For example, a user-selectable object may be identified by a universally (or globally) unique serial number. For example, a user-selectable object may be identified by a data structure that includes a plurality of code fields (e.g., country field, a company or enterprise ID field, a product type field, a product model field, a date/time field, a language field, a personal identifier, etc.). Also for example, a user-selectable object may be identified, at least in part, by a communication network address at which information about a user-selectable object may be obtained (e.g., a Universal Resource Locator (URL), an Internet address, a memory address, a database identifier, a server identifier and/or address, etc.).
In general,step220 may comprise determining an identity of a user-selected object in a television program being presented to a user. Accordingly, the scope of various aspects of the present invention should not be limited by particular characteristics of any particular type of identification and/or of any particular manner of making such a determination unless explicitly claimed.
Theexemplary method200 may, atstep230, comprise determining, based at least in part on the determined object identity, one or more interactions in which to engage with an entity remote from the user's local television system (e.g., remote from the user's premises). Step230 may comprise determining any of a variety of different types of interactions and may comprise making such determination in any of a variety of manners, non-limiting examples of which will now be provided.
The determined interactions may comprise any of a variety of characteristics, non-limiting examples of which will also be provided. Such interactions may, for example, comprise determining information to present to the user (e.g., retrieving such information from a known location at an entity (e.g., a television system component, networked non-television system component, etc.) remote from the user's local television system, conducting a search for such information in one or more entities remote from the user's local television system (e.g., searching only in such entities or in addition to searching in various components of the user's local television system), etc.), notifying one or more other entities (e.g., a television system component, network non-television system component, etc.) of the user's selection of the user-selected object (e.g., notifying a television network enterprise, a production enterprise, a distribution enterprise, a rating company, an advertising agency, etc.), establishing a communication session by which a user may interact with networked entities (e.g., one or more entities remote from the user's local television system) associated with a user-selected object (e.g., communicating regarding general object information, communicating regarding obtaining a user-selected object, communicating regarding membership in an organization related to the user-selected object, etc.), interacting with a user regarding local television system control and/or control of a remote television system component, interacting with a user regarding display of a user-selected object and/or associated information, etc.
For example, step230 may comprise determining, based at least in part on the determined object identity, to obtain (or acquire) one or more sets of information from a remote system entity (e.g., remote from the user's local television system), where such information may then, for example, be presented to the user. Such information obtaining may comprise characteristics of any of a variety of different manners of obtaining such information.
For example, step230 may comprise determining a memory address of a remote entity associated with the information, and retrieving the information from the determined memory address. For example, such memory address information may be stored in a table or other data structure indexed by object identity (e.g., by general object type or name, by exact object identity, by object source, etc.). Such a memory may, for example, be part of a user's local television system component (or device) implementing thestep230. Such a memory may also, for example, be a memory of another local television system component that is communicatively coupled to the component implementing step230 (e.g., a memory accessible by direct memory access, via an information retrieval communication protocol between components, etc.). Such a memory may additionally, for example, be a memory of a system entity that is remote from the user's local television system that is communicatively coupled to the component implementing step230 (e.g., a memory accessible by direct memory access, via an information retrieval communication protocol between components, etc.).
Also for example, step230 may comprise determining, based at least in part on the determined object identity, a communication network address (e.g., a network address of a one or more components remote from the user's local television system, a television communication network address, an Internet address, etc.). For example, such network address information may be stored in a table or other data structure indexed by object identity (e.g., by general object type or name, by exact object identity, by object source, etc.). Such a network address may, for example, correspond to a network address at which information corresponding to the identified object may be obtained, a network address of a component with which a communication session may be initiated and/or conducted (e.g., to obtain information regarding the user-selected object, to interact with the user regarding the selected object, etc.), etc.
In an information-determining scenario, the information may comprise any of a variety of different types of information related to the user-selected object. For example and without limitation, the determined information may comprise information describing the object (e.g., information describing aspects of the object, history of the object, design of the object, source of the object, price of the object, critiques of the object, information provided by commercial enterprises producing and/or providing such object, etc.), information indicating to the user how the user may obtain the selected object, information indicating how the user may utilize the selected object, etc. The information may, for example, comprise information of one or more non-commercial organizations associated with, and/or having information pertaining to, the identified user-selected object (e.g., non-profit and/or government organization contact information, web site address information, etc.). In general,step230 may comprise determining to obtain any of a variety of types of information corresponding to the identified user-selected object (e.g., from an entity remote from the user's local television system), where such information may for example, be presented to the user and/or utilized to perform additional actions on behalf of the user.
Step230 may also, for example, comprise determining to conduct, based at least in part on the determined object identity, a search for information corresponding to the identified user-selected object. Such a search may, for example, comprise a search of one or more entities (or system components) remote from the user's local television system (e.g., a search only of such remote entities or a search of such remote entities in addition to one or more components of the user's local television system, home communication network, etc.).
For example, step230 may comprise determining, based at least in part on the determined object identity, network search terms that may be utilized in a search engine to search for information corresponding to the user-selected object. For example, such search term information may be stored in a table or other data structure indexed by object identity (e.g., by general object type or name, by exact object identity, by object source, etc.).
In another exemplary scenario, step230 may comprise determining to request information for a particular user-selected object or type of user-selected object from a remote entity. For example, step230 may comprise determining a network address of a remote information server and communicating a request for a particular user-selected object from such information server. In an exemplary scenario comprising a plurality of different information sources (e.g., remote information sources) for respective user-selectable objects,step230 may comprise determining to which of the plurality of different information servers the information request should be sent.
As discussed above, one or more actions determined atstep230 may comprise determining to obtain information corresponding to the user-selected object, where such information determining may, for example, comprise accessing such information directly from memory, searching for such information in a variety of manners, etc.
In an exemplary scenario in which such information corresponding to user-selectable objects is stored in one or more television system entities (or other networked entities) remote from the user's local television system,step230 may comprise determining to initiate an interactive session with the user to more clearly identify information desired by the user. For example, step230 may comprise determining that, since a relatively large amount of information corresponding to a user-selected object in the television program is available, additional interaction with the user is necessary to reduce the amount of information that may ultimately be presented to the user. For example, step230 may comprise determining to provide a list (or menu) of types of information available to the user and solicit input from the user regarding the selection of one or more of the listed types of information for presentation to the user.
As discussed above, one or more of the actions determined atstep230 may comprise establishing a communication session (e.g., a one-way and/or two-way communication session via the second communication network) by which a user may interact with networked entities associated with a user-selected object. For example, such networked entities may comprise components (or devices) remote from the user's local television system. In an exemplary scenario, step230 may comprise determining to open a user interface session with an object information database (or server) remote from the user's local television system. Such database may, for example, comprise a television system entity, but may also comprise a database independent of a television system (e.g., a server with a general Internet presence, a server on a Local Area Network (LAN) to which the user's local television system has access, etc.). Also for example, in an exemplary scenario (e.g., in which a user selects an object in a television program associated with a particular person),step230 may comprise determining to open a communication session with such person and/or an associated organization or other entity (e.g., a telephone call may be placed, an Internet chat session may be opened, an Internet blog may be entered, an email may be sent, an instant message may be sent, standard mail may be sent, a facsimile may be transmitted, etc.).
Such a user interface (e.g., a two-way user interface) may be utilized by the user to interact with networked entities associated with a user-selected object. For example, such a communication interface may be utilized by the user to interact with one or more entities remote from the user's local television system to communicate regarding general object information, communicate regarding the user acquiring a user-selected object, communicate regarding membership in an organization and/or service related to the user-selected object, etc.
Also for example, such a user interface may be utilized to interact with a user regarding local television system control and/or control of a remote television system component. For example, such a user interface may be utilized to provide user control of television program presentation (e.g., user control of remote and/or local television program sources).
Additionally for example, such a user interface may be utilized to interact with a user regarding display of information associated with a user-selected object (e.g., interacting with a menu structure associated with retrieved and/or available object information, interacting with the user regarding screen location for presentation of such information, regarding size of presented information, regarding information scrolling control, regarding duration of information presentation, regarding whether to pause presentation of the television program while such information is being presented to the user, etc.
Also as discussed above, one or more of the actions determined atstep230 may comprise providing a user interface by which a user may control presentation of the user-selected object to the user. Such an action may, for example, comprise providing a user interface by which the user may pause the television program, center the object on the screen, zoom in and/or out on the object, etc. Such an action may, for example in an exemplary scenario where 3-D object information is available (e.g., stored in a networked entity remote from the user's local television system, stored in a component of the user's local television system, etc.), comprise providing a user interface by which a user may rotate the user-selected object to provide the user with a more complete understanding of the user-selected object. In another exemplary scenario, for example a scenario in which information regarding ordering the user-selected object is available for the user to consider, such an action may comprise providing a user interface by which the user may explore optional characteristics of the user-selected object (e.g., different available coloration, add-ons, delivery options, etc.).
Step230 may, for example, comprise determining to perform an interaction comprising notifying an entity remote from the user's local television system of the selection of the user-selected object. For example, step230 may comprise establishing a communication link with any of a variety of remote entities (e.g., enterprises providing an object or related service, enterprises advertising an object or related service, a television program server, a television network operator, etc.).
For example, in a non-limiting exemplary scenario in which a user select an object in a television program representing a good and/or service,step230 may comprise determining to communicate a message to a commercial enterprise providing such a good and/or service. In another exemplary scenario in which a user selects an object in a television program representing a good and/or service, a message may be sent to a third party service that tracks user interest in such a good and/or service. In yet another exemplary scenario in which a user selects an object in a television program representing a particular person (e.g., an actor, spokesperson, athlete, politician, comedian, etc.),step230 may comprise determining to communicate a message (e.g., an email message) to the particular person (and/or a representative thereof) notifying such particular person of the user selection.
As shown above, various user-selectable objects (or types of objects) may, for example, be associated with any of a variety of respective actions that may be taken (e.g., by one or more components of the user's local television system) upon selection of a respective user-selectable object by a user. Such actions (e.g., information retrieval, information searching, television system control, communication session management, etc.) may, for example, be included in a table or other data structure. In such a scenario, for example, when a user selects object A in a television program,step230 may comprise analyzing a table to determine that object A is associated with presentation of remotely stored information to the user and providing the user a mechanism by which the user may view such object at different angles. In another example, when a user selects object B in a television program (e.g., where object B is an baseball player),step230 may comprise analyzing a table to determine that the baseball player is associated with presentation of season and lifetime statistics, and provision of a menu-based interface to the user by which the user may access (e.g., at a remote information server associated with the player, a team on which the player plays, a league in which the user plays, etc.) any of a variety of types of additional personal and/or professional information regarding the baseball player.
In yet another example, when a user selects a landmark in a movie,step230 may comprise analyzing a data structure to determine that the landmark is associated with acquisition (e.g., from a remote server) of history information regarding such landmark and hours of operation and presentation of such acquired information to the user, providing a user interface to the user by which the user may request map and/or travel directions from a remote information server to see such landmark, and providing a user interface to the user by which the user may peruse an album of photographs of the landmark where such album is stored at a remote database. In still another example, when a user selects an actor in a movie,step230 may comprise analyzing a table to determine that all actors are associated with searching a remote database for personal and/or filmography information, and providing a user interface to the user by which the user may peruse an album of photographs of the actor.
As discussed previously,step230 may comprise determining one or interactions to perform based on general type of a user-selected object or based on specific identity of a user-selected object. Step230 may also comprising determining one or more interactions to perform based on the general type of a user-selected object and determining one or more interactions to perform based on specific identity (or other more specific identifying characteristics) of a user-selected object. For example, in a non-limiting exemplary scenario, user-selection of an actor may cause execution of an interaction generally associated with all actors (e.g., acquisition of general information of the actor from a database remote from the user's local television system, for example the actor's name, to the user on a television screen), and user-selection of the specific actor may cause execution of an interaction specifically associated with the selected actor (e.g., acquisition of specific information of the actor from the specific actor's personal website and providing a user interface enabling the user to interact with the actor's personal website).
Note that in all of the examples above, any or all of the descriptive information, user interface information, and/or user interface capability may reside autonomously in the user's local television system (i.e., in one or more components thereof) and/or may reside in a system entity remote from the user's local television system and communicatively coupled to the user's local television system.
In general,step230 may comprise determining, based at least in part on the determined object identity, one or more interactions in which to engage with an entity remote from the user's local television system (e.g., remote from the user's premises). Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular user-selected object, characteristics of any particular interaction and/or any particular manner of determining to perform any particular interaction unless explicitly claimed.
As discussed above, one or more actions determined atstep230 may comprise determining to perform interactions with remote entities, where such interactions may comprise accessing such information directly from memory of a remote entity, searching for such information in a remote entity, directly requesting a remote entity for information of a user-selected object, establishing a communication link with a remote entity, etc. In such an exemplary scenario, information related to determining one or more interactions to perform and/or determining how to perform such one or more determined interactions may be stored in one or more components of the user's local television system. Such information (or a remote portion thereof) may also, for example, be stored in a remote entity.
In an exemplary scenario in which such information corresponding to selection and/or performance of interactions associated with user-selectable objects is stored in one or more components of the user's local television system (e.g., a television, a television receiver, a television controller, etc.), themethod200 may comprise receiving data associating a user-selectable object in the television program with one or more interactions and/or the performance thereof. For example, themethod200 may comprise receiving a data stream (or other data communication format, for example, a file) comprising such information, and storing such information in a memory (or database) of the user's local television system (e.g., before a need arises to access and/or utilize such information).
For example, in such a scenario, such data receiving may comprise receiving such data embedded in a same television program signal that communicates the television program to the user's local television system. Also for example, such data receiving may comprise receiving the data in parallel with receipt of a television program signal that communicates the television program to the user's local television system. Additionally for example, such data receiving may comprise receiving the data in a signal that is independent of a television program signal that communicates the television program to the user's local television system (e.g., receiving such signals from a same source and/or from different respective sources). Further for example, such data receiving may comprise receiving the data in a plurality of different signals from a plurality of different respective sources.
As discussed previously, the received object information may be stored in memory (e.g., of the user's local television system) indexed by object identification, object type, television program in which the object appears, scene and/or frame of the television program in which the object appears or to which an object selection window corresponds, etc. Also for example, the received object information may be stored in memory indexed (or otherwise accessible) by search terms.
Turning next to step240, such step may comprise performing the one or more interactions determined atstep230. Step240 may comprise performing such one or more interactions in any of a variety of manners, non-limiting examples of which will be presented below. Step240 may, for example, comprise performing such one or more interactions in respective manners dependent on the respective natures of such one or more interactions.
For example, in an exemplary scenario in which a determined interaction comprises determining (or acquiring) information associated with a user-selected object, step240 may comprise performing such information determining. For example, step240 may comprise acquiring information associated with the user-selected object from a memory (or database) of an entity remote from the user's local television system.
Also for example, in an exemplary scenario in which a determined interaction comprises determining (or acquiring) information associated with a user-selected object, step240 may comprise determining search terms (or other searching information) and performing such searching. Performing such searching may, for example, comprise searching a storage of a remote entity for such search terms, querying an entity remote from the user's local television system with such search terms, requesting information from a remote entity concerning a particular user-selected object (or type thereof), etc.
After information is determined,step240 may, for example, comprise presenting such determined information to the user. Such presenting may, for example, comprise displaying and/or generating a signal that causes the display of the determined information on a screen of the user's local television system (e.g., on a screen of a television, on a screen of a television remote control, on a screen of a television receiver and/or another component of the user's local television system, etc.).
Additionally for example, in an exemplary scenario in which a determined interaction comprises establishing a communication session by which a user may interact with networked entities associated with a user-selected object (e.g., other components of a television system remote from the user's local television system, other components independent of the television system and remote from the user's local television system, etc.),step240 may comprise establishing and/or managing such communication session utilizing the appropriate communication protocol(s) (e.g., wired and/or wireless network communication protocols).
Further for example, in an exemplary scenario in which a determined interaction comprises providing a user interface by which the user can control user-selected object information being presented to the user, by which the user can manipulate a view of a selected object, by which a user can interface with one or more components (or devices) of an entity remote from the user's local television system, etc., step240 may comprise providing such user interface to the user (e.g., by utilizing the various user I/O devices in the user's local television system).
In general,step240 may comprise performing the one or more interactions determined atstep230. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular type of interaction nor by characteristics of any particular manner of performing such interaction unless explicitly claimed.
Theexemplary method200 may, atstep295, comprise performing continued operation. Such continued operation may comprise characteristics of any of a variety of different types of continued operation, non-limiting examples of which will be presented below.
For example, step295 may comprise looping execution flow of theexemplary method200 back to step220 for continued user-selected object determination, interaction determination and performing. Also for example, step295 may comprise looping execution flow of theexemplary method200 back to step230 for continued interaction determination and performance regarding a user-selected object. Additionally for example, step295 may comprise performing additional user interaction with the user to further refine the user-selected object interactions determined atstep230 and/or performed atstep240. For example, step295 may comprise interfacing with a user to determine which interactions to perform and/or how such interactions should be performed. Additionally for example, upon completion of the one or more interactions performed at step240 (e.g., in a scenario in which television program presentation is paused during the performance of such actions)step295 may comprise resuming normal presentation of the television program.
Also for example, step295 may comprise determining when the interaction(s) being performed atstep240 is complete. Step295 may, for example, comprise making such a determination in any of a variety of manners. For example and without limitation, step295 may comprise determining that the interaction performance is complete based, at least in part, on explicit user command indicating that the user no longer desires to interact with the entity remote from the user's local television system regarding user-selectable objects in television programming. Also for example, step295 may comprise determining that the interaction performance is complete based, at least in part, on user dismissal of presented information associated with a user-selected object (e.g., closing an information window and/or other GUI mechanism associated with the user-selected object). Additionally for example, step295 may comprise determining that the interaction performance is complete based, at least in part, on a timer (e.g., making such determination a predetermined amount of time after an information and/or a GUI interface is presented to a user, after a user has last interacted with the system regarding a user-selected object, etc.). Further for example, step295 may comprise determining that the interaction performance is complete based on a user command to perform some other action (e.g., a user command for normal television program play to resume (if halted), a user command for television program play at fast-forward until caught up to real-time, a user command to jump presentation of the television program to real-time, etc.).
In general,step295 may comprise performing continued operation. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular type of continued operation unless explicitly claimed.
Theexemplary method200 may be performed in any one or more components (or devices) of a user's local television system. For example, the method200 (or a portion thereof) may be performed in a television. Also for example, the method200 (or a portion thereof) may be performed in a television receiver (e.g., a stand-alone cable and/or satellite television receiver (or set top box), a digital video recorder with television receiver capability, a gaming device with television receiver capability, etc.). Additionally for example, the method200 (or a portion thereof) may be performed in a television controller (e.g., a dedicated television or entertainment system remote control, a personal electronic device with television control capability, etc.). Further for example, themethod200 may be performed in any combination of the user's local television system components. For example, in a non-limiting exemplary scenario, one or more modules of a television may operate to perform atleast step220, one or more modules of a television controller may operate to perform atleast step230, and one or more modules of a television receiver may operate to perform atleast step240. Additionally, various portions of any of the above-mentioned method steps (e.g.,step220,230 and240) may be performed in any one or more components (or devices) remote from the user's local television system.
Additionally, the steps of the exemplary method200 (or aspects thereof) may, for example, be performed 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 method200 (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 later time (e.g., after presentation of the television program, upon the user logging into the user's computer system, upon the user accessing email, etc.).
Further, any or all of the steps of theexemplary method200 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 user (or home) television programming recorder (e.g., a personal video recorder (PVR), video cassette recorder (VCR), etc.) and is currently being presented to the user (e.g., at step220) in a time-shifted manner. For example, a user may record a broadcast television program on a PVR for later viewing, view such recorded programming at a later time, and while viewing such time-shifted television programming at a later time, select user-selectable objects in such programming.
Similarly, any or all of the steps of theexemplary method200 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. Such DVDs may, for example, comprise any or all of the above-mentioned information (e.g., memory and/or network addressing for entities remote from the user's local television system, general information corresponding to user-selectable objects, user interface information corresponding to user-selectable objects, executable software corresponding to user-selectable objects, etc.).
Turning next toFIG. 3, such figure is a flow diagram illustrating anexemplary method300 for responding to user-selection of objects in television programming, in accordance with various aspects of the present invention. Theexemplary method300 may share any or all characteristics with theexemplary method200 illustrated inFIG. 2 and discussed previously.
As with theexemplary method200 discussed above, any or all aspects of theexemplary method300 may, for example, be implemented in the user's local television system (e.g., any or all or thefirst television140 and/orsecond television141, thetelevision receiver151, thefirst television controller160 and/orsecond television controller161, etc., shown inFIG. 1 and discussed previously). Also as with theexemplary method200 discussed above, portions of any of the exemplary steps of themethod300 may also be implemented in one or more components remote from the user's local television system.
Theexemplary method300 may, for example, begin executing atstep305. Theexemplary method300 may begin executing in response to any of a variety of causes or conditions. Step305 may, for example, share any or all characteristics withstep205 of theexemplary method200 illustrated inFIG. 2 and discussed previously.
Theexemplary method300 may, for example atstep310, comprise presenting a television program to a user, where the program comprises user-selectable objects in the program. Step310 may comprise presenting such television program to a user in any of a variety of manners, non-limiting examples of which will now be provided.
For example, step310 may comprise receiving television programming. Many non-limiting examples of such television programming were provided above. Step310 may comprise receiving the television programming from any of a variety of sources. For example and without limitation, step310 may comprise receiving the television programming from a television broadcasting company, from a movie streaming company, from a user (or consumer) video recording and/or playback device (e.g., internal and/or external to the television), from an Internet television programming provider, from a gaming device comprising television program capability, from a DVD player, etc.
Step310 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 cable television network. 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.).
Step310 may also, for example, comprise presenting received television programming to a user. Step310 may, for example, comprise presenting television programming received (e.g., received from a local and/or non-local television program source) to a user in any of a variety of manners. For example, step310 may comprise presenting the television programming on one or more of a screen of a television, television controller comprising a screen, television receiver comprising a screen, personal computer system, handheld computer, etc.
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, touch screen, or other user interface by which a user may identify an object in television programming being presented to the user).
In general,step310 may comprise presenting a television program to a user, where the program comprises user-selectable objects in the program. Accordingly, the scope of various aspects of the present invention should not be limited by characteristics of any particular manner of receiving and/or presenting such a television program to a user unless explicitly claimed.
Theexemplary method300 may, atstep320, comprise determining an identity of a user-selected object in a television program being presented to a user. Step320 may share any or all characteristics withstep220 of theexemplary method200 shown inFIG. 2 and discussed previously.
For example and without limitation, step320 may comprise (e.g., at sub-step322) locally determining such identity of a user-selected object (e.g., in a component (or device) of the user's local television system, for example, in a television, television receiver, television controller, etc.). Also for example, step320 may comprise (e.g., at sub-step324) receiving identity information regarding such a user-selected object from another component (or device) of the user's local television system (e.g., from a component of the user's local television system different from the component implementing step320) and/or from another television system component (or device) remote from the user's local television system.
Theexemplary method300 may, atstep330, comprise determining, based at least in part on the determined object identity, one or more interactions in which to engage with an entity remote from the user's local television system (e.g., remote from the user's premises). Step330 may, for example, share any or all characteristics withstep230 of theexemplary method200 illustrated inFIG. 2 and discussed previously.
Theexemplary method300 may, atstep340, comprise performing the one or more interactions determined atstep330. Step340 may, for example, share any or all characteristics withstep240 of theexemplary method200 illustrated inFIG. 2 and discussed previously.
For example and without limitation, step340 may comprise retrieving and/or presenting information associated with a user-selectable object. Such retrieving may comprise retrieving such information from a memory of an entity (e.g., a component or device) remote from the user's local television system. Such retrieving may also, for example, comprise conducting a search for such information in one or more components of a television system (or other network) remote from the user's local television system. Such retrieving may additionally, for example, comprise interacting with one or more other entities (e.g., one or more other components remote from the user's local television system) to retrieve such information. Step340 may then, for example, comprise presenting the retrieved information to the user.
Also for example, step340 may comprise notifying one or more other television system entities of the user's selection of the user-selected object (e.g., a production enterprise, a distribution enterprise, a rating company, an advertising agency, etc.). Additionally for example, step340 may comprise establishing a communication session by which a user may interact with networked entities (e.g., remote from the user's local television system) associated with a user-selected object (e.g., communicating regarding general object information, communicating regarding obtaining a user-selected object, communicating regarding membership in an organization related to the user-selected object, etc.). Further for example, step340 may comprise interacting with a user regarding local television system control and/or control of a remote television system component, interacting with a user regarding display of a user-selected object and/or associated information, etc.
Theexemplary method300 may, for example atstep395, comprise performing continued operations. Step395 may, for example, share any or all characteristics withstep295 of theexemplary method200 illustrated inFIG. 2 and discussed previously.
As discussed previously, any or all portion of theexemplary methods200 and300 may be implemented in one or more components (or devices) of a user's local television system. Various non-limiting examples of such implementation will now be presented in the discussion ofFIGS. 4-7. Note that, as discussed previously, at least portions of the previously-discussed steps may also be performed in components remote from the user's local television system. Accordingly, the scope of various aspects of the present invention should not be limited by the following focus on various entities of the user's local television system unless explicitly claimed.
Turning next toFIG. 4, such figure is a diagram illustrating anexemplary television400, in accordance with various aspects of the present invention. Theexemplary television400 may, for example, share any or all characteristics with one or more of theexemplary televisions140 and141 illustrated inFIG. 1 and discussed previously. Also, the exemplary television400 (e.g., various modules thereof) may operate to perform any or all of the functionality discussed previously with regard to theexemplary methods200 and300 illustrated inFIGS. 2-3 and discussed previously.
Theexemplary television400 includes a firstcommunication interface module410. The firstcommunication interface module410 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 firstcommunication interface module410 is illustrated coupled to a wireless RF antenna via awireless port412, the wireless medium is merely illustrative and non-limiting. The firstcommunication interface module410 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. Also for example, the firstcommunication interface module410 may operate to communicate with local sources of television video content (e.g., video recorders, receivers, gaming devices, etc.). Additionally, for example, the firstcommunication interface module410 may operate to communicate with a television controller and/or a television receiver external to the television400 (e.g., directly or via one or more intermediate communication networks).
Theexemplary television400 includes a secondcommunication interface module420. The secondcommunication interface module420 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 secondcommunication interface module420 may communicate via a wirelessRF communication port422 and antenna, or may communicate via a non-tethered optical communication port424 (e.g., utilizing laser diodes, photodiodes, etc.). Also for example, the secondcommunication interface module420 may communicate via a tethered optical communication port426 (e.g., utilizing a fiber optic cable), or may communicate via a wired communication port428 (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 secondcommunication interface module420 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. Also for example, thesecond communication module420 may operate to communicate with local sources of television video content (e.g., video recorders, receivers, gaming devices, etc.). Additionally, for example, thesecond communication module420 may operate to communicate with a television controller (e.g., directly or via one or more intervening communication networks).
Theexemplary television400 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 first410 and second420 communication interface modules discussed above.
Theexemplary television400 may also comprise acommunication module430. Thecommunication module430 may, for example, operate to control and/or coordinate operation of the firstcommunication interface module410 and the second communication interface module420 (and/or additional communication interface modules as needed). Thecommunication module430 may, for example, provide a convenient communication interface by which other components of thetelevision400 may utilize the first410 and second420 communication interface modules. Additionally, for example, in an exemplary scenario where a plurality of communication interface modules are sharing a medium and/or network, thecommunication module430 may coordinate communications to reduce collisions and/or other interference between the communication interface modules.
Theexemplary television400 may additionally comprise one or moreuser interface modules440. The user interface module(s)440 may generally operate to provide user interface functionality to a user of thetelevision400. For example, and without limitation, the user interface module(s)440 may operate to provide for user control of any or all standard television commands (e.g., channel control, volume control, on/off, screen settings, input selection, etc.). The user interface module(s)440 may, for example, operate and/or respond to user commands utilizing user interface features disposed on the television (e.g., buttons, etc.) and may also utilize the communication module430 (and/or first410 and second420 communication interface modules) to communicate with a television controller (e.g., a dedicated television remote control, a universal remote control, a cellular telephone, personal computing device, gaming controller, etc.).
The user interface module(s)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. For example and without limitation, the user interface module440 (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 thecommunication interface modules410,420, etc.). Also for example, in scenarios in which such sensors are active sensors (as opposed to purely passive sensors), the user interface module(s)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(s)440 may perform any of a variety of video output functions (e.g., presenting television programming to a user, providing visual feedback to a user regarding an identified user-selected object in the presented television programming, etc.).
Theexemplary television400 may comprise one ormore processors450. The processor(s)450 may, for example, comprise a general purpose processor, digital signal processor, application-specific processor, microcontroller, microprocessor, etc. For example, theprocessor450 may operate in accordance with software (or firmware) instructions. As mentioned previously, any or all functionality discussed herein may be performed (in-part or in-whole) by a processor executing instructions. For example, though various modules are illustrated as separate blocks or modules inFIG. 4, such illustrative modules, or a portion thereof, may be implemented by theprocessor450.
Theexemplary television400 may comprise one ormore memories460. 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 ormore memories460.Such memory460 may, for example, comprise characteristics of any of a variety of types of memory. For example and without limitation,such memory460 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.
Also as discussed previously, various information corresponding to user-selectable objects in television programming (e.g., descriptive information, communication information, user interaction information, user control information, information describing interactions with local and/or remote devices and associated with user-selectable objects, etc.) may be stored in memory. Thememory460 provides one non-limiting example of a memory in which such information may be stored. Note that such memory460 (or a portion thereof) may also be external to thetelevision400 and communicatively coupled thereto.
Theexemplary television400 may comprise one or more modules (not explicitly illustrated inFIG. 4) that operate to receive and present a television program to a user. Such one or more modules may, for example, operate to utilize one or more of the user interface module(s)440 to present the television program on thedisplay470. The one or more modules may, for example, operate to performstep310 of theexemplary method300 discussed previously.
Theexemplary television400 may comprise one or more user-selectedobject determination modules454 that operate to determining an identity of a user-selected object in a television program being presented to a user. For example, such module(s)454 may operate to performstep220 of theexemplary method200 discussed previously and/or step320 of theexemplary method300 discussed previously.
For example, in an exemplary scenario in which thetelevision400 locally determines an identify of a user-selected object, the module(s)454 may operate to utilize one or more of the user interface module(s)440 to interface with various sensors. Additionally, for example, the module(s)454 may operate to utilize the communication module430 (andcommunication interface modules410 and420) to communicate with external systems regarding various sensor signals.
Also for example, in another exemplary scenario in which thetelevision400 operates to receive information of the identity of a user-selected object in a television program from a source external to thetelevision400, the module(s)454 may operate to utilize the communication module430 (andcommunication interface modules410 and420) to communicate with such external source.
Theexemplary television400 may also, for example, comprise one or more interaction determination module(s)456 that operate to determine (e.g., based at least in part on the determined identity of a user-selected object in a television program) one or more interactions in which to engage with an entity remote from the user's local television system. For example, such module(s)456 may operate to performstep230 of theexemplary method200 discussed previously and/or step330 of theexemplary method300 discussed previously.
For example, in a non-limiting exemplary scenario in which such interaction determination comprises analyzing a table or other data structure correlating object identification characteristics to particular interactions, the module(s)456 may operate to analyze such a table and/or other data structure stored in thememory460. Additionally for example, in an exemplary scenario in which such interaction determination comprises interacting with the user to determine an initial interaction and/or subsequent interaction related to the identified user-selected object, the module(s)456 may operate to utilize the user interface module(s)440 to perform such user interaction.
Theexemplary television400 may additionally comprise one or moreinteraction performance modules458 that operate to perform the one or more interactions determined by the interaction determination module(s)456. For example, the interaction performance module(s)458 may operate to performstep240 of theexemplary method200 discussed previously and/or step340 of theexemplary method300 discussed previously.
For example, in a non-limiting exemplary scenario in which a determined interaction comprises retrieving information associated with an object from a memory of an entity remote from the user's local television system, the module(s)458 may operate to communicate with such memory (e.g., either directly, for example, utilizing DMA and/or indirectly utilizing an interface of the remote entity) of the remote entity. For example, the module(s)458 may operate to utilize the communication module430 (and firstcommunication interface module410 and/or second communication interface module420) to communicate with such remote entity. Such a remote entity may, for example, comprise a communication infrastructure component of a television system, a television server component, a cable and/or satellite head-end station, a networked information server, a remote computer communicatively coupled to the television, etc.
Also for example, in a non-limiting scenario in which a determined interaction comprises searching for information, the module(s)458 may operate to perform a search for such information. In such a scenario, the module(s)458 may, for example, operate to perform such a search in memory of other television system components and/or other networked entities that are remote from the user's local television system (e.g., directly utilizing direct memory access and/or utilizing a search interface provided by a remote entity). For example, the module(s)458 may operate to perform such a search in such remote entities utilizing the communication module430 (and firstcommunication interface module410 and/or second communication interface module420) to communicate with such remote entities. For example, such remote entities may provide an interface specifically adapted to request and/or search for information stored in and/or accessible to such remote entities. In such a scenario, the module(s)458 may operate in accordance with such interface.
In an exemplary scenario, a remote entity may operate in accordance with a protocol in which a requestor requests (via a communication network) information associated with a particular user-selected object, and the remote entity responds to such a request by communicating the requested information back to the requestor. In such a scenario, the module(s)458 would operate in accordance with such protocol when interacting with the remote entity via the communication network.
Additionally for example, in a non-limiting scenario in which a determined interaction comprises interfacing with a user of thetelevision400, the module(s)458 may operate to utilize the user interface module(s)440 to provide the user interface.
For example, in an exemplary scenario in which a determined interaction comprises presenting object information and/or different views of the object to a user, the module(s)458 may operate to utilize the user interface module(s)440 to perform such output (e.g., on thedisplay470 of the television400). Also for example, the module(s)458 may operate to utilize the communication module430 (and firstcommunication interface module410 and/or second communication interface module420) to communicate with one or more other local television system components to provide such information to such one or more other local television system components for presentation on respective output displays of such one or more other local television system components.
Further for example, in a non-limiting scenario in which a determined interaction comprises establishing and/or managing a communication session between the user and another system entity (e.g., a television system and/or non-television system entity remote from the user's local television system), the module(s)458 may operate to utilize the user interface module(s)440 to provide the user interface and utilize the communication module(s)430 (and firstcommunication interface module410 and/or second communication interface module420) to communicate to perform communication link establishment and/or management.
Still further for example, in a non-limiting scenario in which a determined interaction comprises notifying one or more other television system entities of the user's selection of the user-selected object (e.g., a production enterprise, a distribution enterprise, a rating company, an advertising agency, etc.), the module(s)458 may operate to utilize the communication module(s)430 (and firstcommunication interface module410 and/or second communication interface module420) to perform such notification.
Though not illustrated, theexemplary television400 may, for example, comprise one or more modules that operate to perform any or all of the continued processing discussed previously with regard to step295 of theexemplary method200 and step395 of theexemplary method300, discussed previously. Such modules (e.g., as with the one ormore modules454,456 and458) may be performed by the processor(s)450 executing instructions stored in thememory460.
Turning next toFIG. 5, such figure is a diagram illustrating anexemplary television receiver500, in accordance with various aspects of the present invention. Theexemplary television receiver500 may, for example, share any or all characteristics with theexemplary television receiver151 illustrated inFIG. 1 and discussed previously. Also, theexemplary television receiver500 may, for example, share any or all characteristics with theexemplary television400 illustrated inFIG. 4 and discussed previously. For example, the exemplary television receiver500 (e.g., various modules thereof) may operate to perform any or all of the functionality discussed previously with regard to theexemplary methods200 and300 illustrated inFIGS. 2-3 and discussed previously.
Theexemplary television receiver500 includes a firstcommunication interface module510. The firstcommunication interface module510 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 firstcommunication interface module510 is illustrated coupled to a wireless RF antenna via a wireless port512, the wireless medium is merely illustrative and non-limiting. The firstcommunication interface module510 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. Also for example, the firstcommunication interface module510 may operate to communicate with local sources of television video content (e.g., video recorders, receivers, gaming devices, etc.). Additionally, for example, the firstcommunication interface module510 may operate to communicate with a television controller and/or a television (e.g., directly or via one or more intermediate communication networks).
Theexemplary television receiver500 includes a secondcommunication interface module520. The secondcommunication interface module520 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 secondcommunication interface module520 may communicate via a wirelessRF communication port522 and antenna, or may communicate via a non-tethered optical communication port524 (e.g., utilizing laser diodes, photodiodes, etc.). Also for example, the secondcommunication interface module520 may communicate via a tethered optical communication port526 (e.g., utilizing a fiber optic cable), or may communicate via a wired communication port528 (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 secondcommunication interface module520 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. Also for example, thesecond communication module520 may operate to communicate with local sources of television video content (e.g., video recorders, receivers, gaming devices, etc.). Additionally, for example, thesecond communication module520 may operate to communicate with a television controller and/or a television external to the television receiver500 (e.g., directly or via one or more intervening communication networks). The secondcommunication interface module520 may, for example, operate to communicate video and/or graphics information to a television and/or television receiver (e.g., using any of the previous interfaces mentioned above).
Theexemplary television receiver500 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 first510 and second520 communication interface modules discussed above.
Theexemplary television receiver500 may also comprise acommunication module530. Thecommunication module530 may, for example, operate to control and/or coordinate operation of the firstcommunication interface module510 and the second communication interface module520 (and/or additional communication interface modules as needed). Thecommunication module530 may, for example, provide a convenient communication interface by which other components of thetelevision receiver500 may utilize the first510 and second520 communication interface modules. Additionally, for example, in an exemplary scenario where a plurality of communication interface modules are sharing a medium and/or network, thecommunication module530 may coordinate communications to reduce collisions and/or other interference between the communication interface modules.
Theexemplary television receiver500 may also comprise one or moretelevision interface modules535 that operate to provide an interface between thetelevision receiver500 and a television (e.g., a television external to thetelevision receiver500 or housed with the television receiver). For example, the television interface module(s)535 may operate to provide video, graphical and/or textual information to a television (e.g., via thecommunication module530, first communication interface module(s)510 and/or second communication interface module(s)520).
Theexemplary television receiver500 may additionally comprise one or moreuser interface modules540. The user interface module(s)540 may generally operate to provide user interface functionality to a user of thetelevision receiver500. For example, and without limitation, the user interface module(s)540 may operate to provide for user control of any or all standard television commands (e.g., channel control, volume control, on/off, screen settings, input selection, etc.). The user interface module(s)540 may, for example, operate and/or respond to user commands utilizing user interface features disposed on the television receiver500 (e.g., buttons, etc.) and may also utilize the communication module530 (and/or first510 and second520 communication interface modules) to communicate with a television controller (e.g., a dedicated television remote control, a universal remote control, a cellular telephone, personal computing device, gaming controller, etc.).
The user interface module(s)540 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. For example and without limitation, the user interface module540 (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 thecommunication interface modules510,520, etc.). Also for example, in scenarios in which such sensors are active sensors (as opposed to purely passive sensors), the user interface module(s)540 (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(s)540 may perform any of a variety of video output functions (e.g., presenting television programming to a user, providing visual feedback to a user regarding an identified user-selected object in the presented television programming, etc.).
Theexemplary television receiver500 may comprise one ormore processors550. The processor(s)550 may, for example, comprise a general purpose processor, digital signal processor, application-specific processor, microcontroller, microprocessor, etc. For example, theprocessor550 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 inFIG. 5, such illustrative modules, or a portion thereof, may be implemented by theprocessor550.
Theexemplary television receiver500 may comprise one ormore memories560. 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 ormore memories560.Such memory560 may, for example, comprise characteristics of any of a variety of types of memory. For example and without limitation,such memory560 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.
Also as discussed previously, various information corresponding to user-selectable objects in television programming (e.g., descriptive information, communication information, user interaction information, user control information, information describing interactions with local and/or remote entities and associated with user-selectable objects, etc.) may be stored in memory. Thememory560 provides one non-limiting example of a memory in which such information may be stored. Note that such memory560 (or a portion thereof) may also be external to thetelevision500 and communicatively coupled thereto.
Theexemplary television receiver500 may comprise one or more modules (not explicitly illustrated inFIG. 5) that operate to receive and present a television program to a user. Such one or more modules may, for example, operate to utilize one or more of the user interface module(s)540 to present the television program on the optional display570 (if present with thereceiver500 and/or communicatively coupled thereto). The one or more modules may, for example, operate to performstep310 of theexemplary method300 discussed previously.
Theexemplary television receiver500 may comprise one or more user-selectedobject determination modules554 that operate to determining an identity of a user-selected object in a television program being presented to a user. For example, such module(s)554 may operate to performstep220 of theexemplary method200 discussed previously and/or step320 of theexemplary method300 discussed previously.
For example, in an exemplary scenario in which thetelevision receiver500 locally determines an identify of a user-selected object, the module(s)554 may operate to utilize one or more of the user interface module(s)540 to interface with various sensors. Additionally, for example, the module(s)554 may operate to utilize the communication module530 (andcommunication interface modules510 and520) to communicate with external systems regarding various sensor signals.
Also for example, in another exemplary scenario in which thetelevision receiver500 operates to receive information of the identity of a user-selected object in a television program from a source external to thetelevision receiver500, the module(s)554 may operate to utilize the communication module530 (andcommunication interface modules510 and520) to communicate with such external source.
Theexemplary television receiver500 may also, for example, comprise one or more interaction determination module(s)556 that operate to determine (e.g., based at least in part on the determined identity of a user-selected object in a television program, one or more interactions in which to engage with an entity remote from the user's local television system. For example, such module(s)556 may operate to performstep230 of theexemplary method200 discussed previously and/or step330 of theexemplary method300 discussed previously.
For example, in a non-limiting exemplary scenario in which such interaction determination comprises analyzing a table or other data structure correlating object identification characteristics to particular interactions, the module(s)556 may operate to analyze such a table and/or other data structure stored in thememory560. Additionally for example, in an exemplary scenario in which such interaction determination comprises interacting with the user to determine an initial interaction and/or subsequent interaction related to the identified user-selected object, the module(s)556 may operate to utilize the user interface module(s)540 to perform such user interaction.
Theexemplary television receiver500 may additionally comprise one or moreinteraction performance modules558 that operate to perform the one or more interactions determined by the interaction determination module(s)556. For example, the interaction performance module(s)558 may operate to performstep240 of theexemplary method200 discussed previously and/or step340 of theexemplary method300 discussed previously.
For example, in a non-limiting exemplary scenario in which a determined interaction comprises retrieving information associated with an object from a memory of an entity remote from the user's local television system, the module(s)558 may operate to communicate with such memory of the remote entity (e.g., either directly, for example, utilizing DMA and/or indirectly utilizing an interface of the remote entity). For example, the module(s)558 may operate to utilize the communication module530 (and firstcommunication interface module510 and/or second communication interface module520) to communicate with such remote entity. Such a remote entity may, for example, comprise a communication infrastructure component of a television system, a television server component, a cable and/or satellite head-end station, a networked information server, a remote computer communicatively coupled to the television, etc.
Also for example, in a non-limiting scenario in which a determined interaction comprises searching for information, the module(s)558 may operate to perform a search for such information. In such a scenario, the module(s)558 may, for example, operate to perform such a search in memory of other television system components and/or other networked entities that are remote from the user's local television system (e.g., directly utilizing direct memory access and/or utilizing a search interface provided by a remote entity). For example, the module(s)558 may operate to perform such a search in such remote entities utilizing the communication module530 (and firstcommunication interface module510 and/or second communication interface module520) to communicate with such remote entities. For example, such remote entities may provide an interface specifically adapted to request and/or search for information stored in and/or accessible to such remote entities. In such a scenario, the module(s)558 may operate in accordance with such interface.
In an exemplary scenario, a remote entity may operate in accordance with a protocol in which a requestor requests (via a communication network) information associated with a particular user-selected object, and the remote entity responds to such a request by communicating the requested information back to the requestor. In such a scenario, the module(s)558 would operate in accordance with such protocol when interacting with the remote entity via the communication network.
Additionally for example, in a non-limiting scenario in which a determined interaction comprises interfacing with a user of thetelevision receiver500, the module(s)558 may operate to utilize the user interface module(s)540 to provide the user interface.
For example, in an exemplary scenario in which a determined interaction comprises presenting object information and/or different views of the object to a user, the module(s)558 may operate to utilize the user interface module(s)540 to perform such output (e.g., on theoptional display570 of thetelevision receiver500 if such adisplay570 is included). Also for example, the module(s)558 may operate to utilize the communication module530 (and firstcommunication interface module510 and/or second communication interface module520) to communicate with one or more other local television system components (e.g., a television, television controller, personal computing device or system, etc. coupled to the television receiver500) to provide such information to such one or more other local television system components for presentation on respective output displays of such one or more other local television system components.
Further for example, in a non-limiting scenario in which a determined interaction comprises establishing and/or managing a communication session between the user and another system entity, the module(s)558 may operate to utilize the user interface module(s)540 to provide the user interface and utilize the communication module(s)530 (and firstcommunication interface module510 and/or second communication interface module520) to communicate to perform communication link establishment and/or management.
Still further for example, in a non-limiting scenario in which a determined interaction comprises notifying one or more other television system entities of the user's selection of the user-selected object (e.g., a production enterprise, a distribution enterprise, a rating company, an advertising agency, etc.), the module(s)558 may operate to utilize the communication module(s)530 (and firstcommunication interface module510 and/or second communication interface module520) to perform such notification.
Though not illustrated, theexemplary television receiver500 may, for example, comprise one or more modules that operate to perform any or all of the continued processing discussed previously with regard to step295 of theexemplary method200 and step395 of theexemplary method300, discussed previously. Such modules (e.g., as with the one ormore modules554,556 and558) may be performed by the processor(s)550 executing instructions stored in thememory560.
Turning next toFIG. 6, such figure is a diagram illustrating anexemplary television controller600, in accordance with various aspects of the present invention. Theexemplary television controller600 may, for example, share any or all characteristics with theexemplary television controllers160 and161 illustrated inFIG. 1 and discussed previously. Also, theexemplary television controller600 may, for example, share any or all characteristics with theexemplary television400 illustrated inFIG. 4 and discussed previously and/or with theexemplary television receiver500 illustrated inFIG. 5 and discussed previously. For example, the exemplary television controller600 (e.g., various modules thereof) may operate to perform any or all of the functionality discussed previously with regard to theexemplary methods200 and300 illustrated inFIGS. 2-3 and discussed previously.
Theexemplary television controller600 includes a firstcommunication interface module610. The firstcommunication interface module610 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 firstcommunication interface module610 is illustrated coupled to a wireless RF antenna via awireless port612, the wireless medium is merely illustrative and non-limiting. The firstcommunication interface module610 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. Also for example, the firstcommunication interface module610 may operate to communicate with local sources of television video content (e.g., video recorders, receivers, gaming devices, etc.). Additionally, for example, the firstcommunication interface module610 may operate to communicate with a television controller and/or a television (e.g., directly or via one or more intermediate communication networks).
Theexemplary television controller600 includes a secondcommunication interface module620. The secondcommunication interface module620 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 secondcommunication interface module520 may communicate via a wirelessRF communication port622 and antenna, or may communicate via a non-tethered optical communication port624 (e.g., utilizing laser diodes, photodiodes, etc.). Also for example, the secondcommunication interface module620 may communicate via a tethered optical communication port626 (e.g., utilizing a fiber optic cable), or may communicate via a wired communication port628 (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 secondcommunication interface module620 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. Also for example, thesecond communication module620 may operate to communicate with local sources of television video content (e.g., video recorders, receivers, gaming devices, etc.). Additionally, for example, thesecond communication module620 may operate to communicate with a television controller and/or a television external to the television controller600 (e.g., directly or via one or more intervening communication networks). The secondcommunication interface module620 may, for example, operate to communicate video and/or graphics information to a television and/or television receiver (e.g., using any of the previous interfaces mentioned above).
Theexemplary television controller600 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 first610 and second620 communication interface modules discussed above.
Theexemplary television controller600 may also comprise acommunication module630. Thecommunication module630 may, for example, operate to control and/or coordinate operation of the firstcommunication interface module610 and the second communication interface module620 (and/or additional communication interface modules as needed). Thecommunication module630 may, for example, provide a convenient communication interface by which other components of thetelevision controller600 may utilize the first610 and second620 communication interface modules. Additionally, for example, in an exemplary scenario where a plurality of communication interface modules are sharing a medium and/or network, thecommunication module630 may coordinate communications to reduce collisions and/or other interference between the communication interface modules.
Theexemplary television controller600 may also comprise one or more television interface modules635 that operate to provide an interface between thetelevision controller600 and a television (e.g., a television external to the television controller600). For example, the television interface module(s)635 may operate to provide video, graphical and/or textual information to a television and/or television receiver (e.g., via thecommunication module630, first communication interface module(s)610 and/or second communication interface module(s)620).
Theexemplary television controller600 may additionally comprise one or moreuser interface modules640. The user interface module(s)640 may generally operate to provide user interface functionality to a user of thetelevision controller600. For example, and without limitation, the user interface module(s)640 may operate to provide for user control of any or all standard television commands (e.g., channel control, volume control, on/off, screen settings, input selection, etc.). The user interface module(s)640 may, for example, operate and/or respond to user commands utilizing user interface features disposed on the television controller600 (e.g., buttons, etc.) and may also utilize the communication module630 (and/or first610 and second620 communication interface modules) to communicate with a television and/or television receiver.
The user interface module(s)640 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. For example and without limitation, the user interface module640 (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 thecommunication interface modules610,620, etc.). Also for example, in scenarios in which such sensors are active sensors (as opposed to purely passive sensors), the user interface module(s)640 (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(s)640 may perform any of a variety of video output functions (e.g., presenting television programming to a user, providing visual feedback to a user regarding an identified user-selected object in the presented television programming, etc.).
Theexemplary television controller600 may comprise one ormore processors650. The processor(s)650 may, for example, comprise a general purpose processor, digital signal processor, application-specific processor, microcontroller, microprocessor, etc. For example, theprocessor650 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 inFIG. 6, such illustrative modules, or a portion thereof, may be implemented by theprocessor650.
Theexemplary television controller600 may comprise one ormore memories660. 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 ormore memories660.Such memory660 may, for example, comprise characteristics of any of a variety of types of memory. For example and without limitation,such memory660 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.
Also as discussed previously, various information corresponding to user-selectable objects in television programming (e.g., descriptive information, communication information, user interaction information, user control information, information describing interactions with local and/or remote entities and associated with user-selectable objects, etc.) may be stored in memory. Thememory660 provides one non-limiting example of a memory in which such information may be stored. Note that such memory660 (or a portion thereof) may also be external to thetelevision600 and communicatively coupled thereto.
Theexemplary television controller600 may comprise one or more modules (not explicitly illustrated inFIG. 6) that operate to receive and present a television program to a user. Such one or more modules may, for example, operate to utilize one or more of the user interface module(s)640 to present the television program on the optional display670 (if present with thetelevision controller600 and/or communicatively coupled thereto). The one or more modules may, for example, operate to performstep310 of theexemplary method300 discussed previously.
Theexemplary television controller600 may comprise one or more user-selectedobject determination modules654 that operate to determining an identity of a user-selected object in a television program being presented to a user. For example, such module(s)654 may operate to performstep220 of theexemplary method200 discussed previously and/or step320 of theexemplary method300 discussed previously.
For example, in an exemplary scenario in which thetelevision controller600 locally determines an identify of a user-selected object, the module(s)654 may operate to utilize one or more of the user interface module(s)640 to interface with various sensors. Additionally, for example, the module(s)654 may operate to utilize the communication module630 (andcommunication interface modules610 and620) to communicate with external systems regarding various sensor signals.
Also for example, in another exemplary scenario in which thetelevision controller600 operates to receive information of the identity of a user-selected object in a television program from a source external to thetelevision controller600, the module(s)654 may operate to utilize the communication module630 (andcommunication interface modules610 and620) to communicate with such external source.
Theexemplary television controller600 may also, for example, comprise one or more interaction determination module(s)656 that operate to determine (e.g., based at least in part on the determined identity of a user-selected object in a television program, one or more interactions in which to engage with an entity remote from the user's local television system. For example, such module(s)656 may operate to performstep230 of theexemplary method200 discussed previously and/or step330 of theexemplary method300 discussed previously.
For example, in a non-limiting exemplary scenario in which such interaction determination comprises analyzing a table or other data structure correlating object identification characteristics to particular interactions, the module(s)656 may operate to analyze such a table and/or other data structure stored in thememory660. Additionally for example, in an exemplary scenario in which such interaction determination comprises interacting with the user to determine an initial interaction and/or subsequent interaction related to the identified user-selected object, the module(s)656 may operate to utilize the user interface module(s)640 to perform such user interaction.
Theexemplary television controller600 may additionally comprise one or moreaction performance modules658 that operate to perform the one or more interactions determined by the interaction determination module(s)656. For example, the interaction performance module(s)658 may operate to performstep240 of theexemplary method200 discussed previously and/or step340 of theexemplary method300 discussed previously.
For example, in a non-limiting exemplary scenario in which a determined interaction comprises retrieving information associated with an object from memory of an entity remote from the user's local television system, the module(s)658 may operate to communicate with such memory of the remote entity (e.g., either directly, for example, utilizing DMA and/or indirectly utilizing an interface of the remote entity). For example, the module(s)658 may operate to utilize the communication module630 (and firstcommunication interface module610 and/or second communication interface module620) to communicate with such remote entity. Such a remote entity may, for example, comprise a communication infrastructure component of a television system, a television server component, a cable and/or satellite head-end station, a networked information server, a remote computer communicatively coupled to the television, etc.
Also for example, in a non-limiting scenario in which a determined interaction comprises searching for information, the module(s)658 may operate to perform a search for such information. In such a scenario, the module(s)658 may, for example, operate to perform such a search in memory of other television system components and/or other networked entities that are remote from the user's local television system (e.g., directly utilizing direct memory access and/or utilizing a search interface provided by a remote entity). For example, the module(s)658 may operate to perform such a search in such remote entities utilizing the communication module630 (and firstcommunication interface module610 and/or second communication interface module620) to communicate with such remote entities. For example, such remote entities may provide an interface specifically adapted to request and/or search for information stored in and/or accessible to such remote entities. In such a scenario, the module(s)658 may operate in accordance with such interface.
In an exemplary scenario, a remote entity may operate in accordance with a protocol in which a requestor requests (via a communication network) information associated with a particular user-selected object, and the remote entity responds to such a request by communicating the requested information back to the requestor. In such a scenario, the module(s)658 would operate in accordance with such protocol when interacting with the remote entity via the communication network.
Additionally for example, in a non-limiting scenario in which a determined interaction comprises interfacing with a user of thetelevision controller600, the module(s)658 may operate to utilize the user interface module(s)640 to provide the user interface.
For example, in an exemplary scenario in which a determined interaction comprises presenting object information and/or different views of the object to a user, the module(s)658 may operate to utilize the user interface module(s)640 to perform such output (e.g., on theoptional display670 of thetelevision controller600 if such adisplay670 is included). Also for example, the module(s)658 may operate to utilize the communication module630 (and firstcommunication interface module610 and/or second communication interface module620) to communicate with one or more other local television system components (e.g., a television, television receiver, personal computing device or system, etc. coupled to the television controller600) to provide such information to such one or more other local television system components for presentation on respective output displays of such one or more other local television system components.
Further for example, in a non-limiting scenario in which a determined interaction comprises establishing and/or managing a communication session between the user and another system entity, the module(s)658 may operate to utilize the user interface module(s)640 to provide the user interface and utilize the communication module(s)630 (and firstcommunication interface module610 and/or second communication interface module620) to communicate to perform communication link establishment and/or management.
Still further for example, in a non-limiting scenario in which a determined interaction comprises notifying one or more other television system entities of the user's selection of the user-selected object (e.g., a production enterprise, a distribution enterprise, a rating company, an advertising agency, etc.), the module(s)658 may operate to utilize the communication module(s)630 (and firstcommunication interface module610 and/or second communication interface module620) to perform such notification.
Though not illustrated, theexemplary television controller600 may, for example, comprise one or more modules that operate to perform any or all of the continued processing discussed previously with regard to step295 of theexemplary method200 and step395 of theexemplary method300, discussed previously. Such modules (e.g., as with the one ormore modules654,656 and658) may be performed by the processor(s)650 executing instructions stored in thememory660.
Though the previous discussions ofFIGS. 4-6 presented various exemplary modules of atelevision400,television receiver500 andtelevision controller600, as discussed previously, various aspects of the present invention may be performed in a distributed system (e.g., by a plurality of components of the user's local television system). Accordingly, the scope of various aspects of the present invention should not be limited to performance by a single television system component (or device) unless explicitly claimed.
Turning next toFIG. 7, such figure is a diagram illustrating exemplary modules and/or sub-modules for a local television system, in accordance with various aspects of the present invention. The exemplarylocal television system700 may share any or all aspects with any of thetelevision400,television receiver500 and/ortelevision controller600 illustrated inFIGS. 4-6 and discussed above. The exemplarylocal television system700 may, for example, share any or all characteristics with one or more of theexemplary televisions140 and141,television controllers160 and161,television receiver151,television provider110 and/or third party program information provider illustrated inFIG. 1 and discussed previously. Also, the exemplary local television system700 (e.g., various modules thereof) may operate to perform any or all of the functionality discussed previously with regard to theexemplary methods200 and300 illustrated inFIGS. 2-3 and discussed previously. The components of the exemplarylocal television system700 may be disposed in a single television system component (e.g., a single television, a single television receiver, a single television controller, etc.) or dispersed in a plurality of television system components (e.g., a plurality of components of a user's local television system, a combination of components comprising one or more components of the user's local television system and one or more components remote to the user's local television system, etc.).
For example, thelocal television system700 comprises aprocessor730. Such aprocessor730 may, for example, share any or all characteristics with theprocessors450,550 and650 discussed with regard toFIGS. 4-6. Also for example, thelocal television system700 comprises amemory740.Such memory740 may, for example, share any or all characteristics with thememory460,560 and660 discussed with regard toFIGS. 4-6.
Also for example, thelocal television system700 may comprise any of a variety of user interface module(s)750. Such user interface module(s)750 may, for example, share any or all characteristics with the user interface module(s)440,540 and640 discussed previously with regard toFIGS. 4-6. For example and without limitation, the user interface module(s)750 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.).
The exemplarylocal television system700 may also, for example, comprise any of a variety of communication modules (705,706, and710). Such communication module(s) may, for example, share any or all characteristics with the communication interface module(s)410,420,510,520,610 and620 discussed previously with regard toFIGS. 4-6. For example and without limitation, the communication interface module(s)710 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 exemplarylocal television system700 is also illustrated as comprising various wired706 and/orwireless705 front-end modules that may, for example, be included in the communication interface modules and/or utilized thereby.
The exemplarylocal television system700 may also comprise any of a variety of signal processing module(s)790. Such signal processing module(s)790 may share any or all characteristics with modules of theexemplary television400,television receiver500 and/ortelevision controller600 that perform signal processing. Such signal processing module(s)790 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)790 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.).
In summary, various aspects of the present invention provide a system and method in a distributed television system for responding to user-selection of an object 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.