(57)【特許請求の範囲】
【請求項１】
電気機器の制御内容と前記制御内容に対応する識別子との対応関係を示すテーブルを有しており、ユーザ操作により受け付けた制御内容に対応する識別子を送信するコントローラと、
前記識別子と電気機器を制御する制御コードとの対応関係を示すテーブルを有しており、前記コントローラから受信した識別子に対応した制御コードを制御対象の電気機器に送信する複数の端末と、
を備える遠隔制御システムであって、
前記複数の端末は第１端末と第２端末とを含み、
受け付けた制御内容に対応する制御コードを前記第１端末に記憶されているテーブルから前記第２端末のテーブルにコピーするとともに、前記第２端末のテーブルにおいて前記コピーされた制御コードと対応付けられる識別子を前記第２端末から前記コントローラに送信し、前記コントローラのテーブルにおいて該識別子と前記受け付けた制御内容とを対応付けて記憶する、遠隔制御システム。
【請求項２】
前記受け付けた制御内容に対応する第１の識別子が前記コントローラから前記第１端末に送信され、前記第１の識別子は前記制御コードのコピーの際に前記第１端末から前記第２端末に送信され、前記第２端末のテーブルにおいて前記コピーされた制御コードと対応付けられる第２の識別子と前記第１の識別子とが前記第２端末から前記コントローラに送信される請求項１記載の遠隔制御システム。
【請求項３】
前記識別子を通信するための通信量は、前記制御コードを通信するための通信量よりも少ない、請求項１に記載の遠隔制御システム。
【請求項４】
制御内容を示す識別子と電気機器を制御する制御コードとの対応関係を示すテーブルを有しており、コントローラから受信した識別子に対応した制御コードを制御対象の電気機器に送信する複数の端末であって、
前記複数の端末は第１端末と第２端末とを含み、
前記コントローラから前記第１端末が受信した識別子に対応した制御コードを前記第１端末から前記第２端末にコピーするとともに、前記第２端末のテーブルにおいて前記コピーされた制御コードと対応付けられる識別子を、前記コントローラに記憶されるように、前記第２端末から前記コントローラに送信する端末。
【請求項５】
電気機器の制御内容と前記制御内容に対応する識別子との対応関係を示すテーブルを有しており、受信した識別子に対応した制御コードを制御対象の電気機器に送信する端末に対してユーザ操作により受け付けた制御内容に対応する識別子を送信するコントローラであって、
複数の前記端末間でコピーされた制御コードに対応付けられる識別子を前記端末から受信し、該受信した識別子と前記受け付けた制御内容とを対応付けて前記テーブルに記憶するコントローラ。
【請求項６】
電気機器の制御内容と前記制御内容に対応する識別子との対応関係を示すテーブルを有しており、ユーザ操作により受け付けた制御内容に対応する識別子を送信するコントローラと、
前記識別子と電気機器を制御する制御コードとの対応関係を示すテーブルを有しており、前記コントローラから受信した識別子に対応した制御コードを制御対象の電気機器に送信する複数の端末と、
を備える遠隔制御システムにおける遠隔制御方法であって、
前記複数の端末は第１端末と第２端末とを含み、
受け付けた制御内容に対応する制御コードを前記第１端末に記憶されているテーブルから前記第２端末のテーブルにコピーするとともに、前記第２端末のテーブルにおいて前記コピーされた制御コードと対応付けられる識別子を前記第２端末から前記コントローラに送信し、前記コントローラのテーブルにおいて該識別子と前記受け付けた制御内容とを対応付けて記憶する、遠隔制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラ、制御端末、遠隔制御システムおよび通信方法をプロセッサに実行させるためのプログラムに関し、特に、遠隔から対象機器を制御するためのコントローラ、制御端末、遠隔制御システムおよび通信方法をプロセッサに実行させるためのプログラムに関する。
【背景技術】
【０００２】
ネットワークにＴＶ（Television）、エアコン（エアコンディショナ）等の家電機器を一括して制御する技術として、たとえば特許文献１（特開２０１０−２５１８２４号公報）に記載のネットワーク・リモコンがある。特許文献１では、家電機器制御用の信号コードは、無線親機から無線子機へ送られることになるが、制御のたびに信号コードを送るのは無駄である。
【０００３】
この点を改善したものに、特許文献２（特開２００９−５５５７２号公報）および特許文献３（特開２００２−１５２８５６号公報）に電子機器の遠隔制御がある。
【０００４】
特許文献２（特開２００９−５５５７２号公報）では、携帯通信端末からリモコン装置に命令を送り、家庭内の電子機器を制御する。最初に、サーバ装置等で、家庭内電子機器を遠隔制御するための信号コードが保持される。携帯通信端末は、電子機器を遠隔制御するための信号コードと、信号コードに対応する制御コードをサーバ装置等から取得しリモコン装置に送信する。信号と制御のコードデータを一旦リモコン装置に送信した後は、電子機器を遠隔制御するために、携帯通信端末は、制御コードのみ送信すれば良い。
【０００５】
特許文献３（特開２００２−１５２８５６号公報）では、電子機器を遠隔制御するため、管理サーバと管理ユニットは、番号、制御内容、リモコン信号コードから成るテーブル情報を保持する。携帯電話機等の端末から、番号の情報を（サーバに対して）送信すると、番号に対応する管理ユニットに保持されたリモコン信号コードが電子機器に送信される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２５１８２４号公報
【特許文献２】特開２００９−５５５７２号公報
【特許文献３】特開２００２−１５２８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２（特開２００９−５５５７２号公報）では、信号と制御のコードデータをリモコン装置に送信するには、一度に送信できるデータ量の制限から、分割して送信しなければならないこともあり装置（仕組み）が複雑化する。
【０００８】
また、特許文献３（特開２００２−１５２８５６号公報）の管理サーバと管理ユニットの両方がテーブル情報を保持することから、制御対象機器が変更となった場合には、変更に追従してテーブル情報を更新するための通信にかかるコストがかかる。
【０００９】
それゆえに本発明の目的は、被制御対象である電気機器を少ない通信量で遠隔制御できるコントローラ、制御端末、遠隔制御システムおよび通信方法をプロセッサに実行させるためのプログラムを提供することである。
【課題を解決するための手段】
【００１０】
この発明のある局面では、制御コードを用いて電気機器を制御するために複数の端末と通信するコントローラが提供される。
【００１１】
複数の端末それぞれは、コントローラから制御コードのコピー要求を受信したとき、他の端末から受信する制御コードであって、且つ識別子が対応付けされる当該制御コードを記憶部に格納し、当該識別子をコントローラに送信するコピー処理部と、コントローラからの指令が示す識別子に対応する制御コードを記憶部から読出し、電気機器に送信するための赤外線通信部と、を備える。
【００１２】
コントローラは、ユーザの操作を受付ける操作受付部と、端末それぞれについて、制御コードを含む制御内容を格納するためのメモリと、操作受付部が受付けた選択操作に基づき、メモリの制御内容を選択し、選択された制御内容が含む制御コードについてのコピー要求を送信するコピー要求送信部と、コピー要求に対し端末から受信する識別子を、当該端末について選択された制御内容と対応付けてメモリに格納するためのメモリ格納部と、操作受付部が受付けた指令を指定する操作に基づき、いずれかの端末について制御コードと対応付けされる識別子を示す指令を、当該端末に送信するための識別子送信部と、を備える。
【００１３】
好ましくは、識別子のための通信量は、制御コードのための通信量よりも少ない。
好ましくは、コピー要求は、複数の端末のうちから他の端末であるコピー元の端末とコピー先の端末を指定するデータを含み、コピー元の端末は、コピー要求される制御コードを記憶部から読出し、コピー先の端末に送信し、コピー先の端末のコピー処理部は、コントローラから制御コードのコピー要求を受信したとき、コピー元の端末から受信する制御コードに識別子を割当て、割当てた識別子と対応付けて記憶部に格納し、当該識別子をコントローラに送信する。
【００１４】
好ましくは、コピー要求は、異なる種類の制御コードと、複数の端末のうち他の端末であるコピー元の端末およびコピー先の端末とを指定するデータを含み、コピー元の端末は、コピー要求される異なる種類の制御コードを記憶部から読出し、コピー先の端末に送信し、コピー先の端末のコピー処理部は、コントローラから制御コードのコピー要求を受信したとき、コピー元の端末から受信する異なる種類の制御コードそれぞれに識別子を割当て、異なる種類の制御コードと割当てた識別子と対応付けて記憶部に格納し、異なる種類の制御コードに割当てた識別子をコントローラに送信する。
【００１５】
好ましくは、コピー要求は、複数の端末のうち他の端末であるコピー元の端末と２以上のコピー先の端末を指定するデータを含む。
【００１６】
この発明の他の局面に従うと、制御コードを用いて電気機器を制御するために通信する複数の端末を備える遠隔制御システムが提供される。
【００１７】
複数の端末それぞれは、コントローラから制御コードのコピー要求を受信したとき、他の端末から受信する制御コードであって、且つ識別子が対応付けされる当該制御コードを記憶部に格納し、当該識別子を前記コントローラに送信するコピー処理部と、コントローラからの指令が示す識別子に対応する制御コードを記憶部から読出し、電気機器に送信するための赤外線通信部と、を備える。
【００１８】
コピー要求は、複数の端末のうちから他の端末であるコピー元の端末とコピー先の端末を指定するデータを含み、コピー元の端末は、コピー要求される制御コードを記憶部から読出し、コピー先の端末に送信する。コピー先の端末のコピー処理部は、コピー元の端末から受信する制御コードであって、且つ識別子が対応付けされる当該制御コードを記憶部に格納し、当該識別子をコントローラに送信する。
【００１９】
好ましくは、識別子のための通信量は、制御コードのための通信量よりも少ない。
好ましくは、コピー要求は、異なる種類の制御コードと、複数の端末のうち他の端末であるコピー元の端末およびコピー先の端末とを指定するデータを含む。コピー元の端末は、コピー要求される異なる種類の制御コードを記憶部から読出し、コピー先の端末に送信する。コピー先の端末のコピー処理部は、コピー元の端末から受信する異なる種類の制御コードそれぞれに識別子を割当て、異なる種類の制御コードと割当てた識別子と対応付けて記憶部に格納し、異なる種類の制御コードに割当てた識別子をコントローラに送信する。
【００２０】
好ましくは、コピー要求は、複数の端末のうち他の端末であるコピー元の端末と２以上のコピー先の端末を指定するデータを含む。
【００２１】
この発明のさらに他の局面に従うと、制御コードを用いて電気機器を制御するために複数の端末と、複数の端末と通信するコントローラと、を備える遠隔制御システムが提供される。
【００２２】
複数の端末それぞれは、コントローラから制御コードのコピー要求を受信したとき、他の端末から受信する制御コードであって、且つ識別子が対応付けされる当該制御コードを記憶部に格納し、当該識別子をコントローラに送信するコピー処理部と、コントローラからの指令が示す識別子に対応する制御コードを記憶部から読出し、電気機器に送信するための赤外線通信部と、を含む。
【００２３】
コントローラは、ユーザの操作を受付ける操作受付部と、端末それぞれについて、制御コードを含む制御内容を格納するためのメモリと、操作受付部が受付けた選択操作に基づき、メモリの制御内容を選択し、選択された制御内容が含む制御コードについてのコピー要求を送信するコピー要求送信部と、コピー要求に対し端末から受信する識別子を、当該端末について選択された制御内容と対応付けてメモリに格納するためのメモリ格納部と、操作受付部が受付けた指令を指定する操作に基づき、いずれかの端末について制御コードと対応付けされた識別子を示す指令を、当該端末に送信するための識別子送信部と、を含む。
【００２４】
好ましくは、識別子のための通信量は、制御コードのための通信量よりも少ない。
この発明のさらに他の局面に従う、制御コードを用いて電気機器を制御するための制御端末は、コピーされるべき制御コードと、複数の制御端末のうちコピー元の制御端末およびコピー先の制御端末とを指定するデータを含むコピー要求を、コントローラから受信する通信部と、コピー先端末機能部と、コピー先端末機能部とは排他的に動作するコピー元端末機能部と、コントローラからの指令が示す識別子に対応する制御コードを記憶部から読出し、電気機器に送信するための赤外線通信部と、を備える。
【００２５】
コピー先端末機能部は、コントローラからコピー要求を受信したとき、他の制御端末から受信する制御コードであって、且つ識別子が対応付けされる当該制御コードを記憶部に格納し、当該識別子を前記コントローラに送信するコピー処理部を含む。
【００２６】
コピー元端末機能部は、コントローラからコピー要求を受信したとき、コピー要求される制御コードを記憶部から読出し、コピー先の端末に送信する送信部を含む。
【００２７】
好ましくは、識別子のための通信量は、制御コードのための通信量よりも少ない。
この発明のさらに他の局面に従うと、制御コードを用いて電気機器を制御する複数の端末との通信方法をプロセッサに実行させるためのプログラムが提供される。
【００２８】
複数の端末それぞれは、コントローラから制御コードのコピー要求を受信したとき、他の端末から受信する制御コードであって、且つ識別子が対応付けされる当該制御コードを記憶部に格納し、当該識別子をコントローラに送信するコピー処理部と、コントローラからの指令が示す識別子に対応する制御コードを記憶部から読出し、電気機器に送信するための赤外線通信部と、を備える。
【００２９】
プロセッサは、ユーザの操作を受付ける操作受付部と、端末それぞれについて、制御コードを含む制御内容を格納するためのメモリと、を備える。
【００３０】
プログラムは、プロセッサに、操作受付部が受付けた選択操作に基づき、メモリの制御内容を選択し、選択された制御内容が含む制御コードについてのコピー要求を送信するステップと、コピー要求に対し端末から受信する識別子を、当該端末について選択された制御内容と対応付けてメモリに格納するステップと、操作受付部が受付けた指令を指定する操作に基づき、いずれかの端末について制御コードと対応付けされた識別子をメモリから読出し、当該識別子を示す前記指令を当該端末に送信するステップと、を実行させるためのプログラムである。
【００３１】
好ましくは、識別子のための通信量は、前記制御コードのための通信量よりも少ない。
発明によれば、複数の端末それぞれのコピー処理部は、コピー要求を受信すると他の端末からの制御コードであって、且つ識別子が対応付けされる制御コードを記憶する。このような制御コードのコピーにより、各端末は、簡単な通信によって他の端末と同じ制御コードを記憶することができる。また、端末はコピーして記憶した制御コードの識別子をコントローラに送信し、コントローラは、端末から受信する識別子を、メモリに制御内容と対応づけて格納する。以降は、コントローラが電気機器を遠隔から制御するには、メモリから識別子を読出し各端末に送信し指令する。各端末はコントローラからの指令が示す識別子に対応の制御コードを電気機器に送信する。これにより、コントローラは識別子を送信することで、各端末を介して電気機器を遠隔制御することができる。
【００３２】
また、電気機器に変更があった場合には、上述のコピー処理によって、複数端末とコントローラに対して変更内容（制御コード、識別子）を簡単に反映することができる。
【発明の効果】
【００３３】
このように本発明によれば、識別子の通信にかかる通信量を、制御コードの通信にかかる通信量よりも少なくすることで、コントローラから、被制御対象である電気機器を制御コードを用いるよりも少ない通信量で遠隔制御することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態に係る遠隔制御システムの概略構成図である。
【図２】本実施の形態に係るコントローラのハードウェア構成を表わすブロック図である。
【図３】本発明の実施の形態に係るリモコンの構成図である。
【図４】本発明の実施の形態に係る学習リモコンの構成図である。
【図５】本発明の実施の形態に係る照明の構成図である。
【図６】本発明の実施の形態に係るＩＲ信号のフォーマットを示す図である。
【図７】本発明の実施の形態に係るコントローラまたは学習リモコンとの通信フォーマットを示す図である。
【図８】本発明の実施の形態に係る学習モードの通信シーケンスを示す図である。
【図９】本発明の実施の形態に係る学習モードでのテーブルの変化を説明するための図である。
【図１０】本発明の実施の形態に係る学習モードでの操作メニュー画面例を示す図である。
【図１１】本発明の実施の形態に係る学習データコピーの通信シーケンスを示す図である。
【図１２】本発明の実施の形態に係る学習データをコピーする場合のコントローラのテーブルの変化を示す図である。
【図１３】本発明の実施の形態に係る学習データをコピーする場合の信号コードテーブルの変化を示す図である。
【図１４】本発明の実施の形態に係る学習データの一括コピーの通信シーケンスを示す図である。
【図１５】本発明の実施の形態に係る学習データを一括コピーする場合のコントローラのテーブルの変化を示す図である。
【図１６】本発明の実施の形態に係る学習データを一括コピーする場合のテーブルの変化を説明するための図である。
【発明を実施するための形態】
【００３５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３６】
＜遠隔制御システムの全体構成＞
図１は、本発明の実施の形態に係る遠隔制御システムの概略構成図である。本実施の形態では、家屋内に設置された電気機器を遠隔から制御するシステムを例示するが、被制御対象の電気機器は、家屋内に設置されたものに限定されるものではない。
【００３７】
図１を参照して、遠隔制御システムは、電気機器としてリビングに設置されたテレビ（テレビション）２００Ａおよび照明２００Ｂ、子供部屋に設置されたエアコン（エアコンディショナ）２００Ｃ、ならびに寝室に設置されたブラインド装置２００Ｄおよび照明２００Ｅを含み、これら電気機器それぞれに対応して個別に設けられた専用のリモコン（リモートコントローラの略）３００Ａ、３００Ｂ、３００Ｃ、３００Ｄおよび３００Ｅを含む。リモコン３００Ａはテレビ２００Ａを遠隔操作するために、リモコン３００Ｂは照明２００Ｂを遠隔制御するために、リモコン３００Ｃはエアコン２００Ｃを遠隔制御するために、リモコン３００Ｄはブラインド装置２００Ｄを遠隔制御するために、およびリモコン３００Ｅは照明２００Ｅを遠隔制御するために、それぞれユーザにより操作される。ここでは、テレビ２００Ａ、照明２００Ｂ，２００Ｅ、エアコン２００Ｃおよびブラインド装置２００Ｄを、電気機器２００Ａ〜２００Ｅと総称する場合があり、また、リモコン３００Ａ、３００Ｂ、３００Ｃ、３００Ｄおよび３００Ｅをリモコン３００Ａ〜３００Ｅと総称する場合がある。
【００３８】
遠隔制御システムは、さらに、部屋毎の学習リモコンと、学習リモコンと通信するコントローラ１００を含む。学習リモコンは、リビングの学習リモコン４００Ａ、子供部屋の学習リモコン４００Ｂおよび寝室の学習リモコン４００Ｃを含む。ここでは、学習リモコン４００Ａ、４００Ｂおよび４００Ｃを学習リモコン４００Ａ〜４００Ｃと総称する場合がある。
【００３９】
遠隔制御システムでは、コントローラ１００と学習リモコン４００Ａ〜４００Ｃは、ＩＰ（Internet  Protocol）またはＺｉｇＢｅｅ（登録商標）のプロトコルに従って有線または無線で通信し、学習リモコン４００Ａ〜４００Ｃと、リモコン３００Ａ〜３００Ｅおよび電気機器２００Ａ〜２００Ｅは、赤外線（ＩＲ：Infrared）またはBluetooth（登録商標）などのプロトコルに従って無線で通信する。なお、通信形態はこれらに限定されない。説明のために、本実施の形態では、学習リモコン４００Ａ〜４００Ｃと、リモコン３００Ａ〜３００Ｅおよび電気機器２００Ａ〜２００Ｅとは赤外線通信をすると想定する。
【００４０】
＜コントローラ１００の構成＞
次に、本実施の形態に係るコントローラ１００の構成の一態様について説明する。図２は、本実施の形態に係るコントローラ１００のハードウェア構成を表わすブロック図である。コントローラ１００は、通信機能有したコンピュータであって、壁掛けタイプ、テーブル上に載置するタイプおよび携帯タイプのタブレット端末などとして提供される。
【００４１】
コントローラ１００は、メモリ１０１、ディスプレイ１０２、タブレット１０３、ボタン１０４、通信インターフェイス１０５、スピーカ１０７、時計１０８、およびＣＰＵ（Central  Processing  Unit）１１０を含む。
【００４２】
ディスプレイ１０２は、ＣＰＵ１１０によって制御されることによって、各種の情報を表示する。タブレット１０３は、ユーザの指などによるタッチ操作を検出して、タッチ位置を示す座標などをＣＰＵ１１０に出力する。ＣＰＵ１１０は、タブレット１０３からの出力から、ユーザ操作による命令を受付ける。ディスプレイ１０２およびタブレット１０３は一体的に構成されたタッチパネル１０６として提供される。タッチパネル１０６は、ユーザ操作を受付ける操作受付部に相当する。
【００４３】
通信インターフェイス１０５は、学習リモコン４００Ａ〜４００Ｃと通信する機能と、図示のない外部端末またはネットワークと通信する機能を有する。
【００４４】
メモリ１０１は、各種のＲＡＭ（Random  Access  Memory）や、ＲＯＭ（Read-Only  Memory）や、ハードディスクなどによって実現される。メモリ１０１は、ＣＰＵ１１０によって実行される制御プログラム、後述のＩＤ（Identifier）を格納するためのテーブル１０１Ａ、１０１Ｂおよび１０１Ｃなどを記憶する。
【００４５】
本実施の形態では、メモリ１０１には、部屋毎、すなわち学習リモコン４００毎に対応してＩＤのテーブルが格納される。具体的には、リビングに対応のテーブル１０１Ａ、子供部屋に対応のテーブル１０１Ｂおよび寝室に対応のテーブル１０１Ｃである。これらテーブルに格納されるデータは異なるものの、テーブルの構成は同じである。詳細は図９で後述する。
【００４６】
ＣＰＵ１１０は、メモリ１０１に記憶されている各種のプログラムを実行することによって、後述の図８のシーケンスに従う処理を実現する。コントローラ１００における処理は、各ハードウェアおよびＣＰＵ１１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、メモリ１０１に予め記憶されている場合がある。また、ソフトウェアは、記憶媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。
【００４７】
このようなソフトウェアは、図示しない読取装置を利用することによってその記憶媒体から読み取られて、あるいは、通信インターフェイス１０５を利用することによってダウンロードされて、メモリ１０１に一旦格納される。ＣＰＵ１１０は、ソフトウェアを実行可能なプログラムの形式でメモリ１０１に格納してから、当該プログラムを実行する。
【００４８】
なお、記憶媒体としては、ＣＤ−ＲＯＭ（Compact  Disc  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的に、すなわち非一時的にプログラムを格納する媒体が挙げられる。
【００４９】
ここでいうプログラムとは、ＣＰＵ１１０により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５０】
＜リモコン３００Ａ〜３００Ｅの構成＞
図３は、本発明の実施の形態に係るリモコンの構成図であり、図３の（Ａ）と（Ｂ）には、リモコン３００Ｂと３００Ｅの構成が示される。なお、リモコン３００Ａ〜３００Ｅは同様の構成を有するので、ここでは照明用のリモコン３００Ｂと３００Ｅを代表して説明する。
【００５１】
図３の（Ａ）を参照して、リモコン３００Ｂは、メモリ３０１Ｂ、ユーザが操作する複数個のボタンを有する操作部３０４Ｂ、ＩＲ通信部３０６Ｂ、およびこれら各部を制御するＣＰＵ３１０Ｂを備える。
【００５２】
メモリ３０１Ｂにはコード変換テーブル３０２Ｂが格納される。コード変換テーブル３０２Ｂには、操作部３０４Ｂのボタンの複数種類の操作パターン（ボタンの種類、ボタンの操作順番など）と、各操作パターンに対応して信号コードが格納されている。ＣＰＵ３１０Ｂは、操作部３０４Ｂのボタンが操作されるとき、その操作パターンを検出し、検出する操作パターンに基づきコード変換テーブル３０２Ｂを検索し、対応する信号コードを読出し、ＩＲ通信部３０６Ｂに出力する。
【００５３】
ＩＲ通信部３０６Ｂは、ＩＲ信号を送信するための発光ダイオードなどの発光素子を含む。ＩＲ通信部３０６Ｂは、与えられる信号コードに従って発光素子の発光を制御することにより、発光素子から信号コードによって変調されたＩＲ信号を送信する。ＩＲ通信部３０６Ｂは、さらに光電変換素子を備えてもよい。光電変換素子を備える場合には、受信したＩＲ信号を光電変換素子により復調し、復調によって信号コードを取得する。
【００５４】
図３の（Ｂ）を参照して、リモコン３００Ｅは、コード変換テーブル３０２Ｅを格納するメモリ３０１Ｅ、ユーザが操作する複数個のボタンを有する操作部３０４Ｅ、ＩＲ通信部３０６Ｅ、およびこれら各部を制御するＣＰＵ３１０Ｂを備える。
【００５５】
リモコン３００Ｅの各部の機能およびコード変換テーブル３０２Ｅの構成は、上述したリモコン３００Ｂのそれらと同様であり、説明を繰り返さない。
【００５６】
＜学習リモコン４００Ａ〜４００Ｃの構成＞
図４は、本発明の実施の形態に係る学習リモコンの構成図であり、図４の（Ａ）と（Ｂ）には、学習リモコン４００Ａと４００Ｃの構成が示される。本実施の形態では、学習リモコン４００Ａ〜４００Ｃは同様の構成を有するので、ここではリビングと寝室に設置された学習リモコン４００Ａと４００Ｃを代表して説明する。
【００５７】
図４の（Ａ）を参照して、学習リモコン４００Ａは、メモリ４０１、ＩＲ通信部４０２、通信インターフェイス４０５、およびメモリ４０１のプログラムに従ってこれら各部を制御するＣＰＵ４１０を含む。
【００５８】
ＣＰＵ４１０は、通信インターフェイス４０５を介してコントローラ１００または他の学習リモコンと通信し、ＩＲ通信部４０２を介してリモコン３００Ａ，３００Ｂならびにテレビ２００Ａ，照明２００Ｂと通信する。ＩＲ通信部４０２は、ＩＲ信号を送信するための受光ダイオードなどの発光素子をおよび光電変換素子に相当する受光素子を有して、ＩＲ信号の送受信を行う。
【００５９】
メモリ４０１Ａには、信号コードテーブル４０３Ａが格納される。信号コードテーブル４０３Ａには、リモコン３００Ａまたは３００Ｂから受信するＩＲ信号を光電変換素子で復調することにより取得する信号コードと、当該信号コードを一意に識別するための番号データとが対応付けて格納される。また、ＣＰＵ４１０Ａは信号コードテーブル４０３Ａから読出す信号コードをＩＲ通信部４０２Ａに与え、ＩＲ通信部４０２Ａは与えられる信号コードに基づき発光素子の発光動作を制御する。発光素子からは信号コードにより変調されたＩＲ信号が送信される。
【００６０】
図４の（Ｂ）を参照して、学習リモコン４００Ｃは、信号コードテーブル４０３Ｃを格納するメモリ４０１Ｃ、ＩＲ通信部４０２Ｃ、通信インターフェイス４０５Ｃ、およびメモリ４０１Ｃのプログラムに従ってこれら各部を制御するＣＰＵ４１０Ｃを含む。
【００６１】
学習リモコン４００Ｃの各部の機能および信号コードテーブル４０３Ｃの構成は、上述した学習リモコン４００Ａのそれらと同様であり、説明を繰り返さない。
【００６２】
本実施の形態では信号コードは、電気機器２００Ａ〜２００Ｅの動作を遠隔制御するための制御コードに相当する。
【００６３】
＜電気機器２００Ａ〜２００Ｅの構成＞
図５は、本発明の実施の形態に係る照明２００Ｂの構成図である。本実施の形態では、電気機器２００Ａ〜２００Ｅは同様の構成を有し、ここでは図５の（Ａ）と（Ｂ）に照明２００Ｂと２００Ｅを代表して説明する。
【００６４】
図５の（Ａ）を参照して、照明２００Ｂは、メモリ２０１Ｂ、ＬＥＤ（Light  Emitting  Diode）などの光源であるライト２０２Ｂ、各部に電力を供給する電源部２０４Ｂ、コントローラ１００などの外部装置と通信するための通信インターフェイス２０５Ｂ、ＩＲ通信部２０６Ｂ、およびこれら各部をメモリ２０１Ｂのプログラムに従って制御するためのＣＰＵ２１０Ｂを含む。
【００６５】
メモリ２０１Ｂは、ＣＰＵ２１０Ｂによって実行される制御プログラムおよび通信インターフェイス２０５ＢおよびＩＲ通信部２０６Ｂから受信したデータなどを記憶する。
【００６６】
図５の（Ｂ）を参照して、照明２００Ｅは、メモリ２０１Ｅ、ライト２０２Ｅ、電源部２０４Ｅ、通信インターフェイス２０５Ｅ、ＩＲ通信部２０６Ｅ、およびＣＰＵ２１０Ｅを含む。照明２００Ｅの各部の機能は、上述した照明２００Ｂのそれらと同様であり、説明を繰り返さない。
【００６７】
本実施の形態に係る電気機器２００Ａ〜２００Ｅのその他の機器も、図５に示す照明２００Ｂと２００Ｅの構成に加えて、ユーザからの制御命令を受け付けるための入力部（ボタン、タッチパネルなど）を備えてもよい。また、テレビ２００Ａであれば、ライト２０２Ｂ，２０２Ｅに替えてディスプレイ，スピーカを備え、エアコン２００Ｃであればライト２０２Ｂ，２０２Ｅに替えて空調機能部を備え、ブラインド装置２００Ｄであればライト２０２Ｂ，２０２Ｅに替えて羽根などの開閉部を備えることでよい。
【００６８】
＜通信信号のフォーマット＞
本実施の形態に係る通信フォーマット例を説明する。図６は、本発明の実施の形態に係るＩＲ信号のフォーマットを示す図である。図７は、本発明の実施の形態に係るコントローラ１００または学習リモコンとの通信フォーマットを示す図である。
【００６９】
図６を参照して、ＩＲ信号は信号コード（制御コード）を示す０，１のビットパターンによるパルス状の信号として示される。そのフォーマットは、図示されるように電気機器２００Ａ〜２００Ｅのメーカ独自のコードを表すカスタムコード、カスタムコードに続くデータコードを含む。これらコードを挟むように先頭コードを示すリーダコードおよび終端を示すストップビットを含む。カスタムコードおよびデータコードにより電気機器２００Ａ〜２００Ｅを制御するためのＩＲ信号による信号コードが表される。
【００７０】
電気機器２００Ａ〜２００Ｅのメモリには予め機種を示すメーカコードが格納されており、ＣＰＵは、受信するＩＲ信号を復調してカスタムコードから取得したメーカコードと、メモリに予め格納されているメーカコードとを比較し、比較結果、一致と判定すると当該ＩＲ信号は自己宛ての信号と判定し、信号コードに従って動作を制御する。一方、不一致と判定すると当該ＩＲ信号を破棄する。
【００７１】
本実施の形態では、コントローラ１００または学習リモコンとの通信インターフェイスを介した通信には図７のフレーム７００が用いられる。フレーム７００は、通信の順序を示すシーケンス番号７０１、宛先のアドレスなどを示す宛先データ、送信元のアドレスを示す送信元データ、転送すべきデータ本体（コマンド、ＩＤなど）を示すペイロード７０４、およびＦＣＳ（Frame  Check  Sequence）を含む。コントローラ１００のメモリ１０１および学習リモコン４００Ａ〜４００Ｂのメモリには自己のアドレスが予め格納されている。フレーム７００を受信したとき、受信したフレーム７００の宛先データ７０２のアドレスとメモリの自己アドレスとを照合する。その結果、一致しているとき自己宛てのフレーム７００と判定し当該フレーム７００を処理するが、自己宛てではないと判定したとき当該フレーム７００を破棄する。
【００７２】
本実施の形態では、コントローラ１００との通信にはフレームを用いるとしたが、フレームに代替してパケットを用いてもよい。
【００７３】
＜学習モード＞
本実施の形態では、コントローラ１００と学習リモコン４００Ａ〜４００Ｃは、学習モードを含む複数種類の動作モードを有する。
【００７４】
本実施の形態では、図１のネットワークによる遠隔制御システムにより、電気機器２００Ａ〜２００Ｅを遠隔制御するために、コントローラ１００と各部屋に設置された学習リモコン４００Ａ〜４００Ｃが連携する。具体的には、コントローラ１００は、電気機器２００Ａ〜２００Ｅの制御コマンド（例：リビングのテレビ２００Ａの電源ＯＦＦの命令等）を、学習リモコン４００Ａ〜４００Ｃを経由して送信する。この場合において、コントローラ１００は当該コマンドを示す制御コードそのものではなく、被制御対象である電気機器を、制御コードを識別するＩＤを送信する。コントローラ１００は、学習モードにおいて、習リモコン４００Ａ〜４００Ｃと通信することによりＩＤを取得する。
【００７５】
学習モードに切替えるために、ユーザはコントローラ１００のタッチパネル１０６を操作し、また学習リモコン４００Ａ〜４００Ｃの図示のない外部スイッチを操作する。ＣＰＵ１１０は、タッチパネル１０６からの操作を受付け、受付けた操作内容に従い、動作モードを学習モードに切替える。また、学習リモコン４００Ａ〜４００ＣのＣＰＵは外部スイッチからの出力に従い動作モードを学習モードに切替える。
【００７６】
＜通信シーケンス＞
図８は、本発明の実施の形態に係る通信シーケンスを示す図である。図９は、テーブルの変化を説明するための図である。図１０は操作のメニュー画面例を示す図である。これら図を参照して、照明２００Ｂの制御コードのＩＤを学習する場合を説明する。
【００７７】
学習モードにおいて、ユーザはコントローラ１００のタッチパネル１０６を操作すると、ディスプレイ１０２にはテーブル１０１Ａのデータに従う図１０の（Ａ）のメニュー画面が表示される（ステップＳ１）。具体的には、ＣＰＵ１１０は、操作に従って、メモリ１０１のテーブル１０１Ａ（図９の（Ａ））からデータを読出し、読出したデータに従って画面データを生成し、生成した画面データの画面をディスプレイ１０２に表示する。
【００７８】
ここで、テーブル１０１Ａには、図９の（Ａ）に示すように、リビングに設置された電気機器のそれぞれに対応して、制御内容（当該電気機器を識別するための機器名、当該機器のための複数種類の制御コードなど）、および対応の識別子のＩＤが格納される。図９の（Ａ）では、テレビ２００Ａについて“電源ＯＦＦ”する制御コードのみ学習されており、対応するＩＤは“１”が割当てられている。他の種類の制御コードについては未学習であり、ＩＤは不定（“−”）である。図１０の（Ａ）では、学習されてＩＤが割当てられている制御内容のみが反転表示などされて、表示態様を異ならせている。
【００７９】
ユーザは、メニュー画面から未学習の制御内容を確認することができる。ここで、制御内容として“リビングの照明２００Ｂの電源ＯＮ”にＩＤを割当てることを要求する学習を希望し、タッチパネル１０６を操作しメニュー画面から“リビングの照明２００Ｂの電源ＯＮ”の項目を選択すると（ステップＳ１）、ＣＰＵ１１０は選択操作を受付け、受付けた操作に従う“学習命令”を格納したフレーム７００を生成し、通信インターフェイス１０５を介し送信する（ステップＳ３）。
【００８０】
このフレーム７００は、宛先データ７０２はブロードキャストアドレスを示し、送信元データ７０３は“コントローラ１００”のアドレスを示し、ペイロード７０４は“学習命令”を示す。コントローラ１００のアドレスは、メモリ１０１に予め格納されている。
【００８１】
なお、“学習命令”は、学習リモコン４００Ａに対して、信号コードテーブル４０３Ａに信号コードに対応するＩＤの格納（割当て）を要求する学習要求と、割当てたＩＤのコントローラ１００への送信を要求する送信要求とを含む。
【００８２】
フレーム７００は、全ての学習リモコン４００Ａ〜４００Ｂによって受信されるが、学習モードに切替えられた学習リモコン４００Ａのみが当該フレームを処理し、他の学習リモコン４００Ｂと４００Ｃは受信したフレーム７００を破棄する。
【００８３】
なお、ステップＳ３で送信されるフレーム７００の宛先データ７０２は、ブロードキャストアドレスではなく、選択操作で指定される部屋名（“リビング”）に基づき特定された学習リモコン４００Ａのアドレスを示すようにしてもよい。つまり、メモリ１０１には各部屋名に対応して、当該部屋に設置された学習リモコンのアドレスが予め格納される、または各部屋に対応のテーブル１０１Ａ〜１０１Ｃのそれぞれに関連付けて学習リモコンのアドレスが格納されているとする。これにより、ＣＰＵ１０１は受付けた選択操作が示す“部屋名”に基づきメモリ１０１を検索し、当該フレーム７００のための宛先アドレスを読出すことができる。学習リモコン４００Ａ〜４００Ｂのアドレスは、たとえばＭＡＣ（Media  Access  Control  address）アドレスなどである。
【００８４】
学習リモコン４００ＡのＣＰＵ４１０はフレーム７００のペイロード７０４を解析し、ペイロード７０４の“学習命令”の学習要求に応じて学習スタンバイ状態となる（ステップＳ５）。
【００８５】
一方、ユーザはリモコン３００Ｂの操作部３０４Ｂにおいて“電源ＯＮ”を指令するためのボタン操作をする（ステップＳ７）。ＣＰＵ３１０Ｂは、操作を受付け、受付けた操作パターンを応じた信号コードを示すＩＲ信号を、ＩＲ通信部３０６Ｂを介し学習リモコン４００Ａに送信する（ステップＳ９）。ここでは、ユーザはリモコン３００Ｂを学習リモコン４００Ａに接近させて操作することにより、学習リモコン４００Ａはリモコン３００ＢからのＩＲ信号を確実に受信することができる。
【００８６】
学習リモコン４００ＡのＣＰＵ４１０は、受信するＩＲ信号から取得される信号コードを信号コードテーブル４０３Ａに格納する（ステップＳ１１）。このとき、図９の（Ｃ）に示すように、信号コードテーブル４０３Ａには番号データが“１”の信号コードは既に格納されている。したがって、ステップＳ１１では、空きの番号データに対応付けて信号コードを格納する。ここでは、番号データ“２”に対応付けて信号コードを格納したと想定する。したがって、信号コードテーブル４０３Ａのデータは、図９の（Ｃ）から図９の（Ｄ）に変化する。
【００８７】
ＣＰＵ４１０は、“学習命令”のＩＤ送信要求に応じて、信号コードテーブル４０３Ａにおいて、格納された信号コードに対応付けされた番号データ“２”を示すＩＤをペイロード７０４として有するフレーム７００を生成し、“学習命令”の応答としてコントローラ１００宛てに送信する（ステップＳ１３）。
【００８８】
コントローラ１００のＣＰＵ１０は、学習リモコン４００Ａからフレーム７００を受信すると、ペイロード７０４のＩＤ＝２を読出し、テーブル１０１Ａに格納する（ステップＳ１５）。具体的には、テーブル１０１Ａを、ステップＳ１の操作で選択された項目“照明２００Ｂの電源ＯＮ”で検索し、当該選択項目に一致する制御内容（“機器名+制御コード”）に対応したＩＤとして“２”を格納する。
【００８９】
その後、ＣＰＵ１１０は、学習リモコン４００Ａに学習モードの終了コマンドを通知し、その後、学習モードから元の通常動作モードに復帰する（ステップＳ１７）。また、学習リモコン４００も、終了コマンドを受信すると学習モードから元の通常動作モードに復帰する。これにより、学習モードは終了する。
【００９０】
このような学習により、テーブル１０１Ａは、学習前の図９の（Ａ）の状態から、図９の（Ｂ）の学習後の状態に変化する。
【００９１】
なお、図８では、リモコン３００Ｂから学習リモコン４００Ａへの信号コード送信（ステップＳ９）に先だって、コントローラ１００から学習リモコン４００Ａへの学習命令の送信（ステップＳ３）を行うようにしたが、この逆であってもよい。すなわち、学習リモコン４００Ａがリモコン３００Ｂから信号コードを受信し、信号コードテーブル４０３Ａに格納することでＩＤの値が決定された後に、当該ＩＤの学習命令が学習リモコン４００Ａに送信されるとしてもよい。
【００９２】
＜通常動作モード＞
通常動作モードでは、コントローラ１００は、学習がされたテーブル１０１ＡのＩＤを用いて、ユーザが所望する電気機器の動作を遠隔制御することができる。
【００９３】
図８を参照して、コントローラ１００のＣＰＵ１１０は、タッチパネル１０６を介してユーザ操作を受付けると、ディスプレイ１０２に、図９の（Ｂ）の学習後のテーブル１０１Ａのデータによる図１０の（Ｂ）のメニュー画面を表示する（ステップＳ２９）。
【００９４】
ユーザはメニュー画面から所望する制御内容を選択的に操作すると、ＣＰＵ１１０は選択操作に従ってテーブル１０１Ａを検索する（ステップＳ３１）。たとえば、“リビングの照明２００Ｂの電源ＯＮ”の制御内容が選択的に指定操作されると、ＣＰＵ１１０は、操作内容に従ってメモリ１０１を検索し、テーブル１０１Ａから制御内容（“照明２００Ｂの電源ＯＮ”）に一致する“機器名+制御コード”に対応したＩＤ（＝２）を読出す。
【００９５】
ＣＰＵ１１０は、読出したＩＤ＝２をペイロード７０４に有するフレーム７００を生成し、通信インターフェイス１０５から送信する（ステップＳ３３）。このフレーム７００は、宛先データ７０２として学習リモコン４００Ａのアドレスを有する。
【００９６】
学習リモコン４００Ａは、コントローラ１００からフレーム７００を受信すると、受信するフレーム７００のペイロード７０４が示すＩＤに基づき、信号コードテーブル４０３Ａを検索する（ステップＳ３５）。検索により、当該ＩＤの値を示す番号データに対応する信号コードを読出し、ＩＲ通信部４０２Ａに出力する。
【００９７】
ＩＲ通信部４０２Ａは、入力する信号コードに従うＩＲ信号を送信する。このＩＲ信号はテレビ２００Ａと照明２００Ｂにより受信されて、テレビ２００Ａと照明２００ＢそれぞれのＣＰＵは、ＩＲ信号を復調し信号コードを取得し、信号コードから自己宛てのＩＲ信号か否かを判定する。この場合、照明２００Ｂは自己宛てと判定するが、テレビ２００Ａは自己宛てではないと判定し当該信号コードを破棄する。
【００９８】
自己宛てと判定した照明２００ＢのＣＰＵ２１０Ｂは、復調して取得した信号コードに従って電源部２０４Ｂの動作を制御する（ステップＳ４３）。これにより、照明２００Ｂの電源はＯＮされる。
【００９９】
本実施の形態では、識別子（ＩＤ）は、たとえば番号の値を示すことから、ＩＤを送信するための通信量は、信号コードを送信するための通信量よりも少なくすることができる。
【０１００】
＜学習データの消去＞
上述の学習モードで登録したデータは、学習モードの通信処理と同様の手順を用いて消去することもできる。
【０１０１】
具体的には、コントローラ１００のでは図１０のようなメニュー画面を表示すると、ユーザはメニュー画面から消去したい学習データ（リビングの照明２００Ｂの電源ＯＮ等）を選択的に指定する。ＣＰＵ１１０は操作内容に基づき、テーブル１０１Ａから“照明２００Ｂの電源ＯＮ”を示す“機器名+制御コード”に対応のＩＤを検索する。
【０１０２】
また、コントローラ１００は、学習リモコン４００Ａに対して“消去命令”と共に、検索により読出したＩＤの値（＝２）を送信する。
【０１０３】
学習リモコン４００Ａでは、コントローラ１００から消去命令を受信すると、消去命令とともに受信したＩＤの値（＝２）に基づき信号コードテーブル４０３Ａを検索し、番号データが“２”の信号コードを削除する。そして、コントローラ１００に削除成功を返信する。
【０１０４】
コントローラ１００は、削除成功の返信を受信すると、テーブル１０１Ａの“照明２００Ｂの電源ＯＮ”を示す“機器名+制御コード”に対応のＩＤ（＝２）の値を不定“−”に書換える。これにより、学習データの消去は完了する。
【０１０５】
＜変形例１＞
上述の学習モードでは、学習リモコン４００Ａ〜４００Ｃは、電気機器２００Ａ〜２００Ｅの専用のリモコン３００Ａ〜３００Ｃから学習するべき信号コードを受信するようにしていたが、当該信号コードの取得方法は、これに限定されない。たとえば、学習リモコン４００Ａ〜４００Ｂが着脱自在に装着される記憶媒体から信号コードを読出すことにより、またはインターネットなどのネットワークからのダウンロードにより取得するとしてもよい。
【０１０６】
＜変形例２＞
上述の実施の形態では、学習リモコン４００Ａは、信号コードテーブル４０３Ａに信号コードと当該信号コードの識別子（番号データの値）とを対応付けて記憶するようにしたが、識別子はこれに限定されない。つまり、信号コードテーブル４０３Ａには信号コードと識別子とが対応付けて格納される必要はない。言い換えると、信号コードテーブル４０３Ａには、識別子が対応付けされる信号コードが格納されればよい。たとえば、識別子を学習リモコン４００Ａのメモリ４０１Ａにおける信号コードの格納アドレス（メモリ番地）とするという方法であってもよい。具体例として、識別子として、信号コードテーブル４０３Ａにおける信号コードを格納した領域の先頭アドレスを用いる場合を、以下の（１）〜（３）に従い説明する。
【０１０７】
（１）学習リモコン４００Ａ側では、信号コード格納時に、当該信号コードが格納された領域の先頭アドレス（格納メモリ番地）を取得し、取得した先頭アドレスを、識別子としてコントローラ１００へ送信する。このように、信号コードテーブル４０３Ａには、信号コードのみが格納されて、識別子が対応付けされて格納されるわけではない。
【０１０８】
（２）コントローラ１００からの操作時には、コントローラ１００は、識別子（＝先頭アドレス（格納メモリ番地））を学習リモコン４００Ａに送信する。
【０１０９】
（３）学習リモコン４００Ａは、コントローラ１００から送られてきた先頭アドレス（格納メモリ番地）に基づき信号コードテーブル４０３Ａを検索する。そして、検索により、信号コードテーブル４０３Ａの当該先頭アドレスから始まる領域に格納されている信号コードを読出し、そのまま電気機器に送信することで電気機器を制御する。
【０１１０】
ここで、識別子として上記の格納アドレスだけを用いる場合には、信号コードテーブル４０３Ａではデフラグなどのように信号コード格納領域の再配置はなされないものとする。そして（ａ）全ての信号コードは予め定められたの長さを有する、または（ｂ）信号コードの識別子を当該信号コードが格納された領域の先頭アドレスと終端アドレスのペアであるとすれば、信号コード長が不明の場合であっても、確実に識別子（格納メモリ番地）で指定される信号コードを取得することができる。
【０１１１】
＜変形例３＞
上述の学習モードでは、１個のＩＤを学習するようにしたが、学習する単位はこれに限定されない。たとえば、信号コードテーブル４０３Ａに連続して３個の信号コードを登録した後に、これら３個の信号コードの番号データのＩＤを学習するようにしてもよい。
【０１１２】
また、信号コードテーブル４０３Ａの全ての信号コードについてのＩＤを学習するようにしてもよい。つまり、学習リモコン４００Ａの信号コードテーブル４０３Ａにテレビ２００Ａおよび照明２００Ｂを制御するための信号コードを全て登録しておき、コントローラ１００は、ユーザ操作に従って、“学習命令”とともに“制御コード全てを要求”のフレーム７００を学習リモコン４００Ａに送信する。学習リモコン４００Ａは、当該学習命令を受信すると、信号コードテーブル４０３Ａの全てのデータをコントローラ１００に送信する。
【０１１３】
具体的には、信号コードテーブル４０３Ａには、テーブル１０１Ａの“機器名＋制御コード”が格納される順番と一致した順番で、対応する信号コードが格納されていると想定する。動作において学習リモコン４００ＡのＣＰＵ４１０Ａは、学習命令を受信すると、信号コードテーブル４０３Ａの信号コードが割当てられた番号データをテーブルの先頭から読出し、読出した順番で送信する。コントローラ１００は、この順番で番号データを受信し、受信した順に従って番号データの値を、テーブル１０１Ａの先頭から格納する。これによりテーブル１０１ＡにおけるＩＤの学習は完了する。
【０１１４】
また、信号コードテーブル４０３Ａには、テーブル１０１Ａの“機器名＋制御コード”が格納される順番と一致した順番で、対応する信号コードが格納されていると想定すれば、コントローラ１００はタッチパネル１０６からのユーザ操作に従って、ｎ番目からＮ個の信号コードを指定して学習することもできる。
【０１１５】
＜コピーモード＞
本実施の形態では、学習リモコンが学習モードで取得した学習結果を、他の学習リモコンに転送し、他の学習リモコンの信号コードテーブルに格納することができる。これを学習データのコピーという。コントローラ１００および学習リモコン４００Ａ〜４００Ｃは、学習データのコピーをするために動作モードとしてコピーモードを有する。
【０１１６】
本実施の形態では、学習リモコン４００Ａ〜４００Ｃは、コピーされるべき制御コードを有するコピー元と、当該制御コードのコピー先とのいずれにもなり得る。学習リモコン４００Ａ〜４００ＣそれぞれのＣＰＵは、コピー元として動作するためのコピー元機能と、コピー先として動作するためのコピー先機能とを備える。コピー元機能とコピー先機能とは排他的に能動化される。すなわち、学習リモコンではＣＰＵは、コントローラ１００からのコピー指令に従って両機能のうち一方機能のみを選択的に能動化し、他方の機能は能動化せず待機させるようにして、同時に両機能が能動化されることがないよう制御する。
【０１１７】
動作モードをコピーモードに切替えるために、ユーザはコントローラ１００のタッチパネル１０６を操作し、また学習リモコン４００Ａ〜４００Ｃの図示のない外部スイッチを操作する。コントローラ１００のＣＰＵ１１０は、タッチパネル１０６からの操作を受付け、受付けた操作内容に従い、動作モードをコピーモードに切替える。また、学習リモコン４００Ａ〜４００ＣのＣＰＵは図示しない外部スイッチからの出力に従い動作モードをコピーモードに切替える。
【０１１８】
図１１は、本発明の実施の形態に係る学習データコピーの通信シーケンスを示す図である。図１２は、本発明の実施の形態に係る学習データをコピーする場合のコントローラ１００のテーブルの変化を示す図である。図１３は、本発明の実施の形態に係る学習データをコピーする場合の信号コードテーブルの変化を示す図である。
【０１１９】
図１１では、たとえば、コントローラ１００と、学習リモコン４００Ａと４００Ｃはコピーモードに設定されると想定し、テーブル１０１Ａと１０１Ｃは図１２の（Ａ）と（Ｂ）のようにデータが格納されており、学習リモコン４００Ａの信号コードテーブル４０３Ａと学習リモコン４００Ｃの信号コードテーブル４０３Ｃには、図１３の（Ａ）と（Ｂ）のようにデータが格納されていると想定する。この場合において、学習リモコン４００Ａは信号コードテーブル４０３Ａに格納したデータを、他の学習リモコン４００Ｃに転送し、学習リモコン４００Ｃは学習リモコン４００Ａから受信したデータを信号コードテーブル４０３Ｃに格納する。なお、学習データのコピーは、学習リモコン４００Ａと学習リモコン４００Ｃの間でのコピーに限定されるものではなく、異なる学習リモコンの間であればよい。
【０１２０】
ここでは、照明２００Ｂと照明２００Ｅは同一の機種であり、学習リモコン４００Ａが学習した照明２００Ｂの電源ＯＮの信号コードを、照明２００Ｅの電源ＯＮの信号コードとして学習リモコン４００Ｃが学習する場合を説明する。
【０１２１】
まず、コントローラ１００のＣＰＵ１１０は、タッチパネル１０６からコピー指令入力のためのユーザ操作を受付ける（ステップＴ１）。
【０１２２】
具体的には、ＣＰＵ１１０は、ディスプレイ１０２に、図１２の（Ａ）と（Ｂ）のテーブル１０１Ａとテーブル１０１Ｃに基づく操作メニュー画面を表示する。操作メニュー画面は、図１０の（Ａ）と（Ｂ）に示すような画面である。ユーザは画面を確認し、タッチパネル１０６から、“リビングの照明２００Ｂの電源ＯＮ”について学習されたデータを“寝室の照明２００Ｅ”のデータにコピーする旨のコピー指令の入力操作をする。
【０１２３】
ＣＰＵ１１０は、操作を受付けると、操作によって入力されたコピー指令に従ってテーブル１０１Ａ（図１２の（Ａ）参照）を検索することにより“照明２００Ｂの電源ＯＮのＩＤ＝２”を取得する。ＣＰＵ１１０は、取得した検索結果から“学習リモコン４００Ａ（コピー元端末）の照明２００Ｂの電源ＯＮのＩＤ＝２を、学習リモコン４００Ｃ（コピー先端末）にコピーする”とのコマンド（命令）をペイロード７０４に有するフレーム７００を生成し、生成したフレーム７００を、学習リモコン４００Ａと４００Ｃ宛てに送信する（ステップＴ３、Ｔ５）。このフレーム７００の宛先データ７０２を示す学習リモコン４００Ａと４００Ｃのアドレスは、コピー指令に基づきメモリ１０１を検索することで取得できる。
【０１２４】
学習リモコン４００Ａでは、ＣＰＵ４１０Ａは自己宛てのフレーム７００を受信すると、受信フレーム７００のペイロード７０４のコピー指令に基づきコピー元機能が能動化され、以下、コピー元機能により処理が実行される。
【０１２５】
まず、受信フレーム７００のペイロード７０４のコマンドが示すＩＤの値（＝２）に基づき、信号コードテーブル４０３Ａ（図１３の（Ａ）参照）を検索する。検索により、当該ＩＤ値に一致する番号（＝２）と対応の信号コードを信号コードテーブル４０３Ａから読出す（ステップＴ７）。
【０１２６】
ＣＰＵ４１０Ａは、読出した“番号+信号コード”をペイロード７０４に有するフレーム７００を受信したコマンドに従って生成し、コピー先端末である学習リモコン４００Ｃ宛てに送信する（ステップＴ９）。
【０１２７】
学習リモコン４００Ｃでは、ＣＰＵ４１０ＣはステップＴ５により受信したフレーム７００のペイロード７０４のコピー指令を解析し、解析結果に基づきコピー先機能が能動化され、以下、コピー先機能により処理が実行される。
【０１２８】
コピー先機能は、コピー指令を受信すると学習リモコン４００Ｃをコピー待機モードとする。コピー待機モードで、ステップＴ９においてコピー元端末である学習リモコン４００Ａが送信するフレーム７００を受信すると、ＣＰＵ４１０Ｃは、受信フレーム７００のペイロード７０４の“番号+信号コード”を抽出し、信号コードテーブル４０３Ｃに格納する（ステップＴ１１）。
【０１２９】
このとき、信号コードテーブル４０３Ｃには図１３の（Ｂ）のようにデータが格納された状態であったと想定する。ＣＰＵ４０１Ｃは、抽出した“番号+信号コード”のうちの“番号”（＝２）に基づき信号コードテーブル４０３Ｃを検索する。検索により、同一番号（＝２）に既に信号コードが格納されているか否かを判定する。図１３の（Ｂ）の信号コードテーブル４０３Ｃでは、既に信号コードが格納されていると判定するので、受信した信号コードを、信号コードテーブル４０３Ｃの空きの番号、たとえば番号（＝３）を割当て、当該番号に対応付けて格納する。これにより、信号コードテーブル４０３Ｃのデータは、図１３の（Ｂ）から図１３の（Ｃ）に更新される。一方、検索により、同一番号（＝２）に未だ信号コードが格納されていないと判定すると、受信した信号コードに、信号コードテーブル４０３Ｃの同一番号（＝２）を割当て、当該番号に対応付けて格納する。
【０１３０】
その後、学習リモコン４００ＣのＣＰＵ４１０Ｃは、ステップＴ５のコマンドに対する応答を有するフレーム７００をコントローラ１００宛てに送信する（ステップＴ１３）。
【０１３１】
具体的には、応答のフレーム７００にはペイロード７０４として（２，３）の組が格納される。この組は、「指示されたＩＤ＝２の信号コードは、信号コードテーブルの番号（＝３）に格納した」ことを通知するものである。
【０１３２】
コントローラ１００のＣＰＵ１１０は、応答のフレーム７００を受信すると、受信したフレーム７００のペイロード７０４から（２，３）の組を抽出し、抽出した（２，３）に基づくデータをテーブル１０１Ｃに格納する（ステップＴ１５）。具体的には、テーブル１０１Ｃにおいて“照明+電源ＯＮ”を示す“機器名+制御コード”に対応したＩＤの値（不定：−）を“３”に更新する。これにより、テーブル１０１Ｃのデータは図１２の（Ｂ）から図１２の（Ｃ）に更新される。以上でコピーモードは終了し、コントローラ１００および学習リモコン４００Ａと４００Ｃは通常の動作モードに移行する。
【０１３３】
これにより、学習モードに移行せずとも、照明２００Ｅの信号コードを信号コードテーブル４０３Ｃに格納し、その後、コントローラ１００は対応のＩＤを学習リモコン４００Ｃに送信することで、照明２００Ｅの電源２０４ＢをＯＮするように遠隔制御することができる。
【０１３４】
ここでは、学習リモコン４００Ａが学習した照明２００Ｂの電源ＯＮの信号コードを、照明２００Ｅの電源ＯＮの信号コードとして学習リモコン４００Ｃが学習する場合を説明したが、これに限定されない。つまり、学習リモコン４００Ｃが学習モードで学習した照明２００Ｅの電源２０４ＥをＯＮする信号コードを、照明２００Ｂの電源２０４ＢをＯＮする信号コードとして学習リモコン４００Ａが学習するとしてもよい。
【０１３５】
このように、学習リモコン４００Ａと学習リモコン４００Ｃとの通信により、学習リモコン４００Ａについて学習したデータを、他の学習リモコン４００Ｃの学習データとしてコピーすることができる。学習データのコピー処理によれば、図８の学習モードの通信シーケンスよりも少ない通信トラフィック（図１１参照）で、図８で学習した場合と同様の結果を取得することができる。
【０１３６】
＜一括コピーモード＞
上述したコピー処理では、１個の信号コードについてコピーしたが、本実施の形態では、複数個の信号コードについて一括してコピーすることもできる。これを学習データの一括コピーという。
【０１３７】
コントローラ１００および学習リモコン４００Ａ〜４００Ｃは、動作モードとして一括コピーモードを有する。動作モードを一括コピーモードに切替えるために、ユーザはコントローラ１００のタッチパネル１０６を操作し、また学習リモコン４００Ａ〜４００Ｃの図示のない外部スイッチを操作する。コントローラ１００のＣＰＵ１１０は、タッチパネル１０６からの操作を受付け、受付けた操作内容に従い、動作モードを一括コピーモードに切替える。また、学習リモコン４００Ａ〜４００ＣのＣＰＵは図示しない外部スイッチからの出力に従い動作モードを一括コピーモードに切替える。
【０１３８】
図１４は、本発明の実施の形態に係る学習データの一括コピーの通信シーケンスを示す図である。図１５は、本発明の実施の形態に係る学習データを一括コピーする場合のコントローラ１００のテーブルの変化を示す図である。図１６は、本発明の実施の形態に係る学習データを一括コピーする場合の信号コードテーブルの変化を示す図である。
【０１３９】
図１４では、たとえば、コントローラ１００と、学習リモコン４００Ａと４００Ｃは一括コピーモードに設定されると想定し、テーブル１０１Ａと１０１Ｃは図１５の（Ａ）と（Ｂ）のようにデータが格納されており、学習リモコン４００Ａの信号コードテーブル４０３Ａと学習リモコン４００Ｃの信号コードテーブル４０３Ｃには、図１６の（Ａ）と（Ｂ）のようにデータが格納されていると想定する。この場合において、コピー元機能が能動化される学習リモコン４００Ａは信号コードテーブル４０３Ａに格納したデータを一括して、他の学習リモコン４００Ｃに転送し、コピー先機能が能動化される学習リモコン４００Ｃは学習リモコン４００Ａから受信したデータを信号コードテーブル４０３Ｃに格納する。なお、学習データの一括コピーは、学習リモコン４００Ａと学習リモコン４００Ｃの間でのコピーに限定されるものではなく、異なる学習リモコンの間であればよい。
【０１４０】
まず、コントローラ１００のＣＰＵ１１０は、タッチパネル１０６から一括コピー指令入力のためのユーザ操作を受付ける（ステップＲ１）。
【０１４１】
具体的には、ＣＰＵ１１０は、ディスプレイ１０２に、図１５の（Ａ）と（Ｂ）のテーブル１０１Ａとテーブル１０１Ｃに基づく操作メニュー画面を表示する。操作メニュー画面は、図１０の（Ａ）と（Ｂ）に示すような画面である。ユーザは画面を確認し、タッチパネル１０６から、“リビングの照明２００Ｂの電源ＯＮ、電源ＯＦＦおよび電球色”について学習されたデータを“寝室の照明２００Ｅ”のデータにコピーする旨の一括コピー指令の入力操作をする。
【０１４２】
ＣＰＵ１１０は、操作を受付けると、操作によって入力された一括コピー指令に従ってテーブル１０１Ａ（図１５の（Ａ）参照）を検索することにより“照明２００Ｂの電源ＯＮ、電源ＯＦＦおよび電球色のＩＤ＝１，ＩＤ＝２，ＩＤ＝３”を取得する。ＣＰＵ１１０は、取得した検索結果から“学習リモコン４００Ａの照明２００Ｂの電源ＯＮ、電源ＯＦＦおよび電球色のＩＤ＝１，ＩＤ＝２，ＩＤ＝３を、学習リモコン４００Ｃにコピーする”とのコマンド（命令）をペイロード７０４に有するフレーム７００を生成し、生成したフレーム７００を、学習リモコン４００Ａと４００Ｃ宛てに送信する（ステップＲ３、Ｒ５）。このフレーム７００の宛先データ７０２を示す学習リモコン４００Ａと４００Ｃのアドレスは、コピー指令に基づきメモリ１０１を検索することで取得できる。
【０１４３】
学習リモコン４００Ａでは、ＣＰＵ４１０Ａは自己宛てのフレーム７００のコマンドを受信すると、コピー元機能は、受信フレーム７００のペイロード７０４が示すコマンドが示すＩＤの値（＝１，２，３）に基づき、信号コードテーブル４０３Ａ（図１６の（Ａ）参照）を検索する。検索により、当該ＩＤ値に一致する番号（＝１，２，３）と、この番号それぞれ対応の信号コードを、図１６の（Ａ）の信号コードテーブル４０３Ａから読出す（ステップＲ４）。読出しに成功すると、受信しているコマンドに従って学習リモコン４００Ｃに対し、一括コピースタートを通知するフレーム７００を送信する（ステップＲ７）。
【０１４４】
学習リモコン４００Ｃでは、ステップＲ５により受信したフレーム７００のペイロード７０４を解析し、解析結果に基づきコピー先機能が能動化されて、コピー待機モードとなる。コピー待機モードで、ステップＲ７において学習リモコン４００Ａからスタート通知のフレーム７００を受信すると、ＣＰＵ４１０Ｃは、スタート通知に対しスタートＯＫの応答のフレーム７００を学習リモコン４００Ａ宛てに送信する（ステップＲ９）。
【０１４５】
学習リモコン４００Ａは、スタートＯＫのフレーム７００を受信すると、ステップＲ４で信号コードテーブル４０３Ａから読出した“番号（＝１）”と対応する信号コードをペイロード７０４として格納した学習リモコン４００Ｃ宛てのフレーム７００を生成し（ステップＲ１１）、送信する（ステップＲ１３）。
【０１４６】
学習リモコン４００Ｃでは、学習リモコン４００Ａから受信するフレーム７００のペイロード７０４の“番号+信号コード”を抽出し、信号コードテーブル４０３Ｃに格納する（ステップＲ１４）。格納に成功すると学習リモコン４００Ｃは、ペイロード７０４に“ＯＫ”を格納した応答のフレーム７００を学習リモコン４００Ａ宛てに送信する（ステップＲ１５）。
【０１４７】
学習リモコン４００Ａは、学習リモコン４００Ｃから応答のフレーム７００を受信すると、ステップＲ１１およびＲ１３と同様に、ステップＲ４で読出された“番号（＝２）”と対応する信号コードのフレーム７００を生成し（ステップＲ１７）、学習リモコン４００Ｃ宛てに送信する（ステップＲ１９）。学習リモコン４００Ｃは学習リモコン４００Ａから受信する当該フレーム７００から“番号+信号コード”を抽出し、信号コードテーブル４０３Ｃに格納する（ステップＲ２０）。格納に成功すると学習リモコン４００Ｃは応答のフレーム７００を学習リモコン４００Ａ宛てに送信する（ステップＲ２１）。
【０１４８】
同様にして、次の“番号（＝３）”と対応する信号コードのフレーム７００が学習リモコン４００Ｃ宛てに送信されて、学習リモコン４００Ｃでは当該フレーム７００を受信し、受信フレーム７００から“番号+信号コード”を抽出し、信号コードテーブル４０３Ｃに格納し、応答のフレーム７００を学習リモコン４００Ａ宛てに送信する（ステップＲ２３、Ｒ２５、Ｒ２６、Ｒ２７）。
【０１４９】
これにより、学習リモコン４００Ｃの信号コードテーブル４０３Ｃは、図１６の（Ｂ）のデータから図１６の（Ｃ）のデータに更新される。
【０１５０】
学習リモコン４００ＡのＣＰＵ４１０は、ステップＲ４で読出した信号コードの全てを学習リモコン４００Ｃに送信し、全ての信号コードについて学習リモコン４００Ｃから応答のフレーム７００を受信できたことを判定すると、送信終了（“ＥＮＤ”）を通知するためのフレーム７００を学習リモコン４００Ｃ宛てに送信する（ステップＲ２９）。学習リモコン４００Ｃは、当該フレーム７００を受信すると、通知に対し応答するための“ＯＫ”を格納したフレーム７００を学習リモコン４００Ａ宛てに送信する（ステップＲ３１）。
【０１５１】
学習リモコン４００ＡのＣＰＵ４１０Ａは、学習リモコン４００Ｃから送信終了通知に対する“ＯＫ”のフレーム７００を受信すると、動作モードを一括コピーモードから通常の動作モードに切替える。
【０１５２】
学習リモコン４００ＣのＣＰＵ４１０Ｃは、“ＯＫ”のフレーム７００を学習リモコン４００Ａ宛てに送信すると、信号コードテーブル４０３Ｃの格納（学習）したデータをコントローラ１００に通知するために、ステップＲ５におけるコントローラ１００からのコマンドに対する応答のフレーム７００を送信する（ステップＲ３５）。送信後は、学習リモコン４００ＣのＣＰＵ４１０Ｃは、動作モードを一括コピーモードから通常の動作モードに切替える。
【０１５３】
ここで、一括コピー前においては信号コードテーブル４０３Ｃには図１６の（Ｂ）のようにデータが格納された状態であったと想定する。ＣＰＵ４０１Ｃは、学習リモコン４００Ａから受信するフレーム７００から抽出する“番号+信号コード”のうちの“番号”（＝１，２，３）に基づき信号コードテーブル４０３Ｃを検索する。検索により、同一番号（＝１，２，３）には既に信号コードが格納されているか否かを判定する。図１６の（Ｂ）の信号コードテーブル４０３Ｃでは、既に番号＝１と番号＝２には信号コードが格納されていると判定するので、受信した対応の信号コードを、信号コードテーブル４０３Ｃの空きの番号、たとえば番号（＝３，４，５）を割当て、当該番号に対応付けて格納する。これにより、信号コードテーブル４０３Ｃのデータは、図１６の（Ｂ）から図１６の（Ｃ）に更新される。
【０１５４】
ステップＲ３５の応答のフレーム７００のペイロード７０４は、（１，３），（２，４）および（３，５）の３個の組が格納される。この３個の組は、「指示されたＩＤ＝１の信号コードは、信号コードテーブルの番号（＝３）に格納し、指示されたＩＤ＝２の信号コードは、信号コードテーブルの番号（＝４）に格納し、指示されたＩＤ＝３の信号コードは、信号コードテーブルの番号（＝５）に格納した」ことを通知するものである。
【０１５５】
コントローラ１００のＣＰＵ１１０は、ステップＲ３５の応答のフレーム７００を受信すると、受信したフレーム７００のペイロード７０４から（１，３），（２，４）および（３，５）の３個の組を抽出し、抽出した（１，３），（２，４）および（３，５）の３個の組に基づくデータをテーブル１０１Ｃに格納する（ステップＲ３７）。
【０１５６】
具体的には、テーブル１０１Ｃにおいて“照明+電源ＯＮ”を示す“機器名+制御コード”に対応したＩＤの値（不定：−）を“３”に更新し、“照明+電源ＯＦＦ”を示す“機器名+制御コード”に対応したＩＤの値（不定：−）を“４”に更新し、“照明+電源ＯＮ”を示す“機器名+制御コード”に対応したＩＤの値（不定：−）を“５”に更新する。これにより、テーブル１０１Ｃのデータは図１５の（Ｂ）から図１５の（Ｃ）に更新される。以上で一括コピーモードは終了し、コントローラ１００の動作モードは通常の動作モードに切替えられる。
【０１５７】
上述の学習データのコピー先は学習リモコン４００Ｃと１台であったが、複数台の学習リモコンそれぞれに、同様のフレーム７００を送信することで、複数台の学習リモコンに学習データをコピーすることもできる。同じ機種の電気機器を異なる学習リモコンが制御する場合には、このコピー処理により各学習リモコンは制御のための信号コードを簡単に取得することができる。
【０１５８】
図１４の学習リモコン４００Ａと学習リモコン４００Ｃとの通信により、学習リモコン４００Ａについて学習したデータを、他の学習リモコン４００Ｃの学習データとして一括コピーすることができる。学習データの一括コピー処理によれば、図８の学習モードの通信シーケンスよりも少ない通信トラフィック（図１１参照）で、図８で学習した場合と同様の結果を取得することができる。
【０１５９】
＜コピー処理の変形例＞
学習リモコン４００Ａから学習リモコン４００Ｃへ、ある電気機器、ある制御内容をコピーする際、コントローラ１００のＣＰＵ１０１は、テーブル１０１Ｃに既に格納された同一機種の電気機器且つ同一の制御内容であるか否かを判断する。同一と判定すると、コピーしないよう処理する。または、ユーザの確認を得た後、上書きコピーする
のどちらかを行う。なお、上書きコピーの際は、コントローラ１００は、学習リモコン４００Ｃの信号コードテーブル４０３Ｃに格納された同一制御内容が示す信号コードを“当該ＩＤが示す番号の箇所に上書きしろ”、という命令を出す、ようにしてもよい。
【０１６０】
＜実施の形態の効果＞
本実施の形態では、学習またはコピーをすることにより、その後はコントローラ１００から電気機器２００Ａ〜２００Ｄを遠隔制御するためにＩＤを送信すればよい。したがって、ＩＤに代替して図６に示す信号コードを送信する場合に比較して通信データ量を少なくすることができる。このように、ＩＤ（識別子）の通信にかかる通信量を信号コード（制御コード）の通信にかかる通信量よりも少なくできるとの効果を、以下に説明する。この効果を、以下に説明する。
【０１６１】
コントローラ１００から学習リモコン４００Ａ〜４００Ｃに対して、信号コードを送信する場合は、(１)赤外線リモコンデータは代表的なフォーマット（家電製品協会等）に限定し、データ送信の際は、コード情報を送信する。または（２）赤外線リモコンデータを単なるbit情報として送信する等の方法が考えられる。
【０１６２】
上記（１）の場合は、対象フォーマットでない電気機器は扱えない、または学習時に電気機器本来のリモコンからの赤外線データ受信の際、コード情報を取り出す仕組みが必要等の制限がある。従って、上記（２）の方法のほうが汎用的であるが、データサイズが大きくなるという課題が残る。
【０１６３】
データサイズの具体例として、以下の情報を示す。
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/
これら情報によれば、１つの赤外線信号コードを送信するためには、リーダコード、カスタムコード、データコード、ストップビット、フレームスペース等から成るフレームを送信する必要があり、１フレームは1108msecである。
【０１６４】
電気機器専用のリモコン３００Ａ〜３００Ｅの赤外線信号コードから学習する際、リモコン信号受信のサンプリング間隔をどれくらいにするかによって取得されるデータのサイズが異なる。例えば、0.1msec間隔でサンプリングすると、108msec → 1080bit → 135byteのサイズとなる。（注）0.1msecのサンプリングは、十分細かいサンプリング間隔というわけではなく、より詳細なサンプリングを行うとデータサイズはさらに増大する。
【０１６５】
これに対して、本実施の形態では、コントローラ１００から学習リモコン４００Ａ〜４００Ｃへは、信号コードテーブル４０３Ａの信号コードを格納した番地データに一致したＩＤを送れば良く、通常2byte(数値としては0〜65535)あれば十分である。その他に、学習リモコン４００Ａ〜４００Ｃからコントローラ１００に送信されるＩＤを格納するためのデータとして2byteくらいは必要であるので、計4byte程度あれば十分である。
【０１６６】
なお、実際の通信には、上記のデータに、フレーム７００のヘッダ（宛先データ７０２、送信元データ７０３など）等が追加される。例えば、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フレームでは送信できないため、分割して送信する等の対策が必要である。
【０１６８】
このように、コントローラ１００が電気機器を遠隔制御するために、学習リモコン４００とコントローラ１００との間でＩＤを転送すれば、信号コードを転送する場合に比較し通信データ量を減らすことができ、それにより以下の効果が奏される。
【０１６９】
（１）送信データが大きい場合、無線方式にもよるが、１つのコマンドが、１フレーム７００で送信できないこともある。この場合、リモコン側は、受信した複数のフレーム７００を組み合わせて１つの赤外線データを構成することになる。その結果、学習リモコン４００Ａ〜４００Ｃは複数のフレーム７００を組み合わせる必要があるので、構成が複雑になる。また、コントローラ１００側も、一つの命令に対して、複数のフレーム７００を送信しなければならないため、構成が複雑になるが、本実施の形態ではＩＤを転送することから、当該課題は解決される。
【０１７０】
(２）一般的な事項（複数フレームに分割されない）に着目すると、トラフィックの低減により、信頼性は向上する。また、学習リモコン４００Ａ〜４００Ｃから見れば、無線データ消失の可能性が低減する。すなわち、本実施の形態では、電気機器が（何らかの）操作がされるはずなのに操作が行われなかった、というエラーが低減される。
【０１７１】
また、レスポンスに着目すると、コントローラ１００から送信された無線データが学習リモコン４００Ａ〜４００Ｃによって受信されるまでの時間を低減することができる。本実施の形態で一例を挙げると、テレビ２００Ａのチャンネル変更等に要する時間が短くなり、ユーザの利便性が向上する。
【０１７２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７３】
１００  コントローラ、１０１Ａ〜１０１Ｃ  テーブル、１０２  ディスプレイ、１０３  タブレット、１０４  ボタン、１０６  タッチパネル、１０７  スピーカ、１０８  時計、２００Ａ〜２００Ｅ  電気機器、３００Ａ〜３００Ｅ  リモコン、４００Ａ〜４００Ｃ  学習リモコン、４０１Ａ，４０１Ｃ  信号コードテーブル、７００  フレーム、７０４  ペイロード。
【図１】
0006005406.tif 000002
【図２】
0006005406.tif 000003
【図３】
0006005406.tif 000004
【図４】
0006005406.tif 000005
【図５】
0006005406.tif 000006
【図６】
0006005406.tif 000007
【図７】
0006005406.tif 000008
【図８】
0006005406.tif 000009
【図９】
0006005406.tif 000010
【図１０】
0006005406.tif 000011
【図１１】
0006005406.tif 000012
【図１２】
0006005406.tif 000013
【図１３】
0006005406.tif 000014
【図１４】
0006005406.tif 000015
【図１５】
0006005406.tif 000016
【図１６】
0006005406.tif 000017