以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<遠隔制御システムの全体構成>
図1は、本発明の実施の形態に係る遠隔制御システムの概略構成図である。本実施の形態では、家屋内に設置された電気機器を遠隔から制御するシステムを例示するが、被制御対象の電気機器は、家屋内に設置されたものに限定されるものではない。
図1を参照して、遠隔制御システムは、電気機器としてリビングに設置されたテレビ(テレビション)200Aおよび照明200B、子供部屋に設置されたエアコン(エアコンディショナ)200C、ならびに寝室に設置されたブラインド装置200Dおよび照明200Eを含み、これら電気機器それぞれに対応して個別に設けられた専用のリモコン(リモートコントローラの略)300A、300B、300C、300Dおよび300Eを含む。リモコン300Aはテレビ200Aを遠隔操作するために、リモコン300Bは照明200Bを遠隔制御するために、リモコン300Cはエアコン200Cを遠隔制御するために、リモコン300Dはブラインド装置200Dを遠隔制御するために、およびリモコン300Eは照明200Eを遠隔制御するために、それぞれユーザにより操作される。ここでは、テレビ200A、照明200B,200E、エアコン200Cおよびブラインド装置200Dを、電気機器200A〜200Eと総称する場合があり、また、リモコン300A、300B、300C、300Dおよび300Eをリモコン300A〜300Eと総称する場合がある。
遠隔制御システムは、さらに、部屋毎の学習リモコンと、学習リモコンと通信するコントローラ100を含む。学習リモコンは、リビングの学習リモコン400A、子供部屋の学習リモコン400Bおよび寝室の学習リモコン400Cを含む。ここでは、学習リモコン400A、400Bおよび400Cを学習リモコン400A〜400Cと総称する場合がある。
遠隔制御システムでは、コントローラ100と学習リモコン400A〜400Cは、IP(Internet Protocol)またはZigBee(登録商標)のプロトコルに従って有線または無線で通信し、学習リモコン400A〜400Cと、リモコン300A〜300Eおよび電気機器200A〜200Eは、赤外線(IR:Infrared)またはBluetooth(登録商標)などのプロトコルに従って無線で通信する。なお、通信形態はこれらに限定されない。説明のために、本実施の形態では、学習リモコン400A〜400Cと、リモコン300A〜300Eおよび電気機器200A〜200Eとは赤外線通信をすると想定する。
<コントローラ100の構成>
次に、本実施の形態に係るコントローラ100の構成の一態様について説明する。図2は、本実施の形態に係るコントローラ100のハードウェア構成を表わすブロック図である。コントローラ100は、通信機能有したコンピュータであって、壁掛けタイプ、テーブル上に載置するタイプおよび携帯タイプのタブレット端末などとして提供される。
コントローラ100は、メモリ101、ディスプレイ102、タブレット103、ボタン104、通信インターフェイス105、スピーカ107、時計108、およびCPU(Central Processing Unit)110を含む。
ディスプレイ102は、CPU110によって制御されることによって、各種の情報を表示する。タブレット103は、ユーザの指などによるタッチ操作を検出して、タッチ位置を示す座標などをCPU110に出力する。CPU110は、タブレット103からの出力から、ユーザ操作による命令を受付ける。ディスプレイ102およびタブレット103は一体的に構成されたタッチパネル106として提供される。タッチパネル106は、ユーザ操作を受付ける操作受付部に相当する。
通信インターフェイス105は、学習リモコン400A〜400Cと通信する機能と、図示のない外部端末またはネットワークと通信する機能を有する。
メモリ101は、各種のRAM(Random Access Memory)や、ROM(Read-Only Memory)や、ハードディスクなどによって実現される。メモリ101は、CPU110によって実行される制御プログラム、後述のID(Identifier)を格納するためのテーブル101A、101Bおよび101Cなどを記憶する。
本実施の形態では、メモリ101には、部屋毎、すなわち学習リモコン400毎に対応してIDのテーブルが格納される。具体的には、リビングに対応のテーブル101A、子供部屋に対応のテーブル101Bおよび寝室に対応のテーブル101Cである。これらテーブルに格納されるデータは異なるものの、テーブルの構成は同じである。詳細は図9で後述する。
CPU110は、メモリ101に記憶されている各種のプログラムを実行することによって、後述の図8のシーケンスに従う処理を実現する。コントローラ100における処理は、各ハードウェアおよびCPU110により実行されるソフトウェアによって実現される。このようなソフトウェアは、メモリ101に予め記憶されている場合がある。また、ソフトウェアは、記憶媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。
このようなソフトウェアは、図示しない読取装置を利用することによってその記憶媒体から読み取られて、あるいは、通信インターフェイス105を利用することによってダウンロードされて、メモリ101に一旦格納される。CPU110は、ソフトウェアを実行可能なプログラムの形式でメモリ101に格納してから、当該プログラムを実行する。
なお、記憶媒体としては、CD−ROM(Compact Disc - Read Only Memory)、DVD−ROM(Digital Versatile Disk - Read Only Memory)、USB(Universal Serial Bus)メモリ、メモリカード、FD(Flexible Disk)、ハードディスク、磁気テープ、カセットテープ、MO(Magnetic Optical Disc)、MD(Mini Disc)、IC(Integrated Circuit)カード(メモリカードを除く)、光カード、マスクROM、EPROM、EEPROM(Electronically Erasable Programmable Read-Only Memory)などの、不揮発的に、すなわち非一時的にプログラムを格納する媒体が挙げられる。
ここでいうプログラムとは、CPU110により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
<リモコン300A〜300Eの構成>
図3は、本発明の実施の形態に係るリモコンの構成図であり、図3の(A)と(B)には、リモコン300Bと300Eの構成が示される。なお、リモコン300A〜300Eは同様の構成を有するので、ここでは照明用のリモコン300Bと300Eを代表して説明する。
図3の(A)を参照して、リモコン300Bは、メモリ301B、ユーザが操作する複数個のボタンを有する操作部304B、IR通信部306B、およびこれら各部を制御するCPU310Bを備える。
メモリ301Bにはコード変換テーブル302Bが格納される。コード変換テーブル302Bには、操作部304Bのボタンの複数種類の操作パターン(ボタンの種類、ボタンの操作順番など)と、各操作パターンに対応して信号コードが格納されている。CPU310Bは、操作部304Bのボタンが操作されるとき、その操作パターンを検出し、検出する操作パターンに基づきコード変換テーブル302Bを検索し、対応する信号コードを読出し、IR通信部306Bに出力する。
IR通信部306Bは、IR信号を送信するための発光ダイオードなどの発光素子を含む。IR通信部306Bは、与えられる信号コードに従って発光素子の発光を制御することにより、発光素子から信号コードによって変調されたIR信号を送信する。IR通信部306Bは、さらに光電変換素子を備えてもよい。光電変換素子を備える場合には、受信したIR信号を光電変換素子により復調し、復調によって信号コードを取得する。
図3の(B)を参照して、リモコン300Eは、コード変換テーブル302Eを格納するメモリ301E、ユーザが操作する複数個のボタンを有する操作部304E、IR通信部306E、およびこれら各部を制御するCPU310Bを備える。
リモコン300Eの各部の機能およびコード変換テーブル302Eの構成は、上述したリモコン300Bのそれらと同様であり、説明を繰り返さない。
<学習リモコン400A〜400Cの構成>
図4は、本発明の実施の形態に係る学習リモコンの構成図であり、図4の(A)と(B)には、学習リモコン400Aと400Cの構成が示される。本実施の形態では、学習リモコン400A〜400Cは同様の構成を有するので、ここではリビングと寝室に設置された学習リモコン400Aと400Cを代表して説明する。
図4の(A)を参照して、学習リモコン400Aは、メモリ401、IR通信部402、通信インターフェイス405、およびメモリ401のプログラムに従ってこれら各部を制御するCPU410を含む。
CPU410は、通信インターフェイス405を介してコントローラ100または他の学習リモコンと通信し、IR通信部402を介してリモコン300A,300Bならびにテレビ200A,照明200Bと通信する。IR通信部402は、IR信号を送信するための受光ダイオードなどの発光素子をおよび光電変換素子に相当する受光素子を有して、IR信号の送受信を行う。
メモリ401Aには、信号コードテーブル403Aが格納される。信号コードテーブル403Aには、リモコン300Aまたは300Bから受信するIR信号を光電変換素子で復調することにより取得する信号コードと、当該信号コードを一意に識別するための番号データとが対応付けて格納される。また、CPU410Aは信号コードテーブル403Aから読出す信号コードをIR通信部402Aに与え、IR通信部402Aは与えられる信号コードに基づき発光素子の発光動作を制御する。発光素子からは信号コードにより変調されたIR信号が送信される。
図4の(B)を参照して、学習リモコン400Cは、信号コードテーブル403Cを格納するメモリ401C、IR通信部402C、通信インターフェイス405C、およびメモリ401Cのプログラムに従ってこれら各部を制御するCPU410Cを含む。
学習リモコン400Cの各部の機能および信号コードテーブル403Cの構成は、上述した学習リモコン400Aのそれらと同様であり、説明を繰り返さない。
本実施の形態では信号コードは、電気機器200A〜200Eの動作を遠隔制御するための制御コードに相当する。
<電気機器200A〜200Eの構成>
図5は、本発明の実施の形態に係る照明200Bの構成図である。本実施の形態では、電気機器200A〜200Eは同様の構成を有し、ここでは図5の(A)と(B)に照明200Bと200Eを代表して説明する。
図5の(A)を参照して、照明200Bは、メモリ201B、LED(Light Emitting Diode)などの光源であるライト202B、各部に電力を供給する電源部204B、コントローラ100などの外部装置と通信するための通信インターフェイス205B、IR通信部206B、およびこれら各部をメモリ201Bのプログラムに従って制御するためのCPU210Bを含む。
メモリ201Bは、CPU210Bによって実行される制御プログラムおよび通信インターフェイス205BおよびIR通信部206Bから受信したデータなどを記憶する。
図5の(B)を参照して、照明200Eは、メモリ201E、ライト202E、電源部204E、通信インターフェイス205E、IR通信部206E、およびCPU210Eを含む。照明200Eの各部の機能は、上述した照明200Bのそれらと同様であり、説明を繰り返さない。
本実施の形態に係る電気機器200A〜200Eのその他の機器も、図5に示す照明200Bと200Eの構成に加えて、ユーザからの制御命令を受け付けるための入力部(ボタン、タッチパネルなど)を備えてもよい。また、テレビ200Aであれば、ライト202B,202Eに替えてディスプレイ,スピーカを備え、エアコン200Cであればライト202B,202Eに替えて空調機能部を備え、ブラインド装置200Dであればライト202B,202Eに替えて羽根などの開閉部を備えることでよい。
<通信信号のフォーマット>
本実施の形態に係る通信フォーマット例を説明する。図6は、本発明の実施の形態に係るIR信号のフォーマットを示す図である。図7は、本発明の実施の形態に係るコントローラ100または学習リモコンとの通信フォーマットを示す図である。
図6を参照して、IR信号は信号コード(制御コード)を示す0,1のビットパターンによるパルス状の信号として示される。そのフォーマットは、図示されるように電気機器200A〜200Eのメーカ独自のコードを表すカスタムコード、カスタムコードに続くデータコードを含む。これらコードを挟むように先頭コードを示すリーダコードおよび終端を示すストップビットを含む。カスタムコードおよびデータコードにより電気機器200A〜200Eを制御するためのIR信号による信号コードが表される。
電気機器200A〜200Eのメモリには予め機種を示すメーカコードが格納されており、CPUは、受信するIR信号を復調してカスタムコードから取得したメーカコードと、メモリに予め格納されているメーカコードとを比較し、比較結果、一致と判定すると当該IR信号は自己宛ての信号と判定し、信号コードに従って動作を制御する。一方、不一致と判定すると当該IR信号を破棄する。
本実施の形態では、コントローラ100または学習リモコンとの通信インターフェイスを介した通信には図7のフレーム700が用いられる。フレーム700は、通信の順序を示すシーケンス番号701、宛先のアドレスなどを示す宛先データ、送信元のアドレスを示す送信元データ、転送すべきデータ本体(コマンド、IDなど)を示すペイロード704、およびFCS(Frame Check Sequence)を含む。コントローラ100のメモリ101および学習リモコン400A〜400Bのメモリには自己のアドレスが予め格納されている。フレーム700を受信したとき、受信したフレーム700の宛先データ702のアドレスとメモリの自己アドレスとを照合する。その結果、一致しているとき自己宛てのフレーム700と判定し当該フレーム700を処理するが、自己宛てではないと判定したとき当該フレーム700を破棄する。
本実施の形態では、コントローラ100との通信にはフレームを用いるとしたが、フレームに代替してパケットを用いてもよい。
<学習モード>
本実施の形態では、コントローラ100と学習リモコン400A〜400Cは、学習モードを含む複数種類の動作モードを有する。
本実施の形態では、図1のネットワークによる遠隔制御システムにより、電気機器200A〜200Eを遠隔制御するために、コントローラ100と各部屋に設置された学習リモコン400A〜400Cが連携する。具体的には、コントローラ100は、電気機器200A〜200Eの制御コマンド(例:リビングのテレビ200Aの電源OFFの命令等)を、学習リモコン400A〜400Cを経由して送信する。この場合において、コントローラ100は当該コマンドを示す制御コードそのものではなく、被制御対象である電気機器を、制御コードを識別するIDを送信する。コントローラ100は、学習モードにおいて、習リモコン400A〜400Cと通信することによりIDを取得する。
学習モードに切替えるために、ユーザはコントローラ100のタッチパネル106を操作し、また学習リモコン400A〜400Cの図示のない外部スイッチを操作する。CPU110は、タッチパネル106からの操作を受付け、受付けた操作内容に従い、動作モードを学習モードに切替える。また、学習リモコン400A〜400CのCPUは外部スイッチからの出力に従い動作モードを学習モードに切替える。
<通信シーケンス>
図8は、本発明の実施の形態に係る通信シーケンスを示す図である。図9は、テーブルの変化を説明するための図である。図10は操作のメニュー画面例を示す図である。これら図を参照して、照明200Bの制御コードのIDを学習する場合を説明する。
学習モードにおいて、ユーザはコントローラ100のタッチパネル106を操作すると、ディスプレイ102にはテーブル101Aのデータに従う図10の(A)のメニュー画面が表示される(ステップS1)。具体的には、CPU110は、操作に従って、メモリ101のテーブル101A(図9の(A))からデータを読出し、読出したデータに従って画面データを生成し、生成した画面データの画面をディスプレイ102に表示する。
ここで、テーブル101Aには、図9の(A)に示すように、リビングに設置された電気機器のそれぞれに対応して、制御内容(当該電気機器を識別するための機器名、当該機器のための複数種類の制御コードなど)、および対応の識別子のIDが格納される。図9の(A)では、テレビ200Aについて“電源OFF”する制御コードのみ学習されており、対応するIDは“1”が割当てられている。他の種類の制御コードについては未学習であり、IDは不定(“−”)である。図10の(A)では、学習されてIDが割当てられている制御内容のみが反転表示などされて、表示態様を異ならせている。
ユーザは、メニュー画面から未学習の制御内容を確認することができる。ここで、制御内容として“リビングの照明200Bの電源ON”にIDを割当てることを要求する学習を希望し、タッチパネル106を操作しメニュー画面から“リビングの照明200Bの電源ON”の項目を選択すると(ステップS1)、CPU110は選択操作を受付け、受付けた操作に従う“学習命令”を格納したフレーム700を生成し、通信インターフェイス105を介し送信する(ステップS3)。
このフレーム700は、宛先データ702はブロードキャストアドレスを示し、送信元データ703は“コントローラ100”のアドレスを示し、ペイロード704は“学習命令”を示す。コントローラ100のアドレスは、メモリ101に予め格納されている。
なお、“学習命令”は、学習リモコン400Aに対して、信号コードテーブル403Aに信号コードに対応するIDの格納(割当て)を要求する学習要求と、割当てたIDのコントローラ100への送信を要求する送信要求とを含む。
フレーム700は、全ての学習リモコン400A〜400Bによって受信されるが、学習モードに切替えられた学習リモコン400Aのみが当該フレームを処理し、他の学習リモコン400Bと400Cは受信したフレーム700を破棄する。
なお、ステップS3で送信されるフレーム700の宛先データ702は、ブロードキャストアドレスではなく、選択操作で指定される部屋名(“リビング”)に基づき特定された学習リモコン400Aのアドレスを示すようにしてもよい。つまり、メモリ101には各部屋名に対応して、当該部屋に設置された学習リモコンのアドレスが予め格納される、または各部屋に対応のテーブル101A〜101Cのそれぞれに関連付けて学習リモコンのアドレスが格納されているとする。これにより、CPU101は受付けた選択操作が示す“部屋名”に基づきメモリ101を検索し、当該フレーム700のための宛先アドレスを読出すことができる。学習リモコン400A〜400Bのアドレスは、たとえばMAC(Media Access Control address)アドレスなどである。
学習リモコン400AのCPU410はフレーム700のペイロード704を解析し、ペイロード704の“学習命令”の学習要求に応じて学習スタンバイ状態となる(ステップS5)。
一方、ユーザはリモコン300Bの操作部304Bにおいて“電源ON”を指令するためのボタン操作をする(ステップS7)。CPU310Bは、操作を受付け、受付けた操作パターンを応じた信号コードを示すIR信号を、IR通信部306Bを介し学習リモコン400Aに送信する(ステップS9)。ここでは、ユーザはリモコン300Bを学習リモコン400Aに接近させて操作することにより、学習リモコン400Aはリモコン300BからのIR信号を確実に受信することができる。
学習リモコン400AのCPU410は、受信するIR信号から取得される信号コードを信号コードテーブル403Aに格納する(ステップS11)。このとき、図9の(C)に示すように、信号コードテーブル403Aには番号データが“1”の信号コードは既に格納されている。したがって、ステップS11では、空きの番号データに対応付けて信号コードを格納する。ここでは、番号データ“2”に対応付けて信号コードを格納したと想定する。したがって、信号コードテーブル403Aのデータは、図9の(C)から図9の(D)に変化する。
CPU410は、“学習命令”のID送信要求に応じて、信号コードテーブル403Aにおいて、格納された信号コードに対応付けされた番号データ“2”を示すIDをペイロード704として有するフレーム700を生成し、“学習命令”の応答としてコントローラ100宛てに送信する(ステップS13)。
コントローラ100のCPU10は、学習リモコン400Aからフレーム700を受信すると、ペイロード704のID=2を読出し、テーブル101Aに格納する(ステップS15)。具体的には、テーブル101Aを、ステップS1の操作で選択された項目“照明200Bの電源ON”で検索し、当該選択項目に一致する制御内容(“機器名+制御コード”)に対応したIDとして“2”を格納する。
その後、CPU110は、学習リモコン400Aに学習モードの終了コマンドを通知し、その後、学習モードから元の通常動作モードに復帰する(ステップS17)。また、学習リモコン400も、終了コマンドを受信すると学習モードから元の通常動作モードに復帰する。これにより、学習モードは終了する。
このような学習により、テーブル101Aは、学習前の図9の(A)の状態から、図9の(B)の学習後の状態に変化する。
なお、図8では、リモコン300Bから学習リモコン400Aへの信号コード送信(ステップS9)に先だって、コントローラ100から学習リモコン400Aへの学習命令の送信(ステップS3)を行うようにしたが、この逆であってもよい。すなわち、学習リモコン400Aがリモコン300Bから信号コードを受信し、信号コードテーブル403Aに格納することでIDの値が決定された後に、当該IDの学習命令が学習リモコン400Aに送信されるとしてもよい。
<通常動作モード>
通常動作モードでは、コントローラ100は、学習がされたテーブル101AのIDを用いて、ユーザが所望する電気機器の動作を遠隔制御することができる。
図8を参照して、コントローラ100のCPU110は、タッチパネル106を介してユーザ操作を受付けると、ディスプレイ102に、図9の(B)の学習後のテーブル101Aのデータによる図10の(B)のメニュー画面を表示する(ステップS29)。
ユーザはメニュー画面から所望する制御内容を選択的に操作すると、CPU110は選択操作に従ってテーブル101Aを検索する(ステップS31)。たとえば、“リビングの照明200Bの電源ON”の制御内容が選択的に指定操作されると、CPU110は、操作内容に従ってメモリ101を検索し、テーブル101Aから制御内容(“照明200Bの電源ON”)に一致する“機器名+制御コード”に対応したID(=2)を読出す。
CPU110は、読出したID=2をペイロード704に有するフレーム700を生成し、通信インターフェイス105から送信する(ステップS33)。このフレーム700は、宛先データ702として学習リモコン400Aのアドレスを有する。
学習リモコン400Aは、コントローラ100からフレーム700を受信すると、受信するフレーム700のペイロード704が示すIDに基づき、信号コードテーブル403Aを検索する(ステップS35)。検索により、当該IDの値を示す番号データに対応する信号コードを読出し、IR通信部402Aに出力する。
IR通信部402Aは、入力する信号コードに従うIR信号を送信する。このIR信号はテレビ200Aと照明200Bにより受信されて、テレビ200Aと照明200BそれぞれのCPUは、IR信号を復調し信号コードを取得し、信号コードから自己宛てのIR信号か否かを判定する。この場合、照明200Bは自己宛てと判定するが、テレビ200Aは自己宛てではないと判定し当該信号コードを破棄する。
自己宛てと判定した照明200BのCPU210Bは、復調して取得した信号コードに従って電源部204Bの動作を制御する(ステップS43)。これにより、照明200Bの電源はONされる。
本実施の形態では、識別子(ID)は、たとえば番号の値を示すことから、IDを送信するための通信量は、信号コードを送信するための通信量よりも少なくすることができる。
<学習データの消去>
上述の学習モードで登録したデータは、学習モードの通信処理と同様の手順を用いて消去することもできる。
具体的には、コントローラ100のでは図10のようなメニュー画面を表示すると、ユーザはメニュー画面から消去したい学習データ(リビングの照明200Bの電源ON等)を選択的に指定する。CPU110は操作内容に基づき、テーブル101Aから“照明200Bの電源ON”を示す“機器名+制御コード”に対応のIDを検索する。
また、コントローラ100は、学習リモコン400Aに対して“消去命令”と共に、検索により読出したIDの値(=2)を送信する。
学習リモコン400Aでは、コントローラ100から消去命令を受信すると、消去命令とともに受信したIDの値(=2)に基づき信号コードテーブル403Aを検索し、番号データが“2”の信号コードを削除する。そして、コントローラ100に削除成功を返信する。
コントローラ100は、削除成功の返信を受信すると、テーブル101Aの“照明200Bの電源ON”を示す“機器名+制御コード”に対応のID(=2)の値を不定“−”に書換える。これにより、学習データの消去は完了する。
<変形例1>
上述の学習モードでは、学習リモコン400A〜400Cは、電気機器200A〜200Eの専用のリモコン300A〜300Cから学習するべき信号コードを受信するようにしていたが、当該信号コードの取得方法は、これに限定されない。たとえば、学習リモコン400A〜400Bが着脱自在に装着される記憶媒体から信号コードを読出すことにより、またはインターネットなどのネットワークからのダウンロードにより取得するとしてもよい。
<変形例2>
上述の実施の形態では、学習リモコン400Aは、信号コードテーブル403Aに信号コードと当該信号コードの識別子(番号データの値)とを対応付けて記憶するようにしたが、識別子はこれに限定されない。つまり、信号コードテーブル403Aには信号コードと識別子とが対応付けて格納される必要はない。言い換えると、信号コードテーブル403Aには、識別子が対応付けされる信号コードが格納されればよい。たとえば、識別子を学習リモコン400Aのメモリ401Aにおける信号コードの格納アドレス(メモリ番地)とするという方法であってもよい。具体例として、識別子として、信号コードテーブル403Aにおける信号コードを格納した領域の先頭アドレスを用いる場合を、以下の(1)〜(3)に従い説明する。
(1)学習リモコン400A側では、信号コード格納時に、当該信号コードが格納された領域の先頭アドレス(格納メモリ番地)を取得し、取得した先頭アドレスを、識別子としてコントローラ100へ送信する。このように、信号コードテーブル403Aには、信号コードのみが格納されて、識別子が対応付けされて格納されるわけではない。
(2)コントローラ100からの操作時には、コントローラ100は、識別子(=先頭アドレス(格納メモリ番地))を学習リモコン400Aに送信する。
(3)学習リモコン400Aは、コントローラ100から送られてきた先頭アドレス(格納メモリ番地)に基づき信号コードテーブル403Aを検索する。そして、検索により、信号コードテーブル403Aの当該先頭アドレスから始まる領域に格納されている信号コードを読出し、そのまま電気機器に送信することで電気機器を制御する。
ここで、識別子として上記の格納アドレスだけを用いる場合には、信号コードテーブル403Aではデフラグなどのように信号コード格納領域の再配置はなされないものとする。そして(a)全ての信号コードは予め定められたの長さを有する、または(b)信号コードの識別子を当該信号コードが格納された領域の先頭アドレスと終端アドレスのペアであるとすれば、信号コード長が不明の場合であっても、確実に識別子(格納メモリ番地)で指定される信号コードを取得することができる。
<変形例3>
上述の学習モードでは、1個のIDを学習するようにしたが、学習する単位はこれに限定されない。たとえば、信号コードテーブル403Aに連続して3個の信号コードを登録した後に、これら3個の信号コードの番号データのIDを学習するようにしてもよい。
また、信号コードテーブル403Aの全ての信号コードについてのIDを学習するようにしてもよい。つまり、学習リモコン400Aの信号コードテーブル403Aにテレビ200Aおよび照明200Bを制御するための信号コードを全て登録しておき、コントローラ100は、ユーザ操作に従って、“学習命令”とともに“制御コード全てを要求”のフレーム700を学習リモコン400Aに送信する。学習リモコン400Aは、当該学習命令を受信すると、信号コードテーブル403Aの全てのデータをコントローラ100に送信する。
具体的には、信号コードテーブル403Aには、テーブル101Aの“機器名+制御コード”が格納される順番と一致した順番で、対応する信号コードが格納されていると想定する。動作において学習リモコン400AのCPU410Aは、学習命令を受信すると、信号コードテーブル403Aの信号コードが割当てられた番号データをテーブルの先頭から読出し、読出した順番で送信する。コントローラ100は、この順番で番号データを受信し、受信した順に従って番号データの値を、テーブル101Aの先頭から格納する。これによりテーブル101AにおけるIDの学習は完了する。
また、信号コードテーブル403Aには、テーブル101Aの“機器名+制御コード”が格納される順番と一致した順番で、対応する信号コードが格納されていると想定すれば、コントローラ100はタッチパネル106からのユーザ操作に従って、n番目からN個の信号コードを指定して学習することもできる。
<コピーモード>
本実施の形態では、学習リモコンが学習モードで取得した学習結果を、他の学習リモコンに転送し、他の学習リモコンの信号コードテーブルに格納することができる。これを学習データのコピーという。コントローラ100および学習リモコン400A〜400Cは、学習データのコピーをするために動作モードとしてコピーモードを有する。
本実施の形態では、学習リモコン400A〜400Cは、コピーされるべき制御コードを有するコピー元と、当該制御コードのコピー先とのいずれにもなり得る。学習リモコン400A〜400CそれぞれのCPUは、コピー元として動作するためのコピー元機能と、コピー先として動作するためのコピー先機能とを備える。コピー元機能とコピー先機能とは排他的に能動化される。すなわち、学習リモコンではCPUは、コントローラ100からのコピー指令に従って両機能のうち一方機能のみを選択的に能動化し、他方の機能は能動化せず待機させるようにして、同時に両機能が能動化されることがないよう制御する。
動作モードをコピーモードに切替えるために、ユーザはコントローラ100のタッチパネル106を操作し、また学習リモコン400A〜400Cの図示のない外部スイッチを操作する。コントローラ100のCPU110は、タッチパネル106からの操作を受付け、受付けた操作内容に従い、動作モードをコピーモードに切替える。また、学習リモコン400A〜400CのCPUは図示しない外部スイッチからの出力に従い動作モードをコピーモードに切替える。
図11は、本発明の実施の形態に係る学習データコピーの通信シーケンスを示す図である。図12は、本発明の実施の形態に係る学習データをコピーする場合のコントローラ100のテーブルの変化を示す図である。図13は、本発明の実施の形態に係る学習データをコピーする場合の信号コードテーブルの変化を示す図である。
図11では、たとえば、コントローラ100と、学習リモコン400Aと400Cはコピーモードに設定されると想定し、テーブル101Aと101Cは図12の(A)と(B)のようにデータが格納されており、学習リモコン400Aの信号コードテーブル403Aと学習リモコン400Cの信号コードテーブル403Cには、図13の(A)と(B)のようにデータが格納されていると想定する。この場合において、学習リモコン400Aは信号コードテーブル403Aに格納したデータを、他の学習リモコン400Cに転送し、学習リモコン400Cは学習リモコン400Aから受信したデータを信号コードテーブル403Cに格納する。なお、学習データのコピーは、学習リモコン400Aと学習リモコン400Cの間でのコピーに限定されるものではなく、異なる学習リモコンの間であればよい。
ここでは、照明200Bと照明200Eは同一の機種であり、学習リモコン400Aが学習した照明200Bの電源ONの信号コードを、照明200Eの電源ONの信号コードとして学習リモコン400Cが学習する場合を説明する。
まず、コントローラ100のCPU110は、タッチパネル106からコピー指令入力のためのユーザ操作を受付ける(ステップT1)。
具体的には、CPU110は、ディスプレイ102に、図12の(A)と(B)のテーブル101Aとテーブル101Cに基づく操作メニュー画面を表示する。操作メニュー画面は、図10の(A)と(B)に示すような画面である。ユーザは画面を確認し、タッチパネル106から、“リビングの照明200Bの電源ON”について学習されたデータを“寝室の照明200E”のデータにコピーする旨のコピー指令の入力操作をする。
CPU110は、操作を受付けると、操作によって入力されたコピー指令に従ってテーブル101A(図12の(A)参照)を検索することにより“照明200Bの電源ONのID=2”を取得する。CPU110は、取得した検索結果から“学習リモコン400A(コピー元端末)の照明200Bの電源ONのID=2を、学習リモコン400C(コピー先端末)にコピーする”とのコマンド(命令)をペイロード704に有するフレーム700を生成し、生成したフレーム700を、学習リモコン400Aと400C宛てに送信する(ステップT3、T5)。このフレーム700の宛先データ702を示す学習リモコン400Aと400Cのアドレスは、コピー指令に基づきメモリ101を検索することで取得できる。
学習リモコン400Aでは、CPU410Aは自己宛てのフレーム700を受信すると、受信フレーム700のペイロード704のコピー指令に基づきコピー元機能が能動化され、以下、コピー元機能により処理が実行される。
まず、受信フレーム700のペイロード704のコマンドが示すIDの値(=2)に基づき、信号コードテーブル403A(図13の(A)参照)を検索する。検索により、当該ID値に一致する番号(=2)と対応の信号コードを信号コードテーブル403Aから読出す(ステップT7)。
CPU410Aは、読出した“番号+信号コード”をペイロード704に有するフレーム700を受信したコマンドに従って生成し、コピー先端末である学習リモコン400C宛てに送信する(ステップT9)。
学習リモコン400Cでは、CPU410CはステップT5により受信したフレーム700のペイロード704のコピー指令を解析し、解析結果に基づきコピー先機能が能動化され、以下、コピー先機能により処理が実行される。
コピー先機能は、コピー指令を受信すると学習リモコン400Cをコピー待機モードとする。コピー待機モードで、ステップT9においてコピー元端末である学習リモコン400Aが送信するフレーム700を受信すると、CPU410Cは、受信フレーム700のペイロード704の“番号+信号コード”を抽出し、信号コードテーブル403Cに格納する(ステップT11)。
このとき、信号コードテーブル403Cには図13の(B)のようにデータが格納された状態であったと想定する。CPU401Cは、抽出した“番号+信号コード”のうちの“番号”(=2)に基づき信号コードテーブル403Cを検索する。検索により、同一番号(=2)に既に信号コードが格納されているか否かを判定する。図13の(B)の信号コードテーブル403Cでは、既に信号コードが格納されていると判定するので、受信した信号コードを、信号コードテーブル403Cの空きの番号、たとえば番号(=3)を割当て、当該番号に対応付けて格納する。これにより、信号コードテーブル403Cのデータは、図13の(B)から図13の(C)に更新される。一方、検索により、同一番号(=2)に未だ信号コードが格納されていないと判定すると、受信した信号コードに、信号コードテーブル403Cの同一番号(=2)を割当て、当該番号に対応付けて格納する。
その後、学習リモコン400CのCPU410Cは、ステップT5のコマンドに対する応答を有するフレーム700をコントローラ100宛てに送信する(ステップT13)。
具体的には、応答のフレーム700にはペイロード704として(2,3)の組が格納される。この組は、「指示されたID=2の信号コードは、信号コードテーブルの番号(=3)に格納した」ことを通知するものである。
コントローラ100のCPU110は、応答のフレーム700を受信すると、受信したフレーム700のペイロード704から(2,3)の組を抽出し、抽出した(2,3)に基づくデータをテーブル101Cに格納する(ステップT15)。具体的には、テーブル101Cにおいて“照明+電源ON”を示す“機器名+制御コード”に対応したIDの値(不定:−)を“3”に更新する。これにより、テーブル101Cのデータは図12の(B)から図12の(C)に更新される。以上でコピーモードは終了し、コントローラ100および学習リモコン400Aと400Cは通常の動作モードに移行する。
これにより、学習モードに移行せずとも、照明200Eの信号コードを信号コードテーブル403Cに格納し、その後、コントローラ100は対応のIDを学習リモコン400Cに送信することで、照明200Eの電源204BをONするように遠隔制御することができる。
ここでは、学習リモコン400Aが学習した照明200Bの電源ONの信号コードを、照明200Eの電源ONの信号コードとして学習リモコン400Cが学習する場合を説明したが、これに限定されない。つまり、学習リモコン400Cが学習モードで学習した照明200Eの電源204EをONする信号コードを、照明200Bの電源204BをONする信号コードとして学習リモコン400Aが学習するとしてもよい。
このように、学習リモコン400Aと学習リモコン400Cとの通信により、学習リモコン400Aについて学習したデータを、他の学習リモコン400Cの学習データとしてコピーすることができる。学習データのコピー処理によれば、図8の学習モードの通信シーケンスよりも少ない通信トラフィック(図11参照)で、図8で学習した場合と同様の結果を取得することができる。
<一括コピーモード>
上述したコピー処理では、1個の信号コードについてコピーしたが、本実施の形態では、複数個の信号コードについて一括してコピーすることもできる。これを学習データの一括コピーという。
コントローラ100および学習リモコン400A〜400Cは、動作モードとして一括コピーモードを有する。動作モードを一括コピーモードに切替えるために、ユーザはコントローラ100のタッチパネル106を操作し、また学習リモコン400A〜400Cの図示のない外部スイッチを操作する。コントローラ100のCPU110は、タッチパネル106からの操作を受付け、受付けた操作内容に従い、動作モードを一括コピーモードに切替える。また、学習リモコン400A〜400CのCPUは図示しない外部スイッチからの出力に従い動作モードを一括コピーモードに切替える。
図14は、本発明の実施の形態に係る学習データの一括コピーの通信シーケンスを示す図である。図15は、本発明の実施の形態に係る学習データを一括コピーする場合のコントローラ100のテーブルの変化を示す図である。図16は、本発明の実施の形態に係る学習データを一括コピーする場合の信号コードテーブルの変化を示す図である。
図14では、たとえば、コントローラ100と、学習リモコン400Aと400Cは一括コピーモードに設定されると想定し、テーブル101Aと101Cは図15の(A)と(B)のようにデータが格納されており、学習リモコン400Aの信号コードテーブル403Aと学習リモコン400Cの信号コードテーブル403Cには、図16の(A)と(B)のようにデータが格納されていると想定する。この場合において、コピー元機能が能動化される学習リモコン400Aは信号コードテーブル403Aに格納したデータを一括して、他の学習リモコン400Cに転送し、コピー先機能が能動化される学習リモコン400Cは学習リモコン400Aから受信したデータを信号コードテーブル403Cに格納する。なお、学習データの一括コピーは、学習リモコン400Aと学習リモコン400Cの間でのコピーに限定されるものではなく、異なる学習リモコンの間であればよい。
まず、コントローラ100のCPU110は、タッチパネル106から一括コピー指令入力のためのユーザ操作を受付ける(ステップR1)。
具体的には、CPU110は、ディスプレイ102に、図15の(A)と(B)のテーブル101Aとテーブル101Cに基づく操作メニュー画面を表示する。操作メニュー画面は、図10の(A)と(B)に示すような画面である。ユーザは画面を確認し、タッチパネル106から、“リビングの照明200Bの電源ON、電源OFFおよび電球色”について学習されたデータを“寝室の照明200E”のデータにコピーする旨の一括コピー指令の入力操作をする。
CPU110は、操作を受付けると、操作によって入力された一括コピー指令に従ってテーブル101A(図15の(A)参照)を検索することにより“照明200Bの電源ON、電源OFFおよび電球色のID=1,ID=2,ID=3”を取得する。CPU110は、取得した検索結果から“学習リモコン400Aの照明200Bの電源ON、電源OFFおよび電球色のID=1,ID=2,ID=3を、学習リモコン400Cにコピーする”とのコマンド(命令)をペイロード704に有するフレーム700を生成し、生成したフレーム700を、学習リモコン400Aと400C宛てに送信する(ステップR3、R5)。このフレーム700の宛先データ702を示す学習リモコン400Aと400Cのアドレスは、コピー指令に基づきメモリ101を検索することで取得できる。
学習リモコン400Aでは、CPU410Aは自己宛てのフレーム700のコマンドを受信すると、コピー元機能は、受信フレーム700のペイロード704が示すコマンドが示すIDの値(=1,2,3)に基づき、信号コードテーブル403A(図16の(A)参照)を検索する。検索により、当該ID値に一致する番号(=1,2,3)と、この番号それぞれ対応の信号コードを、図16の(A)の信号コードテーブル403Aから読出す(ステップR4)。読出しに成功すると、受信しているコマンドに従って学習リモコン400Cに対し、一括コピースタートを通知するフレーム700を送信する(ステップR7)。
学習リモコン400Cでは、ステップR5により受信したフレーム700のペイロード704を解析し、解析結果に基づきコピー先機能が能動化されて、コピー待機モードとなる。コピー待機モードで、ステップR7において学習リモコン400Aからスタート通知のフレーム700を受信すると、CPU410Cは、スタート通知に対しスタートOKの応答のフレーム700を学習リモコン400A宛てに送信する(ステップR9)。
学習リモコン400Aは、スタートOKのフレーム700を受信すると、ステップR4で信号コードテーブル403Aから読出した“番号(=1)”と対応する信号コードをペイロード704として格納した学習リモコン400C宛てのフレーム700を生成し(ステップR11)、送信する(ステップR13)。
学習リモコン400Cでは、学習リモコン400Aから受信するフレーム700のペイロード704の“番号+信号コード”を抽出し、信号コードテーブル403Cに格納する(ステップR14)。格納に成功すると学習リモコン400Cは、ペイロード704に“OK”を格納した応答のフレーム700を学習リモコン400A宛てに送信する(ステップR15)。
学習リモコン400Aは、学習リモコン400Cから応答のフレーム700を受信すると、ステップR11およびR13と同様に、ステップR4で読出された“番号(=2)”と対応する信号コードのフレーム700を生成し(ステップR17)、学習リモコン400C宛てに送信する(ステップR19)。学習リモコン400Cは学習リモコン400Aから受信する当該フレーム700から“番号+信号コード”を抽出し、信号コードテーブル403Cに格納する(ステップR20)。格納に成功すると学習リモコン400Cは応答のフレーム700を学習リモコン400A宛てに送信する(ステップR21)。
同様にして、次の“番号(=3)”と対応する信号コードのフレーム700が学習リモコン400C宛てに送信されて、学習リモコン400Cでは当該フレーム700を受信し、受信フレーム700から“番号+信号コード”を抽出し、信号コードテーブル403Cに格納し、応答のフレーム700を学習リモコン400A宛てに送信する(ステップR23、R25、R26、R27)。
これにより、学習リモコン400Cの信号コードテーブル403Cは、図16の(B)のデータから図16の(C)のデータに更新される。
学習リモコン400AのCPU410は、ステップR4で読出した信号コードの全てを学習リモコン400Cに送信し、全ての信号コードについて学習リモコン400Cから応答のフレーム700を受信できたことを判定すると、送信終了(“END”)を通知するためのフレーム700を学習リモコン400C宛てに送信する(ステップR29)。学習リモコン400Cは、当該フレーム700を受信すると、通知に対し応答するための“OK”を格納したフレーム700を学習リモコン400A宛てに送信する(ステップR31)。
学習リモコン400AのCPU410Aは、学習リモコン400Cから送信終了通知に対する“OK”のフレーム700を受信すると、動作モードを一括コピーモードから通常の動作モードに切替える。
学習リモコン400CのCPU410Cは、“OK”のフレーム700を学習リモコン400A宛てに送信すると、信号コードテーブル403Cの格納(学習)したデータをコントローラ100に通知するために、ステップR5におけるコントローラ100からのコマンドに対する応答のフレーム700を送信する(ステップR35)。送信後は、学習リモコン400CのCPU410Cは、動作モードを一括コピーモードから通常の動作モードに切替える。
ここで、一括コピー前においては信号コードテーブル403Cには図16の(B)のようにデータが格納された状態であったと想定する。CPU401Cは、学習リモコン400Aから受信するフレーム700から抽出する“番号+信号コード”のうちの“番号”(=1,2,3)に基づき信号コードテーブル403Cを検索する。検索により、同一番号(=1,2,3)には既に信号コードが格納されているか否かを判定する。図16の(B)の信号コードテーブル403Cでは、既に番号=1と番号=2には信号コードが格納されていると判定するので、受信した対応の信号コードを、信号コードテーブル403Cの空きの番号、たとえば番号(=3,4,5)を割当て、当該番号に対応付けて格納する。これにより、信号コードテーブル403Cのデータは、図16の(B)から図16の(C)に更新される。
ステップR35の応答のフレーム700のペイロード704は、(1,3),(2,4)および(3,5)の3個の組が格納される。この3個の組は、「指示されたID=1の信号コードは、信号コードテーブルの番号(=3)に格納し、指示されたID=2の信号コードは、信号コードテーブルの番号(=4)に格納し、指示されたID=3の信号コードは、信号コードテーブルの番号(=5)に格納した」ことを通知するものである。
コントローラ100のCPU110は、ステップR35の応答のフレーム700を受信すると、受信したフレーム700のペイロード704から(1,3),(2,4)および(3,5)の3個の組を抽出し、抽出した(1,3),(2,4)および(3,5)の3個の組に基づくデータをテーブル101Cに格納する(ステップR37)。
具体的には、テーブル101Cにおいて“照明+電源ON”を示す“機器名+制御コード”に対応したIDの値(不定:−)を“3”に更新し、“照明+電源OFF”を示す“機器名+制御コード”に対応したIDの値(不定:−)を“4”に更新し、“照明+電源ON”を示す“機器名+制御コード”に対応したIDの値(不定:−)を“5”に更新する。これにより、テーブル101Cのデータは図15の(B)から図15の(C)に更新される。以上で一括コピーモードは終了し、コントローラ100の動作モードは通常の動作モードに切替えられる。
上述の学習データのコピー先は学習リモコン400Cと1台であったが、複数台の学習リモコンそれぞれに、同様のフレーム700を送信することで、複数台の学習リモコンに学習データをコピーすることもできる。同じ機種の電気機器を異なる学習リモコンが制御する場合には、このコピー処理により各学習リモコンは制御のための信号コードを簡単に取得することができる。
図14の学習リモコン400Aと学習リモコン400Cとの通信により、学習リモコン400Aについて学習したデータを、他の学習リモコン400Cの学習データとして一括コピーすることができる。学習データの一括コピー処理によれば、図8の学習モードの通信シーケンスよりも少ない通信トラフィック(図11参照)で、図8で学習した場合と同様の結果を取得することができる。
<コピー処理の変形例>
学習リモコン400Aから学習リモコン400Cへ、ある電気機器、ある制御内容をコピーする際、コントローラ100のCPU101は、テーブル101Cに既に格納された同一機種の電気機器且つ同一の制御内容であるか否かを判断する。同一と判定すると、コピーしないよう処理する。または、ユーザの確認を得た後、上書きコピーする
のどちらかを行う。なお、上書きコピーの際は、コントローラ100は、学習リモコン400Cの信号コードテーブル403Cに格納された同一制御内容が示す信号コードを“当該IDが示す番号の箇所に上書きしろ”、という命令を出す、ようにしてもよい。
<実施の形態の効果>
本実施の形態では、学習またはコピーをすることにより、その後はコントローラ100から電気機器200A〜200Dを遠隔制御するためにIDを送信すればよい。したがって、IDに代替して図6に示す信号コードを送信する場合に比較して通信データ量を少なくすることができる。このように、ID(識別子)の通信にかかる通信量を信号コード(制御コード)の通信にかかる通信量よりも少なくできるとの効果を、以下に説明する。この効果を、以下に説明する。
コントローラ100から学習リモコン400A〜400Cに対して、信号コードを送信する場合は、(1)赤外線リモコンデータは代表的なフォーマット(家電製品協会等)に限定し、データ送信の際は、コード情報を送信する。または(2)赤外線リモコンデータを単なるbit情報として送信する等の方法が考えられる。
上記(1)の場合は、対象フォーマットでない電気機器は扱えない、または学習時に電気機器本来のリモコンからの赤外線データ受信の際、コード情報を取り出す仕組みが必要等の制限がある。従って、上記(2)の方法のほうが汎用的であるが、データサイズが大きくなるという課題が残る。
データサイズの具体例として、以下の情報を示す。
http://japan.renesas.com/support/faqs/faq_results/Q1000000-Q9999999/mpumcu/com/remo_012j.jsp
http://garretlab.web.fc2.com/arduino/make/infrared_sensor_nec_format/
これら情報によれば、1つの赤外線信号コードを送信するためには、リーダコード、カスタムコード、データコード、ストップビット、フレームスペース等から成るフレームを送信する必要があり、1フレームは1108msecである。
電気機器専用のリモコン300A〜300Eの赤外線信号コードから学習する際、リモコン信号受信のサンプリング間隔をどれくらいにするかによって取得されるデータのサイズが異なる。例えば、0.1msec間隔でサンプリングすると、108msec → 1080bit → 135byteのサイズとなる。(注)0.1msecのサンプリングは、十分細かいサンプリング間隔というわけではなく、より詳細なサンプリングを行うとデータサイズはさらに増大する。
これに対して、本実施の形態では、コントローラ100から学習リモコン400A〜400Cへは、信号コードテーブル403Aの信号コードを格納した番地データに一致したIDを送れば良く、通常2byte(数値としては0〜65535)あれば十分である。その他に、学習リモコン400A〜400Cからコントローラ100に送信されるIDを格納するためのデータとして2byteくらいは必要であるので、計4byte程度あれば十分である。
なお、実際の通信には、上記のデータに、フレーム700のヘッダ(宛先データ702、送信元データ703など)等が追加される。例えば、IEEE(Institute of Electrical and Electronic Engineers)802.11bの場合、物理ヘッダが24byte, IEEE802.11ヘッダが最大30byte,FCSが4byteの合計58byte(最大)追加される。58byteとすると、本実施の形態によれば、193byte→62byteの削減ができる。
その他、IEEE 802.15.4 /ZigBee(登録商標)の場合、全体で20〜30byte程度(か、それ以上)のヘッダ等の送信情報が必要である。仮に30byteとすると、165byte→34byteという削減になる。ただし、IEEE802.15.4は、1フレームの物理層ペイロード127byte以下という制限があり、135byteのデータは1フレームでは送信できないため、分割して送信する等の対策が必要である。
このように、コントローラ100が電気機器を遠隔制御するために、学習リモコン400とコントローラ100との間でIDを転送すれば、信号コードを転送する場合に比較し通信データ量を減らすことができ、それにより以下の効果が奏される。
(1)送信データが大きい場合、無線方式にもよるが、1つのコマンドが、1フレーム700で送信できないこともある。この場合、リモコン側は、受信した複数のフレーム700を組み合わせて1つの赤外線データを構成することになる。その結果、学習リモコン400A〜400Cは複数のフレーム700を組み合わせる必要があるので、構成が複雑になる。また、コントローラ100側も、一つの命令に対して、複数のフレーム700を送信しなければならないため、構成が複雑になるが、本実施の形態ではIDを転送することから、当該課題は解決される。
(2)一般的な事項(複数フレームに分割されない)に着目すると、トラフィックの低減により、信頼性は向上する。また、学習リモコン400A〜400Cから見れば、無線データ消失の可能性が低減する。すなわち、本実施の形態では、電気機器が(何らかの)操作がされるはずなのに操作が行われなかった、というエラーが低減される。
また、レスポンスに着目すると、コントローラ100から送信された無線データが学習リモコン400A〜400Cによって受信されるまでの時間を低減することができる。本実施の形態で一例を挙げると、テレビ200Aのチャンネル変更等に要する時間が短くなり、ユーザの利便性が向上する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。