CONTROLLING VCR BY USING PERSONAL COMPUTER

Abstract: A system (10) that allows a personal computer (14) to remotely control the operation of a video cassette recorder (16). The system includes a radio frequency (RF) transmitter (28) connected to a personal computer (14). The personal computer (14) is programmed to generate a first VCR control signal that is transmitted by the RF transmitter (28) to a RF receiver (30) located within a transceiver base unit (32). The transceiver base unit (32) transmits a second VCR control signal, using an infrared transmitter (34), to the VCR in response to the first VCR control signal. The VCR control signals include commands to record, stop, play, etc. the video cassette recorder. The first VCR control signal can be transmitted in response to a control data signal that is inserted into the vertical blanking interval of a publicly broadcasted video signal that is received and decoded by the computer (14). The control data signal may contain program information which is used to trigger the transmission of the first VCR control signal.

Description: CONTROLLING VCR BY USING PERSONAL COMPUTER BACKGROUND OF THE INVENTION 1. FIELD OF THE INVENTION The present invention relates to a system for controlling a video cassette recorder from a personal computer. 2. DESCRIPTION OF RELATED ART Personal computers have been developed and marketed with the capability to receive and display publicly broadcasted television signals. The broadcasted video images may be displayed in a separate window that allows the user to watch television while performing other operations on the personal computer. It may be desirable to store the television signals in a disk drive of the computer. Analog video signals, once digitized, typically require a large amount of memory space on the disk. For this reason, storing television signals on the disk drive is generally undesirable. It would be desirable to store the video signals on a mass storage device such as a video cassette recorder (VCR) . It would also be desirable to control the operation of the VCR from a personal computer. Video cassette recorders are typically located in a different room than the personal computer. Therefore a system that controls a video cassette recorder through a personal computer would require routing a plurality of cables between the VCR and the computer. Routing cables can be both expensive and time consuming. It would be desirable to provide a system that allows a personal computer to remotely control the operation of a video cassette recorder. SUMMARY OF THE INVENTION The present invention is a system that allows a personal computer to remotely control the operation of a video cassette recorder (VCR) . The system includes a radio frequency (RF) transmitter connected to a personal computer. The computer is programmed to generate a first VCR control signal that is transmitted by the RF transmitter to a RF receiver located within a transceiver base unit . The transceiver base unit transmits a second VCR control signal to the VCR using an infrared (IR transmitter) in response to the first VCR control signal. The VCR control signals include commands to record, stop, play, etc. the video cassette recorder. The first VCR control signal can be transmitted in response to a control data signal that is inserted into the vertical blanking interval of a publicly broadcasted video signal that is received and decoded by the personal computer. The control data signal may contain program information which is used to trigger the transmission of the first VCR control signal. BRIEF DESCRIPTION OF THE DRAWINGS The objects and advantages of the present invention will become more readily apparent to those ordinarily skilled m the art after reviewing the following detailed description and accompanying drawings, wherein. Figure 1 is a schematic of a video cassette recording system of the present invention; Figure 2 is a schematic showing the layers of a video encoder; Figure 3 is a schematic showing the formatting of a video frame that is inserted into the video blanking interval of a video signal; Figure 4 is a schematic showing the formatting of a video packet; Figure 5 is a schematic showing the formatting of a message provided to the encoder; Figure 6 is a graphical user interface of a program map; Figure 7 is a graphical user interface showing a plurality of configuration fields; Figure 8 is a graphical user interface showing a tape replay dialog; Figures 9a-b are flowcharts showing the recording of a program; Figures lOa-b are flowcharts showing the scanning of television channels for program information. DETAILED DESCRIPTION OF THE INVENTION Referring to the drawings more particularly by reference numbers, Figure 1 shows a video cassette recording system 10 of the present invention. The system includes a broadcaster 12, a personal computer 14 and a video cassette recorder (VCR) 16. The video cassette recorder 16 receives a video cassette tape 18. The VCR 16 can read and write video signals onto the tape 18. The VCR 16 haε internal circuitry to perform start, stop, play, rewind, forward, etc. functions as is known in the art. The VCR 16 has a remote receiver 20 which can receive VCR control signals that control the various start, record, play, stop, etc. functions of the recorder 16. The remote receiver 20 may receive input signals in the infrared (IR) waveband. Alternatively, the remote receiver 20 may receive input signals in the radio frequency (RF) waveband. The video cassette recorder 16 is typically connected to a television receiver 21 which may also have a remote receiver (not shown) . The personal computer 14 includes a central processing unit (CPU) 22, a memory device 24 and a mass storage device such as a disk drive 26. The personal computer 14 may be connected to a printer 27. The computer 14 generates the first VCR control signal that is transmitted by a transmitter 28. The transmitter 28 may be a RF device. The first VCR control signal may be received by the receiver 30 of a transceiver base unit 32. Alternatively, the first VCR control signal may be received by the remote receiver 20 of the VCR. The transceiver 32 may have a transmitter 34 that transmits a second VCR control signal in response to the reception of the first VCR control signal. The second VCR control signal may be received by the remote receiver 20 of the VCR. In the preferred embodiment, the transmitter 28 and transceiver receiver 30 are RF devices. The transceiver transmitter 34 and VCR receiver 20 are preferably IR devices. The transceiver 32 can also generate control signals to control the television receiver 21, including signals to change the channels of the television 21. The broadcaster 12 may include a video signal source 36 that generates a video signal and a data signal source 38 that generates a data signal. The broadcaster 12 may also include a vertical blanking interval (VBI) inserter 40 that inserts the data signal into the vertical blanking interval of the video signal. The inserted video signal is transmitted by a transmitter 42. The VBI inserter 40 may be a unit sold by Norpak Corp. of Ottawa, Ontario, Canada under the model number TDS-3 or similar ones from Wavephone of Canada or EEG of New York. The data source 38 may generate data that corresponds to the program being broadcasted from the video source 36. By way of example, the data signal may include a title and a description of the broadcasted program. There has been developed a standard commonly referred to as XDS which defines the information which can be inserted into a vertical blanking interval of a video signal. The personal computer 14 is connected to a television receiver 44 which can receive the inserted video signal transmitted by the broadcaster 12. The receiver 44 contains a tuner that can tune to various broadcasted channels. The receiver 44 iε connected to a vertical blanking interval decoder 46 which separates the data signal from the video signal. The video signal may be connected to a NTSC decoder 48 which decoded the decoded video signal to a computer monitor 50. The separated data signal is provided to the CPU 22 for further processing. As shown in Figure 2, the format of the inserter 40 may have different application layers, including a transport layer 60, a network layer 62 and a datalink layer 64 which convert the program information into a serial data stream that can be inserted into the vertical blanking interval by the VBI inserter 40. The transport layer 60 provideε an interface with the data source 38. The network layer 62 packetizes the data. The datalink layer 64 serializes the packeted data for serial transmission to the VBI inserter 40. In the preferred embodiment, the data is provided to the VBI inserter in a Vt_Frame 70 shown in Figure 3. The Vt_Frame 70 includes a start frame field STX 72, a data packet field Vt_Packet 74, a check field CRC 76 and an end of frame character ETX 78. In the preferred embodiment, the Vt_Packet 74 is formatted as shown in Figure 4. The nPacketProtocal field 80 is a byte-length field which identifies the packet as one supported by the protocol . The nVersion field 82 specifies the type of inserter that is transmitting the packet. The nChanID field 84 is an integer value which provides the channel number of the packet in the serialized bitstream. The nMessagelD field 86 specifies the message number of the channel on which the packet is transmitted. The nPacketID field 88 defines the number of packetε in a particular meεsage. The fMorePackets field 90 specifies whether there are any more packets in the message. The fReserved field 92 is reserved for further use. The length of the data is specified in the nDataSize field 94. The nData field 96 contains the data. In the preferred embodiment, the data is typically provided to the inserter 40 by the data source in the format shown in Figure 5. The nMessageProtocal field 98 is a byte length field which identifies the type of transmission being provided. The nVersion field 100 identifies the verεion of the protocol. The flsHint field 102 indicates that the data is to precede an event such as a television program. The flsUPdate field 104 indicates whether the information is updating transmitted information. The fReserved field 106 iε unused and reserved for later use. The field nDataSize 108 specifies the number of bytes in the data field. The nOpcode field 110 define a particular operation to be performed with the data. For example, the operation may be a read memory command. The fReserved2 field 112 is not used and the bData field 114 contains the data. As shown in Figure 6, the personal computer 14 may contain a program that creates a graphical user interface program map 120 which is display by the computer monitor 50. The map 120 may be divided into a plurality of blocks that correspond to TIME and CHANNEL listings. The data signals inserted into the vertical blanking interval of the video signal may have program information that is displayed by the map 120. For example, the broadcaster 12 may periodically insert data that provides the title and a short description of the present broadcasted program plus three subsequent programs, and so forth and so on. The personal computer 14 receives the program information and displays the title and description within the appropriate block. The personal computer can continuously update the static map 120 with broadcasted program information. The user can record a program(s) by selecting the appropriate box(es) on the map 120. By way of example, the user can request a recording of a program on channel 2 that begins at 9:00 PM by selecting the box that corresponds to channel 2 and 9:00 PM. The program then stores the selection in memory. At a predetermine time interval before 9:00 PM the personal computer generates VCR control signals to initiate a recording sequence of the program with the video cassette recorder. The firεt VCR control signals can be generated when new program information is detected in the vertical blanking interval, indicating that a new program has begun. The selected programs can be highlighted to indicate which programs will be recorded. Each highlighted program may have a "drop box" 122 which list the title, start, recording time, etc. of the selected program. The drop box 122 may be reviewed by entering a command or double selecting the map block. As shown in Figure 7, the program may have a configuration dialog 124 which contains a user identification (ID) field 126, a video cassette tape ID field 128, a tape length field 130, a recording speed field 132 and a Program Guide command 134. The static map 120 can be viewed by selecting the Program Guide Command 134. The dialog 124 may also have a VCR type command 136 with a separate drop box 138 that list the various manufacturing brands of video cassette recorders. The personal computer may have a look up table that contains the various control signal protocols for the different VCRs. The correct control signals can be generated when the user selects the make of the VCR in the drop box 138. The dialog may contain a Print Label field 140 which when selected prints a label of the programs that are recorded. The dialog may also include a Parental Lock-in field 142 which when selected prevents recording or viewing of a program unless a valid password is entered. The static map 120 may include a password field 144 that receives a password. As shown in Figure 8, the program may include a dialog 150 that list the various programs that were recorded. The dialog 150 may have a plurality of tape slots 152 that each contain the start time and title of a recorded program. A recorded program can be viewed by the user by selecting a tape slot 152. In response to the selection of a tape slot 152, the computer generates VCR control signals to rewind the video cassette tape and then forward the tape (if required) to the location of the selected program. The dialog 150 may also have a Record command 154 that allows the user to select which part of the tape will be used for further recording. For example, the user may select PROGRAM 2 to be the slot in the tape where the next recorded program iε to be stored. The personal computer compares the length of the next recorded program selected by the user with the selected tape slot to insure that the tape slot haε enough εpace to store the entire program. If the next εelected program exceeds the time interval of the tape εlot, the program may provide a message to request the user to select another tape slot or another tape. Figures 9a-b show a flowchart of a process that records a program. In processing block 200 the user haε selected the appropriate entries in the configuration dialog, including the selection of program that is to be recorded. The personal computer sets the tuner of the receiver 44 to the selected channel in block 202. In decision block 204, the process determines whether the present time equals the start time of the selected program. The start time that is compared with the present time, may be slightly before the program start time to allow for the generation of control signals and the power, tuning, etc. of the VCR. If the times are equal, the process continues to decision block 206 to determine whether the vertical blanking data has changed. A change in the vertical blanking data is an indication that a new program has started. If the vertical blanking data has changed, the perεonal computer generates VCR control signals to turn on the VCR, select the appropriate channel and record the program in block 208. The process proceeds to decision block 210 which compares the present time with the end time of the selected program. When the times are equal the personal computer generates control signals to stop the VCR and store the program information in the dialog 150 in block 212. The program then determines whether the VCR should be turned off, factoring whether another program has been selected for recording and the time interval until the broadcasting of the selected program in decision block 214. If the VCR is to be turned off, the personal computer generates control signals to turn off the VCR. The procesε then proceedε back to block 200. Figures lOa-b show a flowchart of a personal computer process that scans the broadcasted channels to retrieve program information from the vertical blanking interval. The tuner of the personal computer is set to a first channel in processing block 250. The personal computer determines whether the channel is set in decision block 252. If the channel is set a timer is started in block 254. The value of the timer is co pared to a threshold time value in decision block 256. If the value of the timer iε less than the threshold value then the process proceeds to decision block 258 to determine if there is data in the vertical blanking interval. If there is vertical blanking data, the data is stored in the personal computer in block 260. If there is no data the procesε proceedε back to block 256. If the timer value is equal to the threshold value the process proceeds to decision block 262 to determine whether there is vertical blanking interval data. If there is vertical blanking data the data is stored in block 260. After the vertical blanking data iε εtored, or if there is no data aε determined in block 262, the tuner is incremented one channel in block 264. The process proceeds to decision block 266 which determines whether the channel is equal to a threshold value. If the incremented channel is equal to the threshold value the channel is decremented back to the original channel in block 268. After block 264 and 266 the process proceeds to block 250. The information stored in block 260 is used to fill the static map 120 of the program and may also be used to trigger a recording of a program. While certain exemplary embodiments have been described and shown in the accompanying drawingε, it iε to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that thiε invention not be limited to the εpecific constructions and arrangements shown and deεcribed, since various other modifications may occur to those ordinarily skilled in the art.

Claims: CLAIMS What iε claimed iε: 1. A system for remotely programming a video cassette recorder that has a remote receiver, comprising: a personal computer that generates a first VCR control signal; and, a tranεceiver that receiveε εaid first VCR control signal and transmits a second VCR control signal to the remote receiver of the video cassette recorder. 2. The system as recited in claim 1, wherein said personal computer includes a vertical blanking decoder which removes a control data signal from a video signal received by said personal computer, wherein said personal computer generates said first VCR control signal in response to said control data signal. 3. The system as recited in claim 2, wherein said control data signal includes program information regarding a publicly broadcasted program. 4. The system as recited in claim 3, wherein said personal computer compares said program information with previous program information, and said personal computer transmits said first VCR control signal if said program information does not match said previous program information. 5. The system as recited in claim 1, further comprising a radio frequency transmitter that transmitε εaid firεt control εignal and a radio frequency receiver that receives said first VCR control signal. 6. The system as recited in claim 5, wherein said transceiver has an infrared transmitter that generates said second VCR control εignal. 7. The system as recited in claim 1, wherein said first and second VCR control signalε include a εtart command to start recording a video εignal with the video caεεette recorder, and a stop command which terminates the recording of the video signal . 8. The system as recited in claim 1, wherein said first and second VCR control signals include a play command to start playing a recorded video signal with the video cassette recorder, and a stop command which terminates the playing of the video signal . 9. The system as recited in claim 3, wherein said personal computer continually scanε a plurality of televiεion channelε to receive a plurality of program information. 10. A system for remotely programming a video cassette recorder that haε a remote receiver in conjunction with a control data signal that is inserted into a vertical blanking interval of a publicly broadcasted video signal, comprising: a receiver that receives the video signal and the control data signal; a vertical blanking interval decoder that is connected to said receiver and which separateε the control data signal from the video signal; a personal computer that is connected to said vertical blanking interval decoder and which generateε a first VCR control signal in responεe to the control data signal; and, a transmitter that transmits said first VCR control signal . 11. The system as recited in claim 10, further comprising a transceiver that receives said first VCR control signal and transmits a second VCR control signal to the video cassette recorder. 12. The syεtem aε recited in claim 10, wherein εaid control data signal includes program information regarding a publicly broadcasted program. 13. The system as recited in claim 12, wherein said personal computer compares said program information with previous program information, and said personal computer transmits said firεt VCR control signal if said program information does not match said previous program information. 14. The system as recited in claim 11, further comprising a radio frequency transmitter that transmitε εaid first control signal and a radio frequency receiver that receives said first VCR control signal. 15. The system as recited in claim 14, wherein said transceiver has an infrared transmitter that generates said second VCR control signal . 16. The system as recited in claim 10, wherein said first and second VCR control εignalε include a start command to start recording a video signal with the video cassette recorder, and a stop command which terminates the recording of the video signal. 17. The system as recited in claim 10, wherein said first and second VCR control signals include a play command to start playing a recorded video signal with the video cassette recorder, and a stop command which terminates the playing of the video εignal. 18. The εystem as recited in claim 12, wherein said personal computer continually scanε a plurality of televiεion channelε to receive a plurality of program information. 19. A system for remotely programming a video cassette recorder that has a remote receiver, comprising: personal computer means for generating a first VCR control signal; transceiver means for receiving said first VCR control signal and transmitting a second VCR control signal to the remote receiver of the video cassette recorder. 20. The system as recited in claim 19, wherein said personal computer means includes a vertical blanking decoder which removeε a control data signal from a video signal received by εaid perεonal computer, wherein said computer generates said firεt VCR control εignal in reεponse to said control data signal. 21. The system as recited in claim 20, wherein said control data signal includes program information regarding a publicly broadcasted program. 22. The system aε recited in claim 21, wherein εaid perεonal computer compares said program information with previous program information, and said personal computer transmits said first VCR control signal if said program information does not match said previous program information. 23. The syεtem aε recited in claim 19, further compriεing radio frequency transmitter meanε for transmitting said first control signal and radio frequency receiver means for receiving said first VCR control signal. 24. The system as recited in claim 23, wherein said transceiver means has an infrared transmitter generates εaid second VCR control signal. 25. The system as recited in claim 19, wherein said first and second VCR control signals include a start command to start recording a video signal with the video cassette recorder, and a stop command which terminates the recording of the video signal. 26. The system as recited in claim 19, wherein said first and second VCR control signals include a play command to start playing a recorded video signal with the video cassette recorder, and a stop command which terminateε the playing of the video εignal . 27. The εystem as recited in claim 20, wherein said personal computer means continually scans a plurality of television channels to receive a plurality of program information. 28. A system for remotely programming a video casεette recorder in conjunction with a control data εignal that iε inserted into a vertical blanking interval of a publicly broadcasted video signal, comprising: receiver means for receiving the video signal and the control data signal; vertical blanking interval decoder meanε for separating the control data εignal from the video signal; perεonal computer meanε for generating a first control signal in response to the control data signal; and, transmitter meanε for transmitting said first VCR control εignal . 29. The system as recited in claim 28, further comprising transceiver means for receiving said first VCR control signal and transmitting a second VCR control signal to the video cassette recorder. 30. The system as recited in claim 28, wherein said control data signal includes program information regarding a publicly broadcasted program. 31. The system as recited in claim 30, wherein said personal computer means compares said program information with previous program information, and εaid perεonal computer transmitε said first VCR control signal if said program information does not match said previous program information. 32. The εystem as recited in claim 29, further comprising radio frequency transmitter means for transmitting said first control signal and radio frequency receiver means for receiving said first VCR control signal. 33. The system as recited in claim 29, wherein said transceiver meanε haε an infrared tranεmitter that generates said second VCR control signal. 34. The syεtem aε recited in claim 28, wherein said first and second VCR control signals include a start command to start recording a video signal with the video cassette recorder, and a stop command which terminates the recording of the video signal. 35. The system as recited in claim 28, wherein said first and second VCR control signalε include a play command to start playing a recorded video signal with the video cassette recorder, and a stop command which terminates the playing of the video signal . 36. The system as recited in claim 29, wherein said personal computer means continually scans a plurality of television channels to receive a plurality of program information. 37. A method for recording a transmitted video signal on a video cassette recorder, comprising the steps of: a) inserting a control data signal into a video signal; b) transmitting the video and control data signalε; c) receiving the video and control data εignals; d) separating the control data signal from the video signal; e) transmitting a first VCR control signal in response to the separated control data signal; and; f) recording the video signal in response to the first VCR control signal. 38. The method as recited in claim 37, further comprising the steps of receiving said first VCR control signal, and transmitting a second VCR control signal in response to said first VCR control signal. 39. The method as recited in claim 37, further comprising the steps of entering a program start time, comparing the program start time with a present time, and transmitting said first VCR control signal when the program start time equals the present time.

Inventors: BATCHELOR STEVE, PERRY BURT, BATCHELOR, STEVE, PERRY, BURT
Applicants: BATCHELOR STEVE, INTEL CORP, PERRY BURT, BATCHELOR, STEVE, INTEL CORPORATION, PERRY, BURT
Application year: 1997
Main classification: H04N5
IPC codes: H04N5, H04N7