Programmable universal remote control unit and method of programming same

A universal remote control unit stores signal formatting data which includes an indication of the category of device to which the signal formatting data corresponds. During programming of the universal remote control unit, the user provides a numerical entry which corresponds to the signal formatting data stored in the memory. The universal remote control unit automatically stores the code entered by the user at the appropriate memory location corresponding to the category of device by analyzing the signal format data to which the code corresponds.

FIELD OF THE INVENTION

The present invention relates generally to a remote control unit for remotely controlling a plurality of devices in which signal formatting data is stored in the remote control unit, and to a method of programming a remote control unit to control the plurality of devices.

BACKGROUND INFORMATION

Remote control units have gained widespread popularity for use in remotely controlling home entertainment systems, which typically include devices such as televisions, cable set-top boxes or converters, videocassette recorders (VCR), digital video disk (DVD) players/recorders and stereos. Typically each device includes a separate remote control unit, which is provided by the manufacturer of the device, for remotely controlling the specific device. This causes the home entertainment system user to have many remote control units. This is very cumbersome and may lead to confusion for the user.

In order to eliminate the need for multiple remote control units, universal remote control units have been developed. The universal remote control unit has a plurality of operating modes for controlling a plurality of devices. Each operating mode enables the user to remotely control a corresponding device. Typically, the universal remote control unit includes a plurality of mode push buttons (e.g., CABLE, TV, and VCR push buttons) which correspond to the different devices to be controlled. The mode push buttons are used to directly change the operating mode of a corresponding device. In order for the universal remote control unit to operate each of the different devices, the remote control unit must be programmed to send a signal which is recognized only by the selected device, to obtain an appropriate response from the device.

Typically, universal remote control units include a memory which stores signal formatting data of different manufacturers which identify the signal structure to which specific manufacturer and model number devices are responsive. These signal formatting data commonly vary based on the device which is to be controlled. Programming the universal remote control unit involves identifying signal formatting data that is stored in the memory which the device to be controlled is responsive.

Traditional methods for programming a universal remote control unit which have the afore-mentioned signal formatting data previously stored in memory involve selecting a specific category (e.g., television, cable set-top box or converter, video device or audio device) with which the remote control unit is to be programmed to operate, and then identifying the signal formatting data which is to be associated with the selected category. U.S. Pat. No. 5,872,562 (McConnell et al) teach one such programming method. In McConnell et al the user first activates an entry initiate key and then selects a key signifying a particular category of device to be controlled. Thereafter, the user enters a code indicative of an address in the memory which stores the specific signal formatting data. This data is read out and applied to a microprocessor which, in turn, controls the transmission of signals which are formatted to operate the selected device. The method is repeated for each device which is to be controlled by the remote control unit.

While U.S. Pat. No. 5,872,562 is a usable method, there is a desire to develop simplified programming methods for universal remote control units which do not require the user to select a device category during programming.

U.S. Pat. No. 6,344,817 (Verzulli) describes a method for displaying manufacturer/model codes programmed into a universal remote control unit. While Verzulli makes no mention of selecting a device category in a universal remote control unit, if the Verzulli method was applied to such a remote control, some way of associating a device category key with a particular signal format must be provided. While this is not the subject matter claimed by Verzulli, one skilled in the art would understand that this is done using known methods, such as for example, in a manner similar to that described in McConnell et al., e.g., by, in the programming process, first pressing a key to select a category.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide a universal remote control unit having signal formatting data stored therein and a method of programming the universal remote control unit which does not require user actuation of a category select button during programming and which is capable of concurrently controlling a plurality of devices.

In accordance with one form of the present invention, a method of programming a universal remote control unit includes the steps of initiating, by a user, a programming mode; entering, by a user, a code associated with a device to be controlled by the remote control unit; identifying from the code, a signal formatting data entry, which includes signal formatting data, stored in a memory device in the remote control unit, which signal formatting data includes data determinative of a device type; and associating a device type in the remote control unit with the signal formatting data entry based upon the device type data, such that when one or more of a device type key associated with a device type is subsequently depressed, subsequent commands sent by the remote control unit have the format specified by the signal formatting data, and when a command key uniquely associated with the device type is depressed, commands sent by the remote control unit have the format specified by the signal formatting data.

In accordance with another form of the present invention, a method of programming a universal control unit includes the steps initiating, by a user, a programming mode; entering, by a user, a code associated with a device to be controlled by the remote control unit; identifying, from the code, a signal formatting data entry, which includes signal formatting data, stored in a memory device in the remote control unit, which signal formatting data includes data determinative of a device type; and signal formatting data entry based upon the device type data.

In accordance with yet another form of the present invention, a universal remote control unit for remotely controlling a plurality of devices, each having at least one of a plurality of types, includes a memory; a plurality of signal formatting data entries stored at respective locations in the memory, each entry comprising type information identifying a type of device and signal format information specifying signal formats of commands for controlling at least one of the plurality of devices of that type; a transmitter; input means; and a processor capable of accessing the signal formatting data entries in the memory and capable of controlling the transmitter to transmit signals in conformance with the signal format information in the signal formatting data entries in response to actuation of the input means.

The above and other objects, features and advantages of the present invention will become readily apparent from the following detailed description thereof, which is to be read in connection with the accompanying drawings.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention is directed to a method for programming a remote control unit and a device which performs the function of remotely controlling a plurality of devices. Specifically, the method is used in conjunction with universal remote control units which transmit signals to remotely control a plurality of devices of different category types. Typically many different signal formats are required to control the different devices. All of the signals formats for the different devices are stored in a memory at respective memory locations (explained in more detail below).

Referring initially toFIG. 1, an exemplary universal remote control unit10in accordance with the invention for controlling a plurality of devices20is shown. As will be explained below, the universal remote control unit is configured to be programmed so that it controls a plurality of audio/visual devices without requiring, during programming by the user, entry of each category of device to be controlled. This simplifies the programming of the remote control unit for the user.

Examples of the plurality of devices20which may be controlled by the universal remote control unit10include a cable set-top box or converter22, a television set24, a video device26such as a videocassette recorder (VCR), a digital video disk (DVD) player, a personal video recorder (PVR), a laser-disk (LD) player, a computer, and an audio device28such as an amplifier, surround sound audio system, a digital music converter, or an audio-video receiver.

Universal remote control unit10includes an input device (means)12(FIG. 2) which may include a keyboard30having buttons/keys for enabling a user to select a plurality of functions in connection with the operation of the devices20. As shown inFIG. 1, keyboard30may include a CHANNEL button32, a VOLUME button34, a plurality of numbered buttons36, and a plurality of video function buttons38.

In addition, input device12(FIG. 2) may also include a DEVICE button40for initiating a mode change, a SELECT button45, a bypass button47, an ALL (power) button48, a VCR/VOD (video on demand) button49, and a plurality of power/mode buttons50such as a CABLE button52, a TV button54, a VIDEO button56, and an AUDIO button58for turning the corresponding device on/off and/or placing universal remote control unit10in one of a plurality of operating modes. For example, universal remote control unit10in its cable mode operates the functions of the cable box22. In the television mode, the universal remote control unit operates the functions of television24. Preferably, each of the plurality of mode push buttons are illuminated by, for example, a light-emitting diode.

With reference toFIG. 2, universal remote control unit10includes, in addition to input means12, a processor60, a memory70for storing, among other things, a plurality of signal formatting data and user inputs, and a transmitter80. During use of the remote control unit, and as known in the art, a user first typically selects the type of device to control by activating one of the mode buttons. Thereafter, activation of one or more of the plurality of buttons of keyboard30(FIG. 1) generates a command signal. This command signal is supplied to processor60. In response thereto, processor60retrieves an appropriate control code (which may include the signal formatting data) from memory70based on prior programming of the unit by the user. Processor60then causes transmitter80to generate a signal in accordance with the control code retrieved from memory. The signal is received by a corresponding one of the devices20(FIG. 1) thereby causing the corresponding device, e.g., cable box22, television24, video device26, or audio device28, to have the desired response.

Preferably, processor60is a programmable infrared (IR) low-voltage micro-controller device such as Part No. GMS344XXXT from LG (Goldstar) Semicon Co., Ltd. of Korea. The processor is run by application software or programming, (e.g., assembly language) and is typically governed by the manufacturer's protocol.

The present invention is not limited to such a processing environment. The present invention can be incorporated and be used within many types of processing environments. From the following description, computer readable program code means for use in processor60and for implementing the present invention may be readily programmed by those skilled in the art and stored in memory70.

The memory70may include a ROM (read-only-memory) and a RAM (random access memory). As explained in more detail below, the ROM portion of the memory stores a plurality of signal formatting data which identifies for the processor60the configuration of the signal for each device20so that when a signal is generated and transmitted, it is recognized by the corresponding device.

Referring toFIG. 3, an exemplary signal formatting data entry for controlling a television set24is shown. The signal formatting data entry includes a number of segments, some of which are informational (e.g., record length and device type), and others of which identify the signal configuration which is necessary to obtain a desired response from the television. The signal configuration portions of the signal formatting data include the protocol type, power on, power off, channel entry, channel up, channel down, volume up, volume down, and mute, among others. The signal formatting data need not be stored in the memory in a particular order. That is, the entries need not be stored in groups by manufacturer, category of device, or year of manufacture. Other signal formatting data entries will include signal configuration portions which are specific to the type of device. For example, a signal formatting data entry for a VCR will include, in addition to power on and power off, signal configurations for play, stop, pause, rewind, fast forward, etc.

During programming of the universal remote control unit10, the user identifies the manufacturer and model number of each device to be controlled by the remote control unit20. Thereafter, the user locates the manufacturer and model number of a first device in a reference (lookup) table or reference manual provided by the remote control unit manufacturer. The reference table provides a numerical code which corresponds to the manufacturer and model number of the device to be controlled. The numerical code is utilized to derive an address of the ROM of the remote control unit which has stored therein the corresponding signal formatting data for the device. The numerical code is preferably input by the user in the remote control unit via numbered buttons36. As explained below, if it is determined that the numerical code entered by the user is a valid code, the corresponding ROM address is stored in the RAM portion of the memory. Alternatively, the valid code which is associated with the ROM address can be stored.

The remote control unit determines from the signal formatting data the category of the device associated with the code entered by the user. In particular, in the preferred embodiment, the signal formatting data includes a portion which identifies the category of device (device type, e.g., television, VCR, cable set-top box, etc.). Upon determination of the device type of the signal formatting data, the ROM address which corresponds to the numerical code entered by the user is stored at the appropriate memory location for that particular type of device. Subsequently, when the remote control unit is set to operate that particular type of device, by e.g. actuation of the mode key for that type of deice, and/or upon actuation of buttons/keys on the remote control unit which are uniquely associated with the particular type of device, even without actuation of the mode key, the appropriate signal formatting data will be accessed from the ROM to transmit an appropriate signal to the desired device.

Referring now toFIG. 4A, a first method of programming a universal remote control unit to operate a plurality of devices, whether or not manufactured by different manufacturers, without identifying the category of device which is being controlled, will be described.

In order to program the universal remote control device, the user must first enter a programming mode of operation. The programming mode of operation is entered in the illustrated embodiment, when the user concurrently actuates the select and mute bottons for at least three seconds. Referring specifically toFIG. 4A, a determination is made as to whether the select button on the remote control unit is pressed and held (Step100). If the select button has not been pressed and held (NO in Step100), the programming mode will not be entered (Step138) and the remote control unit will return to the normal operating mode. However, if the select button has been pressed and held (YES in Step100), then a determination is made as to whether the mute button has been pressed and held within a predetermined amount of time (e.g., 5 seconds) after actuation of the select button (Step102). If the mute button has not been pressed and held within the predetermined period of time (NO in Step102), then the programming mode is not entered (Step138). If the mute button has been pressed and held within the predetermined period of time (YES in Step102), then a determination is made as to whether the select and mute buttons have been concurrently actuated for a predetermined period of time, for example, three seconds (Step104). If the select and mute buttons have not been concurrently actuated for the predetermined period of time (NO in Step104), then the programming mode is not entered. If the select and mute buttons have been concurrently held for the predetermined period of time (YES in Step104), then, in the illustrative embodiment, the light emitting diodes (LED) on the remote control device which correspond to the CABLE button52, TV button54, VIDEO button56and AUDIO button58blink (Step106). Thereafter, a determination is made as to whether a key is pressed on the remote control unit within a predetermined period of time, e.g., 45 seconds (Step108). If a key press on the remote control unit does not occur within the predetermined period of time (NO in Step108), then the programming mode ends (Step138). If a key press does occur within the predetermined period of time (YES in Step108), then a determination is made (seeFIG. 4B) as to whether the actuated key was one of the numerical keys36(Step110).

Referring now toFIG. 4B, if the key that was actuated is not a numerical key36(NO in Step110), then the programming mode ends (Step138). However, if the actuated key is a numerical key (YES in Step110), then the key entry in Step108is temporarily stored in memory (Step112), and a determination is made as to whether three numerical key presses have been made (Step116).

If three numerical key presses have not been entered (NO in Step116), then the next numerical key press is monitored (Step110) and temporarily stored in memory (Step112). Upon recognition of three numerical key press entries (YES in Step116), a determination is made as to whether the three key press entries correspond to a valid code of the universal remote control unit (Step118). A valid code is determined by deriving the memory address corresponding to the entered numerical code and determining whether it is an address of a valid signal formatting data entry. If it is, the code is valid. Otherwise, the code is invalid.

If the three numerical key presses do not correspond to a valid code (NO in Step118), then the programming mode ends (Step138). However, if the three numerical key press entries do correspond to a valid code (YES in Step118), then the memory address which corresponds to the three digit numerical code is saved in the memory at the memory location corresponding to the category of device (e.g., cable box, video, TV) associated with the specific device formatting data. The corresponding mode button will preferably blink indicating that the programming for the device is complete (Step134). The programming mode then ends (Step138).

In order to program the remote to operate a different device, the programming mode must be initiated again by actuating and concurrently holding the select and mute buttons (Steps100,102,104).

Referring now toFIGS. 5A and 5B, an alternative embodiment of the present invention is shown. In the alternative embodiment, the method of programming is similar to that described in connection withFIGS. 4A and 4B. However, after determining whether the code is valid in Step118(FIG. 5B), the alternative embodiment includes a method for confirming that the valid code corresponds to the memory address of a proper signal formatting data by transmitting a signal from the remote control unit to the corresponding device being controlled. If the device is responsive to the signal transmitted by the remote control unit, this confirms for the user that the numerical code that was entered is not only valid (corresponds to a memory location wherein signal formatting data is stored) but properly operates the device to be controlled.

Referring now toFIG. 5B, if the three numerical key press entries do correspond to a valid code (YES in Step118), then the device formatting data stored in memory at the address location which corresponds to the valid code is accessed. The signal formatting data is tested to ensure that this information can be used to generate signals which operate the specific device.

Specifically, in this alternative embodiment, the portion of the signal format data corresponding to the power (on/off) function of the device is accessed from the memory. A power on/off signal is generated and transmitted to the corresponding device (Step120). Thereafter, if the power (on/off) setting of the corresponding device has been switched (i.e., the power for the device was on and is now off, or the power for the device was off and is now on), the user is instructed to press a key (e.g., the mute key) to indicate that the corresponding device has responded to the signal transmitted by the remote control device. If the user has actuated the mute key (YES in Step122), then another signal is generated using the signal formatting data corresponding to the power (on/off) function of the device to return the device to its previous power (on/off) state (Step124). In addition, in this alternative embodiment, the mode button (e.g., CABLE button52, TV button54, VIDEO button56and AUDIO button58) corresponding to the specific signal formatting data preferably blink once. If the mute button was not pressed (NO in Step122), the process proceeds to Step126.

The method next determines whether a key on the numerical keypad has been actuated (Step126) within a predetermined period of time (e.g., 5 seconds). If a key on the numerical keypad has been actuated (YES in Step126) within the predetermined period of time, this indicates that the signal formatting data accessed from the memory may not properly correspond to the selected device (i.e., the user did not observe the device turning on/off), and the user is re-entering the code or inputting another code to access the signal formatting data stored in the memory (Steps110,112and116).

If after Step124a next key press is not a numerical key press (NO in Step126) within the predetermined period of time, then the memory address which corresponds to the three digit numerical code that was entered by the user is saved in the memory at the memory location corresponding to the category of device (e.g., cable box, video, TV) associated with the specific device formatting data. The corresponding mode button will preferably blink three times to indicate that the programming for the device is complete (Step134). The programming mode then ends (Step128).

Referring now toFIGS. 6A and 6Banother alternative embodiment of the method of programming a universal remote control unit is shown. In this alternative embodiment, the method of programming is similar to that described above in connection withFIGS. 4A and 4B. However, after determining whether the numerical code entered by the user is valid in Step118(FIG. 6B), in this alternative embodiment if the numerical code entered by the user is valid (YES in Step118), a determination is made as to whether the select key is actuated within a predetermined period of time, e.g., 45 seconds (Step128). If the select key is not actuated within the predetermined period of time (NO in Step128), the programming mode ends (Step138) and the memory address which corresponds to the numerical code entered by the user is not stored in memory. However, if the select key is actuated within the predetermined period of time (YES in Step128), the memory address which corresponds to the three digit numerical code is saved in the memory at the memory location which corresponds to the category of device (e.g., cable box, video, TV) associated with the specific device formatting data. The corresponding mode button will preferably blink indicating that the programming for the device is complete (Step134). The programming mode then ends (Step138).

Referring now toFIG. 7, an alternative embodiment of the method in connection withFIGS. 6A and 6Bis shown. In this alternative embodiment, after actuation of the select button in Step128(YES in Step128), a determination is made as to whether the select key is pressed again in a second predetermined period of time, e.g., five seconds (Step130).

In this alternative embodiment, after the select key is actuated in Step128, the user is advised, in, e.g. instructional materials provided with the remote control device, to press the select key again within five seconds if the user desires to link the device being programmed to an auxiliary key (not shown inFIG. 1). The user would press the select key a second time in Step130if, for example, two devices of the same general device type are to be controlled by the remote control unit. This might occur, for example, if separate VCR and DVD players are to be operated by the remote control unit. One of the devices would be linked to the video button and the other device would be linked to the auxiliary button. While four device power buttons are shown on the remote control unit ofFIG. 1, it is foreseen that any number of power buttons could be included.

If the select key is not pressed within the second predetermined period time (NO in Step130), then the memory address which corresponds to the three digit code that was entered by the user is saved in the memory at the memory location corresponding to the category of device (e.g., cable box, video, TV) associated with the specific device formatting data. The corresponding mode button will preferably blink indicating that the programming for the device is complete (Step134). The programming mode then ends (Step138).

If the select key was actuated in the second predetermined period of time (YES in Step130), then a determination is preferably made as to whether the signal formatting data that was accessed from the memory corresponds to the cable box (Step132). This is determined by analyzing the portion of the signal formatting data which identifies the type of device. If the signal formatting data does correspond to a cable box (YES in Step132), the memory address which corresponds to the numerical code entered by the user is stored in the memory location corresponding to the cable box (Step134). If, however, the signal formatting data does not correspond to a cable box (NO in Step132), then the memory address which corresponds to the numerical code entered by the user is stored in the memory at a location corresponding to the auxiliary key (Step136) and the programming mode ends (Step138).

In accordance with yet another alternative embodiment shown inFIGS. 8A and 8B, the auxiliary key may be programmed, prior to programming the remote control unit to remotely operate a particular device, so as to be associated with only a specific type of device. In this alternative embodiment, the auxiliary key can be programmed by entering the programming mode in accordance with Steps300,302,304,306(which are similar to Steps100,102,104and106as previously described) shown inFIG. 8A. After all of the LEDs blink in Step306, a determination is made as to whether the auxiliary button is pressed. If the auxiliary button is pressed (YES in Step308), a determination is made as to whether a numerical key entry has been made (Step310). If a numerical key entry has been made, then the auxiliary button is set to receive data associated with the particular type of device which corresponds to the numerical entry. For example, if the number “1” is entered after depressing the auxiliary key, a TV code may be stored in correspondence with the auxiliary key. Other numerical entries will correspond to different types of devices. Once the auxiliary key is set, the programming mode for the auxiliary key will end (Step138).

By depressing the “0” key after depressing the auxiliary key in the programming mode, the auxiliary key will be reset and return to its normal un-programmed state.

In this alternative embodiment after the auxiliary key has been programmed to be associated only with a specific type of device, the method of programming the remote control is similar to the previously explained embodiments up to Step118. That is, after a valid code is determined (YES in Step118) (as explained in accordance with the prior embodiments) and the select key has been pressed within the predetermined period of time (YES in Step128) (seeFIG. 8B), a determination is made as to whether the particular mode key associated with the current device has been programmed (Step131) to operate with another device. If the mode key has not been programmed (NO in Step131), then the memory address which corresponds to the numerical code is stored in correspondence with the category identified in the signal formatting data. Thereafter, the mode button preferably blinks (Step134) and the program ends (Step138). If, however, the mode key corresponding to the device type has already been programmed (YES in Step131), then the memory address which corresponds to the numerical code corresponding to the device to be programmed is stored in memory in correspondence with the auxiliary key (Step137) if the auxiliary key has been programmed for this type of device, and the program ends (Step138).

In yet another alternative embodiment of the present invention, the record for each signal formatting data stored in the universal remote control unit includes not only a device type which is the primary mode key with which the device is to be associated, but also an alternative device type which indicates a secondary mode key if the primary device type already has a device associated therewith (seeFIG. 9).

Referring now toFIG. 10, an alternative embodiment of the method described in connection withFIGS. 6A and 6Bis shown. In this embodiment, in Step128, if the select key is pressed in the predetermined time period (YES in Step128), and the select key is pressed again within five seconds of the first actuation of the select key (YES in Step130), this indicates to the remote control unit that the memory address which corresponds to the entered numerical code is to be stored in association with the secondary device type stored in the signal formatting data (Step136) and then the program ends (Step138). If the select key is not pressed a second time within five seconds of the first actuation of the select key (NO in Step130), then the memory address which corresponds to the numerical code is stored in association with the primary device type indicated in the signal formatting data record.

As an alternative to this embodiment, Step130can be eliminated and replaced with a step which automatically determines whether the mode key associated with the primary device type has already been programmed to be associated with a device. If the mode key which corresponds to the primary device type already has a numerical code associated therewith, then the memory address which corresponds to the numerical code is stored in association with the mode key which corresponds to the alternate (secondary) device type which is indicated in the corresponding record. If the mode key associated with the primary device type does not have a memory address associated therewith, then the memory address which corresponds to the numerical code is stored in association with the primary device type (Step134) and the program ends (Step138).

From the present description, it will be appreciated by those skilled in the art that any type of input device, including but not limited to a touch screen or a liquid crystal display having a touch screen, may be used as an input menas, instead of the push buttons, to enable a user to enter the numerical code. In addition, it will be appreciated by those skilled in the art that instead of illuminatable push buttons, one or more light-emitting diodes may be disposed on universal remote control unit to indicate the status of the programming. Further, it will be appreciated that instead of a cable mode key, a digital satellite system receiver key may be provided for controlling such a receiver. As well, a DVD button may be provided for controlling such a device and other buttons may be added to control other types of devices. Moreover, while the memory was described as including ROM and RAM portions, it is foreseen that the memory could include a programmable read-only memory (PROM), an erasable, programmable, read-only memory (EPROM), an electrically erasable, programmable read-only memory (EEPROM) or any other suitable memory configuration to achieve the desired results of the present invention.

Thus, while various embodiments of the present invention have been illustrated and described, it will be appreciated by those skilled in the art that changes and modifications may be made thereunto without departing from the spirit and scope of the invention.