Process for controlling a video recorder

Abstract: A learning remote control device for learning IR codes of remote units comprises a controlling means, a memory means connected to the controlling means, an IR transmission means, and a first IR receiving means connected to the controlling means, wherein the learning remote control device further comprises a second IR receiving means. A method for learning an IR codes of e.g. satellite boxes comprises the following steps: a) determining whether the incoming signal is of a pulse type or a modulated type; b) determining whether the incoming signal comprises toggle bits; c) determining the data codes; d) determining the transmission format; e) testing the learned codes and formats.

Description: The present invention relates to a process for controlling a video recorder. It is well known that consumer electronic devices can be controlled with the aid of a remote controller. It is also known that such a remote controller can be realised as learning remote control device, having a learning capability in which a remote-control signal can be stored in a memory after such remote-control signal has been received and analysed and can be reproduced for transmission on the basis of data stored in the memory. There are also known so-called satellite commanders, which are used e.g. in the video cassette recorders (VCR) TELEFUNKEN M9445. These commanders are able to control satellite/cable boxes for timer programming. Therefore the VCR has to store a vast number of infrared (IR) timing data codes for each individual satellite/cable box. This will take up a lot of memory space on the microcontroller of the VCR. As normally only a particular type of satellite/cable box is used, the remaining unused code results in a waste of memory space. Thus a more efficient way to store just the particular set of IR data for a satellite/cable box is desired. This necessitates a built-in learning remote feature on the VCR. The conventional portable learning remote control device on the market normally consists of complicated circuitry to capture the incoming IR signal. As costs play an important role in the profitability of a consumer good, a low-cost design of the built-in learning remote on the VCR is required. It is also often observed that the conventional learning remotes do not identify the toggle bits which are present in some IR signals. The German patent application DE 43 08 441 A1 shows a method and a device for remote control, comprising an IR receiver, a microprocessor, a keyboard, a memory, a display, an oscillator and a transmission photo diode. This known learning remote control device is able to learn toggle bits with different frequency ranges. The toggle bits are detected by comparing two sets of data at different times for the same key or command. The meaning of toggle bits is well described in DE 43 08 441 A1. That is why a detailed description in the present application is made just as it is necessary for the understanding of the present invention. The European patent application EP 0 380 371 A2 shows a memory remote control device which comprises a wave shaping circuit for shaping a received remote-controlled signal and for outputting a pulse signal and an envelope signal in the microcomputer capable of converting the remote-controlled signal into data for storage in a memory and of reproducing the remote-controlled signal on the basis of the data stored in the memory. This microcomputer comprises an input port for receiving the received remote-control signal, a determining circuit for determining whether or not the received remote-control signal is a remote-control signal of particular format on the basis of the pulse signal and the envelope signal, a memory capable of converting the remote-control signal into data and storing the data in the memory on the basis of the remote-controlled signal input to the input port in the event that the received remote-control signal has been the remote-control signal of particular format, and a reproducing circuit for reproducing the remote control signal of particular format on the basis of the data stored memory. These known learning remote control devices have the disadvantages that they have poor user interfaces in so far as they only have blinking LEDs or at best LCD displays, so that the learning process becomes complicated, and that their circuitry is too complicated. Patent application EP 0 320 067 A describes a reconfigurable remote control which has the ability to capture the signal of transmission devices of two different protocols. In order to help the user step through the capture sequence, information is displayed by way of an LCD display of the remote control or by a television. Another attempt to simplify the control of various devices with a single remote control has been proposed in U.S. patent No. 5,365,282. In this solution, a video recorder sends pre-stored test codes and monitors a possible feedback from other devices in order to automatically determine the control codes for these devices. It is therefore the object of the invention to provide a learning remote control device which can be used as part of a remote control unit or being incorporated e.g. in a VCR, TV or GEMSTAR G-code/Showview unit, which comprises a simple circuitry and provides a convenient user interface. This object is solved by the features of the independent claim 1. Preferred embodiment of the invention are given in the dependent claims. The process for controlling a video recorder according to the invention comprises the following steps: a) prompting a user to press a key on a remote control unit of a satellite/cable box ; b) receiving incoming signals from the remote control unit through infrared receiving means of the video recorder ; c) determining whether the signal incoming from the remote control unit of the satellite/cable box is of a pulse type or a modulated type; d) determining whether the signal incoming from the remote control unit of the satellite/cable box comprises toggle bits; e) determining data codes of the signal ; f) determining a transmission format of the signal ; and g) storing said determined data codes in memory means of the video recorder. Preferably the method starts with step a and ends at step e, wherein the order of the steps b, c and d is changeable. Normally, first the photo diode circuitry is activated with an appropriate setting of the switching means, so that first the pulse width or carrier period is determined. The carrier period is determined in the following way: When the first low signal comes in, a timer is started, which counts down a predetermined time period T, preferably 250 µs, a register W is incremented every time period t, t < T and preferably t = 8 µs, for a low signal and another register A is incremented every time period t, preferably t = 8 µs, for a high signal, when a transition from high to low occurs both registers W and A are cleared while another register C is incremented, so that after a time period of T + t 0 , t 0 << T, preferably (T+t 0 ) = 255 µs a timer interrupt is generated and the period of the carrier is calculated from the following formula: Period = (T - (W + A) x t)/C [in appropriate units]. According to the result it is decided whether the incoming IR signal is of carrier or pulse type. Then the switching means is set to the photo diode circuitry when the incoming IR signal is identified as a pulse type and is set to the IR module, when the incoming IR signal is identified as carrier type. In the method according to the invention, preferably the data to be stored in memory are compressed, which saves memory space. To achieve the data compression same timing sets consisting of high and low timing are grouped so that only one set of data will be stored together with a corresponding IR timing data pointer. In other words, identical code sets (timing sets) will only be stored once, because the respective pointer is carrying the information how often the set has to be repeated. Further the invention comprises a user interface for implementing the method according to the invention, wherein the stages of the learning procedure, i.e. steps a - e are depicted on the TV screen. Preferred embodiments of the device and the method including the user interface of a learning remote control will be described in detail with reference to the accompanying drawings, in which: Fig. 1 shows a learning remote control device according to a first embodiment; Fig. 2 shows a learning remote control device according to a second embodiment. Fig. 3 shows a method to capture the carrier frequency; and Fig. 4a to 4e show user interface for built-in learning remote control on a VCR. As shown in Fig. 1, the learning remote control device, which could be built-in on a VCR consists of a photo diode circuitry 1, an IR module 2, which is preferably an existing part of the VCR, an IR transmission circuit 3, a microcontroller 4 and a memory 5 like an EEPROM, which is also an existing part of the VCR. Further a remote control unit 7 is shown which sends the coded IR signals. Fig. 2 shows a modification of the first embodiment which further comprises a switching circuity 6, which is interconnected between the microcontroller 4 on the one side and the photo diode circuitry 1 and the IR module 2 on the other side. The switching circuitry 6 switches between the two IR receiving units 1, 2, so that only one of them is input to the microcontroller 4. Fig. 3 shows a method for capturing the carrier frequency of the incoming IR signal. To learn the incoming IR code, the photo diode circuitry 1 is first activated. If a switching circuit 6 exists, it is set to allow only the signal from the photo diode circuitry 1 to convey the microcontroller 4. When a user presses a key on his remote control unit 7 (RCU) the software of the learning remote would determine whether the IR signal is of a pulse or carrier type. At the same time, the pulse width (if pulse type) or the carrier period (if carrier type) is determined by the software. The method for determining the carrier period is illustrated in Fig. 3. When the first low signal comes in, a timer is started, which counts down 250 µs. A register, for example REG W, is incremented in a loop every 8 µs for a low signal, and another register, say REG A, is incremented every 8 µs for a high signal. When the transition from high to low occurs, both REG W and A are cleared while another register, say REG C, is incremented. After 255 µs, a timer interrupt is generated. The period of the carrier is now calculated from the following equation: Period = (255µs - (W + A) x 8µs)/C. If the IR signal is of a pulse type, the software probing the high and low signals would determine the length of the pulse width. The following describes the operation of the learning remote control device. If the IR signal is of a carrier type, the software would then set the switching circuit 6 to allow only the signal captured by the IR module 2 to pass to the microprocessor 4. In the first embodiment this switching is performed by the microcontroller 4 itself. The carriers of the IR signal are filtered on the passing through the IR module 2 so that only the envelopes of the IR signals are captured. The timings of the IR signal code are then stored in the form of the hexadecimal data into the RAM 5 of the microcontroller 4. If the IR signal is identified as a pulse type, the software would set the switching circuitry 6 to allow only the IR signal captured by the photo diode circuitry 1 to pass. In the first embodiment this operation is performed by the microcontroller 4 itself. The IR signal codes timings are then stored in the same way as for the carrier type data. A standard remote control IR signal normally consists of mark, space, synonym, followed by 32 bits of data. However, there are remote control codes which have different numbers of data bits. At the moment the longest data stream consists of 44 bits. In order to cater for this long type of data stream, 48 bits of the signal from the remote control unit of the satellite receiver are captured. If this amount of bits is not enough the amount of data can expanded to 64 bits or more. Therefore at the moment altogether 48 sets of high and low signals are captured. This is enough to cover IR signals with an IR code of less than 46 bits. A one second window is used to detect the IR signal which has less than 46 bits and sends data once only. After a set of 48 timing data is collected, the wait time for the IR signal captured is determined by assuming that the wait time is the longest high timing. The wait time would then be marked as the end of the IR signal set. Data after the wait time would be discarded. The data are then compressed to minimize the memory space used to store the IR codes in the EEPROM 5. Same timing sets, which consist of high and low timing would be grouped so that only one set of data is stored together with a pointer for each set. Example: assume that the key "1" of the remote control unit is pressed. Then assume that the following data stream would be captured by the microcontroller timing counter: (timing in hexadecimal codes) Logic high low high low high low Count 002D 0064 0031 01ED 0031 01ED 0031 01ED 002D 0064 002D 0FEB If the time base for the timing counter ist 16 µs then 002D in hexadecimal represents 45 in decimal times 16 µs equal to 720 µs. So the above data of table 1 actually represent the following data stream. (timing in decimal values) Logic high low high low high low Timing 720 1600 784 7888 784 7888 (usec) 784 7888 720 1600 720 65200 In order to save on EEPROM 5 space, a compression method is used. First, identical code sets, wherein a set consists one high and one low data, will be stored once only. Therefore, the following data set are stored: high low SET 0 002D 0064 SET 1 0031 01ED SET 2 002D 0FEB which represents the timing data group of the key "1". Additional to this data the following IR timing data pointer for key "1" has to be stored: 00 01 01 01 00 02, where 00, 01, 02 are pointers pointing to the addresses of the timing data set SET0, SET1 and SET2, respectively. With these pointers and the compressed data sets it is possible to restore the original data stream. The above data are then stored into the EEPROM 5. The user can press another key on his remote control unit 7 for the learning remote control to learn. The whole procedure will be repeated. To determine toggle bit, the user is required to press a spedfic key for three times. The three sets of compressed pointer data would then be compared. If data toggle at a particular location throughout the three set of data has occurred, then the toggle bits can be detected. After all the key on the user remote control unit has been learnt, the stored IR codes could be retrieved from the EEPROM and be sent out through the transmission circuitry. The major advantage of this design is that it is low in cost, because it makes use of the already existing IR module on the VCR, which saves a lot of costs if an external circuitry for the same function has to be built. The Figs. 4a to 4e show the user interface for built-in learning remote on a VCR, for example. The built-in learning remote on the VCR provides an on-screen user interface, i.e. the TV screen is used. This is a different concept from the conventional portable learning remotes, wherein only LEDs or LCD displays are used, which is a hassle for the user. The suggested stages of the learning procedure are given as follows: Stage 1: Determination of Carrier Period/Pulse Width (Fig. 4a) At this stage the digit "1" on the television screen would flash, prompting the user to press the digit "1" key on his remote controller 7. After the IR signal has been captured, the digit "1" would stop flashing and a wording "Decoding ..." appear at the bottom of the screen as shown in Fig. 4b. The software would determine the carriers' period (if carrier type) or pulse width (if pulse type). Stage 2: Determination of Toggle Bit(s) (Fig. 4b) This stage requires the user to press digit "1" on his remote controller 7 three times or more. The first set of digit "1" data is compared with the second set of digit "1" data to check whether any bit toggled. If more than two bits were different, the data acquired was assumed to be erroneous, thus would be discarded. The first and second set of data would then be recaptured. If the two sets of data are two bits or less different then the third set would be used to confirm the toggle bits location and timing data. If any error found in the third set (e.g. toggle bit location does not tally) then the whole procedure of stage two is repeated. The screen display for capturing digit "1" signal is same as stage 1. Stage 3: Learning of Digits (Fig. 4c) After learning digit "1" of the user RCU, the learning of the other digits on the RCU begins. The digit (e.g. "2") after the word "Press" would flash to prompt the user to press the digit indicated. After capturing the digit signal, the flashing stops and a "Decoding ..." line appeared at the bottom of the screen. The line "1 2 3 4 5 6 7 8 9 0" would be highlighted until the digit just captured as shown in Fig. 4d. The captured codes are then stored to EEPROM. Stage 4: Learning of Transmission Format (Fig. 4d) Some IR signals have special format, some of which are listed 1. Modes which have an 'ENTER' key. ENTER key should be sent out after the digits to fix the channel setting. 2. Modes which send '-/--' or 'CH' first. It is the leading signal for channel codes. Channel digits should be sent out after this -/-- codes. 3. Modes which have '1*','2*','3*' codes. These codes are sent first for channel greater than nine. E.g. to send 23, '2*' is send first, followed by '3'. 4. Modes which have '+10' key. It is also used for channel greater than nine. E.g. to send 30, '+10' is sent three times before '0' is sent. Stage 4 is used to learn the special format. Each key would flash on the screen to prompt the user to press the key. If that particular key does not exist on the user RCU, the user could skip by pressing the digit "1" on the RCU. After a key code is captured or skipped, that particular key would stop flashing on the screen. The next subsequent key starts to flash and capturing of code for the key started. Stage 5: Testing Learnt Codes (Fig. 4e) This stage allows user to test whether the codes were learnt correctly. The user would select two digits of which he would like to test using the VCR RCU. The software would then retrieve the data codes stored and transmit them through the transmission circuitry 7 (Fig. 1). List of References 1 - photo diode circuit 2 - IR module 3 - IR transmission circuit 4 - microcontroller 5 - memory 6 - switching circuit 7 - remote control unit

Claims: Process for controlling a video recorder, including the following steps : a) prompting a user to press a key on a remote control unit (7) of a satellite/cable box ; b) receiving incoming signals from the remote control unit (7) through infrared receiving means (1,2) of the video recorder; c) determining whether the signal incoming from the remote control unit (7) of the satellite/cable box is of a pulse type or a modulated type; d) determining whether the signal incoming from the remote control unit (7) of the satellite/cable box comprises toggle bits; e) determining data codes of the signal incoming from the remote control unit (7) of the satellite/cable box; f) determining a transmission format of the signal incoming from the remote control unit (7) of the satellite/cable box; and g) storing said determined data codes in memory means (5) of the video recorder. Process according to claim 1, further including the following steps : h) retrieving said data codes from said memory means (5); i) transmitting a signal based on said data codes to the satellite/cable box through said infrared transmission means (3) of the video recorder. Process according to claim 1 or 2, wherein step a) is realised on a screen linked to the video recorder. Process according to any of claims 1 to 3, wherein in step c) the pulse width or carrier period is determined. Process according to claim 4, wherein, when the first low signal comes in, a timer is started which counts down a predetermined time period T, a first register W is incremented every predetermined time period t, t < T, for a low signal, and - a second register A is incremented every predetermined time period t for a high signal, when a transition from high to low occurs both registers W and A are cleared while a third register C is incremented, so that after a time period of T + t 0 , t 0 << T, a timer interrupt is generated and the period of the carrier is calculated from the following formula: Period = (T - (W + A) x t) / C. Process according to one of the preceding claims 1 to 5, wherein signals of a photo diode circuitry (1) are switched to controlling means (4) when the incoming IR signal is identified as a pulse type and signals of an IR module (2) are switched to said controlling means (4), when the incoming IR signal is identified as a modulated carrier type. Process according to one of the preceding claims 1 to 6, wherein the data to be stored are compressed. Process according to claim 7, wherein same timing sets consisting of high and low timing are grouped so that only one set of data will be stored together with a corresponding IR timing data pointer.

Inventors: CHANG CHIEW MUN DAVID, LIM CHEE YANG, CHANG, CHIEW MUN DAVID, LIM, CHEE YANG
Applicants: THOMSON MULTIMEDIA SA, THOMSON MULTIMEDIA
Application year: 1996
Main classification: G08C19
IPC codes: G08C23, G08C19