Media playlist management and viewing remote control
According to this invention, a user may capture a media link on any PC and perform this capture function at any physical location, then save the media link in a playlist, and subsequently play the media located at the media link on a TV server. The TV server may be controlled from a local device—typically a PC or a handheld remote control. Playlists may be maintained on a Web playlist function. Software on a local controller device can then select a media link from a Web playlist through the Internet, and the Web playlist function can then pass that link to a local TV server, thus avoiding the need for the controller device and the TV server to communicate through a LAN. Additionally, a playlist may include targeted advertisements shown physically adjacent to related playlist items.
This application claims the benefit and priority of U.S. Provisional Application Ser. No. 61/003,363, filed on Nov. 16, 2007, and entitled “MEDIA PLAYLIST MANAGEMENT AND VIEWING REMOTE CONTROL,” by inventors Joseph A. Zott, Samuel W. Beal, and Robert Osann, Jr., and U.S. Provisional Application Ser. No. 60/901,671, filed on Feb. 13, 2007, and entitled “REMOTE CONTROL FOR VIDEO MEDIA SERVERS,” by inventors Robert Osann, Jr. and Samuel W. Beal, both of said applications commonly assigned with the present application and incorporated herein by reference.
COPYRIGHT NOTICEA portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
CROSS REFERENCE TO RELATED APPLICATIONSThis application is related to and cross references the following U.S. patent application, which is commonly assigned with the present application and incorporated herein by reference:
-
- U.S. patent application Ser. No. 12/069,877 entitled “REMOTE CONTROL FOR VIDEO MEDIA SERVERS,” by Robert Osann, Jr., Joseph A. Zott, and Samuel W. Beal, filed on Feb. 12, 2008.
This invention relates to TV server computers used by consumers in their home for viewing videos and other media that are either streamed from the Web or previously stored, and the creation, storage, manipulation and access of media playlists used in conjunction with TV server computers, and in particular, methods for remote controlling TV server computers according to media links contained in playlists.
BACKGROUNDCurrently, Web media is played almost exclusively on computers and not on TVs. It is known to connect a computer to a TV set in order to watch Web media, however it is difficult to control such a system within the typical scenario for TV watching where the viewer is sitting on a couch or chair some distance from the TV. While a wireless keyboard and mouse can enable the user to control the TV from a distance, it can be very difficult to view a Web browser display on a TV. This scenario also causes the viewer to surf the Web on their family's primary TV, disrupting the family's normal TV program viewing. This issue of disrupting the family's normal TV program viewing was the primary cause of the failure of the “Web TV” product offered by Microsoft in the 1990s.
A solution to these problems was previously put forth in Provisional Application No. 60/901,671, entitled “Remote Control for Video Media Servers” with common inventors and commonly assigned with the present invention. For the purpose of this application, “media server” and “TV server” are synonymous—representing a computer whose video output is connected to a conventional TV set or video display used for viewing TV programming. The invention described in Application No. 60/901,671 enabled a TV server to be remotely controlled from another computer allowing any Web media content to be viewed on the TV, while controlling the TV server easily and from a comfortable distance. It also allowed Web media capture to be performed on the TV server without disturbing family TV viewing. This application did not, however, address the issue of capturing Web media links and consolidating those links into a “playlist” for viewing at a later time, including different methods for using those media links to remotely control a TV server.
Today, Web media is typically located by consumers on a PC using a Web browser and some form of search engine capability. Using a search engine requires typing strings of alphanumeric characters and thus a full keyboard or full keyboard functionality is normally required to successfully locate Web media. Some Web media viewing solutions implement methodologies that require the use of a handheld remote control to locate Web media, and as such are typically not suitable for Web searching since they lack alphanumeric input capability.
Many websites offer media content and are structured such that users will remain within the confines of a specific content website, and through sharing, will encourage others to be brought to that same content website. If these websites offer the ability to construct a playlist, it is done within the confines of media available on the particular site. Other websites offer the ability to construct a playlist or bookmark list where media links and other web URLs may be saved, shared, and utilized for playback—however playback is performed on a PC, not a TV, and never using a TV server which is remotely controlled.
Given the desire to watch any web media on a family's primary TV set, and to control this operation from the comfort of one's couch, there is a need to operate a TV server remotely from a local PC or handheld remote control, and a further need to operate a TV server to view media links previously stored in a playlist. While it is known to operate a TV server from a handheld remote control, as in the case of the Apple TV, media players such as the Apple TV only allow viewing of media which can be located by navigating a predefined hierarchy of information. No provision is offered for allowing the user to perform a general Web search to locate and capture Web media, and then create a playlist incorporating the media links they have located, and then use that playlist to remotely control a TV server.
Within this specification:
-
- A “playlist” is an electronic list of electronic location references or “media links” which point to different forms of electronic media
- A “media link” may be a Web URL or alternately the file path and name for media stored on a LAN
- A “LAN” refers to the LAN in a home where a TV Server and TV are located
- “Media Server” and “TV Server” are synonymous—a computer with a video output connected to a TV set or Video Display that also plays conventional TV programming. The functionality that implements a “Media Server” or “TV Server” may physically reside either externally or internally to a TV set.
- A “LAN TV Server” refers to a TV server attached to the LAN in a home
- A “local TV server” or “TV server” refers to a TV server that is remotely controlled by either a local PC or handheld remote control, but which may not necessarily communicate with these controlling devices via the LAN.
- A “Remote PC” refers to computer at a different physical location than the LAN TV server, i.e., not on the same LAN
- A “PC” can be any form of Personal Computer—Laptop, Desktop, Tablet PC, PDA, or Smart-Phone/PDA. For this invention, the PC is physically a different device than the TV server although a TV server may be implemented with what is conventionally known as a “PC”. PCs can implement a “controller device” or a “capture device”. Control and capture can be performed on the same PC or on different PCs. A “local controller refers” to any PC as defined above that is used as a controlling device for a TV Server, and that is at the same physical location as the TV server.
- A “playlist function” is an application program running either locally on a PC with a local application window interface, or alternately, on a website and controlled through the Internet by way of a browser interface. A playlist function is capable of storing and managing playlist files or databases.
- A “Web playlist function” is an application program running on a website that communicates with PCs and LAN TV servers through the Internet, and is capable of storing and managing playlist files or databases.
According to this invention, a user may capture a media link on any PC and perform this capture function at any physical location, then save the media link in a playlist, and play the media located at the media link on a TV server, while controlling the TV server from another device—either a PC or a handheld remote control. Capture and play of playlists may be preformed simultaneously and in the same location, or alternately may be performed and different times and/or in different physical locations.
When the user plays, on the TV server, the media located at a media link, the system and method according to one embodiment of this invention further causes one of an open browser window, a new browser window, or a new tab in an open browser window on the TV server, to go to the URL location or file location corresponding to the media link, and display the media corresponding to the selected media link on a TV or video display connected to the TV server. In addition to streaming media located at a URL referenced by a media link, the act of playing the media located at a media link may cause an application window to open on the TV server that is appropriate for playing a specific type of file (AVI, WMV, MP3, MP4, JPG, PNG, etc.) corresponding to the media link, thereby displaying the media corresponding to the link on a TV or video display connected to the TV server.
The playlist may exist as a file or database stored on a local PC, a remote PC, on a LAN TV server, or on a website. When the playlist is stored on a website and accessed via the Internet, either a local PC or remote PC may access the playlist from the website to perform capture and edit functions or to play media on that PC. When a LAN TV server accesses the playlist from a website, the selection and play of media links that the user wishes to view on the TV is remotely controlled from a local device which may be either of a local PC or handheld remote control. The connection between a handheld remote control and the LAN TV server may be either of a LAN network connection or alternately a peer-to-peer connection. A peer-to-peer connection may be an infrared link or alternately a wireless RF connection.
A playlist file or database, or a link to a Web playlist, may be emailed by a user to a remote PC in order to share the playlist. A playlist or a link to a Web playlist may also be emailed to a remote TV server. Alternately, a sharing function may be incorporated into a Web playlist function whereby anyone owning a playlist may grant access to others in order to share a given playlist. Also, the TV server may communicate with the Web playlist function in order to convey authorized tracking and rating information.
When the playlist is a file or database stored on a TV server, media corresponding to the media links in the playlist may be selected and played under the control of a handheld remote control that communicates with the TV server, or alternately under the control of an application program on a local PC by way of the LAN connection.
CaptureMedia links may be captured by a number of methods. A media link URL may be added to the playlist by dragging the URL from a browser address bar and dropping it in the playlist application window (when the playlist is a resident program) or alternately the Web playlist function interface browser window.
Alternatively, when the selected media link is the current address in a browser address bar, the action of selecting the media link for addition to the playlist may be performed by clicking a button in the browser window. This action causes a pop-up menu to become visible and the user chooses a desired action from the pop-up menu. The choices on the pop-up menu for the desired action can comprise the combination of one or more of at least the following:
-
- a) adding the selected media link to the playlist
- b) playing, on the local PC, the media corresponding to the selected media link
- c) playing, on the LAN TV server, the media corresponding to the selected media link
This action of selecting may also be performed by clicking a mouse button while hovering over the browser window and choosing a desired action from a pop-up menu. The media link to be added to the playlist may appear anywhere on a current page of a browser, or alternately may be an entry on a file manager display (i.e. the “My Computer” window on Microsoft Windows operating systems), and the action of selecting is performed by clicking a mouse button while hovering over the specific link and choosing a desired action from a pop-up menu similar to that just described.
Preview WindowThe playlist function may incorporate a preview mode that causes a preview of a selected video in the playlist to play in a preview window. The preview window appears as a pop-up window caused by a hover behavior where the cursor position is held stationary over a particular media link in the playlist display. A delay is typically included between the time the cursor assumes a stationary position over the media link and the time the preview window is activated. When a preview window is activated for a particular media link, the preview media is fetched either from a Web location according to the media link URL, or alternately from a file location on the LAN. The preview video may be pre-stored on a TV Server or PC to minimize any delay in response to activating the preview. The pre-storing of this information may be done in the background as a low priority operation after the user has captured the media link in a playlist. A preview video would typically appear in a pop-up window activated by a button on the Local PC or on a handheld remote control. If a LAN TV server is being controlled remotely by a Local PC, the preview window could appear on the LAN TV server or on the local PC, or simultaneously on both, depending upon the user's preference. A preview video may contain only the first few seconds of a selected video, or alternately can start a stream of the video, displaying the video for as long as the user wishes. It may include a selected highlight from the video. The preview window is typically greatly reduced in size from a full screen display, and therefore requires much less bandwidth and or storage space than a video to be played full screen.
When a LAN TV server is remotely controlled by a local PC, it may be desirable for either previews of the selected media, or the media itself, to display simultaneously on the LAN TV server and on the local PC. This can be accomplished by utilizing a multicast methodology where the same stream of information is sent to both the LAN TV server and the local PC at the same time.
Sequential PlayA playlist may be organized sequentially, such that media corresponding to sequential media link entries in the playlist may be played sequentially. When the selection of a media link and the action of playing a media link are separate actions, the playlist function may be configured such that the action of playing a particular selected media link may automatically cause the next sequential entry in the playlist to be selected (in order to be the next media link to be played). Carrying this further, it is possible to determine when the play of a particular video has ended and automatically start the next sequential entry in the play list. In this manner, a list of short videos can be concatenated in a playlist, and the user may initiate the play of the multiple short videos such that they will all play in sequence with no further action on the part of the user, the next video automatically starting after the preceding video ends.
Integration of Other PlaylistsSince there are a number of generic and also content specific media playlist functions available to a user from a variety of content and software providers, it is desirable to add a function where a playlist can automatically consolidate other (foreign) playlists. This function extracts media links from other playlists that may reside either on a local PC or a TV server, or on the Web. Their formats are automatically translated into the format of the primary or native playlist.
Integration of AdvertisingWhen a user assembles a media playlist they have essentially defined their preferences in the type of media they typically view as well as some of their lifestyle preferences—including by inference the kinds of products and services they may often purchase.
When a user is viewing a media playlist there is an opportunity to show advertising as part of the display. While this is well known for search engine advertising schemes as well as banner ads on websites in general, including content websites, targeted advertising has not been applied to a playlist function that is used to remotely control a TV server. This targeted advertising function can be implemented by displaying advertisements adjacent to the playlist media links where the specific advertising is chosen for its relevance to the material contained in the media link currently selected—or material contained in media links positioned in close proximity within the playlist to the media link currently selected.
It is well known in the art to create bookmark lists and playlists, pointing not just to Web media, but to all types of information stored at Web URLs. Two example formats for prior art media playlists are shown in
Media links may be captured in a playlist by a variety of scenarios, and local PC 302 shown in
There are a variety of methods which may be used to capture a media link URL in order to add the media link to a playlist. One possible method, consistent with the local PC display shown in
Yet another possible method for capturing a media link URL is shown in
When the playlist resides on a website implemented as a Web playlist function, the playlist is accessed from different PCs by way of a browser interface or an application program running on the PC which communicates via the Internet. Accessing a Web playlist function using a browser interface is a simpler path for users. Implementations can be created where users can start using the Web playlist function without installing special software on the PC, a significant advantage.
The process flow for the graphical representation shown in
If a handheld remote control 2101 is used to control the TV server 2102, and a Web playlist function is not utilized, software running on TV server 2102 must receive playlist info in order to display the playlist on the TV and respond to selection commands from the handheld remote control. This scenario is shown in
Prior art playlists often show a thumbnail image of the media for each entry. It is also known to utilize a hover behavior where placing the mouse (cursor) over a link or playlist entry will pop-up a window containing a synopsis of the media and often a larger version of the thumbnail image. However, it is not known to make this thumbnail image an active video that plays an excerpt from the referenced media. According to this invention a playlist function on a TV server may include a hover-activated preview window 2201 as shown in
The active video may be either a short excerpt from the referenced video or alternately it may stream a reduced size version of the referenced video such that the streaming video preview will play as long as the user desires—basically as long as the user hovers the mouse over the selected media link. In order to improve the response time for a preview to play when the cursor hovers over a particular media link, it may be useful to pre-store the video information on the PC or TV server where the playlist will be visible the user. Since downloading video information in order to pre-store a preview can be time-consuming, this operation of downloading preview information can be performed as a background operation that happens over time after a media link is added to the playlist.
When a LAN TV server is remotely controlled by a local PC, it may be desirable for either previews of the selected media, or the media itself, to display simultaneously on the LAN TV server and on the local PC. This can be accomplished by utilizing a multicast methodology where the same stream of information is sent to both the LAN TV server and the local PC at the same time.
While it is known to offer targeted advertising in a search engine results window such as Google and others, targeted advertising has not been presented in a playlist window where the playlist is used to remotely control a TV server from either a PC or a handheld remote control. Also, targeted advertising in a Google search results window comprises a list of advertisements that relate to a single search criteria. The Google results window does not teach multiple unrelated targeted advertisements which are physically grouped in close proximity to particular related items in the list that is presented, as is disclosed by the present invention.
Content targeted ads may additionally or alternately be targeted according to a viewer's demographic characteristics or their stated or observed preferences. Targeted advertisements may take the form of a video clip that plays when it is visible to the user, or alternately one that plays when the cursor on the controller device hovers over the associated media link.
Sequential Play of Multiple VideosEventually it will become commonplace to stream or download full-length movies from the web to be played on a TV set via a TV server. However, most Web videos are viewed today on PCs, and most of those are short video clips such as those commonly available from YouTube. It is therefore desirable to view multiple small video clips 2501 in sequence as shown in
Media players are software applications designed to run within the context of an Internet browser. Media player controls can be either integrated in the visual display of the player or be under program control of the running web page. Web media players typically provide limited status feedback to the user. More critical for remote control of web videos is that the capabilities and interfaces of web media players vary.
A Web browser is intended to execute and render the application code and behaviors of a displayed Webpage. Most Web browsers have a mechanism where additional behaviors and controls can be implemented and the application can be modified. Such extensions have the capability to completely change the behavior of the Web browser.
The majority of players have a programmatic mechanism to see what state the player is in—either event signaling or state information is provided. If only player state is provided, then the player state can be polled and the state (e.g., currently playing or stopped) can be assessed. Web pages incorporate various media player control mechanisms ranging from no programmatic control (i.e., only user-activated controls direct to player) to extensive in-page software control (i.e., all user controls heavily managed by application code running in browser). Since browsers incorporate the capacity of being extended, an extension can be created that surveys a web page and identifies if and what kind of media player is incorporated. This extension can also analyze any programmatic control currently being used in the page. A browser extension has the ability of modifying a web page (content and/or program behavior) and this allows for the injection of new behaviors to be implemented based on the web player used and the programmatic control originally implemented. These new behaviors can replace or extend the control behavior originally incorporated in the web page.
Thus, the state of a media player may be monitored either through event signaling or by polling state information, and new behaviors may be injected into the webpage based on the web player used and the programmatic control originally implemented, in order to cause the next sequential video in the playlist to be played automatically when the video currently being played has ended.
The injected behaviors may be extended to include to pre-rolling the next video before the last video finishes. This would allow skipping advertisements included in the video stream. Another behavior that can be implemented for some media players is to automatically fast forward through commercials. Further, if a media sequence (two or more media elements) relies on the same player, they can be bundled in a native player playlist and played in sequence without further control.
There are times when the media player software/codec required to play a particular video is not available on a particular TV server. This can happen for a variety of reasons including the scenario where the user receives a playlist from a friend, and that playlist was created in an environment where the software media player capabilities were different. When an application program running on the TV server and interfacing with the Web playlist detects that the particular software/codec is not available on the TV server, it could prompt the user that additional software needs to be installed. However, having to install software in order to view a particular video is not always desirable, and a better user experience can be delivered by automatically transcoding the particular video prior to delivery to the TV server. As shown in
Thus, methods and functionalities for a media playlist management function including remote control for viewing on a TV server, integrated with a preview function, content-targeted advertising, sequential play, and video transcoding have been described.
Claims
1. A method for viewing media referenced by media links in a playlist, comprising:
- on a local controller device, selecting a media link from a playlist displayed on said controller device;
- causing media referenced by said media link to be played on a local TV server and displayed on a TV; and
- wherein said local controller device and said local TV server are both connected to the same LAN.
2. The method of claim 1 wherein all communication between said local controller device and said TV server is performed by way of a website function external to the LAN and not by way of the LAN.
3. The method of claim 1 wherein all communication between said local controller device and said TV server is performed by way of the LAN; and
- wherein said local controller device and said TV server are made aware of each other's IP addresses by an access controller function located on the Internet and not located on the LAN.
4. The method of claim 2 wherein the playlist is stored on a website and accessed via the Internet.
5. The method of claim 2 wherein the playlist is stored on the controller device.
6. The method of claim 2 wherein the playlist is stored on the TV server.
7. A method for viewing media referenced by media links in a playlist, comprising:
- on a local controller device, selecting a media link from a playlist displayed on said controller device;
- causing media referenced by said media link to be played on a local TV server and displayed on a TV; and
- wherein a preview mode comprises at least a portion of a particular video (hereinafter the “preview video”) referenced by a media link in the playlist being played in a pop-up window on said controller device, caused by a cursor hover behavior over said media link.
8. The method of claim 7 wherein the preview video is pre-stored on the controller device in order to minimize delay in response to activating play of the preview video.
9. The method of claim 8 wherein the act of pre-storing is done as a background task on the controller device.
10. The method of claim 7 wherein the preview video is displayed simultaneously on both the controller device and TV server.
11. The method of claim 10 wherein the preview video is multicast in order to play synchronously on both the controller device and TV server.
12. The method of claim 7 wherein said local controller device and said local TV server are both connected to the same LAN; and
- wherein all communication between said local controller device and said TV server is performed by way of a website function external to the LAN and not by way of the LAN.
13. The method of claim 7 wherein all communication between said local controller device and said TV server is performed by way of the LAN; and
- wherein said local controller device and said TV server are made aware of each other's IP addresses by an access controller function located on the Internet and not located on the LAN.
14. A system for viewing media referenced by media links in a playlist, comprising:
- a local controller device wherein media links are selected from a playlist displayed on said local controller device;
- a local TV server whose video output is displayed on a TV, and wherein said local TV server causes media to be displayed according to media links selected from the playlist displayed on said local controller device; and
- wherein at least one content targeted advertisement is displayed on the controller device in close physical proximity to one or more media links whose referenced content is most closely associated with said content-targeted advertisement.
15. The system of claim 14, wherein said content targeted advertisement is also demographic targeted based on the viewer's demographic characteristics.
16. The system of claim 14, wherein said content targeted advertisement is also viewer preference targeted based on the viewer's preferences.
17. The system of claim 14 wherein said content targeted advertisement is a video clip that plays when it is visible to the user.
18. The system of claim 14 wherein said content targeted advertisement is a video clip that plays when the cursor on the controller device hovers over the associated media link.
19. The system of claim 14 wherein said local controller device and said local TV server are both connected to the same LAN; and
- wherein all communication between said local controller device and said TV server is performed by way of a website function external to the LAN and not by way of the LAN.
20. The method of claim 14 wherein all communication between said local controller device and said TV server is performed by way of the LAN; and
- wherein said local controller device and said TV server are made aware of each other's IP addresses by an access controller function located on the Internet and not located on the LAN.
Type: Application
Filed: Nov 14, 2008
Publication Date: Sep 10, 2009
Inventors: Joseph A. Zott (Menlo Park, CA), Samuel W. Beal (Mountain View, CA), Robert Osann (Morgan Hill, CA)
Application Number: 12/291,968
International Classification: H04N 7/025 (20060101); G06F 13/14 (20060101); H04N 5/445 (20060101);