|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates to in-home recording, storage, and playback
of digital video program content.
BACKGROUND OF THE INVENTION
People in the United States spend roughly 7.5 billion dollars annually to
rent movies and other pre-recorded video programming for private playback
at their convenience. Such video programming can be distributed in several
forms, such as analog video tapes (and more recently, digital video tape)
for playback using a video cassette recorder ("VCR"); analog laser discs
for playback on laser disc players; or digital compact discs for playback
using either personal computers or else special-purpose compact disc
player machines.
Present video playback systems are limited in several respects. Current
systems offer relatively limited storage capacity, typically holding the
equivalent of a single, feature-length movie on a single disc or tape.
Digital video tape offers theoretically greater capacity, if aggressive
data compression schemes are used. However, such compression has generally
not been used with digital video tapes, because this greatly complicates
the implementation of trick mode functions such as slow motion, fast
forward, and fast and slow motion reverse.
For example, most of today's VCRs, which use helical scanning, cannot
restore and playback the entire video signal if the playback speed is
varied either slower or faster than normal. In addition, if the signal is
highly compressed, then the loss of even a single bit could result in
highly visible artifacts persisting for half a second or longer. Although
it is possible to effectively implement trick modes when playing back
highly compressed video signals, this requires careful selection of bits
to be preserved and bits to be discarded. This type of selectivity is not
possible with existing VCR technology without seriously compromising the
performance of the VCR player.
Because of this inability to take advantage of high compression ratios,
physical storage requirements discourage individuals from maintaining
large selections of titles in their own home. Moreover, rental
establishments face fierce competition among video titles for limited
shelf space, and consumers are often frustrated at being unable to find a
copy of the particular titles they seek. A related problem is that current
systems cannot conveniently access multiple programs within a user'
library, since each program typically resides on a physically separate
disc or tape. Therefore, each time a different title or program is
desired, the user must physically locate and load the desired tape or
disc. In addition, if the selected tape contains more than one program,
then the user may also need to search through the tape to find the
beginning of the desired program. Clearly, an improved storage and
distribution scheme for video programming is desirable.
Recording video programs in the home presents further problems for current
technologies. Many people use VCRs to record broadcast or cable
presentations for later viewing, in essence "time shifting" a program for
perusal at their convenience. Similarly, viewers may watch one broadcast
or cable program while simultaneously recording another for later viewing.
Read-only discs (such as compact discs and laser discs) are inherently
unsuitable for such recording. Consumer VCRs therefore utilize magnetic
tape, typically in analog VHS format, and more recently in digital format.
However, VCR technology still exhibits important limitations. For example,
present videotape recording systems, whether for digital or analog tape,
do not support real-time random access; instead, real-time recording and
playback proceed in strictly linear fashion.
Moreover, current VCRs do not provide simultaneous, independent read and
write access. In other words, a user cannot view a taped program while
simultaneously recording another program onto the same tape. For example,
if a user wishes to record for later viewing a broadcast or cable
presentation using a VCR, the user cannot use the same VCR to enjoy a
different movie on tape while the broadcast is being taped. As another
example, if a user sets her VCR to record a two-hour television movie
starting at 8:00 p.m., and returns home at 8:30 p.m., she cannot simply
sit down and watch the movie from its beginning, because her VCR is still
occupied recording the broadcast. Consequently, the viewer must either
wait until the broadcast ends at 10:00 p.m. (at which point she may be too
tired to begin watching a two-hour movie), or else watch the movie out of
order, i.e., watch the actual telecast from 8:30 until 10:00 p.m., and
replay the taped version of the first half hour afterwards. Neither choice
is satisfactory, and an improved VCR with simultaneous read/write
capability is therefore desirable.
An additional problem posed by present technology involves managing storage
space on tapes containing more than one program. For example, if a user
decides to delete one program and store another, one of two situations may
exist. If the deleted program is longer than the new program, the new
program can be stored in the same "space" on the tape. However, some
leftover space exists that is not large enough to store an entire program,
and is probably not contiguous with other available space. Thus, it is
likely that this amount of storage capacity will be wasted. If, on the
other hand, the new program is longer than the deleted program, the new
program cannot be stored in its entirety, unless a portion can be stored
in non-contiguous space elsewhere on the tape. Consequently, there is a
need in the art for an efficient storage management scheme, whereby video
programs can be stored, deleted, and accessed with little or no wasted
tape storage.
The above discussion demonstrates the need for an improved home video
system that supports recording and playback of compressed video programs
using an archival storage medium; allows simultaneous recording and
playback using the same archival medium; provides efficient storage of
multiple programs on a single videotape; supports a full array of trick
mode functions; efficiently manages the contents of a video tape or other
archival storage medium; and supports real-time random access to video
program content, enabling truly interactive playback. As used herein,
"video program" data refers to video data and/or audio data.
SUMMARY OF THE INVENTION
The present invention addresses the foregoing objectives by methods and
apparatus that combine the features of an archival storage medium such as
digital video tape: namely, potentially large storage capacity, but low
tolerance for variable data rate, and essentially linear program access;
with the complementary features of a relatively high-access storage device
such as a fixed disk drive: namely, tolerance for a highly variable data
rate, and random access capability, but relatively lower storage capacity.
In accordance with the present invention, video program data in compressed
form is read from the archival medium, which may contain several
feature-length movies or other video programs, and transferred to the
high-access medium in segments. This transfer occurs at a rate faster than
real-time, where "real-time" is defined as normal presentation speed of
the video program (e.g. several minutes of program data may be transferred
in a matter of seconds). Each segment to be transferred may contain, for
example, a fixed amount of data corresponding to an average of one half
hour of program content, as determined by the compression ratio which may
vary over time. This data may then be read from the high-access medium and
presented to the viewer. Enough program data is temporarily stored on the
high-access medium for the viewer to be able to fast forward or rewind
through the program, or to instantly jump to other destinations within an
interactive video program, so long as those destination points lie within
the segments currently stored in the high-access medium.
At the same time, simultaneous recording of another televised program to
the same archival medium can be performed. A televised signal, or a signal
from any other outside source, is compressed and written to the
high-access medium. Periodically, this data is transferred from the
high-access medium to the archival medium. Thus, the high-access medium
acts as a two-way buffer, retrieving data from and storing it to the
archival medium in a manner that is transparent to the user.
The relatively large capacity of the high-access medium and its ability to
act as a buffer can also be used to permit dubbing and editing from one
tape to another. A user can to load a substantial amount of program
content from one tape to the high-access medium, change tapes, and then
transfer the program data from the high-access medium to the new tape.
In a further aspect of the invention, program data need not be stored
sequentially on the archival medium. For instance, the end of a movie
might be physically located before the beginning on a digital videotape. A
table mapping the various segments on the tape to the corresponding video
programs or program segments is used to allow continuous presentation of
the program to the viewer. Thus, a technique is disclosed including steps
for partitioning the digital videotape into a plurality of segments of
fixed and equal length, maintaining a list of the programs contained on
the tape which is associated with a second list that specifies the segment
or segments containing the compressed data associated with the program,
and maintaining or periodically generating a list of "free" segments that
have not been allocated to a particular video program.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a "set-top" box connected to a television and videotape
recorder.
FIG. 2 illustrates the high-level architecture of the present invention.
FIGS. 3a and 3b illustrate a high-level process and flow of video playback
and recording in accordance with the present invention.
FIG. 4 illustrates a high-access data storage medium sub-divided into ten
segments.
FIG. 5 illustrates the logic used in transferring data between the archival
storage medium and the high-access storage device.
FIG. 6 illustrates the Input Interrupt logic.
FIG. 7 illustrates the Output Interrupt logic.
DETAILED DESCRIPTION OF THE INVENTION
The present invention involves a unique application of data control and
management principles that allows a user to record video information in
highly compressed form to an archival storage medium such as a digital
video tape ("DVT"); to play video programs stored in compressed form from
such archival storage medium; or to simultaneously record to such archival
medium while viewing information or interacting with a program from the
same archival medium. In the preferred embodiment, the invention utilizes
the technique of variable bit rate ("VBR") encoding and decoding of video
data (including soundtrack or audio data, and using a compression
algorithm such as MPEG) to reduce the total amount of storage needed both
on the archival medium and on a high-access storage device such as a hard
disk that acts, in essence, as a two-way, first-in-first-out ("FIFO")
buffer, passing data from the archival storage medium to the viewer, from
an input source, such as a broadcast or cable television signal, to the
archival medium, or both simultaneously.
The following detailed description is made with reference to FIGS. 1-7, in
which like reference numerals indicate identical elements throughout all
of the Figures.
A video program is typically organized as an ordered sequence of scenes or
frames, with each frame defined by a two-dimensional array of picture
elements or pixels. A pixel has characteristics of color and intensity of
illumination that, when combined with other pixels, create an image or
frame. For a given frame, the characteristics of each pixel can be
represented digitally. Thus, a video program can be converted into a
digital data stream that is an ordered sequence of bits which describes
pixel values for each pixel of the array during each frame of the video
program. Audio associated with the program can also be converted into
digital data, and can be synchronously combined with the video.
Once digitized, video data can be stored in compressed form. Thus, instead
of representing each pixel within a frame by a set number of bits so that
each frame requires the same amount of data storage, certain frames which
contain uniform attributes, such as color or brightness, may be
represented by fewer bits (i.e. less data) than other frames. In the same
manner that pixels within a frame may be compared, frames within a
sequence may be compared to reduce the total number of bits required to
store a given sequence. A consequence of this type of data compression is
that the number of bits required to store a single frame or sequence of
frames is not constant.
Because most transmission channels or storage devices have a fixed
bandwidth, and can only support a limited data rate, buffer devices and
control feedback mechanisms are typically used to even out the compression
data rate so that it becomes limited over a period of time to the maximum
value that can be supported. Unfortunately, this reduces compression
efficiency, either by delivering unnecessarily high picture quality when a
scene is easily compressed or by introducing compression artifacts when a
scene is more difficult to compress, given the limited bandwidth that is
available. The high-access storage device of the present invention avoids
the need for such buffers and control feedback mechanisms, and permits the
use of true variable bit rate ("VBR") compression schemes. This type of
encoding is possible using, for example, the MPEG video compression
standard.
A prior art VCR cannot properly access and display VBR data. The reason for
this is a mechanical limitation. VCR motors are generally designed to move
tape past a read head at a constant number of feet per second. The motors
used in these types of systems are incapable of adjusting to a VBR data
stream, which would, for instance, require a tape to be played at a
continuously varying speed, where the speed required was a function of the
amount of compression achieved within each frame or sequence of frames. An
alternative technique of stopping and restarting the tape would be
effective in accommodating VBR streams, but would be expensive and
inefficient to implement, and would seriously compromise the reliability
of both helical and linear scan tape transport mechanisms that can be
produced with current technology.
A "high-access" medium, such as a disk drive like those used in many
computer systems, is capable of handling variable data rates. Presently,
however, the storage disks used in such drives are generally incapable of
storing more than one to two hours of video data.
Thus, a major limitation in the prior art is that it is impractical to
store highly compressed video data on an archival medium such as video
tape because playback devices for these media cannot easily adjust to the
variable data rate required for VBR encoding or trick mode display
functions such as slow motion, fast search, or reverse play. High-access
media, while allowing variable-speed playback and recording of compressed
data, have the limitation that they generally cannot hold the large
quantity of information, in excess of one feature length film, that
archival media can contain.
To overcome the shortfalls discussed above, the present invention uses the
unique control/management architecture detailed below, which combines the
best features of both archival and high-access storage media.
In addition, the present invention provides the ability to handle data from
two sources, output from an archival medium and input from an external
source such as a broadcast or cable signal, to provide the user with the
ability to play and record using the same archival medium, e.g. a DVT,
simultaneously.
Overall Architecture
FIG. 2 illustrates the general, high level architecture of the present
invention. In the embodiment illustrated, the present invention is
integrated into a single "set-top box," 11 so-called because it is a
physically separate box that is coupled to a viewer's television 12 and
VCR 13 (as illustrated in FIG. 1), although the invention could
incorporate the VCR 13 itself, eliminating the need for another box. As
shown in FIG. 2, the set-top box contains a control/management device 14
coupled to a user interface 15. The user interface 15 may be a remote
control, through which a user may issue commands such as play, stop,
record, or trick-mode function commands such as search, fast forward and
the like. If an interactive program is being viewed, the viewer would use
the interface to respond to prompts in the program, and his or her
responses would direct the control/management device 14 to access a
different portion of the program.
The control/management device 14 also receives status information from an
input buffer 16, which provides temporary storage for incoming signals,
possibly encoded and encrypted, such as broadcast or cable data streams.
The input buffer 16 signals to the control/management device 14 when it
has achieved a certain level of fullness, so that its contents may be
written to the disk 17 at the direction of the control/management device
14. The control/management device 14 also receives updates from an output
buffer 18 which tells the control/management device 14 when it achieves a
certain state of "emptiness" and is ready to receive more data from the
disk 17. The output buffer 18 also sends data to the television set 12 or
monitor after decoding at the direction of the control/management device
14. The decoder 19 can be preceded by a data decryption unit if access
control is in use.
The control/management device 14 also sends and receives signals from the
archival storage medium 20, in the preferred embodiment a digital video
tape, monitoring and commanding tape position based on the current status
of information stored on the high access storage device 17, in the
preferred embodiment a hard disk, and on user commands issued through the
user interface 15. Finally, the control/management device 14 communicates
with the high-access storage device 17, directing it to accept data from
the input buffer 16 or from the archival storage medium 20 via a buffer,
or to transfer data to the output buffer 18, or the archival storage
medium 20, and indicating which segments are to be read from or written
to.
Since currently available high-access storage devices are able to support
only one transfer at a time, all of the transferring steps performed by
the control/management device 14 are typically prioritized and
interleaved. All of the transfers would be sequenced to insure that the
necessary amount of program data is available for display to the user,
while at the same time, the input and output buffers (16 and 18) are kept
at required levels of fullness (or emptiness). In addition, the
interleaved transfers are accomplished at a rate faster than "real time,"
i.e. faster than the normal presentation rate of the video data.
Alternatively, if the high-access storage device 17 is capable of
supporting multiple, simultaneous transfers, then only the transfer
to/from the archival medium 20 would need to be interleaved and performed
at a rate faster than real time. The transfers from the input source to
the high-access storage device 17 and from the high-access storage device
17 to the decoder 19 and display apparatus could in principle be performed
in real time and without the need for input and output buffers.
FIGS. 3a and 3b illustrate the overall processes for storage, retrieval,
playback, and recording in accordance with the present invention. FIG. 3a
illustrates the process of playing a video program stored on the archival
medium 20. Data is first transferred to the high-access medium 17, then
decoded and displayed to the viewer (steps represented by elements 23 and
24). The process is repeated as necessary so that a sufficient amount of
video data, both ahead of and behind the portion of the program currently
being displayed, is available on the high-access storage device 17 (step
represented by element 25).
FIG. 3b illustrates the recording process of the present invention. As
shown, a televised signal is encoded and stored in a temporary buffer,
encrypted if necessary and desired, and then stored to the high-access
medium 17 (steps represented by elements 26, 27, and 28). If sufficient
data has accumulated in high-access storage, and if the archival storage
medium 20 is then available, the data is then transferred to the archival
medium 20 (steps represented by elements 29, 30 and 31). This process is
repeated until the entire televised program has been recorded on the
archival medium 20.
The processes illustrated in FIGS. 3a and 3b are not always independent.
Rather, during simultaneous recording and playback, access to the
high-access storage device for reading or writing is prioritized such that
there is always sufficient program data available for display and
sufficient space in the buffer 16 containing data from the televised
signal to prevent overflow (and thus, the possibility that a portion of
the televised program will not be stored).
FIG. 4 illustrates a high-access storage device divided into ten segments.
The number of segments may be varied depending on disk capacity and the
desired amount of data to be stored in each segment. As illustrated by
FIG. 4 (for purposes of simplicity and explanation), data is stored to the
disk in a clockwise direction. Data is read from the disk in a clockwise
direction for forward playback, counter-clockwise for reverse playback.
The current segment being written to is designated by a write pointer 33,
designated "i" in the illustration. The current disk segment being read
from is designated by a read pointer 32, designated "j" in the
illustration. Next and previous read segments are designated by "j+1" and
"j-1" respectively.
Each disk segment is mapped to a corresponding tape segment. Thus, tape
segment "m" corresponds to disk segment "j", and tape segment "n"
corresponds to disk segment "i". Each disk or tape segment can contain a
set amount of compressed video data. On the tape medium, each segment
would consist of a physically contiguous portion of the tape. A segment on
the disk, however, may actually consist of several physically separate
spaces on the magnetic medium, in other words, one chronological portion
of the video data (as seen when played back in real time), although
designated as one "segment" need not be stored in one place on the disk.
For purposes of this illustration, it is assumed that each segment
contains, on average, one half hour of program data. So, for example, the
information in tape segment "m" would be copied to disk segment "j" (and
retained for some time) as necessary to maintain enough video information
on the disk for the user to be able to view, fast forward, or rewind
through a program. As discussed previously, accessing information from the
disk 17, rather than directly from the DVT 20, allows the viewer to take
advantage of the high-access medium 17 to jump in near real time from one
part of a program to another. Similarly, data collected on the disk 17
from an outside source (such as broadcast or cable) through the input
buffer 16 and stored in segment "i" of the disk would be written to tape
segment "n" at the direction of the control/management device 14.
Thus, through the procedures detailed below, the control/management device
14 handles data transfer between outside source, display 12, tape 20, and
disk 17 such that the user may view a taped program, via tape segments
stored to disk, while the same tape is recording information from the
outside source, again through data previously stored to segments of the
high-access storage device.
EXAMPLE
Simultaneous Tape Playback and Recording
Referring again to FIG. 4, the read pointer 32 is currently in segment no.
3 (i.e. j=3). Data from this segment is currently being decoded and
displayed to the viewer. Segment no. 4 contains the next half hour of
programming information, while segment no. 2 contains the previous half
hour. If the viewer desires to watch the program at normal speed, the read
pointer 32 will rotate clockwise, next pointing to segment no. 4.
Eventually, older data, such as that in segment no. 2, will be overwritten
with new information. However, if the viewer wishes to "rewind" to an
earlier portion of the program, the read pointer 32 will rotate
counter-clockwise to segment no. 2. If he or she wishes to "fast forward"
the read pointer 22 will rotate clockwise at a higher speed than during
normal playback. In fact, the speed of read pointer 32 rotation is
proportional to the commanded playback speed.
At the same time, the write pointer 33 is currently in segment no. 9. After
this segment becomes completely filled with data from the input buffer 6,
a new segment, in the preferred embodiment, the available segment farthest
away from the read pointer 32 (as shown in the flow chart of FIG. 6
detailing the input interrupt function, discussed later), will be
selected. In this example, segment nos. 7 and 8 have been completely
filled, but have not yet been transferred to tape. Segm | | |