throbber
The Television Pause Function
`by
`Michael R. Truog
`
`Submitted to the Department of Electrical Engineering and Computer Science
`in Partial Fulfillment of the Requirements of the Degree of
`
`Bachelor of Science in Electrical· Engineering and Engineering
`
`at the Massachusetts Institute of Technology
`
`May 1989
`
`Copyright Mich~el R. Truog 1989
`
`The author hereby grants to M.I.T. the permission to reproduce and to
`distribute copies of this thesis document in whole or in part.
`
`Signature of the Author
`
`~ae~ R. Truog
`r
`Department of Electrical Engineering and Computer Science
`May 16, 1989
`
`Certified by
`
`------------~t ---~~------------------ ----
`
`Walter Bender
`Principle Research Scientist, Media Laboratory
`Thesis Supervisor
`
`Accepted by
`
`. . f:>(;;&>
`
`...
`
`Leonard A. Gould
`Chairman, Department Committee on Undergraduate Theses
`
`A8.CH1Y£s
`~;;usms INSTITUTE
`OF TECHNOLOGY
`JUN 16 1989
`
`UIRARIIiS
`
`Dish, Exh. 1002, p. 1
`
`

`
`The Television Pause Function
`by
`Michael R. Truog
`
`Submitted to the
`Department of Electrical Engineering and Computer Science
`
`May 16, 1989
`
`In Partial Fulfillment of the requirements of the degree of
`Bachelor of Science in Electrical Engineering and Engineering
`
`ABSTRACT
`
`A new pause function is designed and implemented which enables a television
`viewer to pause a live television program for a variable length of time, and then
`return at a later time and continue watching without missing any portion of the
`program. The system uses three VCR,s controlled by digital circuitry to provide
`this feature.
`
`Thesis Supervisor: Walter Bender
`Title: Principle Research Scientist, Media Laboratory
`
`This work was supported in part by I.B.M.
`
`Dish, Exh. 1002, p. 2
`
`

`
`Table of Contents
`
`1. lntroduction ..................................................................... p. 1
`2. Definitions and Explanation of Terms ....................... p. 2-4
`3. Design Requirements ..................................................... p. 4
`4. VCR Deficiencies ............................................................. pp. 5-6
`5. Design Overview ............................................................. pp. 6-7
`6. Software Design ............................................................... pp. 7-16
`6.1 Goals of the Software ........................................ pp. 7-8
`6.2 Software Organization.................
`. ................ pp. 6-16
`6.2.1 Initialization ....................................... p. 8
`6.2.2 Pause ..................................................... pp. 8-15
`6.2.3 The Playback Loop .............................. pp.15-16
`7. Hardware Design ............................................................. pp. 16-21
`7.1 Hardware Requirements ................................. pp. 16-17
`7.2 Hardware Organization ................................... pp. 18-21
`7.2.1 The Controller ..................................... pp. 18-19
`7.2.2 The Registers ....................................... p. 19
`7.2.3 The Switches ....................................... pp. 19-20
`7.2.4 The Synchronization Section .......... p. 21
`8. Implementation .............................................................. pp. 21-22
`9. Applications ..................................................................... p. 22
`10. Possible Additions ......................................................... p. 23
`Appendix A ........................................................................... pp. 23-42
`Appendix B ............................................................................ pp. 43-47
`Appendix C ............................................................................ pp. 48-53
`.Acknowledgements ............................................................. p. 54
`
`Dish, Exh. 1002, p. 3
`
`

`
`Chapter 1. Introduction
`
`This thesis describes a circuit that adds a new pause option to
`
`television. Often people are in a situation where they have just started
`
`watching a television program when some minor interruption, such as a
`
`phone call, takes them away from the viewing area for a short time. To
`
`continue their viewing, there are two opdons. Their first option is to push
`
`record when they leave, rewind the tape after the show is over, and watch
`
`from where they had left off. The second option is simply to skip the portion
`
`they missed. The new 'television pause' function I have designed is a third
`
`option which will enable the viewers to continue watching the program from
`
`where they left off to completion as soon as they return.
`
`Although the television program continues to be broadcast, the
`
`'television pause' feature leads the viewer to believe that the broadcast has
`
`been put on hold. Since the broadcast does not stop, some method was
`
`needed to store the video signal, so that it could be played back at any time.
`
`Before describing my circuit, some background information on video signals
`
`and their storage must be given.
`
`Video signals are transmitted as electro-magnetic radiation from either
`
`an antenna or a satellite. They are received by viewers though a receiving
`
`antenna and are displayed as pictures on a television set (TV). The general
`
`design of the video signal is such that it is composed of discrete packets of
`
`information called frames. Each frame is 1/30th of a second in length and
`
`corresponds to a TV picture 1 /30th of a second in duration. Within each
`
`frame, different frequencies and the amplitudes of these frequencies
`
`1
`
`Dish, Exh. 1002, p. 4
`
`

`
`determine what the picture looks like. The frequencies present in video
`
`signals range from 30 Hz to 4.5M Hz.
`
`There are two methods for storing these signals for later playback. One
`
`is digitizing the signals and storing the information on a disk in the form of
`
`bytes of video information. This method provides very easy access to video
`
`data. Using conventional means it is extremely costly and also difficult to do
`
`due to the high frequency at which the signals are broadcast. A much more
`
`simple method for storing video signals is to record the video using a video
`
`cassette recorder (VCR). The VCR stores the signal in its analog form on a
`
`magnetic tape, which can be read at any time later. The VCR method is much
`
`less expensive but is very awkward to use. (VCR functions and their inherent
`
`problems are discussed in Chapters 2 and 4.) To make this function realizable
`
`as a consumer product the cost of the function is very important, which
`
`makes the choice of methods simple.
`
`Chapter 2. Definitions and Explanation of Temts
`
`VCR stands for video cassette recorder. The brand and model used for
`
`this project was the JVC model HR-SSOOOU Super VHS recorder. The
`
`following VCR functions are used to implement the 'television pause'
`
`function:
`
`Record-- This function causes the VCR to store the video signal on the
`
`tape. It is analogous to a computer writing to mernory. The signal is stored in
`
`discrete packets, frames, similar to the way it is broadcast. Before each frame
`
`2
`
`Dish, Exh. 1002, p. 5
`
`

`
`is recorded, a signal is written on the tape to mark the start of a new frame.
`
`On playback this signal informs the VCR that a new frame is ready to be read.
`
`This signal is referred to as a control pulse. One other note to make about the
`
`record function is that there is a delay between when record is pressed and the
`
`VCR starts recording. This delay was important to account for in the design
`
`of the 'television pause' feature. The delay results from the method used by
`
`the VCR to either record or play. In its rest state, the tape is removed from
`
`the recording/playback head. To write or read the video signal, the tape has
`
`to be wrapped around the recording head so that the recording head is in
`
`physical contact with the tape. The recording delay is the amount of time it
`
`takes to wrap the tape around the recording head. The delay is approximately
`
`three seconds.
`
`Play-- This function reads the video information stored by the record
`
`command and causes the recorded signal to be displayed on a TV. The
`
`control pulses vvritten by record are read by play and used to insure that each
`
`frame is played back accurately. The tape must be touching the
`
`recording/playback head to read the tape, so the same delay that is present in
`
`recording is also found on playback.
`
`Pause -- This function suspends the playback of a recorded video signal.
`
`It is used only when the VCR is in 'play' mode.
`
`Search Rewind -- This function is used to rewind the tape, while
`
`always reading the video and control pulse information. It is invoked by
`
`pressing rewind while the VCR is playing, causing the tape to be rewound
`
`without removing it from the record/playback head.
`
`It is used instead of
`
`3
`
`Dish, Exh. 1002, p. 6
`
`

`
`straight rewind because tape position needs to be known by my circuit and
`
`reading and counting control pulses is the only way to figure tape movement.
`
`Search Forward -- This function is the fast forward version of search
`
`rewind.
`
`The Intel 8751
`
`is an eight bit microprocessor.
`
`It has
`
`programmable ROM on chip as well as 128 bytes of RAM.
`
`Chapter 3. Design Requirements
`
`There are five requirements that my circuit had to fulfill. First, there
`
`should be only one button for the viewer to push to activate the television
`
`pause function. One button makes the function easier to use for a public that
`
`feels inundated with buttons and functions on entertainment equipment.
`
`Second, the user should not have to wait to watch the program after he
`
`returns. Upon returning, the only delay the user should have to wait for is
`
`only the play function delay. Third, the user should be able to watch the
`
`entire program from where he left off. No portion of the program should be
`
`omitted. Fourth, the user should not be able to tell the difference between the
`
`paused program and the original broadcast of the program other than the
`
`lessened quality caused by playing front tape. It is extremely important that
`
`the picture quality is not reduced by the use of the new pause function. The
`
`final requirement is that the user should be able to catch up to actual time by
`
`fast forwarding through commercials.
`
`4
`
`Dish, Exh. 1002, p. 7
`
`

`
`Chapter 4. VCR Deficiencies
`
`To accomplish these goals, the software algorithm had to account for
`
`three short comings that are inherent in home video recorders. The first is
`
`that VCR functions do not react immediately. For instance, once the 'play'
`
`button is pushed, a delay of approximately three seconds takes place before
`
`any video is displayed on the screen. The software needed to plan for this
`
`delay by allowing set up times after asserting any of the VCR's functions.
`
`Second, keeping an accurate record of position on the video tape is very
`
`difficult. The counter on most VCR displays is only accurate on a
`
`macroscopic scale. Using this counter, real position will change by a few
`
`seconds after a rewind or a stop function is used making it impossible to find
`
`a certain frame. My circuit must be able to find the tape position within a
`
`single frame accuracy, so another method was needed. This method was to
`
`count the frames from where recording began and thus the relative distance
`
`between any two frames would always be known. Counting frames is
`
`accomplished by counting control pulses, since a control pulse is recorded
`
`before each frame. Each VCR's tape position is extremely important in
`
`deciding when to turn on or off VCR functions, so whenever the tape is
`
`moving my circuit should know how far it has moved from the number of
`
`control pulses read. This prohibits any tape movement that does not read
`
`control pulses. The functions that do not read control pulses are rewind and
`
`fast forward. Instead of these functions, search rewind and search forward are
`
`5
`
`Dish, Exh. 1002, p. 8
`
`

`
`used, since they read control pulses. The software keeps records of these
`
`relative positions by counting the control pulses and storing them as
`
`variables.
`
`Third, the VCR's have very slow seek times. Finding a certain packet
`
`of information, such as a frame, can be long process. This is because the tape
`
`is a one dimensional storage device. Thus, data can only be searched for in
`
`two directions, forwards and backwards. Search forward and search rewind
`
`are the VCR functions that correspond to these directions. Having a second
`
`dimension to move makes reading much faster, since large portions of
`
`information can be skipped over quickly. A good example of a two
`
`dimensional storage medium is a computer disk. Not having this ability, my
`
`circuit had to plan for search times that were on the same order of magnitude
`
`as the write and read times. Normal search speeds are seven times play speed
`
`in standard play and seventeen times play speed in extended play mode.
`
`Chapter 5. Design Overview
`
`The circuit must perform the 'television pause' function defined by the
`
`design requirements but at the same time it needs to work around the VCR
`
`deficiencies. The method I used to implement the television pause function
`
`is fairly simple. One VCR is recording at all times after the 'television pause'
`
`button is pushed. This makes sure the viewer is able to see the complete
`
`program. Once the viewer returns, one VCR is playing at all times, so there
`
`are no noticeable breaks on playback. Finally, when switching between VCR
`
`6
`
`Dish, Exh. 1002, p. 9
`
`

`
`playback outputs, the VCR next in line to play must be ready to play the
`
`beginning of its recorded segment before the VCR that is playing is finished.
`
`Three VCR's are needed to allow these three states to occur simultaneously
`
`and my circuit has to control them. The system diagram is shown in figure
`
`5.1. This method and its implementation are des"Tibed in detail in the next
`
`two sections.
`
`Figure 5.1 System Diagram
`
`Chapter 6. Software Design
`
`6.1 Goals of the Software
`
`In designing the software, I had the following goals: the state of each
`
`VCR should be known at all times (this includes knowing the function each
`
`7
`
`Dish, Exh. 1002, p. 10
`
`

`
`VCR is performing and each tape position at any moment); signals sent by the
`
`8751 software should be used by the hardware to cause the VCR's to perform
`
`certain functions, and to combine the first two goals into a state machine
`
`that produces the new pause function and would meet the five requirements
`
`listed in section III.
`
`6.2 Software Organization
`
`The software is written in Intel 8051 assembler code. The code is
`
`organized so that all the variables needed are placed in internal RAM. The
`
`listing of variables, what they are for, and their RAM locations is on the first
`
`page of the assembly code listing in Appendix A. The software has three
`
`sections: initialization, the pause, and the playback loop.
`
`6.2.1 Initialization
`
`The initialization section is entered upon power up or an external
`
`reset. The microprocessor reacts by resetting its program counter to location 0.
`
`At this location, there is a jump command to the start of the program. Upon
`
`power up or reset, the circuit should not be interacting with any of the VCR's.
`
`The software clears all control registers at this point by writing four
`
`initialization bytes.
`
`6.2.2 Pause
`
`After initializing the system, the software waits for the user to push the
`
`pause button. Once pushed, the software reacts by switching control of the
`
`8
`
`Dish, Exh. 1002, p. 11
`
`

`
`VCR functions from the VCR control panel to my circuit. It then sends the
`
`record signal for all the VCR's to the control registers. The VCR's begin
`
`recording the program and the software counts the length of the pause.
`
`However, the first VCR does not continue recording until the user returns.
`
`Instead only 44 seconds of the program are recorded. By recording only a
`
`short segment, the tape can be rewound and ready to play before the user
`
`returns. The requirement that the user should not wait is fulfilled here, but
`
`is subject to the constraint he is gone for at least one minute.
`
`Three steps must be taken before rewinding the first VCR. First, to
`
`simplify the switching between outputs of the VCR's, the recorded material
`
`on the VCR's must contain an overlap. This overlap is taken care of by
`
`recording on the second VCR during the first 44 seconds. However, VCR 2's
`
`counter is set so that the code only thinks that it has recorded for six seconds.
`
`This way VCR 2 will not be rewound passed the switch point. The second
`
`step is to stop VCR 1. Once the 'stop' signal is sent, the software waits for two
`
`seconds to insure that the VCR will have time to react to the 'stop' signal
`
`before the software sends another signal. The third step is to send the 'pia y'
`
`signal so that when the tape needs to be rewound, it will be in search rewind
`
`mode instead of rewind mode. The difference may seem subtle but it is very
`
`important. The first goal of the software, knowing each VCR's state, is
`
`dependent upon receiving accurate control pulse inputs. The only way to
`
`obtain accurate information from the video tape is to have the video head
`
`touching the tape. In play and record modes, the head is always in contact
`
`with the tape. So whenever the tape is being moved, the VCR has to be in
`
`9
`
`Dish, Exh. 1002, p. 12
`
`

`
`either play, record, search forward, or search rewind. Figure 6.1 is a diagram
`
`of these steps.
`
`beginning of
`Rewind time tapf reached
`.....
`.......
`Time
`
`REWIND
`
`STOP
`
`button
`pushed
`
`VCR 1
`
`35 sec.
`
`9 sec.
`overlap
`
`~ s 7 sec.
`
`STCP PLAY
`
`VCR 2
`
`VCR 3
`
`Time
`
`Time
`
`Figure 6.1 Initial Record and Rewind Sequence
`
`After another delay of seven seconds, VCR 1 is rewound. Each frame
`
`that is encountered during the rewind is counted and compared to the
`
`number of frames recorded. When they are equal, the beginning of the
`
`recording has been found and the VCR is sent the signal to stop. The time it
`
`10
`
`Dish, Exh. 1002, p. 13
`
`

`
`In stop
`rrme
`
`VCR 1
`
`PLAY
`
`SfCP
`blank screen
`
`I I I
`r vertap •
`recording ~
`• ~
`
`VCR 2
`
`•
`
`STOP PLAY REWIND
`
`PLAY
`
`(A) Too much material was recorded to rewind in time
`resulting in a break in the playback
`
`In stop
`mode
`
`VCR 1
`
`PLAY
`
`overlap~ I I
`
`VCR 2
`
`STCP
`
`STOP PLAY REWIND
`
`PLAY
`
`(B) Recording limit was not exceeded resulting in
`a smooth playback
`
`Time
`
`Time
`
`Time
`
`Time
`
`Figure 6.2 Switching Timing Problem (A) and Solution (B)
`
`1 1
`
`Dish, Exh. 1002, p. 14
`
`

`
`takes to rewind is stored for future use. Figure 6.1 also shows these actions.
`
`At this point, the user could return and immediately view the portion he
`
`missed.
`
`By setting the minimum pause time at only one minute, not only have
`
`I limited the amount of material that can be recorded on the first VCR but
`
`also the second VCR Since the first VCR only has 44 seconds of video to play
`
`when the user returns, the second VCR only has 44 seconds to rewind. This
`
`problem and its solution are illustrated in figures 6.2a and b. The amount of
`
`material that can be recorded on VCR 2 is dependent upon the rewind speed.
`
`The rewind speed is found by dividing the rewind length by the rewind time
`
`found when VCR 1 was rewound. The limit for recording on VCR 2 in
`
`seconds is:
`
`(44 - 8) * rewind time
`
`where the eight corresponds to the set-up time necessary to find the
`
`beginning of each recorded section.
`
`For very short pause times, this limit will not be reached (See figure
`
`6.3a). For these cases, the first VCR is told to play while the third VCR records
`
`the nine second overlap of VCR 2. After the overlap, the second VCR is
`
`stopped and rewound using the same search rewind procedure that was used
`
`for VCR 1.
`
`When the pause times exceed the recording limit for VCR 2, a different
`
`path is follow~d (figure 6.3b). Once this limit is reached, the overlap time for
`
`the third VCR is set to be six seconds. VCR 2 is then stopped but not
`
`rewound. Just as there was a minimum pause time, there is also a maximum
`
`12
`
`Dish, Exh. 1002, p. 15
`
`

`
`con't from
`fig. 4.1
`
`:
`
`button pressed
`again
`
`,con't on fig 4.4
`
`VCR 1
`
`VCR 2
`
`rewinding! st~o_rt_p_a_u_s_e~l----------------------------~---------4--~
`rverlap I I I
`
`,
`STOP'
`' '
`
`recording
`
`PLAY
`
`Time
`
`Time
`
`REWIND
`STOP
`PLAY
`
`VCR 3 re_c_o_rd_in_g--------------------------------------------~4--·
`Time
`
`Figure 6.3a User returns before VCR 2's recording limit
`
`con't from
`fig. 4.1
`
`button pressed
`again
`
`con't on fig 4.4
`
`'
`
`rewinding I i·lo_n ... g ... p_a_u_se ___ +-----------------.:·-----4e-•
`
`VCR 1
`
`,
`STOP'
`
`overlap
`
`PLAY
`
`VCR 2
`
`recording
`
`I I I I
`
`STOP
`
`PLAY REWIND
`
`Time
`
`Time
`
`VCR 3 re_c_o_rd_in•g---.--------------------------------._--------~--·
`Time
`
`Figure 6.3b User returns after VCR 2's recording limit
`
`1 3
`
`Dish, Exh. 1002, p. 16
`
`

`
`pause time. This constraint results from using sixteen bit counters counting
`
`thirty frames a second. z16 is reached in 36 minutes.
`
`When the user finally returns, the first VCR is told to play and then the
`
`second goes into search rewind. At this point, both paths will meet again.
`
`Once the beginning of VCR 2's recorded segment is found, the signal
`
`'play' is sent. This is unlike the first VCR because the second VCR needs to
`
`find the exact frame where switching will take place. Finding this frame and
`
`switching VCR's is a five step process shown in figure 6.4. The VCR is
`
`can't from
`fig. 4.3
`
`.
`
`can't on
`. fig. 4.5
`
`~
`
`VCR 1 p_la.yi_ng--~--------------------------------~:f-+!:~
`'
`'
`Time
`'STOP
`'
`
`~
`~
`'
`'
`'
`
`' '
`rewinding'
`
`VCR 2
`
`(VCR 3 is recording)
`
`beginning of
`recorded segment
`found
`
`2 sec.
`
`-4 sec. of waiting
`
`2 sec.
`
`PLAY
`
`PAUSE
`
`PLAY
`
`SWITCH VCR
`OUTPUT TO
`VCR2
`
`Figure 4.4 Sequence to switch outputs of VCR's
`
`....
`,..,...
`Time
`
`allowed to play to the frame two seconds before the switching point, where it
`
`is paused (the normal pause function). While VCR 2 is in pause mode, the
`
`1 4
`
`Dish, Exh. 1002, p. 17
`
`

`
`software waits for the segment playing on the first VCR to get near its end.
`
`When the ftame on VCR 1 is eight frames behind VCR 2's position, VCR 2
`
`continues playing. After two seconds, VCR 1 will have caught up to VCR 2
`
`and the output to the TV is switched from VCR 1 to VCR 2. These switches
`
`are fairly accurate so as to meet the fourth requirement of the circuit -- that
`
`the user does not realize this is not a live broadcast. After the switch has been
`
`made, VCR 1 is stopped.
`
`6.2.3 The Playback Loop
`
`The software then enters the third section, the loop. The loop is a
`
`series of eight steps that are repeated until the stop button on my circuit is
`
`pressed (See figure 6.5). The process consists of recording an overlap, search
`
`rewinding, finding the frame upon which switching will take place, then
`
`switching the VCR outputs, and finally stopping the VCR that finished
`
`playing. This process is very similar to that used for VCR 2. After each pass
`
`through the loop, the commands are switched so that each VCR cycles
`
`through this process. In figure 6.5, the commands given for the second pass is
`
`given in parentheses beneath the first pass commands.
`
`During the loop, the user is allowed to fast forward through parts of the
`
`recorded video, thus fulfilling the fifth requirement. To fast forward, the fast
`
`forward button on my circuit is pushed to start the fast forward mode, and it
`
`is pushed again to end this mode. However, there are restrictions. If any
`
`VCR is rewinding or is within eighteen seconds of rewinding, the fast
`
`forward function is not possible, since breaks would develop when the VCR's
`
`are switched.
`
`15
`
`Dish, Exh. 1002, p. 18
`
`

`
`EXITS LOOP ON ).
`STOPBUlTON
`PUSHED BY THE
`USER AT ANY
`TIME IN THE LOOP
`
`Figure 6.5 Flowchart of the loop
`
`Chapter 7. Hardware Design
`
`7.1 Hardware Requirements
`
`The hardware has two duties : implernenting the control signals
`
`generated by the software to work the VCR and receiving and configuring the
`
`inputs to a form the software can use. To implement the control signals, the
`
`circuit was connected to the internal circuits of the VCR. For the VCR to react
`
`16
`
`Dish, Exh. 1002, p. 19
`
`

`
`to my circuit's control, the signals that are used by the VCR to produce certain
`
`functions had to be duplicated. The duplication had two requirements. The
`
`first is that my circuit needed to output the correct voltages. Thus to produce:
`
`a 'stop' command, a signal of zero volts needed to be sent to the VCR. The
`
`voltage requirements are listed in table 7.1. The second requirement for
`
`Table 7.1
`Voltages That Produce VCR Functions
`
`FUNCTION
`
`VOLTAGE
`
`Stop
`Pause
`Play
`Rewind
`Fast Forward
`Record
`No Function
`
`o.oov
`o.sov
`1.00 v
`1.50 v
`2.30V
`3.50V
`5.10 v
`
`duplication was that the voltages needed to be stable for a at least a quarter of
`
`a second. The reason for this is to insure that the VCR will have enough
`
`time to see the command. This means that a voltage cannot be generated and -
`
`replaced within a quarter of a second. The second duty of the hardware also
`
`has two requirements. These are that the software should receive all inputs
`
`and that the software should only have to look at each input once. When
`
`these two requirements are met, the amount of code necessary is greatly
`
`reduced.
`
`17
`
`Dish, Exh. 1002, p. 20
`
`

`
`7.2 Hardware Organization
`
`7.2.1 The Controller
`
`The hardware is implemented in four sections that are shown in a
`
`block diagram in figure 7.1 (Also see appendix B for the schematics). The first
`
`STOP BlJITON
`
`...
`- CONTROLLER
`
`CXM'RCl.
`SIGNALS
`
`..
`-
`
`REGISTERS
`
`~~
`
`SYNCHRONIZED
`SIGNALS
`
`PAUSE BUTTON
`
`FAST FORWARD
`BUTTON
`
`... -
`... SYNCHRONIZATION
`-
`t
`CXM'RCl.
`PULSES
`
`SWITCH
`CCNTRl..
`SIGNAL
`
`,,
`
`CXNTRCl..
`SIGNALS
`
`,,
`
`SWITCHES
`
`I
`I + FUNCTION
`\O..TAGES
`
`VCR'S
`
`Figure 5.1 Hardware Block Diagram
`
`18
`
`Dish, Exh. 1002, p. 21
`
`

`
`section is the controller. This section is comprised of the Intel 8751
`
`microprocessor and a 16R8 pal. Its function is to keep track of the state of each
`
`of the VCR's and output certain signals based on these states. The state of
`
`each VCR is determined by the software encoded in the 8751. The software
`
`also produces the output signals. It does this by writing data to its output
`
`ports. The pal produces the load signals used to store these signals in the
`
`second section. The pal also determines whether my circuit should have
`
`control of the VCR's functions or not though its output 'cntl on.'
`
`7.2.2 The Registers
`
`The second section is made up of four registers. The sole purpose of
`
`these registers is to hold the control signals sent from the microprocessor. As
`
`explained above, any inputs to the VCR's need to be stable for a least a quarter
`
`second. It is impossible for the microprocessor to meet this requirement by
`
`itself since the written data is only valid for a very short time (approximately
`
`one microsecond). The registers can hold the data for a much longer period
`
`and thus provide the stability that is necessary.
`
`7.2.3 The Switches
`
`The third section uses the output of the registers to produce a signal the
`
`VCR's can understand and will react to. The signals that need to be produced
`
`are the voltages listed in Table 7.1. To produce these voltages, a set of resistors
`
`in series with switches placed at each of the nodes are used. Three resistor(cid:173)
`
`switch groups were used, each one corresponding to one VCR. The resistors
`
`are connected to pins within the VCR and each switch has its 'on' input
`
`19
`
`Dish, Exh. 1002, p. 22
`
`

`
`connected to ground. The resistors form one half of a voltage divider, with
`
`the other half inside the VCR. By turning on any of the switches and thus
`
`connecting a node to ground, the voltage divider is changed as is the voltage
`
`sent to the VCR. Each switch produces a voltage corresponding to a VCR
`
`function such as 'play' or 'rewind', so turning on the 'record' switch is the
`
`same as pushing the 'record' button on the VCR control panel.
`
`This section must also be able to switch control from the VCR control
`
`panel to my circuit, and vice versa. My circuit should be connected to the
`
`VCR circuitry when the pause function is in use, but the VCR should
`
`maintain control of its functions when the pause function is not being used.
`
`To be able to electronically choose between control sources, switches are
`
`connected to both the VCR and my circuit and are controlled by the 'cntl on'
`
`output of the pal. This arrangement is shown in figure 7.2.
`
`VCR input (In this postion
`when circuit is not in use
`so that the VCR control
`_. ____ ;/"_CFF ,.•---..... p panel is usable)
`
`VCR input
`
`• My circuit hook up (gives
`-•,...--..4• control of VCR functions
`It is only
`to my circuit.
`connected when pause function
`is in use)
`
`Figure 5.2 VCR Function Control Switch
`
`20
`
`Dish, Exh. 1002, p. 23
`
`

`
`7.2.4 The Synchronization Section
`
`Aside from outputting signals, my circuit is constantly receiving
`
`signals both from the VCR and the user. The VCR sends control signals to
`
`my circuit so that position information can be determined. The user can send
`
`three signals to my circuit. These signals are 'television pause', 'fast forward',
`
`and 'stop.' The duration and occurrence of these signals can vary greatly.
`
`The software is written so that each signal is only seen once, so the final
`
`section of the hardware is used to synchronize and configure the inputs to a
`
`form that can be used by the software. The section uses four pals to
`
`accomplish the synchronization. The pals use a scheme where the input is
`
`held until the software wants to use it. The pals wait until the input signal is
`
`unasserted before they look at the signal again, thus eliminating the problem
`
`of multiple reads of the same signal.
`
`8. Implementation
`
`In implementing the 'television pause' function, I had to transfer
`
`control from each VCR to my circuit, assemble the assembler code, and debug
`
`my circuit. Debugging the circuit and assembling the code are fairly standard
`
`and do not need to be explained. In transferring control to my circuit, wires
`
`within each VCR needed to be cut and rewired within my circuit. The VCR
`
`schematics in figures 6.1 and 6.2 show the connections made to the insides of
`
`the VCR's. The switches shown on board 29 in figure 6.1 are buttons on VCR
`
`control panel. The lines were cut at the input of board 30 because the wires
`
`21
`
`Dish, Exh. 1002, p. 24
`
`

`
`were the most accessible at this point. Emulating the functions of board 29
`
`and 30 required little more than relays, resistors and a diode making this
`
`board a good choice. By cutting these wires I disabled many of the buttons on
`
`the control panel, but by hooking them up as shown in figure 7.2, the buttons
`
`were reactivated when the 'television pause' function is not in use. All the
`
`functions that my circuit needed to use, were controlled by placing signals on
`
`the five lines shown in figure 6.1. Figure 6.2 shows the point where I
`
`soldered to get the record and play control pulses.
`
`9. Applications
`
`This circuit has two main uses. One use is that it allows the user to
`
`miss a portion of a television program and be able to view the remaining
`
`program upon returning. The circuit can also be used as a commercial
`
`eliminator. By pushing the 'pause' button at the beginning of the show and
`
`returning ten minutes later, the user will be viewing the show from video
`
`tape. When a commercial is reached, the 'fast forward' button should be
`
`pushed. My circuit will then tell the VCR to search in fast forward mode.
`
`When the commercials are over, the 'fast forward' button is pushed again, so
`
`that my circuit knows to end the search mode. By allowing the user to fast
`
`forward through unnecessary portions, he will be able to approach real time
`
`and thus save viewing time.
`
`22
`
`Dish, Exh. 1002, p. 25
`
`

`
`10. Possible Additions
`
`One feature that could be added to this circuit is a multiple pause
`
`feature. Using this feature the user could miss a section of the program,
`
`return to watch a portion of the program, then repeat this process as many
`
`times as needed. A good deal of software would have to be written but it
`
`would not require any additional hardware since the 'pause' button could be
`
`used.
`
`Once digital encoding of video becomes more prevalent and less
`
`expensive, a digital recording technique should be used in place of the VCR's.
`
`If the search time of a disk became fast enough to switch within a time much
`
`less than the vertical sync of a TV sig

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket