以下、本発明の実施の形態について図面を参照して説明する。本実施の形態においては、最初にテレビジョン受像機(以下単に「TV」と記載する。)とDVD(Digital Video Disc)プレーヤとが接続されたネットワークを想定し、さらに、ビデオカセットレコーダ(VCR)および液晶表示装置(LCD)が順に接続されて、最終的に4つの家庭電化機器がネットワーク化される場面を想定する。
以下に説明する本実施の形態においては、ネットワークに存在する機器、コンテンツ、機能、IOデバイス、タスクに関する情報が、サーバにおいて一元管理されていることを前提とする。しかし本発明はこれには限定されず、こうした情報が各機器に分散されて管理されていても良い。また、以下の説明では管理のための情報はXML(eXtensible Markup Language)形式の文書ファイルで記述されているものとするが、その他の形式で記述されてもかまわない。
XMLとは、インターネットのワールドワイドウェブなどにおいてデータを交換したり、配付したりするための、拡張可能なマーク付言語(マークアップ言語:Markup Language)の一つのことをいう。端的にいえばXMLは、電子ドキュメントのデータ構造を記述でき、その構造のための言語をユーザが定義することができる点にその特徴を有する。
XMLは、XMLのバージョン、および使用される文字コードなどを宣言するXML宣言と、上記した言語の定義をするために記載されるDTD(Document Type Definition)と呼ばれる言語定義部分と、ドキュメントの本体を構成するXMLインスタンス部分とを有する。
非常におおまかにいえば、XMLでは、文書中のある部分を、DTD中で定義される要素に対応する開始タグと終了タグとで囲むことにより、その部分がそのタグに対応する要素であることが示される。たとえば後に説明する実施の形態では「名前」という要素は、開始タグ「<name>」および終了タグ「</name>」で囲まれた部分である。また「入力」という要素は開始タグ「<input>」および終了タグ「</input>」で囲まれた部分である。こうして、文書の内容にタグ付けをしていくことにより、文書の構造を定義できる。
なおXML宣言部分やDTDの部分については本発明と直接の関係を持たないため、説明を簡明にすることを目的として以下の記載では省略する。
[ネットワークの概略]
図1を参照して、本実施の形態にかかる家庭電化機器からなるネットワーク(以下「ホームネットワーク」と称する。)103はIEEE1394またはEthernet(登録商標)などの既存のデジタルネットワーク構築技術を用いて構築されており、ユーザ101によって操作され、光通信によってホームネットワーク103に接続されて、ホームネットワーク103内の各機器をコントロールするためのリモートコントローラ102と、ホームネットワーク103に関する各種情報を管理し、また後述する方法によりホームネットワーク103の機器を制御するためのユーザインタフェースを構成してリモートコントローラ102上に実現するためのサーバ104と、ホームネットワーク103に接続されるTV105と、ホームネットワーク103に接続された、DVDディスクを再生しTV105等の上で再生するためのDVDプレーヤ106とを含む。
なお、ホームネットワーク103を構成する各機器102、103、104、105および106は、互いに他の機器の存在を認識し、機器間でデータを送受信することが可能であるものとする。こうした相互の認識およびデータの送受信は、たとえばJini(SUN MICROSYSTEMS)またはUniversal Plug and Play(MICROSOFT)などのネットワーク接続技術を用いることで可能となる。またサーバ104、TV105およびDVDプレーヤ106をはじめ、以下に述べる、ホームネットワーク103に接続される各機器は無線送受信手段を持ち、赤外線またはRF(無線電波)を用いてリモートコントローラ102と、または他の機器との間でデータの送受信を行うことが可能である。
またTV105、DVDプレーヤ106の各機器はリモートコントローラ102からのデータを受け取り、その内容に応じて各機器のもつ機能を制御することができる。これは、後に説明する、ホームネットワーク103に追加して接続される他の機器の場合も同様である。
なお、サーバは図1のように1つのサーバ104としてネットワーク上に独立して存在しても良いし、また例えばTV105、DVDプレーヤ106などの機器に組込まれた形で実現されても良い。さらにまた、ホームネットワーク103はインターネットに代表される通信網に接続されてもよい。この場合、サーバ104により管理される、後に説明される各種の情報は、ホームネットワーク103に繋がった通信網から取得することも可能である。
[リモートコントローラ102]
図2を参照して、図1に示されるリモートコントローラ102は、無線送受信機201を持ち、赤外線またはRF(無線信号)を用いて他の機器との間でデータの送受信を行うことが可能である。リモートコントローラ102は、図2に示されるようにタッチパネル付液晶表示装置202を持つ。
図3を参照して、リモートコントローラ102は、所定の制御プログラムを実行してリモートコントローラ102の各部を制御する処理を行なうためのプロセッサ301と、サーバ104からの信号を無線により受信してプロセッサ301に与えるための受信部302と、ホームネットワーク103に接続された他の機器に対してプロセッサ301からの信号を無線により送信するための送信部303と、プロセッサ301に接続され、タッチパネル付液晶表示装置202を構成する出力部306および入力部307と、サーバ104から受信した、後述するユーザインタフェース情報に基づき出力部306および入力部307上にユーザインタフェースを実現するためのデータを記憶するためのUI要素記憶部304と、プロセッサ301に接続され、プロセッサ301がサーバ104から受信したデータおよびプロセッサ301が実行する制御プログラムが利用するデータを格納するための、プロセッサ301からアクセス可能なメモリ305とを含む。
データを無線受信する受信部302のためのデバイスとしては、赤外線等の光によるデータ受信を行うデバイス、または電波によるデータ受信を行うデバイス等が用いられる。データを無線送信する送信部303のためのデバイスとしては、赤外線等の光によるデータ受信を行うデバイス、または電波によるデータ受信を行うデバイス等が用いられる。
UI要素記憶部304が記憶しているUI要素は、ボタン、スライダー等、一般的なグラフィカルユーザインタフェースを構成し表示するための部品を含む。そうした部品を表示画面上に配置することによりユーザインタフェースが実現される。
情報の出力のための出力部306として用いられるデバイスには、この実施の形態では液晶表示装置を想定するが、発光ダイオード、スピーカ等であってもよい。入力部307は、リモコンに対して何らかの情報を入力するデバイスを含み、入力された情報を然るべき形式に変換して制御プログラム301に伝えるためのものである。本実施の形態では入力部307のためのデバイスにはタッチパネルを想定するが、ボタン、キーボード等の入力デバイスであってもよい。
[TV105、DVDプレーヤ106などの機器]
図4を参照して、TV105、DVDプレーヤ106などの機器550は、機器550の各部の動作を制御するプログラムを実行するためのプロセッサ501と、図1のリモートコントローラ102および他の機器から送信されるデータを受信するデバイスを含み、受信データをプロセッサ501に与えるための受信部502と、プロセッサ501から他の機器にデータを送信するための送信部503と、プロセッサ501によって制御され、この機器550の本来の機能を実現するための機器本体505と、プロセッサ501からアクセス可能で、機器550に関する、XMLで記述されたデータファイルである機器情報508と、機器本体505の持つ機能に関する、XMLで記述されたデータファイルである機能情報509と、機器550の持つIOデバイスに関するデータをXMLで記述したデータファイルであるIOデバイス情報510と、プロセッサ501に接続され、他の機器から受信したデータおよびプロセッサ501が実行する制御プログラムが利用するデータを記憶するためのメモリ504と、それぞれ機器本体505に接続され、機器本体505を介してプロセッサ501によって制御され、機器本体505からの命令により何らかの情報を出力するための出力部506と、ユーザが操作可能で、ユーザの操作に対応した情報をプロセッサ501に与える入力部507とを含む。
機器550がたとえばDVDプレーヤ106など、他の機器に提供するコンテンツを有する場合には機器550はさらにコンテンツ情報を有する。コンテンツ情報はたとえば、コンテンツ511およびコンテンツ情報512、コンテンツ513およびコンテンツ情報514などのように、そのコンテンツと、そのコンテンツに関して実行可能なタスクおよびそのタスクを実行するために必要な機能などに関するコンテンツ情報514とを含む。
データを受信する受信部502のためのデバイスとしては、赤外線等の光による無線データ受信を行うデバイス、電波による無線データ受信を行うデバイス、Ethernet(登録商標)による有線データ受信を行うデバイス、IEEE1394により有線データ受信を行うデバイス等が用いられる。
データを送信する送信部503のためのデバイスとしては、赤外線等の光による無線データ送信を行うデバイス、電波による無線データ送信を行うデバイス、Ethernet(登録商標)による有線データ送信を行うデバイス、IEEE1394により有線データ送信を行うデバイス等が用いられる。
機器本体505は、機器の持つ機能を実現するためのハードウェアおよびソフトウェアを含む。機器本体505は、プロセッサ501で実行される制御プログラムからの情報を受け取り、機器本体505の持つ機能を実行したり、出力部506、入力部507、ならびにコンテンツ511および513を制御する。また、機器本体505の情報をプロセッサ501に伝える。
出力部506は、機器がユーザに対して何らかの情報を伝えるデバイスを含み、機器本体505からの命令により何らかの情報を出力するためのものである。情報の出力のためのデバイスには、液晶表示装置、CRT、発光ダイオード、スピーカ等が用いられる。
入力部507は、機器に対してユーザが何らかの情報を入力するデバイスを含み、入力された情報を然るべき形式に変換して機器本体505に伝えるためのものである。情報の入力のためのデバイスには、タッチパネル、ボタン、キーボード、スライダ、マイク等が用いられる。
コンテンツ511、513は、機器550で扱うコンテンツである。例えば機器がTVである場合、TVで視聴できる各番組がコンテンツとなり、機器がDVDであれば、機器に挿入されているDVDソフトがコンテンツとなる。図4においてはコンテンツが2つ図示されているが、この個数は可変である。
コンテンツ情報512、514はそれぞれ、コンテンツ511および513に対してユーザが実行するタスクに関する情報を含む。コンテンツ情報512、514はXMLで記述されたデータファイルである。
機器情報508、機能情報509、IOデバイス情報510は、機器550に予め与えられていてもよいし、公衆ネットワークを通じて機器外部から与えられてもよい。コンテンツ情報は、予めコンテンツに与えられていてもよいし、公衆ネットワークを通じて機器外部から与えられてもよい。
各機器の機器情報は、それぞれ各機器に存在するファイルAppliance.xmlに記述されている。各機器の機能情報は、それぞれ各機器に存在するファイルFunction.xmlに記述されている。各機器のIOデバイス情報は、それぞれ各機器に存在するファイルIO-Device.xmlに記述されている。
図5を参照して、TV105の機器情報ファイルAppliance.xmlには機器の名前として、「TV」が与えられている(name文)。図6を参照して、DVDプレーヤ106の機器情報ファイルAppliance.xmlには、機器の名前として「DVD」が与えられている。
図7を参照して、TV105の機能情報ファイルFunction.xmlは、記述4901、4902、および4903を含む。記述4901はTVの持つ機能VOLUMEについての記述である。図7の場合、この機能はSOUNDを入力とし(input文)、SOUNDを出力とする(output文)。記述4902はTVの持つ機能IMAGEについての記述である。図7の場合、この機能はNTSCを入力とし、NTSCを出力とする。なおここでNTSCとは、「National Television System Committee」の略であり、日米で採用されているテレビジョンの信号方式であるNTSC方式にしたがった信号のことをさす。記述4903はTV105の持つ機能TV-PLAYについての記述である。図7の場合、この機能はSOUNDおよびNTSCを入力とし、SOUNDおよびNTSCを出力とする。
図8を参照して、DVDプレーヤ106の機能情報ファイルFunction.xmlは記述5001を含む。記述5001によれば、DVDプレーヤ106はDVD-PLAYBACKという名称の機能を持つ。機能DVD-PLAYBACKはSOUNDおよびNTSCを入力とし、SOUNDおよびNTSCを出力とする。
図9を参照して、TV105のIOデバイス情報が記述されたファイルIO-Device.xmlは、IOデバイスであるディスプレイについての記述5301と、IOデバイスであるスピーカについての記述5302と、IOデバイスであるボタンについての記述5303とを含む。
記述5301によれば、IOデバイスであるディスプレイのデバイス名称はDISPLAYであり、入力としてNTSC信号を受ける。
記述5302によれば、IOデバイスであるスピーカは、デバイス名称としてSPEAKERを有し、入力としてSOUNDを受ける。
記述5303によれば、IOデバイスであるボタンは、デバイス名称としてBUTTONを有し、出力としてVALUE(値)を持つ。ここでいうボタンとは、ユーザがボタンを押すことにより何らかの値を入力するインプットデバイスのことをさす。
図10を参照して、DVDプレーヤ106のIOデバイス情報が記述されたファイルIO-Device.xmlは、IOデバイスであるボタンについての記述5401を含む。
記述5401によれば、IOデバイスであるボタンのデバイス名称はBUTTONであり、出力としてVALUEを持つ。
図11を参照して、TV105は複数のコンテンツを有するが、その一つである「近畿テレビ」というコンテンツに与えられたコンテンツ情報であるファイルContent-3.xmlは、コンテンツ自体に関する情報を記述する記述5701と、コンテンツに設定された3つのタスクに関する情報である記述5702、5706および5710とを含む。
記述5701は、このコンテンツがTVに属するコンテンツであること(type文)、その名称が「近畿テレビ」であること(name文)、および出力としてNTSCおよびSOUNDを有すること(output文)を記述している。
タスクに関する情報である記述5702、5706および5710のうち、1つめのタスクに関する記述5702は、このタスクについての一般的情報を記述する記述5703と、コンテンツから出力されるデータを受取り、処理すべき機能について記述する記述5704と、この機能から出力されるデータを受取るIOデバイスについて記述する記述5705とを含む。
タスクの一般情報に関する記述5703は、このコンテンツが「音量調整」という名称であること(name文)、通常のタスクであること(後述するような「従属タスク」でないこと)、およびこのタスクのためにリモートコントローラ102に表示されるべきユーザインタフェースとしての部品が、PANELであること(ui文)を記述している。ここで「従属タスク」とは、あるタスクが、ユーザによって選択されているコンテンツとともに(従属して)扱うことのできるコンテンツ(従属コンテンツ)に属するタスクのことをいう。このタスクをコントロールするユーザインタフェースがリモートコントローラ102に表示される際には、このui文で記述されたユーザインタフェースに関する情報がリモートコントローラ102に送られ、図3のリモートコントローラ102の構成図におけるUI要素記憶部304に保持されるユーザインタフェースの部品から、適切なものが選ばれて表示される。
タスクの機能に関する記述5704は、このタスクの機能名称がVOLUMEであること(name文)、入力としてSOUNDを有すること(input文)、出力としてSOUNDを有すること(output文)、およびこのタスクのこの機能のためにリモートコントローラ102に表示されるべきユーザインタフェースとしての部品が、SLIDERであること(ui文)を記述する。なお、ここでは1つのタスクに1つの機能しか含まれていないが、複数の機能のうちの一方の出力を他方の入力が受け取れる形で、複数の機能やIOデバイスを直列または並列につなげて、1つのタスクを設定することも可能である。
タスクに関連したIOデバイスに関する記述5705は、そのIOデバイスの名称がSPEAKERであること(name文)、そのIOデバイスが入力としてSOUNDを有すること(input文)、およびを記述している。
同様に、2番目のタスクに関する記述5706は、2番目のタスクについての一般的な情報の記述5707と、このタスクの機能に関する記述5708と、この機能から出力されるデータを処理すべきIOデバイスに関する記述5709とを含む。記述5707によれば、このタスクの名称は「画質調整」であり、通常のタスクであり、かつ対応のユーザインタフェース部品はPANELである。記述5708によれば、このタスクの機能はIMAGEという名称を持ち、入力としてNTSCを有し、出力としてNTSCを有し、対応のユーザインタフェース部品はSLIDERである。記述5709によれば、このタスクに対応するIOデバイスの名称はDISPLAYであり、そのデバイスは入力としてNTSCを有する。
また3番目のタスクに関する記述5710は、3番目のタスクの一般的な記述5711と、このタスクの機能に関する記述5712と、この機能から出力されるデータを受取るべき二つのIOデバイスに関する記述5713および5714とを含む。記述5711によれば、この3番目のタスクは「視聴」という名称をもち、通常のタイプのタスクであり、ユーザインタフェースはPANELである。記述5712によれば、このタスクの機能はTV-PLAYという名称を持ち、入力としてSOUNDとNTSCとを持ち、出力としてSOUNDとNTSCとを持ち、対応のユーザインタフェース部品を持たない。記述5713によれば、この機能から出力されるデータを受取るべきIOデバイスの一番目のものは、SPEAKERという名称を持ち、入力としてSOUNDを持つ。IOデバイスの二番目のものは、DISPLAYという名称を持ち、入力としてNTSCを持つ。
なおこの例では各タスクの機能としては一つしか記述されていないが、一つのタスクに複数の機能に関する記述があってもよい。
図12を参照して、DVDプレーヤ106もまた、複数個のコンテンツを持ちうる。そのうち、1番目のコンテンツに関するコンテンツ情報Content-1.xmlは、一般的な記述5801と、タスクに関する記述5802、5806および5810とを含む。
一般的な記述5801によれば、このコンテンツはDVDというタイプであり、名称は「タイタニック」であり、出力としてNTSCおよびSOUNDを有する。
一番目のタスクに関する記述5802は、記述5803と、記述5804と、記述5805とを含む。記述5803によれば、一番目のタスクの名称は「音量調整」であり、通常タイプのタスクであり、ユーザインタフェースはPANELである。記述5804によれば、このタスクの機能はVOLUMEという名称を持ち、入力としてSOUNDを、出力としてSOUNDを有し、対応のユーザインタフェース部品はSLIDERである。また記述5805によれば、上記した機能から出力されるデータを受取るべきIOデバイスはSPEAKERという名称を持ち、入力としてSOUNDを有する。
以下同様に、二番目のタスクに関する記述5806は一般的な記述5807と、機能に関する記述5808と、IOデバイスに関する記述5809とを含む。三番目のタスクに関する記述5810は、一般的な記述5811と、機能に関する記述5812と、IOデバイスに関する記述5813および5814とを含む。
[サーバ104]
図13を参照して、サーバ104は、サーバ104の全体を制御する制御プログラムを実行するとともに、リモートコントローラ102に表示されるユーザインタフェースを構成する処理を行なうためのプロセッサ401と、サーバ104以外の機器から送信されるデータを受信するための受信部402と、サーバ104以外の機器に対してデータを送信するための送信部403と、プロセッサ401によってデータの読み込み、書き込み、消去等が行われ、他の機器から受信したデータおよび制御プログラムを実行するためのデータを格納するためのメモリ404と、図1のホームネットワーク103に接続されている機器を管理する情報を蓄え、プロセッサ401によって更新され閲覧される機器管理表405と、図1のホームネットワーク103において扱えるコンテンツを管理する情報を蓄え、プロセッサ401によって更新され閲覧されるコンテンツ管理表406と、図1のホームネットワーク103に接続されている機器が持つ機能を管理する情報を蓄え、プロセッサ401によって更新され閲覧される機能管理表407と、図1のホームネットワーク103に接続されている機器が持つIOデバイスを管理する情報を蓄え、プロセッサ401によって更新され閲覧されるIOデバイス管理表408と、図1のホームネットワーク103において扱えるコンテンツに対してユーザが実行するタスクに関する情報を蓄え、プロセッサ401によって更新され閲覧されるタスク管理表409と、サーバ104に関する機器情報を蓄えており、プロセッサ401からアクセスされる、XMLで記述されたデータファイルである機器情報410とを含む。
受信部402のためのデバイスとしては、赤外線等の光による無線データ受信を行うデバイス、電波による無線データ受信を行うデバイス、Ethernet(登録商標)による有線データ受信を行うデバイス、またはIEEE1394により有線データ受信を行うデバイス等が用いられる。
送信部403のためのデバイスとしては、赤外線等の光による無線データ送信を行うデバイス、電波による無線データ送信を行うデバイス、Ethernet(登録商標)による有線データ送信を行うデバイス、IEEE1394により有線データ送信を行うデバイス等が用いられる。
図14を参照して、サーバ104のための機器情報410が記述されているファイルAppliance.xmlは、サーバ104の一般的な情報を記述している。この例ではファイルAppliance.xmlは、サーバ104の名称が「サーバ」であることを記述している(name文)。
図15を参照して、サーバ104の機器管理表405は、ネットワークに接続されている各種機器について、その名称と、その機器IDと、その機器情報が格納されたファイルの名称とを含む表形式のファイルである。たとえば図15に示される機器管理表405のうち、DVDプレーヤ106に関する行2401には、その機器の名称が「DVD」であること、それに割り振られた機器IDが「A-0002」であること、およびDVDプレーヤ106の機器情報が、DVDプレーヤ106の「Appliance.xml」という機器情報ファイルに保存されていることが記載されている。
なお、機器IDとはサーバ104の制御プログラムによって、ネットワークに接続される各機器に与えられる機器の識別子である。図15に示される例では、ネットワークに接続された順番にしたがって、サーバ104には「A−0000」、TV105には「A−0001」、DVDプレーヤ106には「A−0002」というIDが既に振られている。
また、サーバ104は、任意の機器の、機器情報が記述されたファイルを参照することが可能であるものとする。
図16を参照して、コンテンツ管理表406は、ネットワークに接続されているコンテンツを管理するためのものであって、コンテンツごとに、その名前と、コンテンツIDと、そのコンテンツが置かれている機器の機器IDと、そのコンテンツについてのコンテンツ情報を記述したファイル名であるコンテンツ情報と、そのコンテンツがユーザによって選択されているか否かを示す情報と、そのコンテンツに従属するコンテンツが存在するか否かを示す情報とを含む。コンテンツIDとは、サーバ104の制御プログラムによって与えられるコンテンツの識別子である。
たとえば、「タイタニック」という名前のコンテンツに対応する行2501は、そのコンテンツの名前(「タイタニック」)と、そのコンテンツに対して与えられたコンテンツID(C−0004)と、そのコンテンツが存在している機器であるDVDプレーヤ106に割り振られている機器ID(A−0002、図15を参照)とを含む。またこのコンテンツがユーザによって選択されていることを想定すると、行2501の「選択」の欄には選択されていることを示す情報(図16では「○」)が格納されている。またこのコンテンツには何も従属タスクが存在しないものとすると、「従属」の欄は空である。
図17を参照して、サーバ104の機能管理表407は、ネットワークに接続されている機器の持つ各機能を、機能単位で管理するための表である。機能管理表407は、各機能ごとに、その名前と、その機能に割り振られた機能IDと、その機能を提供する機器の機器IDと、その機能に関する機能情報が記述されたファイル名である機能情報と、その機能が選択されているか否かを示す情報と、ネットワーク上に同じ機能が複数個存在する場合に、ユーザがどの機能を選択しているかを示す情報である「ユーザ」欄とを管理している。
たとえば、DVDプレーヤ106の「DVD-PLAYBACK」という機能(図8参照)に関する行2601を見ると、名前として「DVD-PLAYBACK」が、「機能ID」として「F−0004」が、「機器ID」としてDVDプレーヤ106に対応する「A−0002」が(図15参照)、機能情報としてDVDプレーヤ106の機能情報ファイルのファイル名である「Function.xml」が、それぞれ格納されている。またこの例では、DVD-PLAYBACKという機能が選択されていることを想定すると、「選択」の欄には選択されていることを示す情報(「○」)が格納されている。またDVD-PLAYBACKと同じ機能はこのネットワーク上には存在していないため、「ユーザ」欄には何も格納されていない。なお、機能IDとは、サーバ104によって各機能に対して割り振られた識別子である。
このときのサーバ104のIOデバイス管理表408の内容を図18に、タスク管理表409の内容を図19に、それぞれ示す。図18においては、行2701がDVDプレーヤ106のデバイスに関する行である。また図19においては行2801、2802および2803がDVDプレーヤ106に関連するタスクについての行である。これらの「機器ID」の欄にはいずれも、DVDプレーヤ106を示すIDである「A−0002」が格納されている(図15参照)。
ここで、この実施例において仮にTV105の「近畿テレビ」というコンテンツが選択されているときのリモートコントローラ102上の表示を図20に示す。図20を参照してこの場合、表示面の上部には、テレビの持つ2つの機能(音量調整および画質調整)に対応したユーザインタフェースであるスライダーが二つ表示されている。この時点ではまだDVDプレーヤ106のコンテンツであるタイタニック2201は選択されていないものとする。またこの時点ではネットワークで利用できる機器がTV105とDVDプレーヤ106だけであるため、リモートコントローラ102のタッチパネル付液晶表示装置202の表示面にはこれらを操作するためのユーザインタフェースのみが表示され、それ以外の部分は空白である。
ここで、ユーザがタイタニック2201を選択した場合を想定する。すると、図21に示されるように、タッチパネル付液晶表示装置202においてタイタニック2201が選択されたことを示すためにこの領域を強調表示し、さらに、タイタニック2201に対してユーザが行えるタスクとして、音量調整のためのスライダー2301、画質調整のためのスライダー2302およびDVDプレーヤ106の再生の制御のためのボタン2303が表示される。
このように、この実施例では、あるコンテンツをユーザが選択すると、リモートコントローラ102のタッチパネル付液晶表示装置202上に、そのコンテンツに対してユーザが行なうことができる操作に対応したユーザインタフェースが表示される。そのため、ユーザは自分が行ないたい処理に対応した操作を容易に行なうことが可能である。しかも、表示されるユーザインタフェースとして、同じ機能に対応するものが複数個表示されることがないので、ユーザが操作に迷ったりするおそれはない。以下、そうしたユーザインタフェースをどのように実現するかについて、リモートコントローラ102および各機器で実行されるプログラムの制御構造を中心に説明する。
リモートコントローラ102に対してユーザが何らかの入力を行なう場合の処理について説明する。図22を参照して、リモートコントローラ102は、まずユーザの入力待ちとなる(S101)。何らかの入力があれば、処理はS102に進む。
S102では、ユーザからの入力に応じてそれぞれの処理(S103、S105、S107等)に分岐する処理が行なわれる。ユーザからの入力がコンテンツの選択であるか、タスクのコントロールであるか、機能/IOデバイスの選択であるか、によって制御はそれぞれS103、S105およびS107へ進む。
ユーザの入力がコンテンツの選択である場合、まずS103で、ユーザにより選択されたコンテンツのコンテンツIDを読み出し、S104で、選択されたコンテンツIDをサーバ104に送った後、S101の入力待ちに戻る。
タスクのコントロールである場合、S105で、コントロールされたタスクのタスクIDをメモリから読み出し、S106で、ユーザインタフェースにより変更された値(音量調整のスライダーの値や、再生ボタンを押したかなど)とタスクIDをサーバ104に送った後、S101の入力待ちに戻る。なお、こうした情報は、後述するようにホームネットワーク103に新たな機器が接続されたり、新たなコンテンツが導入されたりするたびにサーバ104からリモートコントローラ102に送信され、リモートコントローラ102がメモリに保持しておく。
機能/IOデバイスの選択である場合、S107で、重複する機能/IOデバイスのIDをメモリから読み出し、S108で、リモコンにダイアログを表示し、ユーザの入力を待つ。ユーザに選択された機能/IOデバイスのIDをS109でサーバ104に送った後、S101の入力待ちに戻る。S108で、ダイアログにおいてユーザが機能/IOデバイスを選択せず単に「閉じる」を選択した場合は、ダイアログを閉じ、S101の入力待ちに戻る。
図23を参照して、上述のようにリモートコントローラ102に対する操作が行なわれた場合、サーバ104は次のような処理を行なう。
まずS110で、リモートコントローラ102からの情報の受信を待つ。リモートコントローラ102からの受信があると、S111で、リモートコントローラ102から受信した情報に応じて適切な処理に分岐する。すなわち、リモートコントローラ102から受信した情報がコンテンツの選択に関するものなら制御はS112へ進む。受信した情報がタスクのコントロールに関するものなら制御はS115へ進む。受信した情報が機能/IOデバイスの選択に関するものなら制御はS117へ進む。
受信した情報がコンテンツの選択に関するものなら、S112でサーバ104はサーバ104のコンテンツ管理表406を更新する。続いてS113において、新たに選択されたコンテンツに対して実行可能なタスクを選択する。このステップの詳細は、図25を参照して後述する。S113の後、S114において、新たに実行可能となったタスクの情報をリモートコントローラ102に送る。このステップの処理が終了すると制御はS110に戻る。このステップの詳細は、図27において説明する。
S111において、リモートコントローラ102からの情報がタスクのコントロールに関するものである場合、制御はS115に進み、受信したタスクIDに対応するタスクの情報をタスク管理表409を参照して読み出す。続いてS116で、タスク情報に設定された各機能に対して、リモートコントローラ102のインタフェースによって変更された値を送る。例えばこの処理では、指定されたタスクにしたがって、そのタスク情報に基づいて定められた機器で発生される音量を変更したり、たとえばDVDプレーヤ106などにおいて再生を開始したりする。このステップの処理が終了すると制御はS110に戻る。
S111において、リモートコントローラ102から受信した情報が機能/IOデバイスの選択である場合、制御はS117に進む。S117では、機能管理表407およびIOデバイス管理表408が更新される。続いて、S118において、新たに使用される機能/IOデバイスを持つ機器に対して、変更された情報を伝える。このステップが終了すると制御はS110に戻る。
[ホームネットワーク103に発生するイベントに起因する処理]
次にホームネットワーク103に発生するイベントにより起因してサーバ104で行なわれる処理を説明する。
図24を参照して、サーバ104はまずS201においてホームネットワーク103におけるイベントの発生を待つ。何らかのイベント、たとえば機器を新たにホームネットワーク103に接続したり、機器をホームネットワーク103からはずしたり、ホームネットワーク103に接続された機器に対して新たなコンテンツを追加したりした場合、制御はステップS202に進む。
S202では、ホームネットワーク103に発生したイベントに応じて分岐が行なわれる。発生したイベントが機器の追加・削除であれば制御はS203へ進み、コンテンツの追加または削除であれば制御はS206に進む。
ホームネットワーク103に対する機器の追加または削除があった場合、S203において、サーバ104の機器管理表405、コンテンツ管理表406、機能管理表407、IOデバイス管理表408およびタスク管理表409の全てが更新される。続いてS204で、サーバ104からリモートコントローラ102に対してコンテンツ情報が送られる。このステップの詳細は、図29を参照して後に説明する。さらにS205において、ホームネットワーク103上に、重複する機能またはIOデバイスがある場合、その機能またはIOデバイス情報がリモートコントローラ102に送られる。このステップの詳細は、図31を参照して後に説明する。S205の処理が終了すると制御はS201に戻る。
S202において、ホームネットワーク103において発生したイベントがコンテンツの追加または削除である場合、まずS206において、サーバ104のコンテンツ管理表およびタスク管理表が更新される。続いてS207において、リモートコントローラ102に対して、更新された後のコンテンツ情報が送信される。このステップの詳細は、図29を参照して後に説明する。このステップが終了すると制御はS201に戻る。
この処理により、リモートコントローラ102は、ホームネットワーク103の最新の構成に対応したコンテンツ情報と機能およびIOデバイス情報とを維持しておくことが可能となる。
[実行可能タスクを選択するアルゴリズムの説明]
次に、図25および図26を参照して、サーバ104が、選択されたコンテンツに対して実行可能なタスクを選択するアルゴリズムについて説明する。この処理は図23のS113で実行される処理である。
リモートコントローラ102より、ユーザによってあるコンテンツが選択されたという情報がサーバ104に与えられると、サーバ104は、選択されたコンテンツに対して実行可能なタスクを以下のアルゴリズムを用いて選択する。
まず、S301〜S311の間の処理を、選択されたコンテンツに設定された全てのタスク情報に対して繰返し行なう。S301はこの繰返しの開始位置である。選択されたコンテンツに設定された全てのタスク情報は、コンテンツ管理表406、およびタスク管理表409を参照することで得られる。
この繰返し中には、さらにS302〜S309で示されるループが存在する。このネストされたループ内の処理は、処理を行うタスクに含まれる全ての機能およびIOデバイスに対して繰返し行なわれる。処理を行うタスクに含まれる全ての機能およびIOデバイス情報は、タスク管理表409から、処理を行うタスクについて記述されたXMLファイルを得て、その内容を参照することで得られる。
このネストされたループ内の最初のステップであるS303では、処理を行うタスク情報に記述された機能またはIOデバイスに対して、その機能またはIOデバイスと名前および入出力が一致する機能またはIOデバイスがホームネットワーク103上に存在するかどうかが判定される。ホームネットワーク103上に存在する機能およびIOデバイスとその名前および入出力は、機能管理表407およびIOデバイス管理表408から、各機能およびIOデバイスについて記述されたXMLファイルを得て、その内容を参照することで得られる。
S303において、一致する機能またはIOデバイスが存在すると判定された場合、制御はS304に進む。一致する機能またはIOデバイスが存在しないと判定された場合は制御はS301に戻り、次のタスクについて同じ処理を行う。
S303において、一致する機能またはIOデバイスが存在すると判定された場合、S304において、当該一致する機能またはIOデバイスがホームネットワーク103上に複数個存在するかどうかが判定される。制御は、一致する機能またはIOデバイスが複数存在した場合はS305に、1つだけ存在した場合はS308に、それぞれ進む。
一致する機能またはIOデバイスが複数存在する場合、S305において、その機能またはIOデバイスに対してユーザ設定があるかどうかが判定される。ユーザ設定があるかどうかは、サーバ104の機能管理表407およびIOデバイス管理表408の「ユーザ」の欄を参照することで得られる。
S305において、ユーザ設定があると判定された場合は制御はS306へ進む。ユーザ設定がないと判定された場合は制御はS307へ進む。S306では、ユーザが設定している機能またはIOデバイスが選択される。続いて、制御はS309に進む。一方、ユーザ設定がないと判定された場合、S307において、見つかった複数個の機能またはIOデバイスのうち、最初に見つかったものが選択され、制御はS309に進む。
また、S304において一致する機能またはIOデバイスが一つしか見つからないと判定された場合、S308で、見つかった1つの機能またはIOデバイスを選択され、制御はS309に進む。
S309では、全ての機能およびIOデバイスに関して処理が終了しているか否かが判定される。全ての機能およびIOデバイスに対して処理が終了している場合には制御はS310に進む。一方全ての機能またはIOデバイスに対して処理が終了していない場合には、制御はS302に戻り、次の機能またはIOデバイスについて上記した処理を繰返す。
S309で、全ての機能およびIOデバイスに関して処理が終了していると判定されると、S310において、上記したS302〜S309のループで処理したタスクが、実行可能なタスクとして選択される。
次のS311において、S301から始まるタスクに関するループの処理が、全てのタスクに関して終了しているか否かが判定される。終了している場合には制御は図26のS312に進む。処理が終了していない場合には制御はS301に戻り次のタスクについて処理が行なわれる。
図26を参照して、S312では、選択されたコンテンツ以外のコンテンツに対して、S312〜S328までの繰返し処理が開始される。
この繰返しループの中には、さらにS313〜S325で示されるネストされたループが存在する。このネストされたループ処理は、処理対象であるコンテンツに設定された全てのタスク情報に対して処理を行うためのものである。まずS314で、処理するタスクが従属タスクとして設定されているかどうかが判定される。処理するタスクが従属タスクである場合S315に進む。従属タスクでない場合S313に戻り次のタスクについて処理する。
S315は、処理するタスクに設定された機能のうちの最初の機能が、現在選択されているコンテンツからの出力を受け取れるかどうかを判定するステップである。受け取れる場合S316に進む。受け取れない場合S313に戻り次のタスクについて処理する。
S316以下は、処理するタスクに含まれる全ての機能情報に対して処理を行うループであり、S316〜S323の間で繰り返す。
S317では、処理する機能に関して、名前と入出力とが一致する機能がホームネットワーク103上に存在するかどうかが判定される。存在する場合は制御はS318に進む。存在しない場合は制御はS313にもどり次のタスクについて処理する。
S318では、一致する機能がネットワークに複数存在したかどうかが判定される。複数存在した場合は制御はS319に進む。1つだけ存在した場合は制御はS322に進む。
一致する機能が複数存在する場合、S319で、その機能に対してユーザ設定があるかどうかが判定される。ユーザ設定がある場合は制御はS320に進む。無い場合は制御はS321に進む。
ユーザ設定がある場合、S320で、ユーザが設定している機能が選択される。この後制御はS323に進む。
ユーザ設定がない場合、S321で、複数みつかった機能のうち、最初にみつかったものが選択される。この後制御はS323に進む。
一方、S318において一致する機能が一つだけであると判定された場合、S322において、その見つかった1つの機能が選択される。この後制御はS323に進む。
S323では、S316から始まる機能に関するループ処理が、全ての機能に関して終了しているか否かについての判定が行なわれる。全ての機能に関してループ処理が終了している場合、制御はS324に進む。処理が終了していない場合、制御はS316に戻り次の機能について処理を行う。
全ての機能に対してS316〜S324のループ処理が終了していると判定された場合、S324において、以上で処理したタスクが、実行可能な従属タスクとして選択される。この後制御はS325に進む。
S325は、S313から始まるタスクに関するループの最終部分であり、全てのタスクに関して処理が終了しているか否かについての判定が行なわれる。全てのタスクに関して処理が終了している場合、制御はS326に進む。処理が終了していない場合には制御はS313に戻り、次のタスクについてS313〜S325の処理を行う。
S313〜S325の処理が終了すると、S326において、従属タスクが存在したかどうかについて判定される。従属タスクが存在した場合は制御はS327に進み、従属タスクが存在したコンテンツが従属コンテンツとして選択されS328に進む。従属タスクが存在していない場合は制御は直接にS328に進む。
S328は、S312から始まる選択された以外の全てのコンテンツに関するループの最終部分であり、選択された以外の全てのコンテンツに関して処理が終了しているか否かが判定される。終了している場合はこの処理を終了する。処理が終了していない場合は、図26のS312に戻り次のコンテンツについて処理を行う。
[実行可能タスクに対応したUIを表示するアルゴリズム]
この実施の形態のホームネットワーク103では、図25および図26に示されたアルゴリズムにより実行可能であるとして選択されたタスクに対応したユーザインタフェースが、リモートコントローラ102に表示される。以下、このユーザインタフェースをリモートコントローラ102に表示する処理を行なうためのアルゴリズムについて図27および図28を参照して説明する。図27はサーバ104で実行される処理であり、図28はリモートコントローラ102で実行される処理である。
図27を参照して、サーバ104では、実行可能であると選択された全てのタスクに対してS401〜S403のループを繰返す。すなわち、S402の処理を、実行可能であるとして選択された全てのタスクに対して実行する。
S402では、実行可能であるタスクのタスクIDと、名前およびユーザインタフェース情報とをサーバ104からリモートコントローラ102に対して送信する。タスクIDとタスクの名前とは、タスク管理表409から得ることができ、ユーザインタフェース情報はタスク管理表409から処理するタスクについて記述されたXMLファイルを得て、その内容を参照することで得られる。
S403では、S401から始まる実行可能タスクに関するループの処理が全ての実行可能タスクに関して終了しているか否かが判定される。終了している場合にはサーバ104側の処理を終了する。処理が終了していない場合には制御はS401に戻り次のタスクについて処理を行う。
図28を参照して、このときリモートコントローラ102では以下の処理が行なわれる。すなわち、サーバ104より送られてきた情報(タスクID、名前、ユーザインタフェース情報)の全てに対してS404〜S408の処理を繰返し行なう。
まず、S405で、送られてきた情報をリモートコントローラ102のメモリ305に保存する。続いてS406で、送られてきたユーザインタフェース情報に一致する情報が、図3に示すUI要素記憶部304から選択される。続いてS407で、リモートコントローラ102のタッチパネル付液晶表示装置202上に、選択されたUI要素に対応したユーザインタフェースが表示される。S408では、送られてきた全ての情報に関してS404以下の処理が終了しているか否かが判定される。終了している場合には処理を終了する。処理が終了していない場合は制御はS404に戻り次のタスクについて処理を行う。
[コンテンツを選択するUIを表示するアルゴリズム]
次に、図29および図30を参照して、ホームネットワーク103で扱えるコンテンツをリモートコントローラ102を用いてユーザが選択するためのユーザインタフェースをリモートコントローラ102のタッチパネル付液晶表示装置202上に表示するアルゴリズムを説明する。図29はサーバ104が行う処理を示し、図30はリモートコントローラ102が行なう処理を示す。
まずサーバ104では、ホームネットワーク103で扱える全てのコンテンツに対してS501〜S503の処理を繰返し行なう。ネットワークで扱える全てのコンテンツは、サーバ104のコンテンツ管理表406を参照することで得られる。
この繰返し処理の本体はS502であり、S502では、コンテンツID、名前、コンテンツを保持する機器の名前がサーバ104からリモコンに対して送信される。続いてS503では、S501以下の繰返し処理が全てのコンテンツに関して終了しているか否かが判定される。終了している場合にはサーバ104側の処理を終了する。処理が終了していない場合には制御はS501に戻り次のコンテンツについて処理を行う。
図30を参照して、このときリモートコントローラ102では以下のような処理が行なわれる。リモートコントローラ102では、S504〜S507の処理が、サーバ104より送られてきた全ての情報に対して行なわれる。
この繰返し処理の実質的な先頭であるS505で、サーバ104から送られてきた情報がリモートコントローラ102のメモリ305に保存される。続いてS506において、サーバ104から送られてきたコンテンツの名前とコンテンツを保持する機器の名前とが、リモートコントローラ102のタッチパネル付液晶表示装置202上に表示される。ループの最後であるS507では、送られてきた全ての情報に関してS504以下の処理が終了しているか否かについての判定が行なわれる。全ての情報に関してS504以下の処理が終了している場合には、この処理を終わる。処理が終了していない場合は制御はS504に戻り次のタスクについて処理を行う。
[重複する機能またはIOデバイスをリモコンに伝えるアルゴリズム]
次に、図31および図32を参照して、ホームネットワーク103上で重複する機能またはIOデバイスをサーバ104からリモートコントローラ102に伝えるアルゴリズムを説明する。
図31を参照して、サーバ104では以下の処理が行なわれる。まず、S601〜S603の処理が、全ての機能情報およびIOデバイス情報に対して行なわれる。この繰返し処理の本体であるS602では、同様の名前および入出力を持った機能/IOデバイスがホームネットワーク103に存在するか否かが判定される。S603では、S601以下の処理が、全ての機能/IOデバイスに関して終了したか否かについての判定が行なわれる。終了している場合には、制御はS604に進む。終了していない場合には制御はS601に戻り、次の機能/IOデバイスについて処理を行う。
S604では、S601〜S603の繰返し処理の結果に基づいて、ホームネットワーク103内に重複する機能/IOデバイスが存在したかどうかが判定される。重複する機能/IOデバイスが存在していると判定された場合には制御はS605に進む。重複する機能/IOデバイスが存在しない場合には制御はS606に進む。
S605では、ホームネットワーク103内に重複する機能/IOデバイスの情報がサーバ104からリモートコントローラ102に伝えられる。このステップが終了するとサーバ104側の処理を終了する。
一方S606では、ホームネットワーク103内に重複する機能/IOデバイスが無いことをサーバ104からリモートコントローラ102に伝える。このステップが終了するとサーバ104側の処理を終了する。
図32を参照して、このとき、リモートコントローラ102は以下の処理を行なう。まずS607において、サーバ104より送られてきた機能/IOデバイスに関する情報を受信する。続いて、S608において、S607で受信した情報から、ホームネットワーク103に重複する機能/IOデバイスが存在しているか否かが判定される。重複する機能/IOデバイスが存在する場合は制御はS609へ進む。重複する機能/IOデバイスが存在しない場合は制御はS610へ進む。
重複する機能/IOデバイスが存在する場合、S609において、重複する機能/IOデバイス情報をリモートコントローラ102のメモリ305に書きこむ。このステップが終了するとリモートコントローラ102側の処理を終了する。
重複する機能/IOデバイスがないと判定された場合には、S610において、重複する機能/IOデバイス情報をリモートコントローラ102のメモリ305から消去する。このステップが終了するとリモコン側の処理を終了する。
以上が、この実施の形態のホームネットワーク103の構成の概略である。
[機器制御方法の概要]
以下、ホームネットワーク103の動作について説明する。特に、ホームネットワーク103に新たな機器またはコンテンツが追加される場合を例として、本発明の機器制御方法により、ホームネットワーク103における各種情報がどのように管理され、ホームネットワーク103の機器を制御するためのコンテンツ指向のユーザインタフェースがどのように構成されて行くかを説明する。
図33を参照して、本実施の形態にかかるホームネットワーク103に、新たにVCR107が追加される場合を想定する。このVCR107のうち、本願発明に関連する部分の構成は図4に示したとおりである。
図34に、VCR107の機器情報508であるファイルAppliance.xmlの内容を示す。図34によれば、VCR107の名称はVCRである(name文)。
図35に、VCR107の機能情報509であるファイルFunction.xmlの内容を示す。図35を参照して、Function.xmlは、1番目の機能に関する記述5101および2番目の機能に関する記述5102を含む。1番目の機能に関する記述5101によれば、この機能の名称はVCR-PLAYBACK(VCR再生)であり、入力としてSOUNDおよびNTSCを、出力としてSOUNDおよびNTSCを、それぞれ有することが分かる。2番目の機能に関する記述5102によれば、この機能の名称はVCR-RECORD(VCR録画)であり、入力としてSOUNDおよびNTSCを、出力としてSOUNDおよびNTSCを、それぞれ有することが分かる。
図36に、VCR107のIOデバイス情報510であるファイルIO-Device.xmlの内容を示す。このIO-Device.xmlは、VCR107のIOデバイスに関する記述5501を含む。IOデバイスに関する記述5501から、VCR107はBUTTON(ボタン)という名称のIOデバイスを持ち、その出力がVALUEであることが分かる。
VCR107も複数のコンテンツを持ち得る。以下の説明では、VCR107が空テープというコンテンツを持ち、そのコンテンツ情報がファイルContent-1.xmlに記述されているものとする。図37にこのファイルContent-1.xmlの内容の例を示す。図37を参照して、このファイルContent-1.xmlは、このコンテンツに関する一般的な記述5901と、このコンテンツに対してユーザが実行できる、4つのタスクに関する記述5902、5906、5910および5915とを含む。
一般的な記述5901はコンテンツ自体に関する情報であり、コンテンツがVCRに属し、名前が「空テープ」であり、コンテンツにはNTSCとSOUNDが入力され、コンテンツからNTSCとSOUNDとが出力されることが記述されている。
1番目のタスクに関する記述5902は、記述5903、記述5904および記述5905を含む。記述5903には、このコンテンツに対してユーザが実行できる1番目のタスクは、音量調整という名称を持つこと、そのタスクタイプが通常であること(従属タスクではないこと)、対応するユーザインタフェースがPANELであることが記述されている。記述5904には、このコンテンツから出力されるデータを受け取り処理する機能がVOLUMEという名称を持ち、入力および出力としてSOUNDを持つこと、および対応のユーザインタフェース部品がSLIDERであることが記述されている。記述5905には、この機能から出力されるデータを受け取るIOデバイスがSPEAKERという名称であり、入力としてSOUNDを有することが記述されている。
記述5906はこのコンテンツに設定された2つめのタスクに関する情報であり、記述5907と記述5908と記述5909とを含む。記述5907はタスクの名前が画質調整であり、通常のタスクであり(従属タスクでない)、リモコンに表示されるユーザインタフェースがPANELであることを記述している。記述5908はコンテンツから出力されるデータを受け取り処理する機能がIMAGEという名前を持ち、NTSCが入力され、NTSCを出力すること、および対応のユーザインタフェース部品はSLIDERであることが記述されている。記述5909は機能から出力されるデータを受け取るIOデバイスがDISPLAYという名前を持ち、NTSCが入力されることを記述している。
記述5910はコンテンツに設定された3つめのタスクに関する情報であり、記述5911と記述5912と記述5913と記述5914とを含む。記述5911はタスクの名前が「プレイバック」であり、通常のタスクであり(従属タスクでない)、リモートコントローラ102に表示される、この機能に対応するユーザインタフェースがPANELであることを記述している。ここで「従属タスク」とは、あるタスクが、ユーザによって選択されているコンテンツとともに(従属して)扱うことのできるコンテンツ(従属コンテンツ)に属するタスクであるかどうかを示している。例えば、空のビデオテープのコンテンツがホームネットワーク103に存在する場合、TVのコンテンツが選択されていると、その内容をビデオテープに録画することが可能となるため、このコンテンツはTVのコンテンツに対する従属コンテンツとなり、録画する、というタスクは従属タスクとなる。
記述5912はコンテンツから出力されるデータを受け取り処理する機能がVCR-PLAYBACKという名称を持ち、SOUNDとNTSCが入力され、SOUNDとNTSCを出力すること、および対応のユーザインタフェース部品はPLAYBACK BUTTONであることを記述している。記述5913はこの機能から出力されるデータを受け取るIOデバイスがSPEAKERという名前を持ち、SOUNDが入力されることを記述している。記述5914はこの機能から出力されるデータを受け取るもうひとつのIOデバイスがDISPLAYという名前を持ち、NTSCが入力されることを記述している。
記述5915はコンテンツに設定された4つめのタスクに関する情報であり、記述5916と記述5917とを含む。記述5916はこのタスクの名前が「録画」であり、従属タスクであり、リモートコントローラ102に表示される、対応するユーザインタフェースがPANELであることを示している。このタスクは従属タスクであり、ユーザにより選択されているコンテンツから出力されるデータを受け取り、何らかの処理をする機能に渡す。記述5917は、ユーザに選択されているコンテンツから出力されるデータを受け取り処理する機能を記述している。ここでは、この機能が名前がVCR-RECORDで、SOUNDとNTSCが入力され、SOUNDとNTSCとを出力する機能であること、および対応のユーザインタフェース部品はRECORD BUTTONであることが記述されている。この4番目のタスクは従属タスクであるため、記述5917の機能の出力をこのコンテンツ(空テープ)が受け取ることで、録画というタスクが構成される。
以上のような構成を有するVCR107がホームネットワーク103に接続されると、図24に示される処理が実行される。この例の場合には図24のS202での判定の結果、制御はS203に進み、ここでサーバ104の全ての管理表が更新されることが分かる。更新された後のサーバ104の機器管理表405、コンテンツ管理表406、機能管理表407、IOデバイス管理表408およびタスク管理表409の状態をそれぞれ図38〜図42に示す。
図38および図15とを比較すると明らかなように、この更新によって機器管理表405にはVCR107に対応する行3201が追加されている。VCR107には、新たにサーバ104により機器IDとして「A-0003」が割り振られている。また、前述したとおりVCR107の機器情報はファイルAppliance.xmlに記述されているので、機器管理表405のVCR107に対応する行3201のうち、「機器情報」の欄には「Appliance.xml」が格納される。
図39および図16を比較すると、更新によってサーバ104のコンテンツ管理表406にVCR107に関する行3301が追加されていることが分かる。VCR107に関する行3301は、コンテンツの名前としてVCR107に属するコンテンツの名称である「空テープ」を有し、コンテンツIDとして「C-0005」がサーバ104により与えられている。「機器ID」の欄には、このコンテンツを保持する機器であるVCR107を示す「A-0003」が格納されている。コンテンツ情報の欄にはVCR107のコンテンツ情報であるファイルの名称「Content-1.xml」が格納されている。「選択」の欄には、リモートコントローラ102を用いてユーザによって近畿テレビが選択されたことを想定すると、近畿テレビのところに選択されたことを示す○が格納される。また、新たに追加されたVCR107のコンテンツである「空テープ」が、選択されているTVのコンテンツに従属するため、VCR107に関する行3301の「従属」の欄に従属を示す情報(「○」で示す)が格納されている。
なお、TV105に属するコンテンツ(コンテンツIDC-0001〜C-0003)には、名前としてそれぞれ国営放送、教育放送、近畿テレビが与えられているものとする。またDVDプレーヤ106に属するコンテンツ(コンテンツIDC-0004)の名前は「タイタニック」であるものとする。
図40はサーバ104の機能管理表407の更新後の状態を示している。図17と比較して明らかなように、VCR107が新たに接続されたため、機能管理表407にはVCR107の持つ各機能に関する情報(行3401および3402)が追加されている。
VCR107は図35に示すように、機能としてVCR-PLAYBACK(再生、停止、早送り、巻き戻し、一次停止)およびVCR-RECORD(録画、停止)という2つを持つ。行3401および3402はそれぞれこれらに対応している。
図40を参照して、行3401および3402には、対応の機能の名前としてVCR-PLAYBACK、VCR-RECORDが格納されている。また機能IDとしてはそれぞれF-0005、F-0006がサーバ104により与えられている。機器IDには、これらの機能を持つVCR107の機器IDであるA-0003が与えられている。機能情報にはいずれもFunction.xmlが与えられている。
「選択」の欄について見ると、リモートコントローラ102の操作によってTV105のコンテンツが選択されていることを想定すると、TVのコンテンツが使用する機能としてVOLUME、IMAGE、PLAYおよびVCR-RECORDが選択されており、それらの「選択」の欄に選択されていることを示す情報(「○」で示す。)が格納されている。図33の状態では、ホームネットワーク103内に同一の働きをする機能が複数は存在しないため、「ユーザ」の欄にはいずれも何も格納されていない。
図41はサーバ104のIOデバイス管理表408の更新後の状態を示す。図41では、IOデバイス管理表408にはVCR107の持つIOデバイスに関する情報(行3501)が追加されている。
図36を参照して説明したように、VCR107はIOデバイスとしてBUTTON(ユーザがボタンを押すことにより何らかの値を入力するインプットデバイス)というIOデバイスを持つ。したがってIOデバイス管理表408に追加された行3501には、ホームネットワーク103内に存在するIOデバイスとして、名前がBUTTONというIOデバイスが格納されている。そのIOデバイスIDにはサーバ104によりD-0005が与えられている。機器IDには、BUTTONのIOデバイスを持つVCR107の機器IDであるA-0003が与えられている。IOデバイス情報にはIO-Device.xmlが与えられている。
なお図41に示す例では、「選択」の欄には、ユーザがTV105を選択していることを想定し、TV105のコンテンツが使用するDISPLAYとSPEAKERに対して選択されていることを示す情報(「○」印で示す。)が格納されている。
「ユーザ」の欄には、図33の状態ではホームネットワーク103内に同一の働きをするIOデバイスが複数存在しないため何も記述されていない。
図42に、サーバ104のタスク管理表409の更新後の状態を示す。図33の状態では、ホームネットワーク103では図39のコンテンツ管理表406に示す5つのコンテンツが使用できるため、タスク管理表409には、それらのコンテンツに対してユーザが実行できるタスクに関する情報が与えられている。
ここで、図37を参照して説明したように、VCR107のコンテンツに対してユーザが実行できるタスクとして、音量調整、画質調整、プレイバック、および録画の4つがある。これらタスクに関する4つの行3601〜3604がタスク管理表409に追加されている。
行3601〜3604の「名前」の欄にはそれぞれ音量調整、画質調整、プレイバック、録画が与えられている。タスクIDにはそれぞれT-0013〜T-0016がサーバ104により与えられている。機器IDには、VCR107の機器IDであるA-0003がそれぞれ与えられている。コンテンツIDには、空テープのコンテンツIDであるC-0005が与えられている。タスク情報には、タスク情報が記述されたコンテンツ情報のファイル名であるContent-1.xmlが与えられている。「選択」の欄について見ると、たとえば図44の状態を想定すると、「近畿TV」がコンテンツとして選択されており、したがって選択されたコンテンツである近畿テレビに設定されたタスクである音量調整、画質調整、視聴が使用可能であるため、行2007〜2009の「選択」の欄に選択を示す情報が表示されている。
さらに、近畿テレビのコンテンツを空テープに録画することが可能であるため、行3604の選択の欄にも○が表示されている。「従属」の欄について見ると、図33の状態ではVCR107の空テープが従属コンテンツであり、それに対して実行できるタスクのうち録画が従属タスクであるため、行3604の「従属」の欄に従属を示す情報(「○」)が格納されている。
このように各種の管理表が更新されると、その結果がサーバ104からリモートコントローラ102に送信される。その結果、リモートコントローラ102のタッチパネル付液晶表示装置202には、新たにホームネットワーク103で使用することが出来るようになったコンテンツが追加表示される。その例を図43に示す。
図43のリモートコントローラ102における表示は、新たに接続されたVCR107が空テープ3001というコンテンツを持ち、それが新たに選択可能であることを示している。さらに、選択されているコンテンツであるタイタニック2201に対してユーザが行えるタスクに対応するユーザインタフェースとして、音量調整のためのスライダー2301、画質調整のためのスライダー2302、プレイバックのためのボタン2303に加えて、録画のためのボタン3002が追加され、このボタンを操作することにより空テープへの録画を実行することが可能となる。これは、追加されたコンテンツである空テープ3001が、選択されているコンテンツであるタイタニック2201に対して従属しており、タイタニック2201の内容を空テープ3001に録画できる状態になったためである。
図44は、図43の状態において、リモートコントローラ102に表示された近畿テレビ1403というコンテンツをユーザが選択した際のリモートコントローラ102の表示の変化を示している。
選択されたコンテンツである近畿テレビの表示が反転し、表示上部に近畿テレビ1403に対してユーザが行えるタスクをコントロールするためのインタフェースが表示されている。この表示では、図43において表示されていた音量調整のためのスライダー2301、画質調整のためのスライダー2302に加えて、録画を行なうためのインタフェース3101が表示されている。
[LCD108がつながる]
図45を参照して、ホームネットワーク103に新たにLCD108が接続される場合について考える。図46を参照して、LCD108の機器情報508を記述するファイルがAppliance.xmlであるものとし、その内容が図46に示されるとおりであると仮定する。LCD108は、LCDという名前を有する。
また、LCD108の機能情報509がファイルFunction.xmlに記述されており、その内容が図47に示すとおりであると仮定する。図47によれば、LCD108は機能としてVOLUME(音量調整)とIMAGE(画質調整)とを持つ。さらにLCD108のIOデバイス情報510がファイルIO-Device.xmlに記述されており、その内容が図48に示すとおりであると仮定する。図48によれば、LCD108はIOデバイスとしてDISPLAYとSPEAKERとを持つ。また、一般的にLCD108はコンテンツは保持していない。
次に、サーバ104に管理される各種情報管理表がどのように更新されるかについて説明する。
なお、以下の説明では、各種情報管理表の更新後、機能VOLUMEおよび機能IMAGEはそれぞれLCD108の持つ機能がTVの持つ機能の代わりにユーザによって選ばれたものとする。
図49はサーバ104の機器管理表405の更新後の状態を示している。ホームネットワーク103に新たにLCD108が接続されたため、LCD108に関する機器情報が新たに追加されている。行4101がLCD108に関する機器情報である。機器の名前の欄には「LCD」が格納され、機器IDにはA-0004という値がサーバ104により与えられている。機器情報にはAppliance.xmlと設定されている。
LCD108はコンテンツを持たないため、サーバ104のコンテンツ管理表406は図39の状態から変化しない。同様にサーバ104のタスク管理表409も図42の状態から変化しない。
図50を参照して、ホームネットワーク103にLCD108が接続されたため、サーバ104の更新後の機能管理表407にはLCD108の持つ各機能に関する情報が与えられている。図47を参照して説明したように、LCD108は機能として、VOLUME(音量調整)、IMAGE(画質調整)という2つの機能を持つ。したがって機能管理表407にはこれらの機能情報を示す行4201および4202が追加されている。行4201および4202の機能情報の名前にはVOLUMEおよびIMAGEが、機能IDにはF-0007およびF-0008が、それぞれ与えられている。機器IDには、LCD108の機器IDであるA-0004が与えられている。機能情報にはいずれもFunction.xmlが与えられている。
「選択」の欄について見ると、選択されているTVのコンテンツが使用する機能としてTV-PLAY、VCR-RECORDおよび、LCD108の持つ機能VOLUME、IMAGEが選択されて、選択されていることを示す情報がそれぞれの行の「選択」の欄に格納されている。
さらに、図45の状態ではホームネットワーク103内に同一の働きをする機能としてVOLUMEおよびIMAGEがある。これらの各々について、同一の機能のうちの一つをユーザは選択する。ここではユーザは前述のようにLCD108のVOLUME、IMAGEを選択していることが想定されているため、選択されていることを示す情報(「○」印)がそれらの「ユーザ」の欄に格納されている。このユーザ情報により、今後、新たなコンテンツが選択されたときには、まずLCD108のVOLUME、IMAGEが最初に選択される。
図51を参照して、ホームネットワーク103にLCD108が接続されたため、サーバ104の更新後のIOデバイス管理表408にはLCD108の持つIOデバイスに関する情報が追加されている。図48を参照して説明したように、LCD108はIOデバイスとしてDISPLAY(映像を映し出すアウトプットデバイス)、SPEAKER(音声を再生するアウトプットデバイス)という2つのIOデバイスを持つ。したがってIOデバイス管理表408には、これらに対応する行4301および4302が追加されている。
行4301および4302の名前の欄にはDISPLAYおよびSPEAKERが、IOデバイスIDの欄にはD-0006およびD-0007が、それぞれ与えられている。機器IDには、LCD108の機器IDであるA-0004がそれぞれ与えられている。IOデバイス情報にはいずれもIO-Device.xmlが与えられている。
「選択」の欄について見ると、ユーザに選択されているTVのコンテンツはLCD108のDISPLAYとSPEAKERとを使用するので、これらに対応する行4301および4302の「選択」の欄に選択されていることを示す情報(「○」印で示す。)が格納されている。
「ユーザ」の欄について見ると、図45の状態ではホームネットワーク103に同一の働きをするものが複数個存在するIOデバイスとしてDISPLAYおよびSPEAKERがある。ここでは、前述のとおりユーザがLCD108のDISPLAYおよびSPEAKERを選択していることが想定されているため、LCD108のIOデバイスに対応する行4301および4302の「ユーザ」の欄に選択されていることを示す情報(「○」印で示す。)が格納されている。このユーザ情報により、今後、新たなコンテンツが選択されたときには、DISPLAYおよびSPEAKERがホームネットワーク103内に複数個存在しているにもかかわらず、まずLCD108のDISPLAYおよびSPEAKERが最初に選択される。
このように、ホームネットワーク103内に重複する機能またはIOデバイスがある場合、その機能またはIOデバイス情報がサーバ104からリモートコントローラ102に送信される(図24のS205)ため、LCD108が接続されると、図52に示すように、リモートコントローラ102のタッチパネル付液晶表示装置202には、機能またはIOデバイスを選択するための機能/IOデバイス選択ボタン3801が表示される。これは、新たに接続されたLCD108が、既に接続されていたTV105の持つ機能およびIOデバイスと同一の働きをする機能およびIOデバイスを保持していたため、いずれを選択するかを決定する必要があるためである。
図52に示される機能/IOデバイス選択ボタン3801をユーザが選択すると、リモートコントローラ102は図53に示す重複機能/IO選択ダイアログ3901を表示する。重複機能/IO選択ダイアログ3901は、上部に配置された、重複して存在する機能またはIOデバイスを表示してユーザが選択する重複機能/IO選択のためのユーザインタフェース部分と、下部に配置され、上部で選択された機能またはIOデバイスに関して実際にどれを使用するかをユーザが選択するためのインタフェース部分とを含む。
図53を参照して、ダイアログ上部に配置された重複する機能/IOデバイス選択のためのユーザインタフェース部分は、IOデバイスのDISPLAYのためのボタン3902、IOデバイスのSPEAKERのためのボタン3903、機能のVOLUMEのためのボタン3904、および機能のIMAGEのためのボタン3905を含む。図53に示す例では、上記した機能の中から、IOデバイスのDISPLAYのためのボタン3902が選択されている。
このようにIOデバイスのDISPLAYのためのボタン3902が選択された場合、ダイアログ下部には上部で選択されたIOデバイスのDISPLAYに対する選択肢が表示される。図53に示す例では、これら選択肢は、TV105のディスプレイ選択のためのボタン3906およびLCD108のディスプレイを選択するためのボタン3907が表示される。図53に示す例では、TV105のディスプレイ選択のためのボタン3906が選択されている。この時点では、図52に示すようにコンテンツとしてTV105の「近畿TV」が選択されているため、ホームネットワーク103において、コンテンツ近畿TVの映像がTV105のディスプレイに映し出されている。
図54を参照して、重複機能/IO選択ダイアログ3901において、ユーザがLCD108のディスプレイを選択するためのボタン3907を選択した時にはLCD108のディスプレイを選択するためのボタン3907がハイライト表示される。この時点で、ホームネットワーク103において、コンテンツ「近畿TV」の映像がLCD108のディスプレイに映し出される。そしてダイアログに表示された「閉じる」ボタン4001を押すことにより、ダイアログ3901が消去される。
以上のようにこの実施の形態のホームネットワーク103によれば、ユーザが使用するコンテンツとネットワークにおける機器の接続状態とに応じて、ユーザがコンテンツに対して実行可能なタスクのみを容易に選択して実行することができる。また、ネットワークで使用できるコンテンツとネットワークにおける機器の接続状態とに応じて、ユーザが簡単な操作で使用したいコンテンツを選択でき、選択したコンテンツに対して実行できるタスクのみを選択することができる。
本願実施の形態から、次のようなことがまとめられる。
(1) コンテンツ名と、コンテンツに関連して実行可能なタスクに関するタスク情報とを含むコンテンツ情報を準備するステップと、
ユーザインタフェースを用いてコンテンツをユーザに選択させるコンテンツ選択ステップと、
前記コンテンツ選択ステップにより選択されたコンテンツに関連して実行可能なタスクのいずれかを、ユーザインタフェースを用いてユーザに選択させるタスク選択ステップと、
前記タスク選択ステップにより選択されたタスクに対応する処理を実行するステップとを含む、機器制御方法。
(2) 前記タスク情報は、前記コンテンツに対して行なわれるタスクのタスク名を特定する情報と、前記タスクをユーザが選択して実行するために用いられるユーザインタフェース部品を特定するユーザインタフェース情報とを含み、
前記タスク選択ステップは、前記コンテンツ選択ステップによって選択されたコンテンツに対応するコンテンツ情報内のタスク情報に含まれるユーザインタフェース情報を用いてユーザインタフェースを構築するステップと、
前記構築されたユーザインタフェースを用いて、タスクのいずれかをユーザに選択させるステップとを含む、(1)に記載の機器制御方法。
(3) 前記タスク情報はさらに、前記タスクに関連して提供される機能に関する機能情報と、前記タスクに関連する入出力装置の種別を特定する入出力装置情報とを含み、
前記機器制御方法はさらに、システム内に存在する各機器が提供する機能および各機器が有する入出力装置の種別に関する情報を収集するステップを含み、
前記実行するステップは、
前記選択されたタスクに関連する機能情報および入出力装置情報に基づいて、前記タスクを実行するための機器を決定するステップと、
前記決定された機器を前記機能情報および前記入出力装置情報に基づいて制御するステップとを含む、(2)に記載の機器制御方法。
(4) 前記タスク情報は、当該タスクが他のコンテンツに従属する従属タスクか否かを特定するための情報をさらに含み、
さらに、前記コンテンツ選択ステップによって選択されたコンテンツに従属する、他のコンテンツのタスクが存在するか否かを判定するするステップと、
従属するタスクが存在するときに、当該従属するタスクを実行するためのユーザインタフェースを構築するステップとを含む、(1)から(3)のいずれかに記載の機器制御方法。
(5) コンテンツと、前記コンテンツに関連して実行可能なタスクに関するタスク情報とを受けて前記コンテンツに関連するタスクを実行するためのシステムにおいて、前記システムに含まれる機器を制御するための機器制御装置であって、前記タスク情報は、タスクをユーザが選択して実行するために用いられるユーザインタフェース部品を特定する情報と、前記コンテンツに関連して当該タスクにより提供される機能に関する情報と、前記タスクに関連する入出力装置の種別を特定する情報とを含み、
前記システムに含まれる機器は、
自己の持つ機能を特定するための機能情報を記憶する第1の記憶手段と、
自己の持つ入出力装置を特定するための入出力情報を記憶する第2の記憶手段とを含み、
前記機器制御装置は、
前記システム内の全ての前記機器の前記第1および第2の記憶手段の内容に基づいて、各機器が有する機能および入出力装置を、各機能および各入出力装置を有する機器と関連付けて管理するための管理手段と、
前記システム内に含まれるコンテンツの一つを選択するためのユーザインタフェースを構築するための第1のユーザインタフェース構築手段と、
選択されたコンテンツに対応するタスク情報のうち、ユーザインタフェース部品を特定する情報に基づいて、ユーザに提示して、選択されたコンテンツに対して実行可能なタスクうちのいずれかを選択させるためのユーザインタフェースを構築するための第2のユーザインタフェース構築手段と、
前記第2のユーザインタフェースを用いて選択されたタスクに対応するタスク情報によって特定される機能に関する情報と、前記入出力装置の種別を特定する情報と、前記管理手段による管理に基づいて、前記選択されたタスクを実行するように前記システムに含まれる機器を制御するための機器制御手段とを含む、機器制御装置。
(6) さらに、前記システムに含まれる複数個の機器によって、同じ機能が複数個提供されることを検出するための手段と、
前記複数個提供された機能のうちの一つをユーザに選択させるためのユーザインタフェースを構築するための第3のユーザインタフェース構築手段を含む、(5)に記載の機器制御装置。
(7) さらに、前記システムに含まれる複数個の機器によって、同じ入出力装置が複数個提供されることを検出するための手段と、
前記複数個提供された入出力装置のうちの一つをユーザに選択させるためのユーザインタフェースを構築するための第3のユーザインタフェース構築手段を含む、(5)に記載の機器制御装置。
(8) 前記タスク情報はさらに、当該タスクが他のコンテンツに従属する従属タスクか否かを特定するための情報をさらに含み、
前記機器制御装置はさらに、前記選択されたコンテンツに従属する従属タスクを検索するための手段を含み、
前記第2のユーザインタフェース構築手段は、さらに、検索された従属タスクのタスク情報によって特定されるユーザインタフェースをも構築する、(5)に記載の機器制御装置。
(9) さらに、前記第2のユーザインタフェース構築手段によって構築されたユーザインタフェースを用いたユーザによるタスクの選択を受けて、選択されたタスクを特定する情報を前記機器制御手段に与えるための入力手段を含む、(5)に記載の機器制御装置。
(1)に記載の発明にかかる機器制御方法は、コンテンツ名と、コンテンツに関連して実行可能なタスクに関するタスク情報とを含むコンテンツ情報を準備するステップと、ユーザインタフェースを用いてコンテンツをユーザに選択させるコンテンツ選択ステップと、コンテンツ選択ステップにより選択されたコンテンツに関連して実行可能なタスクのいずれかを、ユーザインタフェースを用いてユーザに選択させるタスク選択ステップと、タスク選択ステップにより選択されたタスクに対応する処理を実行するステップとを含む。
この方法によれば、ユーザがコンテンツを選択すると、そのコンテンツに関連して実行可能なタスクのみがユーザによって選択可能になる。ユーザにとって操作が容易となる。
(2)に記載の発明にかかる機器制御方法は、(1)に記載の発明の構成に加えて、タスク情報は、コンテンツに対して行なわれるタスクのタスク名を特定する情報と、タスクをユーザが選択して実行するために用いられるユーザインタフェース部品を特定するユーザインタフェース情報とを含み、タスク選択ステップは、コンテンツ選択ステップによって選択されたコンテンツに対応するコンテンツ情報内のタスク情報に含まれるユーザインタフェース情報を用いてユーザインタフェースを構築するステップと、構築されたユーザインタフェースを用いて、タスクのいずれかをユーザに選択させるステップとを含む。
予めユーザインタフェースがタスク情報に含まれているため、タスクを選択するユーザインタフェースの構築が容易になり、あわせてコンテンツによらない汎用的なシステムが構築できる。
(3)に記載の発明にかかる機器制御方法は、(2)に記載の発明の構成に加えて、タスク情報はさらに、タスクに関連して提供される機能に関する機能情報と、タスクに関連する入出力装置の種別を特定する入出力装置情報とを含み、機器制御方法はさらに、システム内に存在する各機器が提供する機能および各機器が有する入出力装置の種別に関する情報を収集するステップを含み、実行するステップは、選択されたタスクに関連する機能情報および入出力装置情報に基づいて、タスクを実行するための機器を決定するステップと、決定された機器を機能情報および入出力装置情報に基づいて制御するステップとを含む。
選択されたタスクに基づいて、それを実行するための機器が自動的に選択され制御されるので、ユーザはシステム内に含まれる機器の機能の組合せを考慮するする必要がない。
(4)に記載の発明にかかる機器制御方法は、(1)〜(3)のいずれかに記載の発明の構成に加えて、タスク情報は、当該タスクが他のコンテンツに従属する従属タスクか否かを特定するための情報をさらに含み、さらに、コンテンツ選択ステップによって選択されたコンテンツに従属する、他のコンテンツのタスクが存在するか否かを判定するするステップと、従属するタスクが存在するときに、当該従属するタスクを実行するためのユーザインタフェースを構築するステップとを含む。
あるコンテンツを選択すると、そのコンテンツのためのタスクのみならず、そのコンテンツに従属する、他のコンテンツのタスクも制御可能となり、ユーザは複数個の機器について、複雑な制御を意識する必要がなくなる。
(5)に記載の発明にかかる機器制御装置は、コンテンツと、コンテンツに関連して実行可能なタスクに関するタスク情報とを受けてコンテンツに関連するタスクを実行するためのシステムにおいて、システムに含まれる機器を制御するための機器制御装置であって、タスク情報は、タスクをユーザが選択して実行するために用いられるユーザインタフェース部品を特定する情報と、コンテンツに関連して当該タスクにより提供される機能に関する情報と、タスクに関連する入出力装置の種別を特定する情報とを含み、システムに含まれる機器は、自己の持つ機能を特定するための機能情報を記憶する第1の記憶手段と、自己の持つ入出力装置を特定するための入出力情報を記憶する第2の記憶手段とを含み、機器制御装置は、システム内の全ての機器の第1および第2の記憶手段の内容に基づいて、各機器が有する機能および入出力装置を、各機能および各入出力装置を有する機器と関連付けて管理するための管理手段と、システム内に含まれるコンテンツの一つを選択するためのユーザインタフェースを構築するための第1のユーザインタフェース構築手段と、選択されたコンテンツに対応するタスク情報のうち、ユーザインタフェース部品を特定する情報に基づいて、ユーザに提示して、選択されたコンテンツに対して実行可能なタスクうちのいずれかを選択させるためのユーザインタフェースを構築するための第2のユーザインタフェース構築手段と、第2のユーザインタフェースを用いて選択されたタスクに対応するタスク情報によって特定される機能に関する情報と、入出力装置の種別を特定する情報と、管理手段による管理に基づいて、選択されたタスクを実行するようにシステムに含まれる機器を制御するための機器制御手段とを含む。
コンテンツを選択すると、そのコンテンツに対応したタスクのみがユーザにとって選択可能となる。ユーザはコンテンツを実行するための機能について考慮することなく、適切な指示を容易に行なうことができる。
(6)に記載の発明にかかる機器制御装置は、請求項5に記載の発明の構成に加えて、さらに、システムに含まれる複数個の機器によって、同じ機能が複数個提供されることを検出するための手段と、複数個提供された機能のうちの一つをユーザに選択させるためのユーザインタフェースを構築するための第3のユーザインタフェース構築手段を含む。
システム内に同じ機能が複数個ある場合に、そのうちの一つを選択するためのユーザインタフェースが自動的に構築されるため、ユーザは容易に一つの機能を選択でき、それによって適切に各機器を制御できる。
(7)に記載の発明にかかる機器制御装置は、請求項5に記載の発明の構成に加えて、さらに、システムに含まれる複数個の機器によって、同じ入出力装置が複数個提供されることを検出するための手段と、複数個提供された入出力装置のうちの一つをユーザに選択させるためのユーザインタフェースを構築するための第3のユーザインタフェース構築手段を含む。
システム内に同じ種類の入出力装置を持つ機器が複数個ある場合に、そのうちの一つを選択するためのユーザインタフェースが自動的に構築されるため、ユーザは容易に一つの入出力装置を持つ機器を選択でき、それによって適切に各機器を制御できる。
(8)に記載の発明にかかる機器制御装置は、請求項5に記載の発明の構成に加えて、タスク情報はさらに、当該タスクが他のコンテンツに従属する従属タスクか否かを特定するための情報をさらに含み、機器制御装置はさらに、選択されたコンテンツに従属する従属タスクを検索するための手段を含み、第2のユーザインタフェース構築手段は、さらに、検索された従属タスクのタスク情報によって特定されるユーザインタフェースをも構築する。
あるコンテンツを選択すると、そのコンテンツのためのタスクのみならず、そのコンテンツに従属する、他のコンテンツのタスクも制御可能となり、ユーザは複数個の機器について、複雑な制御を意識する必要がなくなる。
(9)に記載の発明にかかる機器制御装置は、請求項5に記載の発明の構成に加えて、さらに、第2のユーザインタフェース構築手段によって構築されたユーザインタフェースを用いたユーザによるタスクの選択を受けて、選択されたタスクを特定する情報を機器制御手段に与えるための入力手段を含む。
以上、今回開示した上記各実施の形態はすべての点で例示であって制限的なものではない。本発明の技術的範囲は上記各実施の形態に限定されるものではなく、特許請求の範囲によって画定され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
102 リモートコントローラ、103 ホームネットワーク、104 サーバ、105 テレビジョン受像機、106 DVDプレーヤ、107 ビデオカセットレコーダ、405 機器管理表、406 コンテンツ管理表、407 機能管理表、408 IOデバイス管理表、409 タスク管理表、410 機器情報。