This invention relates generally to the time-shifting of television and video programming and in particular to on-screen display of content information with video.
The Video Cassette Recorder (VCR) has changed the lives of television (TV) viewers by allowing viewers to time-shift TV programs to match their lifestyles. Using the VCR, the viewer stores programs onto magnetic tape; this can then be played back at the viewer's convenience. The VCR gives the viewer the ability to pause the program playback whenever he desires, fast-forward through unwanted program material or commercials, and to replay favorite scenes. However, a VCR cannot both capture and play back information at the same time.
The use of a digital computer system to solve this problem has been suggested. U.S. Pat. No. 5,317,551 issued to Logan et al., on Dec. 6, 1994, teaches a method for concurrent video recording and playback. It presents a microprocessor-controlled broadcast and playback device. However, the approach requires that the microprocessor and hard disk must be very fast in order to keep up with high video rates found in television transmission.
The use of a multimedia time-warping system to solve this problem has been suggested. U.S. Pat. No. 6,233,389 issued to Barton et al. on May 15, 2001 teaches such a system, which utilizes the approach that decouples the microprocessor from the high video data rates, thereby reducing the microprocessor and system requirements, which are at a premium. The common name employed in the art to describe such a multimedia time-warping system is Digital Video Recorder (DVR).
DVR systems typically include a live cache, refers to a temporary area of the hard disk drive (HDD) where live programming is being cached (i.e., temporarily placed), so that the cached program can be viewed again during the user's current viewing session. However, heretofore there has been no simple way for a user to easily and quickly determine what programming is currently in live cache, or what programming will be live cached in the future.
Methods and apparatus for displaying program information in an on-screen status bar display. In one embodiment, a method includes caching video content received from a broadcast content source, displaying the cached video content on a display device, receiving a request to display a cache status bar, and collecting program information for the cached video content from the broadcast content source. The method further includes incorporating the program information into the cache status bar, and displaying the cache status bar with the program information on the display device.
Other aspects, features, and techniques of the invention will be apparent to one skilled in the relevant art in view of the following detailed description of the invention.
One aspect of the invention is to display information on a display device (e.g., television) relating to the nature of the video content presently being displayed and/or that which is being stored in the live cache of a companion Digital Video Recorder (DVR) system attached to the display device. In one embodiment, the invention may be housed in a set-top box which provides a video signal to a display device for presentation of video content. In addition, the set-top box device may be a DVR system, or may be coupled to a separate DVR system.
Another aspect of the invention is to provide content information in a DVR status bar. In one embodiment, this content information may be based on the electronic program guide (EPG) data provided by, for example, the broadcasters themselves. In one embodiment, the content information to be integrated with the DVR status bar may include, but not be limited to, the beginning of the DVR's live cache, the end of the last live cache, program transition and program titles in the live cache, program information for the next program to be broadcast on the same channel.
Referring now to the drawings,
The input module 102 may produce MPEG streams. An MPEG2 transport multiplex supports multiple programs in the same broadcast channel, with multiple video and audio feeds and private data. The input module 102 may also be used to tune the channel to a particular program, extract a specific MPEG program out of it, and feed it into the rest of the system. Analog video signals may be 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 video signal in a number of standard ways. For example, the North American Broadcast Teletext Standard (NABTS) may be used to modulate information onto lines 10 through 20 of an NTSC signal, while the FCC mandates the use of line 21 for Closed Caption (CC) and Extended Data Services (EDS). Such signals may be decoded by the input module 102 and passed to the other modules as if they were delivered via a MPEG2 private data channel.
In one embodiment, the media switch 112 mediates between a microprocessor CPU 106, hard disk or other storage device 108, which may or may not include the DVR system's live cache 114, and volatile memory 110. Input streams are converted to an MPEG stream and sent to the media switch 112. The media switch 112 buffers the MPEG stream into memory. If the user is watching real time broadcast content, the media switch 112 may send the stream to the output module 104, as well as simultaneously write it to the hard disk or storage device 108.
The output module 104 may take the MPEG streams as input and produces an analog video signal according to a particular standard (e.g., NTSC, PAL, or other video standard). In one embodiment, the output module 104 contains an MPEG decoder, on-screen display (OSD) generator, analog video encoder and audio logic. The OSD generator may be used to supply images which will be overlaid on top of the resulting analog video signal. Additionally, the output module 104 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.
With respect to
With respect to
In response to the control instruction to display the DVR status bar, process 500 continues to block 520 where programming information (e.g., actors' names, show name, time/date, etc.) may be collected. In one embodiment, programming information may be retrieved from the EPG. In another embodiment, programming information is provided by the broadcasters themselves, such as in the VBI of the video content being broadcast to the user. The OTA EPG data for digital stations may be provided by the broadcasters via PSIP (Program and System Information Protocol). PSIP tables may be incorporated in the broadcaster transport stream (please note that not all broadcaster provide this data). PSIP also provides virtual channel mapping.
In one embodiment, the programming information relates to video content that has been stored on a DVR-type system. In another embodiment, the programming information to be retrieved may relate to the live cached content and/or the video content to be live cached. As previously mentioned, live cache refers to a temporary area of storage where live programming may be temporarily placed so that the cached program can be viewed again during the user's current viewing session. In one embodiment, the live cache is a fixed size, with a default time of 30 minutes and user configurable up to 90 minutes. Moreover, more than one program can be stored in live cache, up to the limit of the cache size.
Some of the functionality afforded by the live cache is to enable the user to reverse until the beginning of the cache or until the cache runs out, to forward through the cache until live programming is reached, to replay until the beginning point of the cache, to slow reverse or forward through the cache, to skip to any chapter mark placed in a current location in cache, and to pause the cached video content.
Process 500 then continues to box 530, wherein the retrieved/collected programming information is used to populate the status bar. Details of exemplary status bars are described below with reference to
Referring now to
Status bar includes a progress bar 615 which is a graphical representation of the cached video content. In one embodiment, the progress bar 615 may be divided into one or more segments 6201-6203, where each segment denotes a individual cached program. It should further be appreciated that the program cache may be of a fixed size (e.g., 30 minutes) and/or may be user configurable. In the embodiment of
Continuing to refer to
As shown in
Status bar 610 is also depicted with optional play status box 640. In one embodiment, play status box 640 may be used to show the current position in the live cache. In this embodiment, the user is currently viewing video content from the second segment 6202 at the 1 hour and 25 minute point. In addition, the play status box may optionally indicate the current trick play status 645. In this embodiment, the user is fast forwarding through live cache at 3 times the normal pace. Numerous other icons may be used to denote the following trick play conditions: Play, FF, REW, Slow, Slow Reverse, Stop, Pause, Advance, Previous and Next, Frame-by-Frame Forward and Reverse.
Status bar 610 is further depicted as including program title information below the progress bar 615 for the various programs stored in cache. In particular, the first cached program is cached in segment 6201 (i.e., “Carey Show”), the second cached program is cached in segment 6202 (i.e., “Current Show”), while the last cached program is cached in segment 6203 (i.e., “Future Show”). In one embodiment, the programming information for the “Current Show” relates to the program currently being viewed, while the programming information for the “Future Show” may relate to programs stored at a later point in cache or to programs which are to be broadcasted at some future point and, therefore, are expected to be cached. While each segment includes only a program title, it should be appreciated that other programming information may similarly be incorporated into the status bar 610 (e.g., actors' names, program title, time/date, program summary, etc.). Moreover, the status bar 610 of
Referring now to
The status bar 710 includes a progress bar 715 which is a graphical representation of the stored video content (e.g., a broadcasted program). The status bar 710 is displayed near the bottom of the screen 705 further indicates the beginning of the stored video content as 0:00. The end of the stored video content is denoted by end time 720.
As shown in
Status bar 710 is further depicted as including program title information 740 for the stored video content. While only a program title is depicted in
While the invention has been described in connection with various embodiments, it will be understood that the invention is capable of further modifications. This application is intended to cover any variations, uses or adaptation of the invention following, in general, the principles of the invention, and including such departures from the present disclosure as come within the known and customary practice within the art to which the invention pertains.