(57)【特許請求の範囲】
【請求項１】
被制御装置と、
前記被制御装置を遠隔操作するのに必要な操作ボタンを含む操作パネルを前記被制御装置から受信する第１の受信手段と、リモートコントロールユニットから送信された制御信号を受信する第２の受信手段と、前記操作パネルを表示手段に表示するように制御し、前記リモートコントロールユニットから送信された制御信号に基づいて前記操作パネルを制御する制御手段とを有する制御装置と
を有し、
前記制御手段は、
前記リモートコントロールユニットに含まれる複数の操作キーの中に、前記操作ボタンによって遠隔操作される機能に対応する操作キーが存在するか否かを判定し、
前記操作ボタンによって遠隔操作される機能に対応する操作キーが存在すると判定した場合は、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとを対応付け、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとが対応付けられていることを示す情報を前記操作パネル内に表示するように制御し、
前記操作ボタンによって遠隔操作される機能に対応する操作キーが操作されたと判定した場合は、前記操作ボタンが操作されたことを前記被制御装置に通知するように制御する
ことを特徴とする制御システム。
【請求項２】
前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとが対応付けられていることを示す情報を前記操作パネル内に表示する場合、前記制御手段は、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとが対応付けられていることを示す情報を、前記操作ボタンの近傍又は前記操作ボタンと重なる位置に表示するように制御することを特徴とする請求項１に記載の制御システム。
【請求項３】
前記操作ボタンによって遠隔操作される機能に対応する操作キーが操作されたと判定した場合、前記制御手段は、前記操作ボタンの表示を変更するように制御することを特徴とする請求項１または２に記載の制御システム。
【請求項４】
前記被制御装置は、ビデオレコーダであることを特徴とする請求項１から３のいずれか１項に記載の制御システム。
【請求項５】
被制御装置を遠隔操作するのに必要な操作ボタンを含む操作パネルを前記被制御装置から受信する第１の受信手段と、
リモートコントロールユニットから送信された制御信号を受信する第２の受信手段と、
前記操作パネルを表示手段に表示するように制御し、前記リモートコントロールユニットから送信された制御信号に基づいて前記操作パネルを制御する制御手段と
を有し、
前記制御手段は、
前記リモートコントロールユニットに含まれる複数の操作キーの中に、前記操作ボタンによって遠隔操作される機能に対応する操作キーが存在するか否かを判定し、
前記操作ボタンによって遠隔操作される機能に対応する操作キーが存在すると判定した場合は、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとを対応付け、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとが対応付けられていることを示す情報を前記操作パネル内に表示するように制御し、
前記操作ボタンによって遠隔操作される機能に対応する操作キーが操作されたと判定した場合は、前記操作ボタンが操作されたことを前記被制御装置に通知するように制御する
ことを特徴とする制御装置。
【請求項６】
前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとが対応付けられていることを示す情報を前記操作パネル内に表示する場合、前記制御手段は、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとが対応付けられていることを示す情報を、前記操作ボタンの近傍又は前記操作ボタンと重なる位置に表示するように制御することを特徴とする請求項５に記載の制御装置。
【請求項７】
前記操作ボタンによって遠隔操作される機能に対応する操作キーが操作されたと判定した場合、前記制御手段は、前記操作ボタンの表示を変更するように制御することを特徴とする請求項５または６に記載の制御装置。
【請求項８】
前記被制御装置は、ビデオレコーダであることを特徴とする請求項５から７のいずれか１項に記載の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、被制御機器を遠隔操作するのに適した制御システム及び制御装置に関する。
【０００２】
【従来の技術】
近年、音声情報や画像情報を扱う所謂オーディオ・ビジュアル機器（以下、ＡＶ機器）を、パーソナルコンピュータ若しくはその周辺機器と接続し、家庭内に一つのネットワーク環境を提供しようとする要求が高まっている。
【０００３】
一方、デジタル通信技術の発達に伴い、動画像情報、音声情報等のリアルタイム性を要求されるデータを、静止画情報、制御情報といった信頼性の要求されるデータと混在させた状態で転送することのできる高速で高機能な通信ネットワーク技術も開発されている。
【０００４】
【発明が解決しようとする課題】
家庭内にもネットワーク環境が普及した場合、ＡＶ機器の一つであるテレビ受像機は、ネットワークの中心として各種のユーザインタフェースを提供する機器となると考えられる。
【０００５】
この場合、テレビ受像機は、家庭内のネットワークに接続された電子機器を遠隔操作する制御装置として動作し、その表示画面上には所望の電子機器（被制御装置）を遠隔操作するための操作画面が表示される。ユーザは、その操作画面を、テレビ受像機に付属したリモートコントロールユニット（以下、リモコン）等で操作することによって、所望の電子機器を遠隔操作することになる。
【０００６】
しかしながら、操作画面を表示するためのプログラムやユーザの操作に従って遠隔操作を実行するための制御プログラムは被制御機器毎に異なる。従って、このような方法では、被制御機器毎に異なるプログラムをテレビ受像機に予め用意する必要がある。
【０００７】
又、ネットワークに接続される機器は複数種類あり、同じ種類であっても時間の経過と共に新しい機能を有する機器も出現する。そのため、上述の方法では、新しい機器をネットワークに接続する毎に、ユーザはその機器に対するプログラムをテレビ受像機側に用意する必要があり、操作手順の煩雑さと複雑さを解消することができない。又、接続される可能性のある機器に対するプログラムをテレビ受像機側に予め用意する方法も考えられるが、今までにない新しい機能をもった機器に対しては対応することはできない。
【０００８】
一方、表示画面上の操作画面をリモコンで操作する方法としては、例えば、表示画面上に表示されたカーソルを、リモコン上に配置された任意の操作キーを用いて上下方向、左右方向に移動させ、所望の機能を選択する方法が考えられる。しかしながら、このような方法では、所望の機能を選択するまでの間、所定の操作キーを複数回押さなければならず、所望の機能を実行するまでに時間がかかってしまうという問題があった。
【０００９】
そこで、本発明は、被制御装置を、視覚的に理解しやすく、簡単な操作手順で遠隔操作することのできる操作環境を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明に係る制御システムは、例えば、被制御装置と、前記被制御装置を遠隔操作するのに必要な操作ボタンを含む操作パネルを前記被制御装置から受信する第１の受信手段と、リモートコントロールユニットから送信された制御信号を受信する第２の受信手段と、前記操作パネルを表示手段に表示するように制御し、前記リモートコントロールユニットから送信された制御信号に基づいて前記操作パネルを制御する制御手段とを有する制御装置とを有し、前記制御手段は、前記リモートコントロールユニットに含まれる複数の操作キーの中に、前記操作ボタンによって遠隔操作される機能に対応する操作キーが存在するか否かを判定し、前記操作ボタンによって遠隔操作される機能に対応する操作キーが存在すると判定した場合は、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとを対応付け、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとが対応付けられていることを示す情報を前記操作パネル内に表示するように制御し、前記操作ボタンによって遠隔操作される機能に対応する操作キーが操作されたと判定した場合は、前記操作ボタンが操作されたことを前記被制御装置に通知するように制御することを特徴とする。
【００１１】
本発明に係る制御装置は、例えば、被制御装置を遠隔操作するのに必要な操作ボタンを含む操作パネルを前記被制御装置から受信する第１の受信手段と、リモートコントロールユニットから送信された制御信号を受信する第２の受信手段と、前記操作パネルを表示手段に表示するように制御し、前記リモートコントロールユニットから送信された制御信号に基づいて前記操作パネルを制御する制御手段とを有し、前記制御手段は、前記リモートコントロールユニットに含まれる複数の操作キーの中に、前記操作ボタンによって遠隔操作される機能に対応する操作キーが存在するか否かを判定し、前記操作ボタンによって遠隔操作される機能に対応する操作キーが存在すると判定した場合は、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとを対応付け、前記操作ボタンによって遠隔操作される機能に対応する操作キーと前記操作ボタンとが対応付けられていることを示す情報を前記操作パネル内に表示するように制御し、前記操作ボタンによって遠隔操作される機能に対応する操作キーが操作されたと判定した場合は、前記操作ボタンが操作されたことを前記被制御装置に通知するように制御することを特徴とする。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
図１は、本実施の形態の情報処理システムの構成を示すブロック図である。
図１において、１０１はディジタルテレビ受像機等の表示装置である。１０２は表示装置を遠隔操作するためのリモートコントロールユニット（以下、リモコン）であり、ユーザーの操作入力を表示装置１０１に対して無線送信する。
【００１８】
１０３はディスクメディア、ISDN通信網、デジタル衛星通信網、地上波ディジタル放送網、ケーブルTV網等から様々な種類のコンテンツを受信するチューナである。１０４はMPEG2,SD-DVCR,HD-DVCR,SDL-DVCR方式等を用いて高能率符号化された画像情報や音声情報を記録／再生するデジタルビデオレコーダ（以下、ＤＶＣＲ）である。
【００１９】
本システムでは、各機器を高速デジタルインタフェースを介して接続し、１つのネットワークを構築している。各機器は、この高速デジタルインタフェースを介し、ファイルデータやコマンドだけなく、あるメディアからのストリームデータ（画像情報や音声情報からなる１つ以上のコンテンツを含む）をリアルタイム性を損うことなく他の機器に転送する。本実施の形態では、IEEE1394-1995規格に準拠したIEEE1394高速シリアルバス１００に接続可能な高速デジタルインタフェース（以下、１３９４インタフェース）を用いた例について説明する。
【００２０】
次に、表示装置１０１の構成を図２を用いて詳細に説明する。本実施の形態の表示装置１０１は、チューナ１０３、ＤＶＣＲ１０４等の被制御装置を遠隔操作する制御装置として動作する。
２０１は上記IEEE1394高速シリアルバス１００に接続する１３９４インタフェース部である。１３９４インタフェース部２０１は、AV/C Isochronous Connectionプロトコルを用いて、チューナ１０３或いはＤＶＣＲ１０４からのストリームデータを受信する。又、１３９４インタフェース部２０１は、AV/C Asynchronous Connectionプロトコルを用いて、チューナ１０３或いはＤＶＣＲ１０４からの操作パネルを受信する。
【００２１】
２０２はIsochronous データバッファ部であり、１３９４インタフェース部２０１の受信したIsochronousパケットを順次格納する。
２０３はAsynchronousデータバッファ部であり、１３９４インタフェース部２０１の受信したAsynchronousパケットを順次格納する。
【００２２】
２０４は表示データ管理部であり、メモリを用いて、各被制御装置（チューナ１０３、ＤＶＣＲ１０４）の操作パネルとその付加情報とを記憶し、管理する。２０５はキーコード・ボタンＩＤテーブルであり、操作パネル毎に、リモコン１０２の各操作キーに対応するキーコード、操作パネルの各要素に対応する機能コード、操作パネルの要素ＩＤ等を関連付けて管理する。なお、キーコード・ボタンＩＤテーブル２０５の管理方法については後述する。
【００２３】
２０６はデコーダ部であり、１３９４インタフェース部２０１の受信したストリームデータを画像データ、音声データ等に分解し、各種のデータに対応するデコード方式でデコードする。
２０７は描画制御部であり、表示データ管理部２０４から所望の操作パネルを読み出し、該操作パネルに対する描画処理を制御する。具体的に描画制御部２０７は、各操作パネルの描画位置、描画範囲、描画期間、描画開始時間等の制御や、他の操作パネルとの重なりが可能か否かの制御を行なう。
【００２４】
２０８は表示合成部であり、デコーダ部２０６の出力する画像データと描画制御部２０７の出力する操作パネルとを、表示部２０９の表示可能範囲内で合成し、表示部２０９に供給する。２０９はＣＲＴ、液晶パネル、プラズマディスプレイ等からなる表示部であり、表示合成部２０８からの画像信号を表示する。
【００２５】
２１０は音声制御部であり、内部バス２１３を介して供給された音声データを処理する。２１１は音声合成部であり、デコーダ部２０６の出力する音声データと音声制御部２１０の出力する音声データとを合成し、Ｄ／Ａ変換する。２１２は音声出力部であり、音声合成部２１１の出力する音声信号を増幅し、スピーカを介して出力する。
【００２６】
２１３はリモコン制御部であり、赤外線通信等の無線通信方式を用いて、リモコン１０２と通信を行なう。リモコン制御部２１３は、受信信号をキーコードにデコードし、そのキーコードを制御部２１４に供給する。
２１４はマイクロコンピュータと記憶媒体とを有する制御部であり、表示装置１０１を構成する処理部を制御する。特に制御部２１４は、チューナ１０３或いはＤＶＣＲ１０４の操作パネルを受信する処理、各操作パネルを表示する処理、リモコン１０２による操作パネルの遠隔操作に関する処理、操作パネルに入力された操作を該操作パネルに対応する被制御機器に送信する処理等を統合的に制御する。
【００２７】
次に、リモコン１０２の内部構成を図３を用いて詳細に説明する。
本実施の形態のリモコン１０２は学習機能をもった多機能リモコンであり、表示装置１０１を遠隔操作するだけでなく、リモコン信号の届く範囲内において、表示装置１０１以外の機器を直接遠隔操作することもできる。更に、制御したい機器が別の部屋、或いはリモコン信号の届かない範囲にある場合は、その機器の操作パネルを操作することによって該機器を遠隔操作することができる。
【００２８】
３０１はキーボタン部であり、複数種類の操作キーを有する。ユーザは、所望の動作に対応する操作キーを押下することによって、表示装置１０１に対して所望の動作を指示することができる。キーボタン部３０１には、数字を入力するための数字キー、表示装置１０１の出力音量を調整するための音量調節キー、表示パネル上のカーソルを上下、左右方向に移動させるためのカーソルキー等がある。
【００２９】
３０２はデータ送受信部であって、各操作キーに対応するキーコードをエンコードし、表示装置１０１に送信する。データ送受信部３０２は、この送信データに対応するResponseデータ等の受信も行う。ここで、リモコン１０２と表示装置１０１とは、赤外線通信等の無線通信方式を用いて通信を行なう。
【００３０】
３０３は表示部であって、リモコン１０２による遠隔操作を補助するための補助情報、リモコン１０２を操作することにより得られた情報等を表示する。
【００３１】
３０４は制御部であって、キーボタン部３０１の走査を行い、押下された操作キーの検出する。検出された操作キーに対応するキーコードは、データ送受信部３０２によってエンコードされ、表示装置１０１への送信される。この送信データに対応するResponseデータは、データ送受信部３０２を介して制御部３０４に供給される。制御部３０４は、このResponseデータを、必要に応じて表示部３０３に表示させる。
【００３２】
ここで、図６を用いてリモコン１０２の具体的な構成について説明する。図６は、キーボタン部３０１と表示部３０３のある面を正面から見た図である。
図６において、６０１は電源キーであり、電源のＯＮ／ＯＦＦを操作する。６０２はＴＶキーである。ユーザはこのキー６０２を有効にした後、表示装置１０１を直接遠隔操作することができる。６０３はＢＳキーである。このキー６０３を有効にした場合、ユーザはチューナ１０３を直接遠隔操作することができる。６０４はＶＴＲキー６０４である。このキー６０３を有効にした場合、ユーザはＤＶＣＲ１０４を直接遠隔操作することができる。
【００３３】
６０５はメニューキーであり、所望の被制御装置の操作パネルを選択する。６０６，６０７は音量調節キーであり、出力音量を調整する。６０８〜６１１は表示画面上のカーソルの移動を操作するカーソルキーであり、上下方向は上キー６０８と下キー６０９、左右方向は左キー６１０と右キー６１１により操作できる。又、６１２は実行キーであり、カーソルにより選択された処理を実行するように指示する。
【００３４】
６１３〜６１８はＤＶＣＲ１０４等の記録再生装置の機能を操作する各種の機能キーであり、キー６１３は停止機能、キー６１４は再生機能、キー６１５は巻戻し機能、キー６１６は早送り機能、キー６１７は一時停止機能、キー６１８は記録機能を操作する。６１９は数字キーであり、「１」から「１２」の数字を入力できる１２個の数字キーである。ユーザは、表示装置１０１或いはチューナ１０３の受信するチャンネル番号を、このキーを用いて選択することができる。
【００３５】
次に、チューナ１０３の構成を図４を用いて詳細に説明する。本実施の形態のチューナ１０３は被制御装置であり、ユーザはチューナ１０３自体が供給する操作パネルをリモコン１０２で操作することにより、この機器をリモート制御することができる。この操作パネルは、後述の手順に従って表示装置１０１の表示画面上に表示される。
【００３６】
４０１はアンテナ部であり、デジタル衛星通信網、地上波ディジタル放送網等からの電波を受信する。４０２はISDN通信網、ケーブルTV網等のディジタル通信ネットワークである。
【００３７】
４０３はチューナ部であり、ISDN通信網、デジタル衛星通信網、地上波ディジタル放送網、ケーブルTV網等から様々な種類のコンテンツを選択的に受信する。ここで、各コンテンツは、所定の高能率符号化方式（例えば、MPEG2,SD-DVCR,HD-DVCR,SDL-DVCR方式等）により符号化された画像情報、音声情報等からなる。４０４はDemux部であり、チューナー部４０３の受信したコンテンツから、所望のコンテンツを選択して出力する。
【００３８】
４０５は表示データ生成部であり、チューナ１０３自体をリモート制御するための操作パネルを生成し、格納する。ここで、操作パネルとは、画像、音声、文字等からなるグラフィカルユーザインタフェース（ＧＵＩ）データであり、リモート制御可能な機能を表わす複数の要素（エレメントとも言う）から構成される。各要素は、それに対応する機能を表わす文字、記号、画像等により構成される。
【００３９】
４０６はIsochronous データバッファ部であり、１３９４インタフェース部４０８を介して１つ以上のコンテンツを含むストリームデータを格納する。
４０７はAsynchronousデータバッファ部であり、チューナ１０３の操作パネルを格納する。
【００４０】
４０８は上記IEEE1394高速シリアルバス１００に接続する１３９４インタフェース部である。１３９４インタフェース部４０８は、Isochronous データバッファ部４０６から供給されたストリームデータを、AV/C Isochronous Connectionプロトコルを用いてリアルタイムに転送する。又、１３９４インタフェース部４０８は、Asynchronousデータバッファ部４０７から供給された操作パネルを、AV/C Asynchronous Connectionプロトコルを用いて表示装置１０１に転送する。
【００４１】
４０９はマイクロコンピュータを有する制御部であり、チューナ部４０３、Demux部４０４、表示データ生成部４０５、１３９４インタフェース部４０８等の動作を制御すると共に、受信コンテンツの選択、所望のプログラムの選択、操作パネルの送信等の動作を制御する。
【００４２】
次に、ＤＶＣＲ１０４の構成を図５を用いて詳細に説明する。本実施の形態のＤＶＣＲ１０４は被制御装置であり、ユーザはＤＶＣＲ１０４自体が供給する操作パネルをリモコン１０２で操作することにより、この機器をリモート制御することができる。この操作パネルは、後述の手順に従って表示装置１０１の表示画面上に表示される。
【００４３】
５０１はＶＴＲ部であり、磁気テープ、磁気ディスク、光磁気ディスク等の記録媒体を駆動させる駆動機構部、記録信号への変調、再生信号の復調を行なう変復調部等からなる。ＶＴＲ部５０１は、各コンテンツに含まれる所望のプログラムを記録／再生する。
５０２は表示データ生成部であり、チューナ１０３と同様に、ＤＶＣＲ１０４自体をリモート制御するための操作パネルを生成し、格納する。
【００４４】
５０３はIsochronous データバッファ部であり、ＶＴＲ部５０１から再生されたストリームデータ（１つ以上のコンテンツを含む）を格納する。又、Isochronous データバッファ部５０３は、１３９４インタフェース部５０５の受信したIsochronousパケットを順次格納し、各Isochronousパケットに含まれるデータを順次ＶＴＲ部５０１に供給する。
５０４はAsynchronousデータバッファ部であり、ＤＶＣＲ１０４の操作パネルを格納する。
【００４５】
５０５は上記IEEE1394高速シリアルバス１００に接続する１３９４インタフェース部である。１３９４インタフェース部５０５は、Isochronous データバッファ部５０３から供給されたストリームデータをAV/C Isochronous Connectionプロトコルを用いてリアルタイムに転送する。又、１３９４インタフェース部５０５は、Asynchronousデータバッファ部５０４から供給された操作パネルを、AV/C Asynchronous Connectionプロトコルを用いて表示装置１０１に転送する。
【００４６】
５０６はマイクロコンピュータを有する制御部であり、ＶＴＲ部５０１、表示データ生成部５０２、１３９４インタフェース部５０５等の動作を制御すると共に、記録或いは再生するプログラムの選択、操作パネルの送信等の動作を制御する。
【００４７】
次に、図２０を用いて、本実施の形態の情報処理システムにおける通信手順について説明する。図２０は、被制御装置の一つであるＤＶＣＲ１０４を、本実施の形態の操作パネルを用いて遠隔操作する例について説明する。
表示装置１０１は、操作パネルによって操作可能な被制御装置を表示画面上に表示する。ユーザは、メニューキー６０５等を用いてＤＶＣＲ１０４を選択したことを通知する（図２０の２００１）。
【００４８】
表示装置１０１は、リモコン１０４からの選択信号を受信し、後述する被制御機器選択用モジュールを起動する（図２０の２００２）。
次に、表示装置１０１の１３９４インタフェース部２０１は、AV/C Isochronous Connectionプロトコルに基づき、ＤＶＣＲ１０４との間にIsochronous connectionを設定する（図２０の２００３）。
【００４９】
ここで、表示装置１０１は、Isochronous 転送期間内に、必要な通信帯域とIsochronous channelとを確保した後、ＤＶＣＲ１０４の１３９４インタフェース部５０５のもつoutput plugと表示装置１０１の１３９４インタフェース部２０１のもつinput plugとの間に、point-to-point connection（１対１の論理的な接続関係）を設定する。ＤＶＣＲ１０４は、このIsochronous connectionを介し、表示装置１０１の要求するコンテンツをストリーム出力することができる。
【００５０】
Isochronous connectionの設定後、表示装置１０１の１３９４インタフェース部２０１は、AV/C Asynchronous Connectionプロトコルに基づき、ＤＶＣＲ１０４との間にAsynchronous connectionを設定する（図２０の２００４）。
【００５１】
Asynchronous Connectionの設定後、表示装置１０１の１３９４インタフェース部２０１は、ＤＶＣＲ１０４に対してGUI_UPDATE(start)コマンドを発行する（図２０の２００５）。ここで、GUI_UPDATE(start)コマンドは、操作パネルの通信を制御するためのコマンド（図２１参照）の一つであり、後述するFunction Control Protocolを用いて被制御装置に転送される。このコマンドは、操作パネルがユーザの操作等に応じて変化した場合に、その変化に対応した新しい表示データを制御装置側に送信することを指示するコマンドである。これにより表示装置１０１は、操作パネルに生じた変化を視覚的に反映させることができる。又、ユーザは自己の操作に対する結果を常に視覚的に認識することができる。このコマンドの効果は、ＤＶＣＲ１０４がGUI_UPDATE(stop)コマンドを受け取るまで継続される。
【００５２】
次に、表示装置１０１の１３９４インタフェース部２０１は、ＤＶＣＲ１０４に対してPUSH_GUI_DATAコマンドを発行する（図２０の２００６）。このコマンドは、被制御装置に対して操作パネルを要求するコマンドであり、Function Control Protocolを用いて転送される。
【００５３】
このPUSH_GUI_DATAコマンド（図２１参照）を受信した後、ＤＶＣＲ１０４の表示データ生成部５０２は、自己の操作パネルを１３９４インタフェース部５０５に供給する。１３９４インタフェース部５０５は、AV/C Asynchronous Connectionプロトコルに基づき、この操作パネルを表示装置１０１へ順次Asynchronous転送する（図２０の２００７）。
【００５４】
ＤＶＣＲ１０４の操作パネルを受信した後、表示装置１０１は、該表示パネルのもつ要素の機能と、リモコン１０４のもつ操作キーの機能とを調べ、同じ機能をもつものがあるか否かを検出する。操作キーと同じ機能をもつ要素があった場合、その要素の要素ＩＤを操作キーのキーコードと対応付けてテーブル２０５に登録する（図２０の２００８）。以下、本実施の形態では、表示パネルのもつ要素と同じ機能をもつ操作キーを「ダイレクト操作キー」と呼ぶ。
【００５５】
次に表示装置１０１は、後述する操作パネル表示用モジュールを起動し、ＤＶＣＲ１０４の表示パネルを表示する（図２０の２００９）。このモジュールの処理により、ダイレクト操作キーによる操作の可能な要素には、所定のマークが合成表示される。
【００５６】
以上の手順により、ユーザは、所望の被制御装置の操作パネルを表示装置１０１に表示することができる。又、本実施の形態のダイレクト操作キーを所定のマークを用いて分かり易く表示することもできる。
【００５７】
続いて、リモコン１０４を用いて被制御装置を操作する手順について説明する。
ユーザがリモコン１０４を用いてダイレクト操作キーの一つを操作した場合、このキーに対応するキーコードが表示装置１０１に無線伝送される（図２０の２０１０）。ここでは、例えば、操作キー６１４（再生機能）をダイレクト操作キーとして説明する。
【００５８】
表示装置１０１は、リモコン１０４からのキーコードから操作された要素を特定し、その要素の表示を変更する（図２０の２０１１）。
次に表示装置１０１は、その要素が操作されたことを示すUSER_ACTIONコマンド（図２１参照）を、ＤＶＣＲ１０４に送信する（図２０の２０１２）。このコマンドには、操作された要素の要素ＩＤとその要素に対する操作（ユーザーアクション）を示すアクションコード（図２２参照）とがセットされる。例えば、操作キー６１４を押下した場合、このキーに対応する要素の要素ＩＤと「押下」を示すアクションコード「０１ｈ」又は「開放」を示すアクションコード「０２ｈ」とがUSER_ACTIONコマンドにセットされる。このコマンドは、他のコマンドと同様にFunction Control Protocolを用いて転送される。
【００５９】
ＤＶＣＲ１０４の制御部５０６は、要素ＩＤの示す機能に対し、ユーザーアクションに対応する動作制御を行なう（図２０の２０１３）。
表示データ生成部５０２は、ＤＶＣＲ１０４の動作状態の変化に反映して、表示パネルに変化がある場合には、その変化に対応する表示パネル情報を表示装置１０１を転送し（図２０の２０１４）、表示装置１０１は操作パネルを更新する（図２０の２０１５）。なお、表示装置１０１は、ユーザーアクションが無い場合でも、表示パネルの表示を変化させたい場合には、表示パネル情報を転送する。
【００６０】
ここで、ユーザがダイレクト操作キーの一つである操作キー６１４を押下した場合、ＤＶＣＲ１０４の制御部５０６は、ストリームデータの再生を開始し、このストリームデータをIsochronous Connectionを介して表示装置１０１に転送する（図２０の２０１６）。
【００６１】
以上の手順を繰り返し行なうことにより、ユーザーは、表示パネルをリモコン１０４を用いて操作し、被制御装置であるＤＶＣＲ１０４に所望の動作を指示することができる。
【００６２】
その後、表示パネルによるＤＶＣＲ１０４の操作を終了する場合、表示装置１０１はGUI_UPDATE(stop)コマンドを発行する（図２０の２０１７）。
次に、表示装置１０１の１３９４インタフェース部２０１は、ＤＶＣＲ１０４との間に設定したAsynchronous connectionを開放する（図２０の２０１８）。
更に、表示装置１０１の１３９４インタフェース部２０１は、ＤＶＣＲ１０４との間に設定したIsochronous connectionを開放する（図２０の２０１９）。
【００６３】
次に、本実施の形態の操作パネルの構成要素及び各構成要素のデータ構造について説明する。
被制御装置（チューナ１０３、ＤＶＣＲ１０４）から制御装置（表示装置１０１）へ送信される操作パネルは、視覚的て分かり易いグラフィカルな操作環境を提供するために、いくつかの要素（エレメント）の集合により構成されている。操作パネルを構成する要素には、パネル要素、ボタン要素、テキスト要素、アイコン要素、レンジ要素等があり、各要素はパネル要素をルートとした木構造として表すことができる。すべての要素には、固有のＩＤコード（以下、要素ＩＤと称する）が設定されている。
【００６４】
図７に、各種の要素のデータ構造を示す。図７は、要素の種類と各要素のデータ構造との関係を示す表であり、表中のマークは、各要素を構成するデータを示す。
まず、パネル要素について説明する。パネル要素は、操作パネル自体の構成について指定する要素である。この要素には、「選択」のユーザアクションを、リモコン１０４を用いて指示することができる。パネル要素のデータ構造には、要素ＩＤ、この要素のタイトル（又は、機能的な説明）を表わすテキストデータへのリンク（以下、ラベル）、この要素を表示する表示画面上の位置（以下、位置）、この要素を表示する大きさ（以下、サイズ）、操作パネル上に表示する各要素とリンクするための要素ＩＤ（以下、要素ＩＤ列）を必須データとして階層的に記述する。又、このデータ構造に、この要素の背景色の指定（以下、背景色）、この要素の背景に表示するビットマップデータへのリンク（以下、背景ビットマップリンク）、この要素に表示する文字列のフォントの指定（以下、フォント）、この要素内に表示するストリームデータを指定するIsochronousチャネル（以下、ＡＶチャネル）をオプションとして階層的に記述する。
【００６５】
次に、ボタン要素について説明する。ボタン要素は、操作パネル上に表示する操作ボタンについて指定する要素である。この要素には、「押下」、「開放」のユーザアクションを、リモコン１０４を用いて指示することができる。ボタン要素のデータ構造には、要素ＩＤ、ラベル、位置、サイズ、機能コードを必須データとして階層的に記述し、フォント、「押下」時に表示するビットマップデータへのリンク、「開放」時に表示するビットマップデータへのリンクフォント等をオプションとして階層的に記述する。
【００６６】
次に、テキスト要素について説明する。テキスト要素は、操作パネル上に表示するタイトル、説明文等の文字情報について指定する要素である。テキスト要素のデータ構造には、要素ＩＤ、ラベル、位置、サイズ、テキストデータへのリンクを必須データとして、背景色とフォントをオプションとして階層的に記述する。
【００６７】
次に、アイコン要素について説明する。アイコン要素は、操作パネル上に表示するアイコンについて指定する要素である。この要素には、「選択」のユーザアクションを、リモコン１０４を用いて指示することができる。アイコン要素のデータ構造には、要素ＩＤ、ラベル、位置、サイズ、ビットマップデータへのリンクを必須データとして、フォントをオプションとして階層的に記述する。
【００６８】
次に、レンジ要素について説明する。レンジ要素は、最大表示範囲と最小表示範囲とを有し、その表示範囲内の所定の表示位置を指定する要素である。レンジ要素のデータ構造には、要素ＩＤ、ラベル、位置、サイズ、最大表示範囲を指定する最大値、最小表示範囲を指定する最小値、表示範囲内の所定の位置を指定する指示値を必須データとして、背景色、フォントをオプションとして階層的に記述する。
【００６９】
次に、図８を用いて操作パネルの一例を説明する。図８は、ＤＶＣＲ１０４が表示装置１０１に供給する操作パネルの一例を示す図である。
本操作パネルは、１個のパネル要素、１１個のボタン要素、２個のレンジ要素、１個のアイコン要素で構成されている。各要素を特定する要素ＩＤは、パネル要素のデータ構造内に記述されている。
【００７０】
８０１は操作パネルの基本となるパネル要素である。８０２〜８１２は１１個のボタン要素であり、それぞれＤＶＣＲ１０４の有する固有の機能に対応している。各ボタン要素は、図８に示すように、対応する機能を視覚的に理解できるような画像情報と共に構成されている。
【００７１】
具体的に、８０２は磁気テープ、磁気ディスク、光磁気ディスク等の記録媒体を取り出す機能を操作するボタン要素、８０３は記録機能を操作するボタン要素、８０４は１つ以上前のインデックス、チャプタ、プログラム、コンテンツ等の再生を操作するボタン要素、８０５は逆方向への変速再生機能を操作するボタン要素、８０６は停止機能を操作するボタン要素、８０７は再生機能を操作するボタン要素、８０８は順方向への変速再生機能を操作するボタン要素、８０９は１つ以上先のインデックス、チャプタ、プログラム、コンテンツ等の再生を操作するボタン要素、８１０は一時停止機能を操作するボタン要素、８１１，８１２はその他の機能を操作するためのボタン要素である。８１３，８１４は２個のレンジ要素であり、記録音声、再生音声のレベルを示すレベルメータである。８１５はアイコン要素であり、再生時間、記録時間、残り再生時間、残り記録時間を表示するカウンタである。この要素の表示内容は、「選択」のユーザアクションを実行することにより切り替わる。
【００７２】
図８に示す各ボタン要素は、データ構造内に要素ＩＤ（ボタンＩＤとも言う）と機能コードとを記述している。ボタンＩＤと機能コードとの対応関係の一例を図９に示す。図９に示す機能コードは、図１０の示す機能コード表に対応している。例えば図９において、ボタン要素８０２の場合、ボタンＩＤは「Ｂ０１」であり、機能コードは「５Ｂ」である。
【００７３】
次に、図１１を用いて、制御装置である表示装置１０１が、ネットワークに接続された被制御装置を自動的に認識するまでの処理手順について説明する。
表示装置１０１の１３９４インタフェース部２０１は、バスリセットの発生を随時監視し、バスリセットが発生した場合には、バスリセットに伴い所定の処理を実行する（ステップＳ１１０１）。ここで、バスリセットは、接続機器の電源のＯＮ／ＯＦＦ、接続機器の切り離し、新しい機器の接続等によって起動する。
【００７４】
バスリセットの発生を検出した場合、まず表示装置１０１は、表示データ管理部２０４に登録している被制御機器がネットワーク上に接続されているか否かを検出すると共に、バスリセットよって再設定された新しいノードＩＤを検出する（ステップＳ１１０２）。
【００７５】
次に、表示装置１０１は、本実施の形態の被制御装置であるか否かの調査を行っていない機器が接続されているか否かを検出する（ステップＳ１１０３）。未調査機器がある場合には、ステップＳ１１０４の処理を実行し、未調査機器がない場合には、ステップＳ１１０１の処理を実行する。
【００７６】
ステップＳ１１０４では、表示装置１０１が、各未調査機器に対し、本実施の形態で使用する２つの通信プロトコル（即ち、AV/C Isochronous ConnectionプロトコルとAV/C Asynchronous Connectionプロトコル）に対応しているか否かを問合わせる。対応している場合には、ステップＳ１１０５の処理を実行し、対応していない場合には、ステップＳ１１０７の処理を実行する。
【００７７】
ステップＳ１１０５では、表示装置１０１は、各機器に対し、本実施の形態の操作パネルによって遠隔操作できる機器か否かを問合わせる。この機能を有する機器は、本実施の形態の被制御装置となる。問い合せを行なった機器が、被制御装置であれば、表示装置１０１は、その機器のノードＩＤ及びユニークＩＤを表示データ管理部２０４に登録する（ステップＳ１１０６）。
【００７８】
ここで、ノードＩＤとはバスリセット毎に自動的に設定されるＩＤであり、各機器間のAsynchronous転送は、このノードＩＤを指定することにより実行される。ユニークＩＤとは、各機器固有のＩＤであり、バスリセットの起動に関係なく常に一定である。従って、表示装置１０１は、バスリセットの前後で、各被制御機器のノードＩＤが変化したとしても、ユニークＩＤによって新しい設定されたノードＩＤを認識することができる。
【００７９】
次に表示装置１０１は、全ての未調査機器に対する調査が終了したか否かを判別し、未調査機器があれば再びステップＳ１１０４の処理を実行し、未調査機器がなければ、ステップＳ１１０１の処理を実行する（ステップＳ１１０７）。
【００８０】
次に、図１２を用いて、制御装置である表示装置１０１の処理動作について説明する。
表示装置１０１のリモコン制御部２１３は、リモコン１０２からの送信信号をデコードし、リモコン１０２のいずれの操作キーに変化があったどうかを常に監視する（ステップＳ１２０１）。
【００８１】
操作キーの変化を検出した場合、リモコン制御部２１３は、それがユニット選択キー６０３，６０４であるか否かを判別する（ステップＳ１２０２）。
【００８２】
ユニット選択キー６０３，６０４であった場合、表示装置１０１は、被制御装置選択用モジュールを起動し（ステップＳ１２０３）、ステップＳ１２０１の処理に戻る。この被制御装置選択用モジュールは、ユニット選択キー６０３，６０４の指定する被制御機器を本実施の形態の制御対象として設定し、その機器の操作パネルを表示画面上に表示する処理であり、その詳細な処理手順については後述する。
【００８３】
ユニット選択キー６０３，６０４でなかった場合、表示装置１０１は、現在の動作モードが、操作パネルモードであるか否かを判別する（ステップＳ１２０４）。ここで、操作パネルモードとは、複数の被制御機器の一つを、その機器に対応する操作パネルを用いて遠隔制御するモードである。
【００８４】
操作パネルモードである場合、表示装置１０１は更に、操作キーが、現在表示されている操作パネルに対応する操作キーか否かを判別する（ステップＳ１２０５）。
【００８５】
ここで、操作パネルに対応する操作キーには、カーソルキー６０８〜６１１、実行キー６１２、本実施の形態のダイレクト操作キーがある。カーソルキー６０８〜６１１、実行キー６１２は各操作パネルにおいて共通に使用できるが、ダイレクト操作キーはリモコン１０４のもつ操作キーの種類と操作パネルのもつ要素の種類とに応じて決定されるため、各操作パネルにおいて異なる。
【００８６】
操作パネルに対応する操作キーであった場合、表示装置１０１は、操作パネル制御用モジュールを起動し、ステップＳ１２０１の処理に戻る（ステップＳ１２０６）。なお、この操作パネル制御用モジュールの動作については後述する(図１８参照)。
【００８７】
操作パネル制御モードでなかった場合（ステップＳ１２０４）、あるいは操作パネルに対応する操作キーでなかった場合（ステップＳ１２０５）、表示装置１０１は、ユーザによって操作された操作キーに対応する処理を行い、ステップＳ１２０１の処理に戻る（ステップＳ１２０７）。
【００８８】
以上の手順により、ユーザはリモコン１０４を操作して、所望の被制御装置の操作パネルを制御装置に表示することができる。また、リモコン１０４のカーソルキー、実行キー、ダイレクト操作キー等を用いてその操作パネルを操作し、所望の被制御装置の動作を制御することができる。
【００８９】
次に、図１３を用いて、上述の被制御装置選択用モジュールの処理動作について説明する。本実施の形態では、ユニット選択キー６０３，６０４の一つであるＶＴＲキー６０４が選択された場合について説明する。なお、本実施の形態において、このＶＴＲキー６０４に対応する被制御装置はＤＶＣＲ１０４である。
【００９０】
表示装置１０１の制御部２１４は、現在表示画面上に表示されている操作パネルを調べ、その中にＤＶＣＲ１０４の操作パネルがあるか否かを判別する（ステップＳ１３０１）。この処理は、操作キーの２度押しに対する対策である。操作パネルが表示されているか否かは、表示データ管理部２０４の管理するパネル表示フラグがセットされているか否かによって判別する。これがセットされていれば、操作パネルは既に表示されているものとし、『操作パネルは既に表示されています！』等の警告を視覚的に表示或いは聴覚的に出力し（ステップＳ１３１０）、本モジュールを終了する。
【００９１】
操作パネルがまだ表示されていなかった場合、表示装置１０１の１３９４インタフェース部２０１は、ＤＶＣＲ１０４との間にAsynchronous Connectionを設定する（ステップＳ１３０２）。
【００９２】
Asynchronous Connectionの設定後、表示装置１０１の１３９４インタフェース部２０１は、図２１に示すGUI_UPDATEコマンド、PUSH_GUI_DATAコマンドを順次発行し、ＤＶＣＲ１０４に操作パネルを要求してこれを受信する（ステップＳ１３０３）。
【００９３】
表示装置１０１は、Asynchronousデータバッファ部２０３に順次格納される操作パネル情報を、表示データ管理部２０４に格納する（ステップＳ１３０４）。ここで、ＤＶＣＲ１０４の操作パネルは、図８に示す構成であり、各要素のデータ構成は、図７に示す構成となっている。
【００９４】
次に表示装置１０１は、表示データ管理部２０４に格納された操作パネル情報の中から、ボタン要素のデータ構造内に記述されたボタンＩＤと機能コードとを読み出すと共に、キーコード・ボタンＩＤテーブル２０５内の機能コードを検索する（ステップＳ１３０５）。
キーコード・ボタンＩＤテーブル２０５の一例を図１４に示す。テーブル２０５は、リモコン１０２の各操作キー６０１〜６１９に対応するキーコードと、各キーコードに対応する機能コードと、その機能コードに対応するボタンＩＤとを、対応付けて管理する。表示装置１０１は、操作パネル毎に図１４に示す管理テーブルを用意し、リモコンの操作キーと各操作パネルのボタン要素との関係を管理する。
【００９５】
テーブル２０５を検索した結果、表示装置１０１は、同じ機能コードに対応する（即ち、同じ機能を示す）操作キーとボタン要素とがあるか否かを判別する（ステップＳ１３０６）。
【００９６】
リモコン１０２の操作キーと同じ機能コードを有するボタン要素があった場合、そのボタン要素のボタンＩＤをキーコード・ボタンＩＤテーブル２０５に登録し、その操作キーとそのボタン要素とを対応付ける（ステップＳ１３０７）。例えば、図６に示すキー６１３は停止機能に対応し、その機能コードは「４０」である。一方、図８に示すボタン要素８０６も停止機能に対応し、その機能コードは「４０」である。従って、ボタン要素８０６のボタンＩＤ「Ｂ０５」は、図１４に示すように、キー６１３のキーコード「２０」に対応するボタンＩＤとして登録される。
【００９７】
全てのボタン要素に対する処理が終了した後、制御部２１４は、パネル操作モードをセットする（ステップＳ１３０８）と共に、表示用モジュールを起動する（ステップＳ１３０９）。ここで、操作パネル表示用モジュールは、操作パネルを表示するための処理であり、その詳細な処理手順については後述する。
【００９８】
以上の処理手順により、表示装置１０１は、リモコン１０４からの指示に従って、被制御機器であるＤＶＣＲ１０３との通信を実行し、ＤＶＣＲ１０３の操作パネルを受信することができる。又、表示装置１０１は、受信した操作パネルの各ボタン要素とリモコン１０４の各操作キーとを関連付けることもできる。
【００９９】
次に、図１５を用いて、上述の操作パネル表示用モジュールの処理動作について説明する。本実施の形態では、ＤＶＣＲ１０４の操作パネルを表示する場合について説明する。
まず、表示装置１０１の描画制御部２０７は、表示データ管理部２０４からＤＶＣＲ１０４の操作パネル情報を読み出し、ＤＶＣＲ１０４の操作パネル（図８参照）を、各要素のデータ構造内に記述されたデータに基づいて描画する（ステップＳ１５０１）。
【０１００】
ここで、描画制御部２０７は、キーコード・ボタンＩＤテーブル２０５を検索し、操作パネルの各ボタン要素に対応する操作キーがあるか否かを判別する（ステップＳ１５０２）。
ボタン要素に対応する操作キー（以下、ダイレクト操作キーを呼ぶ）が存在する場合、描画制御部２０７は、図１６に示すマークを表示データ管理部２０４から読み出し、そのボタン要素の近傍或いはそれと重なる位置に合成する（ステップＳ１５０３）。マーク１６００を合成表示した操作パネル８０１の一例を図１７に示す。図１７において、マーク１６００は、ボタン要素８０２、８０５〜８０８、８１０に付加されている。
【０１０１】
ここで、図１６に示すマークは、リモコン１０４の操作キーと表示パネルの要素ボタンとが、一対一に対応付けられていることを視覚的に示す画像情報である。このマークと共に表示されているボタン要素については、カーソルキーによる煩わしい操作をすることなく、リモコン１０４自身のもつ操作キーを押下するだけで所望の機能を直接操作できる。マークを合成する操作パネル上の位置については、パネル要素、ボタン要素のデータ構造内に記述された位置情報に基づいて決定される。
【０１０２】
以上の処理手順により、表示装置１０１は、被制御機器の一つであるＤＶＣＲ１０３の操作パネル８０１を、表示部２０９の表示画面上に、デコーダ部２０６からの画像データと共に表示することができる。又、この操作パネル８０１のボタン要素の機能がリモコン１０４の操作キーの機能と一致している場合には、その操作キーでそのボタン要素を直接制御できることを視覚的に分かり易く示すことができる。これにより、被制御装置を遠隔操作するための操作パネルを制御装置のリモコンで操作するシステムにおいて、簡単で分かり易く、操作し易い操作環境をユーザに提供することができる。
【０１０３】
次に、図１８を用いて、上述の操作パネル制御用モジュールの処理動作について説明する。本実施の形態では、操作パネル８０１を用いてＤＶＣＲ１０４を遠隔制御する場合について説明する。
表示装置１０１の制御部２１４は、リモコン１０４からのキーコードが、カーソルキー６０８〜６１１の何れかを示すか否かを判別する（ステップＳ１８０１）。
【０１０４】
カーソルキー６０８〜６１１を示す場合、制御部２１４は、表示画面上のカーソルをリモコン１０４の指示する方向に移動させるように、描画制御部２０７に対して指示を出す（ステップＳ１８０２）。
【０１０５】
操作パネル８０１上でのカーソル移動の処理について図８を用いて説明する。カーソル８００がボタン要素８０９を選択している場合に、リモコン１０４の右キー６１１が押下されると、描画制御部２０７はカーソル８００をボタン要素８０９からボタン要素８１０に移動する。又、カーソル８００がボタン要素８０９を選択している場合に、リモコン１０４の下キー６０９が押下されると、描画制御部２０７はカーソル８００をボタン要素８０９からボタン要素８１１に移動する。上述の例のように、カーソル８００が操作パネル８０１上の端にある場合は、他の端の要素にラウンド移動することができる。
【０１０６】
次に制御部２１４は、リモコン１０４からの送信信号が、実行キー６１２を示すを示すものであるか否かを判別する（ステップＳ１８０３）。
リモコン１０４からのキーコードが、実行キー６１２を示す場合、制御部２１４は、カーソル８００が現在選択している要素の要素ＩＤとその要素に対するアクションコードとを検出し、その要素の表示を変更する（ステップＳ１８０５）。
【０１０７】
アクションコードの一例を図２２に示す。アクションコードは各ユーザアクションに対応している。ユーザアクションには、図２２に示すように、「選択」、「押下」、「開放」がある。「選択」は、パネル要素、アイコン要素に対するユーザアクションであり、実行キー６１２の操作により入力できる。また、「押下」、「開放」は、ボタン要素に対するユーザアクションであり、実行キー６１２あるいはダイレクト操作キーにより入力できる。「押下」状態にある要素を操作した場合は、「開放」状態となり、「開放」状態にある要素を操作した場合は、「押下」状態となる。
【０１０８】
例えば、カーソル８００が現在選択しているボタン要素が「開放」状態（または「押下」状態）である場合、描画制御部２０７は、該ボタン要素の開放用ビットマップデータ（または押下用ビットマップデータ）を表示データ管理部２０４から読み出し、該要素の書き換えを行う。
【０１０９】
また、リモコン１０４からのキーコードが、カーソルキー６０８〜６１１でも実行キー６１２でもなかった場合、制御部２１４は、その送信信号をダイレクト操作キーを示すものであると判断し、キーコード・ボタンＩＤテーブル２０５を検索する（ステップＳ１８０４）。テーブル検索の結果、制御部２１４は、送信信号のキーコードに対応するボタンＩＤ（要素ＩＤ）とアクションコードとを検出し、ステップｓ１８０５の処理を実行する。
【０１１０】
要素ＩＤの検出後、制御部２１４は、この要素ＩＤとアクションコードとを含むUSER_ACTIONコマンド（図２１参照）を生成し、該コマンドをＤＶＣＲ１０４に送信する（ステップＳ１８０６）。ＤＶＣＲ１０４は、このコマンドに含まれる要素ＩＤにより、いずれの機能が操作対象なのかを認識し、同コマンドに含まれるアクションコードにより、該機能がどのように操作されたのかを認識することができる。例えば、アクションコードが「押下」を示す場合、その機能の動作を開始する。アクションコードが「開放」を示す場合、その機能の動作を終了する。
【０１１１】
以上の処理手順により、表示装置１０１は、被制御機器の一つであるＤＶＣＲ１０３を、リモコン１０４と操作パネル８０１とを用いて視覚的に分かり易く簡単に遠隔操作することができる。
【０１１２】
次に、図１９を用いて、被制御装置の一つであるＤＶＣＲ１０４の処理動作について説明する。なお、以下の処理手順は、ＤＶＣＲ１０４に限らず、他の被制御装置に対しても適用することができる。
【０１１３】
バスリセット後、ＤＶＣＲ１０４は、表示装置１０１からの問い合わせ（図１１のステップＳ１１０２、ステップＳ１１０４、ステップＳ１１０５）に応答すると共に、AV/C Asynchronous Connectionの要求があるい否かを検出する（ステップＳ１９０１）。
ここで、要求があった場合、ＤＶＣＲ１０４は、表示装置１０１との間にAsynchronous Connectionを確立する（ステップＳ１９０２）。
【０１１４】
Asynchronous Connectionの確立後、表示装置１０１からのGUI_UPDATE(start)コマンドとPUSH_GUI_DATAコマンドとを受信するまで操作パネル情報の転送を待機する（ステップＳ１９０３）。
各コマンドの受信後、ＤＶＣＲ１０４は、表示データ部５０２から操作パネル情報を読み出し、該操作パネル情報をAsynchronousバッファ部５０４、１３９４インタフェース部５０５を介して表示装置１０１に順次Asynchronous転送する（ステップＳ１９０４）。
【０１１５】
操作パネル情報の送信後、ＤＶＣＲ１０４は、USER_ACTIONコマンドを受信したか否かを検出する（ステップＳ１９０５）。該コマンドを受信した場合、ＤＶＣＲ１０４は、このコマンドに含まれる要素ＩＤにより、いずれの機能が操作対象なのかを認識すると共に、同コマンドに含まれるアクションコードに応じた処理をその機能に対して行う（ステップＳ１９０６）。
【０１１６】
このとき、ＤＶＣＲ１０４の動作状態の変化に伴って、操作パネルの表示形態を変更する必要が生じた場合（ステップＳ１９０７）、ＤＶＣＲ１０４はその変化に対応する表示パネル情報を表示装置１０１に転送する(ステップＳ１９０８)。
ＤＶＣＲ１０４は、GUI_UPDATE(stop)コマンドを受信するまでステップＳ１９０５〜ステップＳ１９０８の処理を実行する（ステップＳ１９０９）。該コマンドを受信した場合、ＤＶＣＲ１０４は表示装置１０１との間のAsynchronous Connectionを切断し、再びステップＳ１９０１の処理を実行する（ステップＳ１９１０）。
【０１１７】
以下では、本実施の形態のシステムにおけるIEEE1394高速シリアルバス１００の構成及び機能について説明する。
IEEE1394高速シリアルバス１００は、次にような特徴的な機能を備えている。
▲１▼自由度の高い接続が可能である。IEEE1394高速シリアルバス１００では、デイジーチェーン接続やノード分岐接続を組み合わせることができるため、接続構成の自由度の高いネットワークを実現できる。
【０１１８】
▲２▼異なるデータ転送速度に対応可能である。IEEE1394高速シリアルバス１００は、100Mbps，200Mbps，400Mbpsのデータ転送速度をサポートし、DS-Link符  号化されたデータをシリアル転送する。上位の転送速度を有する機器は、下位  の転送速度をサポートするため、ネットワーク上では異なる転送速度に対応し  た機器を混在することもできる。
【０１１９】
▲３▼Asynchronous転送、Isochronous 転送と呼ばれる２つの異なる転送モードを備えている。Asynchronous転送は、必要に応じて非同期に転送することが要求されるデータ（コマンドなどの制御信号やファイルデータ等）を転送する際に有効である。又、Isochronous転送は、時間的な連続性が要求されるデータ（ビデオデータやオーディオデータ等のストリームデータ）を転送する際に有効である。Asynchronous転送とIsochronous転送とは、各通信サイクル（通常１サイクルは、１２５μＳ）内において、混在させることが可能である。各転送モードは、サイクルの開始を示すサイクル・スタート・パケット（以下、ＣＳＰ）の転送後に実行される。Isochronous転送は、各通信サイクル期間において、Asynchronous転送よりも優先順位が高く設定されている。又、Isochronous転送の転送帯域は、各通信サイクル内で保証されている。
【０１２０】
次に、本実施の形態のIEEE1394高速シリアルバス１００に接続された１３９４インタフェース部２０１、４０８、５０５の構成について図２４を用いて説明する。
図２４において、物理層２１０１は、ケーブル、コネクタの機械的、電気的仕様、入出力信号の符号／復号化、バスリセットに伴う初期化処理、バスの使用権の調停（アビトレーション）等を行なう。
【０１２１】
リンク層２１０２は、物理層２１０１とトランザクション層２１０３との間で、パケットデータの送受信を実現するためのサービスを提供する。
【０１２２】
トランザクション層２１０３は、リンク層２１０２と上位層との間で、Read、write、lockの３種類のAsynchronous transactionを提供する。
【０１２３】
バス管理層２１０４は、ノード制御、Isochronous resource管理、bus管理の３つの機能を提供する。ここで、ノード制御は、IEEE1394高速シリアルバス１００に接続された全ての機器（ノードともいう）が行なう。この機能は、各ノードの実装するIEEE1212規格のcontrol status register（以下、CSR)を用いて、ノード間のAsynchronous転送を管理する。Isochronous resource管理は、Isochronous resource manager（IRM）となったノードによって提供される。この機能は、Isochronous通信に必要なIsochronous resource、つまり、channel number（チャネル番号）とbandwidth（帯域）とを管理する。Bus 管理は、bus managerとなったノードによって提供される。この機能は、接続情報の管理（トポロジーマップの作成）、速度情報の管理（スピードマップの作成）、電源管理などを行う。
【０１２４】
各上位層２１０６〜２１１０は、IEEE1394-1995規格では規定されていない上位の通信プロトコルを規定する。
【０１２５】
次に、Function Control Protocol（FCP）について図２５を用いて説明する。FCPとは、IEEE1394シリアルバス１００に接続された機器（ノードとも言う）をコントロールするために設計されたプロトコルである。このプロトコルは、トランザクション層２１０８の上位層（図２４の２１０７）で管理される。
【０１２６】
FCPでは、あるノードの動作を制御するノードを「コントローラ」と呼び、コントローラによって制御されるノードを「ターゲット」と呼ぶ。図２５では、Node Aがコントローラであり、Node Bがターゲットである。
【０１２７】
又、コントローラからターゲットにAsynchronous転送されるFCP frameを「command frame（コマンドフレーム）」と呼び、ターゲットからコントローラにAsynchronous転送されるFCP frameを「response frame（レスポンスフレーム）」と呼ぶ。図２５において、command frameは、コントローラであるNode AからターゲットであるNode Bのcommand registerに対して、Asynchronous write transactionされる。一方、response frameは、Node BからNode Aのresponse registerに対して、Asynchronous write transactionされる。
【０１２８】
又、command frameを書き込むレジスタを「command register（コマンドレジスタ）」と呼び、response frameを書き込むレジスタを「response register（レスポンスレジスタ）」と呼ぶ。各レジスタは、各ノードのもつCSRの所定のアドレス空間上に存在する。図２５に示すように、command registerは、各ノードのもつCSRの「ＦＦＦＦＦ００００Ｂ００ｈ」〜「ＦＦＦＦＦ００００ＣＦＦｈ」までの５１２バイトの空間に存在し、response frameは「ＦＦＦＦＦ００００Ｄ００ｈ」〜「ＦＦＦＦＦ００００ＥＦＦｈ」までの５１２バイトの空間に存在する。
【０１２９】
次に、FCPにおいて使用するAsynchronousパケットのパケットフォーマットについて図２６を用いて説明する。
図２６（ａ）は、quadlet_write transaction用のAsynchronousパケットである。このパケットは、上述のFCP frameが1Quadlet(32bits)である場合に使用する。又、図２６（ｂ）は、block_write transaction用のAsynchronousパケットである。このパケットは、上述のFCP frameが1Quadlet(32bits)以上である場合に使用する。
【０１３０】
command frameを送信する場合、Destination_IDにはターゲットのノードＩＤ、Source_IDにはコントローラのノードＩＤ、Destination_offsetには、command registerを指定するアドレスがセットされる。一方、response frameを送信する場合、Destination_IDにはコントローラのノードＩＤ、Source_IDにはターゲットのノードＩＤ、Destination_offsetには、response registerを指定するアドレスがセットされる。
【０１３１】
次に、AV/C Command setについて説明する。
AV/C Command setとは、テレビジョン、モニタ、ビデオレコーダー等の所謂ＡＶ機器の動作を制御するコマンド（AV/C Command）とそれに対応するレスポンス（AV/C Response）とを規定しており、それらは上述のFCPを用いて送信される。又、AV/C Command setでは、AV/C Isochronous ConnectionプロトコルやAV/C Asynchronous Connectionプロトコルの動作を制御するコマンド及びレスポンスを規定している。AV/C Command setは、FCPの上位層（図２４の２１０８）で管理される。
【０１３２】
次に、図２７、２８を用いてAV/C用のCommand frameとResponse frameのデータフォーマットについて用いて説明する。ctsは、AV/C Command setであることを示す「００００2」がセットされる。ctypeは、コマンドの種類を示す。ctypeには、CONTROL（動作を指示する）、STATUS（状態を取得する）、NOTIFY（状態の変化を知らせる）等がある。subunit_typeとsubunit_IDとは、制御対象とするサブユニットを指定する。responseは、レスポンスの種類を示す。opcodeは、制御の内容を指定する。opcodeの一例を図２９に示す。operand[0]〜[n]は、ctypeとopcodeの内容によって定義される。
【０１３３】
次に、AV/C Isochronous Connectionプロトコルについて説明する。AV/C Isochronous Connectionプロトコルとは、ビデオデータや音声データ等のストリームデータを、１つ以上のIsochronousパケットを用いてリアルタイムに転送するための通信プロトコルの一つである。
【０１３４】
AV/C Isochronous Connectionプロトコルは、リンク層２１０２の上位層（図２４の２１０９）で管理される。このプロトコルでは、プラグ（plug）と称する概念を用いて、ノード間の論理的な接続関係（以下、connectionと称する）と転送するストリームデータ（以下、Isochronousデータと称する）の流れとを管理する。
【０１３５】
上記plugを管理するためのplug control registerの構成について図３０を用いて説明する。plug control registerは、CSR内の所定のアドレス空間上に存在し、各Registerには、Asynchronous転送を用いてアクセスできる。plug control registerは、１つ以上の出力プラグを管理するレジスタと１つ以上の入力プラグを管理するレジスタとからなる。出力プラグは、「ＦＦＦＦＦ００００９００ｈ」〜「ＦＦＦＦＦ００００９７Ｃｈ」までのアドレス空間を使用し、「ＦＦＦＦＦ００００９８０ｈ」〜「ＦＦＦＦＦ００００９ＦＣｈ」までのアドレス空間を使用する。
【０１３６】
図３０に示すoMPR（output master plug register）の構成について図３１を用いて説明する。oMPRは、出力プラグ（output plug）全体の管理を行うレジスタであり、「ＦＦＦＦＦ００００９００ｈ」のアドレス空間を使用する。Data rate capabilityは、このoutput plugが出力するIsochronousデータの最大転送速度（100Mbps,200Mbps,400Mbps）を示す。Broadcast channel baseは、Broadcast-out connectionが確立された場合に使用され、Isochronous channel numberのベースを示す。Number of output plugは、ノードが実装するoutput plugの数を示す。
【０１３７】
図３０に示すoPCR（output plug control register）[1]〜[30]の構成について図３２を用いて説明する。oPCR[1]〜[30]は、個々のoutput plugに関する管理を行うレジスタであり、「ＦＦＦＦＦ００００９０４ｈ」〜「ＦＦＦＦＦ００００９７Ｃｈ」までのアドレス空間を使用する。on-lineは、on-lineかoff-lineかを示す。Broadcast connection counterは、Broadcast-out connectionが存在する場合に「１」となり、存在しない場合に「０」となる。point-to-point connection counterは、point-to-point connectionの数（即ち、このoutput plugと１対１に接続されたノードの数）を示す。channel numberは、このoutput plugが使用するchannel number（チャネル番号）を示す。Data Rateは、このoutput plugが出力するIsochronousデータの送信スピード（100Mbps,200Mbps,400Mbps）を示す。Overhead IDは、このoutput plugが出力するIsochronousデータのbandwidth（帯域）を示す。Payloadは、このoutput plugが出力するIsochronousパケットのデータブロック（ヘッダ、データＣＲＣを除いた部分)のquadlet数の最大値を示す。
【０１３８】
図３０に示すiMPR（input master plug register）の構成について図３３を用いて説明する。iMPRは、入力プラグ（input plug）全体の管理を行うレジスタであり、「ＦＦＦＦＦ００００９８０ｈ」のアドレス空間を使用する。Data rate capabilityは、このinput plugが入力するIsochronousデータの最大転送速度（100Mbps,200Mbps,400Mbps）を示す。Number of input plugは、ノードが実装するinput plugの数を示す。
【０１３９】
図３０に示すiPCR（input plug control register）[1]〜[30]の構成について図３４を用いて説明する。iPCR[1]〜[30]は、個々のinput plugに関する管理を行うレジスタであり、「ＦＦＦＦＦ００００９８４ｈ」〜「ＦＦＦＦＦ００００９ＦＣｈ」までのアドレス空間を使用する。on-lineは、on-lineかoff-lineかを示す。Broadcast connection counterは、Broadcast-out connectionが存在する場合に「１」となり、存在しない場合に「０」となる。point-to-point connection counterは、point-to-point connectionの数（即ち、このinput plugと１対１に接続されたノードの数）を示す。channel numberは、このinput plugが使用するchannel numberを示す。
【０１４０】
AV/C Isochronous Connectionプロトコルでは、▲１▼point-to-point connection、▲２▼overlay point-to-point connection、▲３▼broadcast-out connection、▲４▼overlay broadcast-out connection、▲５▼broadcast-in connection、▲６▼overlay broadcast-in connectionの何れかを用いてノード間のconnectionを設定し、Isochronousデータの流れを管理する。
【０１４１】
まず、point-to-point connectionを設定する手順について図３５を用いて説明する。point-to-point connectionとは、一つの未使用のinput plugと一つの未使用のoutput plugとを１対１に接続し、この接続（connection）を１つのIsochronous channelに対応付ける処理である。なお、このconnectionは、protectedなconnectionであり、該connectionを設定したもののみが解除することができる。
【０１４２】
point-to-point connectionを確立したいノードは、上述のIRMが管理するchannel registerとbandwidth available registerとに対してlock transactionを行い、Isochronous Resource（即ち、チャネル番号[n]と転送に必要な帯域[s]）を取得する（ステップＳ３４０１）。
【０１４３】
ここで、取得しようとしたチャネル番号[n]が既に使用されていた場合、取得しようとした帯域[s]が残っていない場合、或いは各registerへの書き込みが許可されなかった場合には、Isochronous Resourceの取得に失敗したと判断する（ステップＳ３４０２）。そして、チャネル番号の変更、帯域の変更等を行ってリトライするか、処理を中止する（ステップＳ３４０５）。
【０１４４】
Isochronous Resourceの取得に成功した場合（ステップＳ３４０２）、node[A]のoPCR[a]とnode[B]のiPCR[b]との両方に対し、lock transactionを用いて取得したチャネル番号[n]を書き込む。又、oPCR[a]には、取得した帯域[s]と転送速度とをlock transactionを用いて書き込む。同時に、oPCR[a] とiPCR[b]の有するpoint-to-point connection counterを「０」から「１」に書き換える（ステップＳ３４０３）。
【０１４５】
ここで、書き込みを行なったplugが使用されている場合、或いは存在しなかった場合には、各レジスタへの書き込みに失敗したと判断する（ステップＳ３４０４）。そして、使用するplugの変更等を行ってリトライするか、処理を中止する（ステップＳ３４０５）。
【０１４６】
書き込みに成功した場合（ステップＳ３４０４）、node[A]のoPCR[a]とnode[B]のiPCR[b]との間にpoint-to-point connectionが確立する。この結果、node[A]はoutput plug（oPCR[a]）を介してチャネル番号[n]のIsochronousデータを出力でき、node[B]はinput plug（iPCR[b]）を介してチャネル番号[n]のIsochronousデータを入力することができる。
【０１４７】
次に、overlay point-to-point connectionを設定する手順について図３６を用いて説明する。overlay point-to-point connectionとは、既に確立されているpoint-to-point connectionに対し、別のpoint-to-point connectionを追加する処理である。このconnectionは、１つの使用されているoutput plugと１つの未使用input plugとの間に設定される。なお、このconnectionは、protectedなconnectionであり、該connectionを設定したもののみが解除することができる。
【０１４８】
例えば、node[A]のoutput plugとnode[B]のinput plugとの間に確立されたpoint-to-point connection（チャネル番号[n]、帯域[s]）に対し、更にnode[C]のinput plugをoverlay する場合について説明する。
【０１４９】
overlay point-to-point connectionを確立したいノードは、node[A]のoPCR[a]のchannel numberを、overlayをしたいnode[C]のiPCR[c]にコピーする（ステップＳ３５０１）。
【０１５０】
次に、lock transactionを用いて、node[A]のoPCR[a]とnode[C]のiPCR[c]とがもつpoint-to-point connection counterをインクリメントする（ステップＳ３５０２）。
【０１５１】
ここで、point-to-point connection counterの書き込みに失敗した場合（ステップＳ３５０３）、設定値の変更等を行ってリトライするか、処理を中止する（ステップＳ３５０４）。
【０１５２】
point-to-point connection counterの書き込みに成功した場合（ステップＳ３５０３）、overlay point-to-point connectionが確立する。その結果、node[C]はoutput plug（oPCR[a]）を介して出力されたチャネル番号[n]のIsochronousデータを、input plug（iPCR[c]）を介して受信することができる。
【０１５３】
次に、broadcast-out connectionを設定する手順について図３７を用いて説明する。broadcast-out connectionとは、１つの未使用のIsochronous channelを、connectionの確立されていない１つの未使用のoutput plugに対応付ける処理である。なお、このconnectionは、上述のconnectionとは異なり、unprotectedなconnectionである。
【０１５４】
broadcast-out connectionを確立したいノードは、上述のIRMが管理するchannel registerとbandwidth available registerとに対してlock transactionを行い、Isochronous Resource（即ち、チャネル番号[m]と転送に必要な帯域[r]）を取得する（ステップＳ３６０１）。
【０１５５】
ここで、上述のpoint-to-point connectionの場合と同様に、Isochronous Resourceの取得に失敗した場合には（ステップＳ３６０２）、チャネル番号の変更、帯域の変更等を行ってリトライするか、処理を中止する（ステップＳ３６０５）。
【０１５６】
Isochronous Resourceの取得に成功した場合（ステップＳ３６０２）、node[D]のoPCR[d]に対し、lock transactionを用いて取得したチャネル番号[m]、帯域[r]及び転送速度を書き込む。同時に、oPCR[d]の有するBroadcast connection counterを「０」から「１」に書き換える（ステップＳ３６０３）。
【０１５７】
ここで、上述のpoint-to-point connectionの場合と同様に、書き込みに失敗した場合には（ステップＳ３６０４）、使用するplugの変更等を行ってリトライするか、処理を中止する（ステップＳ３６０５）。
【０１５８】
書き込みに成功した場合（ステップＳ３６０４）、node[D]のoPCR[d]にbroadcast-out connectionが確立する。この結果、node[D]はoutput plug（oPCR[d]）を介してチャネル番号[m]のIsochronousデータをブロードキャスト出力することができる。
【０１５９】
次に、overlay broadcast-out connectionを設定する手順について図３８を用いて説明する。overlay broadcast-out connectionとは、既にあるconnectionが確立されているoutput plugに対し、新たにbroadcast-out connectionを追加する処理である。このconnectionは、unprotectedなconnectionであり、１つの使用されているoutput plugに設定される。
【０１６０】
overlay broadcast-out connectionを確立したいノードは、node[D]のoPCR[d]のBroadcast connection counterを「０」から「１」に書き換える（ステップＳ３７０１）。
【０１６１】
ここで、Broadcast connection counterの書き込みに失敗した場合（ステップＳ３７０２）、設定値の変更等を行ってリトライするか、処理を中止する（ステップＳ３７０３）。
【０１６２】
Broadcast connection counterの書き込みに成功した場合（ステップＳ３７０２）、overlay broadcast-out connectionが確立する。その結果、node[D]は更に、output plug（oPCR[d]）を介して出力するIsochronousデータを、更にチャネル番号[m]を用いてブロードキャスト出力することができる。
【０１６３】
次に、broadcast-in connectionを設定する手順について図３９を用いて説明する。broadcast-in connectionとは、１つの未使用のIsochronous channelを、connectionの確立されていない１つの未使用のinput plugに対応付ける処理である。なお、このconnectionは、unprotectedなconnectionである。
【０１６４】
broadcast-in connectionを確立したいノードは、既に使用されているIsochronous  channelの中から所望のchannelを選択し、該channelのチャネル番号[p]をnode[E]のiPCR[e]に対し、lock transactionを用いて書き込む。同時に、iPCR[e]のBroadcast connection counterを「０」から「１」に書き換える（ステップＳ３８０１）。
【０１６５】
ここで、書き込みに失敗した場合（ステップＳ３８０２）、使用するplugの変更等を行ってリトライするか、処理を中止する（ステップＳ３８０３）。
【０１６６】
書き込みに成功した場合（ステップＳ３８０２）、node[E]のiPCR[e]にbroadcast-in connectionが確立する。この結果、node[E]はinput plug（iPCR[e]）を介してチャネル番号[p]のIsochronousデータを入力することができる。
【０１６７】
最後に、overlay broadcast-in connectionを設定する手順について図４０を用いて説明する。overlay broadcast-in connectionとは、既にあるconnectionが確立されているinput plugに対し、新たにbroadcast-in connectionを追加する処理である。このconnectionは、unprotectedなconnectionであり、１つの使用されているinput plugに設定される。
【０１６８】
overlay broadcast-in connectionを確立したいノードは、node[F]のiPCR[f]のBroadcast connection counterを「０」から「１」に書き換える（ステップＳ３９０１）。
【０１６９】
ここで、Broadcast connection counterの書き込みに失敗した場合（ステップＳ３９０２）、設定値の変更等を行ってリトライするか、処理を中止する（ステップＳ３９０３）。
【０１７０】
Broadcast connection counterの書き込みに成功した場合（ステップＳ３９０２）、overlay broadcast-in connectionが確立する。その結果、node[F]は、input plug（iPCR[f]）を介して全てのチャネル番号のIsochronousデータを入力することができる。
【０１７１】
上述のconnectionを介して転送されるIsochronousパケットのパケットフォーマットについて図４１を用いて説明する。
MPEG2方式方式SD-DVCR方式、HD-DVCR方式、SDL-DVCR方式、MIDI方式を用いて高能率符号化されたストリームデータは、所定のデータブロックに分割される。各データブロックは、図４１に示すIsochronousパケットのData_blockに格納され、所定の通信サイクル期間毎に順次転送される。
【０１７２】
次に、AV/C Asynchronous Connectionプロトコルについて説明する。AV/C Asynchronous Connectionプロトコルとは、静止画像データ、ファイルデータ、本実施の形態の操作パネル情報等のオブジェクトデータを、１つ以上のAsynchronousパケットを用いて確実且つ効率的に転送するための通信プロトコルの一つである。このプロトコルは、Isochronous転送ではなくAsynchronous転送を利用した転送プロトコルのため、信頼性が高く、リアルタイム性は必要ではないが確実な転送が要求されるオブジェクトデータの転送に適している。又、Isochronous転送のように各通信サイクルにおいて常に所定の帯域を占有することなく、Asynchronous転送期間の空き時間を使って効率のよい転送を実現できる。
【０１７３】
AV/C Asynchronous Connectionプロトコルは、トランザクション層２１０３の上位層（図２４の２１１０）で管理される。このプロトコルは、AV/C Isochronous Connectionプロトコルと同様に、プラグ（plug）と称する概念を用いて、ノード間の論理的な接続関係（以下、connectionと称する）と転送するオブジェクトデータ（以下、AV/C Asynchronousデータと称する）の流れとを管理する。
【０１７４】
AV/C Asynchronous Connectionプロトコルでは、送信側を「producer」、受信側を「consumer」と呼ぶ。また、producerとconsumerとの間のconnectionを管理及び制御する機能をもつノードを「controller」と呼ぶ。又、AV/C Asynchronous Connectionプロトコルでは、producer_count、limit_count、segment_bufferと呼ぶ３つのResourceを管理し、データ転送を制御する。
【０１７５】
AV/C Asynchronous Connectionプロトコルにおいて使用するCommand frameとResponse frameのデータ構造を図４２、図４３に示す。
図４２、図４３において、opcodeには、AV/C Asynchronous Connectionプロトコル用のAV/C Command setであることを示す「２６ｈ」がセットされる。Command及びResponseの詳細な内容については、subfunctionにて決定される。
Commandの種類及び機能を図４４に示す。
【０１７６】
図４４において、ALLOCATE Commandは、connectionにconsumerのもつconsumer plugリソースを割り当てるコマンドである。ALLOCATE_ATTACH Commandは、connectionにproducerのもつproducer plugリソースを割り当て、かつそれをconsumer plugに接続するコマンドである。ATTACH Commandは、consumer plugをproducer plugに接続するコマンドである。
【０１７７】
又、図４４において、RELEASE Commandは、connectionの設定されたconsumer plugリソースを開放するコマンドである。RELEASE_DETACH Commandは、producerのもつproducer plugリソースを開放し、producer plugに接続されたconsumer plugを切断するコマンドである。DETACH Commandは、consumerのもつconsumer plugに接続されたproducer plugを切断するコマンドである。ADD_ALLOCATE Commandは、既にconnectionの設定されているconsumer plugに対し、別のproducer plugをoverlay 接続するコマンドである。
【０１７８】
次に、connectionの設定手順について図４５を用いて説明する。
controller４４０１は、consumer４４０２（データ受信元）に対してALLOCATE Commandを送る。consumer４４０２は、ALLOCATE CommandのResponseとして、consumer４４０２が使用可能なconsumer plug（図４６参照）のアドレス（consumer plug address）をcontroller４４０１に返す（図４５の４４０４）。
【０１７９】
次にcontroller４４０１は、ALLOCATE_ATTACH Commandをproducer４４０３に送る。ここで、controller４４０１は、このALLOCATE_ATTACH Commandに、consumer plug addressをセットする。このコマンドにより、producer４４０３はconsumer４４０２のconsumer plug addressを認識し、データ送信のための初期設定を行なう。又、producer４４０３は、このコマンドに対し、producer４４０３のproducer plug（図４６参照）のアドレス（producer plug address）をセットしたResponseをcontroller４４０１に送信する（図４５の４４０５）。
【０１８０】
その結果、最後にcontroller４４０１は、ATTACH Commandをconsumer４４０２に送る。ここで、controller４４０１は、このATTACH Commandにproducer４４０３のproducer plug addressをセットする。このコマンドにより、consumer４４０２はproducer４４０３のproducer plug addressを認識し、データ送信のための初期設定を行なう（図４５の４４０６）。
【０１８１】
以上の手順により、consumer４４０２のconsumer plugとproducer４４０３のproducer plugとの間にconnectionが設定される。Connectionの設定後は、consumer４４０２とproducer４４０３との間で、producer_count、limit_count、segment_bufferの３つのResourceを管理し、Asynchronousデータを転送する。なお、１つのノードがconsumer４４０２の機能とcontroller４４０１の機能とを実現する場合、該ノードはALLOCATE_ATTACH Commandのみを用いて、producer４４０３とconnectionを設定することができる。
【０１８２】
次に、AV/C Asynchronousデータの転送手順について図４６を用いて説明する。
producer４４０３のproducer plug４５０１は、producer４４０３のもつCSR４５００の所定のアドレス空間上に存在する。このproducer plug４５０１には、limit_countと呼ばれるレジスタ４５０３が存在する。又、producer plug４５０１には、segment_buffer領域４５０２がある。
【０１８３】
一方、consumer４４０２のconsumer plug４５１１は、consumer４４０２のもつCSR４５１０の所定のアドレス空間上に存在する。consumer plug４５１１には、producer_countと呼ばれるレジスタ４５１３が少なくとも１つ存在する。又、consumer plug４５１１には、producer４４０３が順次転送するAV/C Asynchronousデータを書き込むsegment_buffer領域４５１２がある。
【０１８４】
例えば、４３ＫＢのAV/C Asynchronousデータ（１フレーム）を、３２ＫＢのsegment_buffer領域４５１２をもつconsumer４４０２に転送する場合について説明する。
【０１８５】
ここで、AV/C Asynchronousデータのデータフォーマットについて図４７を用いて説明する。AV/C Asynchronous Connectionプロトコルでは、「フレーム（frame）」と呼ばれる単位毎に、AV/C Asynchronousデータの転送を制御する。１フレームは必要に応じて複数の「サブフレーム（subframe）」に分割される。
consumer４４０２は、producer４４０３のlimit_count４５０３に対して受け取り可能なデータサイズ（３２ＫＢ）を書き込み、現在の動作モード（mode）を「SEND」（＝５）とする（図４６の４５３１）。ここでSENDとは、consumer４４０２のもつsegment_buffer４５１２が有効であることを示す。
【０１８６】
producer４４０３は、現在のmodeがSENDであることを認識すると、４３ＫＢのデータのうち、３２ＫＢのデータ（第１のサブフレーム）をconsumer４４０２のsegment_buffer４５１２に書き込む（図４６の４５３２）。
【０１８７】
３２ＫＢのデータ送信後、producer４４０３はconsumer４４０２のproducer_count４５１３に対して送信したデータサイズ（３２ＫＢ）を書き込み、現在のmodeを「MORE」（＝１）とする（図４６の４５３３）。ここでMOREとは、１フレームのデータの転送がまだ終わっていないことを示す。
【０１８８】
consumer４４０２は、現在のmodeにより、データの転送がまだ終了していないことを認識し、limit_count４５０３に再度、受け取り可能なデータサイズ（３２ＫＢ）と現在のmode（即ち、SEND）を書き込む（図４６の４５３４）。ここで、consumer４４０２は、segment_count（sc）を「０」から「１」に切り替え、segment_buffer４５１２が切り替わったことを通知する。
【０１８９】
producer４４０３は、残りの２ＫＢのデータ（第２のサブフレーム）をconsumer４４０２のsegment_buffer４５１２に書き込む（図４６の４５３５）。
producer４４０３は、データの転送が終了した後、consumer４４０２のproducer_count４５１３に対して送信したデータサイズ（２ＫＢ）を書き込み、現在のmodeを「LAST」とする（図４６の４５３６）。ここでLASTとは、１フレームのデータの転送が成功したことを示し、次に転送されるデータは別のフレームのデータであることを示す。
【０１９０】
以上の手順により、１フレーム分のAV/C Asynchronousデータの転送が完了する。
【０１９１】
以上説明したように、本実施の形態では、被制御装置（例えば、チューナ１０３、ＤＶＣＲ１０４）のもつ操作パネルを、同じネットワークに接続された制御装置（例えば、表示装置１０１）の表示画面上に表示し、該操作パネルを制御装置のもつリモコンを用いて遠隔操作するシステムを提供することができる。
【０１９２】
これにより、制御装置は、被制御装置に対応する制御プログラムを予め用意することなく、各装置において最適な操作環境をユーザに提供することができる。又、制御装置は、今までにない新しい機能をもった被制御装置をネットワークに接続した場合でも、該装置に対応した操作環境をユーザに提供することができる。
【０１９３】
又、操作パネルは画像情報からなるため、視覚的に理解しやすい操作環境をユーザに提供することができる。
更に、操作パネルの各要素に対応する機能と、リモコン１０２の各操作キーに対応する機能とを対応付けることによって、従来のように、カーソルキーと実行キーとを複数回押すことなく、１回のリモコン操作で所望の機能を遠隔制御する簡単で分かりやすい操作環境をユーザに提供することができる。
【０１９４】
なお、本発明はその精神、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
例えば、本実施の形態では、被制御装置の一例としてチューナ１０３、ＤＶＣＲ１０４について説明したがそれに限るものでない。本実施の形態の操作パネルに対応し、且つ本実施の形態のネットワークに接続可能な機器であれば、プリンタ、エアコンディショナ、扇風機等の電子機器にも適用することができる。
【０１９５】
又、本実施の形態では、ダイレクト操作の可能なボタン要素に対し、図１６に示すマークを各ボタン要素に合成表示するようにしたがそれに限るものではない。ダイレクト操作の可能なボタン要素であることをユーザに明示的に示すことができるのであれば、図２３に示すように、ボタン要素の外枠に所定の画像を合成する方法（２３０１）や、アルファブレンデング技術等を用いてボタン要素全体の色を変化させる方法（２３０２）等の様々な方法を適用することもできる。従って、前述の実施の形態はあらゆる点おいて単なる例示に過ぎず、限定的に解釈してはならない。
【０１９６】
【発明の効果】
本発明によれば、被制御装置を、視覚的に理解しやすく、簡単な操作手順で遠隔操作することのできる操作環境を提供することができる。
【図面の簡単な説明】
【図１】本実施の形態の情報処理システムの一例を示す概要図である。
【図２】本実施の形態の制御装置の構成を示すブロック図である。
【図３】本実施の形態の制御装置を遠隔操作するリモコンの構成を示すブロック図である。
【図４】本実施の形態の被制御装置の一つの構成を示すブロック図である。
【図５】本実施の形態の被制御装置の一つの構成を示すブロック図である。
【図６】本実施の形態のリモコンの具体的な構成を示す図である。
【図７】本実施の形態の操作パネルの構成要素を説明する図である。
【図８】操作パネルの一例を示す図である。
【図９】ボタン要素と機能コードとの対応関係の一例を示す図である。
【図１０】本実施の形態の機能コードの一例を示す図である。
【図１１】ネットワークに接続された被制御装置を自動的に認識するまでの処理手順について説明するフローチャートである。
【図１２】本実施の形態の制御装置の処理動作について説明するフローチャートである。
【図１３】本実施の形態の被制御装置選択用モジュールの処理動作について説明するフローチャートである。
【図１４】本実施の形態のキーコード・ボタンＩＤテーブルについて説明する図である。
【図１５】本実施の形態の操作パネル表示用モジュールの処理動作について説明するフローチャートである。
【図１６】ダイレクト操作キーであることを示すマークの一例を示す図である。
【図１７】図１６のマークを合成した操作パネルの一例を示す図である。
【図１８】本実施の形態の操作パネル制御用モジュールの処理動作について説明するフローチャートである。
【図１９】本実施の形態の被制御装置の処理動作について説明するフローチャートである。
【図２０】本実施の形態の情報処理システムにおける通信手順の一例を示す図である。
【図２１】操作パネル用のコマンドの一例を示す図である。
【図２２】ユーザアクションの一例を示す図である。
【図２３】ダイレクト操作キーであることを示すマークの他の例を示す図である。
【図２４】  IEEE1394シリアルバスの構造を説明する図である。
【図２５】  FCPレジスタの配置について説明する図である。
【図２６】  FCP frameフォーマットについて説明する図である。
【図２７】  AV/C Command frameフォーマットについて説明する図である。
【図２８】  AV/C Response frameフォーマットについて説明する図である。
【図２９】  AV/C Commandにおけるunit commandについて説明する図である。
【図３０】  AV/C Isochronous connectionプロトコルにおけるplug control registerについて説明する図である。
【図３１】  AV/C Isochronous connectionプロトコルにおけるoutput master plug registerについて説明する図である。
【図３２】  AV/C Isochronous connectionプロトコルにおけるoutput plug control registerについて説明する図である。
【図３３】  AV/C Isochronous connectionプロトコルにおけるinput master plug registerについて説明する図である。
【図３４】  AV/C Isochronous connectionプロトコルにおけるinput plug control registerについて説明する図である。
【図３５】  AV/C Isochronous connectionプロトコルにおけるpoint-to-point connectionについて説明する図である。
【図３６】  AV/C Isochronous connectionプロトコルにおけるoverlay point-to-point connectionについて説明する図である。
【図３７】  AV/C Isochronous connectionプロトコルにおけるbroadcast-out connectionについて説明する図である。
【図３８】  AV/C Isochronous connectionプロトコルにおけるoverlay broadcast-out connectionについて説明する図である。
【図３９】  AV/C Isochronous connectionプロトコルにおけるbroadcast-in connectionについて説明する図である。
【図４０】  AV/C Isochronous connectionプロトコルにおけるoverlay broadcast-in connectionについて説明する図である。
【図４１】  AV/C Isochronous connectionプロトコルにおけるCIPパケットについて説明する図である。
【図４２】  AV/C Asynchronous connectionプロトコルにおけるCommand frameについて説明する図である。
【図４３】  AV/C Asynchronous connectionプロトコルにおけるResponse frameについて説明する図である。
【図４４】  AV/C Asynchronous connectionプロトコルにおけるCommandの内容について説明する図である。
【図４５】  AV/C Asynchronous connectionプロトコルにおけるConnection手順について説明する図である。
【図４６】  AV/C Asynchronous connectionプロトコルにおけるデータ転送手順について説明する図である。
【図４７】  AV/C Asynchronous connectionプロトコルにおけるデータのframe構造の一例を示す図である。
【符号の説明】
１００      IEEE１３９４高速シリアルバス
１０１      表示装置
１０２      リモコン
１０３      チューナ
１０４      ＤＶＣＲ
２０１      １３９４インタフェース部
２０２      Isochronous データバッファ部
２０３      Asynchronousデータバッファ部
２０４      表示データ管理部
２０５      キーコード・ボタンＩＤテーブル
２０６      デコーダ部
２０７      描画制御部
２０８      表示合成部
２０９      表示部
２１０      音声制御部
２１１      音声合成部
２１２      音声出力部
２１３      リモコン制御部
２１４      制御部
３０１      キーボタン部
３０２      データ送受信部
３０３      表示部
３０４      リモコン制御部
４０１      アンテナ部
４０２      ディジタル通信ネットワーク
４０３      チューナ部
４０４      Demux部
４０５      表示データ生成部
４０６      Isochronous データバッファ部
４０７      Asynchronousデータバッファ部
４０８      １３９４インタフェース部
４０９      制御部
５０１      ＶＴＲ部
５０２      表示データ生成部
５０３      Isochronous データバッファ部
５０４      Asynchronousデータバッファ部
５０５      １３９４インタフェース部
【図１】
0004250260.tif 000002
【図２】
0004250260.tif 000003
【図３】
0004250260.tif 000004
【図４】
0004250260.tif 000005
【図５】
0004250260.tif 000006
【図６】
0004250260.tif 000007
【図７】
0004250260.tif 000008
【図８】
0004250260.tif 000009
【図９】
0004250260.tif 000010
【図１０】
0004250260.tif 000011
【図１１】
0004250260.tif 000012
【図１２】
0004250260.tif 000013
【図１３】
0004250260.tif 000014
【図１４】
0004250260.tif 000015
【図１５】
0004250260.tif 000016
【図１６】
0004250260.tif 000017
【図１７】
0004250260.tif 000018
【図１８】
0004250260.tif 000019
【図１９】
0004250260.tif 000020
【図２０】
0004250260.tif 000021
【図２１】
0004250260.tif 000022
【図２２】
0004250260.tif 000023
【図２３】
0004250260.tif 000024
【図２４】
0004250260.tif 000025
【図２５】
0004250260.tif 000026
【図２６】
0004250260.tif 000027
【図２７】
0004250260.tif 000028
【図２８】
0004250260.tif 000029
【図２９】
0004250260.tif 000030
【図３０】
0004250260.tif 000031
【図３１】
0004250260.tif 000032
【図３２】
0004250260.tif 000033
【図３３】
0004250260.tif 000034
【図３４】
0004250260.tif 000035
【図３５】
0004250260.tif 000036
【図３６】
0004250260.tif 000037
【図３７】
0004250260.tif 000038
【図３８】
0004250260.tif 000039
【図３９】
0004250260.tif 000040
【図４０】
0004250260.tif 000041
【図４１】
0004250260.tif 000042
【図４２】
0004250260.tif 000043
【図４３】
0004250260.tif 000044
【図４４】
0004250260.tif 000045
【図４５】
0004250260.tif 000046
【図４６】
0004250260.tif 000047
【図４７】
0004250260.tif 000048