The present disclosure relates to media servers and related electronic terminals and, more particularly, to communicating information regarding media that is available for use on an electronic terminal.
Electronic Program Guides (EPGs) provide users of televisions and other media applications with menus that display scheduling information for current and upcoming programming.
Non-interactive EGPs are typically broadcast on a dedicated channel which is viewable on a video terminal as a non-interactive menu of program scheduling information from a cable or satellite television service provider. EPGs are broadcast by specialized video generation equipment housed within each provider's central television distribution facility. By tuning a receiver to a dedicated EPG channel, a menu is displayed that lists current and upcoming programs on all available channels.
A more modern form of EPGs is the interactive program guide. An interactive EPG allows television viewers to navigate scheduling information menus interactively, selecting and discovering programming by time, title, channel, or genre using an input device such as a keypad, computer keyboard, or television remote control. Its interactive menus are generated entirely within a broadcast signal receiver or display equipment using program and schedule information that is received from television service providers.
Because of the increasing number of channels provided by television service providers, users must sometimes page through numerous screens of programming information provided by interactive EPGs to discover an interesting program.
If may therefore be an object to address at least some of the above mentioned disadvantages and/or to improve performance in a communication system.
Some embodiments of the present invention are directed to an electronic terminal that includes a communication interface, a display device, and a processor circuit. The communication interface communicates through a network with a media server. The processor circuit detects occurrence of a defined event, generate a request for media recommendations containing a terminal identifier for the electronic terminal responsive to the defined event, and communicates the request for media recommendations to the media server. The processor circuit also receives media recommendations from the media server responsive to the request for media recommendations, and displays the media recommendations on the display device.
Accordingly, when a defined event, such as terminal initialization, occurs, media recommendations are obtain that can be customized based on an identity of the terminal. The media recommendations can used to guide a user's selection of media for consumption through the terminal.
According to a further embodiment, terminal includes a proximity sensor that detects when the user has become proximately located to the electronic terminal and/or discovers presence of another terminal carried by the user which is now within communication range of the proximity sensor. The processor circuit responds to a signal from the proximity sensor by communicating the request for media recommendations to the media server to request media recommendations for the user. The media recommendations may thereby be automatically fetched from the media server when the user approaches the terminal.
Some other embodiments of the present invention are directed to a corresponding media server that includes a media recommendation circuit that receive a request for media recommendations containing a terminal identifier through a network from an electronic terminal, generates media recommendations responsive to the terminal identifier, and communicates the media recommendations through the network to the electronic terminal for display to a user.
Some other embodiments of the present invention are directed to a corresponding method of providing media from a media server to an electronic terminal through a network. A request for media recommendations is received at the media server. The request contains an identifier associated with the terminal. Media recommendations are generated responsive to the terminal identifier. The media recommendations are communicated through the network to the electronic terminal for display to a user. A media selection is received through the network from the electronic terminal indicating the user's selection of the media among the media recommendations. The media is provided to the electronic terminal responsive to the media selection.
Other electronic terminals, media servers, and methods according to embodiments of the invention will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional electronic terminals, media servers, and methods be included within this description, be within the scope of the present invention, and be protected by the accompanying claims. Moreover, it is intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination.
The accompanying drawings are included to provide a further understanding of various embodiments of the present invention and are incorporated in and constitute a part of this application. In the drawings:
The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. This invention may, however, be embodied in many different forms and is not limited to the embodiments set forth herein.
Various embodiments of the present invention are directed to generating media recommendations that are displayed on video terminals, where the media recommendations can be customized for each of the video terminals based on their identities. Activation of a video terminal can trigger generation of media recommendations by a media server, and the media recommendations can be displayed on a display device of the video terminal to guide a user's media selections. Although various embodiments are described in the context of a “video terminal”, it is to be understood that the invention is not limited thereto and may be used with any type of electronic terminal that is configured to communicate with a media server to receive media recommendations.
In some embodiments, a user's consumption (e.g., viewing, downloading, executing, etc.) of media (e.g., TV programs, movies, and/or executable user applications) through a video terminal is tracked to generate user data that is associated with a video terminal identifier (which uniquely identifies the terminal). Information that may be tracked as part of the user data may include what time of day, day of week, and/or date a particular media was consumed, a title of the media, description of the media, category (e.g., genre) of the media, and/or other characteristics that are defined for the media. Other user data that may be tracked can include when a user recommends or otherwise rates a particular media to others for consumption and/or sends a link for a particular media to another user (e.g., URL hyperlinks in email messages) to facilitate consumption of the media by the other user.
When the video terminal is activated in response to, for example, being powered-on, transitioning from a standby state to an active state (e.g., waking-up from a sleep state), or a user being electronically detected as being newly located proximate to the video terminal or an associated sensor device, the identifier of the video terminal is used to look up the user data for the video terminal. The user data may be compared to metadata that characterizes media files that are available from a media server to identify media files that programmatically match the user's interests, and the identified media files can form a media recommendation that is displayed on the video terminal for selection amongst by the user. A user may then select one or more of the displayed recommendations to cause the selected media to be viewed (e.g., tune the video terminal to a defined broadcast program channel or play from local memory), downloaded from a media server (e.g., video-on-demand), executed on a media server or from local memory, etc.
Generation of the media recommendations may include a comparison of the user data (preference information) to other user data that is associated with other video terminals to identify other users who have similar perceived interests/tastes to the user of the video terminal 120, and to generate therefrom media recommendations based on the consumption history of the other users. Results of the comparison may be used to generate media recommendations that are displayed on the activated video terminal.
As used herein, a “video terminal” can be any electronic terminal that is configured to receive and display media recommendations from a media server, and to display and/or execute media that may be part of the video terminal and/or may be communicated thereto. A video terminal (electronic terminal) may include, but is not limited to, a television/display device, a television tuner (e.g., cable/satellite tuner, such as a set-top-box) that is separate but communicatively connected to a television monitor/display device, a wireless communication terminal (e.g., cellular terminal, local area network terminal, etc.), and/or a desktop/laptop/palmtop/tablet computer.
A media server can be any networked node that generates media recommendations that are sent to an electronic terminal, and may contain media that is deliverable (e.g., streamed, downloaded, etc.) to the terminal responsive to a user's selection among the media recommendations. The media server may alternatively or additionally be embodied within another electronic terminal that is configured to generate and communicate media recommendations to the terminal. The media server may still alternatively or additionally be embodied in a social media network node that provides social network services to users, such as the “Facebook” social network website and movie/television ratings websites through which users can recommend movies, TV programs, and other media to each other. Such media recommendations can be communicated to the terminal where they can be displayed according to various embodiments described herein.
As used herein, the term media can include, but is not limited to information that can be visually displayed and/or audibly generated by a terminal, such as television programs and movies, and/or that can be executed, such as executable user applications, by a terminal to generate information that is displayed and/or audibly generated by the terminal. Media may therefore include, but is not limited to, digital and/or analog signals that are received as broadcast and/or selectively downloaded signals (e.g., video-on-demand) from a television program/movie server, such as a cable media server, a terrestrial media server, satellite media server, and/or an Internet media server.
These and other embodiments are further described below with regard to
The media servers 110 may include a cable media server 112 (e.g., cable TV provider), a terrestrial media server 114 (e.g., terrestrial TV provider), an Internet media server 116 (e.g., video-on-demand provider), a satellite media server 118 (e.g., satellite TV provider), and/or an application server 119 that may broadcast media to all video terminals within a communication coverage area and/or stream media on-demand responsive to particular requests from identified video terminals. The cable media server 112, the Internet media server 116, and the application server 119 may communicate media to the video terminals 120a-c through one or more networks 130 (e.g., Internet or other public/private networks) and/or the RAN 120.
The RAN 120 may contain one or more cellular radio access technology systems that may include, but are not limited to, Global Standard for Mobile (GSM) communication, General Packet Radio Service (GPRS), enhanced data rates for GSM evolution (EDGE), DCS, PDC, PCS, code division multiple access (CDMA), wideband-CDMA, CDMA2000, Universal Mobile Telecommunications System (UMTS), and/or 3GPP LTE (3rd Generation Partnership Project Long Term Evolution). The RAN 120 may alternatively or additional communicate with one or more of the terminal 120a-c through a Wireless Local Area Network (i.e., IEEE 802.11) interface, a Bluetooth interface, and/or other wireless communication interface.
As explained above, although some embodiments have been described in the context of a video terminal 120 receiving recommendations and media from the media server 110, other video terminals according to some embodiments are not limited thereto. At least some of the functionality that is described herein as being carried out by the media server 110 to generate media recommendations and supply selected media for a video terminal may instead be incorporated in and carried out by components of the video terminal and/or by other network nodes of the system (e.g., social media network node).
The media recommendation circuit 210 uses the identifier of the video terminal 120 to look up (block 504) user consumption history and/or preferences (e.g., user defined preferences and/or media consumption history), which can be stored in user data 202, as will be further explained below, and associated with the terminal identifier. The preference information may be compared to metadata 206 that characterizes media files 204, which may be available for download from the media server 110 or other network node, to identify media files 204 that programmatically match the user's preferences, and the identified media files 204 can be programmatically ranked based on the degree of matching (similarity) to generate a media recommendation. The media recommendation circuit 210 may generate the media recommendations by comparing any of the information contained in the user data to characteristics of the media that is available from the media server 110.
Media recommendations are generated (block 508), such as by filtering the identified media files 204 based on the ranking and defined rules. The defined rules may include constraints on how many media recommendations and/or in what format the media recommendations can be displayed on the identified video terminal 120. The media recommendations are communicated (block 510) to the video terminal 120 for display on the display device 240. The video terminal 120 receives and displays and/or generates audio output (block 512) to electronically communicate the media recommendations to a user. A user's selection of one or more of the displayed media recommendations is received (block 514), such as through a touch display interface and/or other user input interface. The video terminal 120 causes the selected media to be obtained (block 516), such as by tuning a receiver of the video terminal 120 to a defined broadcast program channel, by communicating a command to the media server 110 to download the selected media (e.g., video-on-demand), by executing the selected media on the media server 110, and/or by accessing the media in a local memory of the video terminal 120, etc.
The media recommendation circuit 210 may update (518) data that identifies the user consumption preferences to reflect the user's selection of the identified media. For example, the media recommendation circuit 210 may store the updated data in the user data 202 in the database 200.
Various example events that may be defined to trigger communication of a request for media recommendations from the video terminal 120 to the media server 110 will be explained. The video terminal 120 can include an activation controller 230 that detects occurrence of the defined event and responsively generates an activation signal to trigger communication of a request for media recommendations to the media server 110. In one embodiment, the defined event is activation of the video terminal 120. The activation controller 230 can include a power control module 232 that detects activation of the video terminal 120 in response to regulation of a power/stand-by state of the terminal 120, which can be triggered by a user command to turn on power to the display device 240 and/or to transition from a stand-by state to an active state (e.g., actuation of a power button, occurrence of a scheduled event, a command from a remote control, etc.).
In some other embodiments, detection of the defined event can be performed by a sensor that electronically detects when a user has become proximately located to the video terminal 120 or an associated device. The sensor may, for example, be an electromagnetic proximity sensor 234 that uses electromagnetic signals (e.g., infrared, radio frequency signals, or other signals) to detect the presence of a user. The sensor may alternatively be a Bluetooth device sensor 236 and/or WLAN device sensor 238 that is configured to discover presence of a terminal carried by a user, via Bluetooth signaling or WLAN signaling, that is now within communication range of the sensor. The sensors 236/238 may further use received signal strength or another ranging technique to determine whether a terminal carried by the user is within a defined range of the terminal 120 to detect occurrence of the defined event. Accordingly, when a user becomes proximately located to the terminal 120, a sensor can detect the user's presence directly through a proximity sensor or by indirectly detect the presence by sensing Bluetooth/WLAN circuitry of a terminal that is carried by the user.
Moreover, the activation controller 230 may identify how many users and which particular users are proximately located to the video terminal 120 by receiving user login information and/or other user information that is entered into the terminal 120, and/or by uniquely identifying the wireless terminal(s) carried by the user(s) through Bluetooth signaling via the sensor 236, WLAN signaling via the sensor 238, and/or other signaling carried out between the activation controller 230 and electronic circuitry within the user carried wireless terminals. The activation controller 230 may therefore further include as part of the video terminal identifier, an identifier for particular users that have been sensed as being proximately located to the video terminal and/or an indication of how many users are located proximately located.
The terminal 120 may therefore request media recommendations that are customized to which particular user is presently using the terminal 120. The terminal 120 can be configured to identify a present user from among a plurality of defined users who are known to the terminal 120. The terminal 120 can generate the request for media recommendations to contain a user identifier for the present user, so that the media server 110 can generate the media recommendations to be customized in response to the user identifier for the present user.
The terminal 120 may request media recommendations that are customized to a number of present users (e.g., so that different media can be recommended when the selected media will be viewed by one user versus a group of users). The terminal 120 can be configured to identify how many users are presently using the electronic terminal 120. The terminal 120 can generate the request for media recommendations to contain a user identifier user information identifying how many users are presently using the terminal 120, so that the media server 110 can generate the media recommendations to be customized in response to the number of users.
As explained above, the media server 110 may include the database 200, the media recommendation circuit 210, and the media controller 220. The database 200 may include user data 202, media files 204, and metadata 206. The user data 202 provides a historical accounting of what media a user has consumed through the video terminal 120.
The metadata 206 identifies characteristics of the media files 204, such as visual/audible content of the respective media files 204. For example, the metadata 206 may include labels that categorize/characterize the visual/audible content (e.g., genre) of the media files 204, user (viewing) ratings of the media files 204, content ratings (e.g., G-rating, PG-rating, PG-13-rating, R-rating, etc.) of the media files 204, violence ratings of the media files 204, and/or language ratings of the media files 204.
The media server 110 may receive user ratings directly from a user (e.g., via a network) and/or may receive the user ratings indirectly through another network node (e.g., a social network node, etc.), and store the user ratings in the user data 202 and/or the metadata 206 associated with the corresponding terminal identifier. The user ratings may indicate the user's opinion (recommendation) about the media by, for example, indicating how many points out of a defined point scale a user liked/disliked the media (e.g., selecting a number out of a define number scale, selecting a number of stars out of a defined star scale, selecting “thumbs up” or “thumbs down”, etc.).
The user data may identify a geographic location of the video terminal 120, such a registered home location of the user and/or a present location of the video terminal 120.
The media server 110 (via the media recommendation circuit 210) or another network node may alternatively or additionally implicitly determine user ratings for media in response to observing the user's actions when consuming the media at the video terminal 120 and/or at another terminal. For example, the media recommendation circuit 210 can be configured to implicitly determine the user's rating for a media in response to tracking: 1) how many times the user's consumed (e.g., viewed) the media (e.g., increasing a user's implicit rating responsive to the user watching a movie an increasing number times); 2) how much of the media the user consumed (e.g., indicate a higher rating responsive to the user watching an entire movie, indicate a lower rating responsive to the user watching less of the movie, or increase a user's implicit rating responsive to the user watching more of a movie); 3) whether the user locally saved the downloaded application/TV program/movie for future use; 4) whether the user viewed information/descriptions (e.g., metadata) associated with the media (e.g., description of a movie, a “making of the movie” or “additional scenes not present in the feature length movie”, etc.). The media recommendation circuit 210 can generate the media recommendations responsive to the generated ratings.
The media server 110 (via the media recommendation circuit 210) can alternatively or additionally be configured to implicitly determine the user's rating for a media in response to tracking: 1) which of the media have been recommended by one or more users for consumption by one or more other users; 2) tracking which of the media have been added by a user to a preferred list that is accessible by one or more other users to provide earlier accessibility to the media by the other users; 3) which of the media are referenced by links that users have sent to other users to provide easier accessibility to the media by the other users; 4) whether the user requested (e.g., searched for) other applications that have similar characteristics to a media; and/or 5) whether the user deleted/uninstalled the media from local storage of the video terminal. The media recommendation circuit 210 can generate the media recommendations responsive to the generated ratings.
The metadata 206 may identify other characteristics of the media files 204, such as the play time of the media files 204. Although the metadata 206 has been illustrated in
The media recommendation circuit 210 is configured to generate media recommendations that can be customized for each of the video terminals 120a-c based on an identity of the video terminal and the user data associated with that terminal identity. The media controller 220 may be configured to broadcast or stream media to one or more of the video terminals 120a-c. For example, when a user selects one of the media recommendations that are generated by the media recommendation server 210 and displayed on the video terminal 120, the media controller 220 may respond by streaming the corresponding selected media to the video terminal 120.
In some embodiments, the media recommendation circuit 210 is configured to send the media recommendations directly to the video terminals, or indirectly via another network node. For example, in some embodiments, the media recommendations may be posted on a social media website (e.g., “Facebook” social network website) in an account associated with a video terminal (e.g., user) having a particular terminal identifier. The media recommendations may alternative or additionally be sent to a particular video terminal by email, data message (e.g., Short Message Service and/or Multimedia Messaging Service), or other communication signaling.
The user preference module 300 may include a consumption history module 304 that tracks the consumption (e.g., viewing, downloading, executing, etc.) of media through a video terminal having a defined identifier. The consumption history module 304 may additionally or alternatively track what time of day, day of week, and/or date a particular media was consumed, a title of the media, description of the media, category (e.g., genre) of the media, how often a particular media was selected, and/or other characteristics that are defined for the media. For example, the module 304 may determine and record in the user data 202, associated with the video terminal identifier, that a user prefers a particular television program, prefers a group of television program, and/or prefers a particular genre or other characteristics (e.g., run-time duration) of television programs at certain times of day.
The consumption history module 304 may additionally or alternatively track when a user recommends or otherwise rates a particular media to others for consumption and/or sends a link for a particular media to another user (e.g., URL hyperlinks in email messages) to facilitate consumption of the media by the other user. The consumption history module 304 is configured to store and retrieve the tracked information that is associated with (linked to) an identifier of the video terminal within the user data 202 (
The recommendation generation module 310 is configured to respond to receipt of an identifier for the video terminal 120 by generating media recommendations based on the defined/observed preferences of a user of the video terminal 120. The module 310 may use the identifier of the video terminal 120 to look up preference information (e.g., user defined preferences and/or media consumption history) within the user data 202 for the particular media terminal 120. The preference information may be compared to the metadata 206 that characterizes the media files 204 that are available from the media server 110 to identify media files 204 that programmatically match the user's interests, and the identified media files 20 can be ranked based on the degree of programmatic matching (similarity) to generate a media recommendation.
Generation of the media recommendations may include performing a comparison of the preference information to other user data 202 that is associated with other video terminals to identify other users who have similar perceived interests/tastes to user of the video terminal 120, and to generate therefrom media recommendations based on the consumption history of the other users. The media recommendations may alternatively or additionally include a comparison of the video terminal's 120 geographic location (e.g., registered home location and/or present terminal location) to the consumption history of other users who have a similar geographic location to the video terminal 120, such as by being within a defined distance of the video terminal 120 and/or by being within the same city, county, state, and/or country as the video terminal 120. Accordingly, when the video terminal 120 has a registered home location or a present location in Germany, the terminal 120 may then be provided with media recommendations based on the consumption histories of other users who are located in Germany, which can thereby allow cultural and language based customization of the media recommendations that are generated by the recommendation generation module 310 and sent to the video terminal 120.
In another example embodiment, the recommendation generation module 310 may determine from the user data 202, using the identifier for the video terminal 120, that the user prefers to watch comedy movies having certain characteristics at the present time and day of week. The module 310 may compare these characteristics of the user to those of other users identified in the user data 202 who have similar viewing interests and who have watched a defined group of movies that the user of the video terminal 120 has not yet watched. The generation module 310 may generate a list of recommended movies that includes the defined group of movies (watched by others having similar identified interests), and communicate that list to the video terminal 120, via the recommendation presentation module 320, for display to the user.
The recommendation presentation module 320 may filter the identified media files 204 based on the ranking and defined rules (e.g., constraints on how many media recommendations and/or in what format the media recommendations can be displayed on the video terminal 120) and communicate the media recommendations to the video terminal 120 for display on the display device 240. A user may then select one or more of the displayed recommendations to cause the selected media to be consumed, such as by being viewed (e.g., tune the video terminal 120 to a defined broadcast program channel or play from local memory of the video terminal 120), downloaded from the media server 110 (e.g., video-on-demand), executed on the media server 110, etc.
Referring to
In one embodiment, the display device 1120 may also display video from a TV program and/or movie that was highest ranked (or ranked at another defined level) among the recommendations from the media server 110. For example, as shown in
A user may select one of the listed TV programs, movies, or applications to cause the selection to be played, and may replace the presently playing video in the larger portion of the display 1120.
The RF transceiver circuits 1130 may be configured to receive a media, such as streaming video and/or executable program applications, from the media server 110 via the network(s) 130 and the RAN 120 shown in
The video terminal 120 may further include a microphone 1152, a user input interface 1150 (e.g., touch sensitive interface associate with the display device 1120, a keypad, a keyboard, buttons, joystick, or other apparatus configured to sense user inputted commands).
Referring to
Referring to
Referring to
In the above-description of various embodiments of the present invention, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense expressly so defined herein.
When an element is referred to as being “connected”, “coupled”, “responsive”, or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected”, “directly coupled”, “directly responsive”, or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, “coupled”, “connected”, “responsive”, or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term “and/or” includes any and all combinations of one or more of the associated listed items.
As used herein, the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
Exemplary embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks.
A tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, a random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EPROM or Flash memory) circuit, a portable compact disc read-only memory (CD-ROM), and a portable digital video disc read-only memory (DVD/BlueRay).
The computer program instructions may also be loaded onto a computer and/or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer and/or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
Accordingly, embodiments of the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.
It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Finally, other blocks may be added/inserted between the blocks that are illustrated. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, the present specification, including the drawings, shall be construed to constitute a complete written description of various exemplary combinations and subcombinations of embodiments and of the manner and process of making and using them, and shall support claims to any such combination or subcombination.
Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present invention. All such variations and modifications are intended to be included herein within the scope of the present invention.
The present application claims the benefit of priority from U.S. Provisional Application No. 61/447,202 entitled “Electronically Displaying Media Recommendations Responsive to Preferences Associated with a Video Terminal” filed Feb. 28, 2011, the disclosure of which is hereby incorporated herein in its entirety by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2012/000140 | 1/31/2012 | WO | 00 | 8/22/2013 |
Number | Date | Country | |
---|---|---|---|
61447202 | Feb 2011 | US |