ターゲット装置の制御方法
【課題】ネットワーク化された電子機器を制御する。
【解決手段】第2の電子機器は、第2の電子機器の操作子及び表示部の外観を記述した操作オブジェクト記述子と、第2の電子機器の状態を動的データ構造を用いて記述する状態記述子とを定義するパネルサブユニットを備え、第1の電子機器は、パネルサブユニットの情報に基づいて第2の電子機器を操作する画面を表示する画面表示制御手段を備え、第1の電子機器において、ユーザ操作に応じて汎用イベントを第2の電子機器に送信するステップと、第2の電子機器において、送信されてきた汎用イベントを解釈して実行するステップと、第2の電子機器において、状態記述子を変更するステップと、第1の電子機器において、状態記述子が変更されたときに、第2の電子機器の状態を示す画面表示を更新するステップとを有する。
【解決手段】第2の電子機器は、第2の電子機器の操作子及び表示部の外観を記述した操作オブジェクト記述子と、第2の電子機器の状態を動的データ構造を用いて記述する状態記述子とを定義するパネルサブユニットを備え、第1の電子機器は、パネルサブユニットの情報に基づいて第2の電子機器を操作する画面を表示する画面表示制御手段を備え、第1の電子機器において、ユーザ操作に応じて汎用イベントを第2の電子機器に送信するステップと、第2の電子機器において、送信されてきた汎用イベントを解釈して実行するステップと、第2の電子機器において、状態記述子を変更するステップと、第1の電子機器において、状態記述子が変更されたときに、第2の電子機器の状態を示す画面表示を更新するステップとを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、民生用電子機器の分野に関し、特に、遠隔の電子機器を含むネットワーク化された電子機器を制御するためのユーザインタフェースを提供するターゲット装置の制御方法、通信ネットワーク、インテリジェント制御装置、ターゲット装置に関する。
【背景技術】
【0002】
今日の一般的な家庭用娯楽システムは、異なる様々な民生用電子機器を備え、それぞれの機器は、異なる方式でオーディオ/ビジュアル媒体を再生及び記録する。媒体機器は種々の特徴を有する様々な種類に分類される(VTR、ビデオカメラ等)。これらの特徴の殆どは、ユーザにより操作される操作パネル上に設けられた物理的操作子又は要素により表される。
【0003】
近年、標準通信プロトコル層(例えばIEEE1394通信規格)を用い、ネットワークを介して相互に接続できる一群の民生用電子媒体機器が提案されている。IEEE1394通信規格は、非同期フォーマットのデータ転送及びアイソクロノスフォーマットのデータ転送の両方をサポートする安価で高速のシリアスバスアーキテクチャを実現する国際標準規格である。IEEE1394通信規格は、複数のデジタル機器を相互に接続する高速シリアルバスを提供し、それにより汎用の入力/出力接続を行う。IEEE1394通信規格は、アプリケーションのためのデジタルインタフェースを定義し、これにより、アプリケーションは、デジタルデータをアナログデータに変換することなく、デジタルデータのままバスに出力できる。一方、受信用アプリケーションは、バスからアナログデータではなくデジタルデータを受信し、したがって、アナログデータをデジタルデータに変換するといった処理を行う必要がない。IEEE1394通信規格は、既存の機器間のデータ伝送にバスを使用しながら、シリアスバスに複数の機器を取り付けたり、シリアスバスから複数の機器を取り外すことができるので、民生用電子機器の通信には理想的である。各機器は、バス上の「ノード」となり、それ自体のアドレス空間を有する。
【0004】
IEEE1394シリアル通信バスを用いて民生用電子機器をネットワーク化することにより、各機器の機能性及び相互運用性を高める強力なプラットホームが実現されている。例えば、このようなシステムにおいては、2台以上の機器が同期して、媒体間のデータ転送、媒体へのデータ記録、媒体からのデータ再生を含む複雑な処理を実行することができる。しかしながら、所望の処理を正しく実行するために各機器を直接操作しなくてはならない場合、機器間の相互作用(interaction)は、複雑で、エラーが生じやすく、困難である。複数の機器が遠隔に存在し、及び/又は常に監視又は調整する必要がある場合、所望の処理を適切に行うには作業が煩雑となる。そこで、民生用電子機器のネットワークにおいて、複数の機器間のデータ処理を容易にする効果的なインタフェースの実現が望まれている。
【0005】
さらに、家庭又はオフィス内の中央からこれらの機器を操作できるように、各機器の機能を遠隔制御する手法が望まれている。しかしながら、民生用電子機器の全てが遠隔制御に必要な対話的操作のために十分な表示装置を備えているわけではなく、例えば、非常に小さな液晶表示装置や、小数の発光ダイオードのみしか備えていないものも多い。そこで、複数の機器に対するインタフェースであって、多くの機器に対する高度な対話的操作を行うためのインタフェースの実現が望まれている。また、多くの民生用電子機器は、それぞれ専用の遠隔制御装置を備えている。比較的小規模のシステムでさえ、3個以上の大きな遠隔制御装置を備えていることが多い。そこで、異なる装置のそれぞれに異なる遠隔制御装置を設けなくてはならないという問題を解決するためのインタフェースの実現が望まれる。さらに、柔軟性に富み、民生用電子機器市場に投入される新たな機器又は新たなフォーマットに対応できるインタフェースの実現が望まれている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平07−044474号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、本発明の目的は、複数の電子機器間の媒体制御を容易に行うための、ネットワーク化された民生用電子機器のためのインタフェースを提供することである。また、本発明の目的は、表示機能に制限がある多くの電子機器において高度な対話的操作を実現する遠隔操作のインタフェースを提供することである。さらに、本発明の目的は、中央の遠隔操作装置と中央の表示装置を用いて、種々の電子機器に指示信号を送信し、種々の電子機器に関する状態情報を受信するインタフェースを提供することである。さらに、本発明の目的は、更なる柔軟性を有し、すなわち民生用電子機器市場に投入される新たな電子機器及び新たな種類の電子機器に対応できるインタフェースを提供することである。本発明のこれらの及び他の利点は、この明細書における説明により明らかとなる。
【0008】
ここでは、ターゲット装置において維持されるパネルサブユニット記述子の情報を用いた、ネットワーク電子機器用のユーザインタフェースを提供する方法及びシステムについて説明する。本発明では、パネルサブユニットを用いることにより、従属機器(ターゲット装置)は、その操作子及び表示装置(要素)の物理的外観を、他の機器(インテリジェント制御装置)に記述することができ、インテリジェント制御装置は、あたかもユーザが物理的に直接ターゲット装置を操作する場合と同様に、ターゲット装置の動作をトリガすることができる。本発明は、例えばIEEE1394シリアル通信規格等の標準通信プロトコルに準拠して相互接続された複数の民生用電子機器、例えばテレビジョン(TV)、セットトップボックス、ビデオテープレコーダ(VTR)、コンパクトディスク(CD)装置、パーソナルコンピュータシステム(PC)等から構成されるネットワーク上で動作する。インテリジェント制御装置(テレビジョン又はセットトップボックス、あるいはそれらの両方)は、ネットワークを監視して、ネットワークに接続された電子機器を検出し、ターゲット装置を定義するパネルサブユニットを検出する。ターゲット装置は遠隔に配置された電子機器であってもよい。
【0009】
通常、このパネルサブユニットは、ターゲット装置の操作子及び表示装置を画像として表現するための情報をインテリジェント制御装置に提供し、この画像表現を用いて、ユーザはターゲット装置の動作を遠隔からトリガすることができる。パネルサブユニットは、コマンドの解釈及び画像の変更をターゲット装置に処理させるように定義され、これにより、インテリジェント制御装置における一般的なユーザイベントに対するユーザインタフェースを管理する負担を軽減することができる。この手法により、ユーザインタフェースを柔軟に拡張することができ、新たな種類の操作子及び表示情報プロトコルにも対応することができる。
【0010】
パネルサブユニットは、ターゲット装置の物理的操作子を定義するオブジェクト記述子リストに格納された操作子オブジェクトを用いる。操作子オブジェクトは、民生用電子機器が通常備える幾つかの標準的な操作子及び表示装置(例えば、押しボタン、スライダ、ダイヤル、液晶表示画面等)として定義される。操作子の種類は、例えば押しボタンを押す、ダイヤルを回す、数値を入力する等の動作を定義している。さらに、パネルサブユニットは、ユーザが選択したときのこれらの操作子に適用されるコマンドのセットを定義する。コマンドは、十分な汎用性を有し、殆どの種類の操作子に適用するように定義される。また、パネルサブユニットは、ユーザが操作子に対して行うことができる、汎用のユーザと対話的なコマンド(又はユーザイベント)、例えば押す、押して保持する、解除、数値を入力する等を定義する。これらの汎用ユーザイベントにより、ユーザが操作子に対して行う典型的な操作がカプセル化され、ターゲット装置は、ユーザの操作を自ら解釈することができるため、インテリジェント制御装置の処理負担が軽減される。
【0011】
パネルサブユニットの状態記述子により、インテリジェント制御装置は、操作されているターゲット装置の状態を常に知ることができる。状態記述子データ構造は、動的であり、パネルサブユニットによって最新に保たれる。インテリジェント制御装置は、状態記述子を調べ、ターゲット装置の状態を示すその画像表示を更新し、ユーザにターゲット装置の状態を知らせる。パネル状態通知コマンドにより、インテリジェント制御装置は、ターゲット装置の状態の変化により状態記述子が変更されたことを示す通知をターゲット装置に要求する。ターゲット装置の関連する操作子をローカルグループにグループ化することができ、パネルサブユニットは、このグループを特別な手法で表示又は処理することができる。
【課題を解決するための手段】
【0012】
特に、民生用電子機器のネットワークにおいて、本発明に係るターゲット装置の制御方法は、複数の電子機器からなる通信ネットワークのバスアーキテクチャによって、電子機器からなるインテリジェント制御装置に接続された、電子機器からなるターゲット装置を制御するターゲット装置の制御方法であって、a)ターゲット装置内のコンピュータ読取可能なメモリユニットにおいて、ターゲット装置の操作パネルの要素の階層構造を定義する識別子の記述子データ構造を、記述子リストデータ構造を指すことによって定義するステップと、b)ターゲット装置内のコンピュータ読取可能なメモリユニットにおいて、それぞれがターゲット装置の操作パネルの要素の物理的外観及び値の状態を定義する複数の操作子オブジェクトを含む少なくとも1つの記述子リストデータ構造を定義するステップと、c)ターゲット装置内のコンピュータ読取可能なメモリユニットにおいて、操作子オブジェクトの現在の状態を表す状態記述子データ構造を定義及び更新するステップと、d)インテリジェント制御装置が、ターゲット装置のメモリユニットに格納された各データ構造にアクセスして、ターゲット装置を制御するための汎用ユーザインタフェースを生成するとともに、汎用ユーザイベントを解釈させるために汎用ユーザインタフェースをターゲット装置に送信するステップと、e)ターゲット装置が、汎用ユーザイベントを受信し、記述子リストデータ構造における操作子オブジェクトの現在の状態に対応して汎用ユーザイベントを解釈して実行する機能を判定するステップと、f)ターゲット装置が、機能を実行するステップと、g)ターゲット装置が、状態記述子データ構造を更新して、ステップf)の実行の結果生じた変化を状態記述子データ構造に反映させるステップとを有する。
【0013】
さらに、本発明に係るターゲット装置の制御方法では、上述のステップd)が、d1)識別子の記述子データ構造及び記述子リストデータ構造にアクセスすることによって複数の操作子オブジェクトにアクセスするステップと、d2)インテリジェント制御装置の表示装置に操作パネルの要素のグラフィック画像を表示するステップと、d3)グラフィック画像を用いたユーザの対話的操作入力を受信するステップと、d4)ユーザの対話的操作入力を汎用ユーザイベントに変換するステップと、d5)汎用ユーザイベントを、物理的操作パネルに対するユーザ操作をシミュレートさせるために、ターゲット装置に送信するステップとを有する。さらに、本発明に係るターゲット装置の制御方法では、ステップg)として、ターゲット装置は、状態記述子を変更したときに、それをインテリジェント制御装置に通知するので、インテリジェント制御装置は、常にポーリングを行う必要はない。本発明には、上述のターゲット装置の制御方法を実現する通信ネットワーク、インテリジェント制御装置、ターゲット装置も含まれる。
【発明の効果】
【0014】
本発明によれば、複数の電子機器間の媒体制御を容易に行うための、ネットワーク化された民生用電子機器のためのインタフェースを提供することができる。また、本発明によれば、表示機能に制限がある多くの電子機器において高度な対話的操作を実現する遠隔操作のインタフェースを提供することができる。さらに、本発明によれば、中央の遠隔操作装置と中央の表示装置を用いて、種々の電子機器に指示信号を送信し、種々の電子機器に関する状態情報を受信するインタフェースを提供することができる。さらに、本発明によれば、更なる柔軟性を有し、すなわち民生用電子機器市場に投入される新たな電子機器及び新たな種類の電子機器に対応できるインタフェースを提供することができる。
【図面の簡単な説明】
【0015】
【図1】ビデオカメラ、ビデオカセットレコーダー、コンピュータ、セットトップボックス、テレビジョン及びコンパクトディスクチェンジャーを含む電子装置の標準的なネットワークシステムを示す図である。
【図2】本発明を適用したによるインテリジェント制御装置の構成要素を示すブロック図である。
【図3】パネルディスプレイ及びパネル操作子を備えたターゲット装置を示す斜視図である。
【図4】図3に示すターゲット装置において、多数の操作子及びディスプレイを露出するために前面パネルが開き倒された状態を示す斜視図である。
【図5】本発明のパネルサブユニットを含むターゲット装置(VCR)内の複数のサブユニットを示す論理ブロック図である。
【図6】サブユニット、パネルリスト及び操作オブジェクトの対象リストを含む本発明のパネルサブユニットの記述子情報を示す図である。
【図7】本発明のパネルサブユニットにおけるグループ識別構造を含む一般的なリスト情報構造の内容を示す図である。
【図8】本発明のパネルサブユニットにおける操作オブジェクト記述子の例を示す図である。
【図9】本発明のパネルサブユニットにおける操作オブジェクト記述子の例を示す図である。
【図10】本発明のパネルサブユニットにおいける状態記述子データ構造を示す図である。
【図11】ユーザインタフェースを提供するインテリジェント制御装置によって実行される処理手順を示すフローチャートである。
【図12】本発明に基づくパネルサブユニットによりオンスクリーンキーボードとして表示されたユーザインタフェースを示す図である。
【図13】本発明に基づいて図12のオンスクリーンキーボードを生成するための標準的なパネルサブユニット記述子情報を示す図である。
【図14】本発明に基づくパネルサブユニットによるインテリジェント制御装置と遠隔ターゲット装置との間の通信及び標準的な処理手順を示す図である。
【発明を実施するための形態】
【0016】
本発明の以下の詳細な説明において、本発明の全体を把握するために、民生用電子機器のネットワークに接続されたインテリジェント制御装置を介して遠隔接続されたターゲット装置に対するインタフェースを司るパネルサブユニットを、詳細な実施形態を用いて説明する。しかしながら、本発明は、このような詳細な実施形態に限定されることなく、他の実施形態によっても実施可能であることは、当業者にとって明らかである。なお、技術的に周知の手法、処理、構成要素、回路については、説明を簡潔にするため詳細には説明しない。
【0017】
本発明は、任意の従属装置(例えば「ターゲット装置」)が備える操作子及び表示装置等の物理的外観を外部のインテリジェント制御装置に記述するパネルサブユニットを提供する。ターゲット装置は、インテリジェント制御装置に対して遠隔に位置していてもよい。インテリジェント制御装置は、1)対話的操作及び2)ターゲット装置に関連したユーザ表示情報を含むターゲット装置に対するユーザインタフェースを生成する。パネルサブユニットにより、インテリジェント制御装置は、ユーザがターゲット装置に設けられた操作子を物理的に操作する場合と同様に、ターゲット装置の処理をトリガすることができる。インテリジェント制御装置とターゲット装置は、共通の通信ネットワークを介して(例えばIEEE1394シリアル規格を用いて)接続される。また、本発明は、一実施形態において、周知のAV/Cコマンド及び制御プロトコルをサポートする任意の装置間の高度な相互運用性を実現する。
【0018】
本発明によれば、インテリジェント制御装置は、ターゲット装置のパネルサブユニットと通信を行い、パネルサブユニットが備える例えば押しボタンやスライダ等の様々な操作子の機能を制御できる。インテリジェント制御装置は、操作子オブジェクト記述子に基づいて、表示装置にヒューマンインタフェースを表示するとともに、ユーザの特定の操作に基づくイベントをターゲット装置に送信する。インテリジェント制御装置に表示される情報は、ターゲット装置によって拡張する(scalable)ことができ、表示されるヒューマンインタフェースは、インテリジェント制御装置の特定の表示能力に適合することができる。インテリジェント制御装置は、ターゲット装置を監視し、ユーザに提供する現在の状態を最新に維持する。
【0019】
したがって、インテリジェント制御装置は、ターゲット装置の特定の機能をどのように使うか又は起動するかに関する知識を事前に必要とせず、それらに関する機能はターゲット装置で処理される。状態遷移、操作子間の独立性等に関する問題は、ターゲット装置で自動的に処理され、インテリジェント装置側には処理を負担させない。本発明は、ターゲット装置に既に組み込まれている機能を利用し、ユーザが物理的な操作子を直接操作する場合と同様にターゲット装置を制御するので、状態遷移テーブルや実行環境等のアイテムを必要としない。例えば、インテリジェント装置がターゲット装置に「ボタン5に対する押す操作をシミュレートする」ことを指示する場合、インテリジェント制御装置は、このユーザ操作に基づく指示に応じてターゲット装置がどのような処理を行うかについては、何ら知識を必要としない。「ボタン5」が押圧操作された場合の処理に関する状態遷移ロジックは、全てターゲット装置内で実行される。これにより、インテリジェント制御装置とターゲット装置の相互運用性を向上させるとともに、それぞれの処理負担を大きく低減することができる。
【0020】
本発明は、物理的操作子及び外観を記述するだけでなく、論理的操作子及び論理操作パネルの要素の外観を記述することもできる。例えば、物理的操作子を備えず、IEEE1394端子のみを備える「ブラックボックス」の制御にも用いることができ、このブラックボックスは、隔離された場所又は遠隔に位置していてもよい。この場合、パネルサブユニットを介して画面上の操作子によって制御されるため、ブラックボックス本体に物理的操作パネルを備えていなくてもよい。
【0021】
本発明を適用したネットワーク環境
図1は、本発明が提供するパネルサブユニットをサポートできるネットワークシステム5の構成例を示す。ネットワークシステム5は、ノードとしてコンピュータシステムを含む民生用電子機器を備えているが、これらの電子機器は他の電子機器に置き換えてもよい。ネットワークシステム5は、ビデオカメラ10と、ビデオテープレコーダ(VTR)12と、コンピュータシステム14と、セットトップボックス(STB)13と、テレビジョンセット(TV)11と、コンパクトディスク(CD)チェンジャ20とを備え、これらの電子機器は、IEEE1394−1995(IEEE1394)ケーブル15、16、18、19によりネットワークを介して相互に接続されている。なお、本発明が提供するパネルサブユニットは、いかなるバス構造に対しても同様に適用することができ、説明に用いるIEEE1394シリアル通信バスは、バス構造の例示にすぎない。STB13は、ケーブルテレビジョン放送データを受信するように接続されている。IEEE1394ケーブル16は、ビデオカメラ10とVTR12とを接続し、これにより、ビデオカメラ10は、データ記録のためのデータ、コマンド及びパラメータをVTR12(又はネットワークシステム5上の他の任意の電子機器)に供給することができる。IEEE1394ケーブル18は、VTR12とコンピュータシステム14とを接続し、これにより、VTR12は、情報表示のためのデータ、コマンド及びパラメータをコンピュータシステム14(又はネットワークシステム5上の他の任意の電子機器)に供給することができる。
【0022】
IEEE1394ケーブル15は、STB13とコンピュータシステム14とを接続する。また、STB13は、ケーブル17を介してTV11に接続されている。CDチェンジャ20は、IEEE1394ケーブル19を介してコンピュータシステム14に接続されている。なお、図1に示すネットワークシステム5の形態は単なる例示であり、本発明に基づいて他の異なる多くの電子機器を組み合わせてネットワークを構築できることは明らかである。IEEE1394ネットワークシステム5上の各電子機器は、自律的な装置である。すなわち、コンピュータシステム14も単にこれらの電子機器のうちの1つであり、コンピュータシステム14と他の電子機器との間に主従関係(master-slave relationship)はない。実際、後述する例示的な実施形態においては、インテリジェント制御装置として機能するのはSTB13である。多くのIEEE1394ネットワーク環境において、コンピュータシステム14は、存在しないこともある。このような環境においても、ネットワーク内の電子機器は、ピアツーピアベース(peer-to-peer basis)で相互運用可能である。なお、データ、コマンド及びパラメータは、IEEE1394ネットワークシステム5内の全ての電子機器間で送受可能である。
【0023】
図1のネットワークシステム5で使用されるIEEE1394シリアルバスは、デジタル機器を相互接続する高速バスアーキテクチャであり、これにより、汎用の入力/出力接続が実現される。IEEE1394規格は、アプリケーションに対するデジタルインタフェースを定義し、これにより、送信側のアプリケーションは、バスを介してデータ伝送する前に、デジタルデータをアナログデータに変換する必要はない。一方、受信側のアプリケーションは、バスからアナログデータではなくデジタルデータを受信し、したがって、アナログデータをデジタルデータに変換する処理は不要である。IEEE1394規格で要求されるケーブルは、同じ種類の電子機器を接続するため用いられてきた従来の嵩張るケーブルに比べて非常に細い。IEEE1394バスは、バスがアクティブの状態で、バスに電子機器を追加したり、バスから電子機器を取り外したりすることができる。機器をこのように追加したり取り外したりする場合、バスは、現在存在するノード間でデータを伝送するために自動的に自らをはい構成する。ノードは、バス構造において固有のアドレスを持つ論理的エンティティとみなされる。各ノードは、識別ROM、標準化された1組の制御レジスタ、及びそれぞれのアドレス空間を有する。
【0024】
図1に示すネットワークシステム5が用いるIEEE1394通信規格は、デジタル符号化情報のアイソクロノスデータ転送をサポートしている。アイソクロノスデータ転送は、有意なインスタンス間の時間間隔が、送信側及び受信側の両方のアプリケーションにおいて同じ期間を有するリアルタイムデータ転送である。アイソクロノス転送されるデータの各パケットは、それ自体の時間間隔で転送される。アイソクロノス転送を行うアプリケーションとしては、例えば図1に示すVTR12からTV11へのデータ転送等である。VTR12は、映像及び音声を記録し、そのデータを離散的なパケットに格納する。そして、VTR12は、記録した映像及び音声を表す各パケットを限られた時間間隔でTV11に転送し、その時間間隔の間にTV11は映像を表示する。IEEE1394規格バスアーキテクチャは、アプリケーション間のアイソクロノスデータ転送のために複数のチャンネルを提供する。特に、6ビットのチャンネル番号がデータともに報知され、これに基づいて適切なアプリケーションが確実にデータを受信することができる。これにより、複数のアプリケーションがバス構造を介してアイソクロノスデータを同時に伝送することができる。一方、非同期データ転送は、従来のデータ転送動作であり、非同期データ転送では、ソース機器から転送先機器に大量のデータができるだけ高速に伝送される。
【0025】
インテリジェント制御装置
本発明が提供するパネルサブユニットのユーザインタフェースとしての機能は、インテリジェント制御装置において実現される。インテリジェント制御装置は、ユーザに指定され、一定の基本的な入力機能及び基本的な表示機能を備えていれば、ネットワークシステム(例えば、図1に示すネットワークシステム5)に接続されているいかなる機器であってもよい。本発明の一実施形態においては、STB13及びTV11がインテリジェント制御装置として機能する。これに代えて、コンピュータシステム14をインテリジェント制御装置として機能させてもよく、また、TV11のみをインテリジェント制御装置として用いてもよい。また、例えば、携帯情報端末(PDA)、携帯電子機器、携帯電話等の表示機能と入力機能を有するあらゆる電子機器をインテリジェント制御装置として機能させることができる。この実施形態においては、インテリジェント制御装置は、ネットワークシステム5内の他の、離れたターゲット装置におけるイベントを制御するためのユーザインタフェースを提供する電子機器である。これに関連して、インテリジェント制御装置は、表示装置及び情報入力装置と通信を行う。インテリジェント制御装置の表示及び入力能力によって、インテリジェント制御装置がユーザに提供するユーザインタフェースの種類が定まり、本発明が提供するパネルサブユニットは、拡張可能な(scalable)ユーザインタフェースを定義することができる。
【0026】
図2は、インテリジェント制御装置、この実施形態ではSTB13の構成を示すブロック図である。STB13は、情報を送受するアドレス/データバス(以下、単にバスという。)100と、バス100に接続され、情報及びコマンドを処理する中央処理装置101と、バス100に接続され、中央処理装置101が処理する情報及びコマンドを記憶する揮発性メモリ(例えばランダムアクセスメモリ(RAM))102と、バス100に接続され、中央処理装置101が処理する静的な情報及びコマンドを記憶する不揮発性メモリ(例えば読出専用メモリ(ROM))103とを備える。さらに、STB13は、バス100に接続され、情報及びコマンドを格納する磁気ディスク又は光ディスク、及びそのディスクドライブ等から構成されるデータストレージ装置(ディスクサブシステム)104を備える。また、一実施形態においては、表示装置105は、インテリジェント制御装置の一部としてもよい。この実施形態においては、図2に示すように、表示装置105(例えば図1ではTV11)は、STB13の外部機器である。表示装置105をインテリジェント制御装置に組み込む場合、表示装置105は、表示画面(例えば、フラットパネル又は陰極線管等)を有する表示装置、液晶表示装置、及び/又は文字数字情報及び図形情報を表示する他の表示装置であってもよい。
【0027】
また、インテリジェント制御装置13は、1つ以上のユーザ入力装置に接続され、又は備える。一実施形態において、入力装置は、文字数字キー及びファンクションキーを有する文字数字入力装置106を備え、文字数字入力装置106は、バス100に接続されており、中央処理装置101に情報及び選択したコマンドを送る。これに代えて又はこれに加えて、インテリジェント制御装置13は、カーソルコントローラ又はカーソル指示装置107に接続され又は備え、カーソル指示装置107は、バス100に接続されており、中央処理装置101にユーザ入力情報及び選択したコマンドを送る。カーソル指示装置107としては、マウス、トラックボール、トラックパッド、電子パッド及びスタイラス、光トラッキング装置、タッチスクリーン等の様々な周知の装置を用いることができる。さらに、入力装置は、赤外線信号通信機能を有する遠隔制御装置、例えば多数のボタン、ダイヤル等を備えた汎用の遠隔制御装置であってもよい。また、STB13は、バス100に接続され、IEEE1394バスを介して他のネットワーク機器に接続される信号生成装置108を備えている。
【0028】
本発明に基づくターゲット装置もまた、図2を用いて説明したような構成要素の1つ以上を備える。特に、本発明に基づくターゲット装置は、コンピュータ読取可能なメモリユニットを備え、このメモリユニットは、後述する本発明が提供するパネルサブユニットに関する情報を記憶する1つ以上のROM及び/又はRAMを備える。
【0029】
本発明が提供するパネルサブユニット
本発明は、「パネル」サブユニットと呼ばれるサブユニットの種類を定義する。パネルサブユニットは、ターゲット装置に対して定義されており、ネットワークシステム5内のインテリジェント制御装置(例えばSTB13)においてユーザインタフェースを生成するための特徴を示している。パネルサブユニットは、複数のターゲット装置に対して定義することができ、したがって、ネットワークシステム5は、複数のパネルサブユニットを有することができる。特定のターゲット装置では、そのパネルサブユニットは、その特定のターゲット装置自身が備えるコンピュータ読取可能なメモリユニットにデータ構造として格納されている。
【0030】
図3は、ターゲット装置の一例である、図1に示すVTR12の斜視図である。通常、どの電子機器もそれ自体のパネルサブユニットを備えることができ、したがって、ターゲット装置になり得るが、以下では、ターゲット装置の代表として、VTR12を例示して本発明を説明する。VTR12は、ビデオテープを出し入れするためのビデオテープスロット212を備えている。また、VTR12は、1つ以上の液晶表示装置(LCDパネル)214を備えている。
【0031】
VTR12は、図4に示すように、操作パネル220を備え、操作パネル220を開き倒す(flip-down)と、様々な構成要素、すなわち操作子及び更なる表示装置が現れる。すなわち、操作パネル220は、もう1つのLCD表示装置240と、スクラブ操作子又はダイヤル230とを備える。さらに、操作パネル220は、テープ駆動操作子(再生、ポーズ、停止、巻戻し、早送り、ボタン等)を備えている。また、操作パネル220を開き倒すと、チューナプリセットボタン225が現れる。本発明では、各電子機器は複数の論理操作パネルを備えることができる。この実施形態においては、VTR12は、2つの論理サブパネルを備える。第1のサブパネルは、開き倒し型の操作パネル220の操作子及び表示装置を含み、第2のサブパネルは、ビデオテープスロット212及びチューナプリセットボタン225を含んでいる。さらに、LCDパネル214を定義する他のサブパネルを設けることができる。
【0032】
図5は、本発明に基づいて設けられるVTR12における幾つかのサブユニットの論理的ブロック図である。周知のAV/Cプロトコルにおいて、サブユニットは、物理的ユニットではなく、論理的ユニットであり、電子機器内で個別にアドレス指定され、制御される機能をグループ化したものである。例えば、VTR12は、2つのサブユニットを備えることができ、一方のサブユニット312は、実際のVTRのテープ駆動機構に対応し、他方のサブユニット320は、チューニング機能に対応する。本発明におけるパネルサブユニット314は、VTR12に関して追加された新たな論理的サブユニットである。後述するように、パネルサブユニット314は、例えばVTR12のようなターゲット装置内のコンピュータ読取可能なメモリユニット内に格納されたデータ構造として実現される。なお、第1の装置(メモリ容量が限られている)のサブユニットを第2の装置(メモリ容量が十分である)内に設けてもよく、この場合、第2の装置は、操作子として機能する。
【0033】
パネルサブユニット314は、「記述子」と呼ばれるデータ構造の集合であり、記述子は、ターゲット装置の(例えば操作パネルの)物理的操作子を記述する。実際の処理動作において、インテリジェント制御装置(例えばSTB13)は、ターゲット装置のパネルサブユニット314にアクセスし、これに基づいて、ターゲット装置(例えばVTR12)を制御するために用いるユーザインタフェースを生成する。ユーザインタフェースは、図2を用いて説明したように、表示装置(例えばTV11)及びインテリジェント制御装置に接続されたユーザ入力装置を備える。パネルサブユニット314の仕様は、民生用電子機器が通常備える押しボタン、スライダ、ダイヤル、LCD画面等の標準的な種類の操作子及び表示装置を定義する。例えば、記述子は、図3及び図4に示すパネルサブボタン、ダイヤル、LCD画面等を定義する。
【0034】
パネルサブユニット314により定義された操作子は、十分に定義された機能を有する。例えば、ボタンは、押圧又は押圧解除されるという2つの値を有し、スライダは、複数の離散的値又は一定の範囲の連続値を有する。さらに、記述子において、幾つかの標準的な種類の操作子を組み合わせて、ハイブリッド型の操作子又はカスタマイズされた操作子を形成することもできる。例えば、中央に押しボタンが設けられたダイヤルや、内部にLEDを備えたボタン等がある。本発明が提供するパネルサブユニットは、このような操作子が混成された構造もサポートする。さらに、製造メーカが独自に設計した操作子を定義してもよい。
【0035】
標準的な種類の操作子に加えて、本発明が提供するパネルサブユニット314は、これらの操作子に対して施すことができる操作に対応したコマンドのセットを定義する。これらのコマンドは、殆どの種類の操作子に適応するように、十分な汎用性を有するように定義される。例えば、インテリジェント制御装置によって発行されるコマンドSET CONTROL VALUE(操作子1、6)により、音量の変化を表すボリュームスライダは、音量の値が6となるように設定される。同様に、コマンドSET CONTROL VALUE(操作子5、「トラック名を入れて下さい」)のように、異なるオペランドを有する同じ種類のコマンドを発行することもでき、これにより、ミニディスクレコーダのLCDに、このテキストが表示され、ユーザは、ディスクのトラック名を入力するように促される。さらに、パネルサブユニット内において、幾つかのコマンドは、ある種類の操作子に対して固有のものとすることができる。
【0036】
また、パネルサブユニット314は、ユーザインタフェースの操作子に適用することができる「ユーザとの対話的操作コマンド」又はユーザイベントを定義する。これらの汎用ユーザイベントの目的は、操作子に対する典型的なユーザの操作動作を簡略化し、ターゲット装置にユーザイベントの意味を解釈実行させ、これらのユーザイベントが起こったときに、インテリジェント制御装置の処理負担を軽減することにある。例えば、多くのCDプレーヤにおける早送りボタンは、以下のように、機器の状態に応じて複数の意味を有する。
【0037】
【表1】
【0038】
このように、ターゲット装置の動作は、ターゲット装置の現在の状態及びユーザが物理的操作子をどのように操作するかに応じて変化する。本発明が提供するパネルサブユニットは、表示されたユーザインタフェースを用いてユーザが対話的にトリガする「押す」、「押して保持する」、「解除」といった異なる幾つかのユーザ操作コマンドを定義する。本発明においては、インテリジェント制御装置は、発行したコマンドに対してターゲット装置がどのように動作するかについては、関知しない。表1に示すような状態遷移に関する情報は、全てターゲット装置で処理される。なお、ターゲット装置は、その物理的操作パネルに対するユーザの操作に対応した処理を行うために、上述のような情報を、既に、適切に保有している。本発明が提供するパネルサブユニットは、これらの論理的エントリポイントにアクセスする他の機構であるとみなされる。
【0039】
ここで、インテリジェント制御装置は、制御するターゲット装置の状態に関する情報を常にユーザに提供し続ける。一実施形態においては、インテリジェント制御装置及びユーザは、家庭又は事務所の一室に存在し、ターゲット装置は別の部屋又は事務所に設置されていることもある。インテリジェント制御装置は、ユーザとの対話的操作要素をどのように解釈実行するかについての所定の知識を有していないので、その表示を、ターゲット装置の最新の状態によって更新し続ける機構を有する必要がある。これは、AC/Cプロトコルに対して定義されている状態報告機構(status reporting mechanism)を利用することによって、実現され、一実施形態においては、本発明が提供する状態記述子データ構造及びパネル状態通知コマンドを用いて実現される。
【0040】
状態記述子データ構造は、動的データ構造(dynamic data structure)であり、本発明が提供するパネルサブユニット314によって、常に最新に保たれている。インテリジェント制御装置は、いつでもこの状態記述子データ構造を調べることができ、ターゲット装置の状態をユーザに示すそのグラフィカル表示を更新することができる。本発明におけるパネル状態通知コマンドにより、インテリジェント制御装置は、ターゲット装置に通知要求を送ることができる。ターゲット装置の状態に何らかの変化が起こり、状態記述子データ構造が変わったとき、ターゲット装置は、インテリジェント制御装置に通知を送る。そして、インテリジェント制御装置は、状態情報に応じて、グラフィカル表示を適切に更新する。
【0041】
AC/Cプロトコルにより、装置(ここではユニットとも呼ぶ)は、同じ種類のサブユニットを幾つでも含むことができる。したがって、装置は、本発明が提供するパネルサブユニットを複数個有することができる。例えば、1つのパネルサブユニットは、図4に示す前面パネルを定義し、他のパネルサブユニットは、開き倒し型の操作パネル220を定義する。さらに、側面パネル又は背面パネルに対応する他のパネルサブユニットを定義することもできる。これに代えて。図6に示すように、単一のパネルサブユニットによって複数の操作子を定義することもできる。この方法では、単一のパネルサブユニットは、階層的に並んだ多くの操作子を含むことができる。本発明に基づく操作子の各リストは、ターゲット装置の操作パネルを示す。これらのリストの全ては、単一のパネルサブユニット314によってアクセスされる。
【0042】
パネルサブユニットデータ構造の一部には、パネル及び操作子のレイアウト画像及び向きを表す幾何学的情報が含まれ、これにより、パネル及び操作子を、ターゲット装置上の物理的外観と同様に、あるいはターゲット装置をある意味で「連想させる」ように表示することができる。標準の操作子を組み合わせてハイブリッド操作子とすることができるとともに、この幾何学的情報をパネルの階層を示すように、例えば前面の開き倒し型の操作パネル220(図4)の背後に隠されたパネルのように定義することができる。このような構造、すなわち基本的な操作子をVTR装置の前面に設け、より高度な操作子を開き倒し型の操作パネル220の背後に設ける構造は、多くのVTRが共通して有するものである。
【0043】
パネルサブユニットのパネル記述子
図6は、ターゲット装置、この実施形態においてはVTR12内のコンピュータ読取可能なメモリユニットに保持されているデータ記述子の情報を説明する図である。図6〜図10及び図13に示すデータ記述子データ構造の全ては、本発明に基づくターゲット装置内のコンピュータ読取可能なメモリユニット内に保持又は実現されている。パネルサブユニット314(図5)は、パネルサブユニット識別子の記述子データ構造340を有する。記述子データ構造340の識別子リストは、パネルサブユニット314でサポートされている主なパネルのそれぞれに対応する識別子を示している。これらのパネルリストのそれぞれには、パネル階層を示し、子リストを有する操作子オブジェクトを含めることができる。例えば、パネルサブユニット識別子の記述子データ構造340の第1の識別子リストは、ターゲット装置の前面パネルに対応し、識別子(例えばポインタ)342を含み、この識別子342は、第2の識別子構造350を指し、第2の識別子構造350は、それ自体2つのサブパネルの記述(例えば、一方はVTR12の前面パネルに対応し、他方は、開き倒し型の操作パネル220に対応する)を含む。パネルサブユニット識別子の記述子データ構造340の第1の識別子リストは、さらに識別子(例えばポインタ)344を含み、この識別子344は、ターゲット装置の背面パネルを記述する別の第2の識別子リスト390を指している。このように、パネルサブユニット314の第1の識別子リストと第2の識別子リストからなる構造により、記述子リスト情報間の階層関係を定義することができ、これにより、パネルとサブパネル間の関係を定義することができる。
【0044】
図6に示す第2の識別子構造350の記述子リストは、汎用リスト情報フィールド352と、LCDパネル214(図3)を記述する1つの操作子オブジェクト記述子354とを含む。本発明における記述子リストには、操作子オブジェクト記述子と、汎用情報と、子記述子リストへのポインタとが含まれる。したがって、記述子リスト内の操作子オブジェクトは、他の記述子リストを指すことができ、操作子オブジェクトと指した記述子リスト間の親子関係(parent-child relationship)を示すことができる。第2の識別子構造350の記述子リストは、ポインタ356を含み、ポインタ356は、「サブパネル1」を記述するために用いる子供の記述子リスト356aを指している。サブパネル1は、この実施形態においては、VTR12の前面パネルの操作子の一部である。さらに、第2の識別子構造350の記述子リストは、ポインタ358を含み、ポインタ358は、「サブパネル2」を記述する子供の記述子リスト358aを指している。サブパネル2は、VTR12の前面パネル操作子の他の部分でる。この実施形態において、サブパネル1用の記述子リスト356aは、VTR12の前面に設けられた操作子、例えばチューナサブユニット320のチューナプリセットボタン225を定義している。サブパネル2用の記述子リスト358aは、VTR12の開き倒し型の操作パネル220の、例えばボタン250、LCD表示装置240、ダイヤル230等の操作子を定義している。
【0045】
あらゆる記述子リストデータ構造と同様に、記述子リスト356a、358aはそれぞれ、各自の汎用リスト情報360、380と、各自の操作子オブジェクトのリストを含んでいる。本発明では、パネル用の操作子オブジェクトを含むリストは、操作パネル自身を記述するために、及びオブジェクトの集合を保持するために使用される。通常、オブジェクトの集合を記述する(パネル記述)情報は、(1)パネル識別子(例えば前面、背面、左側面等)、(2)パネルの幾何学的レイアウト(例えばパネルの大きさ、操作子の向き、グループの定義等)、(3)グループラベル、パネル内におけるグループの境界枠/位置及び他のグループに関連する情報を定義できる操作子の各グループに対するグループ記述、(4)パネルサブユニットの名称等を含む。この具体例を図7に示す。
【0046】
図7は、ターゲット装置の前面パネルのサブパネル1用の第2の記述子リスト358aにおける汎用リスト情報データ構造380に含まれる情報を示すものである。第2の記述子リスト358aは、汎用リスト情報データ構造380と、n個の操作子オブジェクト382〜386とを含む。例示的な汎用リスト情報データ構造380は、フィールド410〜420を有する。フィールド410は、このフィールドが含まれる記述子リスト358aの階層構造における位置又は識別子を示す。例えば、フィールド410は、この記述子リスト358aが前面、側面、背面等の操作パネルを表しているかに関係なく、情報がどの物理的パネルに表されているかを示している。この具体例においては、操作パネル220(図4)は、前面パネルである。フィールド412は、例えば開き倒し、跳ね上げ、フリップアウト、右、左、直接アクセス等、記述子リスト358aが定義された操作パネルにアクセスするために用いられるオープン又はアクセスのオプションを定義する。この場合、操作パネル220(図4)は、「開き倒し」方式のアクセスを有する。フィールド414は、記述子リスト358aが定義される操作パネルの通常の大きさ及び形状(例えば矩形、円形、長方形、三角形、多角形等)を定義する。この具体例において、操作パネル220は、矩形である。
【0047】
図7に示すフィールド416〜420は、記述子リスト358aが定義される操作パネル内のグループの定義に用いられる。グループは、同様の特定の操作子機能を区分し、又は同様の機能又は特徴を制御するために用いることができる。例えば、VTR12のテープ駆動機構の制御に関するボタンを1つのグループに割り当て、VTR12のチャンネル選択又はボリューム設定に関するボタンを別のグループに割り当てることができる。グループは、本発明において、特別な機能を有し、例えば、インテリジェント制御装置の表示画面上に空間的に別々に同時に表示されるとともに、他の定義された属性を共通に有することができる。フィールド416は、記述子リスト358aに対して定義されたグループの数を示し、フィールド418〜420は、例示的な幾つかのグループに関するグループ記述情報を示す。
【0048】
図7に示すフィールド430〜438は、例示的なグループ(n−1)用のフィールド420に含まれる例示的なグループ記述情報を示す。フィールド430は、このグループに対して定義された操作子オブジェクトの数を含んでいる。フィールド432は、このグループに固有のグループ識別番号又は文字列を示し、操作子オブジェクトによる識別に使用される。定義されたグループに含まれる各操作子オブジェクトは、そのオブジェクト記述内にフィールド432(後述)を含む。フィールド436は、操作パネルにおいてこのグループが含まれる空間的な境界枠を示す。この情報は、ユーザインタフェースのレイアウトにおいて、このグループが他の定義されたグループに対してどこに存在するかを示し、また、インテリジェント制御装置の表示画面上に操作パネルの画像を表示するために用いられる。フィールド438は、インテリジェント制御装置の表示装置が画像又は詳細な情報を表示するのに十分な能力を有さない場合に、このグループの操作子オブジェクトへのアクセスを提供及び表示するために使用されるグループラベルを示す。フィールド438は、一実施形態において、情報のタブ付きのパネル表示におけるタブインデックスとして使用できる文字列又はテキストラベルを含む。タブ付きのパネル表示において、全てのグループに対して定義された全てのタブは、表示画面の縁に沿って表示され、グループは、1つのタブ又は別のタブを選択することにより、選択的に表示される。
【0049】
図8は、本発明が提供するパネルサブユニットに基づく操作子オブジェクト382のデータ構造を示す図である。例示的な操作子オブジェクト382は、記述子リスト358aに含まれている。一実施形態において、本発明が提供するパネルサブユニットは、AV/Cオブジェクト及びオブジェクトリストデータ構造によって、その情報をインテリジェント制御装置に提供する。これらのデータ構造は、データ構造のオーナに基づいて内容が特化された汎用コンテナである。本発明が提供するパネルサブユニットは、操作子のリスト(例えば記述子リスト358a)を含み、各操作子は、このリスト内の操作子オブジェクトによって表される。本発明においては、操作子オブジェクトとして、ユーザ入力装置(例えばボタン、スライダ、トグルスイッチ等)を定義できるとともに、情報表示装置(例えばLCDパネル、ダイヤル等)を定義することもできる。
【0050】
図8に示す操作子オブジェクト382の情報は、図3に示すLCDパネル214を示している。フィールド440は、定義されている操作子オブジェクトの種類を記述する。この場合、操作子オブジェクトの種類は「LCDパネル」である。情報を表示する他の操作子の種類としては、例えば「表示装置」、「ダイヤル」、「CRT表示装置」、「LED」、「文字/数字表示装置」等がある。また、情報入力装置の他の操作子の種類としては、例えば「ボタン」、「スライダ」、「回転操作子」、「トグルスイッチ」、「ロッカスイッチ」等がある。フィールド442は、操作子オブジェクトの画像を含んでいる。この画像情報は、通常、ラスタデータ(ビットマップ)であり、色情報及び他の属性を含む。この特定の具体例においては、操作子画像442aは、LCDパネル214を表すLCD表示装置の外観の形状及び特徴である。また、フィールド442には、所定の表示順序でアニメーションを表示するために用いられる画像を含むこともできる。フィールド444は、操作子画像442aの大きさを表し、一実施形態では、この大きさは、画面の座標(x,y)で表される。多くの画面の大きさを有するアプリケーションに対してこれらの座標を一般化するために、座標(x,y)の値を、例えば表示画面の左上隅を座標位置(0,0)と定め、相対的に表すようにしてもよい。
【0051】
図8のフィールド446は、この操作子オブジェクト382に対応するグループ識別子又は名称である。操作子は、本発明が提供するパネルサブユニットによって定義されるレイアウト情報に基づいて幾つかのグループにグループ化できる。操作子オブジェクトは、必ずしも何らかのグループに関連する必要はなく、したがって、このフィールド446は、任意項目である。この操作子オブジェクト382があるグループに関連付けられている場合、フィールド448は、操作子オブジェクト382が属するグループの枠448b内における相対的な位置448aを表している。この情報は、座標値で表すこともできる。フィールド450は、ユーザイベントに応じて、この操作子オブジェクトが取り得る許容可能な又は有効な値の範囲を表す。また、このフィールド450は、データタイプの指標(例えば整数、浮動小数点等を示す16ビット)を含むこともできる。表示装置のオブジェクトの場合、フィールド450は、操作子オブジェクト内に表示できる文字又はアイコンのセットを表す。また、ユーザ入力装置のオブジェクトの場合、フィールド450は、この操作子オブジェクトによって設定できる値の範囲を示す。操作子オブジェクトがスライダである場合、値の範囲は適用である。操作子オブジェクトがボタン又はトグルスイッチである場合、操作子に対しては、2つの状態(例えば0又は1)のみが有効である。
【0052】
図8のフィールド452は、任意項目であり、操作子オブジェクト382が起動されたときに発行されるコマンドと等価のAV/Cコマンドを表す。このAV/Cコマンドは、操作子オブジェクトが呼び出されたとき、インテリジェント制御装置によりネットワークシステム5を介して送信することができる。ターゲット装置が、操作子オブジェクトの変化を解釈する能力を有し、AV/Cコマンドを用いることなくインテリジェント制御装置と通信する能力を有しているので、フィールド452は、任意項目である。パネルサブユニットは、この具体例では、VTR12である。これらの操作子を操作することにより、ターゲット装置内の他のサブユニットの状態が変更されることもある。フィールド454の値は、どのサブユニット(サブユニットの種類及びID)がこの操作子オブジェクトの影響を受けるかを示す。フィールド454は、同様に任意項目であり、操作子オブジェクトに関連付けられたターゲット装置を示す。また、この情報は、操作子オブジェクト382内に任意項目として含まれるが、ターゲット装置が最初からパネルサブユニットを含んでいるので、インテリジェント制御装置によって維持される。
【0053】
フィールド456は、操作子オブジェクトに関連付けることができる識別子又は名称文字列である。インテリジェント制御装置の表示装置の性能が高くない場合、フィールド456は、操作子オブジェクトの基本的な文字記述をユーザインタフェースの機能に少なくとも表示するために用いることができる。フィールド458は、ユーザによりヘルプ機能が使用される場合に、インテリジェント制御装置に表示できるヘルプ文字列を格納する。ヘルプ文字列は、操作子オブジェクトが何を行うかを説明する。このヘルプ文字列を拡張し、操作子オブジェクトの各状態を説明するヘルプ文字列を提供することもできる。さらに、ヘルプ文字列は、操作子オブジェクトを識別するとともに、操作子オブジェクトの使用方法、目的、期待される機能、有効な値の範囲等のヒントを与えることもできる。
【0054】
図9は、図4に示す開き倒し型の操作パネル220に設けられた複数のボタン250のうちの押しボタンに対応する具体的な操作子オブジェクト384に関する情報を示す。この具体例では、VTR12のボタンとして「再生」ボタンを示す。フィールド460は、操作子オブジェクトの種類を「ボタン」と定義している。フィールド462は、操作子オブジェクトを表示するために用いることができる複数の画像又は「アイコン」を含むことができる。アイコンは、操作子オブジェクトの異なる状態を、例えばボタンの押圧又は解除を異なってハイライトするように表示することができる。この場合、フィールド462は、異なる状態(すなわち押した状態、解除状態)のボタンの画像を表す複数のアイコンを含む。画像462aは押されたボタンの画像を、画像462bは押圧が解除されたボタンの画像を示す。フィールド464は、フィールド462に格納された画像の大きさを表し、フィールド466は、操作子オブジェクト384がグループに属している場合、そのグループのグループ識別子を表す。この場合、図4に示す全てのボタン250は、VTR12のテープ駆動機構を制御するためのものであるため、単一のグループに集められ、グループ識別子は「テープ機構」であり、このグループは、図7に示すデータ構造において予め定義されている。
【0055】
フィールド468は、グループ境界枠468b内における操作子オブジェクト384の相対位置468aを表す。この場合、操作子オブジェクト384は、複数のボタン250のうちの左から3番目のボタンを表している。フィールド470は、ボタンによって示すことができる可能な値の範囲を表し、この場合、範囲は0〜1であり、値は整数である。操作子オブジェクトがスライダである場合、可能な値の範囲(例えば0〜10)は、整数又は浮動小数点で表すことができる。
【0056】
任意項目であるフィールド472は、「再生」に対応するAV/Cコマンドを表し、操作子オブジェクト384が押されたときに、インテリジェント制御装置によって送信することができる。ユーザイベント、例えば押圧が発行したとき、標準のAV/Cコマンド、例えばVTRサブユニット再生コマンドと同様に機能する。任意項目であるフィールド474は、ターゲット装置(この具体例ではVTRサブユニット)のネットワーク識別番号を表す。フィールド476は、操作子オブジェクト、すなわち「再生」に関する識別子又は文字列を表すことができる。インテリジェント制御装置の表示装置の性能が高くない場合、フィールド476は、ユーザインタフェースの機能に提供される操作子オブジェクトの文字記述を少なくとも提供するために用いることができる。フィールド478は、ユーザによりヘルプ機能が使用される場合に、インテリジェント制御装置の表示装置に表示できる、例えば「再生ボタンを押すと、VTR内のテープの再生が開始されます」等のヘルプ文字列を含む。また、ヘルプ文字列により、例えば「再生ボタンは使用できません。VTR内にテープがありません」等、操作子オブジェクトが特定の状態にある理由の記述にも用いることができる。
【0057】
なお、図8及び図9を用いて説明した操作子オブジェクトは、操作子オブジェクトの単なる例示であり、他の同様な操作子オブジェクトの記述により、全ての操作パネルにおけるVTR12の全ての入力及び表示装置に対するユーザインタフェースを実現することができる。さらに、図6に示す他の操作子オブジェクトのそれぞれも、本発明に基づいて同様に定義することができる。
【0058】
図10は、パネルサブユニット状態記述子500を示す。本発明に基づくパネルサブユニット314も、パネルサブユニット状態記述子500のデータ構造を有している。パネルサブユニット状態記述子500は、ターゲット装置に設けられたコンピュータで読取可能なメモリユニットに格納されるデータ構造であり、本発明が提供する特定のパネルサブユニットについて定義された全ての制御オブジェクトの現在の状態を示す。パネルサブユニット状態記述子500において保持される情報は、動的であり、本発明のパネルサブユニット314により随時更新される。パネルサブユニット状態記述子500において、それぞれの操作子状態フィールドは、定義されたそれぞれの操作オブジェクトに対応して保全される。パネルサブユニット状態記述子500の内容が変更された場合、予め変更の通知を受信するように指定された任意のインテリジェント制御装置に通知が送られる。全てのパネルサブユニット状態記述子500は、2つの主領域を有する。一方の主領域510は、パネルサブユニットの汎用状態情報を格納し、他方の領域512は、各操作子リスト階層構造のために定義されている。各操作子リスト領域内には各操作子の状態情報が格納される。状態情報には、操作オブジェクトの現在の状態(ボタンは、現在、押圧されている等)と、操作オブジェクトの現在の値(LCDパネルは、現在、テキスト「トラック名を入力して下さい」を表示している等)とを含む。
【0059】
実際の動作では、インテリジェント制御装置は、パネルサブユニット状態記述子500のそれぞれの操作子リスト又は汎用領域に通知を要求する。これらの領域に変更が生じた場合、その変更はインテリジェント制御装置に通知される。また、インテリジェント制御装置が通知を要求しなかった領域の変更については、インテリジェント制御装置に通知されない。このような処理により、様々なインテリジェント制御装置及びターゲット装置は、不必要なメッセージを送信しないため、システムネットワークの帯域幅を有効に利用することができる。
【0060】
図10に例として示すパネルサブユニット状態記述子500は、第1の状態リスト505を備え、第1の状態リスト505は、パネルサブユニット314用の汎用情報フィールド510と、他の主状態リストへのポインタ512、514を含む。ポインタ512は、前面パネルの状態を示す状態リスト535を指示する。状態リスト535は、前面パネル用に定義された各操作オブジェクトのための状態フィールドを有する。ポインタ514は、この具体例では、左面パネル用の状態リスト516を指示する。状態フィールド518は、前面パネルに関する操作オブジェクトの汎用状態情報、例えばパネルが開いているか、閉じているかといった情報を示す。フィールド520は、前面パネルについて定義された操作オブジェクト0の現在の状態/値を示す。同様に、フィールド522は、前面パネルについて定義された操作オブジェクト1の現在の状態/値を示す。
【0061】
フィールド526は、前面パネルのサブパネル1に関して定義された操作オブジェクトの状態/値を示す操作子リスト530へのポインタである。これらの操作オブジェクトは、記述子リスト356a(図6)に関連して定義される。操作子リスト530内において、それぞれの操作状態フィールドは、各操作オブジェクトに対応して定義されている。状態リスト535におけるフィールド528は、前面パネルのサブパネル2に関して定義された操作オブジェクトの状態/値を示す操作子リスト532へのポインタである。これらの操作オブジェクトは、記述子リスト538a(図6)に関連して定義されている。操作子リスト532において、各操作状態フィールドは各操作オブジェクトを定義する。
【0062】
図11は、本発明が提供するパネルサブユニットを用いて行われる処理手順700の各ステップを説明するフローチャートである。処理手順700は、ネットワークシステム5に接続されたインテリジェント制御装置及びターゲット装置に設けられたコンピュータにより読取可能なメモリユニットに格納されたプログラムコードとして実現される。ステップ710において、例えばSTB13及びTV11(ディスプレイとして使用)等のインテリジェント制御装置は、ネットワークシステム5に接続された電子機器のロケーションを確認する。この処理には周知のIEEE1394通信プロトコルが利用される。ステップ712において、インテリジェント制御装置は、ネットワークシステム5に接続したターゲット装置のコンピュータで読取可能なメモリユニットを読み取り、このターゲット装置が定義されたパネルサブユニット314のデータ構造を有していることを検出する。ステップ714において、インテリジェント制御装置は、ターゲット装置の記述子情報及び現在の状態記述子テーブルをダウンロードし、このダウンロードした情報に基づいてインテリジェント制御装置のディスプレイにユーザインタフェースを表示する。インテリジェント制御装置のメモリリソースに制限がある場合には、パネルサブユニット情報はダウンロードされ、部分的に処理される。
【0063】
ステップ714において、パネルサブユニットの制御オブジェクトは、ユーザインタフェースのために、ユーザが操作入力可能な要素及び各情報ディスプレイの外観、形状、所属グループ、配設位置を記述を記述する。インテリジェント制御装置の表示能力が限られている場合、グループ及び制御オブジェクトを示すテキスト文字列が表示さる。これらの文字列は階層構造形式(例えば、タブパネルディスプレイを用いて)で表示することもできる。
【0064】
図11に示すステップ716において、インテリジェント制御装置は、ユーザインタフェースを用いて、所定のユーザイベント又は汎用ユーザイベントを介してユーザとインタラクトする。各操作オブジェクトは、オブジェクトタイプを有し、各オブジェクトタイプはその操作オブジェクトに対して行われる可能性のあるユーザ操作を定義している。例えば、ボタンに対しては「押圧」、「押圧及び保持」、「押圧解除」等の操作が可能であり、スライダ及び回転操作子は、「値の設定」等の操作に対応する。トグルスイッチは、2つの位置間を移動し、例えば、「右に移動」又は「左に移動」、あるいは「上に移動」又は「下に移動」される。他のユーザイベントとしては、例えばSER TEXT VALUE、すなわちテキスト値の設定や、SET VALUE、すなわち数値の設定等がある。これらのユーザイベントは、制御オブジェクト自身により定義され、インテリジェント制御装置は、あらゆるターゲット装置に関するこれらのイベントの意味を解釈する必要はない。
【0065】
ステップ716において、キーボード、マウス、マウスボタン、リモート制御装置、ペン及びスタイラス、光ポインタ、ジョイスティック等、ユーザ入力装置のタイプにかかわらず、インテリジェント制御装置は、インテリジェント制御装置は、これらのユーザ入力装置とユーザとの間の相互作用を、本発明のパネルサブユニット314によって認識される汎用ユーザイベントコアに変換する。例えば、ボタン操作オブジェクトは、それをマウスで選択するか、あるいはキーボード又は遠隔制御ボタンを押して選択することにより、「押圧」され、続いて「押圧解除」される。いずれの場合も、ユーザイベントは、操作オブジェクトについて「押圧」し、「押圧解除」する。
【0066】
図11に示すステップ718において、インテリジェント制御装置により検出されたあらゆるユーザイベントは、ネットワークシステム5を介してターゲット装置に送信される。そして、ターゲット装置は、ユーザイベントを解釈し、そのプログラムに基づいて適切な処理を行う。ステップ718においてターゲット装置に使用されるプログラムは、ターゲット装置に物理的に設けられている入力操作子よる直接操作に対応するために、ターゲット装置が予め有しているプログラムと同一である。この場合、既に物理的操作子が設けられているターゲット装置には、これらの操作子がユーザに操作された場合に必要な処理がプログラミングされている。本発明は、ターゲット装置が予め備えているこの機能を活用する。本発明が提供するパネルサブユニット内に定義された操作オブジェクトの1つ以上の状態の変更は、受信されたユーザイベントによりトリガされる。状態の変化に伴い、パネルサブユニット状態記述子500が変更され、これによりインテリジェント制御装置に状態の変更が通知される。
【0067】
ステップ720において、インテリジェント制御装置は、状態記述子をダウンロードし、どの操作オブジェクトが状態を変更したかを判断する。続いて、インテリジェント制御装置は、表示中のユーザインタフェースを変更して、この状態変更を反映させる。例えば、ボタンが解除状態から押圧状態に変更された場合、インテリジェント制御装置は、押圧状態にあるボタンの新たなイメージを表示する。また、VTRテープ機構の状態がスタンバイから再生に変更された場合、LCDパネル214内の画像は、テープ再生を示すアニメーションを再生する。ステップ722において、汎用ユーザイベントにより、ターゲット装置は所定の処理、例えば再生、一時停止等を実行する。ステップ724において、次のユーザアクションが確認されると、処理はステップ716に戻る。
【0068】
実際の動作において、インテリジェント制御装置は、状態テーブルを保全したり、ユーザイベントを解釈するといった処理を負担しない。これらの解釈は、ターゲット装置側で実行され、これにより、パネルサブユニットは、新たな標準操作タイプに適応する優れた柔軟性を有する。さらに、ディスプレイの表示形式に幅を持たせることにより、本発明は、高性能なディスプレイを備えるインテリジェント制御装置から、ディスプレイの性能が低いインテリジェント制御装置まで幅広く対応する柔軟性を有するユーザインタフェースを提供する。本発明が提供するパネルサブユニットは、汎用ユーザ入力イベントと、ユーザ操作又は入力イベントの制限された組を定義するコアデータ構造と、ディスプレイ要素を定義し、基本通信プロトコルが使用される。
【0069】
図12〜図14は、本発明の他の実施例を示す。図12は、本発明を適用したパネルサブユニットを用いて、ターゲット装置のためにシミュレートされた、すなわち「仮想」キーボード540を示す。仮想キーボード540は、「ブラックボックス」装置の制御に使用できる。「ブラックボックス」装置とは、それ自体は物理的なキー又はLEDを備えず、その操作パネルが純粋に仮想的である装置をいう。この具体例においては、ブラックボックス装置は物理的なキーボード装置を備えておらず、インテリジェント制御装置にアクセスされることによってのみ、その機能が実行される。1つの例としては、ターゲット装置は、ソフトウェア、例えばウェブサーフィン又は同様のタスク等のユーザ入力を必要とするインテリジェントテレビジョンのサブパネルである。
【0070】
仮想キーボード540は、それぞれがキー又はLEDを定義する操作子のグループを備えている。各要素は、それ自身の制御オブジェクトにより示される。図12に示す仮想キーボード540は、様々なサイズ及びレイアウトを有する幾つかのグループ(例えば、メインキー、機能キー、キーパッドキー等)を備えている。第1のグループ542には、ESC(エスケープ)キーのみが含まれ、機能キーF1〜F(n)は、グループ544にグループ化されている。数値キー及びオペレータキーは、グループ548にグループ化されている。さらに、NmuロックLED554、capsロックLED556、scrロックLED558が設けられている。電源キー560は、LED552が組み込まれた特別な(Special)ボタン550とともに示されている。ボタン550に組み込まれているLED552は、適切なパネルサブユニットコマンドに対応して点灯又は消灯されるよう設計されている。このLEDを備えるキーは混合操作オブジェクトとしてモデル化される。グループ565は、これらのLED554、556、558、552と、電源キー560と、ボタン550とを包含する。
【0071】
図13は、本発明の1実施例として、ハイブリッドボタン550を実現するために必要な、パネルサブユニット内の操作オブジェクト記述子情報を示す図である。フィールド572〜578は、操作オブジェクトを定義するフィールド572は、操作オブジェクトが「混合(ハイブリッド)」タイプであることを定義している。フィールド574は、この混合タイプ操作オブジェクトに2つの操作オブジェクト定義が含まれることを示している。フィールド576は、操作オブジェクト610(操作子0)へのポインタであり、フィールド578は、操作オブジェクト640(操作子1)へのポインタである。
【0072】
操作子0、すなわち操作オブジェクト610について、フィールド612は、オブジェクトのタイプがボタンであることを示し、フィールド614は、ボタン画像614aを示す。フィールド616は、ボタンサイズ(x,y)を示し、フィールド618は、グループ565のグループ識別子を示す。フィールド620は、グループ565の境界枠内のおけるボタン550相対的位置を示す。フィールド622は、ボタン550の値の範囲(例えば、0,1)を示す。フィールド624は、任意項目であり、ボタン550の状態に対応するAV/Cコマンドを示す。フィールド626は、任意項目であり、ターゲット装置の識別子を示す。フィールド628は、ディスプレイがテキストのみしか表示できないタイプである場合に用いられる、文字列「Special」を格納する。ヘルプ文字列が存在する場合、フィールド630は、このヘルプ文字列を格納する。
【0073】
操作子1、すなわち操作オブジェクト640について、図13に示すフィールド642は、オブジェクトのタイプはLEDであることを示し、フィールド644は、例えばオン状態を示す緑、及びOFF状態を示す黒等といったLEDに関する異なる画像を格納している。フィールド646は、LED画像サイズ(x,y)を示し、フィールド648は、グループ565の識別子を格納する。フィールド650は、グループ565の境界枠内におけるLED552の相対位置を示す。フィールド652は、ボタン550の値の範囲(例えば、オン及びオフ)を示す。フィールド654は、任意項目であり、LED552の状態に対応するAV/Cコマンドが存在する場合に、そのAV/Cコマンドを示す。フィールド656は、任意項目としてターゲット装置の識別子を示す。フィールド658は、ディスプレイがテキストのみしか表示できないタイプである場合に用いられる、LED552を示す文字列を格納する。ヘルプ文字列が存在する場合、フィールド630は、このヘルプ文字列を格納する。この図13に示す例に基づいて、図12に示す他の操作オブジェクトも実現できる。
【0074】
図14は、図12に示す仮想キーボード540に対する対話的操作によって、インテリジェント制御装置とターゲット装置間で実行される処理を示す図である。ステップ805において、インテリジェント制御装置は、ターゲット装置に対し、仮想キーボード540に関する状態記述子に関するあらゆる変更についての通知を要求する。ステップ830において、ターゲット装置は要求807を受信し、要求807を受理したことを示す暫定信号832をインテリジェント制御装置に送信する。ステップ810において、ユーザは、仮想キーボード540に対して対話的操作、例えばグループ546におけるCaps Lockキーを「押圧」したことを示すユーザイベントを発生させる操作を行う。Caps Lockキーに対する「押圧」ユーザイベント812は、ターゲット装置に送信される。
【0075】
ステップ835において、ターゲット装置は、自らのプリセットプログラムに基づいて、このユーザイベントにより要求された処理を実行する。状態記述子に変更が加わり、これによりターゲット装置により状態応答(押圧コマンド)が生成される。ステップ835において、ターゲット装置は、Caps Lockキーが押圧状態にあることを示す新たな状態情報837をインテリジェント制御装置に送信する。インテリジェント制御装置は、この新たな状態情報837を受信した後、インテリジェント制御装置は、ディスプレイ上のCaps Lockキーの表示を押圧状態を示す表示に変更する。ステップ840において、ターゲット装置は、副次効果(side effect)、Caps Lock LEDをオフ状態からオン状態に変更する。これにより状態記述子が変更され、状態更新メッセージがターゲット装置により生成される。この状態の変更は、状態記述子の変更に応答するメッセージ822として、インテリジェント制御装置に送信される。インテリジェント制御装置は、メッセージ822に応答して、ターゲットデバイスの状態記述子845を読み出し、どの操作オブジェクトが状態を変更したかを判定する。この判定により、LED556がオフ状態からオン状態に変更されたことを示す値827が返される。新たな状態情報に応じて、インテリジェント制御装置は、ステップ825において、LED画像を新たな状態、すなわちオン状態に更新する。
【0076】
なお、ステップ840において、ターゲット装置の物理的な操作子が直接操作された場合でも、状態記述子が同様に変更され、状態変更の通知が生成されてインテリジェント制御装置に送信される。このような動作によっても、上述と同様に、インテリジェント制御装置のディスプレイに表示されたユーザインタフェースが変更される。この処理は、繰り返し行うことができる。
【0077】
本発明の1実施の形態においては、例えばユーザが見ることができ、人間が操作できる物理的な操作子又はディスプレイ等を装置能力を有する具体例に基づいて本発明が説明される。しかしながら、本発明におけるパネルサブユニットは、物理的に操作可能な外部ボタンを有さない装置に内蔵(built-in)された機能にアクセスするように拡張することもできる。例えば、多くのデジタルセットトップボックスは、1つ以上のMPEG2デコーダを内蔵し、これらは非常に有用なメディア処理機能を有している。しかしながら、MPEG2機能を制御するための操作子を備える装置は希である。一方、本発明が提供するパネルサブユニットは、MPEG2デコーダとのインタフェースを司る仮想的なボタン及びダイヤルに対応する記述子内のインタフェースオブジェクトを定義することもできる。したがって、本発明によれば、セットトップボックスに物理的なインタフェース要素が存在しない場合でも、MPEG2デコーダの機能及びその機能にアクセスするための手段を記述することができる。
【0078】
上述の実施の形態に加えて、本発明が提供するパネルサブユニット314は、様々な種類の操作子及びそれら操作子の属性を定義することができ、本発明により、物理的な操作子を備えておらず、唯一の操作手段として本発明が提供するパネルサブユニット(例えば、仮想キーボード540)により制御される「ブラックボックス」装置を製造することができる。このようなターゲット装置は、遠隔又は隠れた場所にハードウェアが存在し、ユーザ操作センタ(例えば、インテリジェント制御装置)が異なる場所に存在するような状況を想定して設計することができる。この場合、ユーザがターゲット装置を直接操作することはないため、ターゲット装置の表面に物理的操作子は不要である。
【0079】
他の実施の形態において、本発明は、パネルサブユニットの機能記述子により情報又は属性を提供する。例えば、本発明は、ボタン操作に関する様々な属性、例えば、物理的外観、サイズ、形状、「再生」等の機能を記述するテキスト文字列、その使用法を記述する可能なヘルプ文字列、「ボタン押圧」、「値を1に設定」等の幾つかの標準コマンド等を記述する。汎用的な、あるいは製造メーカー独自のその他の属性をバリエーションとしてこの機能に追加してもよい。
【0080】
本発明の好ましい実施の形態として、民生用電子機器のネットワーク内のインテリジェント制御装置を用いて、ターゲット装置を遠隔制御するインタフェースとして使用できるパネルサブユニットを説明した。以上では、特定の実施の形態とともに本発明を説明したが、本発明はこのような実施の形態に限定されるものではなく、特許請求の範囲に基づいて解釈される。
【技術分野】
【0001】
本発明は、民生用電子機器の分野に関し、特に、遠隔の電子機器を含むネットワーク化された電子機器を制御するためのユーザインタフェースを提供するターゲット装置の制御方法、通信ネットワーク、インテリジェント制御装置、ターゲット装置に関する。
【背景技術】
【0002】
今日の一般的な家庭用娯楽システムは、異なる様々な民生用電子機器を備え、それぞれの機器は、異なる方式でオーディオ/ビジュアル媒体を再生及び記録する。媒体機器は種々の特徴を有する様々な種類に分類される(VTR、ビデオカメラ等)。これらの特徴の殆どは、ユーザにより操作される操作パネル上に設けられた物理的操作子又は要素により表される。
【0003】
近年、標準通信プロトコル層(例えばIEEE1394通信規格)を用い、ネットワークを介して相互に接続できる一群の民生用電子媒体機器が提案されている。IEEE1394通信規格は、非同期フォーマットのデータ転送及びアイソクロノスフォーマットのデータ転送の両方をサポートする安価で高速のシリアスバスアーキテクチャを実現する国際標準規格である。IEEE1394通信規格は、複数のデジタル機器を相互に接続する高速シリアルバスを提供し、それにより汎用の入力/出力接続を行う。IEEE1394通信規格は、アプリケーションのためのデジタルインタフェースを定義し、これにより、アプリケーションは、デジタルデータをアナログデータに変換することなく、デジタルデータのままバスに出力できる。一方、受信用アプリケーションは、バスからアナログデータではなくデジタルデータを受信し、したがって、アナログデータをデジタルデータに変換するといった処理を行う必要がない。IEEE1394通信規格は、既存の機器間のデータ伝送にバスを使用しながら、シリアスバスに複数の機器を取り付けたり、シリアスバスから複数の機器を取り外すことができるので、民生用電子機器の通信には理想的である。各機器は、バス上の「ノード」となり、それ自体のアドレス空間を有する。
【0004】
IEEE1394シリアル通信バスを用いて民生用電子機器をネットワーク化することにより、各機器の機能性及び相互運用性を高める強力なプラットホームが実現されている。例えば、このようなシステムにおいては、2台以上の機器が同期して、媒体間のデータ転送、媒体へのデータ記録、媒体からのデータ再生を含む複雑な処理を実行することができる。しかしながら、所望の処理を正しく実行するために各機器を直接操作しなくてはならない場合、機器間の相互作用(interaction)は、複雑で、エラーが生じやすく、困難である。複数の機器が遠隔に存在し、及び/又は常に監視又は調整する必要がある場合、所望の処理を適切に行うには作業が煩雑となる。そこで、民生用電子機器のネットワークにおいて、複数の機器間のデータ処理を容易にする効果的なインタフェースの実現が望まれている。
【0005】
さらに、家庭又はオフィス内の中央からこれらの機器を操作できるように、各機器の機能を遠隔制御する手法が望まれている。しかしながら、民生用電子機器の全てが遠隔制御に必要な対話的操作のために十分な表示装置を備えているわけではなく、例えば、非常に小さな液晶表示装置や、小数の発光ダイオードのみしか備えていないものも多い。そこで、複数の機器に対するインタフェースであって、多くの機器に対する高度な対話的操作を行うためのインタフェースの実現が望まれている。また、多くの民生用電子機器は、それぞれ専用の遠隔制御装置を備えている。比較的小規模のシステムでさえ、3個以上の大きな遠隔制御装置を備えていることが多い。そこで、異なる装置のそれぞれに異なる遠隔制御装置を設けなくてはならないという問題を解決するためのインタフェースの実現が望まれる。さらに、柔軟性に富み、民生用電子機器市場に投入される新たな機器又は新たなフォーマットに対応できるインタフェースの実現が望まれている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平07−044474号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、本発明の目的は、複数の電子機器間の媒体制御を容易に行うための、ネットワーク化された民生用電子機器のためのインタフェースを提供することである。また、本発明の目的は、表示機能に制限がある多くの電子機器において高度な対話的操作を実現する遠隔操作のインタフェースを提供することである。さらに、本発明の目的は、中央の遠隔操作装置と中央の表示装置を用いて、種々の電子機器に指示信号を送信し、種々の電子機器に関する状態情報を受信するインタフェースを提供することである。さらに、本発明の目的は、更なる柔軟性を有し、すなわち民生用電子機器市場に投入される新たな電子機器及び新たな種類の電子機器に対応できるインタフェースを提供することである。本発明のこれらの及び他の利点は、この明細書における説明により明らかとなる。
【0008】
ここでは、ターゲット装置において維持されるパネルサブユニット記述子の情報を用いた、ネットワーク電子機器用のユーザインタフェースを提供する方法及びシステムについて説明する。本発明では、パネルサブユニットを用いることにより、従属機器(ターゲット装置)は、その操作子及び表示装置(要素)の物理的外観を、他の機器(インテリジェント制御装置)に記述することができ、インテリジェント制御装置は、あたかもユーザが物理的に直接ターゲット装置を操作する場合と同様に、ターゲット装置の動作をトリガすることができる。本発明は、例えばIEEE1394シリアル通信規格等の標準通信プロトコルに準拠して相互接続された複数の民生用電子機器、例えばテレビジョン(TV)、セットトップボックス、ビデオテープレコーダ(VTR)、コンパクトディスク(CD)装置、パーソナルコンピュータシステム(PC)等から構成されるネットワーク上で動作する。インテリジェント制御装置(テレビジョン又はセットトップボックス、あるいはそれらの両方)は、ネットワークを監視して、ネットワークに接続された電子機器を検出し、ターゲット装置を定義するパネルサブユニットを検出する。ターゲット装置は遠隔に配置された電子機器であってもよい。
【0009】
通常、このパネルサブユニットは、ターゲット装置の操作子及び表示装置を画像として表現するための情報をインテリジェント制御装置に提供し、この画像表現を用いて、ユーザはターゲット装置の動作を遠隔からトリガすることができる。パネルサブユニットは、コマンドの解釈及び画像の変更をターゲット装置に処理させるように定義され、これにより、インテリジェント制御装置における一般的なユーザイベントに対するユーザインタフェースを管理する負担を軽減することができる。この手法により、ユーザインタフェースを柔軟に拡張することができ、新たな種類の操作子及び表示情報プロトコルにも対応することができる。
【0010】
パネルサブユニットは、ターゲット装置の物理的操作子を定義するオブジェクト記述子リストに格納された操作子オブジェクトを用いる。操作子オブジェクトは、民生用電子機器が通常備える幾つかの標準的な操作子及び表示装置(例えば、押しボタン、スライダ、ダイヤル、液晶表示画面等)として定義される。操作子の種類は、例えば押しボタンを押す、ダイヤルを回す、数値を入力する等の動作を定義している。さらに、パネルサブユニットは、ユーザが選択したときのこれらの操作子に適用されるコマンドのセットを定義する。コマンドは、十分な汎用性を有し、殆どの種類の操作子に適用するように定義される。また、パネルサブユニットは、ユーザが操作子に対して行うことができる、汎用のユーザと対話的なコマンド(又はユーザイベント)、例えば押す、押して保持する、解除、数値を入力する等を定義する。これらの汎用ユーザイベントにより、ユーザが操作子に対して行う典型的な操作がカプセル化され、ターゲット装置は、ユーザの操作を自ら解釈することができるため、インテリジェント制御装置の処理負担が軽減される。
【0011】
パネルサブユニットの状態記述子により、インテリジェント制御装置は、操作されているターゲット装置の状態を常に知ることができる。状態記述子データ構造は、動的であり、パネルサブユニットによって最新に保たれる。インテリジェント制御装置は、状態記述子を調べ、ターゲット装置の状態を示すその画像表示を更新し、ユーザにターゲット装置の状態を知らせる。パネル状態通知コマンドにより、インテリジェント制御装置は、ターゲット装置の状態の変化により状態記述子が変更されたことを示す通知をターゲット装置に要求する。ターゲット装置の関連する操作子をローカルグループにグループ化することができ、パネルサブユニットは、このグループを特別な手法で表示又は処理することができる。
【課題を解決するための手段】
【0012】
特に、民生用電子機器のネットワークにおいて、本発明に係るターゲット装置の制御方法は、複数の電子機器からなる通信ネットワークのバスアーキテクチャによって、電子機器からなるインテリジェント制御装置に接続された、電子機器からなるターゲット装置を制御するターゲット装置の制御方法であって、a)ターゲット装置内のコンピュータ読取可能なメモリユニットにおいて、ターゲット装置の操作パネルの要素の階層構造を定義する識別子の記述子データ構造を、記述子リストデータ構造を指すことによって定義するステップと、b)ターゲット装置内のコンピュータ読取可能なメモリユニットにおいて、それぞれがターゲット装置の操作パネルの要素の物理的外観及び値の状態を定義する複数の操作子オブジェクトを含む少なくとも1つの記述子リストデータ構造を定義するステップと、c)ターゲット装置内のコンピュータ読取可能なメモリユニットにおいて、操作子オブジェクトの現在の状態を表す状態記述子データ構造を定義及び更新するステップと、d)インテリジェント制御装置が、ターゲット装置のメモリユニットに格納された各データ構造にアクセスして、ターゲット装置を制御するための汎用ユーザインタフェースを生成するとともに、汎用ユーザイベントを解釈させるために汎用ユーザインタフェースをターゲット装置に送信するステップと、e)ターゲット装置が、汎用ユーザイベントを受信し、記述子リストデータ構造における操作子オブジェクトの現在の状態に対応して汎用ユーザイベントを解釈して実行する機能を判定するステップと、f)ターゲット装置が、機能を実行するステップと、g)ターゲット装置が、状態記述子データ構造を更新して、ステップf)の実行の結果生じた変化を状態記述子データ構造に反映させるステップとを有する。
【0013】
さらに、本発明に係るターゲット装置の制御方法では、上述のステップd)が、d1)識別子の記述子データ構造及び記述子リストデータ構造にアクセスすることによって複数の操作子オブジェクトにアクセスするステップと、d2)インテリジェント制御装置の表示装置に操作パネルの要素のグラフィック画像を表示するステップと、d3)グラフィック画像を用いたユーザの対話的操作入力を受信するステップと、d4)ユーザの対話的操作入力を汎用ユーザイベントに変換するステップと、d5)汎用ユーザイベントを、物理的操作パネルに対するユーザ操作をシミュレートさせるために、ターゲット装置に送信するステップとを有する。さらに、本発明に係るターゲット装置の制御方法では、ステップg)として、ターゲット装置は、状態記述子を変更したときに、それをインテリジェント制御装置に通知するので、インテリジェント制御装置は、常にポーリングを行う必要はない。本発明には、上述のターゲット装置の制御方法を実現する通信ネットワーク、インテリジェント制御装置、ターゲット装置も含まれる。
【発明の効果】
【0014】
本発明によれば、複数の電子機器間の媒体制御を容易に行うための、ネットワーク化された民生用電子機器のためのインタフェースを提供することができる。また、本発明によれば、表示機能に制限がある多くの電子機器において高度な対話的操作を実現する遠隔操作のインタフェースを提供することができる。さらに、本発明によれば、中央の遠隔操作装置と中央の表示装置を用いて、種々の電子機器に指示信号を送信し、種々の電子機器に関する状態情報を受信するインタフェースを提供することができる。さらに、本発明によれば、更なる柔軟性を有し、すなわち民生用電子機器市場に投入される新たな電子機器及び新たな種類の電子機器に対応できるインタフェースを提供することができる。
【図面の簡単な説明】
【0015】
【図1】ビデオカメラ、ビデオカセットレコーダー、コンピュータ、セットトップボックス、テレビジョン及びコンパクトディスクチェンジャーを含む電子装置の標準的なネットワークシステムを示す図である。
【図2】本発明を適用したによるインテリジェント制御装置の構成要素を示すブロック図である。
【図3】パネルディスプレイ及びパネル操作子を備えたターゲット装置を示す斜視図である。
【図4】図3に示すターゲット装置において、多数の操作子及びディスプレイを露出するために前面パネルが開き倒された状態を示す斜視図である。
【図5】本発明のパネルサブユニットを含むターゲット装置(VCR)内の複数のサブユニットを示す論理ブロック図である。
【図6】サブユニット、パネルリスト及び操作オブジェクトの対象リストを含む本発明のパネルサブユニットの記述子情報を示す図である。
【図7】本発明のパネルサブユニットにおけるグループ識別構造を含む一般的なリスト情報構造の内容を示す図である。
【図8】本発明のパネルサブユニットにおける操作オブジェクト記述子の例を示す図である。
【図9】本発明のパネルサブユニットにおける操作オブジェクト記述子の例を示す図である。
【図10】本発明のパネルサブユニットにおいける状態記述子データ構造を示す図である。
【図11】ユーザインタフェースを提供するインテリジェント制御装置によって実行される処理手順を示すフローチャートである。
【図12】本発明に基づくパネルサブユニットによりオンスクリーンキーボードとして表示されたユーザインタフェースを示す図である。
【図13】本発明に基づいて図12のオンスクリーンキーボードを生成するための標準的なパネルサブユニット記述子情報を示す図である。
【図14】本発明に基づくパネルサブユニットによるインテリジェント制御装置と遠隔ターゲット装置との間の通信及び標準的な処理手順を示す図である。
【発明を実施するための形態】
【0016】
本発明の以下の詳細な説明において、本発明の全体を把握するために、民生用電子機器のネットワークに接続されたインテリジェント制御装置を介して遠隔接続されたターゲット装置に対するインタフェースを司るパネルサブユニットを、詳細な実施形態を用いて説明する。しかしながら、本発明は、このような詳細な実施形態に限定されることなく、他の実施形態によっても実施可能であることは、当業者にとって明らかである。なお、技術的に周知の手法、処理、構成要素、回路については、説明を簡潔にするため詳細には説明しない。
【0017】
本発明は、任意の従属装置(例えば「ターゲット装置」)が備える操作子及び表示装置等の物理的外観を外部のインテリジェント制御装置に記述するパネルサブユニットを提供する。ターゲット装置は、インテリジェント制御装置に対して遠隔に位置していてもよい。インテリジェント制御装置は、1)対話的操作及び2)ターゲット装置に関連したユーザ表示情報を含むターゲット装置に対するユーザインタフェースを生成する。パネルサブユニットにより、インテリジェント制御装置は、ユーザがターゲット装置に設けられた操作子を物理的に操作する場合と同様に、ターゲット装置の処理をトリガすることができる。インテリジェント制御装置とターゲット装置は、共通の通信ネットワークを介して(例えばIEEE1394シリアル規格を用いて)接続される。また、本発明は、一実施形態において、周知のAV/Cコマンド及び制御プロトコルをサポートする任意の装置間の高度な相互運用性を実現する。
【0018】
本発明によれば、インテリジェント制御装置は、ターゲット装置のパネルサブユニットと通信を行い、パネルサブユニットが備える例えば押しボタンやスライダ等の様々な操作子の機能を制御できる。インテリジェント制御装置は、操作子オブジェクト記述子に基づいて、表示装置にヒューマンインタフェースを表示するとともに、ユーザの特定の操作に基づくイベントをターゲット装置に送信する。インテリジェント制御装置に表示される情報は、ターゲット装置によって拡張する(scalable)ことができ、表示されるヒューマンインタフェースは、インテリジェント制御装置の特定の表示能力に適合することができる。インテリジェント制御装置は、ターゲット装置を監視し、ユーザに提供する現在の状態を最新に維持する。
【0019】
したがって、インテリジェント制御装置は、ターゲット装置の特定の機能をどのように使うか又は起動するかに関する知識を事前に必要とせず、それらに関する機能はターゲット装置で処理される。状態遷移、操作子間の独立性等に関する問題は、ターゲット装置で自動的に処理され、インテリジェント装置側には処理を負担させない。本発明は、ターゲット装置に既に組み込まれている機能を利用し、ユーザが物理的な操作子を直接操作する場合と同様にターゲット装置を制御するので、状態遷移テーブルや実行環境等のアイテムを必要としない。例えば、インテリジェント装置がターゲット装置に「ボタン5に対する押す操作をシミュレートする」ことを指示する場合、インテリジェント制御装置は、このユーザ操作に基づく指示に応じてターゲット装置がどのような処理を行うかについては、何ら知識を必要としない。「ボタン5」が押圧操作された場合の処理に関する状態遷移ロジックは、全てターゲット装置内で実行される。これにより、インテリジェント制御装置とターゲット装置の相互運用性を向上させるとともに、それぞれの処理負担を大きく低減することができる。
【0020】
本発明は、物理的操作子及び外観を記述するだけでなく、論理的操作子及び論理操作パネルの要素の外観を記述することもできる。例えば、物理的操作子を備えず、IEEE1394端子のみを備える「ブラックボックス」の制御にも用いることができ、このブラックボックスは、隔離された場所又は遠隔に位置していてもよい。この場合、パネルサブユニットを介して画面上の操作子によって制御されるため、ブラックボックス本体に物理的操作パネルを備えていなくてもよい。
【0021】
本発明を適用したネットワーク環境
図1は、本発明が提供するパネルサブユニットをサポートできるネットワークシステム5の構成例を示す。ネットワークシステム5は、ノードとしてコンピュータシステムを含む民生用電子機器を備えているが、これらの電子機器は他の電子機器に置き換えてもよい。ネットワークシステム5は、ビデオカメラ10と、ビデオテープレコーダ(VTR)12と、コンピュータシステム14と、セットトップボックス(STB)13と、テレビジョンセット(TV)11と、コンパクトディスク(CD)チェンジャ20とを備え、これらの電子機器は、IEEE1394−1995(IEEE1394)ケーブル15、16、18、19によりネットワークを介して相互に接続されている。なお、本発明が提供するパネルサブユニットは、いかなるバス構造に対しても同様に適用することができ、説明に用いるIEEE1394シリアル通信バスは、バス構造の例示にすぎない。STB13は、ケーブルテレビジョン放送データを受信するように接続されている。IEEE1394ケーブル16は、ビデオカメラ10とVTR12とを接続し、これにより、ビデオカメラ10は、データ記録のためのデータ、コマンド及びパラメータをVTR12(又はネットワークシステム5上の他の任意の電子機器)に供給することができる。IEEE1394ケーブル18は、VTR12とコンピュータシステム14とを接続し、これにより、VTR12は、情報表示のためのデータ、コマンド及びパラメータをコンピュータシステム14(又はネットワークシステム5上の他の任意の電子機器)に供給することができる。
【0022】
IEEE1394ケーブル15は、STB13とコンピュータシステム14とを接続する。また、STB13は、ケーブル17を介してTV11に接続されている。CDチェンジャ20は、IEEE1394ケーブル19を介してコンピュータシステム14に接続されている。なお、図1に示すネットワークシステム5の形態は単なる例示であり、本発明に基づいて他の異なる多くの電子機器を組み合わせてネットワークを構築できることは明らかである。IEEE1394ネットワークシステム5上の各電子機器は、自律的な装置である。すなわち、コンピュータシステム14も単にこれらの電子機器のうちの1つであり、コンピュータシステム14と他の電子機器との間に主従関係(master-slave relationship)はない。実際、後述する例示的な実施形態においては、インテリジェント制御装置として機能するのはSTB13である。多くのIEEE1394ネットワーク環境において、コンピュータシステム14は、存在しないこともある。このような環境においても、ネットワーク内の電子機器は、ピアツーピアベース(peer-to-peer basis)で相互運用可能である。なお、データ、コマンド及びパラメータは、IEEE1394ネットワークシステム5内の全ての電子機器間で送受可能である。
【0023】
図1のネットワークシステム5で使用されるIEEE1394シリアルバスは、デジタル機器を相互接続する高速バスアーキテクチャであり、これにより、汎用の入力/出力接続が実現される。IEEE1394規格は、アプリケーションに対するデジタルインタフェースを定義し、これにより、送信側のアプリケーションは、バスを介してデータ伝送する前に、デジタルデータをアナログデータに変換する必要はない。一方、受信側のアプリケーションは、バスからアナログデータではなくデジタルデータを受信し、したがって、アナログデータをデジタルデータに変換する処理は不要である。IEEE1394規格で要求されるケーブルは、同じ種類の電子機器を接続するため用いられてきた従来の嵩張るケーブルに比べて非常に細い。IEEE1394バスは、バスがアクティブの状態で、バスに電子機器を追加したり、バスから電子機器を取り外したりすることができる。機器をこのように追加したり取り外したりする場合、バスは、現在存在するノード間でデータを伝送するために自動的に自らをはい構成する。ノードは、バス構造において固有のアドレスを持つ論理的エンティティとみなされる。各ノードは、識別ROM、標準化された1組の制御レジスタ、及びそれぞれのアドレス空間を有する。
【0024】
図1に示すネットワークシステム5が用いるIEEE1394通信規格は、デジタル符号化情報のアイソクロノスデータ転送をサポートしている。アイソクロノスデータ転送は、有意なインスタンス間の時間間隔が、送信側及び受信側の両方のアプリケーションにおいて同じ期間を有するリアルタイムデータ転送である。アイソクロノス転送されるデータの各パケットは、それ自体の時間間隔で転送される。アイソクロノス転送を行うアプリケーションとしては、例えば図1に示すVTR12からTV11へのデータ転送等である。VTR12は、映像及び音声を記録し、そのデータを離散的なパケットに格納する。そして、VTR12は、記録した映像及び音声を表す各パケットを限られた時間間隔でTV11に転送し、その時間間隔の間にTV11は映像を表示する。IEEE1394規格バスアーキテクチャは、アプリケーション間のアイソクロノスデータ転送のために複数のチャンネルを提供する。特に、6ビットのチャンネル番号がデータともに報知され、これに基づいて適切なアプリケーションが確実にデータを受信することができる。これにより、複数のアプリケーションがバス構造を介してアイソクロノスデータを同時に伝送することができる。一方、非同期データ転送は、従来のデータ転送動作であり、非同期データ転送では、ソース機器から転送先機器に大量のデータができるだけ高速に伝送される。
【0025】
インテリジェント制御装置
本発明が提供するパネルサブユニットのユーザインタフェースとしての機能は、インテリジェント制御装置において実現される。インテリジェント制御装置は、ユーザに指定され、一定の基本的な入力機能及び基本的な表示機能を備えていれば、ネットワークシステム(例えば、図1に示すネットワークシステム5)に接続されているいかなる機器であってもよい。本発明の一実施形態においては、STB13及びTV11がインテリジェント制御装置として機能する。これに代えて、コンピュータシステム14をインテリジェント制御装置として機能させてもよく、また、TV11のみをインテリジェント制御装置として用いてもよい。また、例えば、携帯情報端末(PDA)、携帯電子機器、携帯電話等の表示機能と入力機能を有するあらゆる電子機器をインテリジェント制御装置として機能させることができる。この実施形態においては、インテリジェント制御装置は、ネットワークシステム5内の他の、離れたターゲット装置におけるイベントを制御するためのユーザインタフェースを提供する電子機器である。これに関連して、インテリジェント制御装置は、表示装置及び情報入力装置と通信を行う。インテリジェント制御装置の表示及び入力能力によって、インテリジェント制御装置がユーザに提供するユーザインタフェースの種類が定まり、本発明が提供するパネルサブユニットは、拡張可能な(scalable)ユーザインタフェースを定義することができる。
【0026】
図2は、インテリジェント制御装置、この実施形態ではSTB13の構成を示すブロック図である。STB13は、情報を送受するアドレス/データバス(以下、単にバスという。)100と、バス100に接続され、情報及びコマンドを処理する中央処理装置101と、バス100に接続され、中央処理装置101が処理する情報及びコマンドを記憶する揮発性メモリ(例えばランダムアクセスメモリ(RAM))102と、バス100に接続され、中央処理装置101が処理する静的な情報及びコマンドを記憶する不揮発性メモリ(例えば読出専用メモリ(ROM))103とを備える。さらに、STB13は、バス100に接続され、情報及びコマンドを格納する磁気ディスク又は光ディスク、及びそのディスクドライブ等から構成されるデータストレージ装置(ディスクサブシステム)104を備える。また、一実施形態においては、表示装置105は、インテリジェント制御装置の一部としてもよい。この実施形態においては、図2に示すように、表示装置105(例えば図1ではTV11)は、STB13の外部機器である。表示装置105をインテリジェント制御装置に組み込む場合、表示装置105は、表示画面(例えば、フラットパネル又は陰極線管等)を有する表示装置、液晶表示装置、及び/又は文字数字情報及び図形情報を表示する他の表示装置であってもよい。
【0027】
また、インテリジェント制御装置13は、1つ以上のユーザ入力装置に接続され、又は備える。一実施形態において、入力装置は、文字数字キー及びファンクションキーを有する文字数字入力装置106を備え、文字数字入力装置106は、バス100に接続されており、中央処理装置101に情報及び選択したコマンドを送る。これに代えて又はこれに加えて、インテリジェント制御装置13は、カーソルコントローラ又はカーソル指示装置107に接続され又は備え、カーソル指示装置107は、バス100に接続されており、中央処理装置101にユーザ入力情報及び選択したコマンドを送る。カーソル指示装置107としては、マウス、トラックボール、トラックパッド、電子パッド及びスタイラス、光トラッキング装置、タッチスクリーン等の様々な周知の装置を用いることができる。さらに、入力装置は、赤外線信号通信機能を有する遠隔制御装置、例えば多数のボタン、ダイヤル等を備えた汎用の遠隔制御装置であってもよい。また、STB13は、バス100に接続され、IEEE1394バスを介して他のネットワーク機器に接続される信号生成装置108を備えている。
【0028】
本発明に基づくターゲット装置もまた、図2を用いて説明したような構成要素の1つ以上を備える。特に、本発明に基づくターゲット装置は、コンピュータ読取可能なメモリユニットを備え、このメモリユニットは、後述する本発明が提供するパネルサブユニットに関する情報を記憶する1つ以上のROM及び/又はRAMを備える。
【0029】
本発明が提供するパネルサブユニット
本発明は、「パネル」サブユニットと呼ばれるサブユニットの種類を定義する。パネルサブユニットは、ターゲット装置に対して定義されており、ネットワークシステム5内のインテリジェント制御装置(例えばSTB13)においてユーザインタフェースを生成するための特徴を示している。パネルサブユニットは、複数のターゲット装置に対して定義することができ、したがって、ネットワークシステム5は、複数のパネルサブユニットを有することができる。特定のターゲット装置では、そのパネルサブユニットは、その特定のターゲット装置自身が備えるコンピュータ読取可能なメモリユニットにデータ構造として格納されている。
【0030】
図3は、ターゲット装置の一例である、図1に示すVTR12の斜視図である。通常、どの電子機器もそれ自体のパネルサブユニットを備えることができ、したがって、ターゲット装置になり得るが、以下では、ターゲット装置の代表として、VTR12を例示して本発明を説明する。VTR12は、ビデオテープを出し入れするためのビデオテープスロット212を備えている。また、VTR12は、1つ以上の液晶表示装置(LCDパネル)214を備えている。
【0031】
VTR12は、図4に示すように、操作パネル220を備え、操作パネル220を開き倒す(flip-down)と、様々な構成要素、すなわち操作子及び更なる表示装置が現れる。すなわち、操作パネル220は、もう1つのLCD表示装置240と、スクラブ操作子又はダイヤル230とを備える。さらに、操作パネル220は、テープ駆動操作子(再生、ポーズ、停止、巻戻し、早送り、ボタン等)を備えている。また、操作パネル220を開き倒すと、チューナプリセットボタン225が現れる。本発明では、各電子機器は複数の論理操作パネルを備えることができる。この実施形態においては、VTR12は、2つの論理サブパネルを備える。第1のサブパネルは、開き倒し型の操作パネル220の操作子及び表示装置を含み、第2のサブパネルは、ビデオテープスロット212及びチューナプリセットボタン225を含んでいる。さらに、LCDパネル214を定義する他のサブパネルを設けることができる。
【0032】
図5は、本発明に基づいて設けられるVTR12における幾つかのサブユニットの論理的ブロック図である。周知のAV/Cプロトコルにおいて、サブユニットは、物理的ユニットではなく、論理的ユニットであり、電子機器内で個別にアドレス指定され、制御される機能をグループ化したものである。例えば、VTR12は、2つのサブユニットを備えることができ、一方のサブユニット312は、実際のVTRのテープ駆動機構に対応し、他方のサブユニット320は、チューニング機能に対応する。本発明におけるパネルサブユニット314は、VTR12に関して追加された新たな論理的サブユニットである。後述するように、パネルサブユニット314は、例えばVTR12のようなターゲット装置内のコンピュータ読取可能なメモリユニット内に格納されたデータ構造として実現される。なお、第1の装置(メモリ容量が限られている)のサブユニットを第2の装置(メモリ容量が十分である)内に設けてもよく、この場合、第2の装置は、操作子として機能する。
【0033】
パネルサブユニット314は、「記述子」と呼ばれるデータ構造の集合であり、記述子は、ターゲット装置の(例えば操作パネルの)物理的操作子を記述する。実際の処理動作において、インテリジェント制御装置(例えばSTB13)は、ターゲット装置のパネルサブユニット314にアクセスし、これに基づいて、ターゲット装置(例えばVTR12)を制御するために用いるユーザインタフェースを生成する。ユーザインタフェースは、図2を用いて説明したように、表示装置(例えばTV11)及びインテリジェント制御装置に接続されたユーザ入力装置を備える。パネルサブユニット314の仕様は、民生用電子機器が通常備える押しボタン、スライダ、ダイヤル、LCD画面等の標準的な種類の操作子及び表示装置を定義する。例えば、記述子は、図3及び図4に示すパネルサブボタン、ダイヤル、LCD画面等を定義する。
【0034】
パネルサブユニット314により定義された操作子は、十分に定義された機能を有する。例えば、ボタンは、押圧又は押圧解除されるという2つの値を有し、スライダは、複数の離散的値又は一定の範囲の連続値を有する。さらに、記述子において、幾つかの標準的な種類の操作子を組み合わせて、ハイブリッド型の操作子又はカスタマイズされた操作子を形成することもできる。例えば、中央に押しボタンが設けられたダイヤルや、内部にLEDを備えたボタン等がある。本発明が提供するパネルサブユニットは、このような操作子が混成された構造もサポートする。さらに、製造メーカが独自に設計した操作子を定義してもよい。
【0035】
標準的な種類の操作子に加えて、本発明が提供するパネルサブユニット314は、これらの操作子に対して施すことができる操作に対応したコマンドのセットを定義する。これらのコマンドは、殆どの種類の操作子に適応するように、十分な汎用性を有するように定義される。例えば、インテリジェント制御装置によって発行されるコマンドSET CONTROL VALUE(操作子1、6)により、音量の変化を表すボリュームスライダは、音量の値が6となるように設定される。同様に、コマンドSET CONTROL VALUE(操作子5、「トラック名を入れて下さい」)のように、異なるオペランドを有する同じ種類のコマンドを発行することもでき、これにより、ミニディスクレコーダのLCDに、このテキストが表示され、ユーザは、ディスクのトラック名を入力するように促される。さらに、パネルサブユニット内において、幾つかのコマンドは、ある種類の操作子に対して固有のものとすることができる。
【0036】
また、パネルサブユニット314は、ユーザインタフェースの操作子に適用することができる「ユーザとの対話的操作コマンド」又はユーザイベントを定義する。これらの汎用ユーザイベントの目的は、操作子に対する典型的なユーザの操作動作を簡略化し、ターゲット装置にユーザイベントの意味を解釈実行させ、これらのユーザイベントが起こったときに、インテリジェント制御装置の処理負担を軽減することにある。例えば、多くのCDプレーヤにおける早送りボタンは、以下のように、機器の状態に応じて複数の意味を有する。
【0037】
【表1】
【0038】
このように、ターゲット装置の動作は、ターゲット装置の現在の状態及びユーザが物理的操作子をどのように操作するかに応じて変化する。本発明が提供するパネルサブユニットは、表示されたユーザインタフェースを用いてユーザが対話的にトリガする「押す」、「押して保持する」、「解除」といった異なる幾つかのユーザ操作コマンドを定義する。本発明においては、インテリジェント制御装置は、発行したコマンドに対してターゲット装置がどのように動作するかについては、関知しない。表1に示すような状態遷移に関する情報は、全てターゲット装置で処理される。なお、ターゲット装置は、その物理的操作パネルに対するユーザの操作に対応した処理を行うために、上述のような情報を、既に、適切に保有している。本発明が提供するパネルサブユニットは、これらの論理的エントリポイントにアクセスする他の機構であるとみなされる。
【0039】
ここで、インテリジェント制御装置は、制御するターゲット装置の状態に関する情報を常にユーザに提供し続ける。一実施形態においては、インテリジェント制御装置及びユーザは、家庭又は事務所の一室に存在し、ターゲット装置は別の部屋又は事務所に設置されていることもある。インテリジェント制御装置は、ユーザとの対話的操作要素をどのように解釈実行するかについての所定の知識を有していないので、その表示を、ターゲット装置の最新の状態によって更新し続ける機構を有する必要がある。これは、AC/Cプロトコルに対して定義されている状態報告機構(status reporting mechanism)を利用することによって、実現され、一実施形態においては、本発明が提供する状態記述子データ構造及びパネル状態通知コマンドを用いて実現される。
【0040】
状態記述子データ構造は、動的データ構造(dynamic data structure)であり、本発明が提供するパネルサブユニット314によって、常に最新に保たれている。インテリジェント制御装置は、いつでもこの状態記述子データ構造を調べることができ、ターゲット装置の状態をユーザに示すそのグラフィカル表示を更新することができる。本発明におけるパネル状態通知コマンドにより、インテリジェント制御装置は、ターゲット装置に通知要求を送ることができる。ターゲット装置の状態に何らかの変化が起こり、状態記述子データ構造が変わったとき、ターゲット装置は、インテリジェント制御装置に通知を送る。そして、インテリジェント制御装置は、状態情報に応じて、グラフィカル表示を適切に更新する。
【0041】
AC/Cプロトコルにより、装置(ここではユニットとも呼ぶ)は、同じ種類のサブユニットを幾つでも含むことができる。したがって、装置は、本発明が提供するパネルサブユニットを複数個有することができる。例えば、1つのパネルサブユニットは、図4に示す前面パネルを定義し、他のパネルサブユニットは、開き倒し型の操作パネル220を定義する。さらに、側面パネル又は背面パネルに対応する他のパネルサブユニットを定義することもできる。これに代えて。図6に示すように、単一のパネルサブユニットによって複数の操作子を定義することもできる。この方法では、単一のパネルサブユニットは、階層的に並んだ多くの操作子を含むことができる。本発明に基づく操作子の各リストは、ターゲット装置の操作パネルを示す。これらのリストの全ては、単一のパネルサブユニット314によってアクセスされる。
【0042】
パネルサブユニットデータ構造の一部には、パネル及び操作子のレイアウト画像及び向きを表す幾何学的情報が含まれ、これにより、パネル及び操作子を、ターゲット装置上の物理的外観と同様に、あるいはターゲット装置をある意味で「連想させる」ように表示することができる。標準の操作子を組み合わせてハイブリッド操作子とすることができるとともに、この幾何学的情報をパネルの階層を示すように、例えば前面の開き倒し型の操作パネル220(図4)の背後に隠されたパネルのように定義することができる。このような構造、すなわち基本的な操作子をVTR装置の前面に設け、より高度な操作子を開き倒し型の操作パネル220の背後に設ける構造は、多くのVTRが共通して有するものである。
【0043】
パネルサブユニットのパネル記述子
図6は、ターゲット装置、この実施形態においてはVTR12内のコンピュータ読取可能なメモリユニットに保持されているデータ記述子の情報を説明する図である。図6〜図10及び図13に示すデータ記述子データ構造の全ては、本発明に基づくターゲット装置内のコンピュータ読取可能なメモリユニット内に保持又は実現されている。パネルサブユニット314(図5)は、パネルサブユニット識別子の記述子データ構造340を有する。記述子データ構造340の識別子リストは、パネルサブユニット314でサポートされている主なパネルのそれぞれに対応する識別子を示している。これらのパネルリストのそれぞれには、パネル階層を示し、子リストを有する操作子オブジェクトを含めることができる。例えば、パネルサブユニット識別子の記述子データ構造340の第1の識別子リストは、ターゲット装置の前面パネルに対応し、識別子(例えばポインタ)342を含み、この識別子342は、第2の識別子構造350を指し、第2の識別子構造350は、それ自体2つのサブパネルの記述(例えば、一方はVTR12の前面パネルに対応し、他方は、開き倒し型の操作パネル220に対応する)を含む。パネルサブユニット識別子の記述子データ構造340の第1の識別子リストは、さらに識別子(例えばポインタ)344を含み、この識別子344は、ターゲット装置の背面パネルを記述する別の第2の識別子リスト390を指している。このように、パネルサブユニット314の第1の識別子リストと第2の識別子リストからなる構造により、記述子リスト情報間の階層関係を定義することができ、これにより、パネルとサブパネル間の関係を定義することができる。
【0044】
図6に示す第2の識別子構造350の記述子リストは、汎用リスト情報フィールド352と、LCDパネル214(図3)を記述する1つの操作子オブジェクト記述子354とを含む。本発明における記述子リストには、操作子オブジェクト記述子と、汎用情報と、子記述子リストへのポインタとが含まれる。したがって、記述子リスト内の操作子オブジェクトは、他の記述子リストを指すことができ、操作子オブジェクトと指した記述子リスト間の親子関係(parent-child relationship)を示すことができる。第2の識別子構造350の記述子リストは、ポインタ356を含み、ポインタ356は、「サブパネル1」を記述するために用いる子供の記述子リスト356aを指している。サブパネル1は、この実施形態においては、VTR12の前面パネルの操作子の一部である。さらに、第2の識別子構造350の記述子リストは、ポインタ358を含み、ポインタ358は、「サブパネル2」を記述する子供の記述子リスト358aを指している。サブパネル2は、VTR12の前面パネル操作子の他の部分でる。この実施形態において、サブパネル1用の記述子リスト356aは、VTR12の前面に設けられた操作子、例えばチューナサブユニット320のチューナプリセットボタン225を定義している。サブパネル2用の記述子リスト358aは、VTR12の開き倒し型の操作パネル220の、例えばボタン250、LCD表示装置240、ダイヤル230等の操作子を定義している。
【0045】
あらゆる記述子リストデータ構造と同様に、記述子リスト356a、358aはそれぞれ、各自の汎用リスト情報360、380と、各自の操作子オブジェクトのリストを含んでいる。本発明では、パネル用の操作子オブジェクトを含むリストは、操作パネル自身を記述するために、及びオブジェクトの集合を保持するために使用される。通常、オブジェクトの集合を記述する(パネル記述)情報は、(1)パネル識別子(例えば前面、背面、左側面等)、(2)パネルの幾何学的レイアウト(例えばパネルの大きさ、操作子の向き、グループの定義等)、(3)グループラベル、パネル内におけるグループの境界枠/位置及び他のグループに関連する情報を定義できる操作子の各グループに対するグループ記述、(4)パネルサブユニットの名称等を含む。この具体例を図7に示す。
【0046】
図7は、ターゲット装置の前面パネルのサブパネル1用の第2の記述子リスト358aにおける汎用リスト情報データ構造380に含まれる情報を示すものである。第2の記述子リスト358aは、汎用リスト情報データ構造380と、n個の操作子オブジェクト382〜386とを含む。例示的な汎用リスト情報データ構造380は、フィールド410〜420を有する。フィールド410は、このフィールドが含まれる記述子リスト358aの階層構造における位置又は識別子を示す。例えば、フィールド410は、この記述子リスト358aが前面、側面、背面等の操作パネルを表しているかに関係なく、情報がどの物理的パネルに表されているかを示している。この具体例においては、操作パネル220(図4)は、前面パネルである。フィールド412は、例えば開き倒し、跳ね上げ、フリップアウト、右、左、直接アクセス等、記述子リスト358aが定義された操作パネルにアクセスするために用いられるオープン又はアクセスのオプションを定義する。この場合、操作パネル220(図4)は、「開き倒し」方式のアクセスを有する。フィールド414は、記述子リスト358aが定義される操作パネルの通常の大きさ及び形状(例えば矩形、円形、長方形、三角形、多角形等)を定義する。この具体例において、操作パネル220は、矩形である。
【0047】
図7に示すフィールド416〜420は、記述子リスト358aが定義される操作パネル内のグループの定義に用いられる。グループは、同様の特定の操作子機能を区分し、又は同様の機能又は特徴を制御するために用いることができる。例えば、VTR12のテープ駆動機構の制御に関するボタンを1つのグループに割り当て、VTR12のチャンネル選択又はボリューム設定に関するボタンを別のグループに割り当てることができる。グループは、本発明において、特別な機能を有し、例えば、インテリジェント制御装置の表示画面上に空間的に別々に同時に表示されるとともに、他の定義された属性を共通に有することができる。フィールド416は、記述子リスト358aに対して定義されたグループの数を示し、フィールド418〜420は、例示的な幾つかのグループに関するグループ記述情報を示す。
【0048】
図7に示すフィールド430〜438は、例示的なグループ(n−1)用のフィールド420に含まれる例示的なグループ記述情報を示す。フィールド430は、このグループに対して定義された操作子オブジェクトの数を含んでいる。フィールド432は、このグループに固有のグループ識別番号又は文字列を示し、操作子オブジェクトによる識別に使用される。定義されたグループに含まれる各操作子オブジェクトは、そのオブジェクト記述内にフィールド432(後述)を含む。フィールド436は、操作パネルにおいてこのグループが含まれる空間的な境界枠を示す。この情報は、ユーザインタフェースのレイアウトにおいて、このグループが他の定義されたグループに対してどこに存在するかを示し、また、インテリジェント制御装置の表示画面上に操作パネルの画像を表示するために用いられる。フィールド438は、インテリジェント制御装置の表示装置が画像又は詳細な情報を表示するのに十分な能力を有さない場合に、このグループの操作子オブジェクトへのアクセスを提供及び表示するために使用されるグループラベルを示す。フィールド438は、一実施形態において、情報のタブ付きのパネル表示におけるタブインデックスとして使用できる文字列又はテキストラベルを含む。タブ付きのパネル表示において、全てのグループに対して定義された全てのタブは、表示画面の縁に沿って表示され、グループは、1つのタブ又は別のタブを選択することにより、選択的に表示される。
【0049】
図8は、本発明が提供するパネルサブユニットに基づく操作子オブジェクト382のデータ構造を示す図である。例示的な操作子オブジェクト382は、記述子リスト358aに含まれている。一実施形態において、本発明が提供するパネルサブユニットは、AV/Cオブジェクト及びオブジェクトリストデータ構造によって、その情報をインテリジェント制御装置に提供する。これらのデータ構造は、データ構造のオーナに基づいて内容が特化された汎用コンテナである。本発明が提供するパネルサブユニットは、操作子のリスト(例えば記述子リスト358a)を含み、各操作子は、このリスト内の操作子オブジェクトによって表される。本発明においては、操作子オブジェクトとして、ユーザ入力装置(例えばボタン、スライダ、トグルスイッチ等)を定義できるとともに、情報表示装置(例えばLCDパネル、ダイヤル等)を定義することもできる。
【0050】
図8に示す操作子オブジェクト382の情報は、図3に示すLCDパネル214を示している。フィールド440は、定義されている操作子オブジェクトの種類を記述する。この場合、操作子オブジェクトの種類は「LCDパネル」である。情報を表示する他の操作子の種類としては、例えば「表示装置」、「ダイヤル」、「CRT表示装置」、「LED」、「文字/数字表示装置」等がある。また、情報入力装置の他の操作子の種類としては、例えば「ボタン」、「スライダ」、「回転操作子」、「トグルスイッチ」、「ロッカスイッチ」等がある。フィールド442は、操作子オブジェクトの画像を含んでいる。この画像情報は、通常、ラスタデータ(ビットマップ)であり、色情報及び他の属性を含む。この特定の具体例においては、操作子画像442aは、LCDパネル214を表すLCD表示装置の外観の形状及び特徴である。また、フィールド442には、所定の表示順序でアニメーションを表示するために用いられる画像を含むこともできる。フィールド444は、操作子画像442aの大きさを表し、一実施形態では、この大きさは、画面の座標(x,y)で表される。多くの画面の大きさを有するアプリケーションに対してこれらの座標を一般化するために、座標(x,y)の値を、例えば表示画面の左上隅を座標位置(0,0)と定め、相対的に表すようにしてもよい。
【0051】
図8のフィールド446は、この操作子オブジェクト382に対応するグループ識別子又は名称である。操作子は、本発明が提供するパネルサブユニットによって定義されるレイアウト情報に基づいて幾つかのグループにグループ化できる。操作子オブジェクトは、必ずしも何らかのグループに関連する必要はなく、したがって、このフィールド446は、任意項目である。この操作子オブジェクト382があるグループに関連付けられている場合、フィールド448は、操作子オブジェクト382が属するグループの枠448b内における相対的な位置448aを表している。この情報は、座標値で表すこともできる。フィールド450は、ユーザイベントに応じて、この操作子オブジェクトが取り得る許容可能な又は有効な値の範囲を表す。また、このフィールド450は、データタイプの指標(例えば整数、浮動小数点等を示す16ビット)を含むこともできる。表示装置のオブジェクトの場合、フィールド450は、操作子オブジェクト内に表示できる文字又はアイコンのセットを表す。また、ユーザ入力装置のオブジェクトの場合、フィールド450は、この操作子オブジェクトによって設定できる値の範囲を示す。操作子オブジェクトがスライダである場合、値の範囲は適用である。操作子オブジェクトがボタン又はトグルスイッチである場合、操作子に対しては、2つの状態(例えば0又は1)のみが有効である。
【0052】
図8のフィールド452は、任意項目であり、操作子オブジェクト382が起動されたときに発行されるコマンドと等価のAV/Cコマンドを表す。このAV/Cコマンドは、操作子オブジェクトが呼び出されたとき、インテリジェント制御装置によりネットワークシステム5を介して送信することができる。ターゲット装置が、操作子オブジェクトの変化を解釈する能力を有し、AV/Cコマンドを用いることなくインテリジェント制御装置と通信する能力を有しているので、フィールド452は、任意項目である。パネルサブユニットは、この具体例では、VTR12である。これらの操作子を操作することにより、ターゲット装置内の他のサブユニットの状態が変更されることもある。フィールド454の値は、どのサブユニット(サブユニットの種類及びID)がこの操作子オブジェクトの影響を受けるかを示す。フィールド454は、同様に任意項目であり、操作子オブジェクトに関連付けられたターゲット装置を示す。また、この情報は、操作子オブジェクト382内に任意項目として含まれるが、ターゲット装置が最初からパネルサブユニットを含んでいるので、インテリジェント制御装置によって維持される。
【0053】
フィールド456は、操作子オブジェクトに関連付けることができる識別子又は名称文字列である。インテリジェント制御装置の表示装置の性能が高くない場合、フィールド456は、操作子オブジェクトの基本的な文字記述をユーザインタフェースの機能に少なくとも表示するために用いることができる。フィールド458は、ユーザによりヘルプ機能が使用される場合に、インテリジェント制御装置に表示できるヘルプ文字列を格納する。ヘルプ文字列は、操作子オブジェクトが何を行うかを説明する。このヘルプ文字列を拡張し、操作子オブジェクトの各状態を説明するヘルプ文字列を提供することもできる。さらに、ヘルプ文字列は、操作子オブジェクトを識別するとともに、操作子オブジェクトの使用方法、目的、期待される機能、有効な値の範囲等のヒントを与えることもできる。
【0054】
図9は、図4に示す開き倒し型の操作パネル220に設けられた複数のボタン250のうちの押しボタンに対応する具体的な操作子オブジェクト384に関する情報を示す。この具体例では、VTR12のボタンとして「再生」ボタンを示す。フィールド460は、操作子オブジェクトの種類を「ボタン」と定義している。フィールド462は、操作子オブジェクトを表示するために用いることができる複数の画像又は「アイコン」を含むことができる。アイコンは、操作子オブジェクトの異なる状態を、例えばボタンの押圧又は解除を異なってハイライトするように表示することができる。この場合、フィールド462は、異なる状態(すなわち押した状態、解除状態)のボタンの画像を表す複数のアイコンを含む。画像462aは押されたボタンの画像を、画像462bは押圧が解除されたボタンの画像を示す。フィールド464は、フィールド462に格納された画像の大きさを表し、フィールド466は、操作子オブジェクト384がグループに属している場合、そのグループのグループ識別子を表す。この場合、図4に示す全てのボタン250は、VTR12のテープ駆動機構を制御するためのものであるため、単一のグループに集められ、グループ識別子は「テープ機構」であり、このグループは、図7に示すデータ構造において予め定義されている。
【0055】
フィールド468は、グループ境界枠468b内における操作子オブジェクト384の相対位置468aを表す。この場合、操作子オブジェクト384は、複数のボタン250のうちの左から3番目のボタンを表している。フィールド470は、ボタンによって示すことができる可能な値の範囲を表し、この場合、範囲は0〜1であり、値は整数である。操作子オブジェクトがスライダである場合、可能な値の範囲(例えば0〜10)は、整数又は浮動小数点で表すことができる。
【0056】
任意項目であるフィールド472は、「再生」に対応するAV/Cコマンドを表し、操作子オブジェクト384が押されたときに、インテリジェント制御装置によって送信することができる。ユーザイベント、例えば押圧が発行したとき、標準のAV/Cコマンド、例えばVTRサブユニット再生コマンドと同様に機能する。任意項目であるフィールド474は、ターゲット装置(この具体例ではVTRサブユニット)のネットワーク識別番号を表す。フィールド476は、操作子オブジェクト、すなわち「再生」に関する識別子又は文字列を表すことができる。インテリジェント制御装置の表示装置の性能が高くない場合、フィールド476は、ユーザインタフェースの機能に提供される操作子オブジェクトの文字記述を少なくとも提供するために用いることができる。フィールド478は、ユーザによりヘルプ機能が使用される場合に、インテリジェント制御装置の表示装置に表示できる、例えば「再生ボタンを押すと、VTR内のテープの再生が開始されます」等のヘルプ文字列を含む。また、ヘルプ文字列により、例えば「再生ボタンは使用できません。VTR内にテープがありません」等、操作子オブジェクトが特定の状態にある理由の記述にも用いることができる。
【0057】
なお、図8及び図9を用いて説明した操作子オブジェクトは、操作子オブジェクトの単なる例示であり、他の同様な操作子オブジェクトの記述により、全ての操作パネルにおけるVTR12の全ての入力及び表示装置に対するユーザインタフェースを実現することができる。さらに、図6に示す他の操作子オブジェクトのそれぞれも、本発明に基づいて同様に定義することができる。
【0058】
図10は、パネルサブユニット状態記述子500を示す。本発明に基づくパネルサブユニット314も、パネルサブユニット状態記述子500のデータ構造を有している。パネルサブユニット状態記述子500は、ターゲット装置に設けられたコンピュータで読取可能なメモリユニットに格納されるデータ構造であり、本発明が提供する特定のパネルサブユニットについて定義された全ての制御オブジェクトの現在の状態を示す。パネルサブユニット状態記述子500において保持される情報は、動的であり、本発明のパネルサブユニット314により随時更新される。パネルサブユニット状態記述子500において、それぞれの操作子状態フィールドは、定義されたそれぞれの操作オブジェクトに対応して保全される。パネルサブユニット状態記述子500の内容が変更された場合、予め変更の通知を受信するように指定された任意のインテリジェント制御装置に通知が送られる。全てのパネルサブユニット状態記述子500は、2つの主領域を有する。一方の主領域510は、パネルサブユニットの汎用状態情報を格納し、他方の領域512は、各操作子リスト階層構造のために定義されている。各操作子リスト領域内には各操作子の状態情報が格納される。状態情報には、操作オブジェクトの現在の状態(ボタンは、現在、押圧されている等)と、操作オブジェクトの現在の値(LCDパネルは、現在、テキスト「トラック名を入力して下さい」を表示している等)とを含む。
【0059】
実際の動作では、インテリジェント制御装置は、パネルサブユニット状態記述子500のそれぞれの操作子リスト又は汎用領域に通知を要求する。これらの領域に変更が生じた場合、その変更はインテリジェント制御装置に通知される。また、インテリジェント制御装置が通知を要求しなかった領域の変更については、インテリジェント制御装置に通知されない。このような処理により、様々なインテリジェント制御装置及びターゲット装置は、不必要なメッセージを送信しないため、システムネットワークの帯域幅を有効に利用することができる。
【0060】
図10に例として示すパネルサブユニット状態記述子500は、第1の状態リスト505を備え、第1の状態リスト505は、パネルサブユニット314用の汎用情報フィールド510と、他の主状態リストへのポインタ512、514を含む。ポインタ512は、前面パネルの状態を示す状態リスト535を指示する。状態リスト535は、前面パネル用に定義された各操作オブジェクトのための状態フィールドを有する。ポインタ514は、この具体例では、左面パネル用の状態リスト516を指示する。状態フィールド518は、前面パネルに関する操作オブジェクトの汎用状態情報、例えばパネルが開いているか、閉じているかといった情報を示す。フィールド520は、前面パネルについて定義された操作オブジェクト0の現在の状態/値を示す。同様に、フィールド522は、前面パネルについて定義された操作オブジェクト1の現在の状態/値を示す。
【0061】
フィールド526は、前面パネルのサブパネル1に関して定義された操作オブジェクトの状態/値を示す操作子リスト530へのポインタである。これらの操作オブジェクトは、記述子リスト356a(図6)に関連して定義される。操作子リスト530内において、それぞれの操作状態フィールドは、各操作オブジェクトに対応して定義されている。状態リスト535におけるフィールド528は、前面パネルのサブパネル2に関して定義された操作オブジェクトの状態/値を示す操作子リスト532へのポインタである。これらの操作オブジェクトは、記述子リスト538a(図6)に関連して定義されている。操作子リスト532において、各操作状態フィールドは各操作オブジェクトを定義する。
【0062】
図11は、本発明が提供するパネルサブユニットを用いて行われる処理手順700の各ステップを説明するフローチャートである。処理手順700は、ネットワークシステム5に接続されたインテリジェント制御装置及びターゲット装置に設けられたコンピュータにより読取可能なメモリユニットに格納されたプログラムコードとして実現される。ステップ710において、例えばSTB13及びTV11(ディスプレイとして使用)等のインテリジェント制御装置は、ネットワークシステム5に接続された電子機器のロケーションを確認する。この処理には周知のIEEE1394通信プロトコルが利用される。ステップ712において、インテリジェント制御装置は、ネットワークシステム5に接続したターゲット装置のコンピュータで読取可能なメモリユニットを読み取り、このターゲット装置が定義されたパネルサブユニット314のデータ構造を有していることを検出する。ステップ714において、インテリジェント制御装置は、ターゲット装置の記述子情報及び現在の状態記述子テーブルをダウンロードし、このダウンロードした情報に基づいてインテリジェント制御装置のディスプレイにユーザインタフェースを表示する。インテリジェント制御装置のメモリリソースに制限がある場合には、パネルサブユニット情報はダウンロードされ、部分的に処理される。
【0063】
ステップ714において、パネルサブユニットの制御オブジェクトは、ユーザインタフェースのために、ユーザが操作入力可能な要素及び各情報ディスプレイの外観、形状、所属グループ、配設位置を記述を記述する。インテリジェント制御装置の表示能力が限られている場合、グループ及び制御オブジェクトを示すテキスト文字列が表示さる。これらの文字列は階層構造形式(例えば、タブパネルディスプレイを用いて)で表示することもできる。
【0064】
図11に示すステップ716において、インテリジェント制御装置は、ユーザインタフェースを用いて、所定のユーザイベント又は汎用ユーザイベントを介してユーザとインタラクトする。各操作オブジェクトは、オブジェクトタイプを有し、各オブジェクトタイプはその操作オブジェクトに対して行われる可能性のあるユーザ操作を定義している。例えば、ボタンに対しては「押圧」、「押圧及び保持」、「押圧解除」等の操作が可能であり、スライダ及び回転操作子は、「値の設定」等の操作に対応する。トグルスイッチは、2つの位置間を移動し、例えば、「右に移動」又は「左に移動」、あるいは「上に移動」又は「下に移動」される。他のユーザイベントとしては、例えばSER TEXT VALUE、すなわちテキスト値の設定や、SET VALUE、すなわち数値の設定等がある。これらのユーザイベントは、制御オブジェクト自身により定義され、インテリジェント制御装置は、あらゆるターゲット装置に関するこれらのイベントの意味を解釈する必要はない。
【0065】
ステップ716において、キーボード、マウス、マウスボタン、リモート制御装置、ペン及びスタイラス、光ポインタ、ジョイスティック等、ユーザ入力装置のタイプにかかわらず、インテリジェント制御装置は、インテリジェント制御装置は、これらのユーザ入力装置とユーザとの間の相互作用を、本発明のパネルサブユニット314によって認識される汎用ユーザイベントコアに変換する。例えば、ボタン操作オブジェクトは、それをマウスで選択するか、あるいはキーボード又は遠隔制御ボタンを押して選択することにより、「押圧」され、続いて「押圧解除」される。いずれの場合も、ユーザイベントは、操作オブジェクトについて「押圧」し、「押圧解除」する。
【0066】
図11に示すステップ718において、インテリジェント制御装置により検出されたあらゆるユーザイベントは、ネットワークシステム5を介してターゲット装置に送信される。そして、ターゲット装置は、ユーザイベントを解釈し、そのプログラムに基づいて適切な処理を行う。ステップ718においてターゲット装置に使用されるプログラムは、ターゲット装置に物理的に設けられている入力操作子よる直接操作に対応するために、ターゲット装置が予め有しているプログラムと同一である。この場合、既に物理的操作子が設けられているターゲット装置には、これらの操作子がユーザに操作された場合に必要な処理がプログラミングされている。本発明は、ターゲット装置が予め備えているこの機能を活用する。本発明が提供するパネルサブユニット内に定義された操作オブジェクトの1つ以上の状態の変更は、受信されたユーザイベントによりトリガされる。状態の変化に伴い、パネルサブユニット状態記述子500が変更され、これによりインテリジェント制御装置に状態の変更が通知される。
【0067】
ステップ720において、インテリジェント制御装置は、状態記述子をダウンロードし、どの操作オブジェクトが状態を変更したかを判断する。続いて、インテリジェント制御装置は、表示中のユーザインタフェースを変更して、この状態変更を反映させる。例えば、ボタンが解除状態から押圧状態に変更された場合、インテリジェント制御装置は、押圧状態にあるボタンの新たなイメージを表示する。また、VTRテープ機構の状態がスタンバイから再生に変更された場合、LCDパネル214内の画像は、テープ再生を示すアニメーションを再生する。ステップ722において、汎用ユーザイベントにより、ターゲット装置は所定の処理、例えば再生、一時停止等を実行する。ステップ724において、次のユーザアクションが確認されると、処理はステップ716に戻る。
【0068】
実際の動作において、インテリジェント制御装置は、状態テーブルを保全したり、ユーザイベントを解釈するといった処理を負担しない。これらの解釈は、ターゲット装置側で実行され、これにより、パネルサブユニットは、新たな標準操作タイプに適応する優れた柔軟性を有する。さらに、ディスプレイの表示形式に幅を持たせることにより、本発明は、高性能なディスプレイを備えるインテリジェント制御装置から、ディスプレイの性能が低いインテリジェント制御装置まで幅広く対応する柔軟性を有するユーザインタフェースを提供する。本発明が提供するパネルサブユニットは、汎用ユーザ入力イベントと、ユーザ操作又は入力イベントの制限された組を定義するコアデータ構造と、ディスプレイ要素を定義し、基本通信プロトコルが使用される。
【0069】
図12〜図14は、本発明の他の実施例を示す。図12は、本発明を適用したパネルサブユニットを用いて、ターゲット装置のためにシミュレートされた、すなわち「仮想」キーボード540を示す。仮想キーボード540は、「ブラックボックス」装置の制御に使用できる。「ブラックボックス」装置とは、それ自体は物理的なキー又はLEDを備えず、その操作パネルが純粋に仮想的である装置をいう。この具体例においては、ブラックボックス装置は物理的なキーボード装置を備えておらず、インテリジェント制御装置にアクセスされることによってのみ、その機能が実行される。1つの例としては、ターゲット装置は、ソフトウェア、例えばウェブサーフィン又は同様のタスク等のユーザ入力を必要とするインテリジェントテレビジョンのサブパネルである。
【0070】
仮想キーボード540は、それぞれがキー又はLEDを定義する操作子のグループを備えている。各要素は、それ自身の制御オブジェクトにより示される。図12に示す仮想キーボード540は、様々なサイズ及びレイアウトを有する幾つかのグループ(例えば、メインキー、機能キー、キーパッドキー等)を備えている。第1のグループ542には、ESC(エスケープ)キーのみが含まれ、機能キーF1〜F(n)は、グループ544にグループ化されている。数値キー及びオペレータキーは、グループ548にグループ化されている。さらに、NmuロックLED554、capsロックLED556、scrロックLED558が設けられている。電源キー560は、LED552が組み込まれた特別な(Special)ボタン550とともに示されている。ボタン550に組み込まれているLED552は、適切なパネルサブユニットコマンドに対応して点灯又は消灯されるよう設計されている。このLEDを備えるキーは混合操作オブジェクトとしてモデル化される。グループ565は、これらのLED554、556、558、552と、電源キー560と、ボタン550とを包含する。
【0071】
図13は、本発明の1実施例として、ハイブリッドボタン550を実現するために必要な、パネルサブユニット内の操作オブジェクト記述子情報を示す図である。フィールド572〜578は、操作オブジェクトを定義するフィールド572は、操作オブジェクトが「混合(ハイブリッド)」タイプであることを定義している。フィールド574は、この混合タイプ操作オブジェクトに2つの操作オブジェクト定義が含まれることを示している。フィールド576は、操作オブジェクト610(操作子0)へのポインタであり、フィールド578は、操作オブジェクト640(操作子1)へのポインタである。
【0072】
操作子0、すなわち操作オブジェクト610について、フィールド612は、オブジェクトのタイプがボタンであることを示し、フィールド614は、ボタン画像614aを示す。フィールド616は、ボタンサイズ(x,y)を示し、フィールド618は、グループ565のグループ識別子を示す。フィールド620は、グループ565の境界枠内のおけるボタン550相対的位置を示す。フィールド622は、ボタン550の値の範囲(例えば、0,1)を示す。フィールド624は、任意項目であり、ボタン550の状態に対応するAV/Cコマンドを示す。フィールド626は、任意項目であり、ターゲット装置の識別子を示す。フィールド628は、ディスプレイがテキストのみしか表示できないタイプである場合に用いられる、文字列「Special」を格納する。ヘルプ文字列が存在する場合、フィールド630は、このヘルプ文字列を格納する。
【0073】
操作子1、すなわち操作オブジェクト640について、図13に示すフィールド642は、オブジェクトのタイプはLEDであることを示し、フィールド644は、例えばオン状態を示す緑、及びOFF状態を示す黒等といったLEDに関する異なる画像を格納している。フィールド646は、LED画像サイズ(x,y)を示し、フィールド648は、グループ565の識別子を格納する。フィールド650は、グループ565の境界枠内におけるLED552の相対位置を示す。フィールド652は、ボタン550の値の範囲(例えば、オン及びオフ)を示す。フィールド654は、任意項目であり、LED552の状態に対応するAV/Cコマンドが存在する場合に、そのAV/Cコマンドを示す。フィールド656は、任意項目としてターゲット装置の識別子を示す。フィールド658は、ディスプレイがテキストのみしか表示できないタイプである場合に用いられる、LED552を示す文字列を格納する。ヘルプ文字列が存在する場合、フィールド630は、このヘルプ文字列を格納する。この図13に示す例に基づいて、図12に示す他の操作オブジェクトも実現できる。
【0074】
図14は、図12に示す仮想キーボード540に対する対話的操作によって、インテリジェント制御装置とターゲット装置間で実行される処理を示す図である。ステップ805において、インテリジェント制御装置は、ターゲット装置に対し、仮想キーボード540に関する状態記述子に関するあらゆる変更についての通知を要求する。ステップ830において、ターゲット装置は要求807を受信し、要求807を受理したことを示す暫定信号832をインテリジェント制御装置に送信する。ステップ810において、ユーザは、仮想キーボード540に対して対話的操作、例えばグループ546におけるCaps Lockキーを「押圧」したことを示すユーザイベントを発生させる操作を行う。Caps Lockキーに対する「押圧」ユーザイベント812は、ターゲット装置に送信される。
【0075】
ステップ835において、ターゲット装置は、自らのプリセットプログラムに基づいて、このユーザイベントにより要求された処理を実行する。状態記述子に変更が加わり、これによりターゲット装置により状態応答(押圧コマンド)が生成される。ステップ835において、ターゲット装置は、Caps Lockキーが押圧状態にあることを示す新たな状態情報837をインテリジェント制御装置に送信する。インテリジェント制御装置は、この新たな状態情報837を受信した後、インテリジェント制御装置は、ディスプレイ上のCaps Lockキーの表示を押圧状態を示す表示に変更する。ステップ840において、ターゲット装置は、副次効果(side effect)、Caps Lock LEDをオフ状態からオン状態に変更する。これにより状態記述子が変更され、状態更新メッセージがターゲット装置により生成される。この状態の変更は、状態記述子の変更に応答するメッセージ822として、インテリジェント制御装置に送信される。インテリジェント制御装置は、メッセージ822に応答して、ターゲットデバイスの状態記述子845を読み出し、どの操作オブジェクトが状態を変更したかを判定する。この判定により、LED556がオフ状態からオン状態に変更されたことを示す値827が返される。新たな状態情報に応じて、インテリジェント制御装置は、ステップ825において、LED画像を新たな状態、すなわちオン状態に更新する。
【0076】
なお、ステップ840において、ターゲット装置の物理的な操作子が直接操作された場合でも、状態記述子が同様に変更され、状態変更の通知が生成されてインテリジェント制御装置に送信される。このような動作によっても、上述と同様に、インテリジェント制御装置のディスプレイに表示されたユーザインタフェースが変更される。この処理は、繰り返し行うことができる。
【0077】
本発明の1実施の形態においては、例えばユーザが見ることができ、人間が操作できる物理的な操作子又はディスプレイ等を装置能力を有する具体例に基づいて本発明が説明される。しかしながら、本発明におけるパネルサブユニットは、物理的に操作可能な外部ボタンを有さない装置に内蔵(built-in)された機能にアクセスするように拡張することもできる。例えば、多くのデジタルセットトップボックスは、1つ以上のMPEG2デコーダを内蔵し、これらは非常に有用なメディア処理機能を有している。しかしながら、MPEG2機能を制御するための操作子を備える装置は希である。一方、本発明が提供するパネルサブユニットは、MPEG2デコーダとのインタフェースを司る仮想的なボタン及びダイヤルに対応する記述子内のインタフェースオブジェクトを定義することもできる。したがって、本発明によれば、セットトップボックスに物理的なインタフェース要素が存在しない場合でも、MPEG2デコーダの機能及びその機能にアクセスするための手段を記述することができる。
【0078】
上述の実施の形態に加えて、本発明が提供するパネルサブユニット314は、様々な種類の操作子及びそれら操作子の属性を定義することができ、本発明により、物理的な操作子を備えておらず、唯一の操作手段として本発明が提供するパネルサブユニット(例えば、仮想キーボード540)により制御される「ブラックボックス」装置を製造することができる。このようなターゲット装置は、遠隔又は隠れた場所にハードウェアが存在し、ユーザ操作センタ(例えば、インテリジェント制御装置)が異なる場所に存在するような状況を想定して設計することができる。この場合、ユーザがターゲット装置を直接操作することはないため、ターゲット装置の表面に物理的操作子は不要である。
【0079】
他の実施の形態において、本発明は、パネルサブユニットの機能記述子により情報又は属性を提供する。例えば、本発明は、ボタン操作に関する様々な属性、例えば、物理的外観、サイズ、形状、「再生」等の機能を記述するテキスト文字列、その使用法を記述する可能なヘルプ文字列、「ボタン押圧」、「値を1に設定」等の幾つかの標準コマンド等を記述する。汎用的な、あるいは製造メーカー独自のその他の属性をバリエーションとしてこの機能に追加してもよい。
【0080】
本発明の好ましい実施の形態として、民生用電子機器のネットワーク内のインテリジェント制御装置を用いて、ターゲット装置を遠隔制御するインタフェースとして使用できるパネルサブユニットを説明した。以上では、特定の実施の形態とともに本発明を説明したが、本発明はこのような実施の形態に限定されるものではなく、特許請求の範囲に基づいて解釈される。
【特許請求の範囲】
【請求項1】
第1の電子機器と、ネットワークを介して該第1の電子機器と接続された第2の電子機器とを備える電子機器システムの制御方法において、
上記第2の電子機器は、当該第2の電子機器の操作子及び表示部の外観を記述した操作オブジェクト記述子と、当該第2の電子機器の状態を動的データ構造を用いて記述する状態記述子とを定義するパネルサブユニットを備え、
上記第1の電子機器は、上記パネルサブユニットの情報に基づいて、上記第2の電子機器を操作する画面を表示する画面表示制御手段を備え、
(a)上記第1の電子機器において、ユーザ操作に応じて、汎用イベントを上記第2の電子機器に送信するステップと、
(b)上記第2の電子機器において、上記送信されてきた汎用イベントを解釈して実行するステップと、
(c)上記第2の電子機器において、上記状態記述子を変更するステップと、
(d)上記第1の電子機器において、上記状態記述子が変更されたときに、上記第2の電子機器の状態を示す画面表示を更新するステップと
を有する電子機器システムの制御方法。
【請求項2】
上記第1の電子機器は、インテリジェント制御装置であり、上記第2の電子機器は、ターゲット装置であることを特徴する請求項1に記載の電子機器システムの制御方法。
【請求項3】
上記操作子は、押しボタン、スライダ、ダイヤル又はLCD画面であることを特徴する請求項1に記載の電子機器システムの制御方法。
【請求項4】
上記ネットワークは、民生用電子機器のネットワークであることを特徴とする請求項1に記載の電子機器システムの制御方法。
【請求項5】
上記各操作子オブジェクト記述子は、上記操作子の操作子画像、該操作子画像の大きさを定義することを特徴とする請求項1に記載の電子機器システムの制御方法。
【請求項6】
上記各操作子オブジェクト記述子は、さらに、上記操作子の名称を定義する第1のテキスト文字列と、該操作子に関するヘルプ情報を定義する第2のテキスト文字列とを定義することを特徴とする請求項5に記載の電子機器システムの制御方法。
【請求項7】
上記操作子は、上記第2の電子機器の操作パネル内で共通のレイアウト領域を共有するグループにグループ化されており、上記操作子オブジェクト記述子は、該グループのグループ識別子を定義することを特徴とする請求項5に記載の電子機器システムの制御方法。
【請求項8】
上記インテリジェント制御装置は、その表示装置として機能するテレビジョンに接続されたセットトップボックスであることを特徴とする請求項2に記載の電子機器システムの制御方法。
【請求項9】
上記ターゲット装置は、遠隔のターゲット装置であることを特徴とする請求項2に記載の電子機器システムの制御方法。
【請求項1】
第1の電子機器と、ネットワークを介して該第1の電子機器と接続された第2の電子機器とを備える電子機器システムの制御方法において、
上記第2の電子機器は、当該第2の電子機器の操作子及び表示部の外観を記述した操作オブジェクト記述子と、当該第2の電子機器の状態を動的データ構造を用いて記述する状態記述子とを定義するパネルサブユニットを備え、
上記第1の電子機器は、上記パネルサブユニットの情報に基づいて、上記第2の電子機器を操作する画面を表示する画面表示制御手段を備え、
(a)上記第1の電子機器において、ユーザ操作に応じて、汎用イベントを上記第2の電子機器に送信するステップと、
(b)上記第2の電子機器において、上記送信されてきた汎用イベントを解釈して実行するステップと、
(c)上記第2の電子機器において、上記状態記述子を変更するステップと、
(d)上記第1の電子機器において、上記状態記述子が変更されたときに、上記第2の電子機器の状態を示す画面表示を更新するステップと
を有する電子機器システムの制御方法。
【請求項2】
上記第1の電子機器は、インテリジェント制御装置であり、上記第2の電子機器は、ターゲット装置であることを特徴する請求項1に記載の電子機器システムの制御方法。
【請求項3】
上記操作子は、押しボタン、スライダ、ダイヤル又はLCD画面であることを特徴する請求項1に記載の電子機器システムの制御方法。
【請求項4】
上記ネットワークは、民生用電子機器のネットワークであることを特徴とする請求項1に記載の電子機器システムの制御方法。
【請求項5】
上記各操作子オブジェクト記述子は、上記操作子の操作子画像、該操作子画像の大きさを定義することを特徴とする請求項1に記載の電子機器システムの制御方法。
【請求項6】
上記各操作子オブジェクト記述子は、さらに、上記操作子の名称を定義する第1のテキスト文字列と、該操作子に関するヘルプ情報を定義する第2のテキスト文字列とを定義することを特徴とする請求項5に記載の電子機器システムの制御方法。
【請求項7】
上記操作子は、上記第2の電子機器の操作パネル内で共通のレイアウト領域を共有するグループにグループ化されており、上記操作子オブジェクト記述子は、該グループのグループ識別子を定義することを特徴とする請求項5に記載の電子機器システムの制御方法。
【請求項8】
上記インテリジェント制御装置は、その表示装置として機能するテレビジョンに接続されたセットトップボックスであることを特徴とする請求項2に記載の電子機器システムの制御方法。
【請求項9】
上記ターゲット装置は、遠隔のターゲット装置であることを特徴とする請求項2に記載の電子機器システムの制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−213241(P2012−213241A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2012−177043(P2012−177043)
【出願日】平成24年8月9日(2012.8.9)
【分割の表示】特願2010−36565(P2010−36565)の分割
【原出願日】平成10年7月28日(1998.7.28)
【出願人】(593181638)ソニー エレクトロニクス インク (371)
【Fターム(参考)】
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願日】平成24年8月9日(2012.8.9)
【分割の表示】特願2010−36565(P2010−36565)の分割
【原出願日】平成10年7月28日(1998.7.28)
【出願人】(593181638)ソニー エレクトロニクス インク (371)
【Fターム(参考)】
[ Back to top ]