(57)【要約】【課題】制御対象とするデバイスの探索を、より効率的に実行できるようにする。【解決手段】リモートコントローラ１により、制御対象とするデバイスの探索が所定の周期で実行される。探索により、制御対象のデバイスが検出されなかった場合、デバイスの探索を行う周期として、それまで設定されていた周期に替えて、より長い周期が設定される。探索によりデバイスが検出された場合、検出されたデバイスとの間で通信が行われ、そのデバイスを操作するとき操作される操作パネルを表示するための情報が、デバイスから取得される。取得された情報に基づいてリモートコントローラ１に表示される操作パネルを操作することにより、ユーザは、デバイスを制御することができる。本発明は、無線通信により、各種のＡＶ機器、家電製品等を制御することが可能な情報処理装置に適用することができる。【選択図】      図１
2004235960.tif 000002
【特許請求の範囲】
【請求項１】
所定の情報処理装置を制御する制御装置において、
制御対象とする前記情報処理装置の検出を行う周期を設定する設定手段と、
前記設定手段により設定される周期に従って、前記情報処理装置を無線通信により検出する検出手段と
を備え、
前記設定手段は、前記検出手段により前記情報処理装置が検出されなかった場合、それまで設定されていた、前記情報処理装置の検出が行われる周期としての第１の周期に替えて、前記第１の周期より長い周期である第２の周期を、前記情報処理装置の検出が行われる周期として設定する
ことを特徴とする制御装置。
【請求項２】
前記設定手段は、前記検出手段により前記情報処理装置が検出されたとき、前記情報処理装置の検出が行われる周期として、デフォルトの周期を設定する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御装置において生じる振動を検出する振動検出手段をさらに備え、
前記検出手段は、前記振動検出手段により、所定の閾値以上の振動が検出されたとき、前記情報処理装置の検出を行う
ことを特徴とする請求項１に記載の制御装置。
【請求項４】
前記検出手段は、前記情報処理装置の制御が行われているとき、前記情報処理装置の検出を禁止する
ことを特徴とする請求項１に記載の制御装置。
【請求項５】
前記情報処理装置を制御するときに操作される操作画面を表示するための操作画面情報を取得する取得手段と、
前記検出手段により前記情報処理装置が検出されたとき、前記取得手段により取得された前記操作画面情報に基づいて、前記操作画面を表示する表示手段と、
前記表示手段により表示された前記操作画面に対する入力に基づいて、前記情報処理装置を制御する制御手段と
をさらに備えることを特徴とする請求項１に記載の制御装置。
【請求項６】
前記取得手段は、前記操作画面情報を、前記検出手段により検出された前記情報処理装置から取得する
ことを特徴とする請求項５に記載の制御装置。
【請求項７】
所定の情報処理装置を制御する制御装置の制御方法において、
制御対象とする前記情報処理装置の検出を行う周期を設定する設定ステップと、
前記設定ステップの処理により設定される周期に従って、前記情報処理装置を無線通信により検出する検出ステップと
を含み、
前記検出ステップの処理により前記情報処理装置が検出されなかった場合、前記設定ステップの処理により、それまで設定されていた、前記情報処理装置の検出が行われる周期としての第１の周期に替えて、前記第１の周期より長い周期である第２の周期が、前記情報処理装置の検出が行われる周期として設定される
ことを特徴とする制御方法。
【請求項８】
所定の情報処理装置の制御をコンピュータに実行させるプログラムの記録媒体において、
制御対象とする前記情報処理装置の検出を行う周期を設定する設定ステップと、
前記設定ステップの処理により設定される周期に従って、前記情報処理装置を無線通信により検出する検出ステップと
を含み、
前記検出ステップの処理により前記情報処理装置が検出されなかった場合、前記設定ステップの処理により、それまで設定されていた、前記情報処理装置の検出が行われる周期としての第１の周期に替えて、前記第１の周期より長い周期である第２の周期が、前記情報処理装置の検出が行われる周期として設定される
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項９】
所定の情報処理装置の制御をコンピュータに実行させるプログラムにおいて、
制御対象とする前記情報処理装置の検出を行う周期を設定する設定ステップと、
前記設定ステップの処理により設定される周期に従って、前記情報処理装置を無線通信により検出する検出ステップと
を含み、
前記検出ステップの処理により前記情報処理装置が検出されなかった場合、前記設定ステップの処理により、それまで設定されていた、前記情報処理装置の検出が行われる周期としての第１の周期に替えて、前記第１の周期より長い周期である第２の周期が、前記情報処理装置の検出が行われる周期として設定される
ことを特徴とするコンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御装置および方法、記録媒体、並びにプログラムに関し、特に、制御対象とする情報処理装置の探索を、より効率的に行うことができるようにする制御装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
近年、例えば、ハードディスクレコーダやＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）レコーダなどの、新たなカテゴリのＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）機器等が普及しつつある。
【０００３】
それらの機器には、通常、それぞれの機器にリモートコントローラが付属されているため、新たに機器を購入する毎に、家庭内にあるリモートコントローラの数が増えることになる。例えば、一般的な家庭には、テレビジョン受像機、ＶＴＲ（Ｖｉｄｅｏ  Ｔａｐｅ  Ｒｅｃｏｒｄｅｒ）、或いは、オーディオ機器等のリモートコントローラが既に存在する。
【０００４】
また、テレビジョン番組の再生機能や音楽再生機能が搭載されたパーソナルコンピュータ、或いは、エアーコンディショナーや照明機器などの各種の家電製品にも、リモートコントローラによる操作が可能なものが増えつつあり、家庭によっては、その数は、かなりのものになる。
【０００５】
そのため、そのように複数あるリモートコントローラを一元的に管理できるような技術が、従来より各種提案されている。
【０００６】
例えば、下記特許文献１には、リモートコントローラの表示画面情報をダウンロードし、それに基づいてリモートコントローラ画像を表示させることにより、リモートコントローラの機能を追加できるようにした技術が開示されている。
【０００７】
また、特許文献２には、そのように、１台のリモートコントローラで複数の機器が制御可能である場合に、制御対象とする機器を容易に検出できるようにする技術が開示されている。
【０００８】
【特許文献１】
特開２００２−１６９９０号公報
【特許文献２】
特開平６−３１９１７７号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、上述したような技術においては、制御対象とする機器の検出が効率的に行われていないという課題があった。
【００１０】
例えば、機器の検出が、ユーザにより所定のボタンが操作されたときに実行される場合、ユーザは、機器を操作しようとする毎に、検出を開始させるためのボタンを操作しなければならず、効率的ではない。
【００１１】
また、一定の周期に従って、機器の検出が自動的に繰り返し実行される場合、ユーザ自身が操作しなくても、機器の検出を実行させることができるものの、その場合、例えば、リモートコントローラが制御対象の機器から離れたところにあり、機器を検出できない状況にあるときであっても、機器の検出が繰り返し実行されることになる。すなわち、機器の検出が自動的に繰り返し行われることが、リモートコントローラの消費電力の観点からは効率的ではない場合がある。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、より効率的に、制御対象とするデバイスの探索を行うことができるようにするものである。
【００１３】
【課題を解決するための手段】
本発明の制御装置は、制御対象とする情報処理装置の検出を行う周期を設定する設定手段と、設定手段により設定される周期に従って、情報処理装置を無線通信により検出する検出手段とを備え、設定手段は、検出手段により情報処理装置が検出されなかった場合、それまで設定されていた、情報処理装置の検出が行われる周期としての第１の周期に替えて、第１の周期より長い周期である第２の周期を、情報処理装置の検出が行われる周期として設定することを特徴とする。
【００１４】
設定手段は、検出手段により情報処理装置が検出されたとき、情報処理装置の検出が行われる周期として、デフォルトの周期を設定するようにすることができる。
【００１５】
制御装置において生じる振動を検出する振動検出手段をさらに備えるようにすることができる。この場合、検出手段は、振動検出手段により、所定の閾値以上の振動が検出されたとき、情報処理装置の検出を行う。
【００１６】
検出手段は、情報処理装置の制御が行われているとき、情報処理装置の検出を禁止するようにすることができる。
【００１７】
情報処理装置を制御するときに操作される操作画面を表示するための操作画面情報を取得する取得手段と、検出手段により情報処理装置が検出されたとき、取得手段により取得された操作画面情報に基づいて、操作画面を表示する表示手段と、表示手段により表示された操作画面に対する入力に基づいて、情報処理装置を制御する制御手段とをさらに備えるようにすることができる。
【００１８】
取得手段は、操作画面情報を、検出手段により検出された情報処理装置から取得するようにすることができる。
【００１９】
本発明の制御装置の制御方法は、制御対象とする情報処理装置の検出を行う周期を設定する設定ステップと、設定ステップの処理により設定される周期に従って、情報処理装置を無線通信により検出する検出ステップとを含み、検出ステップの処理により情報処理装置が検出されなかった場合、設定ステップの処理により、それまで設定されていた、情報処理装置の検出が行われる周期としての第１の周期に替えて、第１の周期より長い周期である第２の周期が、情報処理装置の検出が行われる周期として設定されることを特徴とする。
【００２０】
本発明の記録媒体に記録されるプログラム、および、本発明のプログラムは、制御対象とする情報処理装置の検出を行う周期を設定する設定ステップと、設定ステップの処理により設定される周期に従って、情報処理装置を無線通信により検出する検出ステップとを含み、検出ステップの処理により情報処理装置が検出されなかった場合、設定ステップの処理により、それまで設定されていた、情報処理装置の検出が行われる周期としての第１の周期に替えて、第１の周期より長い周期である第２の周期が、情報処理装置の検出が行われる周期として設定されることを特徴とする。
【００２１】
本発明の制御装置および方法、並びにプログラムにおいては、制御対象とする情報処理装置の検出が行われる周期が設定され、設定される周期に従って、情報処理装置が無線通信により検出される。また、情報処理装置が検出されなかった場合、それまで設定されていた、情報処理装置の検出が行われる周期としての第１の周期に替えて、第１の周期より長い周期である第２の周期が、情報処理装置の検出が行われる周期として設定される。
【００２２】
【発明の実施の形態】
図１は、本発明を適用した制御システムの構成例を示す図である。
【００２３】
リモートコントローラ（制御装置）１は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）や、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１ａ，８０２．１１ｂ，８０２．１１ｇなどに準拠した無線通信機能を有している。リモートコントローラ１は、それらの無線通信により、ユーザからの入力に基づくコマンドを制御対象のデバイス（情報処理装置）に送信し、デバイスの制御を行う。
【００２４】
すなわち、リモートコントローラにより制御されるデバイスにも、Ｂｌｕｅｔｏｏｔｈによる通信機能や、ＩＥＥＥ８０２．１１ｂなどの通信機能が設けられている。
【００２５】
図１の例においては、部屋１１には、リモートコントローラ１により制御されるデバイスとして、テレビジョン受像機２１、および、オーディオシステム２２が設置されている。また、部屋１２には、パーソナルコンピュータ（ＰＣ）３１、および、ロボット３２が設置、または存在する。
【００２６】
リモートコントローラ１は、例えば、内蔵する振動センサにおいて所定の閾値以上の振動が発生したため、ユーザにより保持されていることを検出したとき、制御対象のデバイスの探索を行い、近傍に存在するデバイスを検出する。ここでいう「近傍」とは、そのときリモートコントローラ１が存在する部屋に設置されているデバイスを検出することが可能な、例えば、数十センチメートル乃至数メートルの範囲をいう。なお、ユーザが、リモートコントローラ１によりデバイスの探索が行われる範囲（近傍の範囲）を設定できるようにしてもよい。
【００２７】
リモートコントローラ１によるデバイスの探索は、基本的には、そのときの状況に応じて適宜変更される周期に従って実行されるが、ユーザにより持ち上げられたことが検出されたことなどをトリガとしても実行される。探索の周期は、探索によりデバイスが検出されなかった場合、デフォルトの周期から、次第に長いものとなるように設定される。
【００２８】
リモートコントローラ１は、探索により制御対象のデバイスを検出したとき、そのデバイスとの間で、例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）による通信を行い、デバイスを制御するときにユーザにより操作される、操作パネル（各種のボタンが配置された画面）を表示するための操作パネル情報をデバイスから取得する。リモートコントローラ１により制御されるデバイスは、それぞれ、例えば、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）により記述された操作パネル情報を記憶しており、リモートコントローラ１からの要求に応じて、Ｂｌｕｅｔｏｏｔｈなどの無線通信により、操作パネル情報をリモートコントローラ１に提供する。
【００２９】
すなわち、リモートコントローラ１とデバイスにより、クライアント−サーバのシステムが実現され、サーバであるデバイスから、リモートコントローラ１に操作パネル情報が提供される。
【００３０】
例えば、図１の部屋１１において、ユーザにより持ち上げられたことを検出したとき、リモートコントローラ１は、探索により、制御可能なデバイスとして、テレビジョン受像機２１、および、オーディオシステム２２を検出する。また、リモートコントローラ１は、テレビジョン受像機２１、および、オーディオシステム２２から、それぞれが有する操作パネル情報をＢｌｕｅｔｏｏｔｈ通信により取得し、取得した情報に基づいて操作パネルを表示する。
【００３１】
従って、リモートコントローラ１の表面に形成されているＬＣＤ（Ｌｉｑｕｉｄ  ＣｒｙｓｔａｌＤｉｓｐｌａｙ）５１（図２）には、テレビジョン受像機２１を操作するための操作パネルと、オーディオシステム２２を操作するための操作パネルが表示される。このように複数のデバイスが検出された場合、リモートコントローラ１においては、複数のデバイスの操作パネルを１つのＬＣＤ５１に表示するために、操作パネル情報の編集（ＨＴＭＬファイルのフレーム分割）が行われる。
【００３２】
ＬＣＤ５１には、タッチパネルが重畳されており、操作パネルの所定のボタンがユーザにより操作されたとき、その操作に対応するコマンドがデバイスに対して送信される。図１の例においては、破線の矢印により、オーディオシステム２２に対して、リモートコントローラ１から所定の制御コマンドが送信されていることが表されている。
【００３３】
例えば、ユーザがリモートコントローラ１を保持したまま、部屋１１から出たため、デバイス（テレビジョン受像機２１およびオーディオシステム２２）との通信可能な範囲から出た場合、リモートコントローラ１にそれまで表示されていた操作パネルは消去される。
【００３４】
部屋１２においても、同様に、ユーザにより持ち上げられたことが検出されたときなどの所定のタイミングで、リモートコントローラ１によりデバイスの探索が行われる。この場合、リモートコントローラ１には、パーソナルコンピュータ３１、および、ロボット３２から取得された情報に基づいて、パーソナルコンピュータ３１を制御するとき操作される操作パネルと、ロボット３２を制御するとき操作される操作パネルがＬＣＤ５１に表示される。
【００３５】
従って、ユーザは、リモートコントローラ１を持ち運び、デバイスとの通信可能範囲に入るだけで、自らリモートコントローラ１に対していずれの操作もすることなく、近傍にあるデバイスに対応した操作パネルを表示させることができる。
【００３６】
また、デバイスの探索が実行される周期が、そのときの状況に応じて変更される（例えば、探索によってもデバイスを検出できない場合、その周期が長くなるように変更される）ため、常時、一定の周期で繰り返し行われる場合に較べて、リモートコントローラ１の消費電力を抑制することができる。
【００３７】
図１の例においては、ＢｌｕｅｔｏｏｔｈやＩＥＥＥ８０２．１１ｂなどにより、リモートコントローラ１との間で無線通信が可能なアクセスポイント４１が設けられている。リモートコントローラ１は、例えば、検出したデバイスに、操作パネル情報が記憶されていない場合、または、デバイスに機能が追加されたため、その機能を利用するために、新たな操作パネル情報を取得する必要がある場合、アクセスポイント４１と通信を行い、ネットワーク４２を介してサーバ４３にアクセスし、サーバ４３から、操作パネル情報をダウンロードする。
【００３８】
これにより、デバイスの機能の追加に対応することが可能となり、そのときのデバイスの機能に最適な操作パネルをリモートコントローラ１に表示させることができる。
【００３９】
図２は、リモートコントローラ１の外観の例を示す斜視図である。
【００４０】
リモートコントローラ１は、図２に示されるように、片手で把持、および操作が可能な大きさに、その筐体が形成されている。リモートコントローラ１の筐体正面には、各種のデバイスの操作パネルが表示されるＬＣＤ５１が形成されている。ＬＣＤ５１には、タッチパネルが重畳されており、ユーザが指先などで押下した位置（ボタン）が検出される。
【００４１】
また、リモートコントローラ１には、筐体の側面上方にジョグダイヤル５２が設けられている。ジョグダイヤル５２は、ＬＣＤ５１に表示されたボタンやアイコンなどを選択するときに、図の白抜き矢印で示されるように、回転操作、または本体内部方向への押圧操作される。例えば、複数の操作パネルが上下方向に連続して配置されている場合、ユーザは、ジョグダイヤル５２を回転操作することにより、ＬＣＤ５１の表示範囲をスクロールさせ、操作パネルを選択することができる。
【００４２】
キー５３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６１（図３参照）に各種の指令を入力するとき、ユーザにより操作される。例えば、キー５３として、探索を開始するときに操作される探索開始ボタンや、複数の操作パネル情報がリモートコントローラ１に取得された場合に、その表示を切り替えるときに操作される表示切り替えボタンなどが設けられるようにしてもよい。
【００４３】
図３は、リモートコントローラ１の内部構成の例を示すブロック図である。
【００４４】
ＣＰＵ６１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６２に記憶されているプログラム、または、記憶部６９からＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ６３には、ＣＰＵ６１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００４５】
ＣＰＵ６１、ＲＯＭ６２、およびＲＡＭ６３は、バス６４を介して相互に接続されている。このバス６４にはまた、入出力インタフェース６５も接続されている。
【００４６】
入出力インタフェース６５には、ＬＣＤ５１、ジョグダイヤル５２、キー５３、ＬＣＤ５１に重畳して配置されるタッチパネル６６が接続される。また、入出力インタフェース６５には、デバイスの探索や制御、或いは、アクセスポイント４１との通信を行うための無線通信モジュールとして、ブルートゥースモジュール６７が接続される。
【００４７】
図３の例においては、デバイスの探索や制御を行うための無線通信モジュールとして、Ｂｌｕｅｔｏｏｔｈに準拠した通信を行うブルートゥースモジュール６７が設けられているが、ブルートゥースモジュール６７に替えて、または、ブルートゥースモジュール６７とともに、上述したＩＥＥＥ８０２．１１ｂなどの無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）モジュールが設けられるようにしてもよい。また、赤外線通信を行うモジュールが設けられ、赤外線を用いた通信により、デバイスの探索、制御が行われるようにしてもよい。
【００４８】
入出力インタフェース６５にはまた、リモートコントローラ１の筐体に生じた振動を検出する振動センサ６８、フラッシュメモリやハードディスクなどよりなる記憶部６９が接続される。記憶部６９には、後述するように、デバイスに関する各種のデバイス情報が記憶されるとともに、そのキャッシュメモリ６９Ａには、デバイスから取得された操作パネル情報（ＨＴＭＬファイル）が記憶される。
【００４９】
リモートコントローラ１の表面には、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）のコネクタなどが形成されており、適宜、コネクタにＵＳＢケーブルを介して接続されたドライブ７０が入出力インタフェース６５に接続される。
【００５０】
ドライブ７０には、必要に応じて、磁気ディスク７１、光ディスク７２、光磁気ディスク７３、或いは、半導体メモリ７４などが装着され、これらの記憶媒体から読み出されたコンピュータプログラムが記憶部６９にインストールされる。なお、磁気ディスク７１乃至半導体メモリ７４により、操作パネル情報がリモートコントローラ１に提供されるようにしてもよい。
【００５１】
図４は、図３のブルートゥースモジュール６７の構成例を示すブロック図である。
【００５２】
ＣＰＵ８１は、ＲＯＭ８２に格納されている制御プログラムをＲＡＭ８３に展開し、ブルートゥースモジュール６７の全体の動作を制御する。ＣＰＵ８１乃至ＲＡＭ８３は、バス８５を介して相互に接続されている。
【００５３】
バス８５には、フラッシュメモリ８４が接続されている。フラッシュメモリ８４には、例えば、それぞれのブルートゥースデバイス（ブルートゥースモジュールを有する機器）に対して設定され、ユーザが好みに応じて変更することが可能なブルートゥースデバイス名や、それぞれのブルートゥースデバイスに対して固有のブルートゥースアドレスなどが記憶される。
【００５４】
入出力インタフェース８６は、ＣＰＵ８１からの指示に基づいて、図３の入出力インタフェース６５を介して供給されてきたデータ、および、ベースバンド制御部８７から供給されてきたデータの入出力を管理する。
【００５５】
ベースバンド制御部８７は、例えば、入出力インタフェース８６から供給されてきたデータを制御対象のデバイスに送信すべく、ＧＦＳＫ（Ｇａｕｓｓｉａｎ  Ｆｒｅｑｕｅｎｃｙ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）変調部１０１に供給し、ＧＦＳＫ復調部１０６からデータが供給されてきたとき、それをバス８５、または入出力インタフェース８６に出力する。ベースバンド制御部８７においては、適宜、通信リンクの制御、パケットの制御、論理チャンネルの制御、およびセキュリティの制御などの各種の制御、或いは、誤り訂正符号化、復号化、データのランダム化などの処理が行われる。
【００５６】
ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）部８８のＧＦＳＫ変調部１０１は、ベースバンド制御部８７から供給されてきたデータの高域成分をフィルタにより制限し、１次変調として周波数変調を行い、取得したデータをスペクトラム拡散部１０２に出力する。
【００５７】
スペクトラム拡散部１０２は、ホッピングシンセサイザ部１０４から指示される周波数ホッピングパターンに基づいて、搬送周波数を切り替え、供給されてきたデータに対してスペクトラム拡散を施した後に得られる信号を、通信制御部１０３に出力する。
【００５８】
逆スペクトラム拡散部１０５は、ホッピングシンセサイザ部１０４から指示される周波数ホッピングパターンに基づいて、受信周波数をホッピングさせ、例えば、デバイスからの信号を取得する。また、逆スペクトラム拡散部１０５は、取得した信号を逆スペクトラム拡散し、得られた信号をＧＦＳＫ復調部１０６に出力する。ＧＦＳＫ復調部１０６は、逆スペクトラム拡散部１０５から供給されてきた信号をＧＦＳＫ復調し、得られたデータをベースバンド制御部８７に出力する。
【００５９】
通信制御部１０３は、２．４ＧＨｚ帯を使用して、スペクトラム拡散が施された、例えば、所定のコマンドを搬送する信号をアンテナ８９から送信する。また、通信制御部１０３は、アンテナ８９からの受信信号を逆スペクトラム拡散部１０５に出力する。
【００６０】
図５は、ＢｌｕｅｔｏｏｔｈにおけるＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）プロファイルのプロトコルスタックの例を示す図である。例えば、リモートコントローラ１によるデバイスの制御は、ＰＡＮプロファイルにより行われる。
【００６１】
プロトコルスタックは、ハードウェア部１１１とソフトウェア部１１２から構成される。ハードウェア部１１１の物理層（ＲＦ層）１２１は、２．４ＧＨｚの周波数帯域を用いた無線通信を行うプロトコルであり、ベースバンド層１２２から供給されてきたデータのアナログ変換や、その逆の処理などを行う。ベースバンド層（Ｂａｓｅｂａｎｄ層）１２２は、物理層１２１に対して、送受信データパケットのインタフェースを提供するプロトコルである。具体的には、パケットの生成、エンコード、またはデコードの他、周波数ホッピングを管理するための送受信周波数の指定や時間軸スロットの管理などを行う。
【００６２】
ソフトウェア部１１２のＬ２ＣＡＰ（Ｌｏｇｉｃａｌ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ  ａｎｄ  Ａｄａｐｔａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）（論理リンク管理層）１３１は、Ｂｌｕｅｔｏｏｔｈシステムの全体を制御し、上位レイヤと下位レイヤのインタフェースを提供するプロトコルである。具体的には、プロトコルの種類に応じてのデータの振り分けや、パケット長の変換などを行う。ＢＮＥＰ（Ｂｌｕｅｔｏｏｔｈ  Ｎｅｔｗｏｒｋ  Ｅｎｃａｐｓｕｌａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）１３２は、マルチポイントで接続しているスレーブの機器同士の通信を提供するプロトコルである。ＳＤＰ（Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）１３３は、他の機器により提供される機能やサービスを検出するプロトコルである。Ｂｌｕｅｔｏｏｔｈ  Ｍａｎａｇｅｒ１３４は、ベースバンド層１２２と同様に、Ｂｌｕｅｔｏｏｔｈにおける通信リンクを管理するプロトコルであり、例えば、ベースバンド層１２２に対して、通信リンクの設定や、設定された通信リンクに関する各種のパラメータの設定を指示する。
【００６３】
Ｂｌｕｅｔｏｏｔｈ  Ｌｉｂｒａｒｙ１３５には、通信に必要な各種のコンポーネントが含まれている。ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層１３６により、検出されたデバイスとの間で行われるＴＣＰ／ＩＰ通信が管理され、ＨＴＴＰ層１３７により、ＨＴＴＰを用いた通信が管理される。アプリケーション層１３８により、Ｂｌｕｅｔｏｏｔｈによるファイル転送やＬＡＮ接続などが実現される。
【００６４】
図６は、以上の構成を有するリモートコントローラ１の機能構成例を示すブロック図である。図６に示される各機能部は、ＣＰＵ６１により所定の制御プログラムが実行されることにより実現される。
【００６５】
通信制御部１５１は、ブルートゥースモジュール６７の動作を管理し、デバイスとの間で行われるブルートゥース通信を制御する。従って、ブルートゥースモジュール６７に替えて、無線ＬＡＮモジュールなどが設けられている場合、その動作が通信制御部１５１により制御される。なお、以下においては、リモートコントローラ１により、ブルートゥース通信によるデバイスの制御が行われる場合について、主に説明する。
【００６６】
通信制御部１５１は、探索部１６１、および、デバイス制御部１６２を有している。探索部１６１は、例えば、所定の周期で、或いは、ユーザによりリモートコントローラ１の筐体が持ち上げられたときなどの所定のタイミングで、ブルートゥースに規定されるＩｎｑｕｉｒｙ（問い合わせ）およびＰａｇｅ（呼び出し）により、近傍に存在するデバイスの探索を行う。探索部１６１による探索結果を表す情報は、記憶制御部１５２や表示制御部１５３に出力される。
【００６７】
デバイス制御部１６２は、探索されたデバイスに対して、ユーザからの入力に対応するコマンドを送信し、デバイスの制御（例えば、テレビジョン受像機２１に対するチャンネルの切り替え等）を行う。すなわち、入力検出部１５４により検出されたユーザの入力を表す情報が、通信制御部１５１のデバイス制御部１６２に出力される。
【００６８】
記憶制御部１５２は、記憶部６９に記憶されるデータを管理するとともに、記憶されているデータを、適宜、通信制御部１５１等に提供する。記憶制御部１５２により、例えば、制御対象とするデバイスに関する情報や、ユーザの操作履歴等の情報が管理される。後述するように、リモートコントローラ１を用いてデバイスを制御するには、ユーザは、デバイスに関する情報を予め登録する必要がある。
【００６９】
表示制御部１５３は、ＬＣＤ５１の表示を制御する。例えば、制御対象のデバイスから、操作パネル情報が通信制御部１５１により取得され、それが供給されてきたとき、表示制御部１５３は、供給されてきた情報に基づいて、操作パネルをＬＣＤ５１に表示させる。
【００７０】
入力検出部１５４は、キー５３、および、タッチパネル６６に対するユーザの入力を検出する。検出されたユーザの入力を表す情報は、適宜、記憶制御部１５２、表示制御部１５３等に出力される。
【００７１】
図７は、図６の探索部１６１の詳細な構成例を示すブロック図である。
【００７２】
周期設定部１７１は、そのときのリモートコントローラ１の状況に応じて、探索が実行される周期を設定する。リモートコントローラ１には、探索を実行するデフォルトの周期として、例えば、１０秒の周期が設定されており、探索によりデバイスが検出されなかった場合、周期設定部１７１は、探索を実行する周期として、そのデフォルトの周期に替えて、より長い周期を設定する。周期設定部１７１により設定された周期を表す情報は、探索実行部１７２に出力される。
【００７３】
探索実行部１７２は、周期設定部１７１により設定される周期に従って、デバイスの探索（Ｉｎｑｕｉｒｙ，Ｐａｇｅ）を行う。また、探索実行部１７２は、振動検出部１７３により、所定の閾値以上の振動が検出されたとき、デバイスの探索を行う。探索実行部１７２による探索結果は、適宜、記憶制御部１５２、および、表示制御部１５３に出力される。
【００７４】
振動検出部１７３は、振動センサ６８の出力を監視し、リモートコントローラ１に生じた振動を検出する。例えば、所定の閾値以上の振動が検出されたとき、振動検出部１７３は、リモートコントローラ１の筐体が持ち上げられたと認識し、そのことを表す情報を、周期設定部１７１、および、探索実行部１７２に出力する。
【００７５】
図８は、図６の記憶制御部１５２の詳細な構成例を示すブロック図である。
【００７６】
デバイス情報管理部１８１は、ユーザによる登録操作により登録され、通信制御部１５１から供給されてきたデバイス情報を管理する。例えば、デバイス情報管理部１８１により管理されるデバイス情報には、デバイスの名称、カテゴリ（デバイスの機器の種別）、メーカコード、デバイスＩＤ、ブルートゥースアドレス等が含まれる。デバイス情報管理部１８１は、管理している情報を、適宜、ユーザ設定管理部１８４、および、操作履歴管理部１８５等に提供する。
【００７７】
キャッシュメモリ管理部１８２は、通信制御部１５１により、デバイスから取得された操作パネル情報をキャッシュメモリ６９Ａに記憶させ、それを管理する。例えば、キャッシュメモリ管理部１８２は、操作パネル情報の管理として、使用頻度の低い操作パネル情報、または、記憶されてから所定の時間が経過した操作パネル情報を消去する。また、キャッシュメモリ管理部１８２は、キャッシュメモリ６９Ａに記憶されている操作パネル情報を表示制御部１５３に出力する。
【００７８】
仮操作パネル管理部１８３は、仮の操作パネルを表示するための情報を管理し、必要に応じて、それを表示制御部１５３に出力する。後述するように、リモートコントローラ１においては、探索により検出されたデバイスから、操作パネル情報が取得されるまでの間、そのデバイスの種別に応じた、仮の操作パネルがＬＣＤ５１に表示される。例えば、探索によりテレビジョン受像機２１が検出された場合、テレビジョン受像機２１専用の操作パネル情報がテレビジョン受像機２１から取得されるまでの間、ＬＣＤ５１には、一般的なテレビジョン受像機の機能を利用するための仮の操作パネルが表示される。なお、表示された仮の操作パネルを表示するための情報は、キャッシュメモリ管理部１８２にも出力され、キャッシュメモリ６９Ａに管理される。
【００７９】
リモートコントローラ１の記憶部６９には、例えば、一般的なテレビジョン受像機の機能を利用するための操作パネルの情報、一般的なＶＴＲの機能を利用するための操作パネルの情報、一般的なＤＶＤプレーヤの機能を利用するための操作パネルの情報などが、仮の操作パネル情報として予め用意されている。
【００８０】
ユーザ設定管理部１８４は、入力検出部１５４から供給されてきた情報に基づいて、例えば、操作パネルの表示に関するユーザの設定などを管理する。操作履歴管理部１８５は、入力検出部１５４から供給されてきた情報に基づいて、リモートコントローラ１によりデバイスを制御した内容や、その時刻などの操作履歴を管理する。ユーザ設定管理部１８４により管理されている設定情報、操作履歴管理部１８５により管理されている履歴情報は、適宜、デバイス情報管理部１８１に出力される。
【００８１】
図９は、図６の表示制御部１５３の詳細な構成例を示すブロック図である。
【００８２】
操作パネル情報取得部２０１は、記憶制御部１５２のキャッシュメモリ管理部１８２により管理されている操作パネル情報、または、デバイスから提供され、通信制御部１５１から供給されてきた操作パネル情報を取得し、それを編集部２０２に出力する。
【００８３】
編集部２０２は、操作パネル情報取得部２０１から供給されてきた操作パネル情報を編集し、ＬＣＤ５１に操作パネルを表示させるための、新たな操作パネル情報を生成する。例えば、２つのデバイスの操作パネル情報が操作パネル情報取得部２０１から供給されてきたとき、編集部２０２は、ＬＣＤ５１の上半分と下半分に、それぞれの操作パネルが表示されるように、操作パネル情報の編集（ＨＴＭＬファイルのフレーム分割）を行う。編集部２０２により生成された操作パネル情報は、制御部２０３に出力される。
【００８４】
なお、編集部２０２により行われる編集においては、必要に応じて、操作履歴解析部２０４から供給される、操作履歴の解析結果の情報が参照される。
【００８５】
制御部２０３は、ＬＣＤ５１の動作を制御し、編集部２０２から供給されてきた操作パネル情報に基づいて、操作パネルをＬＣＤ５１に表示させる。
【００８６】
操作履歴解析部２０４は、記憶制御部１５２の操作履歴管理部１８５により管理されている操作履歴に基づいて、ユーザの嗜好を解析する。例えば、複数の操作履歴情報が編集部２０２により取得された場合、操作履歴解析部２０４は、それぞれの操作パネルに対するユーザの嗜好を解析し、解析結果を編集部２０２に出力する。
【００８７】
電波強度検出部２０５は、通信制御部１５１からの出力に基づいて、ブルートゥースモジュール６７において受信されている電波の強度を検出する。検出された電波強度を表す情報は、編集部２０２、制御部２０３に出力される。例えば、リモートコントローラ１から、所定の距離以上、離れた位置にあるため、受信される電波が弱いデバイスの操作パネルに関しては、より透明度の高いものが表示されるように（薄く表示されるように）、その表示が制御される。
【００８８】
図１０は、リモートコントローラ１により制御されるデバイスであるパーソナルコンピュータ３１の構成例を示すブロック図である。
【００８９】
パーソナルコンピュータ３１は、基本的には、図３に示されるリモートコントローラ１と同様の構成を有しているため、重複する部分についての説明は適宜省略する。
【００９０】
入出力インタフェース２２５には、ブルートゥースモジュール２２９が接続されている。ブルートゥースモジュール２２９は、リモートコントローラ１のブルートゥースモジュール６７とブルートゥースによる通信を行い、例えば、ブルートゥースモジュール６７からの要求に応じて、記憶部２２８に記憶されている操作パネル情報を送信する。
【００９１】
通信部２３０は、例えば、有線または無線によるネットワークを介して、他のデバイスとの間で各種の情報を送受信する。また、通信部２３０は、インターネットを介して接続される各種の機器との間で情報の送受信を行う。
【００９２】
図１１は、図１０のパーソナルコンピュータ３１の機能構成例を示すブロック図である。図１１に示される各機能部は、図１０のＣＰＵ２２１により所定の制御プログラムが実行されることにより実現される。
【００９３】
制御部２４１は、パーソナルコンピュータ１の全体（通信制御部２４２、操作パネル情報管理部２４３、デバイス情報管理部２４４）の動作を制御する。通信制御部２４２は、ブルートゥースモジュール２２９におけるブルートゥース通信、或いは、通信部２３０における通信を制御する。
【００９４】
操作パネル情報管理部２４３は、記憶部２２８に記憶されている操作パネル情報を管理し、リモートコントローラ１からの要求に応じて、操作パネル情報を読み出し、それを提供する。デバイス情報管理部２４４は、パーソナルコンピュータ３１の名称、カテゴリ（パーソナルコンピュータ）、メーカコード、デバイスＩＤ、ブルートゥースアドレス等を含むデバイス情報を管理し、それをリモートコントローラ１に提供する。
【００９５】
なお、図１のテレビジョン受像機２１、オーディオシステム２２、および、ロボット３２は、図１０および図１１に示されるパーソナルコンピュータ３１と同様の構成を有している。従って、必要に応じて、図１０および図１１は、テレビジョン受像機２１、オーディオシステム２２、および、ロボット３２の構成としても引用される。なお、テレビジョン受像機２１およびオーディオシステム２２には、図１０の構成に加えて、チューナ部やスピーカ部など、それぞれのデバイスに特有の構成が付加される。
【００９６】
次に、図１の制御システムの動作について説明する。
【００９７】
始めに、図１２のフローチャートを参照して、デバイス情報を登録するリモートコントローラ１の処理について説明する。
【００９８】
デバイス情報の登録がユーザから指示されたとき、探索部１６１は、ステップＳ１において、ブルートゥースモジュール６７を起動させ、デバイスの探索（Ｉｎｑｕｉｒｙ，Ｐａｇｅ）を行う。
【００９９】
探索部１６１は、ステップＳ２において、通信可能範囲にデバイスが存在するか否かを判定し、存在しないと判定した場合、ステップＳ１に戻り、探索を繰り返し行う。ブルートゥースモジュール６７から出射された電磁波の到達範囲内にデバイスが存在する場合、そのデバイスから、探索に対する応答が行われる。
【０１００】
ステップＳ２において、探索部１６１は、通信可能範囲内にデバイスが存在すると判定した場合、ステップＳ３に進み、探索により検出されたデバイスの中に、登録待ちの状態のデバイスが存在するか否かを判定する。例えば、リモートコントローラ１を用いてデバイスを操作することができるように、そのデバイスのデバイス情報をリモートコントローラ１に登録するユーザは、所定の操作により、デバイスの状態を登録待ちの状態に設定しておく必要がある。
【０１０１】
探索部１６１は、ステップＳ３において、検出されたデバイスの中に、登録待ちのデバイスが存在しないと判定した場合、ステップＳ１に戻り、以上の処理を繰り返し実行する。なお、探索が所定の回数だけ繰り返し実行されたにもかかわらず、登録待ちのデバイスが検出されない場合、処理は終了される。
【０１０２】
ステップＳ３において、探索部１６１は、登録待ちのデバイスが存在すると判定した場合、検出されたデバイスの情報を表示制御部１５３（制御部２０３（図９））に出力する。
【０１０３】
表示制御部１５３は、ステップＳ４において、探索部１６１からの出力に基づいて、登録待ちのデバイス（デバイス情報を登録可能なデバイス）の一覧をＬＣＤ５１に表示させる。
【０１０４】
図１３は、ステップＳ４においてＬＣＤ５１に表示される画面の例を示す図である。
【０１０５】
図１３の例においては、画面の上方に「登録可能機器一覧」のメッセージが表示され、その下に、登録待ちの状態が設定されているデバイスとして、「ＴＶ（テレビジョン受像機２１）」、「オーディオシステム（オーディオシステム２２）」が表示されている。すなわち、図１３の画面は、ユーザが、図１の部屋１１に設置されているテレビジョン受像機２１とオーディオシステム２２を登録待ちの状態に設定し、登録操作を行っている場合の例とされている。
【０１０６】
なお、図１３の「ＴＶ」、「オーディオシステム」のテキスト情報は、探索により、テレビジョン受像機２１とオーディオシステム２２のそれぞれから取得された、デバイスのカテゴリ情報に基づいて表示されるものである。
【０１０７】
ユーザは、図１３に示される画面が表示されている場合、ＬＣＤ５１の表面を直接押下するなどして、カーソル３０１を移動させ、登録するデバイスを選択する。ユーザによる入力は、入力検出部１５４により検出され、通信制御部１５１（デバイス制御部１６２）に通知される。
【０１０８】
ステップＳ５において、デバイス制御部１６２は、ユーザによりデバイス情報の登録が指示されたデバイスに対して、デバイス情報の送信を要求する。デバイスにおいては、リモートコントローラ１からの要求に応じて、予め記憶されているデバイス情報が読み出され、読み出されたデバイス情報が、ブルートゥース通信によりリモートコントローラ１に提供される。
【０１０９】
ステップＳ６において、デバイス制御部１６２は、ブルートゥースモジュール６７を制御し、デバイスから送信されてきたデバイス情報を取得する。取得されたデバイス情報は、デバイス制御部１６２から、記憶制御部１５２（デバイス情報管理部１８１）に出力される。
【０１１０】
デバイス情報管理部１８１は、ステップＳ７において、供給されてきたデバイス情報を記憶部６９に記憶させ、登録する。
【０１１１】
図１４は、デバイス情報管理部１８１により管理されるデバイス情報の例を示す図である。
【０１１２】
図に示されるように、デバイス情報として、例えば、デバイスの名称、デバイスのカテゴリ、メーカコード、デバイスＩＤ、ブルートゥースアドレスが登録される。
【０１１３】
図１４においては、図１３の選択画面において、テレビジョン受像機２１が選択された場合の例とされており、デバイス１（テレビジョン受像機２１）の名称「テレビ」、カテゴリ「ＴＶ」、メーカコード「００ｘ１」、デバイスＩＤ「１２３４」、ブルートゥースアドレス「０８：００：４６：２１：９４：Ａ３」が登録されている。
【０１１４】
以上の処理が繰り返し実行され、図１４に示されるテーブルに、それぞれのデバイスの情報が順次追加される。例えば、登録されたメーカコード等の情報に応じて、デバイス制御部１６２によりコマンドが生成されるため、それ以降、デバイス情報が登録されたデバイスの、リモートコントローラ１による操作が可能となる。
【０１１５】
次に、図１５のフローチャートを参照して、図１２の処理に対応してデバイスにより実行される処理について説明する。以下、テレビジョン受像機２１により処理が実行される場合について説明する。
【０１１６】
ステップＳ２１において、テレビジョン受像機２１の制御部２４１は、入力部２２６（図１０）に対するユーザからの入力に基づいて、登録待ちの状態に設定することが指示されたか否かを判定し、指示されたと判定するまで待機する。
【０１１７】
制御部２４１は、ステップＳ２１において、例えば、所定のボタンが操作されたため、登録待ちの状態に設定することが指示されたと判定した場合、ステップＳ２２に進み、テレビジョン受像機２１の状態を登録待ちの状態に設定する。
【０１１８】
これにより、ブルートゥースモジュール２２９により、Ｉｎｑｕｉｒｙスキャン、Ｐａｇｅスキャンが繰り返し実行され、リモートコントローラ１からの電磁波が受信されたとき、登録待ちの状態に設定されていることがリモートコントローラ１に対して通知される。
【０１１９】
ステップＳ２３において、通信制御部２４２は、リモートコントローラ１から、デバイス情報の送信が要求されたか否かを判定し、送信が要求されたと判定するまで待機する。
【０１２０】
通信制御部２４２は、ステップＳ２３において、リモートコントローラ１から、デバイス情報の送信が要求されたと判定した場合、ステップＳ２４に進み、デバイス情報管理部２４４により管理されているデバイス情報を送信する。すなわち、デバイス情報管理部２４４により、記憶部２２８に記憶されているデバイス情報が読み出され、それが、通信制御部２４２からリモートコントローラ１に対して送信される。
【０１２１】
上述したように、デバイスから送信されてきたデバイス情報を受信したリモートコントローラ１においては、その登録が行われる（図１２のステップＳ７）。
【０１２２】
次に、図１６のフローチャートを参照して、操作パネルを表示するリモートコントローラ１の処理について説明する。この処理は、図１９および図２０を参照して後述する探索処理により、制御対象とするデバイスが検出されたときに実行される。
【０１２３】
デバイスが検出されたことが探索部１６１から通知されてきたとき、記憶制御部１５２のデバイス情報管理部１８１は、ステップＳ３１において、記憶部６９に管理している情報を参照し、検出されたデバイスのデバイス情報が登録済みであるか否かを判定する。
【０１２４】
ステップＳ３１において、デバイス情報管理部１８１は、検出されたデバイスのデバイス情報が登録されていないと判定した場合、ステップＳ３２に進み、図１２を参照して説明した登録処理を行う。すなわち、登録待ちのデバイスが検出されたとき、検出されたデバイスに対して、デバイス情報の送信が要求され、その要求に応じてデバイスから送信されてきたデバイス情報が登録される。
【０１２５】
デバイス情報が登録された後、ステップＳ３３の処理はスキップされ、それ以降の処理が実行される。
【０１２６】
一方、ステップＳ３１において、デバイス情報管理部１８１は、検出されたデバイスのデバイスＩＤやブルートゥースアドレス等のデバイス情報が記憶部６９に既に登録されていると判定した場合、ステップＳ３３に進む。例えば、図１４に示されるような情報が既に登録されており、テレビジョン受像機２１が探索により検出された場合、デバイス情報が登録されていると判定される。
【０１２７】
ステップＳ３３において、キャッシュメモリ管理部１８２は、キャッシュメモリ６９Ａに、検出されたデバイスの操作パネル情報が残っているか否かを判定し、残っていないと判定した場合、ステップＳ３４に進む。
【０１２８】
キャッシュメモリ６９Ａに操作パネル情報が残っていない場合、キャッシュメモリ管理部１８２から仮操作パネル管理部１８３に対して、そのことを表す情報が出力される。仮操作パネル管理部１８３は、検出されたデバイスのカテゴリに応じて、仮の操作パネルを表示するための情報（以下、仮操作パネル情報と称する）を表示制御部１５３に出力する。
【０１２９】
仮操作パネル管理部１８３から出力された仮操作パネル情報は、表示制御部１５３の操作パネル情報取得部２０１により取得され、編集部２０２を介して、制御部２０３に出力される。
【０１３０】
制御部２０３は、ステップＳ３４において、供給されてきた情報に基づいて、仮の操作パネルをＬＣＤ５１に表示させる。
【０１３１】
図１７は、ステップＳ３４においてＬＣＤ５１に表示される、仮の操作パネルの例を示す図である。
【０１３２】
例えば、テレビジョン受像機２１が検出され、そのテレビジョン受像機２１の操作パネル情報がキャッシュメモリ６９Ａに残っていない場合、ＬＣＤ５１には、図１７に示されるような、製造メーカ等にかかわらず、一般的なテレビジョン受像機に設けられている機能をリモートコントローラ１により操作するための操作パネルが表示される。
【０１３３】
図１７の例において、テレビジョン受像機２１の仮の操作パネルの左上には、電源のオン／オフを切り替えるとき操作される電源ボタン３１１が表示され、その右下方には、チャンネルを切り替えるとき操作されるテンキー３１２が表示されている。また、仮の操作パネルの左下には、音量を調整するとき操作される音量ボタン３１３が表示されている。これらの電源ボタン３１１、テンキー３１２、および、音量ボタン３１３は、メーカや機能にかかわらず、一般的なテレビジョン受像機のリモートコントローラに共通して用意されているものである。
【０１３４】
このような仮の操作パネルが、検出されたテレビジョン受像機２１から、テレビジョン受像機２１専用の操作パネルを表示させるための操作パネル情報が送信されてくるまでの間、表示される。従って、ユーザは、テレビジョン受像機２１から操作パネル情報が送信され、それに基づいて操作パネル（テレビジョン受像機２１専用の操作パネル）が表示されるまでの間、仮の操作パネルを利用することにより、テレビジョン受像機２１を操作することができる。すなわち、ユーザは、テレビジョン受像機２１が検出された直後から、テレビジョン受像機２１を操作することができる。
【０１３５】
図１６の説明に戻り、ステップＳ３５において、デバイス制御部１６２は、リモートコントローラ１の特徴を表す特徴情報として、例えば、ハードウエアに関する情報をデバイスに対して送信し、リモートコントローラ１に最適な、操作パネル情報の送信を要求する。例えば、テレビジョン受像機２１が検出されている場合、リモートコントローラ１の特徴情報として、ＬＣＤ５１の解像度（画面サイズ）などの情報が、テレビジョン受像機２１に対して送信され、ＬＣＤ５１の解像度に応じた操作パネル情報の送信が要求される。
【０１３６】
テレビジョン受像機２１においては、例えば、予め用意されている複数のデバイス情報の中から、デバイス情報を要求するリモートコントローラの解像度に応じたものが選択されたり、或いは、リモートコントローラの解像度に応じた変換処理が行われる。
【０１３７】
リモートコントローラ１からの要求に応じて、デバイスから、リモートコントローラ１のハードウエア構成に応じた操作パネル情報がブルートゥース通信により送信されてくるため、デバイス制御部１６２は、ステップＳ３６において、送信されてきた操作パネル情報を受信する。デバイス制御部１６２により受信された操作パネル情報は、表示制御部１５３の操作パネル情報取得部２０１により取得される。
【０１３８】
操作パネル情報取得部２０１により取得された操作パネル情報は、編集部２０２により所定の編集が行われた後、制御部２０３に供給される。例えば、複数のデバイスから操作パネル情報が取得された場合、編集部２０２において、複数の操作パネルをＬＣＤ５１に表示させるための、ＨＴＭＬファイル（操作パネル情報）の所定の編集が行われる。
【０１３９】
ステップＳ３７において、制御部２０３は、操作パネルをＬＣＤ５１に表示させる。
【０１４０】
図１８は、ステップＳ３７において、テレビジョン受像機２１から送信されてきた操作パネル情報に基づいて表示される、操作パネルの例を示す図である。
【０１４１】
図１８の例においては、操作パネルの右上には、電源ボタン３２１が表示され、その左方には、ＢＳ（Ｂｒｏａｄｃａｓｔｉｎｇ  Ｓａｔｅｌｌｉｔｅ）デジタル放送、ＣＳ（Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓａｔｅｌｌｉｔｅ）デジタル放送、アナログ放送の中から、ソースを切り替えるとき操作される切り替えボタン３２２が表示されている。また、切り替えボタン３２２の下方には、テンキー３２３が表示され、その右方には、音声出力をオフにするとき操作される消音ボタン３２４、音量を調整するとき操作される音量ボタン３２５、および、チャンネルを切り替えるとき操作されるチャンネル切り替えボタン３２６が表示されている。
【０１４２】
図１７に示される仮の操作パネルと比較して明らかなように、テレビジョン受像機２１から送信されてきた情報に基づいて表示される、図１８に示される操作パネルの方が、テレビジョン受像機２１の機能に応じてカスタマイズされている。すなわち、テレビジョン受像機２１に、例えば、ＢＳデジタル放送、ＣＳデジタル放送、アナログ放送の番組を表示する機能が設けられている場合、図１８の操作パネルに示されるように、それらを切り替えるボタンなどが用意される操作パネルが、テレビジョン受像機２１から送信されてきた操作パネル情報に基づいて表示される。リモートコントローラ１のユーザは、操作パネルを利用して、テレビジョン受像機２１を操作することができる。
【０１４３】
なお、図１８に示される操作パネルを表示するための操作パネル情報（ＨＴＭＬファイル）は、キャッシュメモリ６９Ａに保存される。
【０１４４】
図１６の説明に戻り、表示制御部１５３の電波強度検出部２０５により、デバイスとの通信可能範囲から出たか否かが判定され、通信可能範囲から出たと判定されるまで、ステップＳ３７に戻り、操作パネルの表示が続行される。電波強度検出部２０５に対しては、ブルートゥースモジュール６７とデバイスとの通信を制御する通信制御部１５１から、その通信に用いられている電波の受信状況が通知されている。
【０１４５】
例えば、テレビジョン受像機２１をそれまで操作していたユーザが、リモートコントローラ１を持った状態で移動したため、ステップＳ３８において、通信可能範囲から出たと判定された場合、ステップＳ３９に進み、制御部２０３は、それまで表示していた操作パネルの表示を消去する。
【０１４６】
以上の処理により、ユーザは、操作したいデバイスにリモートコントローラ１を近づけるだけで、そのデバイスの操作パネルを自動的に表示させることができるとともに、操作パネルの表示を消す操作を自ら行うことなく、その表示を消すこともできる。
【０１４７】
また、リモートコントローラ１に表示される操作パネルは、デバイスから送信されてきた情報に基づいて表示されるものであるため、そのデバイスの機能に応じて、最適な操作パネルを表示させることができる。
【０１４８】
次に、図１９のフローチャートを参照して、制御対象とするデバイスを探索するリモートコントローラ１の処理について説明する。
【０１４９】
上述したように、探索部１６１の周期設定部１７１により設定された周期に従って、探索実行部１７２により、デバイスの探索が実行される。
【０１５０】
ステップＳ５１において、周期設定部１７１は、現在の探索周期（Ｔ１）として、デフォルトの探索周期（Ｔ０）を設定するとともに、直前の探索を実行した探索時刻（Ｔｂ）として、現在時刻を設定する。例えば、デフォルトの探索周期として予め用意されている１０秒周期が、現在の探索周期として設定される。
【０１５１】
周期設定部１７１は、ステップＳ５２おいて、現在時刻（Ｔｎ）を参照し、ステップＳ５３に進み、現在時刻から、直前の探索時刻を減算した期間が、現在の探索周期よりも長い（Ｔｎ−Ｔｂ＞Ｔ１）か否か、すなわち、前回の探索を実行してから、次の探索実行時刻になったか否かを判定する。
【０１５２】
ステップＳ５３において、周期設定部１７１は、現在時刻から、直前の探索時刻を減算した期間が、現在の探索周期よりも短いため、次の探索を実行する時刻になっていないと判定した場合、ステップＳ５４に進み、入力検出部１５４からの出力に基づいて、リモートコントローラ１に用意される探索開始ボタンが押されたか否かを判定する。
【０１５３】
上述したように、例えば、キー５３を構成する１つのボタンとして、探索を開始するとき操作される探索開始ボタンが設けられ、その探索開始ボタンが押されたか否かが判定される。なお、探索開始ボタンは、ＬＣＤ５１に表示されるボタンとして設けられるようにしてもよい。
【０１５４】
ステップＳ５４において、探索開始ボタンが押されていないと判定された場合、ステップＳ５２に戻り、それ以降の処理が実行される。
【０１５５】
周期設定部１７１は、ステップＳ５４において、探索開始ボタンが押されたと判定した場合、ステップＳ５５に進み、探索周期として、デフォルトの探索周期を設定する。これにより、その後（ステップＳ５７）、デフォルトの探索周期に従って探索が実行される。
【０１５６】
一方、ステップＳ５３において、周期設定部１７１は、現在時刻から、直前の探索時刻を減算した期間が、現在設定されている探索周期よりも長いと判定した場合、すなわち、探索を実行する時刻になったと判定した場合、ステップＳ５６に進み、所定のデバイスを操作中であるか否かを判定する。
【０１５７】
ステップＳ５６において、所定のデバイスを操作中であると判定した場合、周期設定部１７１は、ステップＳ５７，Ｓ５８の処理をスキップし、一方、所定のデバイスを操作中でないと判定した場合、探索を実行することを探索実行部１７２に指示する。
【０１５８】
このように、所定のデバイスの操作中である場合には、デバイスの制御（操作）が優先して行われ、デバイスの探索が禁止される。従って、ブルートゥース通信のリソースがデバイスの制御に優先的に割り当てられることとなり、より確実に、デバイスの制御を行うことができる。なお、探索のみを繰り返し行う探索用のブルートゥースモジュールと、デバイスの制御のみを行う制御用のブルートゥースモジュールが設けられるようにしてもよい。この場合は、所定のデバイスを制御している最中であるか否かに関わらず、デバイスの制御とともに、探索が実行される。
【０１５９】
探索実行部１７２は、ステップＳ５７において、周期設定部１７１からの指示に応じて探索を行う。これにより、ブルートゥースモジュール６７において、ＩｎｑｕｉｒｙおよびＰａｇｅ等が行われ、デバイスの探索が行われる。探索により所定のデバイスが検出された場合、図１６を参照して説明した、操作パネルの表示処理が実行される。
【０１６０】
ステップＳ５８において、探索実行部１７２は、探索を終了するか否かを判定し、終了すると判定するまで、ステップＳ５７に戻り、探索を続行する。探索実行部１７２により、探索を終了したと判定された場合、処理は、ステップＳ５９に進む。
【０１６１】
ステップＳ５９において、周期設定部１７１は、直前の探索時刻（Ｔｂ）（ステップＳ５７において、直前に実行した探索の時刻）として、現在時刻（Ｔｎ）を設定する。
【０１６２】
周期設定部１７１は、ステップＳ６０において、ステップＳ５７で実行された探索の結果、制御対象とするデバイスが検出されたか否かを判定し、検出されたと判定した場合、ステップＳ６１に進み、デフォルトの探索周期を設定する。
【０１６３】
一方、ステップＳ６０において、探索により、デバイスが検出されなかったと判定した場合、周期設定部１７１は、ステップＳ６２に進み、現在設定されている探索周期に、１より大きい所定の値（例えば、１．１）を乗算し、現在設定されている探索周期と比較して、より長い探索周期を設定する。ステップＳ６１，Ｓ６２における処理が行われた後、ステップＳ５２に戻り、それ以降の処理が繰り返し実行される。
【０１６４】
このように、デバイスが検出されなかった場合、順次、探索周期が長く設定されるようにすることにより、不要な探索を抑制することができる。従って、常時、固定の周期で探索が繰り返し行われる場合に較べて、リモートコントローラ１の電力の浪費を抑制することができる。例えば、ユーザが、リモートコントローラ１を保持し、外出した場合、探索により、部屋１１および部屋１２に存在するデバイスが検出されることはなく、リモートコントローラ１が、そのような状況にあるにも関わらず、探索が実行され、電力が消費されるといったことを抑制することができる。
【０１６５】
以上においては、デバイスの探索は、設定されている周期に従って実行されるもの以外に、ユーザにより探索開始ボタンが押されたことをトリガとして実行されるとしたが、リモートコントローラ１がユーザにより持ち上げられ、振動センサ６８により振動が検出されたことをトリガとして、デバイスの探索が実行されるようにしてもよい。
【０１６６】
次に、図２０のフローチャートを参照して、振動センサ６８により振動が検出されたことをトリガとして、探索を実行するリモートコントローラ１の処理について説明する。
【０１６７】
図２０のステップＳ７１乃至Ｓ７３の処理は、図１９のステップＳ５１乃至Ｓ５３の処理とそれぞれ同様である。
【０１６８】
すなわち、周期設定部１７１は、ステップＳ７１において、現在の探索周期（Ｔ１）として、デフォルトの探索周期（Ｔ０）を設定するとともに、前回の探索を実行した探索時刻（Ｔｂ）として、現在時刻を設定する。また、周期設定部１７１は、ステップＳ７３において、ステップＳ７２で参照した現在時刻から、前回の探索時刻を減算した期間が、現在の探索周期よりも短い（Ｔｎ−Ｔｂ＞Ｔ１）か否か、すなわち、前回の探索を実行してから、次の探索実行時刻になったか否かを判定する。
【０１６９】
ステップＳ７３において、次の探索を実行する時刻になっていないと判定した場合、ステップＳ７４に進み、振動検出部１７３からの出力に基づいて、振動が検出されたか否かを判定する。振動検出部１７３においては、振動センサ６８が監視され、リモートコントローラ１に発生した振動を表す情報が周期設定部１７１および探索実行部１７２に出力されている。
【０１７０】
ステップＳ７４において、振動が検出されていないと判定された場合、ステップＳ７２に戻り、それ以降の処理が実行される。例えば、リモートコントローラ１が所定の台などの上に載置され、振動が検出されない状態が続いた場合などは、設定される周期に従って、探索が実行される。
【０１７１】
リモートコントローラ１が所定の台に載置され続け、所定のタイミングで実行される探索によっても、デバイスが検出されない場合、後述するように、探索の周期が、次第に長くなるように設定されるため、不要な探索が繰り返し実行されるのを抑制することができる。また、常時、固定の周期で繰り返し探索が実行される場合に較べて、消費電力を抑制することが可能となる。
【０１７２】
ステップＳ７４において、振動が検出されたと判定した場合、ステップＳ７５に進み、周期設定部１７１は、探索周期として、デフォルトの探索周期を設定する。
【０１７３】
ステップＳ７６において、周期設定部１７１は、振動検出部１７３からの出力に基づいて、所定の閾値以上の振動が検出されたか否かを判定し、検出されたと判定した場合、ステップＳ７８に進み、探索を実行する。従って、ユーザは、所定の閾値以上の振動が検出される程度の勢いで、リモートコントローラ１を振ることによっても、探索を開始させることができる。この振動の閾値は、例えば、単に、持ち上げられたときに発生される程度の振動であってもよいし、上下方向などに比較的強く振ったときに発生される程度の振動であってもよい。また、閾値自体を、ユーザが設定できるようにしてもよい。
【０１７４】
ステップＳ７６において、所定の閾値以上の振動が検出されていないと判定された場合、ステップＳ７２に戻り、それ以降の処理が実行される。
【０１７５】
一方、ステップＳ７３において、周期設定部１７１は、現在時刻から直前の探索時刻を減算した期間が、現在の探索周期よりも大きいため、探索を実行する時刻になったと判定した場合、ステップＳ７７に進む。ステップＳ７７乃至Ｓ８３の処理は、図１９のステップＳ５６乃至Ｓ６２の処理とそれぞれ同様である。
【０１７６】
すなわち、ステップＳ７７において、所定のデバイスを操作中であると判定した場合、周期設定部１７１は、探索の実行を禁止し、ステップＳ７８，Ｓ７９の処理をスキップする。一方、所定のデバイスを操作中でないと判定した場合、周期設定部１７１は、探索を実行することを探索実行部１７２に指示する。
【０１７７】
探索実行部１７２は、周期設定部１７１からの指示に応じて、ステップＳ７８において、探索を開始し、ステップＳ７９で、探索を終了すると判定するまで続行する。ステップＳ７９において、探索実行部１７２により、探索を終了したと判定された場合、処理は、ステップＳ８０に進む。
【０１７８】
ステップＳ８０において、周期設定部１７１は、直前の探索時刻として、現在時刻を設定し、ステップＳ８１に進み、探索の結果、制御対象とするデバイスが検出されたか否かを判定する。周期設定部１７１は、ステップＳ８１において、探索によりデバイスが検出されたと判定した場合、ステップＳ８２に進み、デフォルトの探索周期を設定し、一方、デバイスが検出されなかったと判定した場合、ステップＳ８３に進み、現在設定されている探索周期に所定の値（１より大きい値）を乗算し、探索周期が長くなるように設定する。その後、ステップＳ７２に戻り、それ以降の処理が繰り返し実行される。
【０１７９】
以上のように、振動が検出されたか否かが判定され、振動が検出されない期間が連続して続いた場合に、探索期間が次第に長いものとなるように設定されるようにすることによっても、リモートコントローラ１の電力の浪費を抑制することができる。
【０１８０】
なお、図１９の処理と図２０の処理が組み合わされ、デバイスの探索が行われるようにしてもよい。この場合、探索開始ボタンが押されたとき、または、リモートコントローラ１が振られたときに、探索が開始されるとともに、それらの操作が行われない場合には、探索が実行される周期が次第に長くなるように設定される。
【０１８１】
以上においては、リモートコントローラ１とデバイスの間でＢｌｕｅｔｏｏｔｈにより通信が行われる場合について主に説明したが、同様に、ＩＥＥＥ８０２．１１ａ，８０２．１１ｂなどの各種の無線通信を用いることも可能である。
【０１８２】
また、以上においては、リモートコントローラ１がユーザにより持ち上げられたことを振動センサ６８により検出する場合について主に説明したが、同様に、ユーザがリモートコントローラ１を持ち上げる際に触る位置に接触センサを配置することにより、ユーザとリモートコントローラとの物理的接触を検出することを利用することも可能である。
【０１８３】
さらに、以上においては、リモートコントローラ１により制御されるデバイスは、図１のテレビジョン受像機２１、オーディオシステム２２、パーソナルコンピュータ３１、ロボット３２であるとしたが、これ以外の各種の機器をリモートコントローラ１により制御するようにすることもできる。例えば、ＤＶＤレコーダやハードディスクレコーダなどのＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）機器、照明機器やエアーコンディショナーなどの家電製品、その他の機器を、リモートコントローラ１により制御するようにしてもよい。この場合であっても、それぞれの機器が、その機器を制御するとき操作される操作パネルの情報を記憶しており、記憶されている操作パネル情報がリモートコントローラ１に対して提供される。
【０１８４】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
【０１８５】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１８６】
この記録媒体は、図３に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク７１（フレキシブルディスクを含む）、光ディスク７２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）を含む）、光磁気ディスク７３（ＭＤ（登録商標）（Ｍｉｎｉ−Ｄｉｓｋ）を含む）、もしくは半導体メモリ７４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ６２や、記憶部６９に含まれるハードディスクなどで構成される。
【０１８７】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８８】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【０１８９】
【発明の効果】
本発明によれば、近傍に存在する情報処理装置の制御が可能となる。
【０１９０】
また、本発明によれば、そのときの状況に応じて、より効率的に、情報処理装置の探索を実行させることができる。具体的には、電源の浪費を抑制することができる。
【０１９１】
さらに、本発明によれば、情報処理装置の探索に比較して、情報処理装置の制御を優先して実行させることができ、より確実なデバイスの制御が可能となる。
【図面の簡単な説明】
【図１】本発明を適用した制御システムの構成例を示す図である。
【図２】図１のリモートコントローラの外観の例を示す斜視図である。
【図３】図２のリモートコントローラの内部構成例を示すブロック図である。
【図４】図３のブルートゥースモジュールの構成例を示すブロック図である。
【図５】ブルートゥースのプロトコルスタックを示す図である。
【図６】リモートコントローラの機能構成例を示すブロック図である。
【図７】図６の探索部の構成例を示すブロック図である。
【図８】図６の記憶制御部の構成例を示すブロック図である。
【図９】図６の表示制御部の構成例を示すブロック図である。
【図１０】図１のパーソナルコンピュータの構成例を示すブロック図である。
【図１１】図１０のパーソナルコンピュータの機能構成例を示すブロック図である。
【図１２】リモートコントローラの登録処理を説明するフローチャートである。
【図１３】図１２のステップＳ４において表示される画面の例を示す図である。
【図１４】図１２の処理により登録される情報の例を示す図である。
【図１５】図１２の処理に対応してデバイスにより実行される処理を説明するフローチャートである。
【図１６】リモートコントローラの操作パネルを表示する処理を説明するフローチャートである。
【図１７】図１６のステップＳ３４において表示される画面の例を示す図である。
【図１８】図１６のステップＳ３７において表示される画面の例を示す図である。
【図１９】リモートコントローラのデバイス探索処理を説明するフローチャートである。
【図２０】リモートコントローラの他のデバイス探索処理を説明するフローチャートである。
【符号の説明】
１  リモートコントローラ，  ５１  ＬＣＤ，  ７１  磁気ディスク，  ７２  光ディスク，  ７３  光磁気ディスク，  ７４  半導体メモリ，  １５１  通信制御部，  １５２  記憶制御部，  １５３  表示制御部，  １５４  入力検出部，  １６１  探索部，  １６２  デバイス制御部，  １７１  周期設定部，  １７２  探索実行部，  １７３  振動検出部，  １８１  デバイス情報管理部，  １８２  キャッシュメモリ管理部，  １８３  仮操作パネル管理部，  ２０１  操作パネル情報取得部，  ２０２  編集部，  ２０３  制御部，  ２０４  操作履歴解析部，  ２０５  電波検出部
【図１】
2004235960.tif 000003
【図２】
2004235960.tif 000004
【図３】
2004235960.tif 000005
【図４】
2004235960.tif 000006
【図５】
2004235960.tif 000007
【図６】
2004235960.tif 000008
【図７】
2004235960.tif 000009
【図８】
2004235960.tif 000010
【図９】
2004235960.tif 000011
【図１０】
2004235960.tif 000012
【図１１】
2004235960.tif 000013
【図１２】
2004235960.tif 000014
【図１３】
2004235960.tif 000015
【図１４】
2004235960.tif 000016
【図１５】
2004235960.tif 000017
【図１６】
2004235960.tif 000018
【図１７】
2004235960.tif 000019
【図１８】
2004235960.tif 000020
【図１９】
2004235960.tif 000021
【図２０】
2004235960.tif 000022