The present invention relates to providing access to video content, and in particular to providing access to audio/video (A/V) content for display.
The Internet is an example of video content space that is becoming a repository and distribution channel for video content. Currently, users wishing to view such content on consumer electronics (CE) devices such as televisions (TVs) encounter several obstacles because content web sites are structured for access via computer screens such as those on a personal computer (PC). Without a pointing device and keyboard, web sites are difficult to navigate on CE devices such as TVs. Further, the layout (font size, etc.) of a web site may not be appropriate for TVs.
In addition, accessing content on such web sites typically involves a delay/gap (at least a few seconds) as content is downloaded and buffered before viewing starts. Some Internet video content services require an entire movie or video segments to be downloaded before the viewer can view the content. These present TV users with either blank screens or download progress bars when users switch between content selections for viewing. In addition, currently much of the Internet video content is in short form (a few minutes in length). Such short form would require TV users to continually make new content selections every few seconds/minutes. There is no smooth transition from one content item to another.
The present invention provides a method and system for accessing audio/visual content. In one embodiment, such access involves initiating the download of selected content over a communication link, for display on a display device, and monitoring the download status to detect download conditions that may lead to a delay in display of the selected content. Then, upon detecting download conditions that may lead to delay in display of the selected content, displaying alternate available content on the display device.
In one implementation, download of the selected content continues while displaying said available content on the display device. Displaying said available content on the display device continues until a sufficient amount of the selected content is downloaded for display for a certain duration of time. Upon download of sufficient content, a user is prompted to indicate when to cease display of said available content and start displaying the downloaded content.
Selecting available content of interest to the user may further include selecting available content based on information indicating user interests. The available content includes local content and said selected content includes remote content for access via the communication link. The remote content includes Internet video content and the local content includes local video content. The available content includes local available content previously downloaded based on user interests.
These and other features, aspects and advantages of the present invention will become understood with reference to the following description, appended claims and accompanying figures.
The present invention provides a method and system for accessing A/V content, such as accessing video content on the Internet via a communication link. One application of the present invention is for on-demand video services providing Internet/Web videos for download and display on television (TV) sets.
In one embodiment, the present invention provides a content access system for access to Internet video content and display on a display device such as a TV. The content access system provides a TV-like experience by displaying, while downloading, user-selected video content from the Internet, and replacing display delays/gaps that occur as a result of slow Internet content download speeds, with available content (secondary/alternate content) such as content from local storage. As a result, the user need not idly wait while video content is being downloaded from the Internet for display. Instead, in one embodiment, whenever the content access system detects that it is unable to timely download and display user-selected video content without delay, the content access system pauses the selected video playback and instead plays video from the local storage, while continuing a download of the user-selected video, until such time that the content access system has sufficient user-selected video downloaded for display without pause/delay during a time period. The process is repeated as necessary as detected by the content access system.
In one implementation, the content on the local storage may include pre-fetched videos related to user interests and/or related to the original video content selected by the user for viewing. User interest is determined based on user profile or history of user activity for selecting videos stored in the local storage and/or pre-fetching video for the local storage, related to user viewing habits and interests.
The network 10 further provides a content access module 25 that provides access to Internet video content, as described herein. The content access module 25 can function with a standard Internet connection and automatically configures itself for varying connection speeds and video-qualities. The content access module can be implemented as client technology which connects to servers over the Internet for video content and display. The content access module does not require special server support and can therefore operate with a wide-variety of online video services, providing users with the ability to choose between Internet video services.
If the display video bit-rate is higher than the average Internet connection/download speed, then the entirety of the selected video cannot be shown without interruptions. Whenever the content access module 25 detects/perceives such interruption, the content access module pauses the original selected video content being watched by the user, and video from the local storage is started and displayed to the user while the selected video content downloads. As such, the user experiences essentially continuous playback of video content that is either selected by the user or is related to the user interest. Watching an Internet video using the content access module is similar to watching TV where the content program display is essentially continuous.
The user profile builder 105 includes explicit user interests 106 and/or video information 108. The explicit user interests 106 are specified by users. The user profile builder 105 also interprets user viewing interaction with video content (e.g., skip, pause, play, fast-forward, etc.) and video meta-data, and generates a model of the user interests, stored as the viewing information 108.
The video downloader 110 monitors the explicit interests 106 and the viewing information 108, and determines the videos to be downloaded or pre-fetched into the local storage 26 (e.g., flash memory or a disk drive in the network). Based on user interest information from the explicit interests 106 and/or the viewing information 108, the video downloader 110 identifies key terms (e.g., “action”, “drama”, “Louis Armstrong”, “Die Hard”) that may be of interest to the user. The video downloader 110 then uses one or more of the key terms to locate content on the Internet that relates to one or more of the key terms, via the Internet video plug-in 112. The video downloader 110 also provides status information of a video currently being downloaded.
The Internet video plug-in 112 provides information about various sources of Internet videos and provides an interface by which the video downloader 110 can “translate” user profile information to location of videos (e.g., using the plug-in 112 to search for Internet video relating to key terms).
The user may select video content already in the local storage for display on the display device 101, or the user may select video content that needs to be downloaded for display. In either case, the video scheduler 114 monitors the status of the video being watched by the user via the video downloader 110. If the video being watched is in the process of being downloaded, the video scheduler 114 monitors the download process/progress to ensure that the video can be viewed continuously (i.e., without delay/gaps). As soon as the video scheduler 114 detects that the video download is likely to experience a delay (e.g., due to real-time decrease in download speed), the video scheduler 114 selects, and schedules, video content from the local storage 26 for display on the display device 101. The display of video content from the local storage 26 continues until sufficient quantity (e.g., 15 minutes of video) of the download video is available for viewing again. Once the video scheduler 114 detects that sufficient quantity of the download video has become available, the video scheduler 114 waits for the video from the local storage 26 to stop, and then schedules the download video again for display on the display device 101.
In one embodiment, the scheduled video is chosen based on the following parameters: (a) whether it was viewed by the user before, (b) whether it is relevant to the video chosen for viewing, and (c) how long is the video. In another embodiment, based on download speed, the amount of time before the original video can be viewed is estimated, and a video of appropriate length based on said time estimate is selected from the local storage.
Accordingly, an on-demand video service can provide essentially continuous playback of video content on a device that connects to the Internet for content download over a range of connection speeds and video data rates. The user is provided with essentially continuous video content playback (a TV-like experience) without requiring the user to wait for Internet video content or TV channels to download. The user need not stay idle or wait for a portion of a video content item to be downloaded before it can be displayed. This is because the content access system displays content from local storage while a selected Internet video content item is being downloaded for display.
As is known to those skilled in the art, the aforementioned example architectures described above, according to the present invention, can be implemented in many ways, such as program instructions for execution by a processor, as logic circuits, as an application specific integrated circuit, as firmware, etc. The present invention has been described in considerable detail with reference to certain preferred versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.