(57)【特許請求の範囲】
【請求項１】
種別の異なる処理機能をそれぞれもつ複数のオブジェクトと接続されるインタフェース手段と、
前記複数のオブジェクトそれぞれの識別子と、各オブジェクトがもつ処理機能名と、当該処理機能の入力データ型名及び出力データ型名とを記憶する記憶手段と、
処理対象データの渡し側オブジェクトとして、第１のデータ型を出力データ型としてもつ第１のオブジェクトを選択する渡し側オブジェクト選択手段と、
処理対象データの受け側オブジェクトとして、第２のオブジェクトを選択する受け側オブジェクト選択手段と、
前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるとき、前記記憶手段で記憶された情報を基に、入力データ型が前記第１のデータ型であり、かつ出力データ型が前記第２のオブジェクトの入力データ型に一致する第３のオブジェクトを検索する第１の検索手段と、
前記第３のオブジェクトと前記第２のオブジェクトの処理機能を含み、入力データ型が前記第１のデータ型であり、出力データ型が前記第２のオブジェクトの出力データ型である新たな処理機能を作成する作成手段と、
前記第２のオブジェクトの入力データ型が前記第１のデータ型と一致するときには、前記第１のオブジェクトからの出力データを前記インタフェース手段を介して前記第２のオブジェクトに入力して当該第２のオブジェクトの処理機能を実行し、前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるときには、前記インタフェース手段を介して前記第１のオブジェクトの出力データを入力して前記作成手段で作成した新たな処理機能を実行する実行手段とを具備し、
前記新たな処理機能の処理機能名と、当該新たな処理機能をもつ新たなオブジェクトの識別子と、当該新たな処理機能の入力データ型名及び出力データ型名を前記記憶手段に記憶することを特徴とする情報処理装置。
【請求項２】
種別の異なる処理機能をそれぞれもつ複数のオブジェクトと接続されるインタフェース手段と、
前記複数のオブジェクトそれぞれの識別子と、各オブジェクトがもつ処理機能名と、当該処理機能の入力データ型名及び出力データ型名とを記憶する記憶手段と、
処理対象データの渡し側オブジェクトとして、第１のデータ型を出力データ型としてもつ第１のオブジェクトを選択する渡し側オブジェクト選択手段と、
処理対象データの受け側オブジェクトとして、第２のオブジェクトを選択する受け側オブジェクト選択手段と、
前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるとき、前記記憶手段で記憶された情報を基に少なくとも１つのオブジェクトを検索する第２の検索手段と、
前記第２の検索手段で検索された当該少なくとも１つのオブジェクトと前記第２のオブジェクトの処理機能を含み、入力データ型が前記第１のデータ型であり、出力データ型が前記第２のオブジェクトの出力データ型である新たな処理機能を作成する作成手段と、
前記第２のオブジェクトの入力データ型が前記第１のデータ型と一致するときには、前記第１のオブジェクトからの出力データを前記インタフェース手段を介して前記第２のオブジェクトに入力して当該第２のオブジェクトの処理機能を実行し、前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるときには、前記インタフェース手段を介して前記第１のオブジェクトの出力データを入力して前記作成手段で作成した新たな処理機能を実行する実行手段とを具備し、
前記新たな処理機能の処理機能名と、当該新たな処理機能をもつ新たなオブジェクトの識別子と、当該新たな処理機能の入力データ型名及び出力データ型名を前記記憶手段に記憶することを特徴とする情報処理装置。
【請求項３】
前記第２の検索手段は、前記記憶手段で記憶された情報を基に、入力データ型が前記第１のデータ型であるオブジェクトを検索し、検索されたオブジェクトの出力データ型が前記第２のオブジェクトの入力データ型と一致するとき、前記作成手段は、当該検索されたオブジェクトと前記第２のオブジェクトの処理機能とを含み、入力データ型が前記第１のデータ型であり、出力データ型が前記第２のオブジェクトの出力データ型である新たな処理機能を作成し、前記第２の検索手段で検索されたオブジェクトの出力データ型が前記第２のオブジェクトの入力データ型と異なるとき、前記第２の検索手段は、前記第２のオブジェクトの入力データ型を出力データ型としてもつオブジェクトが検索されるまで、前記記憶手段で記憶された情報を基に、入力データ型が前回検索されたオブジェクトの出力データ型であるオブジェクトを順次検索し、前記作成手段は、前記第２の検索手段で検索された入力データ型が前記第１のデータ型であるオブジェクトと、順次検索されたオブジェクトと、前記第２のオブジェクトとを含み、入力データ型が前記第１のデータ型であり、出力データ型が前記第２のオブジェクトの出力データ型である新たな処理機能を作成することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記記憶手段で記憶された情報を基に、前記第１のオブジェクトの出力データ型を入力データ型としてもつオブジェクトを検索する第３の検索手段と、
少なくとも前記第３の検索手段で検索されたオブジェクトの識別子を表示する表示手段と、を更に具備し、
前記実行手段は、前記第３の検索手段で検索されたオブジェクトのうちの１つが選択されたときには、前記第１のオブジェクトからの出力データを当該選択されたオブジェクトに入力して当該選択されたオブジェクトの処理機能を実行することを特徴とする請求項１または２記載の情報処理装置。
【請求項５】
種別の異なる処理機能をそれぞれもつ複数のオブジェクトとインタフェースを介して接続され、前記複数のオブジェクトそれぞれの識別子と、各オブジェクトがもつ処理機能名と、当該処理機能の入力データ型名及び出力データ型名とを記憶する記憶手段を有する情報処理装置において、
処理対象データの渡し側オブジェクトとして、第１のデータ型を出力データ型としてもつ第１のオブジェクトを渡し側オブジェクト選択手段により選択する第１のステップと、
処理対象データの受け側オブジェクトとして、受け側オブジェクト選択手段により第２のオブジェクトを選択する第２のステップと、
前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるとき、前記記憶手段で記憶された情報を基に、入力データ型が前記第１のデータ型であり、かつ出力データ型が前記第２のオブジェクトの入力データ型に一致する第３のオブジェクトを第１の検索手段で検索する第３のステップと、
前記第３のオブジェクトと前記第２のオブジェクトの処理機能を含み、入力データ型が前記第１のデータ型であり、出力データ型が前記第２のオブジェクトの出力データ型である新たな処理機能を作成手段で作成する第４のステップと、
実行手段によって、前記第２のオブジェクトの入力データ型が前記第１のデータ型と一致するときには、前記第１のオブジェクトからの出力データを前記インタフェースを介して前記第２のオブジェクトに入力して当該第２のオブジェクトの処理機能を実行し、前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるときには、前記インタフェースを介して前記第１のオブジェクトの出力データを入力して第４のステップで作成した新たな処理機能を実行する第５のステップと、
前記新たな処理機能の処理機能名と、当該新たな処理機能をもつ新たなオブジェクトの識別子と、当該新たな処理機能の入力データ型名及び出力データ型名を前記記憶手段に記憶する第６のステップと有することを特徴とする情報処理方法。
【請求項６】
種別の異なる処理機能をそれぞれもつ複数のオブジェクトとインタフェースを介して接続され、前記複数のオブジェクトそれぞれの識別子と、各オブジェクトがもつ処理機能名と、当該処理機能の入力データ型名及び出力データ型名とを記憶する記憶手段を有する情報処理装置において、
処理対象データの渡し側オブジェクトとして、第１のデータ型を出力データ型としてもつ第１のオブジェクトを渡し側オブジェクト選択手段により選択する第１のステップと、
処理対象データの受け側オブジェクトとして、受け側オブジェクト選択手段により第２のオブジェクトを選択する第２のステップと、
前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるとき、前記記憶手段で記憶された情報を基に、入力データ型が前記第１のデータ型であるオブジェクトを第２の検索手段で検索する第３のステップと、
前記第３のステップで検索されたオブジェクトの出力データ型が前記第２のオブジェクトの入力データ型と一致するとき、前記第３のステップで検索されたオブジェクトと前記第２のオブジェクトとを含み、入力データ型が前記第１のデータ型であり、出力データ型が前記第２のオブジェクトの出力データ型である新たな処理機能を作成手段で作成する第４のステップと、
前記第３のステップで検索されたオブジェクトの出力データ型が前記第２のオブジェクトの入力データ型と異なるとき、前記第２のオブジェクトの入力データ型を出力データ型としてもつオブジェクトが検索されるまで、前記記憶手段に記憶された情報を基に、入力データ型が前回検索されたオブジェクトの出力データ型であるオブジェクトを前記第２の検索手段で順次検索する第５のステップと、
前記第３のステップで検索されたオブジェクトと前記第５のステップで検索されたオブジェクトと、前記第２のオブジェクトとを含み、入力データ型が前記第１のデータ型であり、出力データ型が前記第２のオブジェクトの出力データ型である新たな処理機能を作成手段で作成する第６のステップと、
実行手段によって、前記第２のオブジェクトの入力データ型が前記第１のデータ型と一致するときには、前記第１のオブジェクトからの出力データを前記第２のオブジェクトに入力して当該第２のオブジェクトの処理機能を実行し、前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるときには、前記第１のオブジェクトからの出力データを前記第４及び第６のステップのうちのいずれか一方で作成された新たな処理機能を入力して当該新たな処理機能を実行する第７のステップと、
前記新たな処理機能の処理機能名と、当該新たな処理機能をもつ新たなオブジェクトの識別子と、当該新たな処理機能の入力データ型名及び出力データ型名を前記記憶手段に記憶する第８のステップと有することを特徴とする情報処理方法。
【請求項７】
前記記憶手段に記憶された情報を基に、前記第１のオブジェクトの出力データ型を入力データ型としてもつオブジェクトを第３の検索手段で検索する第７のステップと、
少なくとも前記第７のステップで検索されたオブジェクトの識別子を表示手段に表示する第８のステップと、
前記第７のステップで検索されたオブジェクトのうちの１つが選択されたとき、前記第１のオブジェクトからの出力データを当該選択されたオブジェクトに入力して当該選択されたオブジェクトの処理機能を実行する第９のステップと、
をさらに有することを特徴とする請求項５記載の情報処理方法。
【請求項８】
前記記憶手段に記憶された情報を基に、前記第１のオブジェクトの出力データ型を入力データ型としてもつオブジェクトを第３の検索する第９のステップと、
少なくとも前記第９のステップで検索されたオブジェクトの識別子を表示手段に表示する第１０のステップと、
前記第９のステップで検索されたオブジェクトうちの１つが選択されたとき、前記第１のオブジェクトからの出力データを当該選択されたオブジェクトに入力して当該選択されたオブジェクトの処理機能を実行する第１１のステップと、
をさらに有することを特徴とする請求項６記載の情報処理方法。
【請求項９】
種別の異なる処理機能をそれぞれもつ複数のオブジェクトとインタフェースを介して接続され、前記複数のオブジェクトそれぞれの識別子と、各オブジェクトがもつ処理機能名と、当該処理機能の入力データ型名及び出力データ型名とを記憶する記憶手段を有する情報処理装置において、
処理対象データの渡し側オブジェクトとして、第１のデータ型を出力データ型としてもつ第１のオブジェクトを渡し側オブジェクト選択手段により選択する第１のステップと、
処理対象データの受け側オブジェクトとして、受け側オブジェクト選択手段により第２のオブジェクトを選択する第２のステップと、
前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるとき、前記記憶手段で記憶された情報を基に、入力データ型が前記第１のデータ型であり、かつ出力データ型が前記第２のオブジェクトの入力データ型に一致する第３のオブジェクトを第１の検索手段で検索する第３のステップと、
前記第３のオブジェクトと前記第２のオブジェクトの処理機能を含み、入力データ型が前記第１のデータ型であり、出力データ型が前記第２のオブジェクトの出力データ型である新たな処理機能を作成手段で作成する第４のステップと、
実行手段によって、前記第２のオブジェクトの入力データ型が前記第１のデータ型と一致するときには、前記第１のオブジェクトからの出力データを前記インタフェースを介して前記第２のオブジェクトに入力して当該第２のオブジェクトの処理機能を実行し、前記第２のオブジェクトの入力データ型が前記第１のデータ型と異なるときには、前記インタフェースを介して前記第１のオブジェクトの出力データを入力して第４のステップで作成した新たな処理機能を実行する第５のステップと、
前記新たな処理機能の処理機能名と、当該新たな処理機能をもつ新たなオブジェクトの識別子と、当該新たな処理機能の入力データ型名及び出力データ型名を前記記憶手段に記憶する第６のステップとを含む処理を実行するプログラムを記録した機械読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
データの種類（データ型）に依存することなく複数のオブジェクト（例えば、アプリケーション）間でのデータ転送、データ処理が円滑に行え、また、例えば、各種アプリケーションで適用されているデータの種類を意識することなく、対話的にメディア変換が行える情報処理装置および情報処理方法に関する。
【０００２】
【従来の技術】
パーソナル・コンピュータの普及により、文書処理、図面処理、表計算処理など、多分野にわたってアプリケーション・プログラムがさかんに作られるようになってきた。それに伴い、異なる分野のアプリケーション間でデータのやりとり、相互のアプリケーション呼び出しの行える環境も整ってきている。例えば、ドキュメント文書に図を挿入したい場合は、文書処理アプリケーション内から図面処理アプリケーションを立ち上げ、図を作成、編集したり、表を挿入したい場合は、表計算処理アプリケーションを立ち上げ、表を作成、編集したりすることができる。また、ここで作成した図および表はリンク情報として特定のアプリケーション情報が登録されているため、編集作業は自動的にリンク情報にあるアプリケーションを立ち上げ、実行することができるようになっている。
【０００３】
しかし、あるアプリケーションで作った図を、別のイメージ処理アプリケーションに持ち込んで編集しようとするような場合には、以下のような問題がある。イメージ処理アプリケーションが扱える図の形式が限られている。例えば、イメージ処理アプリケーションで扱える図の形式が、ビットマップイメージ形式のもの（「ｘｘｘ．ｂｍｐ」）あるいはＴＩＦＦ（Ｔａｇ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）形式のもの（「ｘｘｘ．ｔｉｆ」）であったとする。ところが、既に作った図がこれらと互換性のない異なる形式のもの（例えば「ａａａ．ｗｍｆ」）であるとする。すると、ｗｍｆの形式をｂｍｐあるいはｔｉｆの形式に変換しないと、イメージ処理アプリケーションで図を扱うことができない。ｗｍｆからｂｍｐあるいはｔｉｆへの変換アプリケーションの存在を知らないと変換ができずに困ってしまうのである。
【０００４】
また、変換できたとしても、ｂｍｐとｔｉｆのどちらに変換した方が図が劣化（図の解像度が落ちないか）せずに済むかという知識がないために、せっかくきれいに作った図がきたなくなってしまうということも多々ある。
【０００５】
同様の問題は家電機器の接続においても発生している。家電機器に代表されるＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）機器の場合、各機器間の接続は１対１のケーブル接続にならざるを得ない。しかも特定の接続インタフェースを有する必要があった。例えば、ＮＴＳＣ企画テレビへの接続の場合、ビデオ映像入力端子には、ＮＴＳＣ規格に基づく映像信号を送る必要があり、必然的にこの端子に接続できる機器は、ＮＴＳＣ規格ビデオに限られる。ところが、最近はビデオ以外にも、ビデオカメラやＰＣなど種々の機器が出現し、それに応じて、異なる映像規格が存在するようになっている。例えば、ＰＣの通常の出力はＲＧＢ（ｒｅｄ、ｇｒｅｅｎ、ｂｌｕｅ）であり、ビデオやＴＶのＮＴＳＣとは全く別の規格である。また、ＰＣの出力は一口にＲＧＢといっても、種々の画面サイズがある（ＶＧＡであれば、６４０×４８０であり、ＸＶＧＡであれば、１６００ドット×１２００ドットである）。サイズだけでなく、１ドットあたりの色の数も異なっている（２５６色からフルカラー約１６７０万色まで）。また、ＴＶにもハイデフィニション（ＨＤ）の規格がでてきている（ＮＴＳＣの走査線の数は６４０×４８０であるのに対し、ＨＤでは１１２５×９６０）。従って、例えば、ＨＤの映像をＮＴＳＣのＴＶ画面に出す場合には、走査線の数を減らす変換器（ダウンコンバータ）が必要になり、逆に、ＮＴＳＣをＨＤに出力するには、走査線の数を増やす変換器（アップコンバータ）が必要となる。従って、別の映像規格の機器からの映像信号をＮＴＳＣ規格テレビで出力するような場合、映像機器間を数珠つなぎしたり、あるいは、メディア変換器を挿入する場合など、その順番を意識してケーブル接続する必要があり、ユーザには、非常にわずらわしい作業であった。
【０００６】
また、最近販売されるようになったＤＶＤでは大容量を記憶できるようにするために、ＮＴＳＣの映像信号がＭＰＥＧ２という規格で圧縮され、記憶されている。このため、再生するときには、圧縮を復号（デコード）して、ＮＴＳＣ信号になおして、その結果が画面に出力されている。このＭＰＥＧ２という圧縮の規格は、ネットワーク上で映像信号を伝送する時も使われている。が、例えば、ＰＣを使って、ＮｅｔｓｃａｐｅやＩｎｔｅｒｎｅｔＥｘｐｌｏｒｅｒなどのＷｅｂブラウザと呼ばれるアプリケーションを使って、ネットワークを通じて送られてきたＭＰＥＧ２の映像信号を見るときには、ＰＣ上にＭＰＥＧ２のデコード機能が必要となる。ＤＶＤプレーヤについている、高速なＭＰＥＧ２のデコード用の機能をＰＣ上で利用できずに、ＰＣ上に別途、デコード機能のあるアプリケーションを買うか、あるいは、デコード用のボードを買うかする必要がある。
【０００７】
【発明が解決しようとする課題】
従来の装置では、異なるデータ型間の受け渡しは、考慮されていなかった。特定のアプリケーションには、そのアプリケーション・フォーマットのファイルしか読むことができないか、あるいは幾つか制約つきで他のフォーマット・ファイルを読める位であり、しかもそのコンバート機能は各アプリケーションが用意しておかなければならず、限定されたものであった。またあるフォーマットを解釈できる複数のアプリケーション・プログラムがパーソナル・コンピュータにインストールされている状態でも、そのデータには単一の静的なリンクがはられているだけであり、別のアプリケーションを利用したい場合、そのアプリケーションを立ち上げる必要があった。このように、従来の装置では、データ型とアプリケーション・プログラムは非常に静的な関係にあり、自由度の低い操作環境であった。
【０００８】
そこで、本発明は、データ型に依存することなく複数のアプリケーション間でのデータ処理を円滑に行える情報処理方法およびそれを用いた情報処理装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明の情報処理装置は、１または複数の機能およびデータを有するオブジェクト毎に該オブジェクトにて適用可能なデータの種類を識別するための第１の識別情報および他のオブジェクトに提供可能なデータの種類を識別するための第２の識別情報を記憶する記憶手段と、
１または複数のオブジェクトが指定されたとき、その指定されたオブジェクトの有する第１およびまたは第２の識別情報を基に前記記憶手段からオブジェクトを検索する検索手段と、
この検索手段での検索結果に基づき前記指定されたオブジェクトと他のオブジェクトとを対応付ける対応付け手段と、
を具備したことにより、データの種類（データ型）に依存することなく複数のオブジェクト（例えば、アプリケーション）間でのデータ転送、データ処理が円滑に行える。
【００１０】
本発明の情報処理装置は、１または複数の機能およびデータを有するオブジェクト毎に該オブジェクトにて適用可能なデータの種類を識別するための第１の識別情報および他のオブジェクトに提供可能なデータの種類を識別するための第２の識別情報を記憶する記憶する記憶手段と、
１つのオブジェクトが指定されたとき、その指定されたオブジェクトの有する第２の識別情報と一致する第１の識別情報を有するオブジェクトを前記記憶手段から検索する検索手段と、
この検索手段での検索結果に基づき前記指定されたオブジェクトと他のオブジェクトとを対応付ける対応付け手段と、
を具備したことにより、データの種類（データ型）に依存することなく複数のオブジェクト（例えば、アプリケーション）間でのデータ転送、データ処理が円滑に行える。
【００１１】
本発明の情報処理装置は、１または複数の機能およびデータを有するオブジェクト毎に該オブジェクトにて適用可能なデータの種類を識別するための第１の識別情報および他のオブジェクトに提供可能なデータの種類を識別するための第２の識別情報を記憶する記憶する記憶手段と、
１つのオブジェクトが指定されたとき、その指定されたオブジェクトの有する第２の識別情報と一致する第１の識別情報を有するオブジェクトを前記記憶手段から検索する第１の検索手段と、
この検索手段での検索結果に基づき前記指定されたオブジェクトと他のオブジェクトとを対応付ける第１の対応付け手段と、
複数のオブジェクトが指定されたとき、そのうちの１つのオブジェクトの有する第２の識別情報と他の１つのオブジェクトの有する第１の識別情報とを前記記憶手段から検索し、該１つのオブジェクトの有する第２の識別情報と他の１つのオブジェクトの有する第１の識別情報とが異なるとき、該１つのオブジェクトの有する第２の識別情報と一致する第１の識別情報と該他の１つのオブジェクトの有する第１の識別情報と一致する第２の識別情報を有するオブジェクトを前記記憶手段から検索する第２の検索手段と、
この検索手段での検索結果に基づき前記指定された複数のオブジェクトと他のオブジェクトとを対応付ける第２の対応付け手段と、
を具備したことにより、データの種類（データ型）に依存することなく複数のオブジェクト（例えば、アプリケーション）間でのデータ転送、データ処理が円滑に行える。また、ユーザは、データの受け渡しを指示したいオブジェクト（処理機能）を指定することで、システム側が、データの受け渡し両サイドの出力データ型、入力データ型に依存するデータ型変換処理を行ってくれるため、それらの処理間の依存関係を意識することなく、情報処理を行うことができる。
【００１２】
また、前記第１および第２の識別情報は文字列であることにより、従来の情報検索方法を用いて容易にしかも高速にオブジェクトの検索が行える。
また、前記検索手段で検索されたオブジェクトは、そのオブジェクトの有する機能およびデータのそれぞれに予め定められた優先順位に応じて提示されることにより、ユーザがオブジェクトを選択する際の利便性が向上する。オブジェクト（データあるいは処理機能）を指定することで、入力、あるいは出力可能な処理及びデータ型を表示することも可能なため、アプリケーションの違いを意識することなく、統一されたインタフェースで対話的な操作が可能となる。
【００１３】
また、前記対応付け手段で複数のオブジェクトを対応付けることにより生成された新たなオブジェクトの第１の識別情報と第２の識別情報とを前記記憶手段に記憶することにより、オブジェクト間で受け渡しされるデータの種類を変換するオブジェクトの検索過程が以後省略でき、処理の高速化が図れる。
【００１４】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
まず、以下の説明で用いる用語の説明を行う。
オブジェクトとは、１または複数の機能およびデータを有する論理的あるいは物理的な一単位をいう。
【００１５】
関数とは、オブジェクトの有する処理機能およびデータそのものであるが、ここでは、例えば、オブジェクトの有する処理機能、データを呼び出すためのコマンドであってもよく、それらをまとめて実関数と呼ぶ。具体的には、その機能を実現するための処理プログラムの記憶されている記憶領域へのポインタ、処理データの記憶されている記憶領域へのポインタ等でもよく、実関数をオブジェクトに作用させることにより、そのオブジェクトの有する機能の１つを実行し、あるいはそのオブジェクトの有する処理データを他のオブジェクトに転送することができるものである。
【００１６】
図１は、本実施形態に係る情報処理装置１００を用いて例えばテレビ、ＶＴＲ、プリンタ、スピーカ等を接続してなるネットワークシステムの全体の構成例を示したものである。
【００１７】
情報処理装置１００は、テレビ、ＶＴＲ、プリンタ、スピーカ等をオブジェクトとして認識し、ユーザからの指示に応じて、オブジェクト間を対応付けて、所定のインターフェース（例えばＩＥＥＥ１３９４、ＵＳＢ、ＩｒＤＡ等）を介して、オブジェクトの有する処理機能を実行させる。例えば、オブジェクトの実体であるテレビやプリンタにアクセスして、テレビの映像データをプリンタから出力することができる。
【００１８】
図２は、情報処理装置１００の構成例を概略的に示した図で、制御部１、指示部２、記憶部３、検索部４、表示部５から構成されている。
指示部２は、例えば、ポインティング・デバイスから構成され、ユーザが所望のオブジェクト等を選択したり、その他の指示データを入力するためのものでる。
【００１９】
記憶部３には、例えば図１に示したようなシステム内に存在する各オブジェクトの有する関数（処理データを含む）群が所定のフォーマットで記述されたデータベースを記憶するものである。
【００２０】
記憶部３のデータベースには、図３に示すように、情報処理装置１００にて管理されているオブジェクトの識別子（ＩＤ）、各オブジェクト毎にそれに属する実関数と各実関数を識別するための抽象関数名が登録されている。また、各実関数には、その実関数の入力データ型および出力データ型が（関数が処理データの場合は、そのデータ型）が記憶されている。さらに、各関数の処理の実行時間、あるいは、処理データの精度等に基づき与えられるコストも登録されている。
【００２１】
オブジェクトＩＤは、システム内に存在するオブシェクトを特定するために必要な識別子であり、後述する検索部４で文字検索可能なように文字列で表された会社ＩＤ、製品ＩＤ、ないしはプログラム名等である。各オブジェクトにユニークに割り当てられる。つまり、オブジェクトＩＤで、一意にオブジェクトを指定することができる。
【００２２】
各オブジェクト内の実関数は、後述する検索部４で文字検索可能なように、文字列で抽象関数名として登録しておく。
実際に呼び出される各オブジェクトの実関数は、ポインタデータとして、実関数のフィールドに登録しておく。
【００２３】
関数へ入力可能なデータ型、および出力可能なデータ型については、抽象関数名と同様、検索部４にて文字検索可能なように、それぞれ文字列で入力データ型欄、出力データ型欄に列挙する形で登録しておく。
【００２４】
また、関数を実行した際に要する実行時間に基づき、例えば実行時間が短い程、値が小さくなるように、コストの値を設定している。
記憶部３には、図３に示したようなデータベースの他に、データベース中に用いるデータ型の文字列の内容を認識するために用いる定義テーブルも記憶されている。
【００２５】
図４に示したように、データ型には、大きく分けて（大分類として）、例えば、文書型、音声型、静止画型、動画型、ＶＩＤＥＯ型、ＡＵＤＩＯ型があり、さらに小さく分けて（小分類）、各種フォーマットに分類できる。図３に示したデータベースに記憶された処理データのデータ型、関数の入力データ型・出力データ型のそれぞれを識別する文字列は、上記大分類と小分類の組み合わせで示されている。
【００２６】
検索部４は、記憶部３の図３の示したようなデータベース中に登録された文字列を検索するためのもので、検索範囲の指定は、オブジェクトＩＤ欄、抽象関数名欄、入力データ型欄、出力データ型欄のそれぞれについて指定することができる。
【００２７】
表示部５は、例えば、情報処理装置１００にて管理されている操作可能なオブジェクト、あるいはオブジェクトの一覧を表示すると共に、オブジェクト間のデータの受け渡し状態等も表示するものである。ユーザは表示部５の表示内容を参照しながら操作対象オブジェクトの選択を指示部２を介して行う。表示部５上で操作する方法以外にも、リモコンなどの利用も考えられる。この場合、３次元姿勢センサをつけたリモコンを利用すれば、空間的な配置情報から、例えば、オブジェクトとしての対象家電機器を識別し、所望のものを選択すると、その選択された家電機器は、音声で操作対象になったこと、及び、接続先の確認を促すといった利用も考えられる。
【００２８】
例えば、２つのオブジェクト間でデータを受け渡しする場合、表示部５に表示されたオブジェクトに基づき指示部２を介して選択されたオブジェクトは、例えば反転表示され、２つのオブジェクトが選択された段階で、それぞれの間のデータ受け渡しが指示されたものとなっている。このとき、データの受け渡しが成功したオブジェクト間は線を結んだ状態で表示し、失敗した場合は、エラーを表示してもよい（図６参照）。
【００２９】
インタフェース部６は、例えば、ＩＥＥＥ１３９４、ＵＳＢ、ＩｒＤＡ等の各種インタフェースを具備し、これらを介して各オブジェクトの実体に存在する関数へアクセスするようになっている。
【００３０】
制御部１は、上記各部の制御を司るとともに、例えば、指示部２を介して指定された複数のオブジェクト間の対応付け（複数のオブジェクト間でデータの受け渡しをする際の経路の設定）、オブジェクト間で受け渡されるデータ型のマッチング制御を行うようになっている。
【００３１】
なお、以下に説明するように、オブジェクトを選択する方法としては、例えば表示部５に表示される選択可能な複数のオブジェクトから所望のオブジェクトを選択する場合と、各オブジェクト毎の抽象関数名を選択することによりオブジェクトを選択する場合もある。
【００３２】
次に、オブジェクトの実体であるビットマップイメージデータをオブジェクトの実体であるビデオプレイヤで表示させる場合を例にとり、本実施形態の情報処理装置の処理動作について、図５に示すフローチャートを参照して説明する。すなわち、データ渡し側オブジェクトとデータ受け側オブジェクトが指定されたときの処理動作について説明する。
【００３３】
表示部５に表示されたオブジェクトのうち、所定のアプリケーションソフトで作られたビットマップ・イメージデータ「ＢＩＴＭＡＰ＃１」を表すアイコンが例えばポインティング・デバイス（指示部２）を用いて選択される（ステップＳ１）。すると、表示部５上の「ＢＩＴＭＡＰ＃１」は反転表示され、データ渡し側オブジェクトとして選択されたことがユーザに確認される（図６参照）。
【００３４】
次に、同じようにポインティング・デバイスでＶＩＤＥＯプレイヤを表すアイコン「ＶＩＤＥＯ＃１」が選択される（ステップＳ２）。すると、表示部５上の「ＶＩＤＥＯ＃１」アイコンが反転表示され、データ受け側オブジェクトとして「ＶＩＤＥＯ＃１」が選択されたことが確認される（図６参照）。
【００３５】
オブジェクトＩＤが「ＶＩＤＥＯ＃１」のビデオプレイヤの有する実関数は、図３に示したように、記憶部３のデータベースに予め登録されている。制御部１は検索部４に対し検索指示を発行する。検索部４では、「ＶＩＤＥＯ＃１」はデータ受け側オブジェクトとして選択されたので、記憶部３の図３に示したようなデータベースから「ＶＩＤＥＯ＃１」の有する実関数の抽象関数名の中から入力データ型の欄に文字列の記載がある抽象関数名を検索する。そしてその検索結果を制御部１を介して表示部５に通知して表示部５に表示する。このとき、検索された抽象関数名のうち、例えば、コストの低い順に表示部５に表示するようにしてもよい。この場合、オブジェクト「ＶＩＤＥＯ＃１」の有する実関数の抽象関数名「Ｒｅｃｏｒｄ」および「Ｌｉｎｅ１」を含むメニューが表示される（図６参照）。
【００３６】
このメニューから指示部２を介して「Ｌｉｎｅ１」が選択されると、制御部１は検索部４に検索指示を発行し、検索部４では、記憶部３の図３に示すようなデータベース中の実関数欄から、抽象関数名「Ｌｉｎｅ１」に対応する実関数
＊Ｖｉｄｅｏ＃１：ｏｎ；＊Ｖｉｄｅｏ＃１：ｌｉｎｅ１
を検索して読み出し、制御部１に送る。制御部１は、インタフェース部６を介して、この実関数にてオブジェクトをアクセスし、関数の実行を指示する。この場合、「ＶＩＤＥＯ＃１」の電源が入り、外部入力ライン１からの入力待ち状態になる。
【００３７】
次に、渡し側オブジェクトである処理データ「ＢＩＴＭＡＰ＃１」を、受け側オブジェクトである「ＶＩＤＥＯ＃１」に転送するための処理動作を開始する。
制御部１は、検索部４で記憶部３の図３に示すようなデータベースを検索することより、オブジェクト「ＢＩＴＭＡＰ＃１」のデータ型（出力データ型）が、ＩＭＡＧＥ：ＢＭＰ（静止画像：ビットマップ）であり、それに対し、受け側オブジェクトの「ＶＩＤＥＯ＃１」の入力データ型が、ＶＩＤＥＯ：ＮＴＳＣ（映像：ＮＴＳＣ）であることを知る。すなわち、渡し側オブジェクトの出力データ型（この場合、ＩＭＡＧＥ：ＢＭＰ（静止画像：ビットマップ））と受け側オブジェクトの入力データ型（この場合、ＶＩＤＥＯ：ＮＴＳＣ（映像：ＮＴＳＣ））
とが異なるため、そのままではデータの受け渡しは無理であることがわかる（ステップＳ３）。
【００３８】
そこで、制御部１は検索部４に検索指示を発行し、検索部４は、データ渡し側の出力データ型「ＩＭＡＧＥ：ＢＭＰ」をキーワードとして、記憶部３の図３に示したようなデータベースから、入力データ型に「ＩＭＡＧＥ：ＢＭＰ」という文字列を有するオブジェクトＩＤを検索する。その結果、データ型変換関数候補のオブジェクトとして、「ＳＣＡＮ＿ＣＯＮＶＥＲＴＥＲ」、「ＩＭＧＶＩＥＷ＃１」、「ＩＭＧＥＤＩＴ＃１」が検出される。
【００３９】
一方、データ受け側オブジェクト「ＶＩＤＥＯ＃１」の入力データ型が、ＶＩＤＥＯ：ＮＴＳＣ（映像：ＮＴＳＣ）であることから、検索部４は、先の検索結果の中からさらに、入力データ型に「ＶＩＤＥＯ：ＮＴＳＣ」という文字列を有するオブジェクトＩＤあるいは抽象関数名を検索する。その結果、オブジェクト「ＳＣＡＮ＿ＣＯＮＶＥＲＴＥＲ」の抽象関数名「ｔｒａｎｓｆｏｒｍ」の関数が最終的なデータ型変換関数として選択され、制御部１を介して表示部５に表示される（ステップＳ４）。
【００４０】
以上で、渡し側オブジェクトのビットマップ・イメージデータ「ＢＩＴＭＡＰ＃１」を、まず、オブジェクト「ＳＣＡＮ＿ＣＯＮＶＥＲＴＥＲ」の関数「ｔｒａｎｓｆｏｒｍ」でＮＴＳＣ映像信号に変換し、その映像出力をビデオプレイヤのオブジェクト「ＶＩＤＥＯ＃１」に伝送する経路が確立されることになる。
【００４１】
以上のデータ変換における実関数列の組み合わせは、以下のようになる。
＊ＳｃａｎＣｏｎｖ：ｔｒａｎｓｆｏｒｍ；＊Ｖｉｄｅｏ＃１：ｌｉｎｅ１
これを実行することで、実際に処理データ「ＢＩＴＭＡＰ＃１」が、「ＶＩＤＥＯ＃１」に表示されることになる。例えば、ユーザが指示部２を介して関数の実行を指示すると、制御部１は、インタフェース部６を介して、この実関数にてオブジェクトへアクセスし、関数の実行を指示する（ステップＳ６）。
【００４２】
制御部１は、このプロセスで確立されたデータ変換関数列
＊ＳｃａｎＣｏｎｖ：ｔｒａｎｓｆｏｒｍ；＊Ｖｉｄｅｏ＃１：ｌｉｎｅ１
を新たに抽象関数名「ＢＭＰ＿Ｄｉｓｐｌａｙ」、この関数の属するオブジェクトのＩＤを「ＢＭＰ＿ＤＩＳＰＬＡＹ」として、図７に示すようなテーブルを作成し、記憶部３のデータベースに登録する（ステップＳ５）。この新たに作成された実関数のコストは、データ変換関数列中の関数に予め定められている図３に示したようなコストの和であってもよい。例えば、関数「ＢＭＰ＿Ｄｉｓｐｌａｙ」の場合、図３から、オブジェクト「ＳＣＡＮ＿ＣＯＮＶＥＲＴＥＲ」の関数「ｔｒａｎｓｆｏｒｍ」のコストは「１」、オブジェクト「ＶＩＤＥＯ＃１」の関数「Ｌｉｎｅ１」のコストは「５」であるため、これらを加算して「６」となる。
【００４３】
図７に示したようなテーブルがデータベースに登録されると、次回から「ＩＭＡＧＥ：ＢＭＰ」という文字列で表されるデータ型の処理データのオブジェクトをオブジェクト「ＶＩＤＥＯ＃１」で再生するような場合、制御部１にて関数「ＢＭＰ＿Ｄｉｓｐｌａｙ」を有するオブジェクト「ＢＭＰ＿ＤＩＳＰＬＡＹ」が対応付けられる（検索・実行される）ため、前述したようなデータ変換関数検索過程を省略することができる。
【００４４】
次に、オブジェクトの実体であるビットマップイメージデータが指定されたとき、それを適用可能なオブジェクトのリストを提示する場合を例にとり、本実施形態の情報処理装置の処理動作について、図８に示すフローチャートを参照して説明する。すなわち、ある１つのオブジェクトが指定されたとき、それに対応するオブジェクトを提示したリストに基づきオブジェクト間を対応付けるときの処理動作について説明する。
【００４５】
表示部５に表示されたオブジェクトのうち、「ＢＩＴＭＡＰ＃１」を表すアイコンが例えばポインティングデバイス（指示部２）を用いて選択される（ステップＳ１１）。すると、オブジェクト「ＢＩＴＭＡＰ＃１」のデータ型（出力データ型）は「ＩＭＡＧＥ：ＢＭＰ」であるので、制御部１からの検索指示を受けて検索部４は、記憶部３のデータベースから入力データ型に「ＩＭＡＧＥ：ＢＭＰ」
という文字列を有するオブジェクトを検索する（ステップＳ１２）。
【００４６】
検索結果が制御部１を介して表示部５に送られて、検索結果であるオブジェクトの一覧を適用可能オブジェクト候補として表示する。この場合、例えば、図９に示すように、イメージを表示する関数を有するオブジェクト「ＩＭＧＶＩＥＷ＃１」と、イメージを編集する関数を有するオブジェクト「ＩＭＧＥＤＩＴ＃１」と、データ変換処理関数を有するオブジェクト「ＳＣＡＮ＿ＣＯＮＶＥＲＴＥＲ」が表示される（ステップＳ１３〜ステップＳ１４）。
【００４７】
ユーザが指示部２を介して、この中から所望のオブジェクトを１つ選択すると、検索部４は、記憶部３のデータベースから、その選択されたオブジェクトのなかで、入力データ型に「ＩＭＡＧＥ：ＢＭＰ」という文字列を有する抽象関数名を検索する（ステップＳ１５）。検索結果が制御部１を介して表示部５に送られると、検索結果を適用可能な処理関数候補の一覧として表示する（ステップＳ１６〜ステップＳ１７）。
【００４８】
例えば、図９でオブジェクト「ＩＭＧＶＩＥＷ＃１」を選択した場合、検索部４は、記憶部３のデータベースから選択されたオブジェクト「ＩＭＧＶＩＥＷ＃１」に属する抽象関数名のうち、入力データ型に「ＩＭＡＧＥ：ＢＭＰ」という文字列を有する抽象関数名「ｓｈｏｗ」を検索し、表示部１０には、図１０に示すように表示される。
【００４９】
表示部５に表示された処理関数候補のなかから１つが選択されると、制御部１は、インタフェース部６を介して、この実関数にてオブジェクトをアクセスし、関数の実行を指示する（ステップＳ６）。
【００５０】
例えば、図１０において、抽象関数名「ｓｈｏｗ」が選択されると、関数「＊ＩｍｇＶｉｅｗ＃１：ｓｈｏｗ」が実行され、オブジェクト「ＢＩＴＭＡＰ＃１」の実体である処理データがオブジェクト「ＩＭＧＶＩＥＷ＃１」のプログラムにより読み込まれ画面に表示される。
【００５１】
さて、図５のフローチャートのステップＳ５で、図７に示したようなテーブルがデータベースに登録され、その後に、図８のフローチャートに示した様な処理動作が行われたとき、この新たに登録されたオブジェクトの有する関数の入力データ型は「ＩＭＡＧＥ：ＢＭＰ」であるので、図８のステップＳ１４において表示部５に表示される、先に選択されたオブジェクトを適用できるオブジェクトの表示画面には、例えば図１１に示すように、オブジェクト「ＢＭＰ＿ＤＩＳＰＬＡＹ」も表示されて選択可能となる。
【００５２】
なお、上記実施形態で記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピーディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。
【００５３】
【発明の効果】
データの種類（データ型）に依存することなく複数のオブジェクト（例えば、アプリケーション）間でのデータ転送、データ処理が円滑に行える。
【図面の簡単な説明】
【図１】本発明の実施形態に係るネットワークシステムの全体の構成例を示した図。
【図２】本実施形態に係る情報処理装置の構成例を示した図。
【図３】記憶部に記憶されるデータベースの一例を示した図。
【図４】データベース中に用いるデータ型の文字列の内容を認識するために用いる定義テーブルの一例を示した図。
【図５】データ渡し側オブジェクトとデータ受け側オブジェクトが指定されたときの処理動作を説明するためのフローチャート。
【図６】図５のフローチャートに対応して表示部に表示される、選択されたオブジェクトとそれに基づく検索結果の表示例を示した図。
【図７】データベースに新たに登録されるオブジェクトのテーブルの一例を示した図。
【図８】ある１つのオブジェクトが指定されたとき、それに対応するオブジェクトを提示したリストに基づきオブジェクト間を対応付けるときの処理動作について説明するためのフローチャート。
【図９】図８のフローチャートに対応して表示部に表示される、選択されたオブジェクトとそれに基づく検索結果の表示例を示した図。
【図１０】図８のフローチャートに対応して表示部に表示される、選択されたオブジェクトと関数に基づく検索結果の表示例を示した図。
【図１１】図８のフローチャートに対応して表示部に表示される、選択されたオブジェクトとそれに基づく検索結果の他の表示例を示した図。
【符号の説明】
１…制御部
２…指示部
３…記憶部
４…検索部
５…表示部
６…インタフェース部
１００…情報処理装置
【図１】
0003707913.tif 000002
【図２】
0003707913.tif 000003
【図３】
0003707913.tif 000004
【図４】
0003707913.tif 000005
【図５】
0003707913.tif 000006
【図６】
0003707913.tif 000007
【図７】
0003707913.tif 000008
【図８】
0003707913.tif 000009
【図９】
0003707913.tif 000010
【図１０】
0003707913.tif 000011
【図１１】
0003707913.tif 000012