(57)【特許請求の範囲】
【請求項１】
バイナリデータにメタデータを付与するデータ処理方法であって、
バイナリデータ部分とメタデータ部分を含む処理対象データと、該バイナリデータに付与すべきメタデータとを取得する取得工程と、
前記取得工程で取得された処理対象データの末尾部分においてメタデータ部分を検出する検出工程と、
前記検出工程で検出したメタデータ部分と前記取得工程で取得されたメタデータとに基づいて生成される新たなメタデータ部分を、前記処理対象データに含まれるバイナリデータ部分の末尾に接続する接続工程とを備えることを特徴とするデータ処理方法。
【請求項２】
前記接続工程によって得られたデータの全体を一つのファイルとして出力する出力工程を更に備えることを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記接続工程は、前記検出工程で検出されたメタデータ部分の末尾に前記取得工程で取得されたメタデータを接続することにより前記新たなメタデータを生成することを特徴とする請求項１に記載のデータ処理方法。
【請求項４】
前記接続工程は、前記検出工程で検出されたメタデータ部分に含まれる少なくとも１つのメタデータを前記取得工程で取得されたメタデータで置換することにより前記新たなメタデータ部分を生成することを特徴とする請求項１に記載のデータ処理方法。
【請求項５】
前記接続工程は、前記検出工程でメタデータ部分が検出された場合には、その処理の実行を禁止する動作モードを設定可能であることを特徴とする請求項１に記載のデータ処理方法。
【請求項６】
前記取得工程で取得されたメタデータが、使用されているデータ記述言語の記述フォーマットを満足する適正形式で記述されているか否かを判定する判定工程を更に備え、
前記判定工程で適正形式で記述されていると判定された場合に前記接続工程を実行することを特徴とする請求項１に記載のデータ処理方法。
【請求項７】
前記判定工程は、前記メタデータが前記使用されているデータ記述言語による正当なデータであるか否かを含めて判定することを特徴とする請求項６に記載のデータ処理方法。
【請求項８】
バイナリデータにメタデータを登録するデータ処理方法であって、
複数の処理対象データを読み込む読込工程と、
前記読込工程で読み込まれた複数の処理対象データの各々の末尾部分に接続されているメタデータ部分を検出する検出工程と、
前記処理対象データの各々を、前記検出工程で検出されたメタデータ部分とバイナリデータ部分に分離する分離工程と、
前記分離工程で分離されたバイナリデータ部分を合成して新たなバイナリデータ部分を生成する第１生成工程と、
前記分離工程で分離されたメタデータ部分を用いて新たなメタデータ部分を生成する第２生成工程と、
前記新たなバイナリデータ部分の末尾に、前記新たなメタデータ部分を接続する接続工程とを備えることを特徴とするデータ処理方法。
【請求項９】
前記接続工程によって得られたデータの全体を一つのファイルとして出力する出力工程を更に備えることを特徴とする請求項８に記載のデータ処理方法。
【請求項１０】
前記検出工程は、
使用されているデータ記述言語において規定されている末尾文字列が前記処理対象データの末尾に存在するか否かをチェックするチェック工程と、
該末尾文字列が存在する場合に前記使用されているデータ記述言語に規定されている先頭文字列を該処理対象データの先頭ヘ向かって検索する検索工程と、
前記検索工程で前記先頭文字列が検索された場合、該先頭文字列と前記末尾文字列との間のデータが、前記使用されているデータ記述言語の記述フォーマットを満足する適正形式を有するか否かを検査する検査工程とを備え、
前記検査工程において適正形式を有すると判定された場合に、前記先頭文字列と前記末尾文字列との間の一連のデータを前記メタデータ部分として検出することを特徴とする請求項８に記載のデータ処理方法。
【請求項１１】
前記検査工程は、前記メタデータが前記使用されているデータ記述言語による正当なデータか否かの検査もあわせて行うことを特徴とする請求項１０に記載のデータ処理方法。
【請求項１２】
前記第２生成工程は、前記分離工程で分離されたメタデータ部分を古い順に並べて新たなメタデータとすることを特徴とする請求項８に記載のデータ処理方法。
【請求項１３】
前記第２生成工程は、前記分離工程で分離されたメタデータ部分の中から選択されたメタデータ部分を用いてメタデータを生成することを特徴とする請求項８に記載のデータ処理方法。
【請求項１４】
前記第２生成工程は、前記分離工程で分離されたメタデータ部分の中で最も日付の新しいメタデータを前記新たなメタデータの生成に用いることを特徴とする請求項１３に記載のデータ処理方法。
【請求項１５】
前記第２生成工程は、前記分離工程で分離されたメタデータ部分の全てにおいて含まれる内容を抽出し、該抽出されたデータを用いて前記新たなメタデータを生成することを特徴とする請求項８に記載のデータ処理方法。
【請求項１６】
前記第２生成工程は、前記分離工程で分離されたメタデータ部分の接続の順序を指定可能であり、指定された順序でメタデータ部分を接続して前記新たなメタデータ部分を生成することを特徴とする請求項８に記載のデータ処理方法。
【請求項１７】
前記第２生成工程は、前記分離工程で分離されたメタデータ部分に含まれる情報に基づいてメタデータ部分の接続の順序を決定し、該決定された順序でメタデータ部分を接続して前記新たなメタデータ部分を生成することを特徴とする請求項８に記載のデータ処理方法。
【請求項１８】
前記メタデータがＸＭＬ形式で記述されていることを特徴とする請求項１乃至１７のいずれかに記載のデータ処理方法。
【請求項１９】
バイナリデータにメタデータを付与するデータ処理装置であって、
バイナリデータ部分とメタデータ部分を含む処理対象データと、該バイナリデータに付与すべきメタデータとを取得する取得手段と、
前記取得手段で取得された処理対象データの末尾部分においてメタデータ部分を検出する検出手段と、
前記検出手段で検出したメタデータ部分と前記取得手段で取得されたメタデータとに基づいて生成される新たなメタデータ部分を、前記処理対象データに含まれるバイナリデータ部分の末尾に接続する接続手段とを備えることを特徴とするデータ処理装置。
【請求項２０】
バイナリデータにメタデータを登録するデータ処理装置であって、
複数の処理対象データを読み込む読込手段と、
前記読込手段で読み込まれた複数の処理対象データの各々の末尾部分に接続されているメタデータ部分を検出する検出手段と、
前記処理対象データの各々を、前記検出手段で検出されたメタデータ部分とバイナリデータ部分に分離する分離手段と、
前記分離手段で分離されたバイナリデータ部分を合成して新たなバイナリデータ部分を生成する第１生成手段と、
前記分離手段で分離されたメタデータ部分を用いて新たなメタデータ部分を生成する第２生成手段と、
前記新たなバイナリデータ部分の末尾に、前記新たなメタデータ部分を接続する接続手段とを備えることを特徴とするデータ処理装置。
【請求項２１】
請求項１乃至１８のいずれかに記載のデータ処理方法をコンピュータによって実現するための制御プログラムが格納されていることを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はバイナリデータとメタデータを扱うデータ処理方法及び装置及び記憶媒体に関する。
【０００２】
【従来技術の説明】
メタデータ（meta-data）とは、「データに関するデータ」であり、画像データや音声データ等のバイナリデータを説明するデータとして用いられている。しかし、バイナリデータとこれに対応するメタデータが別々のファイルで存在した場合、ファイルの移動やコピーの際に、ユーザはバイナリデータとメタデータとを同時に管理しなければならず、非常にわずらわしいことになる。
【０００３】
そこで一般に、バイナリデータとメタデータの管理を容易にするために、バイナリデータとメタデータを記述する様々な方法が提案されてきた。この種の従来技術は、新しいバイナリフォーマットを規定する方法と、データベースで管理する方法の２つに分けることができる。
【０００４】
まず、新しいバイナリフォーマットを規定する方法の一例をあげると、画像フォーマットではTiff、Exif、Flashpix などがある。図２１は、バイナリデータにメタデータを埋め込んだフォーマットの概観を示す図である。バイナリデータとしては、例えば画像データが挙げられる。図２１に示されるように、画像のヘッダ部分にメタデータを記述する枠組みを設け、そこにユーザがメタデータを記述するというのが一般的な方法である。このようにメタデータを記述することにより、データの検索・分類が容易になる。また、バイナリデータ内にメタデータを含むようになるので、１つのファイルで管理でき、ファイルの管理は比較的容易になる。
【０００５】
次に、バイナリデータとメタデータをデータベースで管理する方法を説明する。図２２はバイナリデータとメタデータをデータベースで管理する方法を概念的に示した図である。図２２に示されるような、別々のファイルで存在するバイナリデータとメタデータをデータベース等を用いて管理するという方法も広く行われているものである。この場合は既存のバイナリデータが、既存のアプリケーションでそのまま使えるという利点がある。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述したようなメタデータを記述する新フォーマットを規定する方法とデータベースを用いてメタデータを管理する方法のそれぞれには、以下に示すような問題がある。
【０００７】
まず、メタデータを記述する新フォーマットを規定した場合には、既存のバイナリデータを当該新フォーマットに変換し、なおかつその新フォーマット内にメタデータを記述しなけれなばならない。更に、その新フォーマット内のメタデータを用いて検索するためには、当該新フォーマットに対応したアプリケーションが必要となる。すなわち、メタデータを記述したり利用したりするために、非常に多くのステップと専用の環境が必要になるという問題がある。また、このような新フォーマットのバイナリデータを処理する（例えば画像データであれば画像の再生）ためには、当該フォーマットに対応したアプリケーションが必要であり、既存のアプリケーションでは対応できなくなる。
【０００８】
そのうえ、メタデータの記述方法も新フォーマットにおいて独自に決められたものであり、新フォーマット内のメタデータを利用するアプリケーションを作成するためには、新規にメタデータの検索ルーチンをつくらなければならないという問題もある。さらに、新しい枠組みのメタデータを記述するにはフォーマットの規定を変更しなければならないという問題点もあった。
【０００９】
一方、データベースを用いてバイナリデータとメタデータを同時に管理する場合、データベースソフトが無ければメタデータの登録も利用もできないという問題があった。また、登録したメタデータを表示するためにも専用のソフトウェアが必要である。更に、バイナリデータをデータベース外に持っていくと、メタデータは付加されず、メタデータのないバイナリデータとなってしまうという問題点もあった。
【００１０】
更に、上述した２通りの方法のいずれにおいても、メタデータの変更や改訂をする場合には以下のような問題がある。すなわち、メタデータがすでに存在する場合に、新たにメタデータを登録しようとすると、過去のメタデータは自動的に上書きされてしまう。従って、既存のメタデータを残したければ、ユーザはまずこの既存のメタデータを取得し、このメタデータに対して追加更新するという手順が必要となる。
【００１１】
また、異なる言語（自然言語）でメタデータを持つ場合には、所望の言語に翻訳したメタデータを作成し、新たに追加するか置き換えなければならなかった。置き換えた場合には、以前のデータは失われてしまうし、追加した場合には、同じ内容が言語を変えて表示されてしまい、わずらわしいという問題点があった。
【００１２】
更に、複数のバイナリデータを合成させて新しいバイナリデータを作成する操作が考えられる。このような操作を行う場合において、上述のメタデータを記述できる新しいフォーマットを規定する方法とデータベースを用いてメタデータを管理する方法とには、以下のような問題点がある。
【００１３】
すなわち、メタデータが記述された新フォーマットの２つのデータを合成する場合には、それら２つのデータに含まれるメタデータは失われてしまうか、どちらか一方のメタデータしか残らないという問題点があった。
【００１４】
また、データベースを利用する場合も、メタデータがすでに存在しているバイナリデータを合成した場合には、新たにメタデータを追加するか、合成した複数のメタデータのうちの一つを、合成したバイナリデータのメタデータとして登録しなければならず、非常にわずらわしいという問題点があった。
【００１５】
また、従来より、複数のバイナリデータの関係を記述するために、様々な方法が用いられてきた。例えば複数のバイナリデータの関係を記述する例として、複数枚の静止画像や動画像を用いたデジタルアルバムや、画像データや音声データを用いたホームページ等のマルチメディアドキュメントがある。
【００１６】
このような動画、静止画、文字等を含んだマルチメディアドキュメントでは、複数枚の画像や動画像の所在を記述したリンク形式のファイル（図２３）や、アプリケーション独自形式のファイル（図２４）等を用いて複数のバイナリデータの関係を記述している。例えば、リンク形式のファイルは、ＨＴＭＬ等で書かれており、ブラウザ等を用いて内容を確認することができる。また、アプリケーション独自形式のファイルでは対応したアプリケーションを用いて内容を確認する。
【００１７】
しかしながら、前述のいずれの方法も複数のバイナリデータを管理するマルチメディアドキュメントとバイナリデータとの関連付けに問題があった。すなわち、アプリケーション独自形式の場合は、複数のバイナリデータも含んだ一つのファイルとなっており、非常に大きなファイルとなってしまい、各データを別々に扱うのが困難になる、という問題があった。また、リンク形式で記述した場合、例えばＨＴＭＬで記述した場合、ＨＴＭＬファイルが無けれは複数のバイナリデータの関係は分からず、バイナリデータとそれを管理するデータが散在する危険性がある。
【００１８】
本発明はメタデータの記述・検索に関する上記の問題点に鑑みてなされたものであり、既存のアプリケーションに影響を与えずに、バイナリデータにメタデータを登録可能とすることを目的とする。
【００１９】
また、本発明の他の目的は、メタデータが登録されたバイナリデータを、既存のアプリケーションで処理することが可能な形態で提供可能とすることにある。
【００２０】
また、本発明の他の目的は、メタデータを登録しようとするデータに既にメタデータが存在していた場合、存在していたメタデータを保存しつつ、新たなメタデータを追加登録可能とすることにある。
【００２１】
さらに、本発明の他の目的は、複数のメタデータが登録されていた場合に、メタデータの履歴を提示可能とすることにある。
【００２２】
また、本発明の他の目的は、メタデータの記述に一般的なデータ記述言語を用いることにより、既存のデータ記述言語用のツールを利用することを可能とし、対応アプリケーションの開発を容易にすることにある。
【００２３】
また、本発明の他の目的は、メタデータが記述されたバイナリデータからメタデータを抽出し、例えば検索、参照、変更等の処理に供することを可能とすることにある。
【００２４】
また、本発明の他の目的は、複数のバイナリデータを合成して作成したバイナリデータに新たにメタデータを記述する際に、バイナリデータに付加されていた既存のメタデータを有効に利用可能とすることを目的とする。
【００２５】
また、本発明の他の目的は、合成される複数のバイナリデータにメタデータが既に存在していた場合、その目的に応じて、合成後のバイナリデータに既存のメタデータを選択的に記述可能とすることにある。
【００２６】
また、本発明の他の目的は、合成される複数のバイナリデータにメタデータが既に存在していた場合、すべてのメタデータに含まれるデータを用いてメタデータを生成可能とすることにある。
【００２７】
また、本発明の他の目的は、複数のバイナリデータの関係を記述したメタデータをバイナリデータそれぞれに付加することを可能とし、複数のバイナリデータの関係を記述するためにＨＴＭＬファイルやアルバムファイルを用いることを不要にすることにある。
【００２８】
さらに、本発明の他の目的は、各バイナリデータを関連づけるメタデータをそれぞれのバイナリデータに持たせることにより、一つのバイナリデータから関連する複数のバイナリデータを検索可能とすることにある。
【００２９】
【課題を解決するための手段】
上記の目的を達成するための本発明の一態様によるデータ処理方法は例えば以下の構成を備える。すなわち
バイナリデータにメタデータを付与するデータ処理方法であって、
バイナリデータ部分とメタデータ部分を含む処理対象データと、該バイナリデータに付与すべきメタデータとを取得する取得工程と、
前記取得工程で取得された処理対象データの末尾部分においてメタデータ部分を検出する検出工程と、
前記検出工程で検出したメタデータ部分と前記取得工程で取得されたメタデータとに基づいて生成される新たなメタデータ部分を、前記処理対象データに含まれるバイナリデータ部分の末尾に接続する接続工程とを備える。
【００３０】
また、上記の目的を達成するための本発明の他の態様によるデータ処理方法は例えば以下の構成を備える。すなわち
バイナリデータにメタデータを登録するデータ処理方法であって、
複数の処理対象データを読み込む読込工程と、
前記読込工程で読み込まれた複数の処理対象データの各々の末尾部分に接続されているメタデータ部分を検出する検出工程と、
前記処理対象データの各々を、前記検出工程で検出されたメタデータ部分とバイナリデータ部分に分離する分離工程と、
前記分離工程で分離されたバイナリデータ部分を合成して新たなバイナリデータ部分を生成する第１生成工程と、
前記分離工程で分離されたメタデータ部分を用いて新たなメタデータ部分を生成する第２生成工程と、
前記新たなバイナリデータ部分の末尾に、前記新たなメタデータ部分を接続する接続工程とを備える。
【００３１】
また、上記の目的を達成するための本発明の他の態様によれば、例えば以下の構成を備えたデータ処理装置が提供される。すなわち、
バイナリデータにメタデータを付与するデータ処理装置であって、
バイナリデータ部分とメタデータ部分を含む処理対象データと、該バイナリデータに付与すべきメタデータとを取得する取得手段と、
前記取得手段で取得された処理対象データの末尾部分においてメタデータ部分を検出する検出手段と、
前記検出手段で検出したメタデータ部分と前記取得手段で取得されたメタデータとに基づいて生成される新たなメタデータ部分を、前記処理対象データに含まれるバイナリデータ部分の末尾に接続する接続手段とを備える。
【００３２】
また、上記の目的を達成するための本発明の他の態様によるデータ処理装置は例えば以下の構成を備える。すなわち、
バイナリデータにメタデータを登録するデータ処理装置であって、
複数の処理対象データを読み込む読込手段と、
前記読込手段で読み込まれた複数の処理対象データの各々の末尾部分に接続されているメタデータ部分を検出する検出手段と、
前記処理対象データの各々を、前記検出手段で検出されたメタデータ部分とバイナリデータ部分に分離する分離手段と、
前記分離手段で分離されたバイナリデータ部分を合成して新たなバイナリデータ部分を生成する第１生成手段と、
前記分離手段で分離されたメタデータ部分を用いて新たなメタデータ部分を生成する第２生成手段と、
前記新たなバイナリデータ部分の末尾に、前記新たなメタデータ部分を接続する接続手段とを備える。
【００３４】
また、本発明の他の態様によれば、上記の方法をコンピュータに実現させるための制御プログラムを格納した記憶媒体が提供される。
【００３５】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の好適な実施形態を説明する。
【００３６】
＜第１の実施形態＞
図１は第１の実施形態によるデータ処理装置の構成を示すブロック図である。図１において、１００は読込部であり、スキャナ装置などを用いて画像を読み込む。１０１は入力部であり、ユーザからの指示やデータを入力するもので、キーボードやポインティング装置を含む。１０２は蓄積部であり、バイナリデータやメタデータを蓄積する。蓄積部１０２としては、ハードディスクを用いるのが一般的である。１０３は表示部であり、蓄積部１０２に蓄積されたバイナリデータを表示したり、読込部１００で読み込まれた画像データを表示する。表示部１０３としては、ＣＲＴや液晶表示装置が一般的である。
【００３７】
１０４はＣＰＵであり、上述した各構成の処理のすべてに関わり、ＲＯＭ１０５とＲＡＭ１０６はその処理に必要なプログラム、データ、或いは作業領域をＣＰＵ１０４に提供する。なお、図２のフローチャートを参照して後述する本実施形態の処理手順を実現するための制御プログラムもＲＯＭ１０５に格納されているものとする。もちろん、蓄積部１０２にその制御プログラムを格納しておき、ＣＰＵ１０４による実行に応じてその制御プログラムがＲＡＭ１０６上へロードされるような構成であってもよい。
【００３８】
なお、第１の実施形態のデータ処理装置には上記以外にも、種々の構成要素が設けられているが、本発明の主眼ではないので、その説明については省略する。
【００３９】
つぎに、以上のように構成された本実施形態のデータ処理装置による、メタデータをバイナリデータに登録する動作について、図２のフローチャートにしたがって説明する。図２は本実施形態によるメタデータの登録手順を示すフローチャートである。
【００４０】
図２において、まず、ステップＳ３０１で、ユーザによって指定され処理対象データをメモリ（ＲＡＭ１０６）上に読み込む。これは例えば所望の処理対象データファイル名をキーボードから入力したり、ポインティング装置（例えばマウス）によって当該バイナリデータのアイコンを指示することによりなされる。次にステップＳ３０２において、ユーザによって指定された、メタデータが記述されているＸＭＬファイルをメモリ（ＲＡＭ１０６）上に読み込む。このＸＭＬファイルの指定も、キーボードからファイル名を入力したり、ポインティング装置（例えばマウス）で対応するアイコンを指示する等によって行われる。
【００４１】
次にステップＳ３０３で、メタデータを記述したＸＭＬファイルが適正形式のＸＭＬデータであるかを調べる。この適性形式の判定では、ＸＭＬファイルの記述フォーマットを満足しているか（例えば、タグの左右の括弧が正しく対をなしているか、タグづけの形式が正しいかどうか等）がチェックされる。なお、適性形式のＸＭＬデータであるか否かの判定は、正当なＸＭＬデータであるか否かを含めたチェックであってもよい。ここで、正当なＸＭＬデータか否かの判定は、例えば、ＸＭＬデータがＤＴＤ（Document Type Definition）等のスキーマに従って記述されているか等のチェックを行うことでなされる。
【００４２】
ＸＭＬファイルが適正形式のＸＭＬデータでなかった場合には、ステップＳ３０８に進む。ステップＳ３０８において、ＸＭＬのエラーを表示部に表示し、処理を終了する。
【００４３】
一方、ＸＭＬファイルが適正形式のＸＭＬデータであった場合にはステップＳ３０４に進む。ステップＳ３０４では、ステップＳ３０１において読み込まれた処理対象データにすでにＸＭＬで記述されたメタデータが登録されているか否かを判定する。なお、メタデータが登録されているか否かの判定方法については第２の実施形態において図７を参照して後述する。
【００４４】
ステップＳ３０４でメタデータが登録されていないと判断された場合、処理はステップＳ３０６にすすむ。ステップＳ３０６では、ステップＳ３０１でメモリ上に読み込まれた処理対象データの後ろに当該メタデータを接続することにより、メタデータの登録を行う。その後、ステップＳ３０７において、メタデータを登録した処理対象データを出力し、処理を終了する。なお、ステップＳ３０７におけるデータ出力により、図４の４０に示すようなデータ構造を有するデータが１つのファイルとして蓄積部１０２に格納されることになる（この場合、ステップＳ３０１で読み込まれたデータがヘッダ４１とデータ４２で構成されるバイナリデータに対応し、ステップＳ３０２で指定されたメタデータがメタデータ４３に対応する）。
【００４５】
一方、既にメタデータが登録されていると判断された場合、ステップＳ３０５にすすむ。ステップＳ３０５においては、当該メタデータに対する処理として、「追加」、「置換」、「中止」のいずれかを選択し、それぞれに応じた処理を行う。ステップＳ３０５の詳細について図３のフローチャートを参照して説明する。
【００４６】
図３は、本実施形態によるメタデータの接続処理の詳細を説明するフローチャートである。なお、本処理はユーザから「追加」、「置換」、「中止」のいずれかが入力部１０１を介して指示されることにより実行されるが、その指示は、キーボードからの各処理に対応づけられたキー入力の発生、ポインティング装置によるファンクションボタンの指示等によって実現される。
【００４７】
まず、ステップＳ４０１において、「追加」でも「置換」でも無い場合、すなわち、メタデータの登録の「中止」が指示されていると判断されると、そのまま図３の処理を終了し、図２のステップＳ３０７にすすむ。一方、メタデータを「置換」あるいは「追加」して登録する旨が指示されている場合には、ステップＳ４０２にすすむ。ステップＳ４０２においては、「置換」が指示されたか「追加」が指示されたかを判定する。
【００４８】
メタデータを「置換」する指示がなされている場合にはステップＳ４０３にすすみ、まず、既存のメタデータを削除する。そして、ステップＳ４０４に進み、新たなメタデータをバイナリデータの後に接続して登録し、処理を終了する。一方、ステップＳ４０２において、メタデータを「追加」する指示がなされている場合には、上記ステップＳ４０３をスキップして、そのままステップＳ４０４にすすむ。ステップＳ４０４では、メタデータをバイナリデータの最後尾に登録し、本処理を終了する。
【００４９】
以上のようにして図３の処理（ステップＳ３０５）を終えると、図２のステップＳ３０７へ進み、得られたバイナリデータが出力され、図４を参照して後述されるデータ構造を有するデータが１つのファイルとして蓄積部１０２に格納されることになる。
【００５０】
以上のメタデータの登録処理における、置換・追加・中止のそれぞれの処理の概要を図４に示す。例えば、既にメタデータが登録されたバイナリデータ４０に対して、「置換」による新メタデータの登録が指示された場合には、メタデータ４３を削除し（ステップＳ４０３）、新メタデータ４４を最後尾に接続して（ステップＳ４０４）、新たなデータ４０ａを生成することになる。
【００５１】
また、「追加」による新メタデータ４４の登録が指示された場合には、当該データの最後尾に新メタデータ４４を登録し（ステップＳ４０４）、データ４０ｂを生成する。また、「中止」が指示された場合は、新メタデータ４４は接続されない。
【００５２】
以上のように、本実施形態のメタデータ登録処理によれば、図４に示されるように、バイナリデータ（ヘッダ４１とデータ４２からなる）の最後にＸＭＬファイルで書かれた１つ又は複数のメタデータ（４３或いは４４）が接続される。こうすることによって、他のアプリケーションには影響を与えずに、メタデータを登録することができる。すなわち、バイナリデータのヘッダー部分の情報はメタデータの接続前から変化しないので、例えばバイナリデータが画像データであった場合には、一般的なブラウザによって画像再生が行える（接続されたメタデータは無視される）。
【００５３】
さらに、メタデータはＸＭＬで記述されているため、このＸＭＬデータ部分を抽出しておくことにより、ＸＭＬデータを理解するツールがあれば、メタデータの追加・変更・参照が可能であり、非常に汎用性に優れている。なお、ＸＭＬで記述されたメタデータ部分の抽出については第２の実施形態で詳しく説明する。
【００５４】
また、第１の実施形態によれば、すでにメタデータが登録されているデータに対して、既存のメタデータを破棄することなく新たなメタデータを登録することが可能となる。このため、複数のメタデータが登録されたバイナリデータや、メタデータの履歴を有したバイナリデータを作成することができる。
【００５５】
なお、上記のメタデータを置換して登録する処理の説明では、１つの既存のメタデータが存在する場合に、その既存のメタデータを新メタデータで置換して登録する処理を説明した（図４）。しかしながら、本実施形態によれば、メタデータを追加して登録することにより、複数のメタデータをバイナリデータに対して登録することが可能である。このように、複数のメタデータが存在する場合に、新メタデータを「置換」或いは「追加」して登録する場合には種々の形態が考えられる。
【００５６】
例えば、図５では、３つのメタデータ（メタデータＡ、メタデータＢ、メタデータＣ）が登録されている状態が示されている。このような場合、新メタデータを置換して登録する際には、例えば、以下のような処理が可能である。
（１）既存の全てのメタデータ（メタデータＡ〜Ｃ）を削除して新メタデータをバイナリデータの後尾に接続する（全ての既存のメタデータを新たなメタデータで置換する）、
（２）所望の１つ又は複数のメタデータを指定し、指定されたメタデータを削除し、残りのメタデータをつめ、新メタデータを当該データの後尾に接続する、
（３）所望の１つのメタデータを指定し、指定されたメタデータを削除して、その位置に新メタデータを組込む（所望の一つの既存のメタデータを新たなメタデータで置換する）。
【００５７】
以上のような処理は、一つ一つのメタデータを取り出すことができれば、周知のデータ編集技術を用いて実現できる。図７で後述するように、複数のメタデータがバイナリデータに登録されていても、メタデータの一つ一つを単位として取出すことができるので、周知のデータ編集処理により所望のメタデータを削除したり、所望の順番にメタデータを組込むことが可能であり、上記（１）〜（３）を含む各種処理が実現される。
【００５８】
もちろん、新メタデータを追加登録する場合に、新メタデータをバイナリデータの末尾（既存のメタデータの手前）に組込むように構成することも可能である。
【００５９】
＜第２の実施形態＞
第１の実施形態においてバイナリデータにメタデータを登録する方法を説明した。第２の実施形態では、バイナリデータにメタデータが登録されているかどうかを判別し、登録されている場合にはそのメタデータを抽出したり、登録されているメタデータの履歴を表示する処理について説明する。なお、第２の実施形態におけるデータ処理装置の構成は第１の実施形態（図１）と同様であるのでここでは説明を省略する。
【００６０】
以下、指定されたファイルのデータに第１の実施形態で説明した如きメタデータが登録されているか否かの判定と、登録されたメタデータを抽出する動作について説明する。図６は第２の実施形態による登録されたメタデータの判別及び抽出手順を示すフローチャートである。なお、本実施形態では、抽出されたメタデータを表示部１０３に表示するが、出力の形態はこれに限らない。例えば、抽出したメタデータを検索処理や編集処理に提供するように構成してもよいことは当業者には明らかであろう。
【００６１】
図８はメタデータとしてＸＭＬデータが登録されたバイナリデータのデータ構成例を示す図である。第１の実施形態で説明したように、複数のメタデータ（ＸＭＬデータ）が登録されている場合のデータ構成は図８のようになっている。図８では、バイナリデータ（ヘッダとデータから構成される）に３つのメタデータ（ＸＭＬ形式で記述されている）が登録されている状態を示している。すなわち、第１の実施形態で説明したメタデータの「追加」処理を３回実行したことによって３つのメタデータが順次接続された状態が示されている。
【００６２】
図６に示した処理では、上記のような構造を有したデータにおいてメタデータの存在の判別を行うとともに、最後尾に接続されたメタデータから１組ずつ順次抽出してその内容を表示していく。
【００６３】
まず、ステップＳ５０１で、ユーザの指示により、メタデータが登録されているかを判別したいファイルを指定する。ステップＳ５０１における、処理対象となるファイル（処理対象データ）の指定は、キーボードから当該処理対象データのファイル名を入力したり、対応するアイコンをポインティング装置（マウス）で指示することにより行われる。
【００６４】
次にステップＳ５０２において、指定されたファイルの処理対象データにＸＭＬで記述されたメタデータが登録されているかどうかを判別する。以下、ステップＳ５０２における判別処理の詳細について図７のフローチャートにしたがって説明する。図７は第２の実施形態によるメタデータの判別処理の詳細を説明するフローチャートである。
【００６５】
図７に示されるように、まず、ステップＳ６０１で、ステップＳ５０１で指定されたファイルのデータ全体をメモリ（ＲＡＭ１０６）上に読み込む。なお、第１の実施形態のステップＳ３０７によって出力されたデータは一つのファイルとして管理されるので、一般的なファイル管理システムによってこの処理対象データの全体を読出すことが可能である。
【００６６】
次にステップＳ６０２において、ステップＳ６０１で読み込んだ処理対象データの最後に"＜/PhotoXML＞"という文字列があるか調べる。存在しなかった場合はステップＳ６０５に進む。
【００６７】
一方、読み込んだ処理対象データの最後に、"＜/PhotoXML＞"という文字列が存在した場合はステップＳ６０３にすすむ。ステップＳ６０３では"＜/PhotoXML＞"という文字列の前に"＜PhotoXML＞"という文字列が存在するかどうかを調べ、さらにそれらの文字列で囲まれたデータが、ＸＭＬの適正形式で記述されているかを確認する。なお、このとき、ＸＭＬの正当なデータであるか否かの判定を含めて行うようにしてもよい。適性形式か否かの判定、正当なデータか否かの判定は、第１の実施形態（ステップＳ３０３）で説明したとおりである。
【００６８】
ステップＳ６０３において適正形式であることが確認された場合は、ステップＳ６０４にすすむ。ステップＳ６０４においては、メタデータが登録されているものと結論づけ、本処理を終了する。一方、ステップＳ６０３において適正形式であることが確認されなかった場合には、処理はステップＳ６０５に進む。ステップＳ６０５においては、メタデータは登録されていないものと結論づける。すなわち、ステップＳ６０２で、当該バイナリデータの最後に文字列"＜/PhotoXML＞"が存在しない場合、ステップＳ６０３で文字列"＜PhotoXML＞"が存在しない場合、或いはステップＳ６０３で内部の記述が適正でないと判定された場合には、処理はステップＳ６０５にすすみ、当該処理対象データにメタデータは登録されていないものと結論づける。
以上で、メタデータの判別を終了する。
【００６９】
次に、図６のフローチャートに戻り、図７で示した判別処理によってメタデータが登録されていないと判別された場合には本処理を終了する（Ｓ５０２）。一方、メタデータが登録されていると判別された場合には、処理はステップＳ５０２からステップＳ５０３に進む。ステップＳ５０３では、先のステップＳ６０３で適正形式であると判定されたメタデータ（"＜PhotoXML＞"と"＜/PhotoXML＞"で囲まれたＸＭＬデータ）を抽出し、その内容を表示部１０３に表示する。次に、ステップＳ６０３で抽出し、ステップＳ５０４で表示したメタデータを当該データから分離し、残ったデータをメモリ（ＲＡＭ１０６）に格納する。その後、ステップＳ５０２に戻り、残りのデータについて上記の処理を繰り返す。以上の処理により、例えば、図８において、まず、ＸＭＬデータＣが分離され、残りのデータについてステップＳ５０２〜Ｓ５０４が繰り返される。その結果、次に、ＸＭＬデータＢが抽出、表示され、更に続いて、ＸＭＬデータＡが抽出、表示されることになる。
【００７０】
以上の処理を繰り返すことによって、メタデータが登録されていなければ何も表示されないが、メタデータが登録されている場合には、登録されているすべてのメタデータが表示されることになる。そして、メタデータが複数登録されている場合には、最も新しく登録されたものから順にメタデータを表示する。
【００７１】
以上説明したように、第２の実施形態によれば、メタデータ付きのバイナリデータと通常のバイナリデータとの判別を、データの末尾にＸＭＬデータが適正形式で記述されているか否かによって判別することが可能となる。また、メタデータが判別された場合には、そのメタデータを表示することが可能となる。
【００７２】
すなわち、第２の実施形態によれば、メタデータが登録されたバイナリデータとメタデータが登録されていないバイナリデータとを判別するとともに、登録されたメタデータを抽出することが可能となる。従って、メタデータとして既存のデータ記述言語を用いれば、メタデータを用いた検索に際して、当該データ記述言語用の既存のツールをそのまま用いることができ、開発に関する手間も省くことができる。
【００７３】
更に、メタデータが複数登録されている場合は、それらすべてのメタデータを１つずつ取出し、表示することができる。また、複数のメタデータの登録順序は時系列に並ぶので、これらを末尾から順に取出してユーザに提示することにより、メタデータの履歴が提示されることになる。或いは、メタデータに更新日時を記述するようにしておき、この日時の記述に従って表示順を制御するようにしてもよい。また、履歴表示という観点からすれば、ステップＳ５０３において抽出したメタデータからその更新日時のみを取出して表示するようにしてもよいであろう。
【００７４】
なお、上記実施形態では、複数のメタデータが登録されていた場合に全てのメタデータを出力するが、複数のメタデータから選択的に提示するように構成することももちろん可能である。例えば、最も新しく登録されたメタデータのみを表示するようにできることは明らかである。或いは、異なる自然言語（国語）による複数のメタデータを含む多国語対応のメタデータを登録しておいて、所望の言語のメタデータのみを抽出するように構成することも可能であることは明らかである。なお、このような処理を実現するには、ステップＳ５０２とステップＳ５０３の間で登録されているメタデータが抽出条件（言語種等）にマッチするかどうかを判定し、マッチしていればステップＳ５０３へ、そうでなければステップＳ５０４へ分岐する処理を追加すればよい。
【００７５】
以上の第１及び第２の実施形態の説明から明らかなように、既存のアプリケーションに影響を与えずに、バイナリデータにメタデータを登録することが可能となる。すなわち、メタデータが登録されたバイナリデータを、既存のアプリケーションで処理することが可能な形態で提供することが可能となる。
【００７６】
また、上記実施形態によれば、メタデータが既に存在していた場合、既存のメタデータを保存しつつ、新たなメタデータを追加登録することが可能となる。
さらに、上記実施形態によれば、複数のメタデータが登録されていた場合に、メタデータの履歴を提示することが可能となる。
【００７７】
＜第３の実施形態＞
第１の実施形態及び第２の実施形態では、バイナリデータにメタデータが既に存在する場合に、新たなメタデータを追加、置換によって登録するとともに、そのようにして得られた複数のメタデータが存在するバイナリデータからのメタデータの抽出について説明した。第３の実施形態では、メタデータを有するバイナリデータ同士を接合可能なデータ処理装置を説明する。なお、第３の実施形態におけるデータ処理装置の構成は第１の実施形態（図１）と同様であるのでここでは説明を省略する。
【００７８】
つぎに、第３の実施形態によるデータ処理装置において、メタデータをバイナリデータに登録する処理について説明する。図９は、第３の実施形態によるメタデータの登録処理を説明するフローチャートである。
【００７９】
図９において、まず、ステップＳ１１０１で、ユーザによって指定されたバイナリデータをメモリ（ＲＡＭ１０６）上に読み込む。これは例えば所望のバイナリデータファイル名をキーボードから入力したり、ポインティング装置（例えばマウス）によって当該バイナリデータのアイコンを指示することによりなされる。次にステップＳ１１０２において、ユーザによって指定された、メタデータが記述されているＸＭＬファイルをメモリ（ＲＡＭ１０６）上に読み込む。このＸＭＬファイルの指定も、キーボードからファイル名を入力したり、ポインティング装置（例えばマウス）で対応するアイコンを指示する等によって行われる。
【００８０】
次にステップＳ１１０３で、メタデータを記述したＸＭＬファイルが適正形式のＸＭＬデータであるかを調べる。この適性形式の判定では、ＸＭＬファイルの記述フォーマットを満足しているか（例えば、タグの左右の括弧が正しく対をなしているか、タグ付けの形式が正しいかどうか等）がチェックされる。なお、適性形式のＸＭＬデータであるか否かの判定は、正当なＸＭＬデータであるか否かを含めたチェックであってもよい。ここで、正当なＸＭＬデータか否かの判定は、例えば、ＸＭＬデータがＤＴＤ（Document Type Definition）等のスキーマに従って記述されているかどうか等のチェックを行うことでなされる。
【００８１】
ステップＳ１１０３において適正形式のＸＭＬデータでないと判定された場合にはステップＳ１１０５に進む。ステップＳ１１０５では、ＸＭＬデータにエラーがある旨を表示部１０３に表示し、本処理を終了する。
【００８２】
一方、ステップＳ１１０３においてＸＭＬファイルが適正形式のＸＭＬデータであると判定された場合には、処理はステップＳ１１０４に進む。ステップＳ１１０４では、ステップＳ１１０１でメモリ上に読み込まれたバイナリデータの後ろに当該メタデータを接続することにより、メタデータの登録を行う。その後、ステップＳ１１０６において、メタデータを登録したバイナリデータを出力し、処理を終了する。なお、ステップＳ１１０６におけるデータ出力により、図１０に示されるデータ構造を有するデータが１つのファイルとして蓄積部１０２に格納されることになる。
【００８３】
図１０は第３の実施形態によるバイナリデータへのメタデータの登録状態を説明する図である。図１０に示されるように、バイナリデータの最後に、ＸＭＬデータで記述されたメタデータを接続することにより、他のアプリケーションには影響を与えずに、メタデータを登録することができる。すなわち、バイナリデータのヘッダー部分の情報はメタデータの接続前から変化しないので、例えばバイナリデータが画像データであった場合には、一般的なブラウザによって画像再生が行える（接続されたメタデータは無視されることになる）。
【００８４】
さらに、メタデータはＸＭＬで記述されているため、このＸＭＬデータ部分を抽出しておくことにより、ＸＭＬデータを理解するツールがあれば、メタデータの追加・変更・参照が可能であり、非常に汎用性に優れている。なお、ＸＭＬデータ部分の抽出は、例えば、データの最後尾から＜/PhotoXML＞と＜PhotoXML＞のタグを検索し、これらのタグに挟まれた部分のデータについてＸＭＬの正当性をチェックすることにより、当該部分をメタデータとして抽出することができる。
【００８５】
つぎに、複数のデータを合成し、個々のメタデータを組み合わせてメタデータを登録する動作について、図１１のフローチャートを用いて説明する。図１１は第３の実施形態による、複数のデータの合成手順を説明するフローチャートである。以下に説明するように、本実施形態では、合成すべきデータにメタデータが付属していたときには、メタデータを再構成して、これを合成後のメタデータに登録する。
【００８６】
図１１において、ステップＳ１３０１で、ユーザの指示により、合成処理の対象となるデータ１及びデータ２をメモリ上に読み込む。次にステップＳ１３０２で、読み込まれたデータ１、データ２にメタデータが付属しているかを判断する。ここで、メタデータが付属していた場合にはステップＳ１３０３に進み、メタデータが付属していない場合にはステップＳ１３０７にすすむ。
【００８７】
上述したように、メタデータとしてのＸＭＬデータが登録されている処理対象データのデータ構成は図１０のようになっている。したがって、メタデータの有無の判別は図７で上述した手順で行うことができる。図７で説明した処理を、データ１とデータ２のそれぞれについて別々に行い、メタデータの有無を判別する。次に、ステップＳ１３０２においてメタデータが付属していると判定された場合には、ステップＳ１３０３において、データ１をバイナリデータ１とメタデータ１に分割し、同様にデータ２をバイナリデータ２とメタデータ２に分割し、ステップＳ１３０４にすすむ。そして、ステップＳ１３０４において、バイナリデータ１とバイナリデータ２を合成する。
【００８８】
上記のステップＳ１３０３及びステップＳ１３０４の動作を図１２に示す。すなわち、図７で示した判別処理の手順において登録されていると判定されたメタデータの部分をデータ１及びデータ２から切り離し、夫々メタデータ１、メタデータ２とする。また、メタデータが切り離された各データの残りは、バイナリデータ１及びバイナリデータ２となる。こうして得られたバイナリデータ１とバイナリデータ２とを合成して、合成したバイナリデータを生成する。ここで、合成とはデータが画像であった場合には、それぞれの画像を重ねあわせて新しい画像をつくることや、それぞれの画像の一部分を用いて新しい画像をつくるということを示す。
【００８９】
次に、ステップＳ１３０５において、付属していたメタデータが適正形式のＸＭＬであった場合には、ステップＳ１３０６にすすみ、メタデータ１、メタデータ２を日付順にならべ、それらをステップＳ１３０４で合成したバイナリデータに接続する。
【００９０】
なお、ステップＳ１３０５における適正形式か否かの判定は、図７のステップＳ６０３で既に行っているので、この判定結果を用いればよい。ただし、ステップＳ６０３で適性形式の判定を行わない場合は、このステップＳ１３０５で判定が行われることになる。
【００９１】
図１３はステップＳ１３０６の処理を説明する図である。上述の如くデータ１より分離されたメタデータ１とデータ２より分離されたメタデータ２とを日付順に再構成する。こうして再構成されたメタデータを、ステップＳ１３０４で合成したバイナリデータの後尾に接続する。
【００９２】
一方、メタデータが適正形式のＸＭＬでなかった場合には、メタデータ１、メタデータ２は合成したバイナリデータに接続せず、ステップＳ１３０８にすすむ。また、ステップＳ１３０２でデータにメタデータが存在しなければ、ステップＳ１３０７において、そのままデータ１とデータ２を合成する。その後、ステップＳ１３０８において、合成されたデータを１つのファイルとして出力する。
【００９３】
以上の処理によって、データ１、データ２にメタデータが含まれていても、含まれていなくてもデータの合成を行うことができ、なおかつ適正形式のＸＭＬで記述されたメタデータがあった場合には日付順にして、バイナリデータに接続することができる。
【００９４】
すなわち、バイナリデータとメタデータが含まれたデータ同士を合成することができ、なおかつメタデータについては日付順などに再構成することができる。さらに、メタデータはＸＭＬで記述されているため、ＸＭＬデータを理解するツールがあれば、メタデータの追加・変更・参照が可能であり、非常に汎用性に優れている。
【００９５】
なお、上記のステップＳ１３０５におけるＸＭＬデータの適正形式の判定が正当なＸＭＬデータの判定を含んでもよいことはいうまでもない。
【００９６】
また、本実施形態ではメタデータを日付順に再構成したが、メタデータに含まれる他の要素によって再構成してもよいし、メタデータの再構成の仕方をユーザが対話的に決めても良い。対話的にメタデータの再構成を行う場合は、例えば分離したメタデータを表示して、記述すべきメタデータやその接続順序をユーザに指定させるように構成することも可能である。
【００９７】
なお、上記実施形態では、２つのデータを合成する処理を説明したが、本実施形態の処理を３つ以上のデータ合成にも適用可能であることは当業者には理解され得ることである。また、一方のデータにメタデータが含まれ、他方にメタデータが含まれていないような場合は、メタデータの合成を行わずに、そのままメタデータを合成後のバイナリデータの後尾に接続するようにしてもい。
【００９８】
また、上記実施形態では、分離された複数のメタデータを日付の順に並べて新たなメタデータを構成したが、分離された複数のメタデータの中から選択されたメタデータを用いて合成されたバイナリデータへ接続すべきメタデータを構成するようにしてもよい。例えば、分離された複数のメタデータの中から日付の最も新しいものを用いてメタデータを再構成するようにしてもよい。或いは日付の新しい順に所定番目までのメタデータを選択するようにしてもよい。
【００９９】
更に、分離された複数のメタデータの全てに共通して含まれるデータを抽出し、これを用いて新たなメタデータを生成するようにしてもよい。この場合、複数のメタデータの論理積的な部分がメタデータとして残されるようになるので、メタデータのサイズを小さくし、データ量を低減することができる。なお、メタデータの生成方法としては、これに限られるものではなく、例えばメタデータの論理和的な部分を残すようにしてもよい。例えば、一方のメタデータに「海」と「イルカ」が記述されており、他方のメタデータに「海」が記述されているような場合に、重複する「海」のデータの一方が削除され、結果として生成されるメタデータは「海」と「イルカ」を含むようになる。このようにすれば、各メタデータに記述されていた情報を欠落させることなく、また同一データの重複を防止できる。
【０１００】
また、分離された複数のメタデータの、メタデータ内に記述された情報に基づいて複数のメタデータの順序を再構成するようにしてもよい。例えば、メタデータ内に重要度のカテゴリを設けて数値を記述するようにし、この重要度のカテゴリに記述されている数値に従ってメタデータの順序を決定することができる。
【０１０１】
以上説明したように、本実施形態によれば、ＸＭＬで記述されたメタデータがバイナリデータの最後に接合されたデータを合成する場合、メタデータを分離、再構成して、バイナリデータを合成することが可能となる。
【０１０２】
なお、以上のようにして合成されたメタデータを含むバイナリデータからメタデータを抽出するのに、第２の実施形態で説明した処理を適用できることは明らかである。
【０１０３】
以上の第３の実施形態の説明から明らかなように、既存のアプリケーションに影響を与えずに、バイナリデータにメタデータを登録することが可能となる。
また、本実施形態によれば、複数のバイナリデータを合成して作成したバイナリデータに新たにメタデータを記述する際に、既存のメタデータを有効に利用することが可能となる。すなわち、既にメタデータが登録されたデータを合成する場合、メタデータを新たに登録することなく、データの合成が可能となる。
さらに、メタデータを既存のデータ記述言語で記述することにより、既存のデータ記述言語専用のツールをそのまま用いることができ、開発に関する手間も省くことができる。
また、本実施形態によれば、合成される複数のバイナリデータにメタデータが既に存在していた場合、その目的に応じて、合成後のバイナリデータに既存のメタデータを選択的に用いることが可能となる。
また、本実施形態によれば、合成される複数のバイナリデータにメタデータが既に存在していた場合、すべてのメタデータに含まれるデータのみを記述可能となる。
【０１０４】
＜第４の実施形態＞
第４の実施形態では、メタデータを含むバイナリデータの応用例を説明する。第４の実施形態では、複数のバイナリデータを関連づける記述を含むメタデータ生成し、このメタデータをそれら複数のバイナリデータの各々に付加する。具体的には、関連付けを行ったバイナリデータの所在をメタデータに記述する。なお、第４の実施形態におけるデータ処理装置の構成は第１の実施形態（図１）と同様であるのでここでは説明を省略する。
【０１０５】
以下、複数のバイナリデータの所在を記述したメタデータをそれら複数のバイナリデータに付加する手順を、図１４のフローチャートを参照して説明する。第４の実施例では、関連付けを行うべき複数のバイナリデータを指定することにより、これら複数のバイナリデータの所在を示すメタデータをバイナリデータのそれぞれに付加する。
【０１０６】
図１４において、ステップＳ２３０１で、ユーザの指示により、ｎ枚のバイナリデータを指定する。ｎ枚のバイナリデータの指定方法としては種々考えられる。例えば、ダイアログなどを開いて複数のデータを指定するようにしても良いし、ｎ枚のバイナリデータを選択した後に、それらを所定の場所にドラッグ＆ドロップして指定するようにしても良い。次にステップＳ２３０２で、ｎ枚のバイナリデータのロケーション情報を抽出する。このロケーション情報とは、"http://www.abcdef.co.jp/images/19990427/001.jpg"といったＵＲＬや、"c:\My_Pictures\1999image\hana.jpg"といった絶対パス、あるいはＩＤ等による位置情報である。ステップＳ２３０３では、抽出したロケーション情報を正当なＸＭＬを用いて適正形式でメモリ上に記述し、メタデータを生成する。
【０１０７】
図１６はステップＳ２３０３で生成されるメタデータの記述内容例を示す図である。＜ PICPATH＞と＜/PICPATH＞で挟まれた文字列がバイナリデータ（画像データファイル）の所在を示しており、図１６の例では３枚の画像の所在がＵＲＬにて記述されている。
【０１０８】
次にステップＳ２３０４において、メモリ上に正当なＸＭＬで記述されたロケーション情報（＝メタデータ）を各バイナリデータに接合する。ｎ枚の各バイナリデータにＸＭＬの適正形式で記述されたメタデータを接合する方法について、図１５のフローチャートを用いて説明する。
【０１０９】
図１５は処理対象のバイナリデータにメタデータを接合する手順を説明するフローチャートである。ステップＳ２４０１において、まずカウンタｉを０に設定する。次にステップＳ２４０２において、ｉ番目のバイナリデータに、ステップＳ２３０３で生成したメタデータを接合する。ここでは、画像データの後尾にメタデータを接合する。画像などのバイナリデータにメタデータを接合する方法は上述の第１及び第３の実施形態で説明したとおりである。なお、バイナリデータ（画像データ）に図１６で示したメタデータ（ステップＳ２３０４で生成されたメタデータ）を接合した例を図１７に示す。
【０１１０】
次にステップＳ２４０３においてカウンタｉを一つ進める。そして、ステップＳ２４０４により、以上のステップＳ２４０２、Ｓ２４０３の処理をｎ枚の各バイナリデータに対して行う。
【０１１１】
以上の処理によれば、図１８に示されるようにバイナリデータ（画像データ）の関連づけが行われる。本例では、図１６で示したように01.jpg、02.jpg、03.jpgの３つの画像データファイルが指定されているので、それらの画像データファイルがメタデータによって互いに関連づけられる。
【０１１２】
以上説明したように、第４の実施形態によれば、複数のバイナリデータの所在をＸＭＬで記述したメタデータを生成し、これを各バイナリデータの最後に接合することにより、バイナリデータが一つあるだけで、そのバイナリデータと関連付けられている複数のバイナリデータの所在を確認することができる。なお、第１乃至第３の実施形態で説明したように、メタデータはバイナリデータの後尾に接続されるので、既存のブラウザを用いて場否入りデータを再生することが可能である。
【０１１３】
＜第５の実施形態＞
第４の実施形態においてバイナリデータに複数のバイナリデータの所在を記述したメタデータを登録する方法を説明した。第５の実施形態では、画像データにメタデータが登録されているか判断し、登録されている場合にはそのメタデータを抽出、解析し、登録されたメタデータに記述されている画像データを表示する処理について説明する。なお、第５の実施形態では、メタデータの解析結果に基づいて画像ファイルを取り込み、その画像を表示することを説明する。しかしながら、これらの画像の所在を用いてサムネイルを作成してもよいし、新たに複数の画像で構成されたページを記述しても良い。また、バイナリデータとしては画像データに限らず、音声データ、動画像データを用いても構わない。その場合、それらのデータの形態に応じて再生方法を変えることは言うまでもない。
【０１１４】
なお、第５の実施形態におけるデータ処理装置の構成は第４の実施形態（図１）と同様であるのでここでは説明を省略する。
【０１１５】
以下、指定されたファイルに第４の実施形態で説明した画像データの所在について記述したメタデータが存在するか否かの判定と、登録されたメタデータを抽出し、複数の画像データの所在を確認する処理について説明する。図１９は第５の実施形態による登録されたメタデータの判別および抽出手順を示すフローチャートである。
【０１１６】
図１９において、ステップＳ２８０１で、ユーザの指示により、メタデータが登録されているかを判別したい画像データ（処理対象データ）を指定する。次にステップＳ２８０２で、画像データにＸＭＬで記述されたメタデータが登録されているかどうかを判別する。ステップＳ２８０２における判別処理の詳細は、前述の図７（第２の実施形態）のフローチャートで説明したとおりである。
【０１１７】
すなわち、第５の実施形態において、メタデータが登録されている画像データの内部は図１７のようになっている。したがって、メタデータの有無の判別は次のように行われる。先ず、画像データ全体をメモリ上に読み込み（ステップＳ６０１）、読み込んだ画像データの最後に"＜/PhotXML＞"という文字列があるか調べる（ステップＳ６０２）。存在した場合は"＜/PhotoXML＞"という文字列の前に"＜PhotoXML＞"という文字列が存在するかを調べ、さらにそれらの文字列で囲まれたメタデータが、ＸＭＬの適正形式で記述されているかを確認する（ステップＳ６０３）。適正形式であることが確認された場合は、メタデータが登録されていると結論づけ、処理を終了する（ステップＳ６０４）。一方、"＜/PhotXML＞"が存在しなかった場合、或いは"＜PhotXML＞"が存在しなかった場合、或いは"＜PhotXML＞"と"＜/PhotXML＞"の間の記述が適正形式でなかった場合は、メタデータは登録されていないと結論づけ、本処理を終了する（ステップＳ６０５）。
【０１１８】
以上のようにして、メタデータが登録されていると判定された場合には、処理はステップＳ２８０２からステップＳ２８０３に進む。一方、メタデータが登録されていないと判定された場合には処理を終了する。ステップＳ２８０３では、登録されているメタデータの内容を解析する。解析方法の詳細については、図２０のフローチャートを用いて説明する。
【０１１９】
図２０において、ステップＳ２９０１で登録されているメタデータ部分を抽出する。次にステップＳ２９０２で抽出されたメタデータ内に"＜PICTURE＞"と"＜/PICTURE＞"で挟まれたデータが存在するを検索する。そのようなデータが検索された場合は、ステップＳ２９０３に進む。ステップＳ２９０３において、その"＜PICTURE＞"と"＜/PICTURE＞"で挟まれたデータ列中に、"＜PICPATH＞"と"＜/PICPATH＞"で挟まれたデータが存在するか調べる。そのようなデータが存在した場合は、ステップＳ２９０４に進む。ステップＳ２９０４では、"＜PICPATH＞"と"＜/PICPATH＞"で挟まれたデータが画像データファイルの所在を表わしているので、これに従って画像データファイルを取得し、その画像を表示部１０３に表示させる。本実施形態では、"＜PICPATH＞"と"＜/PICPATH＞"の間にＵＲＬが記述されているので、これに従って画像データファイルが獲得されることになる。なお、"＜PICPATH＞"と"＜/PICPATH＞"で囲まれた部分（文字列）が複数存在する場合は、それらの全てについて画像データファイルを獲得し表示することになる。また、これら複数の画像データファイルの表示順序は任意である。或いは、上述したように、各画像データファイルに対応するサムネイルを表示するようにしてもよい。
【０１２０】
一方、ステップＳ２９０２において"＜PICTURE＞"と"＜/PICTURE＞"で挟まれたデータが存在しない場合、或いはステップＳ２９０３において"＜PICPATH＞"と"＜/PICPATH＞"で挟まれたデータが存在しない場合は、そのまま本処理を終了する。
【０１２１】
以上の処理により、複数の画像の所在を一枚の画像から知ることができるようになる。なお、上記実施形態において、画像の所在をＵＲＬで記述したが、ＵＲＮ、ＩＤ、画像のパス名等でもかまわない。
【０１２２】
以上誠明したように、第５の実施形態によれば、複数の画像データの所在を示すメタデータを接合した画像ファイルを指定するだけで、画像データの集合を知ることができる。すなわち、アルバム中の１つのファイルを指定するだけで、アルバムを復元することが可能になる。
【０１２３】
以上の第４及び第５の実施形態の説明から明らかなように、複数のバイナリデータのロケーション情報をメタデータとしてデータ記述言語で記述し、そのメタデータを各バイナリデータの最後に接合することにより、リンク形式のファイルやアプリケーション独自形式の巨大なファイル無しに複数のバイナリデータを関係づけることができる。
【０１２４】
また本実施形態によれば、一つのバイナリデータから複数のバイナリデータの集合を知ることができる。よって、各バイナリデータはそのままでも扱うことができる。
【０１２５】
また、メタデータが登録されたバイナリデータと通常のバイナリデータも容易に判別することが可能であり、さらに、メタデータが複数登録されているバイナリデータに関しては、第１乃至第３の実施形態で説明したようにメタデータの登録や検索に際しても、既存のデータ記述言語専用のツールをそのまま用いることができ、開発に関する手間も省くことができる。
【０１２６】
さらに、メタデータの部分も容易に分離することが可能なので、リンク形式のファイルとして使用することも可能である。
【０１２７】
なお、上記各実施形態では、メタデータとしてＸＭＬデータを用いたがこれに限られるものではない。例えば、ＳＧＭＬやＨＴＭＬ等のデータ記述言語であってもよい。また、上記各実施形態におけるバイナリデータとしては、静止画像データ、動画像データ、音声データ等が挙げられる。
【０１２８】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０１２９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１３０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１３２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３４】
【発明の効果】
以上説明したように、本発明によれば、既存のアプリケーションに影響を与えずに、バイナリデータにメタデータを登録可能とすることが可能となる。
また、本発明によれば、メタデータが登録されたバイナリデータを、既存のアプリケーションで処理することが可能となる。
また、本発明によれば、メタデータがすでに存在していた場合、存在していたメタデータを保存しつつ、新たなメタデータを追加登録することが可能となる。
さらに、本発明によれば、複数のメタデータが登録されていた場合に、メタデータの履歴を提示可能となる。
また、本発明によれば、メタデータの記述に一般的なデータ記述言語を用いるので、既存のデータ記述言語用のツールを利用することが可能であり、対応アプリケーションの開発が容易になる。
また、本発明によれば、メタデータが記述されたバイナリデータからメタデータを抽出し、例えば検索、参照、変更等の処理に供することが可能となる。
また、本発明によれば、複数のバイナリデータを合成して作成したバイナリデータに新たにメタデータを記述する際に、既存のメタデータを有効に利用することが可能となる。
また、本発明によれば、合成される複数のバイナリデータにメタデータが既に存在していた場合、その目的に応じて、既存のメタデータを選択的に用いてバイナリデータを合成することが可能となる。例えば、合成される複数のバイナリデータにメタデータが既に存在していた場合、すべてのメタデータに含まれるデータのみを用いてバイナリデータを合成することが可能となる。このため、バイナリデータに応じた適切なメタデータを生成することができる。
また、本発明によれば、複数のバイナリデータの関係をバイナリデータそれぞれにメタデータとして記述することが可能となり、複数のバイナリデータの関係を記述するためのＨＴＭＬファイルやアルバムファイルが不要となる。
さらに、本発明によれば、各バイナリデータの持つメタデータをそれぞれのバイナリデータに持たせるので、一つのバイナリデータから関連する複数のバイナリデータを検索することが可能となる。
【図面の簡単な説明】
【図１】第１の実施形態によるデータ処理装置の構成を示すブロック図である。
【図２】第１の実施形態によるメタデータの登録手順を示すフローチャートである。
【図３】第１の実施形態によるメタデータの接続処理の詳細を説明するフローチャートである。
【図４】第１の実施形態によるメタデータの登録処理における、置換・追加・中止のそれぞれの処理の概要を示す図である。
【図５】複数のメタデータが登録されたバイナリデータに対する、新たなメタデータの登録処理を説明する図である。
【図６】第２の実施形態による登録されたメタデータの判別及び抽出手順を示すフローチャートである。
【図７】第２の実施形態によるメタデータの判別処理の詳細を説明するフローチャートである。
【図８】第１及び第２の実施形態における、メタデータとしてＸＭＬデータが登録されたバイナリデータのデータ構成例を示す図である。
【図９】第３の実施形態によるメタデータの登録処理を説明するフローチャートである。
【図１０】第３の実施形態によるバイナリデータへのメタデータの登録状態を説明する図である。
【図１１】第３の実施形態による、複数のデータの合成手順を説明するフローチャートである。
【図１２】ステップＳ１３０３及びステップＳ１３０４の動作を説明する図である。
【図１３】ステップＳ１３０５の処理を説明する図である。
【図１４】第４の実施形態による、バイナリデータへのメタデータの登録処理を示すフローチャートである。
【図１５】第４の実施形態による、ｎ枚のバイナリデータへのメタデータの接合処理を示すフローチャートである。
【図１６】第４の実施形態において用いられる、バイナリデータの所在情報が記述されたメタデータの例を示す図である。
【図１７】第４の実施形態による、バイナリデータへのメタデータの接合形態を示す図である。
【図１８】第４の実施形態におけるメタデータが接合された各バイナリデータ間の相互関係を示す図である。
【図１９】第５の実施形態による、処理対象データの解析手順を示すフローチャートである。
【図２０】第５の実施形態による、メタデータ内の解析方法を示すフローチャートである。
【図２１】バイナリデータにメタデータを埋め込んだフォーマットの概観を示す図である。
【図２２】バイナリデータとメタデータをデータベースで管理する方法を概念的に示した図である。
【図２３】一般的なリンク形式で各バイナリデータの所在を記述する方法を示す図である。
【図２４】一般的なアプリケーション独自形式により各バイナリデータの関係を記述する方法を示す図である。
【図１】
0004072302.tif 000002
【図２】
0004072302.tif 000003
【図３】
0004072302.tif 000004
【図４】
0004072302.tif 000005
【図５】
0004072302.tif 000006
【図６】
0004072302.tif 000007
【図７】
0004072302.tif 000008
【図８】
0004072302.tif 000009
【図９】
0004072302.tif 000010
【図１０】
0004072302.tif 000011
【図１１】
0004072302.tif 000012
【図１２】
0004072302.tif 000013
【図１３】
0004072302.tif 000014
【図１４】
0004072302.tif 000015
【図１５】
0004072302.tif 000016
【図１６】
0004072302.tif 000017
【図１７】
0004072302.tif 000018
【図１８】
0004072302.tif 000019
【図１９】
0004072302.tif 000020
【図２０】
0004072302.tif 000021
【図２１】
0004072302.tif 000022
【図２２】
0004072302.tif 000023
【図２３】
0004072302.tif 000024
【図２４】
0004072302.tif 000025