`O’Connor et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,591,058 B1
`Jul. 8, 2003
`
`US006591058B1
`
`(54) TIME SHIFTING BY CONCURRENTLY
`RECORDING AND PLAYINGA DATA
`STREAM
`
`(58) Field of Search .......................... .. 386/4, 1, 52, 53,
`386/55, 57, 65, 68, 46, 69, 95, 107, 117,
`6, 109; 345/723; H04N 5/91, 5/93
`
`(75)
`
`Inventors: Dennis M. O’Connor, Chandler, AZ
`(US); Mark P. Chuang, Sunnyvale, CA
`(US); Boon-Lock Yeo, Sunnyvale, CA
`(US); Robert L. Davies, Fremont, CA
`(US)
`
`(56)
`
`References Cited
`Us. PATENT DOCUMENTS
`
`5/1992 Tanaka
`5422:5386 A *
`FOREIGN PATENT DOCUMENTS
`
`(73) Assignee:
`
`Intel Corporation, Santa Clara, CA
`(US)
`
`JP
`
`4/1997
`*
`09095325
`OTHER PUBLICATIONS
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`USC. 154(b) by Q days.
`
`(21) Appl' No’: 09/343370
`(22)
`Filed;
`Jun, 30, 1999
`Related U.S. Application Data
`
`(63)
`
`Int. Cl.
`(51)
`(52) U.S. Cl.
`
`g°nti1n(1)1a1ti9°9I§in'E{1T§19faPP1i:fiti0I:.N0~.09/15£0,?77, 1f{1eCE.011
`N?‘ 087996953: ‘E16215 ‘(’)I°1°g(1)/I:1.1a21§’,n’11I91’9p7‘:r n(:w:jpga1t°eIi;’0e
`6,480,667.
`7
`
`........................... .. H04N 5/91; H04N 5/93
`.......................................... .. 386/65; 386/52
`
`Ye0 et 31» “Rapid Scene Analysis 0“ C0mPressed Vide0”,
`IEEE Transactions on Circuits and Systems for Video Tech-
`nology, vol. 5, No. 6, Dec. 1995, pp. 533-544.
`* cited by examiner
`Primary Examiner—Robert Chevalier
`(74) Attorney, Agent, or Firm—Trop, Pruner & Hu, P.C.
`57
`ABSTRACT
`(
`)
`A video stream may include portions that are stored While
`other portions are being displayed. In one embodiment, a
`portion of the video stream. may be stored in digital storage
`medIa at one Instance WhIle In the next Instance another
`portion of the stream is being read out of the storage media.
`
`16 Claims, 23 Drawing Sheets
`
`2200
`
`
`SCENE CHANGE
`DETECTION
`
`2202
`
`REOUEST SCENE
`CHANGE TIMES
`
`2204
`
`RECEIVE SCENE
`CHANGE TIMES
`
`
`
`
`
`SCAN TIME INFORMATION
`TO COLLECT SCENE FILES
`
`
`
`2206
`
`2208
`
`
`
`DISPLAY SCENES
`
`
`
`LG Ex. 1007, pg 1
`
`LG Ex. 1007, pg 1
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 1 of 23
`
`US 6,591,058 B1
`
`o_%>oEmm
`
`2,505
`
`:5
`
`NE
`
`N3mmmim
`
`
`
`o_oN_.o_._.>1_o_w_m_>_
`
`So82>:o_m$aEoo8\e§2E_n_
`
`Emmgoi
`
`O2
`
`_GE
`
`coammaeoo
`
`E:
`
`NEE82>
`
`7,OO1X.EGL
`
`29D.
`
`LG Ex. 1007, pg 2
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 2 of 23
`
`US 6,591,058 B1
`
`
`
`20
`
`0
`
`202
`
`Receive Video Stream
`At An Input
`
`204
`
`
`
`Record Video Stream
`To Random Access Storage Unit
`
`206
`
`Retrieve A Portion Of The
`Video Stream From The Random
`Access Storage Unit
`While Continuing To Record
`The Incoming Video Stream
`
`
`
`
`
`
`
`
`
`
`
`
`
`Provide At An Output The
`Portion Of The Video Stream
`Retrieved From The Random
`Access Storage Unit
`
`
`
`FIG. 2
`
`LG Ex. 1oo7, pg 3
`
`LG Ex. 1007, pg 3
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 3 of 23
`
`US 6,591,058 B1
`
`300
`
`302
`
`Compress/Buffer Video
`Stream
`
`
`
`
`
`Store Video Stream Into The
`Random Access Storage Unit
`
`Retrieve Video Stream From
`The Random Access Storage Unit
`
`Buffer/Decompress Video Stream
`
`Compress/Buffer Video Stream
`
`Store Video Stream Into The
`Random Access Storage Unit
`
`Retrieve Video Stream From
`The Random Access Storage Unit
`
`Buffer/Decompress Video Stream
`
`FIG. 3
`
`5””
`
`310
`
`LG Ex. 1oo7, pg 4
`
`LG Ex. 1007, pg 4
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 4 of 23
`
`US 6,591,058 B1
`
`Playback
`File:
`003
`Offset: Off_1
`
`Record
`File:
`009
`Offset: 0ff_2
`
`Processor
`130
`
`FIG. 4
`
`LG Ex. 1007, pg 5
`
`LG Ex. 1007, pg 5
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 5 of 23
`
`US 6,591,058 B1
`
`005
`
`502
`
`504
`
`
`
`
`
`
`
`Receive Video Stream
`At An Input
`
`
`
`Record Video Stream
`To Storage Unit
`
`Delete Older Portions Of The Video Stream
`From The Storage Unit As Newer
`Portions Of The Video Stream Are
`Stored To The Storage Unit
`
`Begin Record And
`Playback Cycle
`
`Save All Or Part Of
`Temporary Butter
`
` 510
`
`
`
`FIG. 5
`
`LG Ex. 1oo7, pg 6
`
`LG Ex. 1007, pg 6
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 6 of 23
`
`US 6,591,058 B1
`
`6
`
`00
`
`602
`
`Record And Playback Cycle
`
`Is Time Delay Less
`Than Threshold
`?
`
`YES
`
`606
`
`
`
`
`
`
`
`
`Provide Incoming Video
`Stream To Video Out
`
`End
`
`FIG. 6
`
`LG Ex. 1007, pg 7
`
`LG Ex. 1007, pg 7
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 7 of 23
`
`US 6,591,058 B1
`
`700
`
` 702
`
`704
`
`Suspend Video Out Responsive
`To First User input
`
`
`
`Begin Record And Playback
`Cycle With Playback Paused
`
`706
`
`
`
`Un-suspend Video Out
`Responsive To Second User Input
`
`710
`
`End
`
`FIG. 7
`
`LG Ex. 1oo7, pg 8
`
`LG Ex. 1007, pg 8
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 8 of 23
`
`US 6,591,058 B1
`
`
`
`800
`
`Time X + 1*T
`
`Time X + 2*T
`
`Time X + 3*T
`
`Time X + 4*T
`
`Time X + 5*T
`
`Time X + 6*T
`
`
`
`FIG. 8
`
`LG Ex. 1007, pg 9
`
`LG Ex. 1007, pg 9
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 9 of 23
`
`US 6,591,058 B1
`
`902
`
`904
`
`906
`
`908
`
`970
`
`912
`
`974
`
`LG Ex. 1007, pg 10
`
`
`
`090
`
`
`
`
`
`Capture
`Video
`
`Encode/
`Compress
`
`
`
`Decode/
`Decompress
`
`FIG. 9
`
`LG Ex. 1007, pg 10
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 10 of 23
`
`US 6,591,058 B1
`
`1002
`
`Processor
`
`1000
`
`/
`
`1006
`
`,005
`
`1004
`
`1008
`
`Gmpmcs
`Accelerator
`
`AGP
`
`7010
`
`AGP
`Chipset
`
`Syfiem
`|V|3m0Fy
`
`~L Q ~L '\J
`
`4 xx 3 ~L
`
`TVTuner/
`Capture Card
`
`1014
`
`1032
`
`.
`
`1036
`
`1034
`
`HDD
`
`7076
`
`1038
`
`1028
`
`F 7022
`FF 70247026
`PF 1030
`223000
`PP 2500
`
`LG Ex. 1007, pg 11
`
`LG Ex. 1007, pg 11
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 11 of 23
`
`US 6,591,058 B1
`
`’//1100
`
`IIIIIEIIII
`
`1101
`
`FIG. 11
`
`
`
`FIG. 17
`
`LG Ex. 1007, pg 12
`
`LG Ex. 1007, pg 12
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 12 of 23
`
`US 6,591,058 B1
`
`1020
`
`Display
`
`1200
`
`YE
`
`EPG
`Activated
`
`
`1202
`
`1204
`
`Store
`Program
`
`Auto
`ReC0rd
`
`
`7 ‘ |[) I Program I
`
`1206
`
`YE
`
`7212
`
`YE
`
`1208
`
`1210
`
`I Locate
`Pointer Focus
`
`Scale
`Focused
`Seqment
`
`7274
`
`7276
`
`Stop
`Playback
`
`Continue
`Recording
`
`1213
`
`7220
`
`7222
`
`Play
`
`
`-« Content Recording
`YE
`Recorded
`
`
` Record
`
`| Current;Display
`
`1226
`
`Ace
`
`Playback
`
`YES
`
`3
`
`FIG. 12
`
`LG Ex. 1007, pg 13
`
`LG Ex. 1007, pg 13
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 13 of 23
`
`US 6,591,058 B1
`
`Confinue
`
`Diay
`
`
`
`
`
` 7240
`Does
`Playback
`
`Cur_rent
`Display
`?
`
`FIG. 12A
`
`LG Ex. 1007, pg 14
`
`LG Ex. 1007, pg 14
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 14 of 23
`
`US 6,591,058 B1
`
`FIG. 14
`
`LG Ex. 1007, pg 15
`
`LG Ex. 1007, pg 15
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 15 of 23
`
`US 6,591,058 B1
`
`Input
`Buffers
`
`75
`
`00
`
`
`
`1502
`
`
`
`Store Input in
`First Buffer
`(top of stack)
`
`
`
`
`
`Second Buffer
`designated
`top of stack
`
`Store Input in
`Second Buffer
`
`
`
`
`Write From
`First Buffer
`and Second Buffer
`
`
`Third Buffer
`designated
`
`to of stack
`
`Store Input in
`Third Buffer
`
`First Buffer
`designated
`top of stack
`
`Write from
`Third Buffer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`time step 1
`
`1504
`
`time step 2
`
`1506
`
`1508
`
`time step 3
`
`1570
`
`1512
`
`1514
`
`time step 4
`
`1515
`
`FIG. 15
`
`LG Ex. 1oo7, pg 16
`
`LG Ex. 1007, pg 16
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 16 of 23
`
`US 6,591,058 B1
`
`1600
`
`time Step 4
`
`time step 5
`
`Output
`7
`
`Read from Storage
`to Fourth and Fifth
`Buffers
`
`
`
`Output from
`Fourth Buffer
`
`
`
`
`
`_
`time step 6
`
`Read from Storage
`to Sixth and Fourth
`Buffers
`
`Output from
`Fifth Butter
`
`time step 7
`
`.
`“me Step 8
`
`Read from Storage
`to Fifth and Sixth
`Buffer
`
`Output from
`Fourth Buffer
`
`7602
`
`1604
`
`1606
`
`1608
`
`1610
`
`1672
`
`1614
`
`1616
`
`fimesmp9
`
`Output from
`Fifth Buffer
`
`HQ 15
`
`LG Ex. 1oo7, pg 17
`
`LG Ex. 1007, pg 17
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 17 of 23
`
`US 6,591,058 B1
`
`1800
`
`/0218
`
`1804
`
`VIDEO
`TRANSMITTER
`
`SCENE CHANGE
`DETECTOR
`
`RECEIVER
`
`
`1806
`
`FIG. 18 / 1900
`
`1902
`
`1904
`
`1906
`
`CHANNEL /.D.
`
`VIDEO INFORMATION
`
`TIME TAG
`
`FIG. 19
`
`/ 2000
`
`2002
`
`2004
`
`2006
`
`CHANNEL /.0.
`
`T/ME
`
`FIG. 20
`
`/ 2100
`
`2102
`
`2104
`
`2106
`
`CHANNEL CODE
`
`SCENE CHANGE TIMES
`
`FIG. 21
`
`LG Ex. 1007, pg 18
`
`LG Ex. 1007, pg 18
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 18 of 23
`
`US 6,591,058 B1
`
`
`
`2200
`
`SCENE CHANGE
`DETECTION
`
`
`
`2202
`
`REQUESTSCENE
`CHANGE T/MES
`
`2204
`
`RECEIVE SCENE
`CHANGE TIMES
`
`2206
`
`SCAN TIME INFORMATION
`TO COLLECT SCENE FILES
`
`
`
`2208
`
`DISPLAY SCENES
`
`
`
`FIG. 22
`
`LG Ex. 1007, pg 19
`
`LG Ex. 1007, pg 19
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 19 of 23
`
`US 6,591,058 B1
`
`START T/ME
`
`2302
`
`2300
`
`SCENE CHANGE ANALYZER
`
` CAPT/ON
`
`ANALYSIS
`
`?
`
`
`
`
`
`
`COMPRESSION
`
`HQ 23
`
`LG Ex. 1007, pg 20
`
`ANALYZE
`
`LG Ex. 1007, pg 20
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 20 of 23
`
`US 6,591,058 B1
`
`SPECIFY
`SCENE CHANGE
`SENSITIVITY __
`
`2404
`
`FIG. 24
`
`LG Ex. 1007, pg 21
`
`LG Ex. 1007, pg 21
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 21 of 23
`
`US 6,591,058 B1
`
`2500
`
`FORMAT DETECT
`
`
`
`2502
`
`RECEIVE VIDEO
`
`2504
`
`A7TEMPT T0 DEMODULA TE
`
`
`
`
`
`@ N
`
`0
`
`2508
`
`E
`
` 10
`
`25
`
`SCENE
`CHANGE DETECT
`
`2512
`
`@llgffififififififigiifi
`
`FIG. 25
`
`LG Ex. 1007, pg 22
`
`LG Ex. 1007, pg 22
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 22 of 23
`
`US 6,591,058 B1
`
`
`
`PROGRAMA
`
`PID
`
`PROGRAM /3
`PROGRAM (3
`PROGRAM D
`HG 35
`
`
`
`
`2
`
`714
`
`LG Ex. 1007, pg 23
`
`CHANNEL
`3509
`2700
`/NTRA CHANNEL JUMP
`
`
`
`
`DIGITAL
`
`TRANSMISSION
`
`?
`
`
`
`PROGRAM
`S WITCH
`
`RESTORE
`
`LG Ex. 1007, pg 23
`
`
`
`U.S. Patent
`
`Jul. 8, 2003
`
`Sheet 23 of 23
`
`US 6,591,058 B1
`
`2800
`
`2802
`
`2900
`
`
`
`
`RECEIVE COMPRESSED
`VIDEO
`
`
`
`
`
` 2804
`
`
`2806
`
`DETECT SCENE CHANGES
`
`EXTRACT
`DC IMAGE
`
`2906
`
`
`
`2908
`
`STORE COMPRESSED
`VIDEO
`
`
`
`FIG. 28
`
`FIG. 29
`
`LG Ex. 1007, pg 24
`
`LG Ex. 1007, pg 24
`
`
`
`US 6,591,058 B1
`
`1
`TIME SHIFTING BY CONCURRENTLY
`RECORDING AND PLAYING A DATA
`STREAM
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This is a continuation-in-part of U.S. patent application,
`Ser. No. 09/150,577,
`filed Sep. 10, 1998, which is a
`continuation-in-part of U.S. patent application Ser. No.
`08/996,535, filed Dec. 23, 1997 now U.S. Pat. No. 6,480,
`667.
`
`BACKGROUND
`
`This present invention relates to the recording and playing
`back of a video stream. A video stream includes any com-
`bination of audio and/or video data streams.
`
`Video streams have typically been recorded on analog
`media such as 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, due to the nature of the analog medium,
`once the VCR has started recording, it is not possible to play
`back the portion of the video stream that has already been
`recorded until the recording session is terminated.
`Thus, there is a need for an improved way of recording
`portions of a video transmission.
`
`SUMMARY
`
`In accordance with one embodiment, a method of dis-
`playing and recording a video transmission includes request-
`ing scene change time information. The scene change time
`information is used to identify scenes in stored video infor-
`mation.
`
`In accordance with another embodiment, a method of
`detecting scene changes in video and audio information
`includes using a first technique to identify a scene change.
`Audio information is used to assist in identifying a scene
`change.
`In accordance with another embodiment, a method of
`detecting scene changes in compressed video information
`includes identifying scene change information developed by
`the algorithm used to compress said video information. That
`scene change information is used to identify scene changes.
`The location of the scene change is marked to facilitate
`identifying the video frame where the scene change occurs.
`In accordance with another embodiment, a method for
`identifying whether digital or analog video information has
`been received includes attempting to demodulate the infor-
`mation using a digital technique. Based on the results of the
`demodulation attempt,
`the format of the information is
`determined.
`
`In accordance with another embodiment, a method of
`storing and playing digital video information includes
`receiving a plurality of programs on a single channel. Each
`of said programs is stored in association with an identifier.
`A first program is played and then stopped. The identifier
`and the point when the play is stopped is stored. A second
`program is played.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of a video record and playback
`system in accordance with one embodiment of the invention;
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`FIG. 2 is a flow chart of one embodiment of the method
`
`of providing a time-shifted video stream in accordance with
`the invention;
`FIG. 3 shows one embodiment of performing block 206
`of FIG. 2;
`FIG. 4 shows one embodiment of an apparatus for storing
`the video stream on a hard disk in accordance with the
`invention;
`FIG. 5 shows an embodiment of a method of using the
`storage unit as a temporary buffer in accordance with the
`invention;
`FIG. 6 is a flowchart of the playback of a video stream
`catching up to the incoming video stream for one embodi-
`ment of the invention;
`FIG. 7 shows another embodiment, in which the user is
`able to suspend the display of the incoming video stream in
`accordance with the invention;
`FIG. 8 shows an example of an embodiment of a display
`screen with several image frames taken at different times in
`accordance with the invention;
`FIG. 9 is a flow chart showing one embodiment of a
`system for recording and playing back a video stream in
`accordance with the invention;
`FIG. 10 is a block diagram of a computer system useful
`in implementing one embodiment of the present invention;
`FIG. 11 is an exemplary TV display for implementing an
`embodiment of the present invention;
`FIG. 12 is a flow chart showing the operation of another
`embodiment of the present invention;
`FIG. 12A is a continuation of the flow chart of FIG. 12;
`FIG. 13 is a top plan view of a remote control useful in
`one embodiment of the present invention;
`FIG. 14 is a block diagram showing how data is trans-
`ferred to and from a memory device in accordance with one
`embodiment of the present invention;
`FIG. 15 is a flow chart showing the flow of input video
`information into a storage device in accordance with one
`embodiment of the present invention;
`FIG. 16 is a flow chart showing the flow of data from the
`storage device in accordance with one embodiment of the
`present invention;
`FIG. 17 shows a display with an electronic program guide
`in accordance with one embodiment of the present inven-
`tion;
`FIG. 18 is a block diagram of a video transmission system
`in accordance with one embodiment of the present inven-
`tion;
`FIG. 19 is a depiction of a video file associated with a
`given broadcast channel;
`FIG. 20 is a depiction of a request to a scene change
`detector for scene change information;
`FIG. 21 is a depiction of a response to a request for scene
`change information;
`FIG. 22 is a depiction of software that may be used by the
`receiver shown in the system of FIG. 18;
`FIG. 23 is a flow chart for a scene change detector in
`accordance with one embodiment of the present invention;
`FIG. 24 is a graphical user interface that may be used in
`connection with a scene change detector;
`FIG. 25 is a flow chart for detecting whether information
`received from a video transmitter is in a digital or analog
`format and for processing that information for storage;
`FIG. 26 is a depiction of a channel in a digital video
`distribution system;
`
`LG Ex. 1007, pg 25
`
`LG Ex. 1007, pg 25
`
`
`
`US 6,591,058 B1
`
`3
`FIG. 27 is a flow chart for allowing an intrachannel jump
`between programs on a single channel in a digital video
`distribution system;
`FIG. 28 is a schematic depiction of the relationship
`between a frame and a DC image; and
`FIG. 29 is a flow chart for software for handling detecting
`scene changes without full frame decompression.
`DETAILED DESCRIPTION
`
`FIG. 1 shows a block diagram of a video record and
`playback system 100 in accordance with one embodiment of
`the invention. Avideo stream is received at the video input
`port 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, an
`analog-to-digital conversion may be performed 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 100 may be part of a system,
`such as a computer system or set top box, such that the video
`input port 102 may be part of a video capture card in the
`computer system or set top box.
`The digital video stream from the video input port 102 is
`optionally compressed at compression unit 104.
`In one
`embodiment, the video is already compressed 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
`buffer unit 106 comprises a random access memory that
`allows relatively quick access to any portion of the stored
`video stream.
`
`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 120, to a monitor
`or other display device such as a TV 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 remov-
`able storage units include a writeable compact disk read only
`memory (CD-ROM), writeable digital video disk (DVD), a
`flash memory, or another hard disk. The availability of a
`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 130 controls the opera-
`tions 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 decom-
`pression 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.
`FIG. 2 shows a flow chart of an embodiment of a method
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`of providing a time-shifted video stream in accordance with
`the present invention. The flow chart begins at block 200,
`and continues at block 202 where the video stream is
`
`60
`
`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
`
`4
`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.
`
`the record and playback functions are
`In this way,
`decoupled from one another. The user may now begin
`watching a recorded TV show from the beginning, e.g., prior
`to the show being completely recorded.
`FIG. 3 shows an embodiment of a method for retrieving
`a portion of the video stream from the random access storage
`unit while continuing to record the incoming video stream in
`accordance with the invention, although the invention is not
`restricted to this embodiment. In the disclosed embodiment,
`the substantially 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 of the video stream, and
`the incoming video stream is not lost, e.g., all of the video
`stream is recorded. Thus,
`the record and playback are
`substantially simultaneous from the user’s point of view.
`In one embodiment, the random access storage unit com-
`prises 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 reduce the number of accesses to and from the hard disk
`
`using buffer 106. This increases the amount of data trans-
`ferred 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 com-
`pressed 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.
`FIG. 4 shows one embodiment of an apparatus for storing
`the video stream in the storage unit 108 in accordance with
`the invention. Again, the invention is not restricted in scope
`to the illustrated embodiments. 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 may be recorded and played back at the
`same time.
`
`65
`
`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
`
`LG Ex. 1007, pg 26
`
`LG Ex. 1007, pg 26
`
`
`
`US 6,591,058 B1
`
`5
`unit in this particular embodiment. 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 130 reassigns the pointers as newer portions of the
`video stream are received and/or older portions of the video
`stream are overwritten.
`FIG. 5 shows a flow chart 500 of an embodiment of one
`
`method for using a temporary buffer in accordance with the
`invention. 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.
`Auser 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 FIG. 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 current point of the incoming video for
`substantially simultaneous playback and record.
`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.
`FIG. 6 illustrates an embodiment of a method for playing
`back a video stream to allow the playback to catch up to the
`incoming video stream in accordance with the invention. If
`the playback is performed at an overall rate faster than the
`rate at which the incoming video stream is received, then the
`playback may 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 FIG. 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, e.g., the incoming video stream in this embodi-
`ment. The user may terminate the recording cycle, if he
`wishes. Alternatively, the user may 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.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`FIG. 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 signal
`is suspended. In one embodiment,
`the video output port
`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 FIG. 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 in a mosaic pattern.
`FIG. 8 shows an example of a display screen 800 which
`displays several image frames taken from the video stream
`at different times. In FIG. 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 at 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. The system may also
`record a series of cue points (e.g., fade outs and fade to
`black) for later reference.
`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.
`
`LG Ex. 1007, pg 27
`
`LG Ex. 1007, pg 27
`
`
`
`US 6,591,058 B1
`
`7
`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 FIG. 9, a flow
`chart 900 for digitally recording a video stream in accor-
`dance with an embodiment of the invention 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 may be decoded and decom-
`pressed using conventional
`technology,
`for example, as
`indicated in block 912, for display as indicated in block 914.
`Asystem 1000 in accordance with one embodiment of the
`present invention, shown in FIG. 10, includes a processor
`1002. In one embodiment, the processor may be coupled to
`an accelerated graphics port (AGP) chipset 1004 for imple-
`menting 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 (PCI Local Bus Specification, Version 2.1 Jun. 1, 1995).
`The bus 1012 couples to TV tuner/capture card 1014 which
`is coupled to an antenna 1015 or other video input port, such
`as a cable input port, a satellite receiver/antenna or the like.
`The TV tuner and capture card 1014 selects a desired
`television channel and also performs the video capture
`function (block 902, FIG. 9). One example of 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, 1030, 2200, 2300, 2500 and 2700 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 coupled to the bus 1032 is a basic input/output
`system (BIOS) 1042.
`An example of a display 1100, shown in FIG. 11, for the
`television 1010 may display a conventional television pic-
`ture or program 1101 and, in addition, may have superim-
`posed over the screen,
`in a discrete fashion, a mouse
`selectable series of icons, such as the icons 1102 through