`Case 3:l6—cv—O2433 Document 1-6 Filed 05/04/16 Page 1 of 13
`
`
`
`EXHIBIT F
`
`EXHIBIT F
`
`
`
`
`
`
`
`Case 3:16-cv—O2433 Document llllllllllilllllflilllllllllllll
`Hllillillllllllllll||||||||||||
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 2 of 13
`US00667 463B1
`
`(12) United States Patent
`Pierre et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,678,463 B1
`Jan. 13, 2004
`
`(54) SYSTEM AND METHOD FOR
`INCORPORATING PREVIOUSLY
`BROADCAST CONTENT INTO PROGRAM
`
`.............. .. 386/109
`8/1995 Lynch et al.
`5,438,423 A *
`9/1996 Staron ............ ..
`348/560
`5,555,463 A
`
`.
`6/1997 Schuchman et al.
`380/211
`5,640,453 A *
`5,995,705 A * 11/1999 Lang ......................... .. 386/46
`
`(75)
`
`Inventors: Ludovic Pierre, San Francisco, CA
`Debra Hensgen, P2110 Alto, CA
`.
`.
`(73) Ass1gnee: 0penTV, San Francisco, CA (US)
`
`FOREIGN PATENT DOCUMENTS
`95/32584
`WO
`11/1995
`* cited by examiner
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`USC. 154(b) by 0 days.
`
`.
`.
`Primary Exami”e”—HuY Ngllyen
`(74) Attorney, Agent, or FLrm—Meyertons Hood K1vl1n
`Kowert & Goetzel, P.C.; Rory D Rankin
`
`(57)
`
`ABSTRACT
`
`Amethod and system for incorporating previously broadcast
`content
`into a program recording. The method includes
`recewing 3 bmadcast C0maiHiHg 3 Pmgram and aut0mati'
`cally recording the broadcast at the start of the program to
`;‘°“°' a.fir1S1‘ P"t“é°“.fhf.‘h‘°' Progfimtl in a firs‘ S§"a§§ arteai
`pace IS a 0Ca C W1
`In a SCCOH S Orage area 3. Cr
`C S ar
`of the program upon receiving a record command from a
`viewer. A second portion of the program is recorded in the
`allocated space of the second storage area and the first and
`second portions of the program are combined Within the
`second storage area to create a recording of the program.
`
`23 Claims, 5 Drawing Sheets
`
`(21) Appl. No.: 09/630,646
`.
`.
`Aug‘ 2’ 2000
`Ffled‘
`(22)
`Int. Cl.7 . . . . .
`. . . . . . . . . . . . . . . . . . . . . . . . .. H04N 5/91
`(51)
`(52) U_S_ CL ............. N
`N 386/83; 386/112; 386/125
`(58) Field of Search ...................... 386/46, 83, 109,
`
`
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4,982,390 A *
`1/1991 Tanaka ..... N
`5,282,092 A *
`1/1994 Wilhelms
`5,381,275 A *
`1/1995 Nitta et al.
`
`369/30
`.... .. 360/5
`
`............... .. 386/112
`
`’_100
`
`_L 10,
`"r“é"..°&?.€”.l?v‘.§‘§.’i5?.¢“ ~/
`
`J04
`
`1 2O
`
`surncrznr
`
`cotmeuous
`YES
`space In s1oRA/.:E
`uzvucs ron ENTIRE
`
`
`
` PRDSRAM7
`
`
`
`
`STORAGE nevncs Fun
`57°““°‘ "E"'°E ‘°"
`eNT%"J§|‘,'35'Es':,TAeE,
`1 08’\ mucus smug nu
`REMINDER
`ENTIRE pnoeoum
`or rxocsnmv
`
`
`DESTINAYION T0
`STORAGE DEVICE FOR
`N-LOCATE LARGEST
`MDEHFV om
`ALLDCATE smzs IN
`
`ALLDCATED sue: INSYORAGE oevnce
`
`namnunza or mlPROGRAM
`22
`couneuous sues
`MODIFY DMA
`MODXFY WA
`Attooxrzn sues IN
`ALLOCATED suns IN
`ossmwnou 10
`ussnmmou TD /
`smRAcE names
`stems DEVICE
`
`135
`
`138
`
`1 24
`
`1 1
`
`'’“°‘*‘‘'‘‘ ‘N 57°R“3E
`1 12 \ "E°°R° "E““'"°E“ °‘
`“EV”
`
`1
`
`COW BE%WF5‘
`*4 YO assmmue or
`PROGRAM FROM BUFFER
`ALLOCATED sues w
`STORAGE DEW):
`MLDCATED smcs
`mes uNusED
`*
`5}
`
`’1_ m.s.1E..momEuzvrcs
`
`1 1 61¢
`
`1 18
`
`PROGRAM 1» swam:
`RECORD REMMNDER OF
`nsvxcz \ 126
`*
`DEVICE
`nssm; STORAGE
`
`'C6FV BEGMNING OF
`
`*~g5;;yg,;:;a',::,U;:E~PROGRAM Te
`eeN,,el,eUe Leemm.
`
`
`
`NDTWV mews: war
`SPACE Te REWRD
`WERE ,5 wSu;F‘eIEmv
`WOGRAM
`
`YES
`
`VIEWER
`SIILLwANrs TD nscokn
`
`NO
`
`nan: PREWOUSLY
`RECORDED paoeam
`
`r-noemm
`
`1 50
`
`1 46
`
`CANCEL RECORD
`nzouesv
`
`ALLOCATE mean space L \
`
`mes ALLOCATED sues
`
`
`
`143
`
`azcanu aemunuea or
`PROGRAM 1» ALLOCAIED
`space
`
`31 54
`
`
`
`now REST or wxoerum
`T0 ALLODATE space
`
`1 56
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 3 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 3 of 13
`
`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 1 0f5
`
`US 6,678,463 B1
`
`/‘~10
`
`18
`
`DEVICE
`
`STORAGE
`
`SETTOP BOX
`
`16
`
`STATION
`
`SATELLITE
`
`RECEIVING
`
`z9 '
`
`2P-(D
`I-(I)
`
`<0 2on
`
`:tn
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 4 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 4 of 13
`
`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 2 0f5
`
`US 6,678,463 B1
`
`
`
`STAGE
`
`
`TRANSPORT
`
`SETTOPBOX
`
`
`BROADCAST
`STAWON
`
`12
`
` STORAGE
`DEWCE
`
`FIG.2
`
`
`
`CONTROL
`
`PROCESSOR
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 5 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 5 of 13
`
`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 3 0f5
`
`US 6,678,463 B1
`
`AV STAGE
`
`ID=XXXXXX
`START=T1
`
`F-”°=T2
`
`.o=xxxxxx
`START=T2
`END=T3
`
`CONTROL
`
`PROCESSOR
`
`FIG. 3
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 6 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 6 of 13
`
`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 4 0f5
`
`US 6,678,463 B1
`
`92
`
`94
`
`SEMI-PERMANENT STORAGE
`
` TEMPORARY STORAGE
`
`96
`
`SEMI-PERMANENT STORAGE
`
`TEMPORARY STORAGE
`
`SEMI-PERMANENT STORAGE
`
`FIG. 6
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 7 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 7 of 13
`
`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 5 0f5
`
`US 6,678,463 B1
`
`100
`
`102
`
`NO
`
`120
`
`VIEWER STARTS TO
`
`WATCH NEW PROGRAM
`TEMPORARY MEMORY
`
`PROGRAM is STORED IN
`
`VIEWER SELECTS
`RECORD OPTION
`
`
`
`YES
`
`106
`SUFFICIENT
`
`CONTIGUOUS
`SPACE IN STORAGE
`DEVICE FOR ENTIRE
`
`PROGRAM?
`
`YES
`
`ALLOCATE SPACE INSTORAGE Device FOR
`
`ENTIRE PROGRAM
`
`MODIFY DMA
`DESTINATION TO
`ALLOCATED SPACE IN
`STORAGE DEVICE
`
`ALLOCATE SPACE IN
`STORAGE DEVICE FOR
`REMAINDER OF
`PROGRAM
`
`NO
`
`ALLOCATE LARGEST
`CONTIGUOUS SPACE
`
`
`
`SUFFICIENT
`ONTIGUOUS SPACE I
`
`STORAGE DEVICE FOR
`REMAINDER
`
`OF PROGRAM?
`
`
`
`1 22
`
`
`
`
`
`Ai.LocATeD SPACE IN
`STORAGE DEVICE
`
`1 24
`
`.,:;:m::.aii':o
`ALLOCATED SPACE IN
`STORAGE DEVICE
`
`PROGRAM IN STORAGE
`DEVICE
`
`
`copv ae mnme F
`PROGRAM FROM BUFFER
`T0 BEGINNING oF
`
`ALLOCATED SPACE IN
`STORAGE DEVICE
`
`
`
`
`
`1 0 :
`
`1 1 g
`
`“Z
`
`1 1 4
`
`‘1 16
`
`1 1 8
`
`1 36
`
`138
`
`140
`
`1
`
`CANCEL RECORD
`REQUEST
`
`
`
`VIEWER
`snu. WANTS TO RECORD
`
`PROGRAM?
`
`T':‘cé;{':Y5"l'§g':’J$,F;J;T£JT
`SPACE To RECORD
`PROGRAM
`
`RECORD REMAINDER OF
`PROGRAM IN STORAGE
`DEVICE
`
`1 26
`
`DeFRAG STORAGE
`DEVICE
`
`S
`
`DELETE PREVIOUSLY
`
`
`
`
`
`FREE unuseu
`ALLOCATED SPACE
`
`DEFRAGMENT STORAGE
`
`DEVICE
`
`PROGRAM FROM BUFFER
`c PY BEGINNING OF
`AND REMAINDER OF
`PROGRAM TO
`CONTIGUOUS LOCATION
`
`
`
`
`
`
`RECORDED PROGRAM 1 50
`
`130
`
`ALLOCATE FREED SPACE
`
`FREE ALLOCATED SPACE
`
`1 52
`
`RECORD REMAINDER OF
`PROGRAM IN ALLOCATED
`SPACE
`
`1 54
`
`1
`
`COPY REST OF PROGRAM
`TO ALLOCATE SPACE
`
`1
`
`FIG. 7
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 8 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 8 of 13
`
`US 6,678,463 B1
`
`1
`SYSTEM AND METHOD FOR
`INCORPORATING PREVIOUSLY
`BROADCAST CONTENT INTO PROGRAM
`RECORDING
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates generally to broadcast tele-
`vision systems, and more particularly, to the recording of
`programs and incorporation of previously broadcast content
`into the recording.
`A broadcast service provider generates audio-video
`streams for transmission to a viewer’s television. Interactive
`
`television systems are capable of displaying text and graphic
`images in addition to typical audio-video program streams
`and provide a number of services and interactive applica-
`tions to viewers. The interactive television signal includes an
`interactive portion consisting of application code or system
`information, as well as an audio-video portion consisting of
`a television program. The broadcast service provider com-
`bines the audio-video and interactive portions into a single
`signal for transmission to a receiver connected to the view-
`er’s television. The signal is generally compressed prior to
`transmission and transmitted through typical broadcast
`media such as cable television (CATV)
`lines or direct
`satellite transmission systems.
`A set top box connected to the television controls the
`interactive functionality of the television. The set top box
`receives the signal
`transmitted by the broadcast service
`provider, separates the interactive portion from the audio-
`video portion, and decompresses the respective portions of
`the signal. The set top box uses interactive information to
`execute an application while the audio-video information is
`transmitted to the television.
`
`Set top boxes typically include only a limited amount of
`memory. While this memory is sufficient to execute inter-
`active applications, it is typically not adequate to store the
`applications for an indefinite period of time. Further, the
`memory of the set top box is typically too small to accom-
`modate a program which includes large amounts of audio or
`video data, application code, or other information. Storage
`devices may be coupled with the set top box to provide
`additional memory for
`the storage of video and audio
`broadcast content.
`
`Interactive content such as application code or informa-
`tion relating to television programs is typically broadcast in
`a repeating format. The pieces of information broadcast in
`this manner form what
`is referred to as a “carousel”.
`
`Repeating transmission of objects in a carousel allows the
`reception of those objects by a receiver without requiring a
`return path from the receivers to the server. If a receiver
`needs a particular piece of information, it can simply wait
`until the next time that piece of information is broadcast, and
`then extract the information from the broadcast stream. If the
`
`the receiver
`information were not cyclically broadcast,
`would have to transmit a request for the information to the
`server, thus requiring a return path. If a viewer is initially not
`interested in the carousel content, but later expresses an
`interest, the information can be obtained the next time the
`carousel is broadcast.
`
`Since broadcast networks have access only to a limited
`bandwidth, audio-video content is not broadcast in carou-
`sels. Thus,
`the set
`top box cannot wait
`to receive the
`rebroadcast of the audio and video content
`if a viewer
`
`decides to record a program after it has already started.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`There is also insufficient bandwidth and server resources to
`handle pulling of large amounts of data required for video
`and audio in real-time to handle near simultaneous requests
`for broadcast of previously broadcast material from a vast
`number of television viewers. Therefore, even if sufficient
`storage is available on the storage device, a viewer cannot
`decide in the middle of a program to record the entire
`program, since the beginning of the program has already
`been broadcast. Thus, a viewer who wants to record an entire
`program must decide to do so before broadcast of the
`program has started. The viewer also has to prepare the
`media for recording before the start of a program. This may
`require deleting one or more previously recorded programs
`or attaching an external storage device. Since the viewer has
`not yet seen any of the program, it may be difficult for the
`viewer to choose to delete one or more of the existing
`recordings to make space for the new program.
`There is, therefore, a need for a system and method that
`allows a viewer to record an entire broadcast program after
`a portion of it has already been viewed.
`SUMMARY OF THE INVENTION
`
`A method and system for incorporating previously broad-
`cast content into a recording of a program are disclosed. A
`method of the present invention generally comprises receiv-
`ing a broadcast containing a program and automatically
`recording the broadcast at a start of the program to store a
`first portion of the program in a first storage area. A space
`within a second storage area is allocated upon receiving a
`record command during the recording of the first portion of
`the program. A second portion of the program is recorded in
`the allocated space in the second storage area.
`The first storage area may be a circular buffer which
`temporarily stores the first portion of the program broadcast
`prior to a viewer deciding to record the program. The first
`and second storage area may comprise a magnetic disk,
`optical disk or flash memory, for example. The first and
`second storage areas may be located in a storage device
`coupled to a set top box or located internal to the set top box.
`If a space sufficient in size to store the entire program is
`available on the storage device, the space is allocated for the
`program. The second portion of the program is recorded in
`the allocated space and the first portion of the program is
`transferred from the circular buffer to the allocated space to
`create a program recording. The common storage area may
`be the allocated space in the second storage area, a new
`space within the second storage area, or a completely
`different storage area. If there is insufficient space to record
`the entire program on the storage device, a viewer of the
`program will be notified. The viewer may delete previously
`recorded material from the storage device or cancel the
`request for recording the current program.
`A system of the present invention generally comprises a
`receiver operable to receive the program, a storage device
`coupled to the receiver, and a processor. The processor is
`operable to automatically control the recording of the pro-
`gram in order to store a first portion of the program in a first
`storage area, allocate space within the storage device after
`the start of the program, direct a second portion of the
`program to the allocated space of the second storage area,
`and combine the first and second portions of the program.
`The receiver may be a set top box and the storage device
`may be contained within the set top box or may be a storage
`device externally connected to the set top box. The first
`storage area may be located within the set top box or the
`storage device.
`The above is a brief description of some deficiencies in
`the prior art and advantages of the present invention. Other
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 9 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 9 of 13
`
`US 6,678,463 B1
`
`3
`features, advantages, and embodiments of the invention will
`be apparent to those skilled in the art from the following
`description, drawings, and claims.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram illustrating the distribution of televi-
`sion programs and system information from a broadcast
`station to a receiving station.
`FIG. 2 is a block diagram of a system of the present
`invention for recording programs received from the broad-
`cast station of FIG. 1.
`
`FIG. 3 is a block diagram illustrating the transfer of data
`to a storage device coupled to the set top box of FIG. 2.
`FIG. 4 is a diagram illustrating storage areas of the storage
`device of FIG. 3 with sufficient space available to store an
`entire program.
`FIG. 5 is a diagram illustrating the storage areas shown in
`FIG. 4 with only enough space available to record a portion
`of the program.
`FIG. 6 is a diagram illustrating the storage areas shown in
`FIG. 4 with insufficient space to store an entire program.
`FIG. 7 is a flowchart illustrating a process for incorpo-
`rating previously broadcast content into a program record-
`ing.
`Corresponding reference characters indicate correspond-
`ing parts throughout the several views of the drawings.
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`The following description is presented to enable one of
`ordinary skill in the art
`to make and use the invention.
`Descriptions of specific embodiments and applications are
`provided only as examples and various modifications will be
`readily apparent to those skilled in the art. The general
`principles described herein may be applied to other embodi-
`ments and applications without departing from the scope of
`the invention. Thus, the present invention is not to be limited
`to the embodiments shown, but is to be accorded the widest
`scope consistent with the principles and features described
`herein. For purpose of clarity, details relating to technical
`material that is known in the technical fields related to the
`invention have not been described in detail.
`
`Referring now to the drawings, and first to FIG. 1, a
`diagram of a television broadcast and receiving system is
`shown and generally indicated at 10. The system 10 includes
`a broadcast station 12 where audio-video and control infor-
`
`mation is assembled in the form of digital data and mapped
`into digital signals for satellite transmission to a receiving
`station. The term broadcast as used herein may include audio
`information, video information, signaling information, inter-
`active applications, or any combination thereof. Control
`information such as conditional access information and
`
`service information may be added to video, audio, and
`interactive applications for use by the interactive television
`system. The control information is converted by the broad-
`cast station to a format suitable for
`transmission over
`
`broadcast medium. The data may be formatted into packets,
`for example, which can be transmitted over a digital satellite
`network. The packets may be multiplexed with other packets
`for transmission. The signal is typically compressed prior to
`transmission and may be transmitted through broadcast
`channels such as cable television lines or direct satellite
`
`transmission systems 22 (as shown in FIG. 1). Telephone
`lines, cellular networks, fiber optics, or other terrestrial
`transmission media may also be used in place of the cable or
`satellite system.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`The receiving station includes a set top box 16 connected
`to a storage device 18 configured to store program data, and
`a television 20 which is used to present programs to a
`viewer. The set top box 16 is operable to decompress the
`digital data and display programs to a viewer. The decom-
`pressed video signals may be converted into analog signals
`such as NTSC (National Television Standards Committee)
`format signals for television display. Control signals sent to
`the set top box 16 are filtered and used by the processor 30
`immediately or placed in local storage such as RAM. The set
`top box 16 may be used to overlay or combine different
`signals to form the desired display on the viewer’s television
`20.
`
`As further described below, the set top box 16 is config-
`ured to record a program that the viewer is watching for a
`predetermined time or until the program has ended. This
`allows data that was broadcast prior to a viewer’s decision
`to record the program to be incorporated into the program
`recording to provide a complete recording of the program. It
`is to be understood that the term “program” as used herein
`refers to any broadcast material including television shows,
`sporting events, news programs, movies, or any other type
`of broadcast material, or segment of the show, event,
`program, movie, or other material. The program may include
`only audio, video, data, or any combination thereof. The
`program may be only a portion of a television show or
`broadcast (e.g., without commercials, or missing a portion of
`the beginning or end) or may be more than one show, or
`include commercials, for example. Furthermore, it is to be
`understood that the term “viewing” as used herein is defined
`such that viewing of a program begins as soon as a tuner
`begins filtering data corresponding to a program. If a viewer
`has tuned to a particular frequency prior to the broadcast of
`a program, the beginning of the viewing preferably corre-
`sponds to the beginning of the program. The viewing
`preferably ends when the program is complete or when the
`tuner is no longer filtering the frequency corresponding to
`the program. Thus, the recording of a program coincides
`with the “viewing” of a program and the program is only
`recorded when the tuner is tuned to the station broadcasting
`the program. The television may even be turned off after a
`viewer has started recording the program, as long as the
`tuner is tuned into the station broadcasting the program.
`The audio-video signals and program control signals
`received by the set top box 16 correspond to television
`programs and menu selections that the viewer may access
`through a viewer interface. The viewer may control the set
`top box 16 through an infrared remote control unit, a control
`panel on the set
`top box, or a menu displayed on the
`television screen, for example.
`It is to be understood that the system 10 described above
`and shown in FIG. 1 is only one example of a system used
`to convey signals to the television 20. The broadcast net-
`work system may be different than described herein without
`departing from the scope of the invention.
`The set top box 16 may be used with a satellite receiver
`or satellite integrated decoder receiver that is capable of
`decoding video, audio, and data. The set top box 16 may be
`configured, for example, to receive digital video channels
`which support broadband communications using Quadrature
`Amplitude Modulation (QAM) and control channels for
`two-way signaling and messaging. The digital QAM chan-
`nels carry compressed and encoded multiprogram MPEG
`(Motion Picture Expert Group) transport streams. A trans-
`port system extracts the desired program from the transport
`stream and separates the audio, video, and data components,
`which are routed to an audio decoder, video decoder, and
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 10 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 10 of 13
`
`US 6,678,463 B1
`
`5
`RAM, respectively. It is to be understood that the set top box
`16 and storage device 18 may be analog, digital, or both
`analog and digital.
`As shown in FIGS. 1 and 2, the storage device 18 is
`coupled to the set top box 16. The storage device 18 is used
`to provide sufficient storage to record programs that will not
`fit in the limited amount of main memory (e.g., RAM)
`typically available in set top boxes. The storage device 18
`may comprise any suitable storage device, such as a hard
`disk drive, a recordable DVD drive, magnetic tape, optical
`disk, magneto-optical disk, flash memory, or solid state
`memory, for example. The storage device 18 may be internal
`to the set top box 16 or connected externally (e.g., through
`an IEEE 1394-1995 connection) with either a permanent
`connection or a removable connection. More than one
`
`storage device 18 may be attached to the set top box 16. The
`set top box 16 and/or storage device 18 may also be included
`in one package with the television set 20.
`FIG. 2 illustrates one embodiment of a system of the
`present invention used to record programs received from the
`broadcast station 12. The set top box 16 generally includes
`a control unit (e.g., microprocessor), main memory (e.g.,
`RAM), and other components which are necessary to select
`and decode the received interactive television signal. As
`shown in FIG. 2, the set top box 16 includes a front end 26
`operable to receive audio, video, and other data from the
`broadcast station 12. The broadcast source is fed into the set
`
`top box 16 at the front end 26, which comprises an analog
`to digital
`converter and tuner/demodulators (not
`shown). The front end 26 filters out a particular band of
`frequencies, demodulates it and converts it
`to a digital
`format. The digitized output is then sent to a transport stage
`28. The transport stage 28 further processes the data, sending
`a portion of the data to an audio-visual (AV) stage 34 for
`display and another portion to the control processor 30, and
`filtering out the rest of the data.
`Control information may also be recorded as broadcast
`along with the audio-video data, or may be first manipulated
`by software within the set top box. For example, broadcast
`CA (conditional access) information may be used to decrypt
`broadcast video. The original broadcast streams, or modifi-
`cation of these streams may be optionally re-encrypted using
`a set
`top box key or algorithm prior to recording. The
`encrypted video may also be stored as received along with
`the broadcast CA information. Also, clock information may
`be translated to a virtual time system prior to recording. An
`MPEG-2 elementary stream may be de-multiplexed from an
`MPEG-2 transport stream, then encapsulated as a program
`stream and recorded.
`
`FIG. 3 illustrates the transfer of data from the transport
`stage 28 to the storage device 18. The storage device 18
`typically contains a plurality of programs which have been
`recorded by a viewer. The recordings are associated with
`identifying information that may have been copied or modi-
`fied from the original signaling information. This identifying
`information may contain bookkeeping information similar
`to that typically stored in audio/video file systems or hier-
`archical computer file systems. The identifying information
`may have various formats and content, as long as it provides
`sufficient
`information to allow the viewer to uniquely
`retrieve a particular recorded viewing. As described below,
`the storage area may be defragmented periodically so that
`the programs may be stored in a contiguous manner. Direct
`memory access (DMA) is preferably used to send data from
`the transport stage 28 to the storage device 18. The data sent
`to the control processor 30 may include meta-data which
`describes the content of the audio-video data streams and
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`may also include application programs and corresponding
`data that can be executed on the control processor’s CPU in
`order to provide interactive television.
`A copy of data sent from the transport stage 28 to the AV
`stage 34 is automatically sent to the storage device 18 at the
`beginning of the viewing, regardless of when the program
`started. The CPU in the control processor 30 configures a
`DMA controller to ensure that the data is written to a buffer
`that is allocated in the storage device 18. The number of
`minutes of viewing data to be recorded in the buffer is
`preferably selected by the viewer, however, the set top box
`16 may be preset with a default value such as fifteen
`minutes. The control processor’s CPU calculates the size of
`the buffer to allocate based upon the number of minutes and
`the maximum speed at which bits in the transport stream that
`the viewer is watching will be sent. This maximum speed
`may be obtained from meta-data sent with the audio-video
`stream. When the end of the buffer is reached, the CPU in
`the control processor is interrupted, at which time it will
`reconfigure the DMA controller to start writing at
`the
`beginning of the buffer. This design is known as a circular
`buflbr
`
`The buffer is preferably circular to allow contiguous
`recording and writing over of previously recorded content.
`When the viewer changes the channel or a TV event (e.g.,
`television program ends) occurs,
`the control processor’s
`CPU will be interrupted. At this time, the CPU may allocate
`a new buffer or mark the beginning of the new event in the
`original buffer. The automatic recording of a program in
`temporary storage at the start of the program without any
`action by the viewer, allows the viewer to decide to record
`the program after the start of the program without losing any
`of the previously broadcast content. Once the viewer decides
`to record the program, the remainder of the program will be
`recorded in a semi-permanent storage area in the storage
`device 18, as described below.
`FIGS. 4, 5, and 6 illustrate storage areas of the storage
`device 18. The storage device 18 may be divided into a
`temporary storage area (first storage area) 92 which contains
`the circular buffer 90 described above, and a semi-
`permnanent storage area (second storage area) 94 which is
`utilized to store complete program recordings or a portion of
`a program during the recording. It is to be understood that
`the storage media does not need to be physically divided, or
`even virtually divided into two components, as long as data
`structures reflect which parts of the media have been allo-
`cated and which have not. Thus, the first and second storage
`areas may be the same storage area.
`As previously described, the control processor 30 auto-
`matically records the broadcast at a start of the program to
`store a first portion of the program in the circular buffer 90
`within the temporary storage area 92 of the storage device
`18. The program will continue to be recorded and stored
`within the buffer 90 for a predetermined period of time (e. g.,
`15 minutes). If a viewer decides to record the program after
`the start of the program, he will select a record option and
`the processor 30 will allocate space within the semi-
`permanent storage area 94 of the storage device 18. The
`processor 30 will then direct the audio-video stream to the
`allocated space within the semi-permanent storage area 94.
`After the recording is complete the first portion of the
`program, which was previously stored in the circular buffer
`90, will be copied into the semi-permanent storage area,
`preferably in front of the allocated space within the semi-
`permanent storage 94.
`In this way,
`the first portion is
`physically combined with the second portion of the program
`to form a contiguous recording. Alternatively, the contents
`
`
`
`Case 3:16-cv-02433 Document 1-6 Filed 05/04/16 Page 11 of 13
`Case 3:16—cv—O2433 Document 1-6 Filed 05/04/16 Page 11 of 13
`
`US 6,678,463 B1
`
`7
`of the circular buffer may be copied to an altogether different
`area or the contents may remain in the buffer, with the buffer
`being, at least logically, re-mapped into the sem-permanent
`storage area, and a new circular buffer being allocated out of
`the temporary area or out of the semi-permanent area. The
`later may include updating a data structure that would be
`used to keep track of the temporary and semi-permanent
`divisions.
`
`The joining of the first and second recorded portions in a
`common storage area may,
`thus, be implemented either
`physically or virtually. A physical
`implementation may
`include copying the first recorded portion to a location
`where the second portion has been recorded. A virtual
`implementation may include the modification of a data
`structure stored in the storage device. In either case, a viewer
`watching a replay of the entire recording should not be able
`to detect that the two parts of the recording were originally
`stored separately. Thus, the portions of the program may be
`physically contiguous or the portions of the program may be
`stored separately in a non-contiguous format as long as the
`entire recorded program can be played back in a continuous
`manner (i.e., viewer does not notice a transition between the
`playback of the first and second portions of the program).
`It is to be understood that the first and second portions of
`the program may be initially stored in a common storage
`area such as the semi-permanent storage area 94, in which
`case the first and second storage areas will be the same. Also,
`the type of storage areas (e.g.,
`temporary or semi-
`permanent) may be different than shown herein, without
`departing from the scope of the invention. Furthermore, it is
`to be understood that the identification of a storage area as
`“temporary” or “semi-permanent” may change overtime.
`For example, a circular buffer may initially be allocated to
`hold the first portion of the program and later the same
`memory may become semi-permanent storage because it is
`more efficient to map (i.e., indicate in a data structure) that
`this buffer is to semi-permanently contain the contents of the
`recording. Another buffer space would then be allocated for
`temporary storage.
`Different levels and configurations of available storage
`space within the semi-permanent storage area 94 are shown
`in FIGS. 4-6. Shading within blocks of the storage media
`indicates space within the storage area that is full. FIG. 4
`shows a temporary storage area 92 in which the circular
`buffer 90 is approximately fifty percent full and a semi-
`permanent storage area having a storage media 96 with only
`a small portion filled. FIG. 5 shows the semi-permanent
`storage area 94 having only small contiguous spaces remain-
`ing in the storage media 97. FIG. 6 shows the semi-
`permanent storage area 94 having a storage media 98 that is
`almost completely full. If there is insufficient contiguous
`space within the semi-permanent storage area 94 to record
`the entire program (as shown in FIG. 5), a defragmentation
`process may be performed to provide sufficient contiguous
`space. If the semi-permanent storage area 94 does not have
`sufficient space available even after defragmentation is
`performed (FIG. 6), the viewer may be notified and asked to
`delete previously recorded material or cancel the request to
`record the current broadcast program. Alternatively, there
`may be a default policy. Examples of such policies include
`removing the oldest recording or, if there is sufficient space
`for the second portion of the program without saving the
`portion of the program that was recorded in the first storage
`area,