Techniques are described that allow DVR users to create program shortcuts to different types of media content from content providers. A program shortcut comprises a reference to another media content. A user may generate a shortcut so that the user may easily find and return to media content without performing a new search. In addition, techniques may be used to automatically generate program shortcuts for a user based at least in part to user-indicated preferences or actions. Shortcuts may be generated to media content that is related to a preferred genre or media type specified by a user. Shortcuts may also be generated to content that is determined to be similar to content that is often viewed or recorded by the user.
|
1. A computer-implemented method, comprising:
receiving input that indicates particular media content to which to create a shortcut at a set-top device, the particular media content being unavailable for retrieval via a particular process at the time of the input;
based on the input, creating and storing a shortcut object that comprises a reference to the particular process that allows retrieval of the particular media content;
responsive to detecting that the particular media content is available for retrieval via the particular process, automatically presenting a menu item including the shortcut object corresponding to the particular media content;
the set-top device automatically selecting which menu, from among a plurality of menus, to present the menu item in based on at least one of: a population density of menu items in the selected menu, a number of input commands to access the selected menu from a main menu, or a frequency of access of the selected menu;
responsive to receiving input that selects the menu item from the selected menu, the set-top device executing the referenced particular process to cause retrieval of the particular media content; and
presenting, at the set-top device, the retrieved particular media content;
wherein the method is performed by one or more computing devices.
8. One or more non-transitory computer-readable storage media storing instructions which, when executed by one or more computing devices, cause:
receiving input that indicates particular media content to which to create a shortcut at a set-top device, the particular media content being unavailable for retrieval via a particular process at the time of the input;
based on the input, creating and storing a shortcut object that comprises a reference to the particular process that allows retrieval of the particular media content;
responsive to detecting that the particular media content is available for retrieval via the particular process automatically presenting a menu item including the shortcut object corresponding to the particular media content;
the set-top device automatically selecting which menu, from among a plurality of menus, to present the menu item in based on at least one of: a population density of menu items in the selected menu, a number of input commands to access the selected menu from a main menu, or a frequency of access of the selected menu;
responsive to receiving input that selects the menu item from the selected menu, the set-top device executing the referenced particular process to cause retrieval of the particular media content; and
presenting, at the set-top device, the retrieved particular media content.
37. An apparatus comprising:
a subsystem, implemented at least partially by hardware, configured to receive input that indicates particular media content to which to create a shortcut at a set-top device, the particular media content being unavailable for retrieval via a particular process at the time of the input;
a subsystem, implemented at least partially by hardware, configured to, based on the input, create and store a shortcut object that comprises a reference to the particular process that allows retrieval of the particular media content;
a subsystem, implemented at least partially by hardware, configured to, responsive to detecting that the particular media content is available for retrieval via the particular process, automatically present a menu item including the shortcut object corresponding to the particular media content;
a subsystem, implemented at least partially by hardware, configured to, automatically select a menu, from among a plurality of menus, to present the menu item in based on at least one of: a population density of menu items in the selected menu, a number of input commands to access the selected menu from a main menu, or a frequency of access of the selected menu;
a subsystem, implemented at least partially by hardware, configured to, responsive to receiving input that selects the menu item from the selected menu, executing the referenced particular process to cause retrieval of the particular media content; and
a subsystem, implemented at least partially by hardware, configured to present, at the set-top device, the retrieved particular media content.
2. The method of
3. The method of
analyzing media content that has been recorded by the set-top device;
identifying a type of the media content that is of interest to a user based at least in part on the analysis of the media content that was recorded by the set-top device; and
automatically generating a second shortcut object for media content that is similar to the type of media content identified.
4. The method of
responsive to the input, automatically generating a second shortcut object for media content related to the particular media content identified by the input.
5. The method of
6. The method of
7. The method of
9. The one or more non-transitory computer-readable storage media of
10. The one or more non-transitory computer-readable storage media of
analyzing media content that has been recorded by the set-top device;
identifying a type of the media content that is of interest to a user based at least in part on the analysis of the media content that was recorded by the set-top device; and
automatically generating a second shortcut object for media content that is similar to the type of media content identified.
11. The one or more non-transitory computer-readable storage media of
responsive to the input, automatically generating a second shortcut object for media content related to the particular media content identified by the input.
12. The one or more non-transitory computer-readable storage media of
13. The one or more non-transitory computer-readable storage media of
14. The one or more non-transitory computer-readable storage media of
15. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. The method of
22. The method of
23. The one or more non-transitory computer-readable storage media of
24. The one or more non-transitory computer-readable storage media of
25. The one or more non-transitory computer-readable storage media of
26. The one or more non-transitory computer-readable storage media of
27. The one or more non-transitory computer-readable storage media of
28. The one or more non-transitory computer-readable storage media of
29. The one or more non-transitory computer-readable storage media of
30. The method of
31. The one or more non-transitory computer-readable storage media of
32. The method of
33. The method of
34. The method of
35. The one or more non-transitory computer-readable storage media of
36. The one or more non-transitory computer-readable storage media of
38. The apparatus of
39. The apparatus of
|
This application is related to co-pending U.S. patent application Ser. No. 11/649,444, filed on Jan. 3, 2007, by James Barton, et al., entitled “Recommended Recording and Downloading Guides,” which is hereby incorporated by reference for all purposes as if fully set forth herein.
The present invention relates to digital video recorders (DVRs).
The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
The introduction of the DVR to the consumer world has revolutionized the way viewers watch and record media content. DVRs record television programs on one or more volatile or non-volatile computer-readable storage devices that is capable of storing a large number of media content. Because DVRs are usually box-like in shape, and are often found sitting on top of the television sets to which they are connected, DVRs typically are included in the broad category of devices referred to herein as “set-top boxes.” Much like Video Cassette Recorders (VCRs), DVRs may receive one or more media content signals (which may represent television programs, movies, or any other type of media content) as input from antennas (for broadcasted content), cables (from a cable service provider) or satellite dishes (from a satellite dish service provider), and also output signals to a television set or other display device for display to a user. A DVR may also receive media content from broadband network connections that may be connected to one or more networks containing media content, including the Internet.
A user may instruct the DVR to schedule a recording of specified content that may be broadcasted or otherwise transmitted to the DVR at some future time. Thus, the user may schedule the automatic recording of the content in advance of the time that the DVR receives the content. For example, the user might instruct the DVR to record unspecified content that will be broadcasted on a specified channel beginning at a specified date and time and ending at another specified time. For another example, the user might instruct the DVR to record a specified showing (on a specified channel, and beginning at a specified date and time) of a specified movie, specified event, or specified episode of a multi-episode television series. For another example, the user might instruct the DVR to record the next to-be-broadcasted instance of a specified movie, specified event, or specified episode of a multi-episode television series without specifying the date, time, or channel on which that instance will be broadcasted. For another example, the user might instruct the DVR to record all (or all first-run) episodes of a multi-episode television series on a specified channel without specifying the dates or times at which those episodes will be broadcasted. For another example, the user might instruct the DVR to record all (or all first-run) instances of movies, events, or episodes of a multi-episode television series that are associated with a specified keyword, a specified actor, and/or a specified director without specifying the titles, channels, or broadcasting times of those instances. For another example, a user might also instruct the DVR to download specified content from a media content provider on the Internet for future viewing.
As illustrated in the above examples, a DVR allows a user to search for and schedule programs for recording in a variety of ways. As other types of media content, such as video on demand, downloading content from networks, and online video vaults become more widely available, a user's search to find media content that interest them becomes more complex. In fact, some users may feel overwhelmed by the volume and variety of media content that is available. Under this circumstance, when these users do encounter particular media content they wish to record, the users may not be able due to DVR storage space constraints or other reasons (e.g., the users wish to record a different particular media content). If the user waits to later add the particular media content to schedule a recording, the user has to retrace his previous steps to find the particular media content. This process may be very frustrating for users.
For example, suppose a user accesses a video on demand server to download and watch a recently released movie. It is quite possible that as the user browses for a first media content, he may encounter a second media content that also interests him. Yet, in some cases (e.g., due to DVR space constraints, schedule of other recording media contents, not wishing to pay for the content until the user is sure to watch the content, etc.), the user cannot record the second media content at that time. If the user decides to come back and schedule the second media content later, the user generally has to retrace their steps to find the second media content. This process may include navigating through various menu screens, repeating previously performed keywords searches, and other inconvenient details to find the second media content. Moreover, the user may navigate to an incorrect menu, misspell a keyword, or perform other minor errors. This results in the user becoming increasingly frustrated.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
Systems and techniques described herein allow DVR users to create program shortcuts to media content. As used herein, media content may refer to, but is not limited to, movies, television programs, downloadable content, video on demand content, content from websites, or any other media content that may be retrieved by the user. In an embodiment, a user generates program shortcuts to media content that the user finds interesting. According to an embodiment, a program shortcut mechanism allows the user to generate the program shortcuts that link to the referenced media content. For example, suppose a user conducting a search identifies a particular media content that the user finds interesting. The user might initiate a program shortcut mechanism that creates a program shortcut object to the media content. The program shortcut object may contain a reference or link to the particular media content itself, or to an access point that allows the user to retrieve the media content. These access points may include a menu to initiate a download of the media content or a menu to initiate a video on demand to view the media content.
In one embodiment, the program shortcut object is added as a menu item of the DVR that is easily accessible to the user. As used herein, a menu item that is easily accessible is a menu item that requires limited input commands in order to access, and thus may be accessed by the user easily and frequently. A menu that is accessible may described as “close” for the user. As used herein, “close” may be described through an example. A DVR menu structure might contain ten hierarchical levels (e.g., the menu is ten levels deep). Under this circumstance, an accessible menu is closer, in terms of depth, to the main (or root) menu than the last (or leaf) menu. Alternatively, an accessible menu may refer to a DVR-screen that is opened with limited input commands (e.g., only two or three keystrokes on a remote control or other input device). For example, in a TiVo DVR system, a “Now Playing List” might be an accessible menu because the “Now Playing List” is accessible from any point within two keystrokes from the input device. In other embodiments, an accessible menu is a menu that is able to be opened with a single command (e.g., a dedicated button on a remote control or other input device).
Program shortcuts may allow users to find and record media content that matches their interests without having to perform an additional search. The systems and techniques described herein may automatically create program shortcuts for particular media content. In an embodiment, an analysis mechanism analyzes media content that the user has selected for recording and selects media content related to the user-selected media content to create program shortcuts. For example, a user might schedule to record media content that includes a plurality of poker-related programs. Under this circumstance, an analysis mechanism would conclude that the DVR user is interested in poker-related programming. The analysis mechanism may use of any type matching algorithms to find programs of matching interests such as, but not limited to, favorite actors, favorite themes, favorite categories (e.g. romantic comedies in HD), or any other matching methods.
Returning to the poker-related programming example, when the analysis mechanism encounters a poker-related program being offered through VOD, the analysis mechanism determines that this new program may be of interest to the user and generates a program shortcut to the VOD program. The analysis mechanism is not limited to VOD, as the analysis mechanism may also search and generate program shortcuts to media content via broadcast, download partners (such as Amazon or Netflix), or any other content delivery system.
In one embodiment, a program shortcut mechanism generates a program shortcut to related media content. The program shortcut mechanism may place the newly created program shortcuts in many different locations that vary according to implementation. For example, the program shortcut to a poker related media content might be placed in a user's poker-related wish list. Thus, when the DVR user accesses his other poker-related programming, the DVR may notify the user that an additional poker-related programming is available to be recorded. In one embodiment, the user is notified of the program shortcuts through an icon or graphical representation on the screen. In other embodiments, the notification may come via email, pop-up message, text message, on-screen message, or any other method that may indicate the shortcut to a user.
The program shortcut may allow the user to download the referenced media content at any time. Downloading may occur during off-peak hours when download speeds may be fastest or after additional storage space becomes available or is added on the DVR. In addition, the program shortcut may allow the user to stream the referenced media content at any time through providers such as Netflix, YouTube, or video-on-demand for immediate viewing.
The systems and techniques described herein may be further expanded to link to media content from a wide-range of sources. For example, the program shortcut mechanism may be used to link to downloadable content (e.g., through iTunes, TivoCast, or Yahoo! TV), shared video files (e.g., media content uploaded and published by a friend or family member), content suggested by a recommending entity, content derived from the television broadcaster, video feeds, advertising data (e.g., commercials with embedded address information), and other media content accessible through the Internet and other networks.
The system 100 shown in
In one embodiment, DVR 101 receives, records, and presents media content that DVR 101 receives from televised content provider 116. A televised content provider may provide content by broadcasting media content over-the-air, through a cable television provider, or a satellite dish service provider. LAN 111 is connected to Internet 102. Through LAN 111, DVR user's PC 112 and DVR 101 may communicate with other devices that are also connected to Internet 102. DVR service provider's web server 106, third-party web server 117, recommending entity 104, video on demand provider 115, and downloadable content provider 114 are also connected to Internet 102. Each of these entities, providers, and servers may communicate with each other and DVR 101 via Internet 102 and LAN 111 using web service protocols or any other communications protocol. DVR user's PC 112 may execute an Internet browser application (e.g. Microsoft Internet Explorer or Mozilla Firefox). DVR user's PC 112 and DVR service provider's web server 106 may communicate with each other via Internet 102 and LAN 110 using Hypertext Transfer Protocol (HTTP) or any other communications protocol.
DVR service provider's web server 106 is connected to database 118. DVR service provider's web server 106 may store data into and retrieve data from database 118. DVR 101 can download content (e.g., files) from downloadable content provider's web server 114 via Internet 102 and LAN 111 using any type of communications protocols, including, but not limited to, HTTP or File Transfer Protocol (FTP).
Third-party web server 117 is connected to Internet 102. Third-party web server 117 may communicate with PC 112 and/or DVR service provider's web server 106 through Internet 102 using any communications protocol, such as HTTP.
Recommending entity 104 also is connected to Internet 102. Recommending entity 104 may communicate with DVR service provider's web server 106 through Internet 102 using any communications protocol, such as HTTP.
Video on demand provider 115 is connected to Internet 102. DVR 101 can download on demand content from provider 115 via Internet 102 and LAN 111 using protocols such as HTTP and File Transfer Protocol (FTP). Video on demand provider 115 may communicate with DVR service provider's web server 106 through Internet 102 using protocols such as HTTP.
A program shortcut, as used herein, generally refers to an object that comprises a reference or link to retrieve, download, stream, purchase, record, or initiate video-on-demand of particular media content. The program shortcut may include a variety of methods and routines. A program shortcut may contain a reference to the particular media content itself. A program shortcut may also contain information about the media content, or contain a reference to reach a screen, method, or routine on which accessing, purchasing, and/or downloading the media content may occur. In addition, program shortcuts may contain functions to verify digital rights to a particular set of data. The program shortcut allows a DVR user to quickly access particular media content without having to navigate through a number of domain spaces or menus to find the particular media content again. Accordingly, program shortcuts are created in menu locations that are easily accessible to the user.
Program shortcuts may remain active for varying periods of time. A program shortcut may last as long as the referenced media content is still available. Once the referenced media content is no longer available, the program shortcut is no longer valid and may be automatically removed. In some instances, a user may delete a program shortcut if the user no longer wishes to access or record the referenced media content. In one embodiment, the user specifies how long a program shortcut remains valid. In other embodiments, the owner of the media content may set expiration dates on the media content and/or program shortcut. For example, a movie company might release a trailer advertising a particular film. The movie trailer company might wish to remove the trailer after the movie is no longer shown in movie theaters. The movie theater company might set an expiration date on the trailer or explicitly remove the trailer and all program shortcuts to the trailer when the movie is no longer shown in theatres. In these and other ways, the program shortcuts may be designed to expire.
In
In one embodiment, the program shortcut component 110 is a stand-alone application such as a desktop application, screen saver, or some other application with user interface controls to create the program shortcuts. Alternatively, the program shortcut component 110 is a tool designed to work in connection with another application, such as a web browser. For example, program shortcut component 110 can be a module of, extension to, or plug-in for a web browser.
In system 100, the program shortcut component 110 is illustrated as a component of DVR 101. In alternate implementations, the program shortcut component 110 may be a component of DVR user's PC 112.
If the DVR user selects the “Now Playing” option 210, then the “Now Playing List” menu appears.
The Now Playing List 300 also lists a Poker folder 311 and a Bookmarks folder 312. Notice that the Poker folder 311 has a starred icon on top of the folder. In one embodiment, an icon or any other graphical indication is used to indicate that a menu item contains a program shortcut. For example, the star icon on the Poker folder 311 might indicate that the Poker folder contains a program shortcut to poker-related media content. Thus, if the DVR user elects to open the Poker folder 311, then the DVR user is presented with a list of poker-related content where the content includes at least one program shortcut.
For example,
Referring back to
According to an embodiment, to create a program shortcut for video on demand media content, a DVR user accesses a search mechanism to retrieve information about the video on demand content that is available. For example, in one embodiment, the DVR user might access a web browser on PC 112. The web browser connects through the Internet 102 to the video on demand provider 115, which in turn returns a list of scheduled video on demand content. In another embodiment, the DVR user may access the video on demand content through DVR 101.
In
Hence, in one embodiment, the DVR user highlights and selects the “Philadelphia” menu item 511 to begin the process of creating a program shortcut. After highlighting and selecting “Philadelphia” 511, the DVR user is presented with a second menu that is illustrated in
For example, the user might highlight and select the “Philadelphia” program shortcut 1010. Selecting program shortcut 1010 in the video on demand context initiates a series of steps that allow the user to purchase the video on demand content. For example, the user might select the program shortcut 1010 to reveal the screen 1100 as shown in
A user purchasing the movie is illustrated in
Note that by placing the program shortcut in the Now Playing List, the program shortcut is very accessible to the DVR user. The Now Playing list displays all of the recorded media content that is available to view on the DVR and is thus, a popular destination for DVR users. By placing program shortcuts in a location familiar to users, access to the program shortcuts becomes relatively simple. In addition, the Now Playing List is an accessible menu for the user.
In an embodiment, program shortcuts for video on demand content may be automatically generated. For example, a user might express an interest in poker by creating a wish list that includes numerous poker-related programs. In one embodiment, the DVR 101 or PC 112 may automatically create program shortcuts to any program that is related to poker when that program is detected as a video on demand program. A shortcut may be generated when the media content appears as the video on demand provider updates the DVR service provider's web service provider's electronic programming guide. Similarly, media content may be matched to programs added to a catalog from broadband video on demand providers, such as, but not limited to Amazon, Netflix, and Blockbuster.
The various menus illustrated in
Downloadable content generally refers to any media content that may be downloaded upon request by the DVR user. For example, web services are increasingly available that provide downloadable versions of recent television programs and movies. In one embodiment, a user may access and purchase downloadable content through their PC 112 or DVR 101. Examples of providers of downloadable content include, but are not limited to, TivoCast, YouTube, and iTunes. Downloadable content may also refer to content that is streamed to a user for immediate viewing. Streamed content is content constantly received by, and presented to a user as the content is being delivered by a streaming provider, such as, but not limited to YouTube or Netflix.
To illustrate the process of creating a program shortcut for downloadable content, suppose a DVR user accesses a search mechanism that retrieves data about the downloadable content. For example, in one embodiment, the DVR user accesses a web browser on PC 112. The web browser connects through the Internet 102 to the downloadable content provider 114, which in turn returns a list of scheduled video on demand content. Note that in another implementation, the DVR user may access the downloadable content in a similar fashion through DVR 101.
In a manner similar to that described in connection with
Using a search user interface, the DVR user accesses a menu with a search control that allows the user to input keywords to be sent to the downloadable content provider 114 (or, alternatively, to database 118). Suppose, in this case, the DVR user would like to watch a show called “Poker: Learn from the Pros.” Accordingly, the DVR user performs the appropriate query, which sends a search request to the downloadable content provider (or, alternatively the DVR service provider's web server). The result of the search query is a list that contains at least one entry for “Poker: Learn from the Pros”. The DVR user, however, does not want to download, purchase, or watch, the content, at this particular time, but would like the option to return and access the show later. The user may also not wish to watch the content, but just mark the content for later reference or to show the content to others.
Hence, in one embodiment, the DVR user highlights and selects “Poker: Learn from the Pros”, which begins the process of creating a program shortcut for the program. After highlighting and selecting “Poker: Learn from the Pros”, the DVR user is presented with a second menu similar to the menu illustrated in
The DVR user indicates that a program shortcut should be created for the selected downloadable content. (e.g., by highlighting and selecting a “Bookmark this Program” option). In one embodiment, upon selecting the “Bookmark this Program” option, a program shortcut component, such as component 110 described in connection with
The DVR user continues to follows steps similar to those illustrated in
In this example, the DVR user downloads the program using the “download” control 1510, which initiates the download process. In one embodiment, once the download is complete, the DVR user receives confirmation 1600 that the program downloaded successfully.
The various menus illustrated in
Recommending entities allow a user to receive recommendations to media content made by third parties. A recommending entity is further described in the U.S. Patent Application, “Recommended Recording and Downloading Guides”, owned by the Applicant and incorporated by reference for all purposes herein. For example, a user might enjoy viewing classic movies. In one embodiment, a recommending entity comprising one or more movie critics provides recommended viewing options. In an embodiment, the recommended viewing media content shown may be based, at least in part, on criteria submitted by the user. For example, as illustrated in
In
In one embodiment, the DVR user is presented with a list of the recommended movies and content. The user may selectively pick which media content to download immediately and which programs to bookmark for later use.
In some instances, the recommending entity may update recommendations on a periodic basis. In one embodiment, DVR user may create a bookmark to the recommending entity's list (or guide, or collection) of programs and access their recommendations as a group rather than as an individual program.
After the DVR user has created a program shortcut to a recommending entity's recommendations, additional program shortcuts may be made to recommendation updates. In one embodiment, when a new media content is added to the recommending entity's list of programs, a program shortcut is automatically created for those newly added programs. For example, in
With respect to the recommending entity's media content selections, the user may subscribe to a season pass of the recommended programs. If the user subscribes to a season pass, then the DVR may automatically download all of the recommended picks by the particular entity until the user indicates otherwise. If the media content selection requires a purchase, then a program shortcut may automatically be created for the selected content. The DVR user then has available a particular number of recommended programs, or program shortcuts for the programs, on their computer or DVR at any given time. Moreover, the programs may update over time. Thus, if a particular movie is removed from the recommended list, the corresponding program shortcut is automatically removed from the “Now Playing List” as well.
In one embodiment, additional controls may be applied that allow the user to select subsets of a recommending entity's picks. For example, the recommending entity 104 might pick a particular media content that the DVR user finds offensive. Under this circumstance, the DVR user would have the option to filter out particular programs, as well as particular categories, ratings, genres, etc. to remove any items that the user does not want.
Third party information may refer to a wide variety of information. In an embodiment, third party information refers to data downloaded from the Internet (e.g., from Yahoo Video, YouTube, etc.) and transcoded into a format that is able to be played on a PC (such as PC 112 discussed in connection with
In an embodiment, program shortcuts may be set up that references websites that upload media content on a regular basis. When the user wishes to access additional files, the DVR user simply selects the appropriate bookmark in the Now Playing List that indicates the website to the third party web server. Content is downloaded or streamed from the website and converted into a compatible format for the DVR (if necessary), and transferred to the DVR for viewing.
For example,
In addition to the downloadable video content, a program shortcut may contain a reference to a particular website. Some media content may include tags and other embedded codes that transmit additional information to the user about the media content viewed. For example, a commercial for the automobile company, Lexus, might include interactive (e.g., embedded) data, such as a URL link or an icon indicating more available information at the bottom of the commercial screen. The user may click the URL link or icon to navigate to a web page containing more information about the particular product or program. The link might also lead to another media content download containing further information. Tags might also be applied to other media content, such as television shows, where a content provider embeds a tag in a television show for more information about related television shows.
In an embodiment, the program shortcut component enhances a user's ability to interact with the additional information. For example, the DVR user might not have the time to visit Lexus' website as the commercial airs. However, the commercial itself may be interesting enough that the user wishes to mark the link for additional information for a later visit. Accordingly, in one embodiment, the program shortcut component 110 extracts an embedded URL or link from the media content and creates a program shortcut that references the extracted URL address or link. Then, later when the user is available to browse the additional information, the user merely needs to access the saved program shortcut. The program shortcut contains a reference to the embedded URL address or link, and the user may then be transferred to the automobile company's website, or other location with additional information.
Referring again to
The query is sent to the DVR service provider's web server, where the query is processed on the electronic programming guide data stored in database 118. In one embodiment, a result is returned listing at least the time and date that the program airs. As the user browses the electronic programming guide, in one embodiment, the DVR user notices the program “The Office” and recalls overhearing excellent reviews regarding the program. However, the user only has the space and time to record one of the programs. In one embodiment, the DVR user sets a program shortcut on “The Office” listing in the electronic programming guide. As detailed above, when the user indicates (e.g., by pressing buttons on his remote control for the DVR or by using mouse clicks on his computer) that the user would like to create a program shortcut, the program shortcut component creates a shortcut object with the program information for “The Office” and stores the shortcut object to a menu readily accessible to the user. The program shortcut is added as a menu item to that menu.
In another embodiment, a user make create program shortcuts for programs that are being broadcast by creating a WishList (like for Poker-related programming) but not setting the Wishlist to auto-record the media content. In the Poker folder of Now Playing, program shortcuts are generated for all the upcoming shows that match the preference with automatic recordings of the shows not made. To record the program, the user may set one or more of the programs to record based upon the program shortcut, up until the time the program is to be broadcast. If the time of broadcast passes without the user selecting to record, the program shortcut is deleted.
As an additional way to use program shortcuts, the DVR system illustrated in
In an embodiment, the user also has limited publishing rights to the other users' Now Playing List. In this way, the user may create program shortcuts for a second user that the second user may find interesting. The second user may also limit or prohibit other users from publishing program shortcuts on the second user's DVR. In one embodiment, a user may create a single shared folder where other users publish program shortcuts. This is a way to share data without using up large amounts of the other users' storage space. In one embodiment, a user has to be authenticated to the other system before they have access to any portion of the other user's DVR system.
In an embodiment, automatic program shortcuts may be generated for additional content of media content. For example, “extras” like broadband streamed minisodes, or behind-the-scenes featurettes that may be associated to a particular television show or movie based upon an identifier, may be generated if the user has recorded or scheduled to record the referenced television show or movie. The program shortcuts may be displayed in the Now Playing List group for that particular television show or movie to allow the user the option to later view the additional content.
In an embodiment, a specific piece of media content not currently available is requested up. When the media content does become available, a program shortcut is generated and appears. For example, a user might wish to view the movie “Duplicity,” but the movie might not currently be available because the movie has not yet been released for home distribution or might simply not be available. When the movie does become available in any form, such as to record, download, or stream, a program shortcut is generated and the program shortcut appears for the user. In an embodiment, the request for the specific media content is in a “Not currently available” folder until the specific media content becomes available and a program shortcut is created.
In an embodiment, a user emails or text messages interesting content/articles to a DVR and the DVR may then determine media content to generate program shortcuts based on the keywords found in the article. For example, user might enjoy “NASCAR” and email or text an article regarding a “NASCAR” race to the DVR. The DVR might then determine that the user is interested in media content related to media content and generate program shortcuts to media content about races and other NASCAR events. In another example, a user might email a gossip article regarding the actor, “Tom Hanks”. Based upon the keywords, “Tom Hanks,” in the article, program shortcuts may be generated where Tom Hanks participates in some role in the content. This may be as an actor or a producer or any other role that Tom Hanks might play.
In another embodiment, a user may text message or email a specific piece of media content to a DVR and the DVR adds program shortcuts when the media content becomes available. The bookmark may appear in the Now Playing List. For example, if a user is interested in the movie “Wall-E”, a trailer, a partial segment of, or some other media content might be sent by the user to the DVR that relates to the movie “Wall-E.” The DVR may generate the program shortcut if the specific media content is already available or the DVR may need to wait until the media content becomes available and then create a program shortcut.
In yet another embodiment, a user may perform a search on the service provider's web site or other interface (mobile, telephone voice recognition, or email). When a user finds media content that he or she is interested, program shortcuts may be generated at the DVR from the website or other interface. This allows users who are not at home in a remote location, to generate program shortcuts of content. In addition, these searches may be performed at home, or the location of the DVR. Searching from a website might be much easier (without have to type on a television) for a user and he or she might prefer to search from the service provider's website rather than on the DVR itself. This allows additional interfaces on which to generate program shortcuts for the user.
The DVR shown in
An MPEG-2 transport multiplex supports multiple programs in the same broadcast channel, which multiple video and audio feeds and private data. Input module 2501 tunes the channel to a particular program, extracts a specified MPEG stream from the channel, and feeds the MPEG stream to the rest of the system. Analog TV signals are encoded into a similar MPEG format using separate video and audio encoders, such that the remainder of the system is unaware of how the signal was obtained. Information may be modulated into the vertical blanking interval (VBI) of the analog TV signal in a number of standard ways; for example, the North American Broadcast Teletext Standard (NABTS) may be used to modulate information onto certain lines of an NTSC signal, which the FCC mandates the use of a certain other line for closed caption (CC) and extended data services (EDS). Such signals are decoded by input module 2501 and passed to the other modules as if the signals had been delivered via an MPEG-2 private data channel.
Media switch 2502 mediates between a microprocessor CPU 2506, a hard disk or storage device 2505, and memory 2504. Input streams are converted to an MPEG stream and sent to media switch 2502. Media switch 2502 buffers the MPEG stream into memory 2504. Media switch 2502 then performs two operations if the DVR user is watching real-time TV: media switch 2502 sends the MPEG stream to output module 2503 and simultaneously writes the MPEG stream to hard disk or storage device 2505.
Output module 2503 receives MPEG streams as input and produces an analog TV signal according to NTSC, PAL, or other TV standards. Output module 2503 comprises an MPEG decoder, an on-screen display (OSD) generator, an analog TV encoder, and audio logic. The OSD generator allows the program logic to supply images which may be overlaid on top of the resulting TV analog signal. Additionally, output module 2503 can modulate information supplied by the program logic onto the VBI of the output signal in a number of standard formats, including NABTS, CC, and EDS.
According to one embodiment, the techniques described herein are implemented by one or more special-purpose computing devices. The special-purpose computing devices may be hard-wired to perform the techniques, or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or may include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination. Such special-purpose computing devices may also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. The special-purpose computing devices may be desktop computer systems, portable computer systems, handheld devices, networking devices or any other device that incorporates hard-wired and/or program logic to implement the techniques.
For example,
Computer system 2600 also includes a main memory 2606, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 2602 for storing information and instructions to be executed by processor 2604. Main memory 2606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 2604. Such instructions, when stored in storage media accessible to processor 2604, render computer system 2600 into a special-purpose machine that is customized to perform the operations specified in the instructions.
Computer system 2600 further includes a read only memory (ROM) 2608 or other static storage device coupled to bus 2602 for storing static information and instructions for processor 2604. A storage device 2610, such as a magnetic disk or optical disk, is provided and coupled to bus 2602 for storing information and instructions.
Computer system 2600 may be coupled via bus 2602 to a display 2612, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 2614, including alphanumeric and other keys, is coupled to bus 2602 for communicating information and command selections to processor 2604. Another type of user input device is cursor control 2616, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 2604 and for controlling cursor movement on display 2612. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
Computer system 2600 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 2600 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 2600 in response to processor 2604 executing one or more sequences of one or more instructions contained in main memory 2606. Such instructions may be read into main memory 2606 from another storage medium, such as storage device 2610. Execution of the sequences of instructions contained in main memory 2606 causes processor 2604 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
The term “storage media” as used herein refers to any media that store data and/or instructions that cause a machine to operation in a specific fashion. Such storage media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 2610. Volatile media includes dynamic memory, such as main memory 2606. Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge.
Storage media is distinct from but may be used in conjunction with transmission media. Transmission media participates in transferring information between storage media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 2602. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 2604 for execution. For example, the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 2600 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 2602. Bus 2602 carries the data to main memory 2606, from which processor 2604 retrieves and executes the instructions. The instructions received by main memory 2606 may optionally be stored on storage device 2610 either before or after execution by processor 2604.
Computer system 2600 also includes a communication interface 2618 coupled to bus 2602. Communication interface 2618 provides a two-way data communication coupling to a network link 2620 that is connected to a local network 2622. For example, communication interface 2618 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 2618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 2618 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Network link 2620 typically provides data communication through one or more networks to other data devices. For example, network link 2620 may provide a connection through local network 2622 to a host computer 2624 or to data equipment operated by an Internet Service Provider (ISP) 2626. ISP 2626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 2628. Local network 2622 and Internet 2628 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 2620 and through communication interface 2618, which carry the digital data to and from computer system 2600, are example forms of transmission media.
Computer system 2600 can send messages and receive data, including program code, through the network(s), network link 2620 and communication interface 2618. In the Internet example, a server 2630 might transmit a requested code for an application program through Internet 2628, ISP 2626, local network 2622 and communication interface 2618.
The received code may be executed by processor 2604 as it is received, and/or stored in storage device 2610, or other non-volatile storage for later execution.
In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. Thus, the sole and exclusive indicator of what is the invention, and is intended by the applicants to be the invention, is the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. Any definitions expressly set forth herein for terms contained in such claims shall govern the meaning of such terms as used in the claims. Hence, no limitation, element, property, feature, advantage or attribute that is not expressly recited in a claim should limit the scope of such claim in any way. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Schmidt, Margret, Glennon, Shelly, Liston, Alex
Patent | Priority | Assignee | Title |
10645456, | Apr 30 2009 | TIVO SOLUTIONS INC | Program shortcuts |
9854312, | Apr 30 2009 | TIVO SOLUTIONS INC | Program shortcuts |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 28 2009 | GLENNON, SHELLY | TIVO INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022624 | /0047 | |
Apr 28 2009 | LISTON, ALEX | TIVO INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022624 | /0047 | |
Apr 30 2009 | TiVo Inc. | (assignment on the face of the patent) | / | |||
Apr 30 2009 | SCHMIDT, MARGRET | TIVO INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022624 | /0047 | |
Sep 08 2016 | TIVO INC | TIVO SOLUTIONS INC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 041714 | /0500 | |
Sep 15 2016 | TIVO SOLUTIONS INC | MORGAN STANLEY SENIOR FUNDING, INC , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 041076 | /0051 | |
Nov 22 2019 | TIVO SOLUTIONS, INC | MORGAN STANLEY SENIOR FUNDING, INC , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 051110 | /0006 | |
Nov 22 2019 | Veveo, Inc | MORGAN STANLEY SENIOR FUNDING, INC , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 051110 | /0006 | |
Nov 22 2019 | Rovi Solutions Corporation | HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 051143 | /0468 | |
Nov 22 2019 | Rovi Technologies Corporation | HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 051143 | /0468 | |
Nov 22 2019 | Rovi Guides, Inc | HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 051143 | /0468 | |
Nov 22 2019 | TIVO SOLUTIONS, INC | HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 051143 | /0468 | |
Nov 22 2019 | Veveo, Inc | HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 051143 | /0468 | |
Nov 22 2019 | Rovi Guides, Inc | MORGAN STANLEY SENIOR FUNDING, INC , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 051110 | /0006 | |
Nov 22 2019 | Rovi Technologies Corporation | MORGAN STANLEY SENIOR FUNDING, INC , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 051110 | /0006 | |
Nov 22 2019 | Rovi Solutions Corporation | MORGAN STANLEY SENIOR FUNDING, INC , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 051110 | /0006 | |
Nov 22 2019 | MORGAN STANLEY SENIOR FUNDING, INC , AS COLLATERAL AGENT | TIVO SOLUTIONS INC | RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 051109 | /0969 | |
Jun 01 2020 | PHORUS, INC | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | HPS INVESTMENT PARTNERS, LLC | Rovi Technologies Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053458 | /0749 | |
Jun 01 2020 | HPS INVESTMENT PARTNERS, LLC | Rovi Guides, Inc | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053458 | /0749 | |
Jun 01 2020 | HPS INVESTMENT PARTNERS, LLC | TIVO SOLUTIONS, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053458 | /0749 | |
Jun 01 2020 | HPS INVESTMENT PARTNERS, LLC | Veveo, Inc | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053458 | /0749 | |
Jun 01 2020 | Veveo, Inc | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | TIVO SOLUTIONS INC | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | Rovi Guides, Inc | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | Rovi Technologies Corporation | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | Rovi Solutions Corporation | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | HPS INVESTMENT PARTNERS, LLC | Rovi Solutions Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053458 | /0749 | |
Jun 01 2020 | iBiquity Digital Corporation | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | DTS, INC | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | TESSERA ADVANCED TECHNOLOGIES, INC | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | Tessera, Inc | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | INVENSAS BONDING TECHNOLOGIES, INC | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | Invensas Corporation | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 053468 | /0001 | |
Jun 01 2020 | MORGAN STANLEY SENIOR FUNDING, INC | Rovi Solutions Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053481 | /0790 | |
Jun 01 2020 | MORGAN STANLEY SENIOR FUNDING, INC | Rovi Technologies Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053481 | /0790 | |
Jun 01 2020 | MORGAN STANLEY SENIOR FUNDING, INC | Rovi Guides, Inc | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053481 | /0790 | |
Jun 01 2020 | MORGAN STANLEY SENIOR FUNDING, INC | TIVO SOLUTIONS, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053481 | /0790 | |
Jun 01 2020 | MORGAN STANLEY SENIOR FUNDING, INC | Veveo, Inc | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 053481 | /0790 |
Date | Maintenance Fee Events |
Aug 08 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 15 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 23 2019 | 4 years fee payment window open |
Aug 23 2019 | 6 months grace period start (w surcharge) |
Feb 23 2020 | patent expiry (for year 4) |
Feb 23 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 23 2023 | 8 years fee payment window open |
Aug 23 2023 | 6 months grace period start (w surcharge) |
Feb 23 2024 | patent expiry (for year 8) |
Feb 23 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 23 2027 | 12 years fee payment window open |
Aug 23 2027 | 6 months grace period start (w surcharge) |
Feb 23 2028 | patent expiry (for year 12) |
Feb 23 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |