Sign In to Follow Application
View All Documents & Correspondence

A Video Playback Apparatus

A video playback apparatus (100) comprising : a video receivingcireuit (102), said video receiving circuit producing a video stream to be displayed and recorded, a storage unit (108) connected to said video receiving circuit (102), and a video output circuit (120) connected to said storage unit (108) characterized in that a buffer unit (106) is provided for allowing a first portion of said video stream to be written to said storage unit (108) in the event of a second portion of said video stream being read by said video output circuit (120).

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
10 December 1998
Publication Number
Publication Type
Invention Field
ELECTRONICS
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2006-03-03
Renewal Date

Applicants

INTEL CORPORATION
DELAWARE, 2200, MISSION COLLEGE BOULEVARD, SANTA CLARA, CALIFORNIA 95052

Inventors

1. DENNIS O' CONNOR
12130 E. VIA DE PALMAS, CHANDLER, ARIZONA 85249

Specification

Background
The present invention relates to a video playback apparatus. It relates
to the recording and playing back of a video stream. A video stream includes
any combination of audio and/or video data streams.
Video streams have typically been recorded on analog media such a$
a video cassette. A video cassette recorder (VCR) is used to record the video
stream on the video cassette. The video stream may come via a broadcast
signal, via cable, via satellite signal, or from another video playback device.
Once the video stream has been recorded, the VCR is used to rewind the
recording medium and play what was recorded. However, die to the nature of
the analog medium, once the VCR has started recording, it is not possible to
playback the portion of the video stream that has already been recorded until
the recording session is terminated.
For example, imagine that a person sets up a VCR for recording a one
hour show because he knows that he will miss the first 15 minutes of the
show. When he arrives home 15 minutes into the show, he will have to wait
for thew entire show to be recorded before he can start watching the program
from the beginning. A way of being able to view the show from the beginning
without having to wait for the recording session to terminate is desirable.
Summary
The present invention provides a video playback apparatus comprising
a video receiving circuit, said video receiving circuit producing a video stream
to be displayed and recorded, a storage unit connected to said video
receiving circuit, and a video output circuit connected to said storage unit,
characterized in that a buffer unit is provided for allowing a first portion of said
video stream to be written to said storage unit in the event of a second portion
of said video stream being read by said video output circuit. A method of
enabling a video stream to be stored and displayed at the same time
including allowing portions of the video stream to be alternately written to and
read from a storage device. The next portion to be written to the storage
device is stored in a temporary buffer while another portion is being read from
said storage device. Preferably, the video receiving circuit comprises a circuit
producing a digitized video stream and the storage unit comprises a medium
storing digital data. The video playback apparatus may comprise a data
compression circuit receiving said video stream from said video receiving
circuit and delivering a compressed video stream to said storage unit. The
video playback apparatus may comprise a data decompression circuit
receiving said video stream from said storage unit and delivering a
decompressed video stream to said video output circuit. Preferably, the buffer
unit comprises means for serially writing data to and reading data from said
storage unit. The buffer unit receives data at a bandwidth greater than the
input bandwidth of the video input circuit and outputs at a bandwidth greater
than the output bandwidth of the video output circuit. The video playback
apparatus may have a logic circuit controlling said buffer unit. The logic circuit
comprises a programmable microprocessor. In a preferred embodiment, the
buffer unit comprises a plurality of input buffers, and a plurality of output
buffers and a controller for controlling the rate at which data is transferred
through the buffers such that input from the video input circuit to the input
buffers is substantially continuous and output from the input buffers to
the storage unit is in temporally discrete packets, and such that input
from the storage unit to the output buffers is in temporally discrete
packets and output from the output buffers to the video output circuit
is substantially continuous, and the discrete packets from the input
buffers are interspersed between discrete packets to the output buffers.
In a preferred embodiment, the storage unit of the video playback
apparatus may comprise a hard disk. In another embodiment, the
storage unit may comprise a random access media. In yet another
embodiment, the buffer unit comprises a circuit for measuring a time delay
between when a selected portion of the video stream is written to the storage
medium and when the selected portion of the video stream is read from the
storage medium, a test circuit determining if said time delay falls below a
preselected minimum, and a circuit for directing said video stream directly to
said video output circuit
Brief Description of the Accompanying Drawings
Figure 1 shows a block diagram of a video record and playback system
in accordance with one embodiment of the invention ;
Figure 2 shows a flow chart of the method of providing a time-shifted
video stream ;
Figure 3 shows one embodiment of performing block 206 of Figure 2 ,
Figure 4 shows one embodiment of an apparatus for storing the video
stream on a hard disk ;
Figure 5 shows an exemplary method of using the storage unit as a
temporary buffer;
Figure 6 shows a flowchart of the playback of a video stream catching
up to the incoming video stream ;
Figure 7 shows another embodiment, in which the user is able to
suspend the display of the incoming video stream ;
Figure 8 shows an example of a display screen with several image
frames taken at different times .
Figure 9 is a flow chart showing one system for
recording and playing back a video stream;
Figure 10 is a block diagram of a computer system
useful in implementing one embodiment of the present
invention;
Figure 11 is an exemplary TV display for implementing
an embodiment of the present invention;
Figure 12 is a flow chart showing the operation of
another embodiment of the present inventions-
Figure 12A is a continuation of the flow chart of
Figure 12.
Figure 13 is a top plan view of a remote control
useful in one embodiment of the present invention;
Figure 14 is a block diagram showing how data is
transferred to and from a memory device,-
Figure 15 is a flow chart showing the flow of input
video information into a storage device;
Figure 16 is a flow chart showing the flow of data
from the storage device; and
Figure 17 shows a display with an electronic program
guide.
Detailed Description
Figure 1 shows a block diagram of a video record and
playback system 100 in accordance with one embodiment of
the invention. A video stream is received at the video
input 102. The video stream may be provided by a camera, a
television signal, broadcast, cable, or satellite signals,
or another video playback device. In one embodiment, the
video input 102 performs an analog-to-digital conversion on
an analog video stream to form a digital video bit stream.
In a different embodiment, the video is already in digital
form. The video record and playback system 10 0 may be part
of a computer system such that the video input 102 is a
video capture card in the computer system.
The digital video stream from the video input 102 is
optionally compressed at compression unit 104. In one
embodiment, the video is already compressed, such as would
be the case with an Moving Picture Experts Group 2 (MPEG 2)
specification (available from the International Standards
Organization Standard IS01172) compliant video signal, and
no further compression is needed. The video stream is then
stored in the storage unit 108. A buffer unit 106 may be
used as temporary storage for providing larger sequential
blocks, of video data to the storage unit 108. In one
embodiment, the storage unit 108 is a random access memory
that allows relatively quick access to any portion of the
stored video stream. A hard disk is an example of a random
access memory.
The video stream is played back by reading the video
stream from the storage unit 108. If the video stream was
compressed in compression unit 104, then a decompression
unit 110 decompresses the retrieved video stream. The
video stream is provided from a video output port 12 0, to a
monitor or other display device to provide sound and/or
video to a user.
A removable storage unit 122 may also be included in
video record and playback system 100, Examples of
removable storage units are a writeable compact disk read
only memory (CD-ROM), writeable digital video disk (DVD), a
flash memory, or another hard disk. The removable storage
unit 122 allows a user to transfer a recording of a video
stream stored in storage unit 108 to the removable storage
unit 122 and then to transfer the unit 122 to another
system at a different location.
In one embodiment, a processor 13 0 controls the
operations of the video record and playback system 100.
The compression unit 104 and decompression unit 110 may be
implemented in hardware, or the compression and
decompression functions of units 104 and 110 may be
performed by the processor 130. Processor 130 receives
instructions from firmware/memory 140, using technology
that is well known.
Figure 2 shows a flow chart of the method of providing
a time-shifted video stream. The flow chart begins at
block 200, and continues at block 202 where the video
stream is received. The recording of the video stream
begins at block 204. At block 206, playback of the
recorded video stream is performed by retrieving a portion
of the video stream from the random access storage unit
while the recording of the incoming video stream continues.
The retrieved portion of the video stream may be time-
shifted from the incoming video stream by a time delay. At
block 208, the portion of the video stream retrieved from
the random access storage unit is retrieved for display by
a television or other display device.
In this way, the record and playback functions are
decoupled from one another. The user may now begin
watching a recorded TV show from the beginning, i.e., prior
to the show being completely recorded.
Figure 3 shows one method for retrieving a portion of
the video stream from the random access storage unit while
continuing to record the incoming video stream. In the
disclosed embodiment, the simultaneous recording and
playback of the video stream is performed by multiplexing
or alternately storing the video stream to the random
access storage unit and reading of the video stream from
the random access storage unit. The multiplexed or
alternated stores and reads may occur quickly enough that
the user does not notice an appreciable delay in the
playback cf the video stream, and the incoming video stream
is not lost, i.e., all of the video stream is recorded.
Thus, the record and playback are simultaneous from the
user's point of view.
In one embodiment, the random access storage unit is a
hard disk. The retrieval of the time-shifted video signal
from the hard disk is performed at a first physical
location (or sector) of the hard disk, and the storing to
the hard disk of the incoming video stream is performed at
a different physical location (or sector) on the hard disk.
Because it takes more time to jump back and forth between
different sectors of the hard disk than to read and write
to sequential locations in the same sector, data may be
buffered to minimize the number of accesses to and from the
hard disk using buffer 106. This increases the amount of
data transferred per access.
Additionally, because of time constraints for reading
and writing to the hard disk, data may be compressed and
decompressed to speed transfers to and from the hard disk.
In block 302, the video stream is stored in a random
access storage unit. The video stream is optionally-
compressed and/or buffered prior to storage. In block 304,
the video stream is retrieved from the random access
storage unit. Buffering and/or decompression may be
performed before providing the retrieved video stream to
the video output port 120.
The next portion of the video stream is stored (block
306) as described in block 302. At block 308, the next
portion of the video stream is retrieved as described in
block 304. This process is repeated until either the
recording or playback cycle is terminated.
Figure 4 shows one embodiment of an apparatus for
storing the video stream in the storage unit 108. In this
embodiment, the video stream is stored as separate files
001 and 009 on a hard disk, for example. The processor 130
keeps track of the file and offset into the file of the
data being played back, as well as the file and offset into
the file of the data being recorded. If the random access
storage unit is fast enough, more than one video stream can
be recorded and played back at the same time.
Due to the nature of the random access storage unit
being capable of easily recording over itself, the random
access storage unit may act as a temporary buffer for
recording the latest portion, or X number of minutes, of an
incoming video stream, where X is set up based upon the
size of the storage unit. In one embodiment, X could be
set up to be the entire storage unit. As newer portions of
the video stream are received, they overwrite the older
portions of the video stream saved in the random access
storage unit. In this manner, the temporary buffering of
the video stream acts as a circular buffer. In one
embodiment, the processor 130 maintains pointers to the
beginning and ending points of the temporary buffer. The
processor 13 0 reassigns the pointers as newer portions of
the video stream are received and/or older portions of the
video stream are overwritten.
Figure 5 shows a flow chart 5 00 of one method for
using the storage unit as a temporary buffer. At block
502, the video stream is received at an input. Recording
of the video stream to the storage unit begins at block
504. At block 506, older portions of the video stream are
deleted as newer portions of the video stream are stored to
the storage unit.
A user may initiate a playback cycle following block
506. For example, this may occur when the user wishes to
re-view a video clip that he just saw. In one embodiment,
the user stops recording to the temporary buffer and plays
back the last portion of the temporary buffer.
However, it may be more desirable to the user to be
able to continue recording as shown at block 508. A record
and playback cycle (as described with respect to Figure 2)
is started, in which the incoming video stream is recorded
while the user re-views the last portion of the temporary
buffer. In this manner, after re-viewing the desired video
clip, the user can resume sequentially watching the video
stream from the point of the video clip.
At block 510, after the record and playback cycle is
completed, all or part of the temporary buffer may be
saved. Since the temporary buffer stores the latest X
minutes of the video stream prior to the record and
playback cycle, all or part of the temporary buffer may be
allocated to the portion of the video stream saved during
the record and playback cycle. Other portions of the video
stream may then be deleted from the storage unit, or they
may be marked as overwriteable and used as a new temporary
buffer.
Figure 6 illustrates a method for playing back a video
stream to allow the playback to catch up to the incoming
video stream. Usually, during simultaneous playback and
recording of the same video stream, the playback of the
video stream is time-shifted from the incoming video stream
by a time delay. However, if the playback is performed at
an overall rate faster than the rate at which the incoming
video stream is received, then the playback will catch up
to the incoming video stream.
For example, playback of the video stream may have an
overall rate faster than the rate of the incoming video
stream if the playback is fast forwarded, or if segments of
the playback are skipped altogether. When the time delay
of the time-shifted video stream being played back falls
below a certain threshold, the video and playback system
100 will cease providing the time-shifted video stream from
the storage unit. Instead, the incoming video stream will
be provided to the video output port 120 directly. In one
embodiment, a bypass 142, as shown in Figure 1, allows the
incoming video stream to be provided to the video output
port 120 directly.
When this happens, the user has caught up to the
"live" broadcast, i.e., the incoming video stream. The
user may terminate the recording cycle, if he wishes.
Alternatively, the user can put the video record and
playback system 100 back into the temporary buffering mode
in which only the latest portion of the video stream is
stored.
Figure 7 shows an embodiment in which the user is able
to suspend the display of the incoming video stream. This
can be used for example, when the user is interrupted, and
wishes to continue viewing the video stream after the
interruption. When interrupted, the user signals to the
video stream and playback system 100 to suspend the display
of incoming video stream. This can be done via a remote
control, for example. At block 702, the video output is
suspended. In one embodiment, the video output continues
to provide a still image of the image present at the
instance when the suspend was encountered.
At block 704 the incoming video stream is recorded but
is not displayed to the monitor. Instead the playback is
paused at the point at which the user indicated that the
incoming video stream be suspended. When the user is ready
to view the video stream again, he can signal the video
record and playback system 100 to un-suspend the video
stream so that it plays back from the point at which the
video stream was suspended, as shown in block 706.
The user may then view the video stream time shifted
by the amount of time that he suspended the incoming video
stream, or he may fast forward (or rewind) through the
time-shifted video stream. When playback of the time-
shifted video stream catches up to the point at which the
incoming video stream is being recorded, the record and
playback system 100 may display the incoming video stream
directly from incoming video stream without retrieving the
video stream from the storage unit, as described with
respect to Figure 6. The recording of the video stream may
then be terminated by the user, if.desired.
Employing a random access storage unit for storage of
the video stream facilitates jumping to various points
within the video stream. One way of jumping is by
retrieving different time slices of the video stream. For
example, an image frame from the video stream can be
retrieved from the storage unit at 1 minute intervals from
a current position of the video stream. In one embodiment,
an image frame at the current playback position + 1 minute,
current playback position + 2 minutes, and so forth are
retrieved and displayed on the TV screen.
Figure 8 shows an example of a display screen 800
which displays several image frames taken from the video
stream at different times. In Figure 8, the current
playback position is designated as X. In one embodiment,
the time interval, T, is user programmable. The intervals
may be multiples of the time interval, as shown. A small
interval may be used if the user wishes to skip a
commercial, which usually lasts only a few minutes. Longer
intervals such as a half hour may be useful for determining
which movies are recorded on a storage unit.
After the image frames are displayed, the user is able
to select one of the frames as a new starting point to
which to begin an operation, such as a playback or record
operation. By using such a story boarding method, it is
easy for a user to quickly jump to a desired location
within the video stream.
In one embodiment, the record and playback system 100
is able to detect a black screen or fade out, such as those
which accompany the beginning or end of a commercial. This
is useful in editing a video stream.
Having the video stream stored on a random access
storage unit such as a hard disk allows for easy editing of
the video stream. Individual frames of the video stream
may be deleted or replaced. For example, a commercial may
be replaced by a fade-to-black sequence.
Once the video stream on the storage unit has been
edited, it can be stored to a more permanent medium such as
a writeable CD-ROM, flash memory, or another hard disk via
the removable storage unit 122.
Referring now to the embodiment shown in Figure 9, a
flow 900 for digitally recording a video stream begins by
capturing the video stream as indicated in block 902. If
the stream is an analog stream, it may be digitized in an
analog-to-digital conversion process as indicated at block
904. Next the digital stream may be encoded and
compressed, for example using the MPEG2 compression scheme,
as indicated in block 906. The stream is alternately read,
as indicated at block 910, and stored, as indicated in
block 908, in a conventional storage device such as a hard
disk drive, a digital video disk or a flash memory. Data
that is read from the storage device is decoded and
decompressed using conventional technology, as indicated in
block 912, for display as indicated in block 914.
A computer system 1000 in accordance with one
embodiment of the present invention, shown in Figure 10,
includes a processor 1002. In one embodiment, the
processor may be coupled to an accelerated graphics port
(AGP) chipset 1004 for implementing an accelerated graphics
port embodiment. The chipset 1004 communicates with the
AGP port 1005 and the graphics accelerator 1006. The
television 1010 may be coupled to the video output of the
graphics accelerator 1006. The chipset 1004 accommodates
the system memory 1008. The chipset 1004 is also coupled
to a bus 1012 which may be, for example, a peripheral
component interconnect (PCI) bus. The bus 1012 connects to
TV tuner/capture card 1014 which is coupled to an antenna
1015 or other video input, such as a cable input, a
satellite receiver/antenna or the like. The TV tuner and
capture card 1014 selects of a desired television channel
and also performs the video capture function (block 902,
Figure 9). One exemplary video capture card is the ISVR-
III video capture card available from Intel Corporation.
The bus 1012 is also coupled to a bridge 1016 which
couples a hard disk drive 1018. The software 1020, 1022,
1024, 1026, 1028, and 1030 may be stored on the hard disk
1018. The bridge 1016 is also coupled to another bus 1032.
The bus 1032 may be coupled to a serial input/output (SIO)
device 1034. The device 1034 is in turn coupled to
conventional components such as a mouse 1036, a keyboard
1038, and an infrared interface 1040. Also connected to
the bus 1032 is a basic input/output system (BIOS) 1042.
An exemplary display 1100, shown in Figure 11, for the
television 1010 may display a conventional television
picture or program 1101 and, in addition, may have
superimposed over the screen, in a discrete fashion, a
mouse selectable series of icons, such as the icons 1102
through 1114. When the mouse cursor 1116 selects the
appropriate one of the icons, a corresponding feature may
be implemented. Among the features that may be implemented
in this fashion include a pause or stop function 1102, a
start record function 1104, a fast forward function 1106, a
rewind function 1108, and a 10 second reply function 1110
which winds back 10 seconds and replays, and a catchup
function 1112 that begins playing back recorded content at
a faster than normal rate until the display catches up with
a live broadcast and an electronic program guide 1114.
Referring next to Figure 12, a program 1020 called
display is used to control various features implemented by
the computer 1000. Initially a check is made at diamond
1200 to determine if an electronic programming guide (EPG)
is implemented. An electronic programming guide is an
electronic depiction of the various programs that are
available at different times. The electronic programming
guide can be provided on a disk, over a modem, by an
Internet connection and using an interactive broadcasting
transmission such as Intercast 2.0 interactive broadcasting
software available from Intel Corporation.
If a particular television program is selected (even
if the program is only selected for viewing) on the EPG, an
identifier for that particular program is stored, as
indicated at block 1202, and automatic recording of the
program begins (block 1204). In this way the stored
version of the program is available to implement the
various features described herein even if the storage
function was not particularly requested. Because the
information is stored in an overwriting fashion, no harm is
done by recording the information even if the information
turns out not to be useful.
Referring to Figure 17, an electronic program guide
user interface 1700 may be deployed on the television 1010.
When the user mouse clicks a box image 1702, representing a
given television program, using the cursor 1116, that
program is automatically recorded.
Continuing in Figure 12, an inquiry (diamond 1206)
checks whether the user has selected the zoom feature for
playback. If the user presses a zoom button during
playback, a zoom feature is implemented. In one
embodiment, five predefined quadrants in the television
display may be defined including four quadrants located
peripherally around a central quadrant. When the user
selects the zoom feature the user indicates the appropriate
quadrant for the zoom (block 1208). The selected quadrant
is scaled (block 1210) to produce a larger (zoom) picture.
Referring to block 1208, the pointer focus is
identified to determine which quadrant will be zoomed.
That quadrant is then scaled as indicated at block 1210.
Because the television program is continually being stored,
the scaling can be implemented without any loss of
continuity of the television picture. After the user has
completed looking at the zoomed depiction, the user can
return to the program at the point where he or she departed
to view the zoomed depiction. Thereafter the displayed
depiction viewed by the user may be time delayed from the
actually broadcast program. However the user is able to
view the program in its entirety even if slightly time
delayed.
Next a query is made at diamond 1212 to determine
whether a pause function has been selected. If so, the
playback is stopped as indicated at block 1214 but
recording continues unabated as shown in block 1216.
The next check determines whether the play feature has
been selected (block 1218). If so the recorded content is
played thereby terminating the live display. However,
while the recorded content is displayed, recording
continues as indicated in block 1222 so that the recorded
content may be eventually displayed without disrupting the
continuity of the program.
A query finds out if the fast forward feature has been
implemented as indicated in diamond 1224. If so, a fast
playback is implemented as shown in block 1226. Once the
playback equals the current broadcast or program content
(diamond 1228) , the flow returns to display current
broadcast or program content. The fast forward may
progress at 300 to 400% of normal playback speed.
Moving on to Figure 12A, at diamond 12 3 0 a check is
done to see if the 10 second replay feature has been
activated. If so, the storage device is operated to find
the content which was recorded 10 seconds ago (block 1232).
The recorded content is then played (block 1234) from the
10 second period back to present. This would correspond to
the replay feature implemented with broadcast television
sporting events. After the "rewind" and playback of 10
seconds has been completed, the system is automatically
transferred to automatic play and the recorded content that
was displayed during the replay is displayed so the user
does not lose any continuity in the show. Of course, the
user can set the amount of time for the replay to be
something other than 10 seconds.
A catchup feature is checked (diamond 1230) and, if
this feature has been selected, an accelerated playback
option is implemented (as indicated in block 1238). In the
accelerated playback, the playback may be slightly
increased in speed, for example from 105 to 115% of actual
speed, so the user can easily follow the program but can
make up for lost time to get back into the program as
broadcast. Once the recorded program catches up to the
real-time program as indicated in diamond 1240, the catchup
feature is completed and the user returns to real-time
display.
Control over the record and playback functions may be
implemented through a normal mouse function, for example by-
clicking on icons as indicated in Figure 11. In addition,
the record and playback features may be controlled remotely
even when the user is not proximate to a keyboard or mouse.
This may be done using a conventional remote control
operator which may, for example, utilize infrared
radiation.
As indicated in the depiction of an exemplary computer
system 1000 (Figure 10), an infrared adapter 1040 may be
provided, for example in compliance with the standards and
specifications (such as Infrared Data Association Serial
Infrared Link Access Protocol Version 1.0, June 23, 1994)
of the Infrared Data Association (which can be found at
{www.irda.org}). The remote control 1300, as shown in
Figure 3, may be utilized as a separate stand alone remote
control or its features may be incorporated into a global
remote control. The illustrated control 13 00 is a stand
alone control for controlling the record and broadcast
features. It includes an infrared transmission port 1302
and a plurality of buttons to control the various features.
For example a zoom function 1312 may be implemented as a
four-way rocker switch. A zoom is implemented for the top
quadrant of a display by pressing the upper edge of the
button. If the button is pressed in the middle, the center
quadrant is chosen for zoom. Likewise any of the remaining
three edges of the zoom button can be operated to aelect a
desired quadrant for zoom features.
A button 1306 is provided to implement the replay
function, a button 1308 may implement the pause feature,
and an enter button 1310 may be provided to allow entry of
various information including a particular television
program station. An on/off button 1314 may also be
provided. Fast forward may be implemented by button 1316,
an electronic program guide may be called by pressing
button 1304. The catch up feature may be called by the
button 1318, and a 10 second reply may be implemented by
the button 1320. A conventional numeric keyboard 1322 may
be provided to input additional information including
selected television channels.
Techniques for storing the video stream onto the
storage device 1410 and for reading the information out of
the storage device are summarized in Table 1 below and
illustrated in Figures 14, 15, and 16. In Figure 14, a
schematic depiction of the storage system 1400 includes a
digital storage device such as a hard disk drive 1410. The
digitized video 1402 is initially stored in a buffer which
is designated as being currently on the top of the memory
stack. The transfer of information between the buffers and
the storage device 1410 may be done in discrete time

periods referred to herein as time steps. In a first time
step, shown in Figure 15, the digitized video 1402 (Figure
14) is stored in memory buffer 1404 because that buffer is
currently at the top of the memory stack, as indicated in
block 1502 in Figure 15.
As the buffer 1404 fills up, the buffer 1408 moves to
the top of the stack (as indicated by the dashed arrow) and
incoming video is stored in buffer 1408. As indicated in
block 1504 in Figure 15 in time step 2, the buffer 1408
replaces the buffer 1404 as the designated top of the stack
buffer. The next input video is then stored in the new
buffer (1408) as indicated in block 1506.
In time step 3 the buffer 1408 has filled up and the
contents of buffers 1404 and 1408 are written to the
storage device 1410 in a single write operation. During
the same time step, buffer 1406 moves to the top of the
stack and becomes the storage buffer for incoming video.
This is illustrated in blocks 1508, 1510 and 1512 in Figure
15.
In time step 4, the buffer 1404 moves back to the top
of the stack to store incoming video since its previous
content has already been saved in the storage device 1410.
This is indicated in block 1514 of Figure 15, and in Figure
16 in block 1602. The storing of incoming information, as
illustrated in Figure 15 then cycles back to the top of the
flow in Figure 15 and continues in the same fashion
thereafter.
The content from the storage device 1412 is then read
into buffers 1412 and 1414.
In time step 5, the buffer 1408 moves to the top of
the stack to store incoming video, and buffer 1414 moves to
the top of the output stack and transfers data to the video
output 1418. The contents of the buffers 1404 and 1405 are
then written to the storage device 1410.
The time steps 1 to 5 illustrate a complete cycle from
input to output. The remaining sequence of steps repeat
starting at step 5 for the input of data and time steps 6
through 9 repeat for the output of data.
Referring now solely to Figures 14 and 16, in time
step 6, information stored in the storage device is read to
the sixth and fourth buffers (i.e., buffers 1414 and 1416)
as indicated in block 1606. The contents of the fifth
buffer (1412) are sent to the output 1418.
In time step 7, the contents of the sixth buffer
(which is buffer 1416) are sent to the output 1418. No
other output operations occur.
In time step 8, the contents from the storage device
1410 are read into the fifth and sixth buffers (buffers
1412 and 1416} as indicated in block 1612. Also the
contents of the fourth buffer (buffer 1414) are passed to
the output 1418 as indicated in block 1614.
Finally, during time step 9 the contents of the fourth
buffer (buffer 1412) are passed to the output 1418,
completing the cycle.
Using these algorithms, the storage device is provided
with enough time, through the operation of the buffers, to
write the incoming video while supplying enough data
simultaneously to the output display. Since the memory is
used to make sure no content is dropped at the input end
and the display is never starved at the output end,
continuous, even display can be provided without losing
information. In addition reading and writing larger chunks
of data at one time minimizes the amount of storage device
head movement, thereby allowing the storage device to keep
up with the read and write requests.
The minimum size of the individual buffers 14 04 to
1408 and 1412 to 1416 ("B") is dependent on a number of
factors including the input/output data rate "D", for
example in megabytes per second, the effective bandwidth of
the storage device when reading or writing "S", for example
in megabytes per second, and the average seek time for the
storage device per transaction "t", in microseconds. The
time that it takes to fill up one memory buffer (B divided
by D) is advantageously greater than the time it takes to
read or write two memory buffers (2B divided by S) plus the
average seek time (t):

Solving for the minimum buffer size in the above
equation yields the following equation which gives the
minimum buffer size:

A viewer can pause a season premier of a television
while the station is still broadcasting in order to get up
and answer the telephone. The user can resume watching the
show after interruption as if the program were on video
tape. In addition, while watching a sports event the user
can rewind back to a controversial pass, replay the play in
slow motion, stop at the exact instance when the catch was
made and zoom in on the receiver. Also, the user can apply
an image sharpening filter to see if both of the receiver's
feet touched the ground before the receiver went out of
bounds.
Timeshifting by simultaneously recording and playing
back a data stream enables the following type of
benefits/features for an end-user. While watching the
season premiere of a television show, the viewer can
literally pause the program in order to get up and answer
the phone or get a snack from the refrigerator. After the
interruption, the viewer can resume watching again without
having missed anything. If the viewer came home 15 minutes
late for the show but had started recording the program
from the beginning, the viewer can begin watching right
away instead of waiting for the show "to be over and then
rewinding the cassette tape. Also the viewer can replay
scenes during a live broadcast (e.g. season premiere of a
show or sporting event) in case the viewer missed a line or
an exciting play. In addition, while watching a sports
event the user can rewind back to a controversial play,
replay the play in slow motion, and stop at the exact
instance when the catch was made. To get a better view,
the viewer can zoom in on a portion of the screen and apply
image sharpening filters to magnify one part of the screen.
Thus, a method of simultaneously recording and playing
back a time-shifted video stream is disclosed. The
specific arrangements and methods described herein are
merely illustrative of the principles of this invention.
For example, the same method may be used to store and
retrieve other types of data streams besides video streams.
Numerous modifications in form and detail may be made
without departing from the scope of the described
invention. Although this invention has been shown in
relation to a particular embodiment, it should not be
considered so limited. Rather, the described invention is
limited only by the scope of the appended claims.
WE CLAIM :
1. A video playback apparatus (100) comprising :
a video receiving circuit (102), said video receiving circuit producing a
video stream to be displayed and recorded,
a storage unit (108) connected to said video receiving circuit (102), and
a video output circuit (120) connected to said storage unit (108)
characterized in that
a buffer unit (106) is provided for allowing a first portion of said video
stream to be written to said storage unit (108) in the event of a second portion
of said video stream being read by said video output circuit (120).
2. The video playback apparatus (100) as claimed in claim 1, wherein
said video receiving circuit (102) comprises a circuit (904) producing a
digitized video stream and wherein said storage unit (108) comprises a
medium storing digital data.
3. The video playback apparatus (100) as claimed in claim 1 or 2,
comprising a data compression circuit (104) receiving said video stream from
said video receiving circuit (102) and delivering a compressed video stream to
said storage unit (108).
4. The video playback apparatus (100) as claimed in any one or more of
claims 1 to 3, comprising a data decompression circuit (110) receiving said
video stream from said storage unit and delivering a decompressed video
stream to said video output circuit.
5. The video playback apparatus (100) as claimed in any one or more of
claims 1 to 3, wherein said buffer unit (106) comprises means (300) for
serially writing data to and reading data from said storage unit (108).
6. The video playback apparatus (100) as claimed in claim 1 or 5,
wherein the buffer unit (106) receives data at a bandwidth greater than the
input bandwidth of the video input circuit and outputs at a bandwidth greater
than the output bandwidth of the video output circuit.
7. The video playback apparatus as claimed in any one or more of
claims 1 to 6, comprising a logic circuit (130) controlling said buffer unit.
8. The video playback apparatus as claimed in claim 7, wherein said logic
circuit comprises a programmable microprocessor (130).
9. The video playback apparatus as claimed in any one or more of claims
1 to 8, wherein the buffer unit (106) comprises a plurality of input buffers
(1502, 1504, 1510), and a plurality of output buffers (1604, 1608, 1610) and a
controller (130) for controlling the rate at which data is transferred through
said buffers such that input from said video input circuit to said input buffers is
substantially continuous and output from said input buffers to said storage
unit is in temporally discrete packets, and such that input from said storage
unit to said output buffers is in temporally discrete packets and output from
said output buffers to said video output circuit is substantially continuous, and
said discrete packets from said input buffers are interspersed between
discrete packets to said output buffers.
10. The video playback apparatus as claimed in any one or more of claims
1, 2, 3, 4, 5 and 9, wherein said storage unit (108) comprises a hard disk.
11. The video playback apparatus as claimed in any one or more of claims
1, 2, 3, 4, 5, 9 and 10, wherein said storage unit (108) comprises a random
access media.
12. The video playback apparatus as claimed in any preceding claim,
wherein said buffer unit (106) comprises a circuit for measuring a time delay
between when a selected portion of said video stream is written to said
storage medium and when said selected portion of said video stream is read
from said storage medium ; a test circuit (604) determining if said time delay
falls below a preselected minimum ; and a circuit (606, 142) for directing said
video stream directly to said video output circuit (120).
13. A video playback apparatus, substantially as herein described,
particularly with reference to, and as illustrated in the accompanying
drawings.

A video playback apparatus (100) comprising : a video receiving circuit (102), said video receiving circuit producing a video stream to be displayed and recorded, a storage unit (108) connected to said video receiving circuit (102), and a video output circuit (120) connected to said storage unit (108) characterized in that a buffer unit (106) is provided for allowing a first portion of said video stream to be written to said storage unit (108) in the event of a second portion of said video stream being read by said video output circuit (120).

Documents

Application Documents

# Name Date
1 2158-cal-1998-granted-specification.pdf 2011-10-07
2 2158-cal-1998-granted-reply to examination report.pdf 2011-10-07
3 2158-cal-1998-granted-priority document.pdf 2011-10-07
4 2158-cal-1998-granted-letter patent.pdf 2011-10-07
5 2158-cal-1998-granted-gpa.pdf 2011-10-07
6 2158-cal-1998-granted-form 5.pdf 2011-10-07
7 2158-cal-1998-granted-form 3.pdf 2011-10-07
8 2158-cal-1998-granted-form 2.pdf 2011-10-07
9 2158-cal-1998-granted-form 1.pdf 2011-10-07
10 2158-cal-1998-granted-examination report.pdf 2011-10-07
11 2158-cal-1998-granted-drawings.pdf 2011-10-07
12 2158-cal-1998-granted-description (complete).pdf 2011-10-07
13 2158-cal-1998-granted-correspondence.pdf 2011-10-07
14 2158-cal-1998-granted-claims.pdf 2011-10-07
15 2158-cal-1998-granted-assignment.pdf 2011-10-07
16 2158-cal-1998-granted-abstract.pdf 2011-10-07
17 02158-cal-1998 priority document.pdf 2011-10-07
18 02158-cal-1998 g.p.a.pdf 2011-10-07
19 02158-cal-1998 form-5.pdf 2011-10-07
20 02158-cal-1998 form-3.pdf 2011-10-07
21 02158-cal-1998 form-2.pdf 2011-10-07
22 02158-cal-1998 form-1.pdf 2011-10-07
23 02158-cal-1998 drawings.pdf 2011-10-07
24 02158-cal-1998 description(complete).pdf 2011-10-07
25 02158-cal-1998 correspondence.pdf 2011-10-07
26 02158-cal-1998 claims.pdf 2011-10-07
27 02158-cal-1998 assignment.pdf 2011-10-07
28 02158-cal-1998 abstract.pdf 2011-10-07
29 2158-CAL-1998-(06-07-2012)-FORM-27.pdf 2012-07-06
30 2158-CAL-1998-FORM-27.pdf 2012-08-01
31 2158-CAL-1998-(25-03-2013)-FORM-27.pdf 2013-03-25
32 2158-CAL-1998-(26-03-2013)-FORM-27.pdf 2013-03-26
33 2158-CAL-1998-(27-03-2015)-FORM-27.pdf 2015-03-27
34 198574-FORM 27-210316.pdf 2016-06-22
35 Form 27 [16-03-2017(online)].pdf 2017-03-16
36 Form 27 [31-03-2017(online)].pdf 2017-03-31
37 2158-CAL-1998-RELEVANT DOCUMENTS [30-03-2018(online)].pdf 2018-03-30
38 2158-CAL-1998-RELEVANT DOCUMENTS [28-03-2019(online)].pdf 2019-03-28

ERegister / Renewals

3rd: 28 Jun 2006

From 10/12/2000 - To 10/12/2003

4th: 28 Jun 2006

From 10/12/2001 - To 10/12/2004

5th: 28 Jun 2006

From 10/12/2002 - To 10/12/2005

6th: 28 Jun 2006

From 10/12/2003 - To 10/12/2006

7th: 28 Jun 2006

From 10/12/2004 - To 10/12/2007

8th: 28 Jun 2006

From 10/12/2005 - To 10/12/2008

9th: 28 Jun 2006

From 10/12/2006 - To 10/12/2009

10th: 22 Aug 2007

From 10/12/2007 - To 10/12/2008

11th: 30 Sep 2008

From 10/12/2008 - To 10/12/2009

12th: 18 Aug 2009

From 10/12/2009 - To 10/12/2010

13th: 09 Nov 2010

From 10/12/2010 - To 10/12/2011

14th: 21 Nov 2011

From 10/12/2011 - To 10/12/2012

15th: 09 Nov 2012

From 10/12/2012 - To 10/12/2013

16th: 21 Nov 2013

From 10/12/2013 - To 10/12/2014

17th: 20 Nov 2014

From 10/12/2014 - To 10/12/2015

18th: 20 Nov 2015

From 10/12/2015 - To 10/12/2016

19th: 17 Nov 2016

From 10/12/2016 - To 10/12/2017

20th: 24 Nov 2017

From 10/12/2017 - To 10/12/2018