(57)【要約】【課題】自身の制御、ネットワークを介して接続された複数の接続機器の遠隔制御、および連係動作制御をユーザインタフェース端末に提示して、ユーザインタフェース端末を介して入力される指示によって制御できる情報処理装置を提供する。【解決手段】ネットワークに接続された情報処理装置間で遠隔制御コマンドを共有し、遠隔制御コマンドは異なるプロトコルで制御されている機器を制御するコマンドを含み、遠隔制御コマンドから連携動作可能な組み合わせを抽出し、端末から遠隔操作の提示を要求されたときに端末の種別を判断すると共に遠隔操作を提示する。【選択図】図２
2009146146.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに接続される複数の接続機器のそれぞれは、
自身の機器が制御できる手順の一覧とその手順が実行可能になる条件を記述したローカル制御一覧表と、
前記ローカル制御一覧表に基づいて、自身の機器状態に応じて実行可能な自身の機器制御機能を表す情報をユーザに提示するためのローカル制御手順を生成するローカル制御手順生成手段と、
前記ローカル制御手順から他の機器への制御手段を提示するために変換したリモート制御手順を生成するリモート制御手順生成手段と、
前記ローカル制御手順と前記リモート制御手順との組み合わせとその名称を記述した連携動作手順表と、
前記リモート制御手順および前記連携制御手順表を他の接続機器へ提示するための通信手段と、
他の接続機器から提示された前記リモート制御手順および前記連携制御手順表を受理するための１つ以上の通信手段と、
前記ローカル制御手順と他の制御機器から得られた前記リモート制御手順とに基づいて、自身の機器の前記連携制御手順表および他の機器から得られた前記連携制御手順表から連携制御手順を生成する連携制御手順生成手段と、
前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順に基づいて、内蔵またはネットワークを介して接続されユーザインタフェース端末に表示データおよび表示データの操作手順を提示するためのメニュースクリプトを生成するメニュースクリプト生成手段と、
前記ユーザインタフェース端末からの要求に応じて、前記メニュースクリプトを当該ユーザインタフェース端末に提示するメニュースクリプト提示手段とを備え、
前記メニュースクリプトに従って前記ユーザインタフェース端末からの入力に対応する前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順表の実行が指示されると自身の機器制御および他の機器への制御の実行を行なうことを特徴とする情報処理装置。
【請求項２】
前記メニュースクリプト生成手段は、前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順に記述された条件に従って、前記メニュースクリプトを前記ユーザインタフェース端末に提示するか否かを判断する手段を有する請求項１に記載の情報処理装置。
【請求項３】
前記ローカル制御手順生成手段は、
前記情報処理装置に内蔵された機器の状態と、
前記１つ以上のネットワーク通信手段によって得られたリモート制御機器状態を含む機器状態とに基づいて前記ローカル制御手順を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記リモート手段制御手順生成手段は、
自身の機器への制御手順の場合は新規のリモート制御手順を生成すると共に、生成したリモート制御手順と元の自身の機器への制御手順との対応表を生成し、
リモートの機器への制御手順の場合は新規のリモート制御手順を生成すると共に、生成した自身に対するリモート制御手順と元のリモート制御手順の対応表を生成し、
生成した新規のリモート制御手順の実行を指示されたとき対応表に記載された元の制御手順を実行する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
ユーザの設定、ネットワークからのダウンロード、および記録媒体からの読み出しによって書き換え可能に前記連携制御手順表を格納する記憶手段をさらに備え、前記ネットワークを介しての他の機器からの要求に応じて、当該連携制御手順表を提示することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記ユーザインタフェース端末は、前記メニュースクリプトを解釈できる電子機器である請求項１に記載の情報処理装置。
【請求項７】
前記ユーザインタフェース端末は、自身に内蔵されることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記ユーザインタフェース端末は、自身に接続されることを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記ユーザインタフェース端末は、自身に専用のリモートコントローラを含むことを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
前記ユーザインタフェース端末は、ネットワークを介して接続されることを特徴とする請求項６に記載の情報処理装置。
【請求項１１】
自身の機器に内蔵された機器の状態と、前記機器制御装置に備えられた１つ以上のネットワーク通信手段によって得られたリモート制御機器状態とを含む機器状態を収集し、当該機器状態を他の回路に提示する電子回路であることを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
請求項１乃至１１に記載の情報処理装置が前記ネットワークを介して互いに接続されて成るホームネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホームネットワークにおいて、ネットワークに接続された機器間で相互に遠隔制御を行ない、連携動作を実行するユーザインタフェースの生成手段に関する。
【背景技術】
【０００２】
近年、家電機器を家庭内ネットワークに接続し、ネットワークを介して複数の家電機器を連動して遠隔制御を行なう技術が提案されている。例えば、特許文献１の「ネットワークを介して相互接続された複数の機器の連係動作の制御」においては、連係動作テーブルを用いて連係動作をユーザに提示する技術が開示されている。
【特許文献１】特開２００３−２２２２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の連係動作の制御においては、ユーザインタフェースは画一的に提示される。それゆえに、遠隔制御を行なう端末の種別にあった操作をユーザに対して提示できない、異なるプロトコルで制御されている機器を制御できない、およびインターネットサービスとの連動ができないという問題がある。
【０００４】
このような問題に鑑みて、本発明は自身の制御、ネットワークを介して接続された複数の接続機器の遠隔制御、および連係動作制御をユーザインタフェース端末に提示して、ユーザインタフェース端末を介して入力される指示によって制御できる情報処理装置を提供することを目的とし、さらに異なるプロトコルで制御されている情報処理装置も制御できる情報処理装置を提供することを目的とし、なおさらにそのような情報処理装置で構成されるホームネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明にかかる情報処理装置は、
ネットワークを介して互いに接続される複数の接続機器のそれぞれは、
自身の機器が制御できる手順の一覧とその手順が実行可能になる条件を記述したローカル制御一覧表と、
前記ローカル制御一覧表に基づいて、自身の機器状態に応じて実行可能な自身の機器制御機能を表す情報をユーザに提示するためのローカル制御手順を生成するローカル制御手順生成手段と、
前記ローカル制御手順から他の機器への制御手段を提示するために変換したリモート制御手順を生成するリモート制御手順生成手段と、
前記ローカル制御手順と前記リモート制御手順との組み合わせとその名称を記述した連携動作手順表と、
前記リモート制御手順および前記連携制御手順表を他の接続機器へ提示するための通信手段と、
他の接続機器から提示された前記リモート制御手順および前記連携制御手順表を受理するための１つ以上の通信手段と、
前記ローカル制御手順と他の制御機器から得られた前記リモート制御手順とに基づいて、自身の機器の前記連携制御手順表および他の機器から得られた前記連携制御手順表から連携制御手順を生成する連携制御手順生成手段と、
前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順に基づいて、内蔵またはネットワークを介して接続されユーザインタフェース端末に表示データおよび表示データの操作手順を提示するためのメニュースクリプトを生成するメニュースクリプト生成手段と、
前記ユーザインタフェース端末からの要求に応じて、前記メニュースクリプトを当該ユーザインタフェース端末に提示するメニュースクリプト提示手段とを備え、
前記メニュースクリプトに従って前記ユーザインタフェース端末からの入力に対応する前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順表の実行が指示されると自身の機器制御および他の機器への制御の実行を行なうことを特徴とする。
【０００６】
ここで、前記メニュースクリプト生成手段は、前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順に記述された条件に従って、前記メニュースクリプトを前記ユーザインタフェース端末に提示するか否かを判断する手段を有することが好ましい。
【０００７】
また前記ローカル制御手順生成手段は、前記情報処理装置に内蔵された機器の状態と、前記１つ以上のネットワーク通信手段）によって得られたリモート制御機器状態を含む機器状態とに基づいて前記ローカル制御手順を生成することが好ましい。
【０００８】
前記リモート手段制御手順生成手段は、
自身の機器への制御手順の場合は新規のリモート制御手順を生成すると共に、生成したリモート制御手順と元の自身の機器への制御手順との対応表を生成し、
リモートの機器への制御手順の場合は新規のリモート制御手順を生成すると共に、生成した自身に対するリモート制御手順と元のリモート制御手順の対応表を生成し、
生成した新規のリモート制御手順の実行を指示されたとき対応表に記載された元の制御手順を実行する。
【０００９】
また本発明にかかる情報処理装置は、ユーザの設定、ネットワークからのダウンロード、および記録媒体からの読み出しによって書き換え可能に前記連携制御手順表を格納する記憶手段をさらに備え、前記ネットワークを介しての他の機器からの要求に応じて、当該連携制御手順表を提示することが好ましい。
【００１０】
なお、前記ユーザインタフェース端末は、前記メニュースクリプトを解釈できる電子機器であってもよい。また前記ユーザインタフェース端末は、自身に内蔵されていてもよく、もしくは自身に接続されるものでもよい。更に前記ユーザインタフェース端末は、自身に専用のリモートコントローラを含むものでもよく、ネットワークを介して接続されるものでもよい。
【発明の効果】
【００１１】
本発明によれば、情報処理装置および接続される機器の種類によって適切な遠隔操作が提示される。さらに、異なるプロトコルで制御されている機器が制御できる。なおさらに、インターネットで提示されるサービスも利用することができる。
【発明を実施するための最良の形態】
【００１２】
（実施の形態１）
以下に、図１〜図１１を参照して、実施の形態１にかかる情報処理装置およびホームネットワークシステムについて説明する。図１に示すように、本実施の形態にかかる情報処理装置１０１は、ＣＰＵ１０２、記憶部１０３、ＤＴＶ制御部１０４、通信部１０６、コマンド提示部１０７、ローカル制御手順生成部１０８、リモート制御手順生成部１０９、リモート制御手順提示部１１０、連携制御手順表提示部１１１、リモート制御手順受理部１１２、連携制御手順表受理部１１３、連係動作手順生成部１１４、メニュースクリプト生成部１１５、コマンド受理部１１６、およびユーザインタフェース端末部１１７がバスＢで相互に接続され、さらにＤＴＶ制御部１０４に通信部１０５が接続されて構成されている。
【００１３】
ＣＰＵ１０２、記憶部１０３、およびＤＴＶ制御部１０４は、情報処理装置１０１にＤＴＶ装置（デジタルテレビジョン装置）としての機能を付与している。この意味において、本実施の形態において、情報処理装置１０１を必要に応じてＤＴＶ装置１０１と呼ぶものとする。
【００１４】
記憶部１０３には、ローカル制御一覧表および連携制御手順表が保持されている。通信部１０５は、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子から入力を行なうための装置であり、映像・音声をデジタル信号で入力すると共に、制御信号によって接続先の機器を制御できる機能を有する。通信部１０６は、Ｅｔｈｅｒｎｅｔ端子でＥｔｈｅｒｎｅｔを介して他の機器との通信を行なう機能を有する。
【００１５】
コマンド提示部１０７、ローカル制御手順生成部１０８、リモート制御手順生成部１０９、リモート制御手順提示部１１０、連携制御手順表提示部１１１、リモート制御手順受理部１１２、連携制御手順表受理部１１３、連係動作手順生成部１１４、メニュースクリプト生成部１１５、およびコマンド受理部１１６は、情報処理装置１０１が遠隔制御を行なうための情報を処理する機能を付与する「遠隔制御機能実現手段」を構成している。遠隔制御機能実現手段は、情報処理装置１０１が遠隔制御を行なうために必要とする情報の生成および他の機器への送信を行う。遠隔制御機能実現手段は、遠隔制御を行なうための情報を他の機器から受信し、受信した情報を解析し、解析の結果に基づいてメニュースクリプトを生成したり、遠隔制御を行なうためのコマンドの送受信を行なう。
【００１６】
ユーザインタフェース端末部１１７は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）ブラウザの機能を有している。具体的には、ユーザインタフェース端末部１１７は、メニュースクリプト生成部１１５からスクリプトを受理して、受理したスクリプトの記述に従って画像データを生成し、生成した画像データをＤＴＶ制御部１０４のＯＳＤ（Ｏｎ  Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ）部（不図示）に送って、ＤＴＶ装置１０１の画面（不図示）に画像を表示させる機能を有している。つまり、ＤＴＶ装置１０１（情報処理装置１０１）は、ＤＴＶ制御部１０４の赤外線リモコン受信部（不図示）を介して受信したユーザの指示信号に記載されているユーザアクションをスクリプトの記述に従って実行する。なお、ユーザインタフェース端末部１１７は、ＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（Ｊａｖａは登録商標）、およびＸＭＬ等のスクリプトを解釈できる。
【００１７】
図２を参照して、２台のＤＴＶ装置１０１（情報処理装置１０１）がネットワークに接続されている例について説明する。同例においては、ＤＴＶ装置１０１＿１、ＤＴＶ装置１０１＿２、および携帯電話２０５が家庭内ネットワーク２０１に直接接続され、ＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）２０４がＨＤＭＩケーブルによってＤＴＶ装置１０１＿２に接続されている。なお、家庭内ネットワーク２０１は、例えばＥｔｈｅｒｎｅｔによるＬＡＮのネットワークである。携帯電話２０５は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）ブラウザの機能を有し、例えばＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（Ｊａｖａは登録商標）、ＸＭＬといったブラウザ上でのユーザインタフェースを制御するためのスクリプトを受信し、スクリプトの記述に従って生成した画像データを画面上に表示し、ユーザの入力に対応づけられたアクションをスクリプトの記述に従って実行する機能を有している。
【００１８】
図３に、ＤＴＶ装置１０１＿１およびＤＴＶ装置１０１＿２のローカル制御一覧表の一例を示す。ローカル制御一覧表３００には、ＤＴＶ装置（情報処理装置）１０１が自身の機器（以降、「ローカル機器」と称し、他の機器を「リモート機器」と称す）が制御できる操作手順の一覧とその操作手順が実行可能になる条件が記述されている。具体的には、ローカル制御一覧表３００は、操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、および公開条件３０６を含む。
【００１９】
操作名３０１は、操作を識別するために使用されている。表示名３０２は、操作名３０１に対応して、ユーザインタフェースに提示するメニュースクリプトで画面上に表示する文字列として使用される。
【００２０】
表示形式３０３は、操作名３０１に対応して、ユーザインタフェースに提示するメニュースクリプトで表示およびユーザンタフェーからのアクションを促す部品（ウィジェット）の種別を示す。例えば、＜ｂｕｔｔｏｎ＞はボタン、＜ｐｕｌｌｄｏｗｎ＞はプルダウンメニュー、＜ｂｏｏｌ＞は選択され実行されるたびに機能が切り替わるボタンを示す。そして、そのウィジェットは値３０４の要素を持つ。なお、表示形式３０３および値３０４の「−」は、対応するウィジェットは無くユーザンタフェース上に表示する必要がないことを示している。
【００２１】
機器制御関数３０５は、操作名３０１に対応して、コマンド受理部１１６が受信したコマンドの実行、或いはユーザインタフェース端末部１１７のスクリプト実行によって、ＤＴＶ制御部１０４を制御するための関数を示す。公開条件３０６は、公開先条件３０７、ＵＩ表示条件３０８、および機器状態条件３０９のサブ項目より成り、ローカル制御手順生成部１０８やリモート制御手順生成部１０９から参照され、そのコマンドを手順として提示する条件を示す。
【００２２】
例えば、公開先３０７は、操作名３０１に対応して、ユーザインタフェースの種別とＤＴＶ制御部１０４の状態の条件を示す。具体的には、「Ｌ」は自身の機器のユーザインタフェース端末からメニュースクリプトを要求されたという条件であり、「Ｒ」は自身の機器以外のユーザインタフェース端末からメニュースクリプトを要求されたという条件であり、「Ｒ＊Ｓ」は自身の機器以外のユーザインタフェース端末からメニュースクリプトを要求されたという条件かつＤＴＶ制御部１０４がストリーミング受信中であるという条件を示す。
【００２３】
ＵＩ表示３０８は、操作名３０１に対応して、ユーザインタフェース上に表示する条件を示し、「Ｙ」ならば表示、「Ｎ」ならば非表示とする条件を示す。機器状態３０９は、操作名３０１に対応して、ＤＴＶ制御部１０４の機器状態の条件を示し、「不問」ならば無条件で表示、「ＤＶＲがＨＤＭＩ接続されていること」は通信部１０３にＨＤＭＩケーブルによってＤＶＲが接続されているという条件を示す。
【００２４】
上述のように、ローカル制御一覧表３００において、操作名３０１の個々に横一列の表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、および公開条件３０６（公開先条件３０７、ＵＩ表示条件３０８、機器状態条件３０９）が対応している。以降、このローカル制御一覧表３００における横一列をローカル制御一覧表３００における制御手順行と呼ぶ。
【００２５】
図４に、ＤＴＶ装置１０１＿１およびＤＴＶ装置１０１＿２の連携動作手順表の一例を示す。連携動作手順表４００には、ローカル機器の制御操作手順を表すローカル制御手順と、リモート機器の制御操作手順を表すリモート制御手順との組み合わせとその名称が記述されている。具体的には、連携動作手順表４００は、表示名４０２、表示形式４０３、値４０４、公開条件４０６、公開先条件４０7、ＵＩ表示条件４０８、必要コマンド４１０、および実行コマンド４１１を含む。連携動作手順表４００における操作名４０１、表示名４０２、表示形式４０３、値４０４、公開条件４０６、公開先条件４０７、およびＵＩ表示条件４０８は、それぞれローカル制御一覧表３００における操作名３０１、表示名３０２、表示形式３０３、値３０４、公開条件３０６、公開先条件３０７、およびＵＩ表示条件３０８に対応している。
【００２６】
なお、必要コマンド４１０は、その連携動作を有効にするための操作名の一覧を示す。本例においては、必要コマンド４１０として、ローカル制御一覧表３００の操作名３０１における＜ｓｔｒｅａｍ−ｒｅｃｖ＞および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が記述されている。
【００２７】
実行コマンド４１１は、その連携動作を実行するときに実行するコマンドの一覧を示す。本例においては、実行コマンド４１１として、ローカル制御一覧表３００の操作名３０１における＜ｉｎｐｕｔ−ｍｏｄｅ  ｎｅｔｗｏｒｋ＞、＜ｓｔｒｅａｍ−ｒｅｃｖ＞、および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が記述されている。
【００２８】
ＤＴＶ装置１０１＿１およびＤＴＶ装置１０１＿２はそれぞれ家庭内ネットワーク２０１に接続された時点で、ローカル機器がユーザに提示できる制御操作手順を表すメニューリストを生成する。メニューリストＭＬは、基本的に、ローカル機器の制御操作手順、リモート機器の制御操作手順、および連携動作操作手順を示している。簡単に言えば、メニューリストＭＬはローカル制御一覧表３００と連携動作手順表４００の内容を含んでいる。
【００２９】
図６に、ＤＴＶ装置１０１＿１によって作成されるメニューリストＭＬの一例を示す。具体的には、メニューリストＭＬは、機器ＩＤ６００、操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、および公開条件６０６の７項目を含む。なお、公開条件６０６は公開先６０７とＵＩ表示６０８のサブ項目が含まれる。メニューリストＭＬには、ＤＴＶ装置１０１＿１が家庭内ネットワーク２０１を介して利用できる機器の機能が一覧表示される。本例においては、ＤＴＶ装置１０１＿１は、ローカル機器である自身の機能と、リモート機器であるＤＴＶ装置１０１＿２の機能と、家庭内ネットワーク２０１＿２にＨＤＭＩ接続されているＤＶＲ２０４の機能と、ＤＴＶ装置１０１＿１と１０１＿２の連携した機能が利用できる。
【００３０】
機器ＩＤ６００は、どの機器に対するコマンドかを示す要素であり、具体的には、ＤＴＶ装置１０１＿１を介して利用できる機能を提供する機器の識別符号が記録される。この識別符号としては、ローカル機器であるＤＴＶ装置１０１＿１に対しては「ＤＴＶ１」が用いられ、リモート機器であるＤＴＶ装置１０１＿２に対しては「ＤＴＶ２」が用いられている。ＤＴＶ装置１０１＿２にＨＤＭＩ接続されているＤＶＲ２０４（ＤＴＶ２）に対しては「ＤＶＣ１」が用いられ、ＤＴＶ装置１０１＿１およびＤＴＶ装置１０１＿２が互いに連携されて実現される機能に対しては「ＣＯＮＪ」が用いられる。
【００３１】
機器ＩＤ６００において、ＤＴＶ１と記述されている７行は、ユーザが利用できるＤＴＶ装置１０１＿１の機能を表す。つまり、機器ＩＤ６００、操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、および公開条件６０６（公開先条件６０７、ＵＩ条件６０８）には、ＤＴＶ装置１０１＿１のローカル制御一覧表３００における操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、および公開条件３０６（公開先条件３０７、ＵＩ表示条件３０８）の内容がそれぞれ記載される。
【００３２】
同様に、機器ＩＤ６００にＤＴＶ２と記述されている８行は、ユーザが利用できるＤＴＶ装置１０１＿１を介して利用できるＤＴＶ装置１０２＿１の機能を示す。つまり、機器ＩＤ６００、操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、および公開条件６０６（公開先条件６０７、ＵＩ条件６０８）には、ＤＴＶ装置１０１＿２のローカル制御一覧表３００における操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、および公開条件３０６（公開先条件３０７、ＵＩ表示条件３０８）の内容がそれぞれ記載される。
【００３３】
機器ＩＤ６００に「ＤＶＣ１」と記述されている５行は、ユーザがＤＴＶ装置１０１＿１を介して利用できるＤＴＶ装置１０２＿１にＨＤＭＩ接続されているＤＶＲ２０４の機能を示している。
【００３４】
次に図５を参照して、図２に例示した家庭ネットワーク２０１に接続された複数のＤＴＶ装置１０１によるメニューリストＭＬの生成について説明する。なお、説明の便宜上、家庭内ネットワーク２０１にはＤＴＶ装置１０１＿２（ＤＴＶ２）が先に接続され、後からＤＴＶ装置１０１＿１（ＤＴＶ１）が接続されるものとする。ＤＴＶ装置１０１＿２が家庭内ネットワーク２０１に接続された時点で、まずＤＴＶ装置１０１＿２をローカル機器とし、ＤＴＶ装置１０１＿１をリモート機器とするメニューリスト生成処理が開始される。
【００３５】
まず、ステップＳ５００において、ＤＴＶ装置１０１＿２は、保持するローカル制御一覧表３００の機器状態条件３０９を参照して自身の機器状態をチェックする。「ＤＶＲがＨＤＭＩ接続されていること」との機器状態条件３０９の条件に基づいて、ＤＴＶ装置１０１＿２はＤＴＶ制御部１０４にＤＶＲがＨＤＭＩ接続されているかを問い合わせる。本例においては、ＤＴＶ装置１０１＿２にはＤＶＲ２０４がＨＤＭＩ接続されているので、ＣＰＵ１０２＿２は、現在ＤＶＲ２０４が接続されていることを検知する。そして、制御はステップＳ５０１に進む。
【００３６】
ステップＳ５０１において、ローカル制御手順生成部１０８は、記憶部１０３に保持されているＤＴＶ装置１０１＿２のローカル制御一覧表３００のうちで機器状態条件３０９を満たす項目がメニューリストＭＬに記述される。本例においては、全項目が機器状態条件３０９を満たすので、ローカル制御一覧表３００の操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、公開条件３０６、公開先条件３０７、およびＵＩ表示条件３０８の内容が、メニューリストＭＬの操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、公開条件６０６、公開先条件６０７、およびＵＩ条件６０８のそれぞれに記述される。なお、機器ＩＤ６０１には「ＤＴＶ２」と記述される。そして、制御はステップＳ５０２に進む。
【００３７】
ステップＳ５０２において、リモート機器（ＤＴＶ装置１０１＿１）からリモートコマンドを受信しているか否かが判断される。具体的には、リモート制御手順受理部１１２に対してリモート機器（ＤＴＶ装置１０１＿１）から送信されてきたリモートコマンドを受信しているか否かが問い合わされる。本例においては、現時点では、リモート機器であるＤＴＶ装置１０１＿１は家庭内ネットワーク２０１に未接続であるので、（ＤＴＶ装置１０１＿２）は、ＤＴＶ装置１０１＿１からリモート制御手順を受信していない。よって、Ｎｏと判断されて、制御はステップＳ５０４に進む。
【００３８】
ステップＳ５０４において、ＤＴＶ装置１０１＿２において、記憶部１０３に保持している連携制御手順表４００に基づいて、必要コマンド４１０が満されているか否かが判断される。上述のように、現時点でＤＴＶ装置１０１＿１（ＤＴＶ１）は家庭内ネットワーク２０１に接続されていないので、Ｎｏと判断されて制御はステップＳ５０６に進む。
【００３９】
ステップＳ５０６において、ＤＴＶ装置１０１＿２はリモート機器（ＤＴＶ装置１０１＿１）から連携動作コマンド表４００を受信しているか否かが判断される。現時点では、リモート機器は（ＤＴＶ装置１０１＿１）はまだ家庭内ネットワーク２０１に接続されていないので、Ｎｏと判断されて制御はステップＳ５０９に進む。
【００４０】
ステップＳ５０９において、他の機器が家庭内ネットワーク２０１に接続されているか否かが判断される。本例においては、ＤＴＶ装置１０１＿２（自機）以外には家庭内ネットワーク２０１に接続されていないので、Ｎｏと判断されて処理が終了する。
【００４１】
次に、ＤＴＶ装置１０１＿１（ＤＴＶ１）が家庭内ネットワーク２０１に接続された時に、ＤＴＶ装置１０１＿１をローカル機器とし、ＤＴＶ装置１０１＿２（ＤＴＶ２）をリモート機器とするメニューリスト生成処理が開始される。
【００４２】
ステップＳ５００において、ＤＴＶ装置１０１＿１は自身が保持するローカル制御一覧表３００の機器状態条件３０９に基づいて、機器状態のチェックを行なう。「ＤＶＲがＨＤＭＩ接続されていること」が機器状態条件３０９に記述されているのでＤＴＶ制御部１０４にＤＶＲがＨＤＭＩ接続されているかを問い合わせて、ＤＴＶ装置１０１＿１にＤＶＲ２０４が接続されていないことを検知する。そして、制御は次のステップＳ５０１に進む。
【００４３】
ステップＳ５０１において、ローカル制御手順生成部１０８によって、記憶部１０３に保持しているローカル制御一覧表３００のうち機器状態条件３０９を満たす項目がメニューリストＭＬに記入される。本例においては、「ＤＶＲがＨＤＭＩ接続されていること」と言う条件以外の項目が機器状態条件３０９を満たすので、機器状態条件３０９が「不問」に対応する操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、公開条件３０６、公開先条件３０７、およびＵＩ表示条件３０８の内容が、メニューリストＭＬの操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、公開条件６０６、公開先条件６０７、およびＵＩ条件６０８のそれぞれに記述される。なお、機器ＩＤ６０１には「ＤＴＶ１」と記述される。そして、制御はステップＳ５０２に進む。
【００４４】
ステップＳ５０２において、ＤＴＶ装置１０１＿１のリモート制御手順受理部１１２にリモート機器（ＤＴＶ装置１０１＿２）からリモートコマンドを受信しているか否かが判断される。すでに、ＤＴＶ装置１０１＿２が家庭内ネットワーク２０１に接続されているので、Ｙｅｓと判断されて、制御はステップＳ５０３に進む。
【００４５】
ステップＳ５０３では、機器ＩＤ６０１の欄をＤＴＶ装置１０１＿２を表すＤＴＶ２として受信しているリモート制御手順をメニューリストの項目に追加する。
【００４６】
ステップＳ５０４では、記憶部１０３に保持している連携制御手順表４００を参照し、必要コマンド４１０を満たしているか否か判断される。本例においては、Ｙｅｓと判断されて制御はステップＳ５０５に進む。
【００４７】
ステップＳ５０５では、機器ＩＤ６０１の欄を連携制御を示す「ＣＯＮＪ」として、制御手順がメニューリストＭＬに追記される。そして、制御は次のステップＳ５０６に進む。
【００４８】
ステップＳ５０６では、リモート機器から連携動作コマンド表を受信していないので、Ｎｏと判断されて制御はステップＳ５０９に進む。
【００４９】
ステップＳ５０９では、他の機器が家庭内ネットワーク２０１に接続されているので、Ｙｅｓと判断されて制御はステップＳ５１０に進む。
【００５０】
ステップＳ５１０では、リモート制御手順生成部１０９を実行し、ステップＳ５０１からステップＳ５０９で作成したメニューリストＭＬの項目のうち、機器ＩＤが自機であり、かつ公開先条件がＲの項目をリモート制御手順として他の機器に通信部１０６を介して送信する。
【００５１】
上記のステップが完了した時点で、図６に示したメニューリストＭＬがＤＴＶ装置１０１＿１によって完成されている。なお、上述のメニューリスト作成フローは、ローカル機器あるいはリモート機器の機器状態に変化があったとき、または他の機器がネットワークに接続されたことを検知したとき、あるいは一定時間間隔（固定またはユーザが設定可能）毎に実行される。
【００５２】
図７を参照して、メニュースクリプト生成部１１５によるＵＩスクリプト生成動作について説明する。ＤＴＶ制御部１０４によって、ユーザインタフェース端末部１１７が起動された時点で、メニュースクリプト生成部１１５に対しメニュースクリプトが要求される。そして、メニュースクリプト生成部１１５によるメニュースクリプト生成動作が開始される。
【００５３】
まず、ステップＳ７００において、リモート制御手順表を受信しているか否かが判断される。リモート制御手順表を受信した時点でＹｅｓと判断されて、制御はステップＳ７０１に進む。
【００５４】
ステップＳ７０１において、ステップ＃５００で生成されたメニューリストＭＬから制御手順行が一つ取得される。そして、制御は次のステップＳ７０２に進む。
【００５５】
ステップＳ７０２において、取得された項目のＵＩ条件６０８が「Ｙ」か否かが判断される。ＵＩ表示６０８が「Ｙ」、つまり表示と設定されている場合、制御はステップＳ７０３に進む。
【００５６】
ステップＳ７０３において、メニュースクリプト要求を行なったユーザインタフェース端末部１１７がリモート（他の機器）であるか否かが判断される。ユーザインタフェース端末部１１７がローカル（自機）である場合、Ｎｏと判断されて制御はステップＳ７０４に進む。
【００５７】
ステップＳ７０４において、ステップＳ７０１で取得されたメニューリストＭＬの公開先条件６０７（公開条件６０６）に「Ｌ」が含まれるか否かが判断される。公開先条件６０７が「Ｌ」を含む、つまり自機（ローカル）のユーザインタフェース端末からメニュースクリプトを要求されたことが条件とされている場合にＹｅｓと判断されて、制御はステップＳ７０９に進む。
【００５８】
一方、上述のステップＳ７０３においてＹｅｓ、つまりリモート（他の機器）であると判断される場合、制御はステップＳ７０５に進む。
【００５９】
ステップＳ７０５において、自機（ローカル）はストリーム通信中か否かが判断される。ストリーム通信中でない場合、Ｎｏと判断されて、制御はステップＳ７０６に進む。
【００６０】
ステップＳ７０６において、取得された公開先条件６０７が「Ｒ」を含むか否かが判断される。「Ｒ」を含む、つまり自身の機器以外のユーザインタフェース端末からメニュースクリプトを要求されたということが条件とされている場合に、Ｙｅｓと判断されて制御はステップＳ７０８に進む。
【００６１】
一方、上述のステップＳ７０５においてＹｅｓ、つまり自機（ローカル）はストリーム通信中であると判断される場合、制御はステップＳ７０７に進む。
【００６２】
ステップＳ７０７において、所得された公開先条件６０７に「Ｒ＊Ｓ」が含まれるか否かが判断される。Ｙｅｓ、つまり自機（ローカル）以外のユーザインタフェース端末からメニュースクリプトを要求されると共にＤＴＶ制御部１０４がストリーミング受信中であることが条件とされている場合に、制御はステップＳ７０８に進む。
【００６３】
ステップＳ７０８において、リモート制御変換テーブルが作成される。なお、本ステップにおけるリモート制御変換テーブル作成は、クライアントがリモートであり（Ｙｅｓ/Ｓ７０３）、自機（ローカル）以外のユーザインタフェース端末からメニュースクリプトを要求されると共に／或いはＤＴＶ制御部１０４がストリーミング受信中であることが条件とされている場合（Ｙｅｓ／Ｓ７０６、Ｙｅｓ／Ｓ７０７）に、実行される。そして、制御はステップＳ７０９に進む。
【００６４】
ステップＳ７０９において、ＵＩスクリプトが生成される。ＵＩスクリプトは、メニューリストＭＬの操作名６０１、表示名６０２、表示形式６０３、および値６０４に従い、ＨＴＭＬスクリプトおよびＪａｖａＳｃｒｉｐｔ（Ｊａｖａは登録商標）として生成される。なお、本ステップにおけるＵＩスクリプト生成は、クライアントはローカルであると共に（Ｎｏ／Ｓ７０３）、公開先条件６０７が「Ｌ」である（Ｙｅｓ／Ｓ７０４）であるか、あるいは上述のステップＳ７０８でリモート制御変換テーブルが生成されている場合に実行される。そして制御は、ステップＳ７１０に進む。
【００６５】
上述のステップＳ７０２でＮｏ、つまりＵＩ表示は許可されていない場合には、制御は上述のステップＳ７０３〜Ｓ７０９をスキップして、ステップＳ７１０に進む。ステップＳ７０４でＮｏ、つまりＵＩ表示は許可されているが、自機（ローカル）に対する公開が許可されていない場合、制御はステップＳ７０９をスキップしてステップＳ７１０に進む。ステップＳ７０６でＮｏ，つまりＵＩ表示は許可（Ｙｅｓ／Ｓ７０３）されているが、クライアントはリモート（Ｙｅｓ／Ｓ７０３）であり、自機（ローカル）はストリーム通信中ではなく（Ｎｏ／Ｓ７０６）、他機（リモート）に対して公開が許されていない（Ｎｏ／Ｓ７０６）場合、制御はステップＳ７０８およびＳ７０９をスキップしてステップＳ７１０に進む。
【００６６】
同様に、ステップＳ７０７でＮｏ，つまりＵＩ表示は許可（Ｙｅｓ／Ｓ７０１）されているが、クライアントはリモート（Ｙｅｓ／Ｓ７０３）であり、自機（ローカル）はストリーム通信中（Ｙｅｓ／Ｓ７０５）であり、自機（ローカル）以外のユーザインタフェース端末からメニュースクリプトを要求されると共にＤＴＶ制御部１０４がストリーミング受信中である他機（リモート）に対して公開が許されていない（Ｎｏ／Ｓ７０７）場合、制御はステップＳ７０８およびＳ７０９をスキップしてステップＳ７１０に進む。
【００６７】
ステップＳ７１０において、メニューリストＭＬのうち、メニューリストＭＬに未取得の項目が残っているか否かが判断される。未所得の項目が残っている場合、Ｙｅｓと判断されて、制御は上述のステップＳ７０１に戻り、メニューリストＭＬから新たな項目が取得されて、上述のステップＳ７０２〜Ｓ７０９の処理が繰り返される。そして、本ステップＳ７１０でＮｏ、つまりメニューリストＭＬの全ての項目に基づいて、メニュースクリプトが生成された時点で制御は次のステップＳ７１１に進む。
【００６８】
ステップＳ７１１において、生成されたＵＩスクリプトがメニュースクリプト生成部１１５からユーザインタフェース端末部１１７に送信される。そして、制御は上述のステップＳ７００に戻る。上述の処理を経て、ユーザインタフェース端末部１１７には図８および図９に示す、ＤＴＶ１操作メニュー８０１および９０１が表示される。
【００６９】
より詳細に述べれば、図８はユーザがＤＴＶ装置１０１＿１（ＤＶＴ１）のユーザインタフェース端末１１７からＤＴＶ装置１０１＿１（ＤＶＴ１）或いはＤＴＶ装置１０１＿２（ＤＴＶ２）を制御するメニュー画面の一例を示している。図９はユーザが携帯電話２０５からＤＴＶ装置１０１＿１（ＤＶＴ１）あるいはＤＴＶ装置１０１＿２（ＤＴＶ２）を制御するメニュー画面の一例を示している。以下に、図７を参照して、図８に示すＤＴＶ１操作メニュー８０１の生成動作について具体的に説明した後に、同様に図９に示す「ＤＶＴ１操作メニュー９０１の生成動作について具体的に説明する。
【００７０】
図８に示すＤＶＴ１操作メニュー８０１のメニュースクリプト生成動作は、上述のように、ＤＴＶ制御部１０４によって、メニュースクリプト生成部１１５に対しメニュースクリプトが要求された時点で開始される。
【００７１】
まず、ステップＳ７００において、リモート制御手順表を受信しているか否かが判断される。本例においては、メニュースクリプト要求を受けているのでＹｅｓと判断されて、制御はステップＳ７０１に進む。
【００７２】
ステップＳ７０１において、メニューリストＭＬから１項目が取得される。そして、制御は次のステップＳ７０２に進む。
【００７３】
ステップＳ７０２において、取得された項目のＵＩ条件６０８が「Ｙ」か否かが判断される。ＵＩ表示６０８が「Ｙ」の場合、制御はステップＳ７０３に進む。一方、ＵＩ表示６０８が「Ｎ」の場合は制御はステップＳ７１０に進む。
【００７４】
本例ではユーザインタフェース端末部１１７は自機（ローカル）であるので、ステップＳ７０３においてＮｏと判断されて、制御はステップＳ７０４に進む。
【００７５】
ステップＳ７０４において、ステップＳ７０１で所得されたメニューリストＭＬ公開先条件６０７（公開条件６０６）に「Ｌ」が含まれるか否かが判断される。公開先条件６０７が「Ｌ」を含む場合、Ｙｅｓと判断されて、制御はステップＳ７０９に進む。
【００７６】
ステップＳ７０９において、ＵＩスクリプトが生成される。ＵＩスクリプトは、メニューリストＭＬの操作名６０１、表示名６０２、表示形式６０３、および値６０４に従い、ＨＴＭＬスクリプトおよびＪａｖａＳｃｒｉｐｔ（Ｊａｖａは登録商標）として生成される。そして、制御はステップＳ７１０に進む。なお、上述のステップＳ７０４においてＮｏ、取得された公開先条件６０７に「Ｌ」が含まれないと判断される場合、制御はステップＳ７１０に進む。
【００７７】
ステップＳ７１０において、メニューリストＭＬのうち、メニューリストＭＬに未取得の項目が残っているか否かが判断される。未所得の項目が残っている場合、Ｙｅｓと判断されて、制御は上述のステップＳ７０１に戻り、メニューリストＭＬから新たな項目が取得されて、上述のステップＳ７０２〜Ｓ７０９の処理が繰り返される。そして、本ステップＳ７１０でＮｏ、つまりメニューリストＭＬの全ての項目に基づいて、メニュースクリプトが生成された時点で制御は次のステップＳ７１１に進む。
【００７８】
ステップＳ７１１において、生成されたＵＩスクリプトがメニュースクリプト生成部１１５からユーザインタフェース端末部１１７に送信される。そして、制御は上述のステップＳ７００に戻る。上述の処理を経て、ユーザインタフェース端末部１１７はＤＴＶ１操作メニュー８０１を情報処理装置１０１上に表示する。
【００７９】
図８に示すように、ＤＴＶ１操作メニュー８０１には、機器連動メニューと、ローカルメニューとリモートメニューが表されている。機器連動メニューにはローカル機器（ＤＴＶ１）がリモート機器（ＤＴＶ２）と連動して行う、ストリーム再生開始機能が提示されている。ローカルメニューには、ローカル機器（ＤＴＶ１）自身の機能であるストリーム受信（停止中、開始）および設置設定（設定）が提示されている。リモートメニューには、ローカル機器（ＤＴＶ１）からリモート機器（ＤＴＶ２）を操作する録画予約（設定）およびストリーム送信（停止中、設定）が提示されている。
【００８０】
図９に示すＤＶＴ１操作メニューに対するメニュースクリプト生成動作も、上述のように、ＤＴＶ制御部１０４によって、メニュースクリプト生成部１１５に対しメニュースクリプトが要求された時点で開始される。ＤＴＶ装置１０１＿１上のユーザインタフェース端末上からＤＴＶ装置１０１＿１を制御する場合と同様に、ステップＳ７００（Ｙｅｓ）、Ｓ７０１、およびＳ７０２（Ｙｅｓ）を経て、制御はステップＳ７０３に進む。
【００８１】
本例では、ユーザインタフェース端末部１１７は他機（リモート）であるので、ステップＳ７０３においてＹｅｓと判断されて、制御はステップＳ７０５に進む。
【００８２】
本例においては、現在ストリーム通信中ではないので、ステップＳ７０５においてＮｏと判断されて、制御はステップＳ７０６に進む。
【００８３】
ステップＳ７０６において、取得された公開先条件６０７に「Ｒ」が含まれると判断される場合、制御はステップＳ７０９に進む。そして、ステップＳ７０９でＵＩスクリプトが生成された後に、制御はステップＳ７１０に進む。そして、制御はステップＳ７００に戻り、上述の処理を繰り返す。上述の処理を経て、図９に示すＤＴＶ１操作メニュー９０１が携帯電話２０５の画面上に表示される。
【００８４】
なお、図９に示されるように、携帯電話２０５に表示されるＤＴＶ１操作メニュー９０１は、電源操作ウィジェット９０２、チャンネル操作ウィジェット９０３、音量操作ウィジェット９０４、映像入力ウィジェット９０７、ＤＴＶ２（ＤＴＶ装置１０１＿２）の電源操作ウィジェット９０５のウィジェットが、図８に示したＤＴＶ操作メニュー８０１と異なる。上述のように、端末の種別によって適切なメニュー表示を行なうことができる。
【００８５】
次に、図１０および図１１を参照して、携帯電話２０５の端末上からＤＴＶ装置１０１＿１を遠隔制御し、ＤＶＲ２０４にストリーミング配信を行わせてＤＴＶ装置１０１＿１上で視聴する例について説明する。具体的には、携帯電話２０５の端末上に表示されているＤＴＶ１操作メニュー９０１のうち、連動メニュー機器連動再生９０６をユーザが選択すると、携帯電話２０５はＤＴＶ装置１０１＿１（ＤＴＶ１）に対して連動メニュー機器連動再生９０６が選択されたことを示す＜ｃｏｎｊ−Ｓｔｒｅａｍ−ｐｌａｙ＞コマンドをＨＴＴＰプロトコルにより送信する。そして、図１０に示す処理が開始する。
【００８６】
まず、ステップＳ１００１において、コマンドが受信されているか否かが判断される。Ｙｅｓと判断された時点で制御は次のステップＳ１００１に進む。
【００８７】
ステップＳ１００２において、受信されたコマンドがメニューリストＭＬに存在するか否かが判断される。存在しない場合、Ｎｏと判断されて、制御はステップＳ１００１に戻る。受信されたコマンドがメニューリストＭＬに存在すると判断された時点で、制御は次のステップＳ１００３に進む。
【００８８】
ステップＳ１００３では、受信されたコマンドが連携動作コマンドか否かが判断される。本例においては、受信された＜ｃｏｎｊ−Ｓｔｒｅａｍ−ｐｌａｙ＞コマンドは連携動作コマンドであるので、Ｙｅｓと判断されて、制御はステップＳ１００５に進む。
【００８９】
ステップＳ１００５において、連携動作手順表４００から、操作名４０１が＜ｃｏｎｊ−Ｓｔｒｅａｍ−ｐｌａｙ＞に対応する実行コマンド４１１が１つ取り出される。本例においては、＜ｉｎｐｕｔ−ｍｏｄｅ  ｎｅｔｗｏｒｋ＞、＜ｓｔｒｅａｍ−ｒｅｃｖ＞、および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞から、まず＜ｉｎｐｕｔ−ｍｏｄｅ  ｎｅｔｗｏｒｋ＞が取り出される。そして制御は次のステップ＃１１００に進む。
【００９０】
ステップ＃１１００においては、取り出された実行コマンドを実行するために、コマンド実行関数呼出サブルーチンが実行される。
【００９１】
図１１に示すように、ステップ＃１１００の実行が開始されると、
ステップＳ１１０１において、実行コマンドはリモート機器へのコマンド送信であるか否かが判断される。Ｎｏと判断される場合、制御はステップＳ１１０２に進む。Ｙｅｓと判断される場合、制御はステップＳ１１０４に進む。本例における、＜ｉｎｐｕｔ−ｍｏｄｅ  ｎｅｔｗｏｒｋ＞は、リモート機器へのコマンド送信でないので、本ステップにおいてＮｏと判断されて、制御はステップＳ１１０２に進む。
【００９２】
ステップＳ１１０２において、機器制御関数が実行される。具体的には、Ｓｅｔ＿ｉｎｐｕｔ＿ｍｏｄｅ（ｎｅｔｗｏｒｋ）関数が呼び出されて、ＤＴＶ制御部１０４において、ＤＴＶの入力モードがネットワークに設定される。そして、制御はステップＳ１１０３に進む。
【００９３】
ステップＳ１１０３において、コマンド送信元に対してＡＣＫが返される。なお、本例においては、コマンド送信元は自機（ローカル）であるので、返されたＡＣＫに対する処理は行なわれない。そして、制御はステップＳ１００７に進む。
【００９４】
ステップＳ１００７において、連携動作に未実行のコマンドがあるか否かが判断される。Ｙｅｓと判断される場合、制御はステップＳ１００５に戻る。本例においては、実行コマンド４１１として、＜ｓｔｒｅａｍ−ｒｅｃｖ＞および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が未実行であるので、ステップＳ１００５で＜ｓｔｒｅａｍ−ｒｅｃｖ＞が読み出される。
【００９５】
そして、ステップＳ１１０１でＮｏ、つまり＜Ｓｔｒｅａｍ−ｒｅｃｖ＞はリモート機器へのコマンド送信でないと判断されて、上述ステップＳ１１０２およびＳ１１０３の処理が繰り返される。但し、ステップＳ１１０２においては、Ｓｅｔ＿Ｓｔｒｅａｍ＿ｒｅｃｖ（）関数が呼び出され、ＤＴＶ制御部１０４による通信部１０６からのストリーミング受信待ちが開始される。
【００９６】
そして、ステップＳ１００７でＹｅｓと判断され、今度はステップＳ１００６で＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が取り出される。ステップＳ１１０１でＹｅｓ，つまり＜ｓｔｒｅａｍ−ｔｒａｎｓ＞はリモート機器へのコマンド送信であると判断されて、制御はステップＳ１１０４に進む。
【００９７】
ステップＳ１１０４において、＜Ｓｔｒｅａｍ−ｔｒａｎｓ＞コマンドがＤＴＶ装置１０１＿２（ＤＴＶ２）に送信される。そして、制御は次のステップＳ１１０５に進む。
【００９８】
ステップＳ１１０５において、コマンド先であるＤＴＶ装置１０１＿２からＡＣＫが返されてくるのを待つ。
【００９９】
なお、ＤＴＶ装置１０１＿２が、＜Ｓｔｒｅａｍ−ｔｒａｎｓ＞コマンドを受信すると、ＤＴＶ装置１０１＿２において上述のステップＳ１１０１から始まる処理が実行される。そして、ＤＴＶ装置１０１＿２では、＜Ｓｔｒｅａｍ−ｔｒａｎｓ＞コマンドはリモート機器へのコマンド送信でないのでステップＳ１１０２において、Ｓｅｔ＿Ｓｔｒｅａｍ＿ｔｒａｎｓ（）関数が呼び出される。Ｓｅｔ＿Ｓｔｒｅａｍ＿ｔｒａｎｓ（）関数が呼び出されたＤＴＶ制御部１０４は、ＨＤＭＩを経由してＤＶＲ２０４に映像および音声の出力を開始する制御を行なうと共に、ＨＤＭＩから受けた映像および音声を通信部１０６からのストリーミング送信に変換する制御を行なう。
【０１００】
そして、ステップＳ１１０３ではコマンド送信元（ＤＴＶ装置１０１＿１）に対してＡＣＫを返し、ステップＳ１００７において、まだ未実行のコマンドがないので、コマンド処理を終了し、ステップＳ１００１に戻る。ＤＴＶ装置１０１＿１において、ＤＴＶ装置１０１＿２からのＡＣＫを受け取り、ＤＴＶ装置１０１＿２からのＡＣＫ待ちが解除されて制御はステップＳ１００７に進む。もう未実行のコマンドがないので、ステップＳ１００７でＮｏと判断されてコマンド受信処理が完了され、制御はステップＳ１００１に戻る。
【０１０１】
また、上述のステップＳ１００３においてＮｏ，つまり実行コマンドは連携動作コマンドではないと判断された場合、ステップ＃１００４のコマンド実行呼出サブルーチンを経て、制御はステップＳ１００１に戻る。なお、ステップ＃１００４のコマンド実行関数呼出サブルーチンは、上述のステップ＃１１００のコマンド実行関数呼出サブルーチンと同内容である。
【０１０２】
上述の処理により、携帯電話２０５の端末上からＤＴＶ装置１０１＿１を遠隔制御して、ＤＶＲ２０４にストリーミング配信を行なわせてＤＴＶ装置１０１＿１で視聴することができる。本発明にかかる情報処理装置は自身の制御、ネットワークに接続された複数の接続機器の遠隔制御、および連係動作制御をユーザインタフェース端末に提示し、ユーザインタフェース端末からの指示によって制御を実行できる。さらに、本発明にかかる情報処理装置は、機器の状態や遠隔制御を行なう端末の種別によって、適切なメニュースクリプトをユーザインタフェース端末に提示することができる。このように、本発明においては、複数の情報処理装置の連係動作を容易に行なうことができ、機器の状態や遠隔制御を行なう端末の種別によって適切なメニュースクリプトをユーザインタフェース端末に提示することができ、異なるネットワークの機器を遠隔制御して連係動作できる。
【０１０３】
（実施の形態２）
以下に、図１２〜図１６を参照して、本発明の実施の形態２にかかる情報処理装置およびホームネットワークシステムについて説明する。なお、本実施の形態にかかる情報処理装置１０１は上述の実施の形態１におけるのと同様に構成されているので説明を省く。
【０１０４】
図１２に示すように、本実施の形態においては、１台のＤＴＶ装置１０１＿１、１台のＤＶＣ装置２０６、およびゲートウェイ２０７が家庭内ネットワーク２０１に接続されている。ゲートウェイ２０７には、インターネット２１０を介してＴＶ電話サーバ２０８が接続されている。ゲートウェイ２０７は家庭内ネットワーク２０１とインターネット２１０との通信を制御する。
【０１０５】
つまり、本実施の形態におけるホームネットワークシステムは、インターネット２１０上の機器（本例では、ＴＶ電話サーバ２０８）との連係したサービスを実現する。なお、ＤＶＣ装置２０６は、情報処理装置１０１の構成を有しているデジタルビデオカメラである。
【０１０６】
図１３に、ＤＶＣ装置２０６のローカル制御手順一覧表３００の一例を示す。ローカル制御一覧表３００の構成は、図６を参照して既に説明したとおりである。本例における操作名３０１が操作名＜ｐｏｗｅｒ＞は電源のＯＮ／ＯＦＦを示し、操作名３０１が＜ｐｌａｙ＞は再生の開始／停止を示し、操作名３０１が＜ｐｌａｙ−ｃｏｎｔｒｏｌ＞は巻き戻し／早送りを示し、操作名３０１が＜ｓｔｒｅａｍ−ｔｒａｎｓ＞はストリーミングの送信を示し、操作名３０１が＜ｓｈｏｔ−ｍｏｖｉｅ＞は動画・音声の取得を示す。
【０１０７】
図１４に、テレビ電話サーバ２０８のローカル制御手順一覧表の一例を示す。操作名３０１が＜ｓｅｒｖｉｃｅ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞はテレビ電話機能を示す。
【０１０８】
図１５に、テレビ電話サーバ２０６の連係動作手順表４００の一例を示す。本例における連携動作手順表４００には、図４に示した連携動作手順表４００の表示形式４０３、値４０４、公開先条件４０６（公開先条件４０７およびＵＩ条件４０８）が含まれていない。なお、操作名４０１が＜ｃｏｎｊ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞は連動テレビ電話機能を示す。＜ｓｔｒｅａｍ−ｔｒａｎｓ＞＜ｓｈｏｔ−ｍｏｖｉｅ＞のように必要コマンドにおいて、１行で２つのコマンドが記述されている場合は、同一機器で＜ｓｔｒｅａｍ−ｔｒａｎｓ＞コマンドと＜ｓｈｏｔ−ｍｏｖｉｅ＞コマンドが実行できる必要があることを示す。
【０１０９】
ＤＴＶ１０１＿１からゲートウェイ２０７を介してＴＶ電話サーバ２０８へメニュースクリプトの要求が行なわれると、ＴＶ電話サーバ２０８はメニュースクリプトを送信するとともに、リモート制御手順および連係動作手順表４００を送信する。ＤＴＶ１０１＿１はＤＶＣ装置２０６およびＴＶ電話サーバ２０８から送信されるリモート制御手順、および連係動作手順表を受信して、上述の実施の形態１におけるのと同様に図５を参照して説明したメニューリスト生成フローチャートに従いメニューリストＭＬを作成する。
【０１１０】
図１６に、本実施の形態において作成されるメニューリストＭＬを例示する。本実施の形態においては、連動テレビ電話機能＜ｃｏｎｊ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞コマンドの条件を満たされるので、＜ｃｏｎｊ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞コマンドが有効になる。ユーザがユーザインタフェース端末１１７で連動テレビ電話コマンドの実行を指示すると、実施の形態１におけるのと同様に、ＴＶ電話サーバ２０８に＜ｓｅｒｖｉｃｅ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞コマンドを送ることによりテレビ電話の開始が行なわれ、ＤＶＣ装置２０６は撮影した動画・音声をＴＶ電話サーバ２０８に配信すると共に、ＴＶ電話サーバ２０８から受信した動画・音声をＤＴＶ２０２上に出力する。
【０１１１】
以上のように、本実施の形態では、インターネット上のサービスと連携して、ＴＶ電話機能を容易に実行することができる。なお、ここではインターネット上のサービスと連携する例としてＴＶ電話機能の例を示したが、他のインターネット上のサービスでも本発明を適用できる。
【産業上の利用可能性】
【０１１２】
本発明はホームネットワーク等に有用である。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施の形態１にかかる情報処理装置の構成を示すブロック図
【図２】図１に示す情報処理装置から構成されるホームネットワークシステムの説明図
【図３】図１に示す情報処理装置のローカル制御一覧表の一例を示す説明図
【図４】図１に示す情報処理装置の連携動作手順表の一例を示す説明図
【図５】図１に示す情報処理装置におけるメニューリスト生成動作を表すフローチャート
【図６】図１に示す情報処理装置におけるメニューリストの一例を示す説明図
【図７】図１に示す情報処理装置におけるメニュースクリプト動作を表すフローチャート
【図８】図１に示す情報処理装置において生成されるメニュースクリプトに基づいて、情報処理装置に提示される操作メニューの一例を示す説明図
【図９】図１に示す情報処理装置において生成されるメニュースクリプトに基づいて、携帯電話に提示される操作メニューの一例を示す説明図
【図１０】図９に示す操作メニューに基づくメニュースクリプト生成動作を表すフローチャート
【図１１】図１０に示す操作メニューに基づくメニュースクリプト生成動作を表すフローチャート
【図１２】本発明の実施の形態２にかかるホームネットワークシステムの説明図
【図１３】図１２に示すＤＶＣ装置のローカル制御手順一覧表の一例を示す説明図
【図１４】図１２に示すテレビ電話サーバのローカル制御手順一覧表の一例を示す説明図
【図１５】図１２に示すテレビ電話サーバの連係動作手順表の一例を示す説明図
【図１６】図１２に示す情報処理装置におけるメニューリストの一例を示す説明図
【符号の説明】
【０１１４】
ＭＬ    メニューリスト
１０１＿１，１０１＿２    情報処理装置（ＤＴＶ）
１０２    ＣＰＵ
１０３    記憶部
１０４    ＤＴＶ制御部
１０５，１０６    通信部
１０７    コマンド提示部
１０８    ローカル制御手順生成部
１０９    リモート制御手順生成部
１１０    リモート制御手順提示部
１１１    連携制御手順表提示部
１１２    リモート制御手順受理部
１１３    連携制御手順表受理部
１１４    連係動作手順生成部
１１５    メニュースクリプト生成部
１１６    コマンド受理部
１１７    ユーザインタフェース端末部
２０１    家庭内ネットワーク
２０４    ＤＶＲ
２０５    携帯電話
２０６    ＤＶＣ装置
２０７    ゲートウェイ
２０８    ＴＶ電話サーバ
２１０    インターネット
３００    ローカル制御一覧表
４００    連携動作手順表
８０１，９０１    ＤＴＶ１操作メニュー
９０２    電源操作ウィジェット
９０３    チャンネル操作ウィジェット
９０４    音量操作ウィジェット
９０５    ＤＶＴ２の電源操作ウィジェット
９０６    ＤＶＴ２の機器連動再生操作ウィジェット
９０７    映像入力ウィジェット
【図１】
2009146146.tif 000003
【図２】
2009146146.tif 000004
【図３】
2009146146.tif 000005
【図４】
2009146146.tif 000006
【図５】
2009146146.tif 000007
【図６】
2009146146.tif 000008
【図７】
2009146146.tif 000009
【図８】
2009146146.tif 000010
【図９】
2009146146.tif 000011
【図１０】
2009146146.tif 000012
【図１１】
2009146146.tif 000013
【図１２】
2009146146.tif 000014
【図１３】
2009146146.tif 000015
【図１４】
2009146146.tif 000016
【図１５】
2009146146.tif 000017
【図１６】
2009146146.tif 000018
【手続補正書】
【提出日】平成20年11月13日(2008.11.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して少なくとも１つの他の情報処理装置と接続される情報処理装置であって、
自身の機器を制御するための制御手順および当該制御手順が実行可能になる条件の一覧であるローカル制御手順一覧表を記憶するローカル制御手順一覧表記憶手段と、
前記ローカル制御手順一覧表に基づいて、自身の機器状態に応じて実行可能な自身の機器の制御機能を表す情報をユーザに提示するためのローカル制御手順を生成するローカル制御手順生成手段と、
前記ローカル制御手順から、他の機器に自身の機器の制御手順を提示するためのリモート制御手順を生成するリモート制御手順生成手段と、
前記ローカル制御手順と前記リモート制御手順との組み合わせおよびその組み合わせの名称を記述した連携制御手順表を記憶する連携制御手順表記憶手段と、
前記リモート制御手順および前記連携制御手順表を他の機器へ送信する機能、および他の機器から送信された前記リモート制御手順および前記連携制御手順表を受信する機能を有する通信手段と、
前記ローカル制御手順と他の機器から受信した前記リモート制御手順とに基づいて、前記連携制御手順表記憶手段に記憶された連携制御手順表および他の機器から受信した連携制御手順表に基づいて連携制御手順を生成する連携制御手順生成手段と、
前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順に基づいて、内蔵またはネットワークを介して接続されたユーザインタフェース端末に、操作用のメニュー画面に対応するデータおよびそのメニュー画面における操作手順を提示するためのメニュースクリプトを生成するメニュースクリプト生成手段と、
前記ユーザインタフェース端末からの要求に応じて、前記メニュースクリプトを当該ユーザインタフェース端末に提示するメニュースクリプト提示手段と、
前記メニュースクリプトに従って前記ユーザインタフェース端末により表示されるメニュー画面における入力により前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順のいずれかの制御手順の実行が指示されると、対応する制御機能を実行させるように自身の機器および他の機器を制御する制御手段、
とを備えた情報処理装置。
【請求項２】
前記メニュースクリプト生成手段は、前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順に記述された条件に従って、前記メニュースクリプトを前記ユーザインタフェース端末に提示するか否かを判断する請求項１に記載の情報処理装置。
【請求項３】
前記ローカル制御手順生成手段は、自身の機器に内蔵された機器の状態と、前記通信手段を介して得られた他の機器の機器状態と、に基づいて、前記ローカル制御手順を生成する請求項１に記載の情報処理装置。
【請求項４】
前記リモート制御手順生成手段は、
自身の機器への制御手順の場合は新規のリモート制御手順を生成すると共に、生成したリモート制御手順と元の自身の機器への制御手順との対応表を生成し、
他の機器への制御手順の場合は新規のリモート制御手順を生成すると共に、生成した自身に対するリモート制御手順と元のリモート制御手順との対応表を生成し、
生成した新規のリモート制御手順の実行を指示されたときに対応表に記載された元の制御手順を実行する請求項１に記載の情報処理装置。
【請求項５】
前記記憶手段に記憶された連携制御手順表が、ユーザの設定、ネットワークを介したダウンロード、および記録媒体からの読み出しにより書き換え可能に構成されるとともに、
前記ネットワークを介した他の機器からの要求に応じて、前記連携制御手順表が前記通信手段を介して他の機器に送信される請求項１に記載の情報処理装置。
【請求項６】
前記ユーザインタフェース端末は、前記メニュースクリプトを解釈できる電子機器である請求項１に記載の情報処理装置。
【請求項７】
前記ユーザインタフェース端末は、自身の機器に内蔵されている請求項６に記載の情報処理装置。
【請求項８】
前記ユーザインタフェース端末は、自身の機器に接続されている請求項６に記載の情報処理装置。
【請求項９】
前記ユーザインタフェース端末に指示を行うためのリモートコントローラからの信号を入力するリモコン信号入力手段を備えた請求項１に記載の情報処理装置。
【請求項１０】
前記ユーザインタフェース端末は、前記ネットワークを介して自身の機器に接続されている請求項８に記載の情報処理装置。
【請求項１１】
自身の機器に内蔵された機器の機器状態に関する情報と、前記通信手段によって得られた他の機器の機器状態に関する情報とを収集し、収集された情報を他の回路に提示する電子回路から構成される請求項１に記載の情報処理装置。
【請求項１２】
自身の機器の制御機能の中で自身の機器状態に応じて実行可能な制御機能の制御手順に関するローカル制御手順を生成するローカル制御手順生成手段と、
自身の機器とネットワークを介して接続された他の機器を制御するための制御手順に関するリモート制御手順を受信するリモート制御手順受信手段と、
前記ローカル制御手順と前記リモート制御手順とに基づいて、前記自身の機器と前記他の機器とを連携して動作させるための制御手順に関する連携制御手順を生成する連携制御手順生成手段と、
前記他の機器に前記連携制御手順を送信する連携制御手順送信手段と、
前記連携制御手順に基づいて自身の機器を制御する制御手段
とを備える情報処理装置。
【請求項１３】
自身の機器の制御機能の中で自身の機器状態に応じて実行可能な制御機能の制御手順に関するローカル制御手順を生成するローカル制御手順生成手段と、
前記ローカル制御手順に基づいて、ネットワークを介して接続された他の機器が自身の機器を制御するための制御手順に関するリモート制御手順を生成するリモート制御手順生成手段と、
他の機器に前記リモート制御手順を送信するリモート制御手順送信手段と、
他の機器が、前記ローカル制御手順と前記リモート制御手順とに基づいて生成した、自身の機器と他の機器とを連携して動作させるための制御手順に関する連携制御手順を受信する連携制御手順受信手段と、
前記受信した連携制御手順に基づいて自身の機器を制御する制御手段
とを備える情報処理装置。
【請求項１４】
前記制御手段は、内蔵またはネットワークを介して接続されたユーザインタフェース端末からの要求に応じて、前記ローカル制御手順、前記リモート制御手順、前記連携制御手順に基づいて、操作用のメニュー画面に対応するデータおよびそのメニュー画面における操作手順を前記ユーザインタフェース端末に提示し、前記ユーザインタフェース端末からの入力に対応して前記ローカル制御手順、前記リモート制御手順、前記連携制御手順を実行する請求項１２記載の情報処理装置。
【請求項１５】
前記受信した連携制御手順を他の機器に送信する連携制御手順送信手段を備える請求項１３記載の情報処理装置。
【請求項１６】
自身の機器と他の機器とを連携して動作させるための制御手順およびその実行可能条件の一覧である連携制御手順表に基づいて前記連携制御手順を生成する連携制御手順生成手段と、前記連携制御手順表を他の機器に送信する連携制御手順表送信手段を備える請求項１３記載の情報処理装置。
【請求項１７】
自身の機器と他の機器とを連携して動作させるための制御手順およびその実行可能条件の一覧である連携制御手順表を他の機器から受信する連携制御手順表受信手段と、予め作成された前記連携制御手順表を記憶する記憶手段とを備え、  前記連携制御手順生成手段手段が、前記受信した連携制御手順表と前記記憶手段に記憶された連携制御手順表とに基づいて、前記連携制御手順を生成する請求項１２記載の情報処理装置。
【請求項１８】
請求項１乃至１７に記載の情報処理装置が前記ネットワークを介して互いに接続されて成るホームネットワークシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびホームネットワークシステムに関し、特にネットワークに接続された機器間で相互に遠隔制御を行なうためのユーザインタフェース、並びに上記接続された機器相互の連携動作を制御するためのユーザインタフェースを生成する技術に関する。
【背景技術】
【０００２】
近年、家電機器を家庭内ネットワークに接続し、ネットワークを介して複数の家電機器が連動するように遠隔制御を行なう技術が提案されている。例えば、特許文献１においては、連携動作テーブルを用いて連携動作を行うためのユーザインタフェースをユーザに提示する技術が開示されている。
【特許文献１】特開２００３−２２２２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の連携動作の制御においては、予め定められた連携動作テーブルに基づいてユーザインタフェースは画一的に提示される。それゆえに、遠隔制御を行なう端末の種別にあった操作をユーザに対して提示できない、異なるプロトコルで制御されている機器を制御できない、さらには、インターネットを介して提供される多種多様のサービスを利用することができないという問題がある。
【０００４】
このような問題に鑑みて、本発明は、自身の機器の制御、ネットワークを介して接続された少なくとも１つの他の機器の遠隔制御、および自身の機器と他の機器の連携動作制御を行うためのユーザインタフェースを、各機器の種別に応じて動的に生成してユーザに提示できるようにした情報処理装置を提供することを目的としている。また、本発明は、異なるプロトコルで制御されている各情報処理装置の間においても上記したようなユーザインタフェースを、各機器の種別に応じて動的に生成してユーザに提示できるようにした情報処理装置を提供することを目的としている。さらに、本発明は、そのような情報処理装置で構成されたホームネットワークシステムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明に係る情報処理装置は、
ネットワークを介して少なくとも１つの他の情報処理装置と接続される情報処理装置であって、
自身の機器を制御するための制御手順および当該制御手順が実行可能になる条件の一覧であるローカル制御手順一覧表を記憶するローカル制御手順一覧表記憶手段と、
前記ローカル制御手順一覧表に基づいて、自身の機器状態に応じて実行可能な自身の機器の制御機能を表す情報をユーザに提示するためのローカル制御手順を生成するローカル制御手順生成手段と、
前記ローカル制御手順から、他の機器に自身の機器の制御手順を提示するためのリモート制御手順を生成するリモート制御手順生成手段と、
前記ローカル制御手順と前記リモート制御手順との組み合わせおよびその組み合わせの名称を記述した連携制御手順表を記憶する連携制御手順表記憶手段と、
前記リモート制御手順および前記連携制御手順表を他の機器へ送信する機能、および他の機器から送信された前記リモート制御手順および前記連携制御手順表を受信する機能を有する通信手段と、
前記ローカル制御手順と他の機器から受信した前記リモート制御手順とに基づいて、前記連携制御手順表記憶手段に記憶された連携制御手順表および他の機器から受信した連携制御手順表に基づいて連携制御手順を生成する連携制御手順生成手段と、
前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順に基づいて、内蔵またはネットワークを介して接続されたユーザインタフェース端末に、操作用のメニュー画面に対応するデータおよびそのメニュー画面における操作手順を提示するためのメニュースクリプトを生成するメニュースクリプト生成手段と、
前記ユーザインタフェース端末からの要求に応じて、前記メニュースクリプトを当該ユーザインタフェース端末に提示するメニュースクリプト提示手段と、
前記メニュースクリプトに従って前記ユーザインタフェース端末により表示されるメニュー画面における入力により前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順のいずれかの制御手順の実行が指示されると、対応する制御機能を実行させるように自身の機器および他の機器を制御する制御手段、
とを備える。
【０００６】
ここで、本発明に係る情報処理装置においては、前記メニュースクリプト生成手段は、前記ローカル制御手順、前記リモート制御手順、および前記連携制御手順に記述された条件に従って、前記メニュースクリプトを前記ユーザインタフェース端末に提示するか否かを判断するのが好ましい。
【０００７】
前記ローカル制御手順生成手段は、
前記自身の機器に内蔵された機器の状態と、
前記通信手段を介して得られた他の機器の機器状態と、に基づいて前記ローカル制御手順を生成するのが好ましい。
【０００８】
前記リモート制御手順生成手段は、
自身の機器への制御手順の場合は新規のリモート制御手順を生成すると共に、生成したリモート制御手順と元の自身の機器への制御手順との対応表を生成し、
リモートの機器への制御手順の場合は新規のリモート制御手順を生成すると共に、生成した自身に対するリモート制御手順と元のリモート制御手順との対応表を生成し、
生成した新規のリモート制御手順の実行を指示されたときに対応表に記載された元の制御手順を実行するのが好ましい。
【０００９】
前記記憶手段に記憶された連携制御手順表が、ユーザの設定、ネットワークを介したダウンロード、および記録媒体からの読み出しにより書き換え可能に構成されるとともに、
前記ネットワークを介した他の機器からの要求に応じて、前記連携制御手順表が前記通信手段を介して他の機器に送信されるのも好ましい。
【００１０】
ここで、前記ユーザインタフェース端末は、前記メニュースクリプトを解釈できる電子機器であるのが好ましく、自身の機器に内蔵されてもよく、自身の機器に接続されるのもよい。また、前記ユーザインタフェース端末に指示を行うためのリモートコントローラからの信号を入力するリモコン信号入力手段を備えるのもよい。また、前記ユーザインタフェース端末は、ネットワークを介して接続されるのもよい。
【００１１】
また、情報処理装置は、自身の機器に内蔵された機器の機器状態に関する情報と、前記通信手段によって得られた他の機器の機器状態に関する情報とを収集し、収集された情報を他の回路に提示する電子回路から構成されるのもよい。
【００１２】
上記目的を達成するため、本発明に係る情報処理装置は、
自身の機器の制御機能の中で自身の機器状態に応じて実行可能な制御機能の制御手順に関するローカル制御手順を生成するローカル制御手順生成手段と、
自身の機器とネットワークを介して接続された他の機器を制御するための制御手順に関するリモート制御手順を受信するリモート制御手順受信手段と、
前記ローカル制御手順と前記リモート制御手順とに基づいて、前記自身の機器と前記他の機器とを連携して動作させるための制御手順に関する連携制御手順を生成する連携制御手順生成手段と、
前記他の機器に前記連携制御手順を送信する連携制御手順送信手段と、
前記連携制御手順に基づいて自身の機器を制御する制御手段
とを備える。
【００１３】
上記目的を達成するため、本発明に係る情報処理装置は、
自身の機器の制御機能の中で自身の機器状態に応じて実行可能な制御機能の制御手順に関するローカル制御手順を生成するローカル制御手順生成手段と、
前記ローカル制御手順に基づいて、ネットワークを介して接続された他の機器が自身の機器を制御するための制御手順であるリモート制御手順を生成するリモート制御手順生成手段と、
他の機器に前記リモート制御手順を送信するリモート制御手順送信手段と、
他の機器が、前記ローカル制御手順と前記リモート制御手順とに基づいて生成した、自身の機器と他の機器とを連携して動作させるための制御手順に関する連携制御手順を受信する連携制御手順受信手段と、
前記受信した連携制御手順に基づいて自身の機器を制御する制御手段
とを備える。
【００１４】
ここで、前記制御手段は、内蔵またはネットワークを介して接続されたユーザインタフェース端末からの要求に応じて、前記ローカル制御手順、前記リモート制御手順、前記連携制御手順に基づいて、操作用の表示データおよびその表示データにおける操作手順を前記ユーザインタフェース端末に提示する機能、並びに前記ユーザインタフェース端末からの入力に対応して前記ローカル制御手順、前記リモート制御手順、前記連携制御手順を実行する機能を更に有するのが好ましい。
【００１５】
前記受信した連携制御手順を他の機器に送信する連携制御手順送信手段を備えるのが好ましい。また、自身の機器と他の機器とを連携して動作させるための制御手順およびその実行可能条件の一覧である連携制御手順表に基づいて前記連携制御手順を生成する連携制御手順生成手段と、前記連携制御手順表を他の機器に送信する連携制御手順表送信手段を備えるのが好ましい。
【００１６】
また、自身の機器と他の機器とを連携して動作させるための制御手順およびその実行可能条件の一覧である連携制御手順表を他の機器から受信する連携制御手順表受信手段と、予め作成された前記連携制御手順表を記憶する記憶手段とを備え、  前記連携制御手順生成手段手段が、前記受信した連携制御手順表と前記記憶手段に記憶された連携制御手順表とに基づいて、前記連携制御手順を生成するのが好ましい。
【００１７】
また、上記目的を達成するために、本発明のホームネットワークシステムは、上記した情報処理装置が前記ネットワークを介して互いに接続されて成る。
【発明の効果】
【００１８】
本発明によれば、ネットワークにより接続された各情報処理装置の種別に応じて動的に、遠隔制御および連携動作制御のための適切なユーザインタフェースを生成してユーザに提示することができる。さらに、異なるプロトコルで制御されている各情報処理装置の間においても、情報処理装置の種別に応じて動的に、遠隔制御および連携動作制御のための適切なユーザインタフェースを生成してユーザに提示することができる。これにより、インターネットで提示される多種多様のサービスを利用することも可能となる。
【発明を実施するための最良の形態】
【００１９】
（実施の形態１）
以下に、図１〜図１１を参照して、実施の形態１に係る情報処理装置およびホームネットワークシステムについて説明する。図１に示すように、本実施の形態に係る情報処理装置（１０１）は、ＣＰＵ１０２、記憶部１０３、ＤＴＶ制御部１０４、通信部１０６、コマンド提示部１０７、ローカル制御手順生成部１０８、リモート制御手順生成部１０９、リモート制御手順提示部１１０、連携制御手順表提示部１１１、リモート制御手順受理部１１２、連携制御手順表受理部１１３、連携制御手順生成部１１４、メニュースクリプト生成部１１５、コマンド受理部１１６、およびユーザインタフェース端末部１１７がバスＢで相互に接続され、さらにＤＴＶ制御部１０４に通信部１０５が接続されて構成されている。
【００２０】
ＣＰＵ１０２、記憶部１０３、およびＤＴＶ制御部１０４は、情報処理装置（１０１）にＤＴＶ装置（デジタルテレビジョン装置）としての機能を付与している。したがって、本実施の形態においては、この情報処理装置（１０１）をＤＴＶ装置１０１と呼ぶものとする。
【００２１】
記憶部１０３には、ローカル制御手順一覧表（図３参照）および連携制御手順表（図４参照）が保持されている。通信部１０５は、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子を介して通信を行なうための装置であり、映像・音声をデジタル信号で通信を行う機能、並びにネットワークに接続された他の機器との間で制御用信号（コマンド）を通信する機能を有する。通信部１０６は、Ｅｔｈｅｒｎｅｔ端子を介して他の機器と通信を行なう機能を有する。
【００２２】
コマンド提示部１０７、ローカル制御手順生成部１０８、リモート制御手順生成部１０９、リモート制御手順提示部１１０、連携制御手順表提示部１１１、リモート制御手順受理部１１２、連携制御手順表受理部１１３、連携制御手順生成部１１４、メニュースクリプト生成部１１５、およびコマンド受理部１１６は、ＤＴＶ装置１０１が遠隔制御を行なうための情報を処理する機能をＤＴＶ装置１０１に付与する「遠隔制御機能実現手段」を構成している。
【００２３】
上記遠隔制御機能実現手段は、ＤＴＶ装置１０１が遠隔制御を行なうために必要とされる情報を生成するとともに、生成された情報を、通信部１０５および通信部１０６を介して他の機器へ送信する。また、上記遠隔制御機能実現手段は、遠隔制御を行なうために必要とされる情報を他の機器から受信し、受信した情報を解析する。その解析の結果に基づいて、上記遠隔制御機能実現手段は、具体的なユーザインタフェースの内容を指示するスクリプトであるメニュースクリプトを生成するとともに、遠隔制御を行なうためのコマンドを、通信部１０５および通信部１０６を介して送受信する。
【００２４】
ユーザインタフェース端末部１１７は、内蔵のユーザインタフェース端末であり、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）ブラウザの機能を有している。具体的には、ユーザインタフェース端末部１１７は、メニュースクリプト生成部１１５により生成されたメニュースクリプトを受け取り、受け取ったメニュースクリプトの記述に従ってユーザインタフェースの画像データを生成し、生成した画像データをＤＴＶ制御部１０４のＯＳＤ（Ｏｎ  Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ）部（不図示）に送って、ＤＴＶ装置１０１に付属された表示装置（不図示）にユーザインタフェースに対応する画像を表示させる機能を有している。また、ＤＴＶ装置１０１は、ＤＴＶ制御部１０４の赤外線リモコン受信部（不図示）を介して受信した赤外線リモコン装置からの指示信号をメニュースクリプトの記述に従って実行し、これによりユーザが意図した赤外線リモコン装置における操作を実現する機能を有する。なお、ユーザインタフェース端末部１１７は、ＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（Ｊａｖａは登録商標）、およびＸＭＬ等のスクリプトを解釈できるように構成されている。
【００２５】
次に、図２を参照して、２台のＤＴＶ装置１０１がネットワークに接続されている例について説明する。同例においては、ＤＴＶ装置１０１＿１、ＤＴＶ装置１０１＿２、および携帯電話２０５が家庭内ネットワーク２０１に直接接続され、ＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ：デジタル・ビデオ・レコーダ）２０４がＨＤＭＩケーブルによってＤＴＶ装置１０１＿２に接続されている。すなわち、本実施の形態１のホームネットワークシステムは、４台・３種別の情報処理装置から構成されている。なお、家庭内ネットワーク２０１は、例えばＥｔｈｅｒｎｅｔによるＬＡＮのネットワークである。
【００２６】
携帯電話２０５は、家庭内ネットワーク２０１を介して接続されたユーザインタフェース端末であり、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）ブラウザの機能を有し、例えばＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（Ｊａｖａは登録商標）、ＸＭＬといったブラウザ上でのユーザインタフェースを制御するためのスクリプトを受信し、スクリプトの記述に従って生成した画像データを画面上に表示し、ユーザの入力に応じた制御をスクリプトの記述に従って実行させる機能を有している。
【００２７】
図３に、ＤＴＶ装置１０１＿１およびＤＴＶ装置１０１＿２のローカル制御手順一覧表の一例を示す。ローカル制御手順一覧表３００には、ＤＴＶ装置１０１が自身の機器（以降、「ローカル機器」と称し、他の機器を「リモート機器」と称す）を制御するための操作手順（以下、操作コマンド、あるいは単にコマンドと称する）の一覧と各操作コマンドが実行可能となる条件が記述されている。具体的には、ローカル制御手順一覧表３００は、各操作コマンドの操作名（コマンド名）３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、および公開条件３０６の各項目を含む。
【００２８】
操作名３０１は、各操作コマンドを識別するための文字列を格納する項目である。表示名３０２は、当該操作コマンドに対応して上記表示装置の画面上のユーザインタフェースに表示される文字列を格納する項目である。
【００２９】
表示形式３０３は、各操作コマンドに対応して上記ユーザインタフェースに表示される、ユーザからのアクションを促す部品（ウィジェット）の種別を示す文字列が格納される項目である。図示例の文字列＜ｂｕｔｔｏｎ＞はボタン、文字列＜ｐｕｌｌｄｏｗｎ＞はプルダウンメニュー、文字列＜ｂｏｏｌ＞は選択され実行されるたびに機能が切り替わるボタンを示す。
【００３０】
値３０４は、各操作コマンドのウィジェットの要素を格納する項目である。例えば、操作コマンド＜ｐｏｗｅｒ＞のウィジェットは、「ＯＮ」および「ＯＦＦ」という要素を有している。また、操作コマンド＜ｉｎｐｕｔ−ｍｏｄｅ＞のウィジェットは、「地デジ」、「ＢＳ」、「ＣＳ」、「ＨＤＭＩ」、および「ネットワーク」という要素を有している。なお、図３において、操作コマンド＜ｓｔｒｅａｍ−ｔｒａｎｓ＞の表示名３０２、表示形式３０３および値３０４の各項目が「−」となっているのは、対応するウィジェットが存在せず、そのようなウィジェットをユーザインタフェース上に表示する必要がないことを示している。
【００３１】
機器制御関数３０５は、コマンド受理部１１６が受信したコマンドないしは制御手順を実行する際、或いはユーザインタフェース端末部１１７がメニュースクリプトを実行する際に、ＤＴＶ制御部１０４を制御するために使用される関数を格納する項目である。公開条件３０６は、各操作コマンドを後述の各処理において制御手順として提示する場合や、各操作コマンドからメニュースクリプト生成する場合の条件を格納する項目である。公開条件３０６は、公開先条件３０７、ＵＩ表示条件３０８、および機器状態条件３０９の各サブ項目から構成される。
【００３２】
公開先条件３０７は、メニュースクリプトを要求したユーザインタフェース端末の種別ないしは帰属先、およびＤＴＶ制御部１０４の状態についての条件を格納する項目である。具体的には、「Ｌ」という条件はローカル機器のユーザインタフェース端末部１１７からメニュースクリプトを要求されたという条件であり、「Ｒ」という条件はリモート機器のユーザインタフェース端末からメニュースクリプトを要求されたという条件である。また、「Ｒ＊Ｓ」という条件はリモート機器のユーザインタフェース端末からメニュースクリプトを要求され且つローカル機器のＤＴＶ制御部１０４がストリーミング受信中であるという条件を示す。
【００３３】
ＵＩ表示条件３０８は、各操作コマンドに対応するウィジェットをユーザインタフェース上に表示するか否かの条件を格納する項目である。例えば、「Ｙ」であれば上記ウィジェットはユーザインタフェース上に表示され、「Ｎ」であれば上記ウィジェットはユーザインタフェース上に表示されない。機器状態条件３０９は、各操作コマンドを上記手順として提示するか否かについてのＤＴＶ制御部１０４の機器状態の条件、例えば他の機器との接続状態についての条件を格納する項目である。具体的には、機器状態条件３０９が「不問」であれば無条件で提示し、条件が「ＤＶＲがＨＤＭＩ接続されていること」であれば、通信部１０３にＨＤＭＩケーブルによってＤＶＲ２０４が接続されている場合に当該操作コマンドを上記手順として提示する。
【００３４】
上述のように、ローカル制御手順一覧表３００においては、１つの操作コマンドに１つの行の操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、および公開条件３０６（公開先条件３０７、ＵＩ表示条件３０８、機器状態条件３０９）が対応している。以降、このローカル制御手順一覧表３００、並びに後述の連携制御手順表４００およびメニューリストＭＬにおける各行を制御手順行と呼ぶ。
【００３５】
図４に、ＤＴＶ装置１０１＿１およびＤＴＶ装置１０１＿２の連携制御手順表の一例を示す。この連携制御手順表４００は、上述したとおり、記憶部１０３に記憶されるものであるが、その内容は、ユーザの設定、ネットワークを介したダウンロード、および記録媒体からの読み出しにより書き換え可能に構成されている。連携制御手順表４００には、ローカル機器とリモート機器とを連携動作させるための連携制御コマンドについての情報が記述されている。具体的には、連携制御手順表４００は、各連携制御コマンドの操作名（コマンド名）４０１、表示名４０２、表示形式４０３、値４０４、公開条件４０６、公開先条件４０7、ＵＩ表示条件４０８、必要コマンド４１０、および実行コマンド４１１の各項目を含む。連携制御手順表４００における操作名４０１、表示名４０２、表示形式４０３、値４０４、公開条件４０６、公開先条件４０７、およびＵＩ表示条件４０８の各項目は、ローカル制御手順一覧表３００における操作名３０１、表示名３０２、表示形式３０３、値３０４、公開条件３０６、公開先条件３０７、およびＵＩ表示条件３０８とそれぞれ対応している。
【００３６】
なお、必要コマンド４１０は、その連携制御コマンドを有効にする操作コマンドの組み合わせを示す。図示例においては、操作名４０１が＜ｃｏｎｊ−ｓｔｒｅａｍ−ｐｌａｙ＞である連携制御コマンドの必要コマンド４１０として、図３のローカル制御手順一覧表３００の各操作コマンド＜ｓｔｒｅａｍ−ｒｅｃｖ＞および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が記述されている。これは、具体的には、ローカル制御手順（後述）に操作コマンド＜ｓｔｒｅａｍ−ｒｅｃｖ＞があり、リモート制御手順（後述）に操作コマンド＜ｓｔｒｅａｍ−ｔｒａｎｓ＞があれば、ローカル機器において当該連携制御コマンド＜ｃｏｎｊ−ｓｔｒｅａｍ−ｐｌａｙ＞が実行可能となることを意味している。
【００３７】
実行コマンド４１１は、その連携制御コマンドを実行するときに実行されるコマンドを格納する項目である。図示例においては、連携制御コマンド＜ｃｏｎｊ−ｓｔｒｅａｍ−ｐｌａｙ＞の実行コマンド４１１として、ローカル制御手順一覧表３００の操作コマンド＜ｉｎｐｕｔ−ｍｏｄｅ  ｎｅｔｗｏｒｋ＞、＜ｓｔｒｅａｍ−ｒｅｃｖ＞、および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が記述されている。
【００３８】
次に、メニューリスト生成処理を説明する。ＤＴＶ装置１０１＿１およびＤＴＶ装置１０１＿２においては、それぞれの機器が家庭内ネットワーク２０１に接続されたときに、ローカル機器によりユーザが指示可能な制御の制御手順のリストであるメニューリストＭＬが生成される。メニューリストＭＬは、基本的に、ローカル機器の制御手順、リモート機器の制御手順、および連携動作の制御手順を含んでいる。
【００３９】
図６に、ＤＴＶ装置１０１＿１において生成されるメニューリストＭＬの一例を示す。具体的には、メニューリストＭＬは、機器ＩＤ６００、操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、および公開条件６０６の７項目を含む。公開条件６０６は公開先条件６０７およびＵＩ表示条件６０８の各サブ項目を含む。メニューリストＭＬには、ユーザが、ＤＴＶ装置１０１＿１により家庭内ネットワーク２０１を介して利用できる機器および機能の一覧が表示される。本例においては、ユーザは、ＤＴＶ装置１０１＿１により、ローカル機器であるＤＴＶ装置１０１＿１自身の機能と、リモート機器であるＤＴＶ装置１０１＿２の機能と、ＤＴＶ装置１０１＿２にＨＤＭＩ接続されているＤＶＲ２０４の機能と、ＤＴＶ装置１０１＿１と１０１＿２とを連携動作させる連携動作機能とを利用することが可能である。
【００４０】
機器ＩＤ６００は、その操作コマンドがどの機器に対するものであるかを示す文字列を格納する項目である。図示例では、ローカル機器であるＤＴＶ装置１０１＿１に対して「ＤＴＶ１」という文字列が用いられ、リモート機器であるＤＴＶ装置１０１＿２に対して「ＤＴＶ２」という文字列が用いられている。また、ＤＴＶ装置１０１＿２にＨＤＭＩ接続されているＤＶＲ２０４に対して「ＤＶＣ１」という文字列が用いられている（図１６参照）。さらに、ＤＴＶ装置１０１＿１とＤＴＶ装置１０１＿２との連携動作に対して「ＣＯＮＪ」という文字列が用いられている。
【００４１】
図６のメニューリストＭＬにおいて、機器ＩＤ６００が「ＤＴＶ１」である上から７行は、ユーザが利用できるＤＴＶ装置１０１＿１の機能を表す。つまり、上記上から７行の操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、および公開条件６０６（公開先条件６０７、ＵＩ表示条件６０８）には、ＤＴＶ装置１０１＿１のローカル制御手順一覧表３００（図３参照）における上から７行の操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、および公開条件３０６（公開先条件３０７、ＵＩ表示条件３０８）の内容がそれぞれ記述されている。
【００４２】
同様に、図６のメニューリストＭＬにおいて、機器ＩＤ６００が「ＤＴＶ２」である上から８行目からの８行は、ユーザがＤＴＶ装置１０１＿１を介して利用できるＤＴＶ装置１０１＿２の機能を示す。つまり、上から８行目からの８行の操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、および公開条件６０６（公開先条件６０７、ＵＩ表示条件６０８）には、ＤＴＶ装置１０１＿２の図３のローカル制御手順一覧表３００における上から１行目、並びに上から８〜１４行目の制御手順行の操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、および公開条件３０６（公開先条件３０７、ＵＩ表示条件３０８）の内容がそれぞれ記述されている。
【００４３】
また、図１６に示すメニューリストＭＬにおいて、機器ＩＤ６００が「ＤＶＣ１」である上から８行目からの５行は、ユーザがＤＴＶ装置１０１＿１を介して利用できるＤＴＶ装置１０２＿１にＨＤＭＩ接続されているＤＶＲ２０４の機能を示している。
【００４４】
次に図５を参照して、図２に例示した家庭内ネットワーク２０１に接続されたＤＴＶ装置１０１＿１およびＤＴＶ装置１０１＿２において、それぞれのＣＰＵ１０２の制御により実行されるメニューリスト生成処理を説明する。なお、以下の説明では、家庭内ネットワーク２０１にはＤＴＶ装置１０１＿２（ＤＴＶ２）が先に接続され、後からＤＴＶ装置１０１＿１（ＤＴＶ１）が接続されるものとしている。ＤＴＶ装置１０１＿２が家庭内ネットワーク２０１に接続されると、まずＤＴＶ装置１０１＿２をローカル機器としたメニューリスト生成処理が実行される。次に、ＤＴＶ装置１０１＿１が家庭内ネットワーク２０１に接続されると、ＤＴＶ装置１０１＿１をローカル機器とし、ＤＴＶ装置１０１＿２をリモート機器とするメニューリスト生成処理が実行される。
【００４５】
まず、ＤＴＶ装置１０１＿２が家庭内ネットワーク２０１に接続されたときにＤＴＶ装置１０１＿２において、ＣＰＵ１０２の制御により実行されるメニューリスト生成処理を、図５を参照して説明する。
ステップＳ５００においては、今回のメニューリスト生成処理におけるローカル機器であるＤＴＶ装置１０１＿２の記憶部１０３に保持されたローカル制御手順一覧表３００の機器状態条件３０９を参照して、ＣＰＵ１０２の処理によりＤＴＶ装置１０１＿２自身の機器状態がチェックされる。具体的には、「ＤＶＲがＨＤＭＩ接続されていること」との機器状態条件３０９の条件について、ＤＶＲ２０４がＨＤＭＩ接続されているか否かがＤＴＶ制御部１０４に問い合わされる。本例においては、ＤＴＶ装置１０１＿２にはＤＶＲ２０４がＨＤＭＩ接続されているので、ＣＰＵ１０２は、現在ＤＶＲ２０４が接続されていることを検知する。そして、制御はステップＳ５０１に進む。
【００４６】
ステップＳ５０１においては、ローカル制御手順生成部１０８が上記ＣＰＵ１０２の検知結果に従って、記憶部１０３に保持されているＤＴＶ装置１０１＿２のローカル制御手順一覧表３００の中で機器状態条件３０９が満足されている制御手順行の各項目（ローカル制御手順）をメニューリストＭＬに記述する。本例においては、ローカル制御手順一覧表３００の全ての制御手順行の機器状態条件３０９が満足されているので、ローカル制御手順一覧表３００の全ての制御手順行の操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、公開条件３０６、公開先条件３０７、およびＵＩ表示条件３０８の内容が、メニューリストＭＬの操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、公開条件６０６、公開先条件６０７、およびＵＩ条件６０８のそれぞれに記述される。このとき、各制御手順行の機器ＩＤ６０１には「ＤＴＶ２」と記述される。そして、制御はステップＳ５０２に進む。
【００４７】
ステップＳ５０２においては、リモート機器から、後で説明するステップＳ５１０の処理により送信されるリモート制御手順を受信しているか否かが判断される。より具体的には、リモート制御手順受理部１１２に対して、リモート機器から送信されてきたリモート制御手順を受信しているか否かが問い合わされる。リモート制御手順を受信していればステップＳ５０３に進み、受信していなければステップＳ５０４に進む。今回は家庭内ネットワーク２０１にリモート機器は接続されていないので、リモート制御手順受理部１１２はリモート制御手順を受信していない。よって、制御はステップＳ５０４に進む。なお、ステップＳ５０３の処理については後で説明する。
【００４８】
ステップＳ５０４においては、ローカル機器であるＤＴＶ装置１０１＿２において、記憶部１０３に保持された連携制御手順表４００の必要コマンド４１０の条件が満足されているか否かが判断される。必要コマンド４１０の条件が満足されていればステップＳ５０５に進み、満足されていなければステップＳ５０６に進む。上述のように、今回は家庭内ネットワーク２０１に接続されたリモート機器は存在しない。よって、制御はステップＳ５０６に進む。なお、ステップＳ５０５の処理については後で説明する。
【００４９】
ステップＳ５０６においては、ＤＴＶ装置１０１＿２がリモート機器から連携制御手順表４００を受信しているか否かが判断される。連携制御手順表４００を受信していればステップＳ５０７に進み、受信していなければステップＳ５０９に進む。上述のように、今回は家庭内ネットワーク２０１に接続されたリモート機器は存在しない。よって、制御はステップＳ５０９に進む。ここで、ステップＳ５０７の処理、並びにそれに続くステップＳ５０８の処理は、それぞれ、上述したステップＳ５０４およびＳ５０５と同じ内容である。ステップＳ５０７およびＳ５０８の処理がステップＳ５０４およびＳ５０５の処理と異なるのは、連携制御手順表４００が記憶部１０３に保持されたものであるか（ステップＳ５０４およびＳ５０５の場合）、リモート機器から受信したものであるか（ステップＳ５０７およびＳ５０８の場合）という点である。なお、ステップＳ５０７およびＳ５０８の処理は後述の実施の形態２の例において実行される。
【００５０】
ステップＳ５０９においては、他の機器が家庭内ネットワーク２０１に接続されているか否かが判断される。他の機器が家庭内ネットワーク２０１に接続されていればステップＳ５１０に進み、接続されていなければ処理を終了する。今回は家庭内ネットワーク２０１に接続されたリモート機器は存在しない。よって、処理を終了する。
【００５１】
次に、ＤＴＶ装置１０１＿１（ＤＴＶ１）が家庭内ネットワーク２０１に接続されたときに、ＤＴＶ装置１０１＿１においてＣＰＵ１０２の制御により実行されるメニューリスト生成処理を説明する。
【００５２】
ステップＳ５００においては、ローカル機器であるＤＴＶ装置１０１＿１の記憶部１０３に保持されたローカル制御手順一覧表３００の機器状態条件３０９を参照して、ＤＴＶ装置１０１＿１自身の機器状態がチェックされる。具体的には、「ＤＶＲがＨＤＭＩ接続されていること」との機器状態条件３０９の条件について、ＤＴＶ制御部１０４にＤＶＲ２０４がＨＤＭＩ接続されているかが問い合わされる。本例においては、ＤＴＶ装置１０１＿１にはＤＶＲ２０４がＨＤＭＩ接続されていないので、ＣＰＵ１０２は、現在ＤＶＲ２０４が接続されていないことを検知する。そして、制御はステップＳ５０１に進む。
【００５３】
ステップＳ５０１においては、ローカル機器であるＤＴＶ装置１０１＿１のローカル制御手順一覧表３００の中で機器状態条件３０９を満たす制御手順行の各項目の内容がメニューリストＭＬに記述される。具体的には、ローカル制御手順一覧表３００の「ＤＶＲがＨＤＭＩ接続されていること」という機器状態条件３０９を含む行以外の各制御手順行の操作名３０１、表示名３０２、表示形式３０３、値３０４、機器制御関数３０５、公開条件３０６、公開先条件３０７、およびＵＩ表示条件３０８の内容が、メニューリストＭＬの操作名６０１、表示名６０２、表示形式６０３、値６０４、機器制御関数６０５、公開条件６０６、公開先条件６０７、およびＵＩ表示条件６０８のそれぞれに記述される。このとき、各行の機器ＩＤ６０１には「ＤＴＶ１」と記述される。そして、制御はステップＳ５０２に進む。
【００５４】
ステップＳ５０２においては、リモート機器であるＤＴＶ装置１０１＿２からリモート制御手順を受信しているか否かが判断され、その結果、「Ｙｅｓ」と判断されて、制御はステップＳ５０３に進む。なお、ＤＴＶ装置１０１＿２におけるリモート制御手順の送信は、ＤＴＶ装置１０１＿１が家庭内ネットワーク２０１に接続された後にＤＴＶ装置１０１＿２において再度実行される図５の処理のステップＳ５１０において実行される。
【００５５】
ステップＳ５０３においては、受信したリモート制御手順の全ての制御手順行が、機器ＩＤ６０１に当該リモート機器を示す文字列を記述して、メニューリストＭＬに追加される。本例では、リモート機器であるＤＴＶ装置１０１＿２を表す「ＤＴＶ２」という文字列が機器ＩＤ６０１に記述される。そして、制御はステップＳ５０４に進む。
【００５６】
ステップＳ５０４においては、ローカル機器であるＤＴＶ装置１０１＿１において、記憶部１０３に保持された連携制御手順表４００の必要コマンド４１０についての条件が満されているか否かが判断される。本例では、ＤＴＶ装置１０１＿１のローカル制御手順（ステップＳ５１０参照）、並びにＤＴＶ装置１０１＿２から受け取ったリモート制御手順のいずれにおいても、操作コマンド＜ｓｔｒｅａｍ−ｒｅｃｖ＞および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が含まれているので、上記条件は満たされている。よって、制御はステップＳ５０５に進む。
【００５７】
ステップＳ５０５においては、上記ステップＳ５０４の結果を受けて、機器ＩＤ６０１に連携動作を示す「ＣＯＮＪ」という文字列を記述して、図４に示した連携動作の制御手順行の内容がメニューリストＭＬに追記される。そして、制御は次のステップＳ５０６に進む。
【００５８】
今回のステップＳ５０６においても、連携制御手順表４００は記憶部１０３に保持されたものを使用するので、リモート機器から連携制御手順表を受信していない。よって、「Ｎｏ」と判断されて制御はステップＳ５０９に進む。
【００５９】
ステップＳ５０９においては、リモート機器であるＤＴＶ装置１０１＿２が家庭内ネットワーク２０１に接続されている。よって、「Ｙｅｓ」と判断されて制御はステップＳ５１０に進む。
【００６０】
ステップＳ５１０においては、リモート制御手順生成部１０９により、上記ステップＳ５０１〜ステップＳ５０９の処理の結果生成されたメニューリストＭＬのうち、機器ＩＤが自機であり、かつ公開先条件が「Ｒ」である操作コマンドに対応する制御手順行の各項目がリモート制御手順として抽出され、抽出されたリモート制御手順が他の機器に通信部１０６を介して送信される。
【００６１】
ここで、図５のメニューリスト生成処理は、ローカル機器あるいはリモート機器の機器状態に変化があったとき、または他の機器が新たに家庭内ネットワークに接続されたことが検知されたとき、あるいは一定時間（予め設定された時間、またはユーザにより設定される時間）毎に実行される。
【００６２】
次に図７を参照して、メニュースクリプト生成部１１５によりメニュースクリプトを生成するメニュースクリプト生成処理について説明する。
ＤＴＶ制御部１０４によりユーザインタフェース端末部１１７が起動されると、ユーザインタフェース端末部１１７は始めにメニュースクリプト生成部１１５に対してメニュースクリプトを要求する。これにより、メニュースクリプト生成部１１５はメニュースクリプトの生成を開始する。
【００６３】
まず、ステップＳ７００においては、リモート制御手順を受信しているか否かが判断される。リモート制御手順を受信したことが確認されると、制御はステップＳ７０１に進む。
【００６４】
ステップＳ７０１においては、図５のメニューリスト生成処理により生成されたメニューリストＭＬから１つの制御手順行が取得される。そして、制御は次のステップＳ７０２に進む。
【００６５】
ステップＳ７０２においては、上記取得された制御手順行のＵＩ表示条件６０８が「Ｙ」か否かが判断される。ＵＩ条件６０８が「Ｙ」、つまりユーザインタフェースにその制御手順行の操作コマンドに対応するウィジェットを表示するものと設定されている場合には、制御はステップＳ７０３に進む。ＵＩ条件６０８が「Ｎ」、つまりユーザインタフェースにその制御手順行の操作コマンドに対応するウィジェットを表示しないものと設定されている場合には、処理はステップＳ７１０に進む。
【００６６】
ステップＳ７０３においては、メニュースクリプトの要求を行なったユーザインタフェース端末（以下、クライアントという）がリモート機器であるか否かが判断される。クライアントがローカル機器のユーザインタフェース端末であれば、制御はステップＳ７０４に進む。クライアントがリモート機器であれば制御はステップＳ７０５に進む。
【００６７】
ステップＳ７０４においては、ステップＳ７０１で取得された１つの制御手順行の公開条件６０６の公開先条件６０７に「Ｌ」が含まれるか否かが判断される。公開先条件６０７が「Ｌ」を含む場合、つまりローカル機器のユーザインタフェース端末からメニュースクリプトを要求されたことが条件とされている場合には、制御はステップＳ７０９に進む。公開先条件６０７が「Ｌ」を含まない場合、つまりローカル機器のユーザインタフェース端末からメニュースクリプトを要求されたことが条件とされていない場合には制御はステップＳ７１０に進む。
【００６８】
ステップＳ７０５においては、ローカル機器がストリーム通信中か否かが判断される。ストリーム通信中ではない場合には、制御はステップＳ７０６に進む。ストリーム通信中であればステップＳ７０７に進む。
【００６９】
ステップＳ７０６においては、上記取得された１つの制御手順行の公開先条件６０７が「Ｒ」を含むか否かが判断される。「Ｒ」を含む場合、つまりリモート機器のユーザインタフェース端末からメニュースクリプトを要求されたということが条件とされている場合には制御はステップＳ７０８に進む。公開先条件６０７が「Ｒ」を含まない場合、つまりリモート機器のユーザインタフェース端末からメニュースクリプトを要求されたということが条件とされていない場合には制御はステップＳ７１０に進む。
【００７０】
ステップＳ７０７においては、上記取得された１つの制御手順行の公開先条件６０７に「Ｒ＊Ｓ」が含まれるか否かが判断される。公開先条件６０７が「Ｒ＊Ｓ」を含む場合、つまりリモート機器のユーザインタフェース端末からメニュースクリプトを要求され且つＤＴＶ制御部１０４がストリーミング受信中であることが条件とされている場合には制御はステップＳ７０８に進む。公開先条件６０７に「Ｒ＊Ｓ」が含まれない場合、つまりリモート機器のユーザインタフェース端末からメニュースクリプトを要求され且つＤＴＶ制御部１０４がストリーミング受信中であることが条件とされていない場合には制御はステップＳ７１０に進む。
【００７１】
ステップＳ７０８においては、リモート制御変換テーブルが作成される。上述したとおり、本ステップＳ７０８におけるリモート制御変換テーブルの作成は、クライアントがリモート機器であり（Ｓ７０３でＹｅｓ）、ローカル機器がストリーム通信中である場合には（Ｓ７０５でＹｅｓ）、当該制御手順行の公開先条件６０７がリモート機器のユーザインタフェース端末部１１７からメニュースクリプトを要求され且つＤＴＶ制御部１０４がストリーミング受信中であることを条件としている場合（Ｓ７０７でＹｅｓ）に実行される。また、クライアントがリモートであり（Ｓ７０３でＹｅｓ）、ローカル機器がストリーム通信中ではない場合には（Ｓ７０５でＮｏ）、当該制御手順行の公開先条件６０７がリモート機器を公開先に指定している場合（Ｓ７０６でＹｅｓ）に実行される。本ステップＳ７０８における処理が終了すると、制御はステップＳ７０９に進む。
【００７２】
ステップＳ７０９においては、当該制御手順行に対応するメニュースクリプトが生成される。より具体的には、メニューリストＭＬの当該制御手順行の操作名６０１、表示名６０２、表示形式６０３、および値６０４の各項目を含むメニュースクリプトが生成される。このメニュースクリプトは、ＨＴＭＬスクリプトおよびＪａｖａＳｃｒｉｐｔ（Ｊａｖａは登録商標）として生成される。
【００７３】
上述したとおり、本ステップＳ７０９におけるメニュースクリプトの生成は、クライアントがローカルであり（Ｓ７０３でＮｏ）、且つ公開先条件６０７に「Ｌ」が含まれ（Ｓ７０４でＹｅｓ）る場合か、または上述のステップＳ７０８でリモート制御変換テーブルが生成されている場合に実行される。本ステップＳ７０９におけるメニュースクリプトの生成処理が終了すると、制御はステップＳ７１０に進む。
【００７４】
ステップＳ７１０においては、メニューリストＭＬの中で未取得の制御手順行が残っているか否かが判断される。未所得の制御手順行が残っている場合には、制御は上述のステップＳ７０１に戻り、メニューリストＭＬから新たな制御手順行が取得されて、上述のステップＳ７０２〜Ｓ７０９の処理が繰り返される。そして、未所得の制御手順行が残っていない場合、つまりメニューリストＭＬの全ての制御手順行に対して上述のステップＳ７０２〜Ｓ７０９の処理が実行されていれば、制御は次のステップＳ７１１に進む。
【００７５】
ステップＳ７１１においては、ステップＳ７０１〜Ｓ７１０の処理により生成されたメニュースクリプトがメニュースクリプト生成部１１５からクライアントであるユーザインタフェース端末に送信される。そして、制御は上述のステップＳ７００に戻る。クライアントであるユーザインタフェース端末（ＤＴＶ装置１０１＿１および１０１＿２のユーザインタフェース端末部１１７または携帯電話２０５）は、受信したメニュースクリプトに従ってユーザインタフェースを表示する。
【００７６】
図８に、ユーザインタフェース端末部１１７により表示されるユーザインタフェース（メニュー画面）の一例であるＤＴＶ１操作メニュー８０１を示す。ＤＴＶ１操作メニュー８０１は、ユーザがＤＴＶ装置１０１＿１（ＤＶＴ１）およびＤＴＶ装置１０１＿２（ＤＴＶ２）を、ＤＴＶ装置１０１＿１により操作するためのメニュー画面である。
【００７７】
また、図９に、携帯電話２０５により表示されるユーザインタフェース（メニュー画面）の一例であるＤＶＴ１操作メニュー９０１を示す。ＤＶＴ１操作メニュー９０１は、ユーザがＤＴＶ装置１０１＿１（ＤＶＴ１）およびＤＴＶ装置１０１＿２（ＤＴＶ２）を、携帯電話２０５により操作するためのメニュー画面である。
以下に、図７の処理により図８に示すＤＴＶ１操作メニュー８０１を生成する動作、並びに図９に示すＤＶＴ１操作メニュー９０１を生成する動作を具体的に説明する。
【００７８】
図８に示すＤＶＴ１操作メニュー８０１を生成するメニュースクリプト生成動作は、上述のように、ＤＴＶ装置１０１＿１のＤＴＶ制御部１０４により、ユーザインタフェース端末部１１７が起動され、起動されたユーザインタフェース端末部１１７からメニュースクリプト生成部１１５に対してメニュースクリプトが要求された時点に開始される。
【００７９】
まず、ステップＳ７００において、リモート制御手順を受信しているか否かが判断される。本例においては、メニュースクリプト要求を受けているのでＹｅｓと判断されて、制御はステップＳ７０１に進む。
【００８０】
ステップＳ７０１においてメニューリストＭＬから１つの制御手順行が取得される。そして、制御は次のステップＳ７０２に進む。
【００８１】
ステップＳ７０２において、取得された制御手順行のＵＩ表示条件６０８が「Ｙ」であるか否かが判断される。ＵＩ表示条件６０８が「Ｙ」の場合には、制御はステップＳ７０３に進む。一方、ＵＩ表示条件６０８が「Ｎ」の場合には、制御はステップＳ７１０に進む。
【００８２】
ステップＳ７０３においては、メニュースクリプト要求を行ったユーザインタフェース端末（クライアント）が自機（ローカル機器）のものであるか、他機（リモート機器）のものあるいは他機であるかが判断される。本例ではクライアントはローカル機器のものであるので、制御はステップＳ７０４に進む。
【００８３】
ステップＳ７０４においては、ステップＳ７０１で取得された制御手順行の公開先条件６０７に「Ｌ」が含まれるか否かが判断される。公開先条件６０７に「Ｌ」を含む場合には、制御はステップＳ７０９に進んでメニュースクリプトが生成され、そうでない場合にはステップＳ７１０に進む。
【００８４】
ステップＳ７０９においては、当該制御手順行の操作名６０１、表示名６０２、表示形式６０３、および値６０４の内容を含む、ＨＴＭＬスクリプトおよびＪａｖａＳｃｒｉｐｔ（Ｊａｖａは登録商標）からなるメニュースクリプトが生成される。その後に続くステップＳ７１０およびステップＳ７１１における処理は上述したとおりである。
【００８５】
以上の処理を経て、ＤＶＴ１操作メニュー８０１に対応するメニュースクリプトが生成され、ＤＴＶ装置１０１＿１の表示装置上にＤＶＴ１操作メニュー８０１が表示される。
図８に示すように、ＤＴＶ１操作メニュー８０１には、機器連動メニューと、ローカルメニューとリモートメニューとが表示されている。図示例では、機器連動メニューにローカル機器（ＤＴＶ１）とリモート機器（ＤＴＶ２）とを連携して動作させるための「ストリーム再生」ウィジェット（値：「開始」、「停止」）が提示されている。ローカルメニューには、ローカル機器（ＤＴＶ１）自身の機能である「ストリーム受信」ウィジェット（値：「停止中」、「開始」）および「設置設定」ウィジェット（値：「設定」）が提示されている。リモートメニューには、ローカル機器（ＤＴＶ１）からリモート機器（ＤＴＶ２）を操作する「録画予約」ウィジェット（値：設定）および「ストリーム送信」ウィジェット（値：「停止中」、「設定」）が提示されている。
【００８６】
次に、図７の処理により、携帯電話２０５からの指示によりＤＴＶ装置１０１＿１においてメニュースクリプトを生成し、生成されたメニュースクリプトにより図９に示すＤＶＴ１操作メニュー９０１を携帯電話２０５の表示する動作を具体的に説明する。
ＤＴＶ装置１０１＿１の通信部１０６が携帯電話２０５からリモート制御手順要求を受け取ると、通信部１０６はリモート制御手順提示部１１０に対してリモート制御手順提示要求を行う。
【００８７】
リモート制御手順提示部１１０は、リモート制御手順提示要求を受け取ると、メニュースクリプト生成部１１５に対してメニュースクリプトを要求する。メニュースクリプト生成部１１５がメニュースクリプト要求を受け取ると、図７の処理が開始される。このとき、制御は、ステップＳ７００（Ｙｅｓ）、Ｓ７０１、およびＳ７０２（Ｙｅｓ）を経て、ステップＳ７０３に進む。
【００８８】
本例では、クライアントは携帯電話２０５であるので、ステップＳ７０３において「Ｙｅｓ」と判断されて、制御はステップＳ７０５に進む。
【００８９】
本例においては、現在ストリーム通信中ではないので、ステップＳ７０５において「Ｎｏ」と判断されて、制御はステップＳ７０６に進む。
【００９０】
ステップＳ７０６において、上記ステップＳ７０１で取得された１つの制御手順行の公開先条件６０７に「Ｒ」が含まれる場合は、制御はステップＳ７０９に進む。そして、ステップＳ７０９にて当該制御手順行のメニュースクリプトが生成された後に、上述したステップＳ７１０およびＳ７１１の処理に進む。当該制御手順行の公開先条件６０７に「Ｒ」が含まれない場合は、制御はステップＳ７０９をスキップしてステップＳ７１０およびＳ７１１の処理に進む。以上のようにして生成されたメニュースクリプトにより、図９に示すＤＴＶ１操作メニュー９０１が携帯電話２０５の画面上に表示される。
【００９１】
なお、図９に示されるように、携帯電話２０５に表示されるＤＴＶ１操作メニュー９０１は、「ローカルメニュー」に、電源操作ウィジェット９０２、チャンネル操作ウィジェット９０３、音量操作ウィジェット９０４、映像入力ウィジェット９０７が追加され、「リモートメニュー」にＤＴＶ装置１０１＿２の電源を操作する電源操作ウィジェット９０５が追加されている点が、図８に示したＤＴＶ操作メニュー８０１とは異なる。このように、インターフェース端末（情報処理装置）の種別によって適切なメニュー表示を行なうことができる。
【００９２】
次に、図１０および図１１を参照して、携帯電話２０５によりＤＴＶ装置１０１＿１を遠隔制御し、ＤＶＲ２０４にストリーミング配信を行わせてＤＴＶ装置１０１＿１上で視聴する例について説明する。具体的には、携帯電話２０５により表示されているＤＴＶ１操作メニュー９０１のうち、連動メニューの機器連動再生ウィジェット９０６をユーザが選択すると、携帯電話２０５はＤＴＶ装置１０１＿１に対して機器連動再生９０６に対応する連携制御コマンド＜ｃｏｎｊ−Ｓｔｒｅａｍ−ｐｌａｙ＞をＨＴＴＰプロトコルにより送信する。そして、図１０に示す処理が開始される。
【００９３】
図１０は、ＤＴＶ装置１０１＿１のＣＰＵ１０２の制御により実行される、連携制御処理の流れを示すフローチャートである。
まず、ステップＳ１００１においては、携帯電話２０５から操作コマンドが受信されているか否かが判断される。操作コマンドを受信したことが確認されると、制御は次のステップＳ１００２に進む。
【００９４】
ステップＳ１００２においては、受信されたコマンドがメニューリストＭＬに存在するか否かが判断される。存在しない場合は、制御はステップＳ１００１に戻る。受信されたコマンドがメニューリストＭＬに存在する場合は、制御は次のステップＳ１００３に進む。
【００９５】
ステップＳ１００３においては、受信された操作コマンドが連携制御コマンドか否かが判断される。連携制御コマンドではない場合には、制御はステップ＃１００４に進み、連携制御コマンドであればステップＳ１００５に進む。本例においては、受信されたコマンド＜ｃｏｎｊ−Ｓｔｒｅａｍ−ｐｌａｙ＞は連携制御コマンドであるので、制御はステップＳ１００５に進む。なお、ステップ＃１００４の処理については後で説明する。
【００９６】
ステップＳ１００５においては、連携制御手順表４００から、操作名４０１が＜ｃｏｎｊ−Ｓｔｒｅａｍ−ｐｌａｙ＞である制御手順行の実行コマンド４１１に記述されたコマンドの１つが取り出される。本例においては、＜ｉｎｐｕｔ−ｍｏｄｅ  ｎｅｔｗｏｒｋ＞、＜ｓｔｒｅａｍ−ｒｅｃｖ＞、および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞の３つのコマンドの中から、まず＜ｉｎｐｕｔ−ｍｏｄｅ  ｎｅｔｗｏｒｋ＞が取り出される。そして制御は次のステップ＃１１００に進む。
【００９７】
ステップ＃１１００においては、上記取り出されたコマンドを実行するために、コマンド実行関数呼出サブルーチンが実行される。
【００９８】
図１１に、コマンド実行関数呼出サブルーチンの流れを示す。同図に示すように、このコマンド実行関数呼出サブルーチンにおいては、まず、ステップＳ１１０１において、上記取り出されたコマンドがリモート機器へのコマンドの送信を命じるものであるか否かが判断される。リモート機器へのコマンドの送信を命じるものではない場合には、制御はステップＳ１１０２に進む。リモート機器へのコマンドの送信を命じるものであれば、制御はステップＳ１１０４に進む。本例における、コマンド＜ｉｎｐｕｔ−ｍｏｄｅ  ｎｅｔｗｏｒｋ＞は、リモート機器へのコマンドの送信を命じるものでないので、制御はステップＳ１１０２に進む。
【００９９】
ステップＳ１１０２においては、上記取り出されたコマンドに対応する機器制御関数が実行される。本例では、「Ｓｅｔ＿ｉｎｐｕｔ＿ｍｏｄｅ（ｎｅｔｗｏｒｋ）」という機器制御関数（ｎｅｔｗｏｒｋは引数）が呼び出されて実行され、ＤＴＶ制御部１０４において、ＤＴＶ装置１０１＿１の入力モードが「ネットワーク」に設定される。そして、制御はステップＳ１１０３に進む。
【０１００】
ステップＳ１１０３においては、コマンド送信元に対してコマンドが正しく受信されたことを示す応答「ＡＣＫ」（ACKnowledgement：確認応答）を送信する。なお、本例においては、コマンド送信元は自機（ローカル機器）であるので、送信された応答「ＡＣＫ」に対する処理は何も行なわれない。そして、制御はステップＳ１００７に進む。
【０１０１】
ステップＳ１００７においては、当該連携制御コマンドの実行コマンド４１１に未実行のコマンドがあるか否かが判断される。未実行のコマンドがあれば、制御はステップＳ１００５に戻る。本例においては、実行コマンド４１１のコマンド＜ｓｔｒｅａｍ−ｒｅｃｖ＞および＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が未実行であるので、ステップＳ１００５に戻り、次にコマンド＜ｓｔｒｅａｍ−ｒｅｃｖ＞が取り出され、再びステップ＃１１００のコマンド実行関数呼出サブルーチンに進む。
【０１０２】
今回のコマンド実行関数呼出サブルーチンにおいても、コマンド＜ｓｔｒｅａｍ−ｒｅｃｖ＞はリモート機器へのコマンドの送信を命じるコマンドではないので、制御はステップＳ１１０１からステップＳ１１０２に進み、コマンド＜ｓｔｒｅａｍ−ｒｅｃｖ＞に対応する関数「Ｓｅｔ＿Ｓｔｒｅａｍ＿ｒｅｃｖ（）」が呼び出されて実行される。これにより、ＤＴＶ制御部１０４は、通信部１０６を介してストリーミング信号を受信する受信待ち状態となる。
【０１０３】
そして、ステップＳ１００７において実行コマンド４１１にさらに未実行のコマンドがあるものと判断され、ステップＳ１００５で最後にコマンド＜ｓｔｒｅａｍ−ｔｒａｎｓ＞が取り出される。そして、ステップＳ１１０１では、当該コマンド＜ｓｔｒｅａｍ−ｔｒａｎｓ＞はリモート機器へのコマンドの送信を命じるコマンドであるものと判断されて、制御はステップＳ１１０４に進む。
【０１０４】
ステップＳ１１０４においては、コマンド＜Ｓｔｒｅａｍ−ｔｒａｎｓ＞がＤＴＶ装置１０１＿２に送信される。そして、制御は次のステップＳ１１０５に進む。
【０１０５】
ステップＳ１１０５においては、当該コマンドの送信先であるＤＴＶ装置１０１＿２から応答「ＡＣＫ」が返されてくるのを待つ。
【０１０６】
ここで、ＤＴＶ装置１０１＿２が、コマンド＜Ｓｔｒｅａｍ−ｔｒａｎｓ＞を受信すると、ＤＴＶ装置１０１＿２においては図１０のステップＳ１００１からの処理が実行され、ステップＳ１００２、Ｓ１００３、Ｓ１００５およびＳ１１０１の処理を経て、ステップＳ１１０２の処理に進む。ステップＳ１１０２においては、関数「Ｓｅｔ＿Ｓｔｒｅａｍ＿ｔｒａｎｓ（）」が呼び出される。ＤＴＶ制御部１０４は、呼び出された関数「Ｓｅｔ＿Ｓｔｒｅａｍ＿ｔｒａｎｓ（）」により、ＨＤＭＩを経由してＤＶＲ２０４に映像および音声の出力を開始する制御を行なうと共に、ＨＤＭＩを経由して受信した映像信号および音声信号をストリーミング信号に変換して通信部１０６から送信する制御を行なう。
【０１０７】
そして、ステップＳ１１０３においては、コマンド送信元（ＤＴＶ装置１０１＿１）に応答「ＡＣＫ」を送信する。次に、本例では、ステップＳ１００７において未実行のコマンドがないものと判断されて、ＤＴＶ装置１０１＿２における制御はステップＳ１００１に戻る。一方、ＤＴＶ装置１０１＿１においては、ＤＴＶ装置１０１＿２からの応答「ＡＣＫ」が受信され、上記ステップＳ１１０５における応答「ＡＣＫ」の受信待ちの状態が解除されて制御はステップＳ１００７に進む。今回は未実行のコマンドはないので、制御はステップＳ１００１に戻る。
【０１０８】
また、上述のステップＳ１００３において、実行コマンドが連携制御コマンドではないと判断された場合には、制御はステップ＃１００４のコマンド実行呼出サブルーチンを経て、ステップＳ１００１に戻る。ステップ＃１００４のコマンド実行関数呼出サブルーチンは、上述のステップ＃１１００のコマンド実行関数呼出サブルーチンと同じ内容である。
【０１０９】
上述の処理により、携帯電話２０５の端末上からＤＴＶ装置１０１＿１を遠隔制御して、ＤＶＲ２０４にストリーミング配信を行なわせてＤＴＶ装置１０１＿１で視聴することができる。
【０１１０】
以上説明したように、本実施の形態に係る情報処理装置によれば、自機の制御、ネットワークに接続された少なくとも１つの他機の遠隔制御、および自機と他機の連携動作の制御を実行するためのユーザインタフェースが自機あるいはその他の端末（例えば携帯電話）により提示される。したがって、ユーザは、ネットワークに接続された１つの機器により他の全ての機器を制御したり、複数の機器の連携動作を制御したりすることができる。さらに、本実施形態装置によれば、機器の状態や遠隔制御を行なう端末の種別によって、適切なユーザインタフェースを提示し得るようにメニュースクリプトを生成することができる。したがって、複数の情報処理装置の連携動作を容易に行なわせることができるとともに、機器の状態や遠隔制御を行なう端末の種別に応じた適切なユーザインタフェースをユーザに提示することができる。これにより、ネットワークに接続された機器の遠隔制御および連携動作制御を行いやすいユーザインタフェースをユーザに提供することができる。
【０１１１】
（実施の形態２）
以下に、図１２〜図１６を参照して、本発明の実施の形態２に係る情報処理装置およびホームネットワークシステムについて説明する。なお、本実施の形態に係る情報処理装置１０１は上述の実施の形態１におけるのと同様に構成されているので説明を省く。
【０１１２】
図１２に示すように、本実施の形態においては、１台のＤＴＶ装置１０１＿１、１台のＤＶＣ（Digital Video Cassette：デジタル・ビデオ・カセット）装置２０６、およびゲートウェイ２０７が家庭内ネットワーク２０１に接続されている。ゲートウェイ２０７には、インターネット２１０を介してＴＶ電話サーバ２０８が接続されている。ゲートウェイ２０７は家庭内ネットワーク２０１とインターネット２１０との通信を制御する。
【０１１３】
つまり、本実施の形態におけるホームネットワークシステムは、インターネット２１０上の機器（本例では、ＴＶ電話サーバ２０８）との連携したサービスを実現するものである。なお、ＤＶＣ装置２０６は、実施の形態１の情報処理装置（１０１）の構成を有しているデジタルビデオカメラであり、ＴＶ電話サーバ２０８により提供されるテレビ電話サービスのための撮像装置およびマイクロフォンとして利用されるものである。
【０１１４】
図１３に、ＤＶＣ装置２０６のローカル制御手順一覧表３００の一例を示す。ローカル制御手順一覧表３００の構成は、図６を参照して既に説明したとおりである。本例における操作名３０１が＜ｐｏｗｅｒ＞である操作コマンドは電源をＯＮ／ＯＦＦする機能と対応し、操作名３０１が＜ｐｌａｙ＞である操作コマンドは再生を開始／停止する機能と対応している。また、、操作名３０１が＜ｐｌａｙ−ｃｏｎｔｒｏｌ＞である操作コマンドは動画の巻き戻し／早送り機能と対応し、操作名３０１が＜ｓｔｒｅａｍ−ｔｒａｎｓ＞である操作コマンドはストリーミングの送信機能と対応し、操作名３０１が＜ｓｈｏｔ−ｍｏｖｉｅ＞である操作コマンドは動画・音声の取得機能と対応している。
【０１１５】
図１４に、テレビ電話サーバ２０８のローカル制御手順一覧表の一例を示す。操作名３０１が＜ｓｅｒｖｉｃｅ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞であるコマンドはテレビ電話機能と対応している。
【０１１６】
図１５に、テレビ電話サーバ２０８の連携制御手順表４００の一例を示す。本例における連携制御手順表４００は、図４に示した連携制御手順表４００とは、表示形式４０３、値４０４、公開条件４０６（公開先条件４０７およびＵＩ条件４０８）が含まれていない点が異なっている。なお、操作名４０１が＜ｃｏｎｊ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞であるコマンドは連動テレビ電話機能と対応している。また、図示例の必要コマンド４１０における「＜ｓｔｒｅａｍ−ｔｒａｎｓ＞＜ｓｈｏｔ−ｍｏｖｉｅ＞」のように、１行に２つのコマンドが記述されている場合は、同一機器においてコマンド＜ｓｔｒｅａｍ−ｔｒａｎｓ＞および＜ｓｈｏｔ−ｍｏｖｉｅ＞の両方のコマンドが実行できる必要がある。
【０１１７】
ＤＴＶ装置１０１＿１からゲートウェイ２０７を介してＴＶ電話サーバ２０８へメニュースクリプトの要求が行なわれると、ＴＶ電話サーバ２０８はメニュースクリプトを送信するとともに、リモート制御手順および連携制御手順表４００を送信する。ＤＴＶ装置１０１＿１はＤＶＣ装置２０６およびＴＶ電話サーバ２０８から送信されるリモート制御手順および連携制御手順表４００を受信し、図５のメニューリスト生成処理を実行して、メニューリストＭＬを作成する。ここで、ＴＶ電話サーバ２０８から受け取った連携制御手順表４００からのメニューリストの生成は、上述したとおり、ステップＳ５０４およびＳ５０５の処理ではなく、ステップＳ５０７およびＳ５０８の処理により実行される。
【０１１８】
図１６に、本実施の形態において作成されるメニューリストＭＬを例示する。本実施の形態においては、図１５の連動テレビ電話機能のコマンド＜ｃｏｎｊ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞の必要コマンド４１０の条件が満足されているので、当該コマンドは有効となる。したがって、ユーザがＤＴＶ装置１０１＿１のユーザインタフェース端末部１１７により連動テレビ電話コマンド＜ｃｏｎｊ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞の実行を指示すると、実施の形態１におけるのと同様にして、ＴＶ電話サーバ２０８に図１６のコマンド＜ｓｅｒｖｉｃｅ−ｔｖ−ｔｅｌｅｐｈｏｎｅ＞が送信されて、テレビ電話通信が開始される。このとき、ＤＶＣ装置２０６は撮影した動画データおよび付属のマイクロフォンからの音声データをＴＶ電話サーバ２０８に配信する。また、ＤＴＶ装置１０１＿１は、ＴＶ電話サーバ２０８から受信した動画データおよび音声データを付属の表示装置およびスピーカを介して出力する。
【０１１９】
以上のように、本実施の形態では、インターネット上のサービスと連携して、ＴＶ電話機能を容易に実行することができる。なお、ここではインターネット上のサービスと連携する例としてＴＶ電話機能の例を示したが、他のインターネット上のサービスでも本発明を適用できる。
【産業上の利用可能性】
【０１２０】
本発明はホームネットワーク等に有用である。
【図面の簡単な説明】
【０１２１】
【図１】本発明の実施の形態１にかかる情報処理装置の構成を示すブロック図
【図２】図１に示す情報処理装置から構成されるホームネットワークシステムの説明図
【図３】図１に示す情報処理装置のローカル制御手順一覧表の一例を示す説明図
【図４】図１に示す情報処理装置の連携制御手順表の一例を示す説明図
【図５】図１に示す情報処理装置におけるメニューリスト生成動作を表すフローチャート
【図６】図１に示す情報処理装置におけるメニューリストの一例を示す説明図
【図７】図１に示す情報処理装置におけるメニュースクリプト動作を表すフローチャート
【図８】図１に示す情報処理装置において生成されるメニュースクリプトに基づいて、情報処理装置に提示される操作メニューの一例を示す説明図
【図９】図１に示す情報処理装置において生成されるメニュースクリプトに基づいて、携帯電話に提示される操作メニューの一例を示す説明図
【図１０】図９に示す操作メニューに基づくメニュースクリプト生成動作を表すフローチャート
【図１１】図１０に示す操作メニューに基づくメニュースクリプト生成動作を表すフローチャート
【図１２】本発明の実施の形態２にかかるホームネットワークシステムの説明図
【図１３】図１２に示すＤＶＣ装置のローカル制御手順一覧表の一例を示す説明図
【図１４】図１２に示すテレビ電話サーバのローカル制御手順一覧表の一例を示す説明図
【図１５】図１２に示すテレビ電話サーバの連携制御手順表の一例を示す説明図
【図１６】図１２に示す情報処理装置におけるメニューリストの一例を示す説明図
【符号の説明】
【０１２２】
ＭＬ    メニューリスト
１０１＿１，１０１＿２    情報処理装置（ＤＴＶ）
１０２    ＣＰＵ
１０３    記憶部
１０４    ＤＴＶ制御部
１０５，１０６    通信部
１０７    コマンド提示部
１０８    ローカル制御手順生成部
１０９    リモート制御手順生成部
１１０    リモート制御手順提示部
１１１    連携制御手順表提示部
１１２    リモート制御手順受理部
１１３    連携制御手順表受理部
１１４    連携制御手順生成部
１１５    メニュースクリプト生成部
１１６    コマンド受理部
１１７    ユーザインタフェース端末部
２０１    家庭内ネットワーク
２０４    ＤＶＲ
２０５    携帯電話
２０６    ＤＶＣ装置
２０７    ゲートウェイ
２０８    ＴＶ電話サーバ
２１０    インターネット
３００    ローカル制御手順一覧表
４００    連携制御手順表
８０１，９０１    ＤＴＶ１操作メニュー
９０２    電源操作ウィジェット
９０３    チャンネル操作ウィジェット
９０４    音量操作ウィジェット
９０５    ＤＶＴ２の電源操作ウィジェット
９０６    ＤＶＴ２の機器連動再生操作ウィジェット
９０７    映像入力ウィジェット
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009146146.tif 000019
【図２】
2009146146.tif 000020
【図３】
2009146146.tif 000021
【図４】
2009146146.tif 000022
【図５】
2009146146.tif 000023
【図６】
2009146146.tif 000024
【図７】
2009146146.tif 000025
【図８】
2009146146.tif 000026
【図９】
2009146146.tif 000027
【図１０】
2009146146.tif 000028
【図１１】
2009146146.tif 000029
【図１２】
2009146146.tif 000030
【図１３】
2009146146.tif 000031
【図１４】
2009146146.tif 000032
【図１５】
2009146146.tif 000033
【図１６】
2009146146.tif 000034