(57)【要約】【課題】バイナリデータが有する情報を表す構造化文書を用いて、バイナリデータの中の所定の位置の情報値を参照することが容易な構造化文書を生成する情報処理装置、情報処理方法、その情報処理方法を実現するコンピュータプログラム、又は、そのコンピュータプログラムが記録された情報記録媒体を提供すること。【解決手段】  ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータのデータフォーマット情報を取得するフォーマット情報取得手段と、ヘッダ情報、及び、関連情報を取得する情報取得手段と、バイナリデータの中の主情報のインデックスを生成するインデックス生成手段と、ヘッダ情報及び／又は関連情報とインデックスとを有する、バイナリデータが構造化表現された構造化文書を生成する構造化文書生成手段と、を有する情報処理装置。【選択図】図２
2009015355.tif 000002
【特許請求の範囲】
【請求項１】
ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータのデータフォーマット情報を取得するフォーマット情報取得手段と、
前記データフォーマット情報に基づいて、前記ヘッダ情報、及び、前記関連情報を取得する情報取得手段と、
前記データフォーマット情報、前記ヘッダ情報及び／又は前記関連情報に基づいて、前記バイナリデータの中の前記主情報のインデックスを生成するインデックス生成手段と、
前記データフォーマット情報に基づいて、前記ヘッダ情報及び／又は前記関連情報と前記インデックスとを有する、前記バイナリデータが構造化表現された構造化文書を生成する構造化文書生成手段と、
を有する情報処理装置。
【請求項２】
前記主情報が分割され複数のフィールドにまたがって格納されている場合に、
前記インデックス生成手段は、前記フィールド毎に対応する分割された主情報へのインデックスを生成する請求項１記載の情報処理装置。
【請求項３】
前記ヘッダ情報、又は、前記関連情報は、それぞれ、一以上の情報値から構成され、
前記データフォーマット情報は、前記情報値の識別情報を有し、
前記構造化文書生成手段は、前記データフォーマット情報に基づいて、前記情報値と前記識別情報とが対応づけられた構造化文書を生成する請求項１又は２記載の情報処理装置。
【請求項４】
前記データフォーマットが、一のフィールドが他の一以上のフィールドを有する入れ子構造の場合に、
前記構造化文書は、前記他の一以上のフィールドを、前記一のフィールドの子フィールドとする木構造を有する請求項１ないし３何れか一項に記載の情報処理装置。
【請求項５】
前記構造化文書に基づいて、前記バイナリデータの主情報を参照するデータ参照手段を有する請求項１ないし４何れか一項に記載の情報処理装置。
【請求項６】
前記データ参照手段は、
前記インデックスに基づいて、前記バイナリデータにおける前記主情報の位置情報を取得する、位置情報取得手段を有する請求項５記載の情報処理装置。
【請求項７】
前記データ参照手段が参照する主情報が、前記バイナリデータにおける所定の範囲に含まれる場合に、
前記位置情報取得手段は、前記所定の範囲の開始位置の位置情報と前記所定の範囲の長さ、又は、前記所定の範囲の開始位置と終了位置との位置情報を取得する請求項６記載の情報処理装置。
【請求項８】
前記データ参照手段に対して、参照する主情報の識別情報を指示し、又は、所定のヘッダ情報、所定の関連情報、又は、所定の主情報の識別情報と該識別情報との相対位置情報を指示することにより参照する主情報を指示する、参照情報指示手段を有する請求項６又は７記載の情報処理装置。
【請求項９】
前記データ参照手段は、さらに、他のデータフォーマット情報に基づいて、前記構造化文書から、所定のヘッダ情報、所定の関連情報、及び／又は、所定のインデックスを取得し、
前記所定のヘッダ情報、前記所定の関連情報、及び／又は、前記所定のインデックス、並びに、前記他のデータフォーマットに基づいて、前記構造化文書が変換された他の構造化文書を生成する構造化文書変換手段を有する請求項５ないし８何れか一項に記載の情報処理装置。
【請求項１０】
前記他の構造化文書から、他のバイナリデータを生成するバイナリデータ生成手段を有する請求項９記載の情報処理装置。
【請求項１１】
ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータの、前記ヘッダ情報、前記関連情報、及び、前記バイナリデータの中の前記主情報のインデックスを含む構造化文書に基づいて、前記バイナリデータの主情報を参照するデータ参照手段を有する情報処理装置。
【請求項１２】
前記データ参照手段は、
前記インデックスに基づいて、前記バイナリデータにおける前記主情報の位置情報を取得する、位置情報取得手段を有する請求項１１記載の情報処理装置。
【請求項１３】
前記バイナリデータは、画像データ及び／又は音声データを含む請求項１ないし１２何れか一項に記載の情報処理装置。
【請求項１４】
ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータのデータフォーマット情報を取得するフォーマット情報取得ステップと、
前記データフォーマット情報に基づいて、前記バイナリデータから前記ヘッダ情報、及び、前記関連情報を取得する情報取得ステップと、
前記データフォーマット情報、前記ヘッダ情報及び／又は前記関連情報に基づいて、前記バイナリデータの中の前記主情報のインデックスを生成するインデックス生成ステップと、
前記データフォーマット情報に基づいて、前記ヘッダ情報及び／又は前記関連情報と前記インデックスとを有する、前記バイナリデータが構造化表現された構造化文書を生成する構造化文書生成ステップと、
を有する情報処理方法。
【請求項１５】
前記ヘッダ情報、又は、前記関連情報は、それぞれ、一以上の情報値から構成され、
前記データフォーマット情報は、前記情報値の識別情報を有し、
前記構造化文書生成ステップにおいて、前記データフォーマット情報に基づいて、前記情報値と前記識別情報とが対応づけられた構造化文書を生成する請求項１４記載の情報処理方法。
【請求項１６】
前記構造化文書に基づいて、前記バイナリデータの主情報を参照するデータ参照ステップを有する請求項１４又は１５記載の情報処理方法。
【請求項１７】
前記データ参照ステップにおいて、さらに、他のデータフォーマット情報に基づいて、前記構造化文書から、所定のヘッダ情報、所定の関連情報、及び／又は、所定のインデックスを取得し、
前記所定のヘッダ情報、前記所定の関連情報、及び／又は、前記所定のインデックス、並びに、前記他のデータフォーマットに基づいて、前記構造化文書が変換された他の構造化文書を生成する構造化文書変換ステップを有する請求項１６記載の情報処理方法。
【請求項１８】
ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータの、前記ヘッダ情報、前記関連情報、及び、前記バイナリデータの中の前記主情報のインデックスを含む構造化文書に基づいて、前記バイナリデータの主情報を参照するデータ参照ステップを有する情報処理方法。
【請求項１９】
コンピュータに、請求項１４ないし１８何れか一項に記載の情報処理方法を実行させるコンピュータプログラム。
【請求項２０】
請求項１９記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読取可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、コンピュータプログラム、及び、情報記録媒体に関し、より詳細には、複数のフィールドを有する所定のバイナリデータフォーマットによるバイナリデータの中から所定の位置を参照する、情報処理装置、情報処理方法、その情報処理方法を実行するコンピュータプログラム、及び、そのコンピュータプログラムが記録された情報記録媒体に関する。
【背景技術】
【０００２】
従来から、画像データは情報量が多いために、バイナリ形式を有することが多い。バイナリ形式はデータ量が少なくて済む一方、人間によってそのデータフォーマットの構文を解析することは、非常に手間がかかるというデメリットがある。
【０００３】
そこで、例えば、特表２００４−５１９７７１号公報（特許文献１）に記載のスキーマ、構文解析方法等の技術によれば、フォーマットが包括的に記述されたＸＭＬスキーマを用いて、ビットストリームを解析し、構造化文書を出力することが開示されている。
【０００４】
また例えば、特表２００６−５２００３３号公報（特許文献２）に記載のビットストリームについてのフォーマットを一般的に記述するスキーマに基づいてビットストリームを出力する方法には、さらに、上記特許文献１等によって出力された構造化文書に対してＸＳＬＴによる変換を行うことが記載されている。
【０００５】
なお、上記特許文献１及び２に記載の「フォーマット」は、本願発明の「データフォーマット」に対応する。
【特許文献１】特表２００４−５１９７７１号公報
【特許文献２】特表２００６−５２００３３号公報
【非特許文献１】ＩＳＯ／ＩＥＣ  ＦＤＩＳ  １５４４４−１  "Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  −ＪＰＥＧ２０００  Ｉｍａｇｅ  Ｃｏｄｉｎｇ  Ｓｙｓｔｅｍ  −Ｐａｒｔ−１；  Ｃｏｒｅ  Ｃｏｄｉｎｇ  Ｓｙｓｔｅｍ"，ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１（Ｊａｎ，２００１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１及び２に記載の構文解析方法等の技術によれば、バイナリ形式の画像データを、スキーマを用いて構文解析することは考慮されているが、構文解析された結果から、画像データ中の任意のデータ位置を参照することは考慮されていない。より詳細には、上記特許文献１及び２に記載の構文解析の方法によって、例えば、ＪＰＥＧ２０００規格による符号データが解析された結果に基づいて、その符号データに含まれる所定の画像等を表示させる場合に、元のバイナリデータである符号データを参照してデコードしなくてはならず、そのために、符号データにおけるその「画像の部分」の位置情報を知る必要があるが、上記特許文献１及び２ではそのようなことは考慮されていない。
【０００７】
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、バイナリデータが有する情報を表す構造化文書を用いて、バイナリデータの中の所定の位置の情報値を参照することが容易な構造化文書を生成する情報処理装置、情報処理方法、その情報処理方法を実現するコンピュータプログラム、又は、そのコンピュータプログラムが記録された情報記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の情報処理装置は次の如き構成を採用した。
【０００９】
本発明の情報処理装置は、ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータのデータフォーマット情報を取得するフォーマット情報取得手段と、前記データフォーマット情報に基づいて、前記ヘッダ情報、及び、前記関連情報を取得する情報取得手段と、前記データフォーマット情報、前記ヘッダ情報及び／又は前記関連情報に基づいて、前記バイナリデータの中の前記主情報のインデックスを生成するインデックス生成手段と、前記データフォーマット情報に基づいて、前記ヘッダ情報及び／又は前記関連情報と前記インデックスとを有する、前記バイナリデータが構造化表現された構造化文書を生成する構造化文書生成手段と、を有する構成とすることができる。
【００１０】
これにより、バイナリデータが有する情報を表す構造化文書を用いて、バイナリデータの中の所定の位置の情報値を参照することが容易な構造化文書を生成する情報処理装置を提供することができる。
【００１１】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記主情報が分割され複数のフィールドにまたがって格納されている場合に、前記インデックス生成手段は、前記フィールド毎に対応する分割された主情報へのインデックスを生成するように構成することができる。
【００１２】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記ヘッダ情報、又は、前記関連情報は、それぞれ、一以上の情報値から構成され、前記データフォーマット情報は、前記情報値の識別情報を有し、前記構造化文書生成手段は、前記データフォーマット情報に基づいて、前記情報値と前記識別情報とが対応づけられた構造化文書を生成するように構成することができる。
【００１３】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記データフォーマットが、一のフィールドが他の一以上のフィールドを有する入れ子構造の場合に、前記構造化文書は、前記他の一以上のフィールドを、前記一のフィールドの子フィールドとする木構造を有するように構成することができる。
【００１４】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記構造化文書に基づいて、前記バイナリデータの主情報を参照するデータ参照手段を有する構成とすることができる。
【００１５】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記データ参照手段は、前記インデックスに基づいて、前記バイナリデータにおける前記主情報の位置情報を取得する、位置情報取得手段を有する構成とすることができる。
【００１６】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記データ参照手段が参照する主情報が、前記バイナリデータにおける所定の範囲に含まれる場合に、前記位置情報取得手段は、前記所定の範囲の開始位置の位置情報と前記所定の範囲の長さ、又は、前記所定の範囲の開始位置と終了位置との位置情報を取得するように構成することができる。
【００１７】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記データ参照手段に対して、参照する主情報の識別情報を指示し、又は、所定のヘッダ情報、所定の関連情報、又は、所定の主情報の識別情報と該識別情報との相対位置情報を指示することにより参照する主情報を指示する、参照情報指示手段を有する構成とすることができる。
【００１８】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記データ参照手段は、さらに、他のデータフォーマット情報に基づいて、前記構造化文書から、所定のヘッダ情報、所定の関連情報、及び／又は、所定のインデックスを取得し、前記所定のヘッダ情報、前記所定の関連情報、及び／又は、前記所定のインデックス、並びに、前記他のデータフォーマットに基づいて、前記構造化文書が変換された他の構造化文書を生成する構造化文書変換手段を有する構成とすることができる。
【００１９】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記他の構造化文書から、他のバイナリデータを生成するバイナリデータ生成手段を有する構成とすることができる。
【００２０】
また、上記目的を達成するために、本発明の情報処理装置は、ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータの、前記ヘッダ情報、前記関連情報、及び、前記バイナリデータの中の前記主情報のインデックスを含む構造化文書に基づいて、前記バイナリデータの主情報を参照するデータ参照手段を有する構成とすることができる。
【００２１】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記データ参照手段は、
前記インデックスに基づいて、前記バイナリデータにおける前記主情報の位置情報を取得する、位置情報取得手段を有する構成とすることができる。
【００２２】
また、上記目的を達成するために、本発明の情報処理装置は、さらに、前記バイナリデータは、画像データ及び／又は音声データを含むように構成することができる。
【００２３】
また、上記目的を達成するために、本発明の情報処理方法は、さらに、ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータのデータフォーマット情報を取得するフォーマット情報取得ステップと、前記データフォーマット情報に基づいて、前記バイナリデータから前記ヘッダ情報、及び、前記関連情報を取得する情報取得ステップと、前記データフォーマット情報、前記ヘッダ情報及び／又は前記関連情報に基づいて、前記バイナリデータの中の前記主情報のインデックスを生成するインデックス生成ステップと、前記データフォーマット情報に基づいて、前記ヘッダ情報及び／又は前記関連情報と前記インデックスとを有する、前記バイナリデータが構造化表現された構造化文書を生成する構造化文書生成ステップと、を有する構成とすることができる。
【００２４】
また、上記目的を達成するために、本発明の情報処理方法は、さらに、前記ヘッダ情報、又は、前記関連情報は、それぞれ、一以上の情報値から構成され、前記データフォーマット情報は、前記情報値の識別情報を有し、前記構造化文書生成ステップにおいて、前記データフォーマット情報に基づいて、前記情報値と前記識別情報とが対応づけられた構造化文書を生成するように構成することができる。
【００２５】
また、上記目的を達成するために、本発明の情報処理方法は、さらに、前記構造化文書に基づいて、前記バイナリデータの主情報を参照するデータ参照ステップを有する構成とすることができる。
【００２６】
また、上記目的を達成するために、本発明の情報処理方法は、さらに、前記データ参照ステップにおいて、さらに、他のデータフォーマット情報に基づいて、前記構造化文書から、所定のヘッダ情報、所定の関連情報、及び／又は、所定のインデックスを取得し、前記所定のヘッダ情報、前記所定の関連情報、及び／又は、前記所定のインデックス、並びに、前記他のデータフォーマットに基づいて、前記構造化文書が変換された他の構造化文書を生成する構造化文書変換ステップを有する構成とすることができる。
【００２７】
また、上記目的を達成するために、本発明の情報処理方法は、さらに、ヘッダ情報と、主情報又は該主情報に係る関連情報を格納するデータ本体と、からなる複数のフィールドを有して構成されるバイナリデータの、前記ヘッダ情報、前記関連情報、及び、前記バイナリデータの中の前記主情報のインデックスを含む構造化文書に基づいて、前記バイナリデータの主情報を参照するデータ参照ステップを有する構成とすることができる。
【００２８】
また、上記目的を達成するために、本発明のコンピュータプログラムは、本発明の情報処理方法を実行させるコンピュータプログラムとすることができる。
【００２９】
また、上記目的を達成するために、本発明の情報記録媒体は、さらに、本発明のコンピュータプログラムを記録したことを特徴とするコンピュータ読取可能な情報記録媒体とすることができる。
【発明の効果】
【００３０】
本発明の情報処理装置、情報処理方法、その情報処理方法を実現するコンピュータプログラム、又は、そのコンピュータプログラムが記録された情報記録媒体によれば、バイナリデータが有する情報を表す構造化文書を用いて、バイナリデータの中の所定の位置の情報を参照することが容易な構造化文書を生成する情報処理装置、情報処理方法、その情報処理方法を実現するコンピュータプログラム、又は、そのコンピュータプログラムが記録された情報記録媒体を提供することが可能になる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態を図面に基づき説明する。なお、以下の実施の形態では、主として画像データを処理する例について説明するが、本発明の実施の形態において処理されるバイナリ形式のデータは、画像データの他に、音声データでもよく、また、画像と音声とが一のバイナリ形式として構成されるデータ、又は、その他のバイナリ形式のデータでもよい。以下の実施の形態では、バイナリ形式のデータを「バイナリデータ」という。
【００３２】
本実施の形態におけるバイナリデータは、フィールドを有して構成される。フィールドは、ヘッダ情報とデータ本体を有する。ヘッダ情報は、例えば、そのフィールドの長さに係る情報を含む。ヘッダ情報は、また例えば、そのフィールドのタイプに係る情報を含んでもよい。データ本体は、そのバイナリデータによって格納される主情報又はその主情報に係る情報である関連情報を含む。データ本体は、他のフィールドを有してもよい。これにより、一のフィールドが他の一以上のフィールドを有する「入れ子」構造を実現する。
【００３３】
本実施の形態では、バイナリデータがファイルの場合には、そのデータフォーマットは「ファイルフォーマット」であり、また、バイナリデータが伝送路におけるデータの形態を有する場合には、そのデータフォーマットは「伝送フォーマット」でもよい。
【００３４】
ファイルフォーマットは、例えば、ＪＰ２ファイルフォーマット（非特許文献１参照）、ＪＰＭファイルフォーマット（ＩＳＯ／ＩＥＣ  １５４４４−６参照。）、ＭＪ２ファイルフォーマット（ＩＳＯ／ＩＥＣ  １５４４４−３参照。）、又は、ＱｕｉｃｋＴｉｍｅ（登録商標）ファイルフォーマット（ｈｔｔｐ：／／ｄｅｖｅｌｏｐｅｒ．ａｐｐｌｅ．ｃｏｍ／ｑｕｉｃｋｔｉｍｅ／  参照。）等、Ｂｏｘ構造を含むファイルフォーマットでもよく、また例えば、ＭＰ４ファイルフォーマット（ＩＳＯ／ＩＥＣ  １４４９６−１４参照。）、又は、ＩＳＯ／ＩＥＣ  １５４４４−１２に定められるファイルフォーマット等、画像に加えて音声データを含む画像データでもよく、また例えば、ＭＰ３ファイルフォーマットのように音声データのファイルフォーマットでもよい。ファイルフォーマットは、また例えば、Ｔｉｆｆファイル又はＧｉｆファイル等のファイルフォーマットでもよい。
【００３５】
なお、フィールドとは、例えば、ＪＰＥＧ２０００規格のファイルフォーマットにおけるＢｏｘであり、また例えば、ＪＰＥＧ２０００規格のコードストリームにおけるパケットでもよい。フィールドとは、また例えば、ＭＰＥＧ−２（ＩＳＯ／ＩＥＣ  １３８１８参照。）又はＭＰＥＧ−４（ＩＳＯ／ＩＥＣ  １４４９６参照。）規格等による画像データ又は音声データ等において、所定のスタートコードによってその開始が表されるデータのクラスタでもよく、また例えば、ＭＰＥＧ−４  ＡＶＣ（ＩＳＯ／ＩＥＣ  １４４９６−１０参照。）／Ｈ．２６４（ＩＴＵ−Ｔ  勧告  Ｈ．２６４参照。）規格におけるＮＡＬユニットでもよい。
【００３６】
また、主情報とは、例えば、その情報値をテキストによって表現することが適さない情報であり、例えば、ＪＰＥＧ２０００規格のファイルフォーマットを有するＪＰ２ファイルにおけるコードストリームであり、また例えば、ＪＰＥＧ２０００規格のコードストリームにおける変換係数の符号である。
【００３７】
主情報とは、また例えば、バイナリデータが、ＭＰＥＧ−２又はＭＰＥＧ−４等の画像データ及び／又は音声データを含むＳｙｓｔｅｍｓ規格又はファイルフォーマット規格によるデータの場合に、その画像データ及び／又は音声データでもよい。なお、上記Ｓｙｓｔｅｍｓ規格とは、例えば、ＩＳＯ／ＩＥＣ  １３８１８−１又はＩＳＯ／ＩＥＣ  １４４９６−１等の規格である。また、上記ファイルフォーマット規格とは、例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等の規格である。
【００３８】
主情報とは、また例えば、バイナリデータが、ＭＰＥＧ−２又はＭＰＥＧ−４等の画像データ及び／又は音声データのビットストリームの場合には、そのビットストリームに含まれる、変換係数の可変長符号等でもよい。
【００３９】
また、関連情報とは、例えば、バイナリデータがＪＰ２ファイルであり、主情報がコードストリームの場合には、そのコードストリームに係る情報をいい、例えば、ＪＰ２  Ｈｅａｄｅｒ  Ｂｏｘ  に含まれる、ビット深度、解像度等の情報でもよい。すなわち、関連情報とは、そのバイナリデータにおける、主情報に対する「ヘッダ情報」でもよい。以下の実施の形態では、主情報に対する「ヘッダ情報」と、Ｂｏｘの「ヘッダ情報」とを区別するために、前者を「関連情報」という。
【００４０】
また、本実施の形態では、構造化文書としてＸＭＬの例を説明するが、本発明の実施の形態はＸＭＬによって表記された構造化文書を生成する例に限らない。
〔第一の実施の形態〕
図１は、本実施形態の情報処理装置等によって実現されるバイナリ形式の画像データが有する所定のデータを参照する方法を説明する図である。図１（Ａ）は、構造化文書が生成されることを表し、図１（Ｂ）は、構造化文書によって表現される画像データの構造に基づいて、バイナリ形式の画像データを参照することを表し、図１（Ｃ）は、構造化文書によって表現される画像データの構造を、操作者が視認することにより、操作者によるバイナリデータの操作の指示を容易にすることを表す。
【００４１】
なお、データを「参照する」とは、そのデータを読み出す、又は、そのデータが格納された位置に対して新たなデータを書き込むことをいう。
【００４２】
図１（Ａ）の画像データＳ１は、バイナリ形式の画像データの例である。画像データＳ１は、情報が格納された複数のフィールドが、「入れ子」の構造を有している。すなわち、一のフィールドが他のフィールドを含む構造である。
【００４３】
変換器Ｓ２は、画像データＳ１を解析して、画像データＳ１の内部構成を表す構造化文書Ｓ３を生成する。なお、変換器Ｓ２は、画像データＳ１を解析する際に、画像データＳ１のデータフォーマットに係る情報であるデータフォーマット情報を用いてもよい。データフォーマット情報は、例えば、画像データＳ１のファイルフォーマットのシンタックス情報及び／又はセマンティクス情報を含み、また、データフォーマットを構成する各変数又は定数等の識別情報を含んでもよい。なお、本実施の形態では「データフォーマット情報」を「フォーマット情報」ともいう。
【００４４】
構造化文書Ｓ３は、変換器Ｓ２によって生成された画像データＳ１の内部構造を表す文書である。構造化文書Ｓ３は、例えば、ＸＭＬによって表記される。これにより、人間にとって判読が容易な構造化表現により、画像データＳ１の内容が表されるので、例えば、画像データＳ１が有する所定の変数等を参照する際に、操作者が、その指示を構造化文書Ｓ３に基づいて入力することができる。
【００４５】
図１（Ｂ）は、画像データＳ１が有する所定の変数等を参照することを説明する図である。構造化文書Ｓ３に基づいて、参照する変数等を指示することにより、画像データＳ１が有するその変数等を参照することができる。ここで、構造化文書Ｓ３が、ＸＭＬによって表記されている場合には、例えば、ＸＬｉｎｋ（ＸＭＬ  Ｌｉｎｋｉｎｇ  Ｌａｎｇｕａｇｅ）、ＸＰｏｉｎｔｅｒ（ＸＭＬ  Ｐｏｉｎｔｅｒ  Ｌａｎｇｕａｇｅ）、ＸＰａｔｈ（ＸＭＬ  Ｐａｔｈ  Ｌａｎｇｕａｇｅ）等により画像データＳ１への参照を行ってよい。これにより、例えば、画像データＳ１がＪＰＥＧ２０００規格によるファイルフォーマットの場合に、構造化文書Ｓ３を解析するアプリケーションが、ＪＰＥＧ２０００規格のファイルフォーマットのデータフォーマット情報を取得することなく、画像データＳ１に含まれる所定の位置のデータを参照することができる。
【００４６】
図１（Ｃ）は、操作者が、画像データＳ１に対する操作を行う際に、構造化文書Ｓ３を用いることを説明する図である。構造化文書Ｓ３は、文字と記号とを含むテキストによって表現されることにより、操作者が容易に判読することができる。これにより、構造化文書Ｓ３に含まれる情報に基づいて、操作者が、画像データＳ３の所定の位置のデータを参照することができる。そこで構造化文書Ｓ３を、例えば、画像データＳ３をバイナリ形式のまま処理するアプリケーションの開発に供することにより、開発の効率を高めることができる。
【００４７】
（本発明の実施の形態に係る情報処理装置の機能構成の例）
図２は、本発明の実施の形態に係る情報処理装置の機能構成の例の図である。図２の情報処理装置１００は、例えば、フォーマット情報取得手段１１０、情報取得手段１２０、インデックス生成手段１３０、構造化文書生成手段１４０、及び、データ参照手段１５０を有する。情報処理装置１００は、さらに、参照情報指示手段１７０、構造化文書変換手段１８０、バイナリデータ生成手段１９０、入力手段１６２、表示手段１６４、記憶手段１６６、又は、通信手段１６８を有してもよい。
【００４８】
フォーマット情報取得手段１１０は、情報処理装置１００が処理するバイナリデータのデータフォーマット情報を取得する。データフォーマット情報とは、例えば、そのデータフォーマットのシンタックス情報又はセマンティクス情報である。なお、シンタックス情報とは、例えば、そのバイナリデータに含まれる情報値の識別情報、その情報値の型、又は、その情報値の長さ等を含む、バイナリデータのデータ構造に係る情報である。またセマンティクス情報とは、そのバイナリデータに含まれる情報値の意味を表す情報である。また、情報値とは、バイナリデータに含まれる値そのものである。
【００４９】
データフォーマット情報に基づいて、そのデータフォーマットに含まれる識別情報と情報値とが対応づけられることにより、「情報」となる。すなわち、例えば、データフォーマット情報により、バイナリデータの所定の位置における情報値の識別情報が「ビット深度」と定められ、バイナリデータのその位置における情報値が「８」の場合には、「８ビットのビット深度」という「情報」が得られる。
【００５０】
フォーマット情報取得手段１１０は、また例えば、記憶手段１６６に格納されているデータフォーマット情報を取得する。フォーマット情報取得手段１１０は、また例えば、通信手段１６８によって外部のサーバ等からデータフォーマット情報を取得してもよい。
【００５１】
情報取得手段１２０は、データフォーマット情報に基づいて、バイナリデータの解析を行い、そのバイナリデータに含まれる情報を取得する。情報取得手段１２０は、例えば、そのバイナリデータのシンタックス情報に基づいて、バイナリデータの所定の位置における情報値を取得してもよく、さらに、そのバイナリデータのセマンティクス情報に基づいて、その情報値に対応する情報を取得してもよい。
【００５２】
情報取得手段１２０は、また例えば、データ本体に主情報が含まれる場合には、その主情報の情報値を取得することなく、次のフィールドの処理を行ってもよい。これにより、主情報を解析することなく、主情報に係る関連情報等の解析を進めることができる。
【００５３】
情報取得手段１２０は、また例えば、バイナリデータがフィールドを有して構成される場合には、フィールドのヘッダ情報を解析し、さらにそのフィールドに含まれるデータ本体の解析を行ってもよい。
【００５４】
図３は、ＪＰＥＧ２０００規格のファイルフォーマットによるＢｏｘを説明する図である。図３のＢｏｘＢ１は、ヘッダ情報として、そのＢｏｘの長さの値である「Ｌｅｎｇｔｈ」及びそのＢｏｘの型を表す「Ｔｙｐｅ」を有する。ＢｏｘＢ１における「Ｃｏｎｔｅｎｔｓ」は、そのＢｏｘによって格納されるデータ本体である。
【００５５】
また、ＢｏｘＢ２は、ＪＰＥＧ２０００規格によるスーパーＢｏｘを説明する図であり、一のスーパーＢｏｘであるＢ２は、「Ｌｅｎｇｔｈ」と「Ｔｙｐｅ」とを有するヘッダ情報に続いて、Ｂｏｘ１からＢｏｘＮまでのＮ個のＢｏｘが連続して配される構成を有する。Ｂ２における「Ｌｅｎｇｔｈ」は、スーパーＢｏｘＢ２の全体の長さの値であり、「Ｌｅｎｇｔｈ」の長さの値、「Ｔｙｐｅ」の長さの値、及び、Ｂｏｘ１からＢｏｘＮまでの長さの値を加算した値に等しい。
【００５６】
図２に戻り、インデックス生成手段１３０は、バイナリデータに含まれる主情報へのインデックスを生成する。インデックス生成手段１３０は、例えば、主情報が分割されて複数のフィールドにまたがって格納されている場合には、分割された主情報が格納されたフィールドのインデックスを生成してもよい。インデックスは、例えば、ＸＬｉｎｋ、ＸＰａｔｈ、及び／又は、ＸＰｏｉｎｔｅｒにより表現される。なお、インデックス生成手段１３０は、情報取得手段１２０によって取得された「長さ情報」と、主情報とを対応づけてインデックスを生成してもよい。
【００５７】
構造化文書生成手段１４０は、フォーマット情報取得手段１１０によって取得されたデータフォーマット情報、情報取得手段１２０によって取得された情報、及び、インデックス生成手段１３０によって生成された主情報へのインデックスに基づいて、バイナリデータが構造化表現された構造化文書を生成する。構造化文書生成手段１４０によって生成される構造化文書は、例えば、ＸＭＬによって表記されてもよい。
【００５８】
構造化文書は、また例えば、バイナリデータがフィールドを有して構成され、さらにそのフィールドが「長さの値」を有する場合には、その「長さの値」を情報値の表記又はフィールドの表記に対応づけて構造化文書を生成してもよい。これにより、後述するデータ参照手段１５０が、その構造化文書によってバイナリデータ中の所定のデータを参照する際に、バイナリデータにおけるそのデータの位置情報を容易に取得することができる。
【００５９】
データ参照手段１５０は、構造化文書生成手段１４０によって生成された構造化文書を用いて、バイナリデータの所定の位置のデータを参照する。データ参照手段１５０が参照するデータは、例えば、バイナリデータに含まれる主情報である。データ参照手段１５０は、また例えば、主情報の一部のみを参照してもよい。
【００６０】
データ参照手段１５０は、また例えば、バイナリデータがフィールドを有して構成される場合には、フィールドを参照してもよい。なお、フィールドを参照するとは、フィールドのヘッダ情報及び／又はデータ本体の情報値又は情報を参照することである。
【００６１】
データ参照手段１５０は、また例えば、位置情報取得手段１５２を有してもよい。位置情報取得手段１５２は、構造化文書に含まれる主情報のインデックスに基づいて、バイナリデータ中の主情報の位置情報を取得する。位置情報取得手段１５２は、また、他の情報又はインデックスに対応する「長さの値」とに基づいて、バイナリデータ中の所定のデータの位置情報を取得してもよい。位置情報取得手段１５２は、また例えば、構造化文書とデータフォーマット情報とに基づいて、バイナリデータ中の所定の情報の位置情報を取得してもよい。
【００６２】
データ参照手段１５０がバイナリデータに含まれる所定の範囲の情報値を参照する場合には、位置情報取得手段１５２は、その所定の範囲の開始位置の位置情報と終了位置の位置情報、又は、その所定の範囲の開始位置の位置情報とその開始位置からのオフセット値とを取得してもよい。
【００６３】
参照情報指示手段１７０は、例えば、データ参照手段１５０に対して、参照する情報の識別情報を指示する。参照情報指示手段１７０は、また例えば、データ参照手段１５０に対して、所定の情報の識別情報とその情報からの相対位置の情報とを指示することにより、参照する情報を指示してもよい。参照情報指示手段１７０が指示する情報は、例えば、入力手段１６０から操作者によって入力される指示に基づいてもよい。
【００６４】
構造化文書変換手段１８０は、構造化文書生成手段１４０によって生成された構造化文書から、異なるデータフォーマット情報に基づいて、新たな構造化文書を生成する手段である。構造化文書生成手段１８０は、例えば、ＸＳＬＴの機能を有する。なお、構造化文書生成手段１８０が用いる異なるデータフォーマット情報は、先のデータフォーマット情報と同様に、入力手段１６２又は通信手段１６８から入力され、又は、記憶手段１６６に格納されているものが読み出されてもよい。
【００６５】
バイナリデータ生成手段１９０は、構造化文書変換手段１８０によって生成された新たな構造化文書に基づいて、新たなバイナリデータを生成する。バイナリデータ生成手段１９０は、例えば、新たなバイナリデータに含まれる主情報が、先のバイナリデータに含まれる主情報と異なる場合には、その変換を行ってもよい。より詳細には、例えば、ＭＪ２ファイルから生成された構造化文書に基づいて、新たな構造化文書を生成し、さらに、ＭＰ４ファイルを生成する場合に、ＭＰ４ファイルに含まれるＭＰＥＧ−４規格によるビットストリームを生成するために、ＭＪ２ファイルに含まれているＪＰＥＧ２０００規格によるコードストリームからの変換を行う。
【００６６】
入力手段１６２は、情報処理装置１００に対して操作者が処理の指示等を入力する手段である。入力手段１６２は、また例えば、情報処理装置１００が処理するバイナリデータが入力されてもよい。表示手段１６４は、情報処理装置１００の状態等を表示し、また、情報処理装置１００によってバイナリデータが処理されることにより生成された画面等を表示する。
【００６７】
画面生成手段１６５は、表示手段１６４によって表示される画面を生成する。画面生成手段１６５は、また例えば、後述する通信手段１６８によって通信を行う外部の装置によって制御される表示手段に表示する画面を生成してもよい。
【００６８】
画面生成手段１６５によって生成される画面は、例えば、所定のバイナリデータから生成された構造化文書生成によるＷｅｂ画面でもよい。画面生成手段１６５は、また例えば、構造化文書生成手段１４０によって生成された構造化文書に基づいて、データ参照手段１５０によって参照された主情報を表示する画面を生成してもよい。
【００６９】
記憶手段１６６は、情報処理装置１００によって処理されるバイナリデータ等を格納する。記憶手段１６６は、また例えば、所定のデータフォーマット毎に対応するデータフォーマット情報を保持してもよい。記憶手段１６６は、例えば、ハードディスクドライブとして構成されてもよく、また例えば、ＣＤ、ＤＶＤ等のコンピュータが読取可能であり、かつ、ドライブに対して抜き差し可能な情報記録媒体のドライブとして構成されてもよい。
【００７０】
通信手段１６８は、情報処理装置１００の外部の装置等との通信を行う手段である。通信手段１６８は、例えば、ネットワークを介して接続された装置との通信を行ってもよく、また例えば、情報処理装置１００に直接接続された装置との通信を行ってもよい。
【００７１】
なお、図２の例では、一の情報処理装置が図示されているが、本発明の実施の形態は、例えば、フォーマット情報取得手段１１０、情報取得手段１２０、インデックス生成手段１３０、及び、構造化文書生成手段１４０を含む、一のバイナリデータ解析装置でもよい。また例えば、データ参照手段１５０、構造化文書変換手段１８０、及び、バイナリデータ生成手段１９０を含む一のバイナリデータ編集装置でもよい。
【００７２】
（本発明の一実施の形態におけるバイナリデータの変換）
図４は、本発明の一実施の形態におけるバイナリデータの変換を説明する図である。図４では、バイナリデータ又は構造化文書等のデータ類と、それらを処理する構文解析器等が、それぞれブロックの形態で表記されている。
【００７３】
図４において、Ｄ１はバイナリデータであり、Ｄ２は構文解析器であり、Ｄ３は構造化文書であり、Ｄ４はバイナリデータにおける参照位置であり、Ｄ５はデータ参照器である。なお、図４の構文解析器Ｄ２は、図２のフォーマット情報取得手段１１０、情報取得手段１２０、インデックス生成手段１３０、及び、構造化文書生成手段１４０をあわせたものに対応し、データ参照器Ｄ５は、図１のデータ参照手段１５０に対応する。
【００７４】
バイナリデータＤ１は、所定のデータフォーマットによるバイナリデータである。バイナリデータは、また、「ビットデータ」と呼んでもよい。バイナリデータＤ１のデータフォーマットは、また、フィールドを有して構成され、一のフィールドは、そのフィールドの長さの値の情報とタイプの情報とを有する。
【００７５】
構文解析器Ｄ２は、バイナリデータＤ１を解析することにより、バイナリデータＤ１が有する情報値が、そのバイナリデータのデータフォーマットにしたがって構造化表現された構造化文書Ｄ３を生成する。
【００７６】
構文解析器Ｄ２は、また、バイナリデータＤ１を解析する際に、予め保持されている「リスト」又は「スキーマ」を用いてもよい。これらの「リスト」又は「スキーマ」は、例えば、データフォーマット情報に含まれてもよく、又は、データフォーマット情報そのものでもよい。「スキーマ」は、例えば、セマンティクス情報を含んでもよい。「スキーマ」は、またＸＭＬ又はその類似言語によって記述されてもよい。
【００７７】
例えば、ＸＭＬによって記述されたスキーマは、所定のフィールドのセマンティクス情報を、「ｘｓｄ：ｄｏｃｕｍｅｎｔａｔｉｏｎ」要素によって含んでもよい。
【００７８】
スキーマは、また、｛タイプ：情報（１）、・・・、情報（ｉ）、・・・、情報（Ｎ）｝の型のレコードを有するリストを、「ｘｓｄ：ａｐｐｉｎｆｏ」要素によって含んでもよい。構文解析器Ｄ２は、バイナリデータＤ１のフィールドのヘッダ情報からタイプの値を取得し、その値に対応するタイプの値を有する｛タイプ：情報（１）、・・・、情報（ｉ）、・・・、情報（Ｎ）｝の型のレコードを参照する。レコードに含まれる、「情報（ｉ）」は、そのフィールドのデータ本体に含まれるｉ番目の情報値に対応する、シンタックス情報又はセマンティクス情報である。
【００７９】
なお、ＸＭＬスキーマでは、「ｘｓｄ：ｄｏｃｕｍｅｎｔａｔｉｏｎ」要素は、人間によって利用される情報をコメントとして格納する要素であり、「ｘｓｄ：ａｐｐｉｎｆｏ」要素は、アプリケーションによって利用される情報をコメントとして格納する要素である。また「ｘｓｄ：ｄｏｃｕｍｅｎｔａｔｉｏｎ」要素と、「ｘｓｄ：ａｐｐｉｎｆｏ」要素とは、「ｘｓｄ：ａｎｎｏｔａｔｉｏｎ」要素に含まれる。
【００８０】
これにより、バイナリデータＤ１が汎用的なＸＭＬパーサによって処理される場合には、「ｘｓｄ：ｄｏｃｕｍｅｎｔａｔｉｏｎ」要素に含まれるシンタックス情報又はセマンティクス情報と、「ｘｓｄ：ａｐｐｉｎｆｏ」要素に含まれるシンタックス情報又はセマンティクス情報との解析を行わないように構成することができる。
【００８１】
構文解析器Ｄ２は、スキーマを利用してバイナリデータＤ１を解析し、バイナリデータＤ１が構造化表現された構造化文書Ｄ３を生成する。構造化文書Ｄ３は、複数の要素を含み、各要素が含む情報値又は情報は、バイナリデータＤ１におけるその情報値等の位置に対応する「値」である情報値と、スキーマが有するその情報値に対応する識別情報等とに基づいて算出される。
【００８２】
構文解析器Ｄ２は、また例えば、後述するデータ参照器Ｄ５がバイナリデータＤ１を参照する際に必要となる詳細さと、バイナリデータＤ１を解析する詳細さの度合とを対応づけてもよい。これを実現するために、スキーマにおいて、詳細さの第一の階層レベルに対応するフィールドが第一の様式で記述され、詳細さの第二の階層レベルに対応するフィールドが第二の様式で記述されるとよい。これらの階層レベルに対応する記述は、例えば、上記の「ｘｓｄ：ｄｏｃｕｍｅｎｔａｔｉｏｎ」又は「ｘｓｄ：ａｐｐｉｎｆｏ」に含んでもよい。
【００８３】
構文解析器Ｄ２は、またさらに、バイナリデータＤ１の中に含まれている所定の情報のインデックスを生成してもよい。どの情報をインデックスとするかは、上記の詳細さの階層レベルに応じて定められてもよい。
【００８４】
構文解析器Ｄ２は、さらに、構造化文書Ｄ３に含まれる所定の要素に対して属性を与えてもよい。ＸＭＬスキーマでは、属性は名前空間によって定義される。そこで、例えば、上記の「詳細さ」に対応する階層レベルを表すために追加される属性として、「ｊｐｘｍｌ：ｐｒｅｓＬｅｖｅｌ」としてもよい。なお、接頭辞「ｘｓｄ」は、ＸＭＬスキーマの従来の名前空間を表し、接頭辞「ｊｐｘｍｌ」は、本実施の形態において追加される名前空間を表す。
【００８５】
構文解析器Ｄ２は、またさらに、ＸＭＬスキーマにおいて「ｘｓｄ：ｄｏｃｕｍｅｎｔａｔｉｏｎ」要素に含まれるセマンティクスを解析した結果を構造化文書Ｄ３に含める場合には、その要素に対して、「ｊｐｘｍｌ：ｆｉｅｌｄＳｅｍａｎｔｅｉｃｓ」の属性を付加してもよい。
【００８６】
構文解析器Ｄ２は、またさらに、ＸＭＬスキーマにおいて「ｘｓｄ：ａｐｐｉｎｆｏ」要素に含まれるセマンティクスを解析した結果を構造化文書に含める場合には、その要素に対して、「ｊｐｘｍｌ：ｖａｌｕｅＳｅｍａｎｔｉｃｓ」の属性を付加してもよい。これにより、例えば、｛タイプ：情報（１）、・・・、情報（ｉ）、・・・、情報（Ｎ）｝の型のレコードを有するリストに基づいて取得された情報に対して、その属性を付加することができる。
【００８７】
構文解析器Ｄ２は、またさらに、ＸＭＬスキーマが上記の「詳細さ」の階層レベルの情報を有する場合には、その情報を構造化文書Ｄ３の対応する要素に付加してもよい。
【００８８】
構文解析器Ｄ２は、またさらに、バイナリデータＤ１から取得された情報値を、ＸＭＬスキーマによって定められているデータタイプに従って整形する。なお、整形するとは、例えば、その情報値を２進数又は１６進数によって表される数に変換することであり、さらに、変換された値に対して「ｊｐｘｍｌ：ｖａｌｕｅ」の属性を付加した要素を生成してもよい。
【００８９】
構文解析器Ｄ２は、またさらに、バイナリデータＤ１から取得された情報値又は情報に対応する情報値のバイナリデータＤ１における位置情報を生成し、その位置情報を「ｊｐｘｍｌ：ｏｆｆｓｅｔ」の属性を有する要素としてもよい。
【００９０】
構造化文書Ｄ３は、バイナリデータＤ１のデータフォーマットによって定められているフィールドの、少なくとも一部について、そのフィールドから取得される情報値とその情報値の識別情報とが対応づけられている。構造化文書Ｄ３は、文字又は記号等のテキストによって表記されることにより、操作者が容易に読むことができる。
【００９１】
生成された構造化文書Ｄ３は、またバイナリデータＤ１における情報値の位置を表す「マップ」として用いられてもよい。構造化文書Ｄ３を「マップ」として用いる装置等は、構造化文書Ｄ３に含まれている情報値の「長さの値」、その情報値に基づく「情報」、又は、構造化文書Ｄ３に含まれているインデックス等により、バイナリデータ中の詳細な位置情報を取得する。その際には、バイナリデータのデータフォーマットを規定するデータフォーマット情報が用いられてもよい。
【００９２】
「マップ」として用いられる構造化文書Ｄ３を生成するために、構文解析器Ｄ２は、「マップ」に求められる詳細さに応じて、構造化文書Ｄ３に含まれる要素又は属性等の詳細さを変更してもよい。より詳細には、例えば、バイナリデータＤ１がＪＰ２ファイルの場合に、「マップ」に求められる詳細さが、コードストリームより上位までの場合と、コードストリームに含まれるパケットまでの場合とで、それぞれ対応する詳細さに基づいて、構文解析器Ｄ２が処理を行う。構文解析器Ｄ２は、例えば、「マップ」に求められる詳細さが、コードストリームより上位までの場合には、コードストリームに対応するインデックスを生成してもよい。構文解析器Ｄ２は、また例えば、「マップ」に求められる詳細さが、パケットまでの場合には、パケットに対応するインデックスを生成してもよい。
【００９３】
図５は、構文解析器Ｄ２によって、ＪＰ２ファイルにおけるＩｍａｇｅ  Ｈｅａｄｅｒ  Ｂｏｘが処理されて生成する構造化文書を説明する図である。図５のｉｈｄｒＢｏｘＢ３は、ＬＢｏｘ、ＴＢｏｘ、ｈｅｉｇｈｔ、ｗｉｄｔｈ、ＮＣ、ＢＰＣ、Ｃ、ＵｎｋＣ、及び、ＩＰＲの情報をそれぞれ有する。ＬＢｏｘは、ｉｈｄｒＢｏｘの長さを表し、ここでは値２２を有する。ＴＢｏｘは、Ｂｏｘタイプを表し、ここでは値「ｉｈｄｒ」を有する。値「ｉｈｄｒ」は、このＢｏｘが、Ｉｍａｇｅ  Ｈｅａｄｅｒ  Ｂｏｘであることを表す。
【００９４】
ｈｅｉｇｈｔは、画像の垂直方向サイズを表す数であり、ここでは値３００を有する。ｗｉｄｔｈは、画像の水平方向サイズを表す数であり、ここでは値４００を有する。ＮＣは、画像が有するコンポーネント数を表し、ここでは値３を有する。ＢＰＣは、コンポーネントあたりのビット深度を表し、ここでは値８を有する。Ｃは、符号化タイプを表し、ここでは値７を有する。ＵｎｋＣは、色空間の認識情報を表し、ここでは値１を有する。ＩＰＲは、知的財産権に係る情報の有無を表し、ここでは値０を有する。
【００９５】
ＮＣ、ＢＰＣ、Ｃ、ＵｎｋＣ、及び、ＩＰＲの値、すなわちこれらの「情報値」は、その情報値に対応するセマンティクスと対応づけられることにより、意味を有する「情報」となる。
【００９６】
図５Ａ）は、ｉｈｄｒＢｏｘＢ３に含まれる情報値とそのセマンティクスを、ＸＭＬの属性表記によって表現した例である。属性表記は、例えば、Ｄｅｐｔｈ＝"８"と表記される。
【００９７】
図５Ｂ）は、ｉｄｈｒＢｏｘＢ３に含まれる情報値とそのセマンティクスを、ＸＭＬの要素として表現した例である。要素として表現する場合には、例えば、＜Ｄｅｐｔｈ＞８＜／Ｄｅｐｔｈ＞と表記される。
【００９８】
本実施の形態では、主として要素による表記について説明するが、本発明の実施の形態は、属性表記又は要素による表記の何れでもよい。
【００９９】
図４に戻り、参照位置Ｄ４は、構造化文書Ｄ３に基づいて取得される、バイナリデータ中の所定のデータの位置情報である。参照位置Ｄ４は、例えば、バイナリデータ中の所定のフィールドの位置情報でもよく、また例えば、バイナリデータ中の主情報のインデックスでもよい。参照位置Ｄ４は、これらの位置情報を、例えば、バイナリデータ中の先頭からのバイト数によって表現されたものでもよい。参照位置Ｄ４は、また、一の数として表される位置情報でもよく、また所定の範囲を表す位置情報でもよい。
【０１００】
データ参照器Ｄ５は、参照位置Ｄ４を取得して、バイナリデータＤ１の所定の位置を参照する。データ参照器Ｄ５は、予め構造化文書Ｄ３に「ｊｐｘｍｌ：ｏｆｆｓｅｔ」の属性を有する要素が含まれている場合には、その要素によって表される位置情報を取得してもよい。データ参照器Ｄ５は、また例えば、構造化文書Ｄ３に、例えばフィールド毎の「長さの値」が含まれている場合には、その「長さの値」から、バイナリデータＤ１の先頭から所定の位置までの「オフセット値」を取得してもよい。データ参照器Ｄ５は、また例えば、構造化文書Ｄ３に、インデックスが含まれている場合には、そのインデックスに基づいて、参照される情報の位置情報を取得した後に参照を行ってもよい。
【０１０１】
（Ｊ２ＫファイルフォーマットのＢｏｘ構造とＸＭＬ表現の説明）
図６は、ＸＭＬにより構造化表現された構造化文書Ｅ２に基づいて、バイナリデータＥ２を参照することを説明する図である。図６のＥ１は、バイナリデータであるが、ここでは、バイナリデータＥ１の中身を説明するために、テキスト形式により表現している。図６のバイナリデータＥ１は、ＪＰ２ファイルの冒頭部分であり、先頭のＢｏｘ［００］が、ＪＰＥＧ２０００  ｓｉｇｎａｔｕｒｅ  ｂｏｘであり、続くＢｏｘ［０１］が、Ｆｉｌｅ  Ｔｙｐｅ  ｂｏｘである。
【０１０２】
なお、図中に記されている「Ｊ２Ｋ」とは、ＪＰＥＧ２０００の略である。ＩＳＯ／ＩＥＣ  １５４４４規格群は、Ｊ２Ｋとも表記される。したがって、Ｊ２Ｋファイルフォーマットとは、例えば、ＪＰ２ファイルフォーマット、ＪＰＭファイルフォーマット、又は、ＭＪ２ファイルフォーマット等を言う。また、Ｊ２Ｋフォーマットのファイル又はＪ２Ｋファイルとは、上記のファイルフォーマットを有するファイル等の他に、ＪＰＥＧ２０００規格によるコードストリームのファイルを含む。
【０１０３】
Ｂｏｘ［０１］に続くＢｏｘ［０２］は、ＪＰ２  Ｈｅａｄｅｒ  ｂｏｘであり、Ｂｏｘ［０３］とＢｏｘ［０４］とは、それぞれ、ＪＰ２  Ｈｅａｄｅｒ  ｂｏｘに含まれる、Ｉｍａｇｅ  Ｈｅａｄｅｒ  ＢｏｘとＣｏｌｏｒ  Ｓｐｅｃｆｉｃａｔｉｏｎ  Ｂｏｘである。すなわち、ＪＰ２  Ｈｅａｄｅｒ  ｂｏｘは、スーパーＢｏｘである。
【０１０４】
ＪＰ２  Ｈｅａｄｅｒ  ｂｏｘに続くＢｏｘ［０５］は、Ｃｏｎｔｉｇｕｏｕｓ  Ｃｏｄｅｓｔｒｅａｍ  ｂｏｘであり、ＪＰＥＧ２０００規格によるコードストリームが格納されている。
【０１０５】
図６のＥ２は、バイナリデータＥ１から生成されたＸＭＬによる構造化文書である。構造化文書Ｅ２は、ＸＭＬの要素と属性による表現を有して構成される。構造化文書Ｅ２におけるＲ２の符号を付した箇所が、バイナリデータＥ１中のコードストリームのインデックスである。要素Ｒ２は、ＸＬｉｎｋ、及び、ＸＰｏｉｎｔｅｒによってバイナリデータＥ１に含まれる、Ｂｏｘタイプが"ｊｐ２ｃ"であるコードストリームＲ１を参照している。この構造化文書Ｅ２を用いることにより、バイナリデータＥ１が有するコードストリームＲ１を参照することが容易になる。
【０１０６】
ところで、従来の方法によれば、バイナリデータＥ１の先頭からのオフセット値によってコードストリームＲ２を参照する場合には、バイナリデータＥ１のＢｏｘ［０５］より前に、新たなＢｏｘ等が付加されたときには、そのオフセット値を再度取得する必要があった。そこで、構造化文書Ｅ２において、主情報への参照がオフセット値によって表記されている場合には、バイナリデータＥ１又は構造化文書Ｅ２が編集される際に、そのオフセット値をも新たに取得する必要があった。
【０１０７】
しかしながら、本実施の形態では、構造化文書Ｅ２に含まれる要素Ｒ２にはオフセット値が含まれていないため、そのような場合にもオフセット値の再取得を行う必要がなく、バイナリデータの編集等の処理を容易にすることができる。
【０１０８】
（本発明の一実施の形態に係る情報処理方法による処理例）
図７は、本発明の一実施の形態に係る情報処理方法による処理の例のフロー図である。図７の処理は、例えば、情報処理装置１００によって実現される。図７のステップＳ１０１では、情報処理装置１００に対して、フィールドを有して構成されるバイナリデータが入力される。バイナリデータは、例えば、入力手段１６２又は通信手段１６８によって入力されてもよく、また例えば、記憶手段１６６に格納されているバイナリデータが読み出されてもよい。
【０１０９】
ステップＳ１０１に続いてステップＳ１０２に進み、フォーマット情報取得手段１１０が、ステップＳ１０１で入力されたバイナリデータに対応するデータフォーマット情報を取得し、さらに、情報取得手段１２０が、データフォーマット情報に基づいて、バイナリデータからフィールドを取得する。なお、データフォーマット情報は、入力手段１６２又は通信手段１６８によって入力されてもよく、また例えば、記憶手段１６６に格納されているデータフォーマット情報が読み出されてもよい。
【０１１０】
ステップＳ１０２に続いてステップＳ１０３に進み、構造化文書生成手段１４０が、フィールドに含まれる情報値毎に対応する識別情報を付加し、又は情報値からデータフォーマット情報に含まれているセマンティクス情報を取得して、構造化表現を生成する。
【０１１１】
ステップＳ１０１で入力されたバイナリデータに含まれる全てのフィールドの処理が終了するまで、ステップＳ１０２とステップＳ１０３の処理を繰り返す。なお、ステップＳ１０２とステップＳ１０３との処理は、全てのフィールドに行われなくてもよく、例えば、生成される構造化文書に求められる「詳細さ」に応じて、要求される「詳細さ」に対応するフィールドの構造化表現が生成されてもよい。また、フィールドに含まれる情報が、主情報の場合には、インデックス生成手段１３０が、主情報へのインデックスを生成する。
【０１１２】
ステップＳ１０３に続くステップＳ１０４では、構造化文書生成手段１４０が、バイナリデータに含まれる複数のフィールドの構造化表現に基づいて、バイナリデータ全体の構造化表現である構造化文書を生成する。
【０１１３】
ステップＳ１０４に続いてステップＳ１０５に進み、データ参照手段１５０が、構造化文書に含まれている、参照する主情報のインデックスを取得する。主情報のインデックスは、例えば、ＸＬｉｎｋ、ＸＰｏｉｎｔｅｒ、又は、ＸＰａｔｈ等によって記載されている。
【０１１４】
ステップＳ１０５に続いてステップＳ１０６に進み、位置情報取得手段１５２が、バイナリデータにおける主情報の位置情報を取得する。ここで取得される位置情報は、ＸＰｏｉｎｔｅｒに基づいて取得される、その主情報のバイナリデータ中における先頭位置からのオフセット値でもよい。またオフセット値は、予め構造化文書に含まれていてもよい。オフセット値は、また例えば、構造化文書が、Ｂｏｘ毎の長さの値を含む場合には、その長さの値を積算することにより、主情報を含むＢｏｘのオフセット値を取得してもよい。
【０１１５】
ステップＳ１０６に続いてステップＳ１０７に進み、データ参照手段１５０によってバイナリデータが有する主情報が参照される。
【０１１６】
（本発明の一実施の形態に係るコンピュータプログラムを実行するコンピュータ）
図８は、本発明の一実施の形態に係るコンピュータプログラムを実行するコンピュータの構成の例の図である。図８のコンピュータＷ１は、例えば、ワークステーションとして構成される。コンピュータＷ１は、ＣＰＵ−Ｐ１、メモリＭ１、ディスプレイコントローラＷ３、及び、マンーマシン・インタフェースＷ４を有する。コンピュータＷ１は、また、ディスプレイＷ２、及び、ハードディスク装置Ｗ５を有してもよい。
【０１１７】
ＣＰＵ−Ｐ１は、本発明の一実施の形態に係るコンピュータプログラムを、メモリＭ１に展開して実行することにより、本発明の一実施の形態に係る情報処理方法を実現する。メモリＭ１は、コンピュータプログラムが展開され、またさらに、バイナリデータＤ１、構造化文書Ｄ３、又は、参照位置Ｄ４を保持してもよい。
【０１１８】
ディスプレイＷ２は、コンピュータＷ１の状態等を表示し、ディスプレイコントローラＷ３は、ディスプレイＷ２によって表示される画面を生成し、さらに、ディスプレイＷ２を制御する。マン−マシン・インタフェースＷ４は、主として入力手段から構成され、操作者による入力が行われる。ハードディスク装置Ｗ５は、バイナリデータＤ１又は構造化文書Ｄ３を格納し、さらに、コンピュータプログラムを格納してもよい。
【０１１９】
本発明のコンピュータプログラムは、ハードディスク装置Ｗ５に格納される他に、図示しないＣＤ、ＤＶＤ等のコンピュータ読取可能であって、かつ、コンピュータに接続されたドライブ装置に挿入される記録媒体に記録され、その記録媒体が図示しないドライブ装置に挿入されることに基づいて、メモリＭ１に展開され、ＣＰＵ−Ｐ１によって実行されてもよい。
【０１２０】
（本発明の実施の形態によって生成される構造化文書の効果の説明）
図９は、本発明の実施の形態によって生成される構造化文書の効果を説明する図である。図９（Ａ）は、本発明の実施の形態によって生成される構造化文書の例である。図９（Ａ）の構造化文書は、バイナリデータの主情報を、例えば、ＸＬｉｎｋ等によって記載することにより、主情報そのものを構造化文書には含まない構成を有し、さらに、構造化文書の間で、包含関係を許容することにより、構造化文書のデータサイズを削減することができる。構造化文書の間の包含は、例えば、ＸＩｎｃｌｕｄｅ等により実現される。
【０１２１】
一方、図９（Ｂ）の構造化文書は、構造化文書の間の包含関係を有さない場合の例である。図９（Ｂ）の例は、図９（Ａ）の例に比べて、複数の構造化文書の間で、情報が重複するため、全体のデータサイズが大きくなる。
【０１２２】
（構造化文書によるその他の応用例）
図１０は、本発明の実施の形態によって生成される構造化文書によって実現される機能を説明する図である。図１０（Ａ）では、Ｊ２Ｋフォーマットのバイナリデータから生成されるＸＭＬによって表記された構造化文書に対し、Ｓｔｙｌｅ  Ｓｈｅｅｔを適用するＸＳＬ変換により、必要な情報が取り出された新たな構造化文書が生成される。ここで生成された構造化文書は、例えば、ＸＭＬによって表記されている。その新たな構造化文書に対して、Ｊ２Ｋのファイルフォーマット規格にしたがって、ＸＭＬ逆変換を行うことにより、元のバイナリデータから必要な情報が取り出された新たなＪ２Ｋフォーマットのバイナリデータが生成される。
【０１２３】
なお、新たなバイナリデータは、Ｊ２Ｋファイルフォーマットの他に、ＭＰＥＧ−４規格等のファイルフォーマットでもよい。なお、新たなバイナリデータが、ＭＰＥＧ−４規格によるビットストリームを含むＭＰＥＧ−４規格のファイルフォーマットの場合には、ＪＰＥＧ２０００規格によるコードストリームを、ＭＰＥＧ−４規格によるビットストリームに変換する処理が必要である。
【０１２４】
図１０（Ｂ）では、図１０（Ａ）と同様に、Ｊ２Ｋフォーマットのバイナリデータから生成されるＸＭＬによって表記された構造化文書に対してＸＳＬ変換された新たな構造化文書が生成される。ここで生成される構造化文書は、例えば、ＸＨＴＭＬによって表記されている。この新たな構造化文書に基づいて、操作者等がブラウザによってバイナリデータから取り出された情報を閲覧することができる。なお、この場合のブラウザは、ＪＰＥＧ２０００規格によるコードストリームに対応しているとよい。
【０１２５】
本実施の形態によれば、バイナリデータを構文解析した結果を用い、実際のバイナリデータ中のアドレス指定を、既存のＸＬｉｎｋ等の方法によって行うことにより、バイナリデータ内の構造化文書又はバイナリデータの外にある構造化文書からリンクやポインタにより参照することが可能になる。
【０１２６】
本実施の形態によって生成された構造化文書は、バイナリデータに含まれる所定の情報値の位置を指定するために利用されうる。さらに、その構造化文書を変換することにより、例えば、ＰＤＦ等のバイナリデータの構造化表現をＨＴＭＬ等による表記にすることができるので、ＰＤＦ文書中の画像データを、Ｗｅｂブラウザ等で閲覧する形態にすることができる。
【０１２７】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【図面の簡単な説明】
【０１２８】
【図１】バイナリ形式の画像データが有する所定のデータを参照する方法を説明する図。
【図２】本発明の一実施の形態に係る情報処理装置の機能構成の例の図。
【図３】Ｂｏｘの構造を説明する図。
【図４】本発明の一実施の形態におけるバイナリデータの変換を説明する図。
【図５】ｉｈｄｒ  Ｂｏｘから生成されるＸＭＬ表現を説明する図。
【図６】Ｊ２ＫファイルフォーマットのＢｏｘ構造とＸＭＬ表現とを説明する図。
【図７】本発明の一実施の形態に係る情報処理方法による処理例のフロー図。
【図８】本発明の一実施の形態に係るコンピュータプログラムを実行するコンピュータの構成の例。
【図９】本発明の実施の形態によって生成される構造化文書の効果を説明する図。
【図１０】本発明の実施の形態によって生成される構造化文書によって実現される機能を説明する図。
【符号の説明】
【０１２９】
１０  バイナリデータ解析装置
５０  バイナリデータ編集装置
１００  情報処理装置
１１０  フォーマット情報取得手段
１２０  情報取得手段
１３０  インデックス生成手段
１４０  構造化文書生成手段
１５０  データ参照手段
１５２  位置情報取得手段
１６２  入力手段
１６４  表示手段
１６６  記憶手段
１６８  通信手段
１７０  参照情報指示手段
１８０  構造化文書生成手段
１９０  バイナリデータ生成手段
Ｂ１  Ｂｏｘ
Ｂ２  スーパーＢｏｘ
Ｂ３  ｉｈｄｒ  Ｂｏｘ
Ｄ１  バイナリデータ
Ｄ２  構文解析器
Ｄ３  構造化文書
Ｄ４  参照位置
Ｄ５  データ参照器
Ｐ１  ＣＰＵ
Ｍ１  メモリ
Ｗ１  コンピュータ
Ｗ２  ディスプレイ
Ｗ３  ディスプレイコントローラ
Ｗ４  マン−マシン・インタフェース
Ｗ５  ＨＤＤ
【図１】
2009015355.tif 000003
【図２】
2009015355.tif 000004
【図３】
2009015355.tif 000005
【図４】
2009015355.tif 000006
【図５】
2009015355.tif 000007
【図６】
2009015355.tif 000008
【図７】
2009015355.tif 000009
【図８】
2009015355.tif 000010
【図９】
2009015355.tif 000011
【図１０】
2009015355.tif 000012