FIELD OF THE INVENTION
[0001] This invention relates to home appliances, and especially relates to a method and
device for accommodating multiple remote controls.
BACKGROUND OF THE INVENTION
[0002] Usually, home appliance manufacturers produce different remote controls with different
protocols for different home appliances. If a remote control dedicated to a specific
home appliance is lost, the user must get a same remote control, or buy a remote control
with 'learning' capability. In the latter condition, when the remote control with
'learning' capacity is used for the home appliance, it should learn the old/original
one's signals in advance. In
CN1545075, such a 'learning' remote control is introduced. However, if the original remote
control is lost prior to the learning process, the 'learning' remote control is helpless.
Further, even if the original remote control exists, for the user, above methods are
costly because since he/she should buy another remote control.
SUMMARY OF THE INVENTION
[0003] In an aspect, a method for associating a remote control with an apparatus for control
of the apparatus is provided. The method comprises the steps, at the level of the
apparatus, of: during a learning mode, receiving a signal from the remote control;
recording a representation of the remote control signal; associating said representation
with a control function of the apparatus; and during a control mode, carrying out
said control function in response to the reception of a remote control signal corresponding
to the recorded representation.
[0004] In an embodiment, the representation of the remote control signal comprises a combination
of the duration of the high level parts and low level parts of the square wave of
the remote control signal.
[0005] In another embodiment, the combination of the duration of the high level parts and
low level parts and/or the control function, and/or the associating relationship is
stored in the apparatus or on a network server.
[0006] In still another embodiment, the learning mode is entered by accessing a menu of
the apparatus.
[0007] Further, the method comprises the step of triggering said associating step for a
given control function in response to selection of a feature in the menu.
[0008] As an example, the menu is accessed and/or the feature is selected by using a front
panel of the apparatus or by a remote control.
[0009] Preferably, the feature is displayed with a description identifying a control function
associated with the feature.
[0010] Accordingly, there is an apparatus associated with a remote control, which comprises
an infrared signal receiver adaptable to receive a remote control signal; a learning
and recording module used to record a representation of the remote control signal
and to associate said representation with a control function of the apparatus; a processor
adapted to carry out said control function in response to the reception of a remote
control signal corresponding to the recorded representation.
[0011] In an embodiment, the representation of the remote control signal comprises a combination
of the duration of the high level parts and low level parts of the square wave of
the remote control signal.
[0012] In another embodiment, the combination of the duration of the high level parts and
low level parts and/or the control function, and/or the associating relationship is
stored in the apparatus or on a network server.
[0013] Further, in the apparatus, there is a mode selection module used to operatively make
the apparatus enter into the learning mode.
[0014] In an example, the mode selection module is a menu with at least a feature shown
on it, and when the feature is selected, the associating said representation with
the control function of the apparatus is triggered.
[0015] In addition, the menu is accessed and/or the feature is selected by using a front
panel of the apparatus or by a remote control.
[0016] Still as an example, the feature is displayed with a description identifying a control
function associated with the feature.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017]
FIG.1 shows an exemplary STB for illustrating the present principle;
FIG.2 is a flow chart showing the processes to learn and record the remote control
signals by using the STB in Fig.1;
FIG.3 is an exemplary Learning menu used to learn remote control signals in the STB
of Fig.1;
FIG.4 shows a first exemplary IR square wave signal;
FIG.5 shows a second exemplary IR square wave signal;
FIG.6 shows an exemplary IR square wave signal segment;
FIG.7 is a flow chart showing the processes when the STB of FIG.1 is used.
DETAILED DESCRIPTION OF THE INVENTION
[0018] Fig.1 shows an exemplary set top box receiver (STB) for illustrating the present
embodiment. The STB is generally represented by reference 1 in all drawings. In Fig.1,
there is a Mode Selection Module 1 which is used by the STB to enter into a learning
mode, an IR (infrared) Signal Receiver 2, which is used by the STB 100 to receive
infrared remote control signals and pass the received IR signals to a Recording Module
5 used to record the received IR signals. An Interrupter 3 works together with a Timer
4 to help the Recording Module 5 to record the length (duration/period) of high level
and low level of the received IR signals. During the learning mode, the recorded results
from the Recording Module 5 are stored in Memory 6. In Memory 7, the remote control
commands that the STB can recognize are saved. There is also a Mapping Module 9 which
is used to map the recorded IR signals in Memory 6 to the remote control commands
in Memory 7. The Mapping Module can be embodied as a mapping list, for example. While
during the using mode which means using a remote control to control the STB, Memory
8 is used to temporarily store the recorded result, and Wave Sequence Comparator 10
is used to compare the received IR wave sequences in Memory 8 with those stored in
Memory 6. If the received IR wave sequence matches an IR wave sequence in Memory 6,
the corresponding remote control command mapped to the IR wave sequence will be performed
by a Processor 11. Though the memories 6, 7 and 8 here are separated for clarity they
can also be combined into one memory, as can easily be seen by a man skilled in the
art. The Memory 6 and 7can be a flash, while the Memory 8 can be embodied as flash,
RAM, etc.
[0019] Though some modules are separately described, they can be combined together. For
example, the Associating Module (9) and Processor (11) can be merged into the Learning
and Recording Module (5), which can be understood by those skilled in the art.
[0020] Fig.2 is a flow chart showing the process 200 for carrying out the learning mode
to learn the remote control signals by using the STB 100 in Fig.1.
[0021] The learning process starts from step 210. In step 220 the process chooses to enter
into the learning mode. This step is performed by accessing the Mode Selection Module
1 which is embodied as a menu of the STB 100 as shown in Fig.3. When the menu is accessed,
the STB enters into the learning mode; otherwise it is in the using mode. The menu
in Fig.3 can be accessed by using the original remote control or the front panel of
the STB. Then it is determined whether a remote control (RC) command stored in Memory
7 has been selected for learning at step 230. This step is further embodied in Fig.3,
where there some buttons or bars are shown on the Recording menu. The buttons and
bars are associated with the remote control commands that the STB can recognize and
use. These remote control commands can be embedded into the STB when the STB is manufactured
or can be changed by downloading appropriate software from an internet server. The
functional description of an associated remote control command is shown on each button
(or icon) of the menu. For example, the buttons show "Standby", Volume+", "Volume-",
"Channel +", "Channel -", "Up", "Down", etc. When a button on the menu is selected
by moving a cursor to it with the front panel, or trigged by the control signal of
the original remote control of the STB, the STB is ready to learn and map the remote
control command associated with the button to a key on the new remote control.
[0022] For example, the button pressed on the menu is "Standby". If no RC command has been
selected for the learning process, i.e. "No" at step 230, which means no button on
the menu is pressed down, the STB will wait and repeat the step 230. If a RC command
has been selected for the learning process, i.e. "Yes" at step 230, the process goes
to step 240. During step 240, it is determined whether an infrared signal is detected
from the new remote control. The sequence of step 230 and 240 can be changed. For
example, when an infrared signal is detected, it is determined whether a RC command
needs to be learned. As shown in Fig.3, there can be an indicator message displayed
on the menu, such as a sentence to prompt the user pressing a key from the new remote
control whether he wants to have the remote control key mapped to the button 'Standby'
(or another button) on the menu.
[0023] When getting the prompt, the user points the Infrared signal output of the new remote
control to the infrared signal input interface of the STB and presses the mapped key
on the new remote control, for example, also the "Standby" key and lets the STB learn
and record the wave form of the signal sent out from the new remote control. Here,
of course, the mapped key on the remote control can be another key with a similar
function or even with a different function. However, to enable the user to distinguish
different keys, a key functionally corresponding to the button on the menu of STB
is recommended.
[0024] The detected infrared remote control signal is received by the IR Signal Receiver
2. If the determination is true, the process goes to step 240 to learn the detected
infrared remote control signal and record all its square wave segments into a set
of matrixes. This step happens in the Recording Module 5.
[0025] During step 240, since the wave shape of infrared signals sent out from the new remote
control is square, as can be seen in Figs.4 and 5. The square wave sequence can be
separated into multiple segments. Fig.6 shows an exemplary square wave segment. For
each segment, it comprises a high level part, "mark", and a low level part, "space",
and will be recorded into a two-dimensional matrix which is stored in the Memory 6.
The first dimension of a matrix is the duration T0 of the high level part and the
second dimension is the duration T1 including the combination of a high level part
and a low level part. So there will be a set of matrixes for a continuous square wave
sequence. Thus the infrared signal of a special key on the new remote control will
be recognized and recorded. T0 and T1 are recorded with the help of the Interrupter
3 and the Timer 4. When a high level is detected, the Interrupter 3 sends an interrupt
signal to let the Timer 4 begin timing. When the high level part ends, the Interrupter
3 sends out an interrupt signal to Timer 4, the Timer 4 stops timing the high level
and begins to time the following low level part. Then the timed length or duration
of high level parts and low level parts will be saved into the matrixes in Memory
6 during step 250.
[0026] For example, the square wave sequence in Fig.4 is an "Up" signal sent from the new
remote control. It can be separated into 13 segments, so 13 matrixes, or couples of
values, can be used to record the "Up" square wave sequence. They are [533, 5065],
[507, 5039], [538, 2510], [534, 2537], [529, 2559], [533, 2533], [533, 5038], [538,
5017], [560, 2559], [533, 5039], [507, 2537], [507, 2532] and [534, 65535]. The unit
of these values in the matrix is nanoseconds (ns). In these matrixes, [560, 2559]
means that the length of the high level and the combination of the high level and
the low level of the ninth segment is 560 and 2559 respectively.
[0027] The recorded square wave sequence of Fig.5 also comprises 13 segments. These segments
are represented by [507, 5043], [503, 5039], [507, 2537], [502, 2532], [507, 2532],
[507, 2537], [507, 5043], [502, 5038], [502, 2532], [507, 5039], [507, 2537], [506,
5038] and [507, 65535]. For example, the matrix [507, 5043] indicates that the length
of the high level of the first segment is 507 nanoseconds (ns) and the length of the
high level plus the low level is 5043 ns.
[0028] According to a variant embodiment, a square wave segment can be recorded by two matrixes.
This is because for some remote controls, the square waves are different if a key
is continuously pressed, for example, one bit is toggled. Therefore, there is a need
press one key twice or more, so that the driver can record the different waves corresponding
to a single key. For example, if one bit is toggled, recording two square waves for
one key is enough.
[0029] In another variant, the length of the low level of a segment is recorded in stead
of the length of the combination of the high level part and low level part.
[0030] Though here the wave sequence of the remote control signal is recorded by a set of
matrixes, there can be other implementations. For example, a matrix of greater dimensions
may be used to record all data relating to one wave sequence..
[0031] Further, although the square wave sequence of a remote control signal is recorded
in a matrix or a set of matrixes, it can be stored in other format, for example, a
list or a table.
[0032] As shown in Fig.3, during the learning process, there can also be a process bar for
each button to show the process of learning the command of the key. As an option,
when the learning process finishes, a double check can be made. For example, the indicator
message shows the prompt again and the process bar restarts to indicate that the check
is being made. The user then repeats the recording process. During this process, the
STB compares the newly determined matrix with the previously stored matrix. If both
match, the recording process is successful, otherwise the recording process fails.
Under the latter condition, a prompt can be used to inform the user of the failure
and let the user try again.
[0033] Afterwards, the process goes to step 270 to map the set of matrixes to the selected
RC command at step 220. This mapping process is performed by the Mapping Module 9.
The Mapping Module 9 can be a list showing the relationship between the remote control
commands saved in Memory 7 and the matrixes saved in Memory 6.
[0034] Through above steps the learning and recording of a new remote control signal is
accomplished. Steps from 210 to 280 are performed for all or part of the keys of the
new remote control, and the new remote control can be used thereafter. Then at step
280, the whole process is exited, which can be embodied as press the Exit button on
the Recording Menu shown in Fig.3.
[0035] According to a variant, after learning the new remote control signals once or twice,
the learning mode ends and the using mode is triggered automatically.
[0036] Then the user can use the new remote control to control the STB 100. Fig.7 is a flow
chart showing the process in STB1 when a remote control is used.
[0037] As shown by Fig. 7, during the using mode, the using process 700 starts with step
710. At step 720, it is determined whether an IR signal is received by the IR Receiver
2. When the determination is true at step 720, it will further determine at step 730
whether the IR signal is corresponding to a remote control command saved in the Memory
7. If it is "yes", which means the IR signal may be sent from the original remote
control, the process goes to step 760, where the Processor 11 performs the corresponding
remote control command stored in the Memory 7 directly and the process ends at step
780. However, if it is "no" at step 730, which means the IR signal is sent out from
a new remote control, then the process goes to step 740 to learn and record the square
wave sequence of the received IR signal into a set of matrixes and temporally stores
the it into Memory 8 at step 740. Then the Wave Sequence Comparator 10 compares the
recorded square wave segments in Memory 8 with those stored in Memory 6 at step 750.
If the set of recorded segments in Memory 8 matches one of the square wave segment
set stored in Memory 6, i.e. yes in step 770, a remote control command that maps the
set of square wave segment is retrieved and preformed to control the STB 100. Otherwise,
it does nothing and the process ends at step 780. In this way, the new remote control
can be used to control the STB. Preferably, during the comparison process, an approximation
algorithm is used, such as Least Mean Square Error (LMSE). This is because of the
definition of the timer, and because the data recorded for one key may not be totally
the same, but they are similar. When the error δ between the new received signal and
the previously recoded one is very small, the two signals are deemed to be matched.
The LMSE method is shown as below:

where Ei = (T0 - T0') or (T1 - T1'), T0' and T1' mean the data recorded; T0 and T1
are the received new data.
[0038] Because the square wave segments matrixes are stored in Memory 6, the remote control
commands are saved in Memory 7, and the mapping relation (list) in the Mapping Module
can be separated from other source code, it is possible that the user can download
these data to the STB from an IPTV server, a network server, a manufacturer's server,
etc. In development, it's also possible for a developer to add this remote control
signal data to firmware. If we use different remote control, we only need change this
file in baseline.
[0039] The above embodiment was described as applied to a n STB. However, as the invention
may be adapted to other devices with a remote control, for example, a digital TV,
air conditioner, etc.
1. A method for associating a remote control with an apparatus for control of the apparatus,
comprising the steps, at the level of the apparatus, of:
during a learning mode
receiving (240) a signal from the remote control;
recording (250) a representation of the remote control signal;
associating (270) said representation with a control function of the apparatus; and
during a control mode, carrying out (770) said control function in response to the
reception of a remote control signal corresponding to the recorded representation.
2. The method according to claim 1, wherein the representation of the remote control
signal comprises a combination of the duration of the high level parts and low level
parts of the square wave of the remote control signal.
3. The method according to claim2, wherein the combination of the duration of the high
level parts and low level parts and/or the control function, and/or the associating
relationship is stored in the apparatus or on a network server.
4. The method according to claim 1 or 2, wherein the learning mode is entered by accessing
a menu of the apparatus.
5. The method according to claim 4, it further comprising the step of triggering said
associating step for a given control function in response to selection of a feature
in the menu.
6. The method according to claim 5, wherein the menu is accessed and/or the feature is
selected by using a front panel of the apparatus or by a remote control.
7. The method according to claim 6, wherein the feature is displayed with a description
identifying a control function associated with the feature.
8. An apparatus (100) associated with a remote control, which comprises
an infrared signal receiver (2) adapted to receive a remote control signal;
a learning and recording module (5) adapted to record a representation of the remote
control signa and to associate said representation with a control function of the
apparatus;
a processor (11) adapted to carry out said control function in response to the reception
of a remote control signal corresponding to the recorded representation.
9. The apparatus (100) according to claim 8, wherein the representation of the remote
control signal comprises a combination of the duration of the high level parts and
low level parts of the square wave of the remote control signal.
10. The apparatus (100) according to claim 9, wherein the combination of the duration
of the high level parts and low level parts and/or the control function, and/or the
associating relationship is stored in the apparatus or on a network server.
11. The apparatus (100) according to claim 8 or 9, wherein there is a mode selection module
(1) used to operatively make the apparatus enter into the learning mode.
12. The apparatus (100) according to claim 11, wherein the mode selection module (1) is
a menu with at least a feature shown on it, and when the feature is selected, the
associating said representation with the control function of the apparatus is triggered.
13. The apparatus (100) according to claim 12, wherein the menu is accessed and/or the
feature is selected by using a front panel of the apparatus (100) or by a remote control.
14. The apparatus (100) according to claim 13, wherein the feature is displayed with a
description identifying a control function associated with the feature.