Abstract:
A system for delivering selective VCR control codes to programmable settop terminals over a CATV communication system includes a headend for storing and transmitting VCR control code information to the settop terminals and a plurality of settop terminals for receiving the control codes. The CATV communication system delivers the VCR control codes to individual subscribers within the vertical blanking interval of one of the broadcast channels or over a control data channel. A set-up procedure is required for each VCR to determine the appropriate set of VCR control codes. Upon determining the specific type of VCR the subscriber has, the VCR control codes transmitted through the CATV system are stored in the settop terminal in non-volatile memory. Since the settop terminal only stores the VCR control codes for a single type of VCR, memory requirements are minimized.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates generally to cable television (CATV) communications systems. More specifically, the invention pertains to a system and method for delivering selective infrared blaster VCR control codes to settop terminals over a CATV communication network. 
     2. Description of Related Art 
     CATV operators typically provide their consumers with a settop terminal, which is the interface between the CATV communication network and the consumer&#39;s television. Although most of today&#39;s televisions and VCRs are &#34;cable ready&#34; and have broadband tuners able to tune to the entire CATV spectrum, settop terminals are still required for a consumer to access all of the services offered by the CATV provider. Settop terminals are used to descramble premium service channels, enable viewing of pay-per-view events and facilitate interactive communications with the headend of the CATV communication system. 
     The use of settop terminals, however, creates difficulties for many consumers and often results in frustration for consumers due to the inconvenience of using the settop terminals in conjunction with a consumer&#39;s other home entertainment devices. For example, in order for a consumer to use their VCR to record a program being transmitted over the CATV system, the consumer must typically coordinate the settings of the VCR, the television and the settop terminal. If any of these components are not set correctly, i.e. turned on and tuned to the correct channel, the attempt at recording the program will be unsuccessful. The consumer is also faced with utilizing three different remote controls; one for the settop terminal, one for the VCR and one for the television. This can be very frustrating and confusing for consumers. 
     Manufacturers of CATV settop terminals have attempted to simplify the coordination of these electronic components and ease the burden on consumers by providing settop terminals which directly control a VCR. This is typically performed by incorporating an infrared (IR) blaster, essentially an IR transmitter, into the settop terminal which transmits control instructions from the settop terminal to the VCR. The level of complexity for the consumer is substantially reduced since only the settop terminal must be controlled. Using a single IR remote control, the consumer can switch television channels, program the VCR and perform many other tasks in a simplified manner. 
     There are several drawbacks to current settop terminals which include an IR blaster. One of the primary drawbacks is that there are many different types of VCRs and a correspondingly large number of different control codes. To be compatible with all VCRs, each settop terminal must include a library of VCR control codes for all VCRs. This requires a large memory within the settop terminal to store a database of all VCR control codes. Since the price of memory is a large percentage of the cost of a settop terminal, a large memory directly contributes to the increased costs of a settop terminal. It has become imperative to reduce the amount of required memory in order to reduce the overall costs of settop terminals. 
     A second drawback to current settop terminals is that the database of VCR control codes is static. After the settop terminal is manufactured and the memory programmed, the data is fixed as of that date. The information becomes obsolete as new VCRs with different control codes are manufactured. A settop terminal will be unable to control VCRs which utilize new or different VCR control codes manufactured after the programming of the settop terminal. 
     Accordingly, there exists the need for a settop terminal which efficiently utilizes memory and which includes a dynamic VCR control code database. 
     SUMMARY OF THE INVENTION 
     The present invention is a system and method of delivering selective VCR control codes to programmable settop terminals over a CATV communication system. The CATV communication system delivers the VCR control codes to individual subscribers through their settop terminals. A set-up procedure is required for each VCR to determine the appropriate set of VCR control codes. Upon determining the specific type of VCR the subscriber has, the VCR control codes transmitted through the CATV system are stored in the settop terminal in non-volatile memory. Since the settop terminal only stores the VCR control codes for a single type of VCR, the memory requirements are minimized. 
     Accordingly, it is an object of the present invention to provide a CATV settop terminal which efficiently utilizes memory by receiving VCR control codes over a CATV communication network. 
     Other objects and advantages of the invention will become apparent to those skilled in the art after reading the detailed description of a presently preferred embodiment. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a simplified view of a CATV transmission network; 
     FIG. 2 is a headend made in accordance with the teachings of the present invention; 
     FIG. 3 is a settop terminal made in accordance with the teachings of the present invention; 
     FIG. 4 is the graphical user interface; 
     FIG. 5 is a flow diagram of the preferred embodiment of the settop terminal initialization procedure; 
     FIGS. 6A and 6B are flow diagrams of the VCR validation procedure; 
     FIG. 7 is a flow diagram of the VCR program procedure; and 
     FIG. 8 is a flow diagram of an alternative embodiment of the settop terminal initialization procedure. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The preferred embodiment will be described with reference to the drawing figures wherein like numerals represent like elements throughout. 
     A CATV communication system 10 embodying the present invention is shown in FIG. 1. The communication system 10 comprises one or more information providers 14 which communicate via satellite uplinks 23 with a plurality of headends 12. Each headend 12, in turn, communicates with a plurality of settop terminals 20 which are located in the home of a consumer. The settop terminal 20 receives transmissions from the headend 12 through the CATV transmission network 22. The transmission network 22 may comprise a standard coaxial network, a hybrid fiber-coax network or a &#34;wireless cable&#34; network employing microwave antennas and receivers. The settop terminal 20 provides the interface between the consumer&#39;s television 21 and the communication system 10. 
     Referring to FIG. 2, a headend 12 made in accordance with the teachings of the present invention is shown. The headend 12 receives video, audio and data content from remote service providers 14 and retransmits this information over the CATV transmission network 22 in a manner that is well known to those of skill in the art. The headend 12 may also be the origination source of local program content. It should be apparent to those skilled in the art that the headend 12 of a CATV system includes many components which are outside the scope of this invention. The foregoing description will only include a detailed description of the components relevant to the present invention. 
     In accordance with the present invention, the headend 12 includes a microprocessor 100 which is coupled to an electronic storage device 102 such as a PC hard drive, or any other suitable type of memory, and a data transceiver 112. The storage device 102 includes a database of information related to all VCRs including manufacturers 104, model numbers 106 and the corresponding VCR control codes 108, 110. The data transceiver 112 is further coupled with a data inserter 114 which combines the data with the video audio and data content 116 for transmission to consumers over the CATV network 22. The database of VCR information is continually or periodically updated by downloading current data into via a modem (not shown) or a floppy disk. 
     Referring to FIG. 3, a settop terminal 20 made in accordance with the present invention is shown. The settop terminal 20 includes a system processor 101, a tuner 113, a data receiver 115, video and audio processors 117, 118, two types of memory 119, 121 and an IR remote interface 123. A system bus 125 facilitates communications between components within the settop terminal 20. 
     The data receiver 115 provides a data interface between the control system processor 101 and the CATV headend 12. The data receiver 115 receives out-of-band downstream data transmissions over a data-only channel, typically known as the control data channel (CDC), from the headend 12. Optionally, the data receiver 115 may be coupled with a data transmitter 103 which permits transmission of communications upstream from the settop terminal 20 to the headend 12 if interactive communications are desired. 
     The system processor 101 provides overall control of the settop terminal 20. The system processor 101 receives start up functions from the read only memory (ROM) 119 upon power-up and stores data, control information, and any executable instructions or programs sent from the headend 12 in the random access memory (RAM) 121. As will be explained in detail hereinafter, control information from the headend 12 includes the VCR control codes which are stored in RAM 121. 
     The tuner 113 is responsive to the frequency of the channel selected by the consumer to remove the carrier signal. Audio and video content is processed through the audio processor 117 and the video processor 118, respectively, in a manner which is well known to those skilled in the art. The baseband video signal is typically placed on a second carrier frequency corresponding to television channels 3 or 4 to provide a video output 120. Left and right channel audio outputs 122, 124 are also provided for input into a stereo (not shown) or the audio inputs of a consumer&#39;s television 21, if so equipped. 
     Data is transmitted from the headend 12 to the settop terminal 20 in the following manner. The headend 12 continuously transmits the entire database of information relating to VCR manufacturers 104, model numbers 106, control data 108 and programming data 110 in a repeating data stream. Preferably, the data stream is inserted by the data inserter 14 within lines 20 or 22 of the vertical blanking interval (VBI) of programs transmitted over a specific broadcast channel. The settop terminal 20 extracts the data from the VBI for further processing as will be described in detail hereinafter. Alternatively, the data may be transmitted within the VBI of all broadcast channels, or over the out-of-band CDC channel. When the CDC is utilized to transmit the VCR control codes information, the data receiver 115 extracts the data for further processing. 
     A consumer utilizes the system of the present invention upon initial installation of the VCR. Operation of the settop terminal 20 is simplified through the use of a graphical user interface (GUI) which displays all of the available choices on the television screen and prompts the consumer to select among the available choices as shown in FIG. 4. The use and operation of GUIs are well known to those of skill in the art. The consumer scrolls through the available choices by using the IR remote controller 126, and makes a selection using the buttons on the IR remote controller 126. Alternatively, choices may be input using a touchpad (not shown) located externally on the settop terminal 20. If a consumer desires to initialize the settop terminal 20 for a new VCR or reinstall the program for an existing VCR, option 1 must be selected. 
     Referring to FIG. 5, the procedure 200 for setting up the settop terminal 20 for a specific VCR in accordance with the preferred embodiment of the present invention is shown. As the headend 12 continuously transmits the VCR control codes (step 201), the consumer selects the &#34;SET-UP NEW VCR&#34; option from the main option menu shown in FIG. 4 (step 202). The settop terminal 20 must then access the VCR data stream. If the data is embedded within the VBI, the settop terminal 20 tunes to the broadcast channel wherein the data is embedded (step 203). The settop terminal 20 then extracts the set-up procedure and the list of manufacturers from the data stream (step 204). The set-up procedure is a routine that the settop terminal 20 implements in order to download the VCR control codes 108, 110. After this information has been downloaded into RAM 121, the settop terminal 20 displays a list of VCR manufacturers 104 and prompts the consumer to select the manufacturer of the consumer&#39;s VCR (step 206). The consumer selects the appropriate manufacturer (step 208) and the settop terminal 20 extracts, from the data stream, the list of model numbers 106 and corresponding VCR control codes 108, 110 for the manufacturer selected by the consumer (step 210). Since the list of manufacturers 104 is no longer needed, the list of model numbers 106 and corresponding VCR control codes 108, 110 overwrites the manufacturer information, thus conserving the amount of required RAM 121. The list of model numbers 106 is displayed tc the consumer and the consumer is prompted by the settop terminal 20 to select the appropriate model number for their VCR (step 212). The consumer selects the appropriate model number (step 214) and the settop terminal 20 saves only the VCR control codes 108, 110 for the selected VCR model number (step 216). 
     The settop terminal 20 enters a VCR control code validation procedure (step 218) which confirms that the consumer has selected the proper manufacturer and model number for their VCR. This will be explained in detail hereinafter with reference to FIGS. 6A and 6B. If the consumer does not know the model number of their VCR, the consumer may select the first choice and enter the VCR validation procedure (step 218) to determine if their selection is correct. If the selection is incorrect, the consumer may return to step 212 and select one of the other available choices for that manufacturer. Although this method may be cumbersome, it provides an option for consumers who are unable to locate the model number. 
     In a first alternative embodiment, which further conserves the amount of required RAM 121 and ROM 119, the list of manufacturers 104 and model numbers 106 may be extracted by the settop terminal 20 in smaller groups. For example, the first ten manufacturers 104 may be loaded into RAM 121. When the consumer confirms that the displayed list of VCR manufacturers 104 does not include the manufacturer of their VCR, the next ten manufacturers 104 are then extracted and loaded into RAM 107. The model numbers 106 may also be extracted in small groups and treated in the same manner. 
     In a second alternative embodiment, the settop terminal 20 may simply prompt the consumer to input the manufacturer 104 and model number 106, thus eliminating the need for a lengthy procedure to extract the manufacturer 104 and model number 106 information. 
     Referring to FIGS. 6A and 6B, the procedure (step 300) for validating the VCR control codes 108, 110 in accordance with the present invention is shown. The settop terminal 20 first instructs the consumer to insert a tape into the VCR and turn the VCR off (step 302). The settop terminal 20 transmits the &#34;VCR ON&#34; control code to the VCR (step 304). The settop terminal 20 queries whether the VCR has been turned on (step 306) and the consumer selects YES or NO to confirm or deny that the VCR has been turned on (step 308). If YES has been selected (step 310); the settop terminal 20 transmits a &#34;TUNE VCR CHANNEL&#34; control code to tune the VCR to a selected channel (step 312). The settop terminal 20 queries whether the VCR has been correctly tuned (step 314) and the consumer selects YES or NO to confirm or deny that the VCR has been tuned to the selected channel (step 316). If YES has been selected (step 318), the settop terminal 20 transmits a &#34;START RECORDING&#34; control code to the VCR (step 320). The settop terminal 20 queries whether the VCR has started recording (step 322) and the consumer selects YES or NO to confirm or deny that recording has begun (step 324). If YES has been selected (step 326), the settop terminal 20 transmits a &#34;STOP RECORDING&#34; control code to the VCR (step 328). The settop terminal 20 queries whether the VCR has ceased recording (step 330) and the consumer again selects YES or NO to confirm or deny that recording has ceased (step 332). If YES has been selected (step 334), the settop terminal 20 transmits a &#34;VCR OFF&#34; control code to the VCR (step 336). The settop terminal 20 queries whether the VCR has turned off (step 338) and the consumer selects YES or NO to confirm or deny that the VCR has been turned off (step 340). If YES has been selected, the procedure has been successfully completed and VCR control codes are correct (step 344). If the consumer selects NO in response to any query, (steps 310, 318, 326, 334 and 342), the procedure is terminated (step 346) since the VCR control codes are incorrect for the particular VCR being installed are incorrect. If the consumer notes that the VCR has not performed each designated task, the consumer must return to the main selection menu and reset-up the VCR. 
     In accordance with the present invention, the settop terminal 20 and VCR are properly coordinated to record any programs selected by the consumer. The procedure for recording a program utilizing the settop terminal 20 (step 400) is shown in FIG. 7. The consumer selects the &#34;RECORD PROGRAM&#34; option on the main selection menu as shown in FIG. 4 (step 402). The settop terminal 20 enters the record program routine (step 404) and prompts the consumer for the desired channel (step 406). The consumer enters the desired channel (step 408) and this channel is stored in the settop terminal 20 (step 410). The settop terminal 20 then prompts the consumer for time-on and time-off data (step 412) which the consumer enters (step 414) and the settop terminal 20 stores (step 416). The settop terminal 20 then prompts the consumer for the date of the desired recording (step 418). The consumer enters the date (step 420) and the settop terminal 20 stores the date (step 422). From this point, the tasks performed by the settop terminal 20 are transparent to the consumer. On the selected date and time, the settop terminal 20 turns on the VCR, tunes the VCR to the selected channel and starts the VCR recording (step 424). At the end of the selected time, the settop terminal 20 stops the VCR recording and turns off the VCR (step 426). 
     The aforementioned embodiments may be implemented using a unidirectional CATV communication network, wherein communications are transmitted only from the headend 12 to the settop terminal 20. In a third alternative embodiment, an interactive system utilizes the bidirectional CATV communication network 22. In this embodiment, the microprocessor 100 within the headend 12 comprises an interactive server which responds to information requests by the settop terminal 20 and the data receiver 115 within the settop terminal 20 is coupled with a data transmitter. 
     Referring to FIG. 8, the procedure 500 for interactively setting up the settop terminal 20 for a specific VCR in accordance with the third alternative embodiment of the present invention is shown. The consumer selects the &#34;SET-UP NEW VCR&#34; option from the main option menu shown in FIG. 4 (step 502). The settop terminal 20 requests a download of the set-up procedure and the list of manufacturers from the headend 12 (step 504). This information is transmitted to the requesting settop terminal 20 via an addressable data stream, either within the VBI or the CDC. After the information is downloaded into RAM 121, the settop terminal 20 displays a list of VCR manufacturers 104 and prompts the consumer to select the manufacturer of the consumer&#39;s VCR (step 506). The consumer selects the appropriate manufacturer (step 508) and the settop terminal 20 requests the headend 12 to download the list of model numbers 106 for the manufacturer selected by the consumer step 510). Since the list of manufacturers 104 is no longer needed, the list of model numbers 106 overwrites the list of manufacturers 104, thus conserving the amount of required RAM 121. The list of model numbers 106 is displayed to the consumer and the consumer is prompted by the settop terminal 20 to select the appropriate model number for their VCR (step 512). The consumer selects the appropriate model number (step 514) and the settop terminal 20 requests the headend 12 to download the VCR control codes 108, 110 for the selected VCR model number (step 516). Again, the VCR control codes 108, 110 overwrite the list of model numbers 106 which is no longer needed. The settop terminal 20 then enters a VCR validation procedure (step 518) which confirms that the consumer has input the proper manufacturer and model number for their VCR. This procedure was explained with reference to FIGS. 6A and 6B. This interactive embodiment is particularly suited for situations wherein it is desirable to minimize the amount of data being downloaded over the CATV communication network 22 since the data is only transmitted from the headend 12 upon request of the settop terminal 20. 
     Although the invention has been described in part by making detailed reference to the preferred embodiment, such detail is intended to be instructive rather than restrictive. It will be appreciated by those skilled in the art that many variations may be made in the structure and mode of operation without departing from the spirit and scope of the invention as disclosed in the teachings herein.