【手続補正書】
【提出日】平成17年2月8日(2005.2.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】  明細書
【発明の名称】  スキーマ、構文解析方法及びスキーマに基づいてビットストリームを発生する方法
【特許請求の範囲】
【請求項１】或るフォーマットに従う構造及びコンテンツを有するようなデータを含むビットストリームを構文的に解析する構文解析方法であって、該方法が前記ストリームのツリー状表現を発生することを意図するものであるような方法において、該方法が、
Ａ）スキーマを読み取るステップであって、該スキーマが前記フォーマットを包括的に記述するために、
ａ）１以上のファセットを含むことができる１以上のデータタイプを定義し、特には、
−  前記フォーマットが所定の長さ又は複数の長さの二進ワードを使用する場合は、前記所定の長さ又は複数の長さの二進ワードに対応すると共に前記長さに関係する少なくとも１つのファセットを有するような１以上のデータタイプを定義し、ここで、前記所定の複数の長さの二進ワードが１以上の埋め込みビットを含み得る場合は、前記データタイプは前記埋め込みビットに関係するファセットを有し、
−  前記フォーマットが或るインポートモードを使用して前記表現にインポートされるべきコンテンツを持つような不定長の二進セグメントを使用する場合は、前記二進セグメントに対応すると共に前記インポートモードに関係する少なくとも１つのファセットを有するようなデータタイプを定義し、ここで、前記二進セグメントが停止フラグにより定義される場合は、前記データタイプは前記停止フラグに関係する１つのファセットを有し、
ｂ）名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述するような複数のエレメントを有し、ここでエレメントの発生は必須であるか又は任意選択的であり、
ｃ）前記フォーマットが前記ビットストリームの前部に位置するデータが該ビットストリームの残部の構造又はコンテンツに関する情報を与えることを規定している場合は、
−  前記ツリー状表現における前記前部に位置する前記データへのアクセスパスにより構成される１つ又は種々の変数を定義し、且つ、
−  種々の可能性のある構造又はコンテンツを記述するための１以上の条件付き分岐を、前記変数又は複数の変数の値の関数として有する、
ようなステップと、
Ｂ）前記ビットストリームにおいて前記スキーマに含まれる前記エレメントに対応するようなデータを検索するステップと、
Ｃ）前記ビットストリームにおいて見付かった前記データを含むと共に前記ツリー状表現を構成するような前記スキーマのインスタンスを発生するステップと、
を有することを特徴とする方法。
【請求項２】請求項１に記載の構文解析方法を実施するための命令を有するコンピュータプログラム。
【請求項３】或るフォーマットに従うビットストリームを、該ビットストリームのツリー状表現であって特に或るインポートモードの使用によりインポートされたデータを含むような文書から発生する方法において、該方法が、
Ａ）前記文書を読み取るステップと、
Ｂ）並列してスキーマを読み取るステップであって、該スキーマが前記フォーマットを包括的に記述するために、
ａ）１以上のファセットを含むことができる１以上のデータタイプを定義し、特には、
−  前記インポートモードに関係するファセットを少なくとも有するような不定長の二進セグメントに対応するデータタイプを定義し、
−  前記フォーマットが所定の長さ又は複数の長さの二進ワードを使用する場合は、前記長さに関係するファセットを少なくとも有するような前記所定の長さ又は複数の長さの二進ワードに対応する１以上のデータタイプを定義し、ここで、前記二進ワードが１以上の埋め込みビットを含む場合は、前記埋め込みビットに関係するファセットを定義し、
ｂ）名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述するような複数のエレメントを有し、ここでエレメントの発生は必須であるか又は任意選択的であり、
ｃ）前記フォーマットが前記ビットストリームの前部に位置するデータが該ビットストリームの残部の構造又はコンテンツに関する情報を与えることを規定している場合は、
−  前記ツリー状表現における前記前部に位置する前記データへのアクセスパスにより構成される１以上の変数を定義し、且つ、
−  種々の可能性のある構造又はコンテンツを記述するための１以上の条件付き分岐を、前記文書に含まれるデータタイプを決定するための前記変数又は複数の変数の値の関数として有する、
ようなステップと、
Ｃ）前記データを前記の定義されたタイプの関数としてコーディングするステップと、
Ｄ）前記コーディングされたデータからビットストリームを構成するステップと
を有することを特徴とする方法。
【請求項４】請求項３に記載のビットストリームを発生する方法を実施するための命令を有するコンピュータプログラム。
【請求項５】１以上のファセットを有することができる１以上のデータタイプを定義すると共に、名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述する複数のエレメントを有するようなスキーマであって、エレメントの発生が必須であるか又は任意選択的であるようなスキーマにおいて、
前記スキーマが：
−  前記スキーマは不定長の二進セグメントに対応すると共に、データインポートモードに関係するファセットを少なくとも有し、且つ、二進セグメントの停止フラグに関係するファセットをオプションとして有するようなデータタイプを定義し、
−  前記スキーマは所定の長さ又は複数の長さの二進ワードに対応すると共に、前記長さに関係するファセットを少なくとも有し、且つ、前記二進ワードに含まれる埋め込みビットに関係するファセットをオプションとして有するような１以上のデータタイプを定義し、
−  前記スキーマはデータアクセスパスにより構成される１以上の変数を定義すると共に、種々の構造又は可能性のあるコンテンツを記述するための１以上の条件付き分岐を変数又は前記変数の値の関数として有する、
ような特徴的フィーチャのうちの少なくとも１つを有することを特徴とするスキーマ。
【請求項６】請求項５に記載のスキーマを記憶するメモリ手段を有すると共に、前記スキーマに基づくビットストリームの構文解析方法を実施して前記スキーマのインスタンスであるような前記ビットストリームを表す文書を発生するための命令を含むプログラム、及び／又は前記スキーマに基づくと共に該スキーマのインスタンスであるような前記ビットストリームを表す文書に基づくビットストリーム発生方法を実施するための命令を含むプログラムを記憶するメモリ手段を有することを特徴とする処理ユニット。
【請求項７】少なくとも１つの発信元主体及び少なくとも１つの宛先主体を有するような伝送システムであって、前記発信元主体が、請求項５に記載のスキーマを記憶するメモリ手段を有すると共に、前記スキーマに基づくビットストリームの構文解析方法を実施して前記スキーマのインスタンスであるような前記ビットストリームを表す文書を発生するための命令を含むプログラム、及び／又は前記スキーマに基づくと共に該スキーマのインスタンスであるような前記ビットストリームを表す文書に基づくビットストリーム発生方法を実施するための命令を含むプログラムを記憶するメモリ手段を有することを特徴とする伝送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、或るフォーマットに準拠した構造及びコンテンツを持つようなデータを含むビットストリームを構文的に解析する方法であって、該ストリームのツリー状表現を発生することを意図するような方法に関する。また、本発明は或るフォーマットに従うビットストリームを、該ビットストリームのツリー状表現であると共に或るインポートモードを使用することにより特にインポートされたデータ等のデータを含むような文書から発生する方法にも関する。また、本発明は、１つ又は種々のファセットを有することができるような１つ又は種々のタイプのデータを定義すると共に、名称、データのタイプ、重なり（imbrication）、順序、及び予め規定された又は規定されていない数の発生を記述する複数のエレメントを有するようなスキーマであって、エレメントの発生が必須又は任意選択的であるようなスキーマにも関する。
【０００２】
また、本発明は、上記のような方法を実施するためのコンピュータプログラム、上記のようなスキーマ及び斯様なコンピュータプログラムを記憶する記憶手段を含むような処理ユニット、並びに少なくとも発信元主体及び宛先主体を有するような伝送システムにも関し、上記発信元主体は上記のようなスキーマ及び１つ又は斯様なプログラムを記憶する記憶手段を有する。
【０００３】
本発明は、コンテンツの編集、修正及び併合の分野に用途を有する。
【０００４】
本発明の用途の一例は、宛先に送信されるべきコンテンツのユーザプロファイル（スクリーン、計算能力、記憶容量、及び伝送に使用されるリンク等）の関数としての適応化である。斯様な適応化は、特に、受信者が使用することができないようなデータの無駄な送信を防止し、これにより帯域を節約するのを可能にする。
【０００５】
【従来の技術】
上記に関しては、本出願人（コーニンクレッカ  フィリップス  エレクトロニクス  エヌ  ヴィ）により２００１年２月５日付けで出願されたフランス国特許出願第０１０１５３０号が、マークアップ言語で書かれると共に基本プログレッシブファイルを記述する基本文書から特定の特徴的フィーチャを持つファイルを発生する発生方法を既述しており、該方法は、上記基本文書に対して上記特徴的フィーチャの関数であるような所定の変換を適用することにより変換された文書を発生する変換ステップを有し、上記特徴的フィーチャを持つファイルは該変換された文書から発生される。この方法は、プログレッシブファイルの構造が明白であるような基本文書に対して所要の変換を実行することにある。該方法は、基本プログレッシブファイルを別途記録するために、該ファイルをデコードしなければならないということを防止することができる。
【０００６】
しかしながら、このファイル発生方法は、基本プログレッシブファイルを記述する基本文書の発生、及び変換された文書からの次いでの他のファイルの発生を当然含んでいる。
【０００７】
【発明が解決しようとする課題】
本発明の目的は、上記のような処理を実行する自動的且つ包括的方法を提案することにある。
【０００８】
【課題を解決するための手段】
従って、本発明は、特に、コーディングフォーマットを包括的な態様で記述するのを可能にするような新たな型式のスキーマを提案する。
【０００９】
本発明によるスキーマは、１つ又は種々のファセットを有することができるような１つ又は種々のタイプのデータを定義する。該スキーマは、名称、データのタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述するような複数のエレメントを有し、エレメントの発生は必須であるか又は任意選択的である。そして、該スキーマは、
−  前記スキーマは不定長の二進セグメントに対応すると共に、データインポートモードに関係するファセットを少なくとも有し、且つ、二進セグメントの停止フラグに関係するファセットをオプションとして有するようなデータタイプを定義し、
−  前記スキーマは所定の長さ又は複数の長さの二進ワードに対応すると共に、前記長さに関係するファセットを少なくとも有し、且つ、前記二進ワードに含まれる埋め込みビットに関係するファセットをオプションとして有するような１以上のデータタイプを定義し、
−  前記スキーマはデータアクセスパスにより構成される１以上の変数を定義すると共に、種々の構造又は可能性のあるコンテンツを記述するための１以上の条件付き分岐を変数又は前記変数の値の関数として有する、
ような特徴的フィーチャのうちの少なくとも１つを有することを特徴とする。
【００１０】
また、或るフォーマットに従う構造及びコンテンツを有するようなデータを含むビットストリームを構文的に解析して、前記ストリームのツリー状表現を発生する本発明による方法は、該方法が、
Ａ）スキーマを読み取るステップであって、該スキーマが前記フォーマットを包括的に記述するために、      
ａ）１以上のファセットを含むことができる１以上のデータタイプを定義し、特には、
−  前記フォーマットが所定の長さの又は複数の長さの二進ワードを使用する場合は、前記所定の長さの又は複数の長さの二進ワードに対応すると共に前記長さに関係する少なくとも１つのファセットを有するような１以上のデータタイプを定義し、ここで、前記所定の長さ又は複数の長さの二進ワードが１以上の埋め込みビットを含み得る場合は、前記データタイプは前記埋め込みビットに関係するファセットを有し、
−  前記フォーマットが或るインポートモードを使用して前記表現にインポートされるべきコンテンツを持つような不定長の二進セグメントを使用する場合は、前記二進セグメントに対応すると共に前記インポートモードに関係する少なくとも１つのファセットを有するようなデータタイプを定義し、ここで、前記二進セグメントが停止フラグにより定義される場合は、前記データタイプは前記停止フラグに関係する１つのファセットを有し、
ｂ）名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述するような複数のエレメントを有し、ここでエレメントの発生は必須であるか又は任意選択的であり、
ｃ）前記フォーマットが前記ビットストリームの前部に位置するデータが該ビットストリームの残部の構造又はコンテンツに関する情報を与えることを規定している場合は、
−  前記ツリー状表現における前記前部に位置する前記データへのアクセスパスにより構成される１つ又は種々の変数を定義し、且つ、
−  種々の可能性のある構造又はコンテンツを記述するための１以上の条件付き分岐を前記変数又は複数の変数の値の関数として有する、
ようなステップと、
Ｂ）前記ビットストリームにおいて前記スキーマに含まれる前記エレメントに対応するようなデータを検索するステップと、
Ｃ）前記ビットストリームにおいて見付かった前記データを含むと共に前記ツリー状表現を構成するような前記スキーマのインスタンスを発生するステップと、
を有することを特徴とする。
【００１１】
このように、本発明はスキーマにおいてフォーマットを包括的に記述することを可能にするようなツールを生成するステップを有する。そして、本発明は、前記フォーマットに従うビットストリームの構文を解析して、該ストリームを表すと共に当該スキーマのインスタンスであるような文書を発生するための斯様なスキーマの使用を含む。該スキーマは、上記フォーマットに従うビットストリームに含まれ得るような種々のデータタイプ、及びこれらのデータを最終的な文書に含める態様を指定する。該スキーマにおいて指定されるデータタイプ、及び最終文書へ含める規則は、考察されるフォーマットに依存する。
【００１２】
例示として、考察されるフォーマットがJPEG2000フォーマット（ＩＳＯ／ＩＥＣ ＦＣＤ規格15444-1）である場合、該スキーマは、
−  埋め込みビットを有することができる所定の長さの二進ワードに対応すると共に、前記長さに関係するファセット及び前記埋め込みビットに関係する１以上のファセットを有するような種々のデータタイプを定義し、
−  停止フラグにより定義されると共に或るインポートモードを使用して前記表現にインポートされるべきコンテンツを持つような不定長の二進セグメントに対応すると共に、インポートモードに関係するファセット及び前記停止フラグに関係するファセットを有するようなデータタイプを定義し、
−  前記ツリー状表現における、前記ビットストリームの前部に位置すると共に該ビットストリームの残部の構造又はコンテンツに関する情報を与えるようなデータへのアクセスパスにより構成される１以上の変数を定義し、且つ、
−  種々の可能な構造又はコンテンツを記述するための１以上の条件付き分岐を前記変数の値の関数として有する。
【００１３】
或るフォーマットに従うビットストリームを、該ビットストリームのツリー状表現であって特に或るインポートモードの使用によりインポートされたデータを含むような文書から発生する本発明による方法は、該方法が、
Ａ）前記文書を読み取るステップと、
Ｂ）並列してスキーマを読み取るステップであって、該スキーマが前記フォーマットを包括的に記述するために、
ａ）１以上のファセットを含むことができる１以上のデータタイプを定義し、特には、
−  前記インポートモードに関係するファセットを少なくとも有するような不定長の二進セグメントに対応するデータタイプを定義し、
−  前記フォーマットが所定の長さの又は複数の長さの二進ワードを使用する場合は、前記長さに関係するファセットを少なくとも有するような前記所定の長さの又は複数の長さの二進ワードに対応する１以上のデータタイプを定義し、ここで、前記二進ワードが１以上の埋め込みビットを含む場合は、前記埋め込みビットに関係するファセットを定義し、
ｂ）名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述するような複数のエレメントを有し、ここでエレメントの発生は必須であるか又は任意選択的であり、
ｃ）前記フォーマットが前記ビットストリームの前部に位置するデータが該ビットストリームの残部の構造又はコンテンツに関する情報を与えることを規定している場合は、
−  前記ツリー状表現における前記前部に位置する前記データへのアクセスパスにより構成される１以上の変数を定義し、且つ、
−  種々の可能性のある構造又はコンテンツを記述するための１以上の条件付き分岐を、前記文書に含まれるデータタイプを決定するための前記変数又は複数の変数の値の関数として有する、
ようなステップと、
Ｃ）前記データを前記の定義されたタイプの関数としてコーディングするステップと、
Ｄ）前記コーディングされたデータからビットストリームを構成するステップと、
を有することを特徴とする。
【００１４】
このように、本発明は、上述したような型式のスキーマの、ビットストリームを該ビットストリームを表し且つ上記スキーマのインスタンスであるような文書から発生するための使用をも含む。上記文書及びスキーマは並列に読み取られ、該文書に含まれるデータタイプを決定し、該データを当該フォーマットが規定するものに従ってコーディングし、該コーディングされたデータによりビットストリームを構成する。
【００１５】
【発明の実施の形態】
本発明の上述した及び他の態様は、以下に記載する実施例から明らかとなり、かつ、斯かる実施例を参照して非限定的例として解説されるであろう。
【００１６】
図１には、本発明による構文解析方法の基本動作モードを説明するブロック図が示されている。ブロックＢ１は、所定のフォーマットによるビットストリームを表している。また、ブロックＢ２は上記所定のフォーマットを包括的に記述するスキーマを表している。また、ブロックＢ３は構文解析器であり、該解析器はビットストリームＢ１の構文解析を実行して、該ビットストリームＢ１のツリー状表現及びスキーマＢ２のインスタンスであるような文書Ｂ４を発生するのを可能にする。
【００１７】
スキーマＢ２は上記ビットストリームの構文を記述する。該スキーマは、特に、当該ビットストリームにおいて発生し得るデータのタイプ及び斯かるデータが上記文書に含まれるべき態様を指定する。ツリー状表現Ｂ４は、ビットストリームＢ１の解析に応じて発生される。
【００１８】
図２には、本発明によるビットストリーム発生方法の動作原理を説明するブロック図が示されている。ブロックＢ'2は、コーディングフォーマットを包括的な態様で記述するスキーマを表している。ブロックＢ'4は、スキーマＢ'2のインスタンスであるような文書を表している。また、ブロックＢ'3は文書Ｂ'4とスキーマＢ'2とを並列に読み取って、ビットストリームＢ'1を発生するのを可能にするようなビットストリーム発生器を表している。有利には、同一のコーディングフォーマットに使用されるスキーマＢ２及びＢ'2は同一とする。
【００１９】
文書Ｂ'4はスキーマＢ'2と共に読み取られて、文書Ｂ'4に含まれるデータのタイプを判定する。文書Ｂ'4から読み取られた値に対して、スキーマＢ'2において見付けられた対応するデータタイプが、該値をコーディングするために使用されるべきコーディングモードを決定する。
【００２０】
上記スキーマには、一般的に、コーディングフォーマットの構造の完全な詳細については与える必要は確かにない。詳細の程度は、考えられるアプリケーションに依存する。本出願の導入部において既に引用されたフランス国特許出願第０１０１５３０号に記載されている使用に関しては（受信者のプロファイルに適合された特徴的フィーチャを有する例えばＪＰＥＧ２０００ファイル等のファイルを発生する方法）、ＪＰＥＧ２０００マーカの特定のセグメントをパラメータ毎に詳細に与えて、該パラメータを回復し及び該パラメータを修正するのを可能にしなければならない。マーカの他のセグメントはブロックとして処理される。何故なら、これらマーカが含むパラメータにアクセスする必要がないからである。
【００２１】
文書Ｂ４及びＢ'4は、有利には、ＸＭＬ文書であり、スキーマＢ２及びＢ'2はＸＭＬスキーマ言語から導出された新たな言語で書かれる。ＸＭＬはコンソーシアムＷ３Ｃ（２０００年１０月１６日付けの拡張性マークアップ言語１．０）の推奨案であり、ＸＭＬスキーマは２０００年１０月２４日付けの同Ｗ３Ｃコンソーシアムの推奨プロジェクトである。上記ＸＭＬ推奨案及びＸＭＬスキーマ推奨プロジェクトは、インターネットサイトhttp://www.w3.org/上で利用可能である。しかしながら、これは限定するものではなく、本記載の残りの部分で詳細に説明される本発明の原理は、例えばＡＴ&Ｔ及びデンマーク国のアーハス（Arhus）大学のＢＲＩＣＳにより提案され、インターネットサイトhttp://www.brics.dk/DSD/上で利用可能なタイプＤＳＤ（文書構造記述）の言語等の異なるタイプの言語を利用することにより使用することもできる。
【００２２】
物理的観点から見ると、ＸＭＬ文書は、特に、解析することができると共にテキスト、即ち所定の文字群に属する一連の文字を含み、且つ、タグ又はテキスト的データを表すようなエンティティ（entities：構成要素）を有する。
【００２３】
論理の観点から見ると、ＸＭＬ文書は、範囲が開始フラグ及び停止フラグにより印された１以上のエレメントを含んでいる。エレメントは他のエレメントに含まれることもできる（これが、重なり（imbrication）を形成する）。各エレメントは、当該エレメントの開始フラグ及び停止フラグに示される名称により識別される。エレメントは値を有することができる。エレメントの値は、該エレメントの開始フラグと停止フラグとの間に配置される。
【００２４】
以下に記載する例においては、データはＸＭＬ文書のエレメント内に直接配置されるように選定されて、構成を簡素化する（即ち、ＸＭＬ文書に含まれるデータがＸＭＬエレメントの値を構成する）。
【００２５】
ＸＭＬスキーマは、コンテンツ及びＸＭＬ文書構造を特定するのを可能にするようなスキーマ言語である。更に詳細には、ＸＭＬスキーマは、エレメントを記述すると共に、各エレメントに関して名称、データのタイプ、重なり、順序、及び発生の数を記述するのを可能にする。上記順序及び上記発生の数は、予め規定され又は規定されていないものとすることができる。エレメントの発生は、必須とするか又は任意選択的とすることができる。
【００２６】
スキーマは、ＸＭＬ文書のクラスを定義する。ＸＭＬスキーマのインスタンスは、上記スキーマに対して有効なＸＭＬ文書である。
【００２７】
本説明の以降においては、本発明の実施化の具体例を示すために、JPEG2000フォーマットのビットストリームが考察される。これは、限定するものではなく、本発明が他のフォーマットにも適用することができることは明らかである。特定のフォーマットに対しては、ここで説明するものに、他のデータのタイプを追加する必要があり得る。
【００２８】
付録Ａには、JPEG2000コーディングフォーマットを記述するスキーマが示されている。このスキーマは、包括的で付録Ｂに定義された単純なタイプのデータ、及び斯かる包括的タイプから導出された付録Ｃに定義される単純なタイプのデータを使用する。付録Ｄは、付録Ａに示すスキーマのインスタンスであって、JPEG2000ビットストリームを表すようなＸＭＬ文書の一例を示している。付録Ａ、Ｂ及びＣ並びに本説明の以降において、文字<<xsd>>はＸＭＬスキーマにおいて定義されるツールを識別する。また、文字<<bsd>>は本発明により追加されたツールを識別する。
【００２９】
本発明によれば、スキーマＢ２（該スキーマは、以下の説明においてはスキーマＢ'2と同一であると見なされる）はJPEG2000フォーマットに従うストリームに含まれ得る全てのデータのタイプを定義する。ＸＭＬスキーマ言語内に既に存在する特定のタイプのデータは直接使用することができる。他のものは修正されるべきであり、他のものは追加されねばならない。
【００３０】
更に詳細には、JPEG2000フォーマットに従うビットストリームは下記のタイプのデータを含んでいる：
１）コンテンツを下記に記載の第１又は第２インポートモードの使用によりＸＭＬ文書にインポートすることが可能な不定長の二進セグメント。
２）重要でない埋め込みビットを含み得るような、異なる長さの二進ワード。
３）JPEG2000規格では値が１６進コードで定義され、ＸＭＬ文書に１６進コードでインポートされるマーカ。この１６進コードでのインポートは、第３インポートモードを構成する。
【００３１】
第１インポートモードは、二進データをＸＭＬにより使用される所定群の文字に属する文字へ変換する処理を含む。この目的のため、有利には、<<base 64>>なる名前で知られ、ＩＥＴＦにより発行された文献RFC2045の段落6.8に記載されたコーディング方法が使用される。この方法は、二進データを分割すると共に、これらを６ビットの群に変換し、且つ、各６ビットの群に所定群の文字のうちの或る文字を関連させる処理を含む。この第１インポートモードはデータの３３％の拡大を生じる。
【００３２】
第２インポートモードにおいては、二進データを文字に変換して斯かる文字をＸＭＬ文書に直接挿入する代わりに、該二進データを含む二進ファイルの領域に対するポインタがＸＭＬ文書に導入される。この場合、該ＸＭＬ文書は上記二進ファイルに依存するようになる。
【００３３】
ＸＭＬスキーマ言語においては、データのタイプはトリプレット（三つ組み情報）として定義され、該トリプレットは：
−  値空間と呼ばれる一群の値、
−  語彙空間と呼ばれる一群の語彙表現、
−  一群のファセットであり、１つのファセットは上記値空間に課せられる制約に対応する。
【００３４】
本発明を実施するために、ビットストリームで書かれたデータのコーディングは、非曖昧で黙示的でなければならない。ＸＭＬスキーマに以前から存在しており、非曖昧で黙示的な特定のタイプのデータは直接使用される。これは、例えば<<xsd: unsignedShort>>データのタイプの場合に当てはまり、これは−３２７６８と＋３２７６７との間の整数を表し、かくして、黙示的に２バイトでコード化され得る。これは、<<xsd: unsignedInt>>及び<<xsd: unsignedByte>>の場合にも当てはまる。
【００３５】
本発明によれば、<<xsd: binary>>なるデータタイプも修正することにより使用される。即ち：
１）<<bsd: stopFlagExclusive>>なる名称の停止フラグに関連して、ファセットが当該データタイプに追加される。このファセットは、不定長の二進セグメントの終了を示すために使用される。例えば、不定長の二進セグメントであるJPEG2000パケットは、マーカＳＯＰ（パケットの開始）、又はマーカＳＯＴ（タイルの開始）、又はマーカＥＯＣ（コードストリームの終了）の何れかにより定義される。このように、JPEG2000パケットに関しては、このファセットは３つの値FF51(SOP)、FF90(SOT)又はFFD9(EOC)のうちの１つを有する。
２）ＸＭＬスキーマ言語内に既に存在する<<encoding>>ファセットに対して、１６進コードに関しては値<<hex>>で、ベース６４変換後のインポートに関しては<<base 64>>で、新たな可能性のある値が追加される。該新たな追加された値は<<externalData>>と呼ばれる。該値は、当該データがＸＭＬ文書に上述した第２インポートモード（当該データを含むビットストリーム領域を指すポインタのＸＭＬ文書への導入）の使用によりインポートされたことを示すために使用される。
【００３６】
この修正されたデータタイプは<<binaryNoLength>>と称され、付録Ｃにおいて次のように定義されている：
【数１】
2004519771.tif 000001
【００３７】
包括的なタイプである上記の修正されたデータタイプは、ＸＭＬビットストリーム内で見付けることができるような他のタイプの特定のデータを導出するために使用される。例えば、付録Ｂに示すように、JPEG2000パケットに対応するタイプ<<PacketDataTYpe>>は包括タイプ<<binaryNoLength>>から導出される。この例においては、これらのパケットに含まれるデータがＸＭＬ文書に第２インポートモード（当該データを含むビットストリームの領域に対するポインタ）の使用によりインポートされることが分かる。また、JPEG2000パケットが次の３つの値、即ちFF51、FFD9又はFF90、のうちの１つを有するマーカにより定義されることも分かる。
【数２】
2004519771.tif 000002
付録Ａを参照すると、他のエレメントは、<<binaryNoLength>>から導出されるタイプ、例えば複雑ＣＯＣタイプのエレメントにおける<<Data>>なる名称のエレメントを有することが分かる。このエレメント<<Data>>は、値が<<base 64>>であるようなファセット<<encoding>>を有し、これは、対応するデータがビットストリームからＸＭＬ文書にベース６４変換を使用することによりインポートされることを意味する。
【数３】
2004519771.tif 000003
【００３８】
また、本発明は所定長の二進ワードに使用されることを意図する新たなタイプのデータの追加も含んでいる。この新たなタイプのデータは<<bsd: bitsArray>>とタイトルが付され、３つのファセットを含む。即ち、１つのファセットは当該二進ワードの長さに関する<<bitsLength>>なる名称であり、１つのファセットは重要なビット（又は複数のビット）の前に配置される埋め込みビットの数に関する<<prePadding>>なる名称であり、１つのファセットは重要なビット（又は複数のビット）の後に配置される埋め込みビットの数に関する<<postPadding>>なる名称である。この新たなタイプのデータは付録Ｃにおいて下記のように定義されている：
【数４】
2004519771.tif 000004
【００３９】
付録Ｂに示されるように、包括タイプのデータである該新たなタイプのデータは、JPEG2000ストリームにおいて見付けられ得る特定のタイプのデータを導出するために使用される。例えば、包括タイプのデータ<<bitsArray>>から導出される<<11b>>なる名称のデータタイプは、埋め込みビットを含まない１１ビットの二進ワードに相当する：
【数５】
2004519771.tif 000005
【００４０】
また、これも包括タイプのデータ<<bitsArray>>から導出される<<5b3p>>なる名称のデータタイプは、３つの埋め込みビットが後続する２つの重要なビットを有するような５ビットの二進ワードに相当する。
【数６】
2004519771.tif 000006
付録Ａを参照すると、<<11b>>なるデータタイプが、例えば<<mantissa>>なる名称のエレメントに関して使用され：
<xsd:element name="mantissa" type="jp2:11b"/>
また、<<5b3p>>なるデータタイプが、例えば<<exponent>>なる名称のエレメントに関して使用されていることが分かる：
<xsd:element name="exponent" type="jp2:5b3p"/>
構造の視点から見ると、本発明はＸＭＬスキーマに既に存在する下記のツールを使用している：
−  単純及び複雑なタイプのデータ<<xsd: simple Type>>及び<<xsd: complex Type>>、
−  エレメント<<xsd: element>>、
−  グループモデル<<xsd: group>>、
−  コネクタ<<xsd: sequence>>, <<xsd: all>> 及び、多分<<xsd: choice>>。
【００４１】
構文解析器Ｂ３はビットストリームＢ１をスキーマＢ２と共に読み取り、ビットストリームＢ１のツリー状表現Ｂ４を発生する。このツリー状表現Ｂ４は、スキーマＢ２のインスタンスである。該表現は、上記スキーマで発見されるコネクタを解釈することにより反復的に発生される。
【００４２】
更に詳細には、コネクタ<<xsd: sequence>>は上記構文解析器により次のように解釈される。即ち、当該構文解析器がコネクタ<<xsd: sequence>>を見付けた場合、該解析器は当該ビットストリーム内のエレメントを当該スキーマにおけるのと同じ順序で読み取る。例えば、コネクタ<<xsd: sequence>>は付録Ａに定義された<<CodestreamType>>なるタイプのエレメントに使用されている。
【数７】
2004519771.tif 000007
この定義によれば、エレメント<<Codestream>>はエレメント<<MainHeader>>を有し、これにエレメント<<Tile>>が後続し、更にエレメント<<EOC>>が後続しなければならない。
【００４３】
コネクタ<<xsd: all>>は当該構文解析器により次のような形で解釈される。即ち、該構文解析器がコネクタ<<xsd: all>>を見付けると、該解析器は該コネクタ<<xsd: all>>における最初の宣言されたエレメントを読み取るよう試みることにより開始し、もし失敗した場合は、２番目のエレメントを読み取るよう試みる、等々のようにする。該解析器は、検索したエレメントを見付けると、当該コネクタ<<xsd: all>>における次のエレメントに進む。該解析器は、当該コネクタ<<xsd: all>>の全てのエレメントが処理された場合にのみ、次のコネクタに進む。
【００４４】
ビットストリームにおいて見付かったエレメントは、スキーマが該エレメントに対して又は該エレメントが含むサブエレメントの１つに対して固定値を定義する場合、及び該値が当該ビットストリームにおいて見付かるものと対応しない場合は、捜されたエレメントとは対応しない。例えば、当該構文解析器がエレメント<<SIZ>>を実施しようと試みる場合、当該ビットストリームから読み取られたエレメントは、該エレメントがJPEG2000規格においてマーカ<<SIZ>>に割り当てられた値である<<FF51>>で開始しない場合は、捜されたエレメントではない。
【００４５】
コネクタ<<xsd: all>>は、例えば付録Ａに定義される<<MainHeader Type>>なるタイプのエレメントに使用されている。
【数８】
2004519771.tif 000008
この定義によれば、エレメント<<MainHeader>>は、エレメント<<SOC>>、これに続くエレメント<<SIZ>>、これに続くグループであって、規定されていない順序で
【数９】
2004519771.tif 000009
の１以上を含む又は何れも含まないようなグループを有しなければならない。
【００４６】
付録Ａには何の例も示されていないが、コネクタ<<xsd: choice>>も使用することができる。当該構文解析器がコネクタ<<xsd: choice>>を見付けると、該解析器は当該ビットストリームにおいて該コネクタ<<xsd: choice>>で宣言された最初のエレメントを読み取る試行を開始する。該構文解析器が捜したエレメントを見付けると、該解析器は当該スキーマにおける次のコネクタに進む。読み取られたエレメントが捜したエレメントでない場合は、該構文解析器は同じコネクタ<<xsd: choice>>内の続くエレメントに進む。
【００４７】
更に、本発明は当該スキーマに変数の使用を導入する。変数の概念は、ＸＳＬＴ言語（ＸＭＬ拡張性スタイルシート言語変換）において使用される。ＸＳＬＴはＷ３Ｃコンソーシアムにより指定された言語で、ＸＭＬ文書に適用することが可能な変換を定義することを可能にする。具体的に言うと、変数は１つの値にリンクされた文字列である。変数は文書における或る位置に現れ得、他の場所で使用され得る。ＸＳＬＴに定義された構文によれば、文字列により識別される変数の値は、該文字列の前に＄記号を配置することによりアクセスされる（言い換えると、＄ＺＺＺは文字列ＺＺＺにより識別される変数の値である）。変数の値は、該変数の定義において示される。本発明は、変数の値を、Ｘpath言語（ＸＭＬパス言語）で定義された構文を使用することによりＸＭＬツリーにおけるパス（経路）の形で定義することを可能にする。また、ＸpathはＷ３Ｃコンソーシアムにより指定された言語でもある。ＸＳＬＴ及びＸpathの仕様は、インターネットサイトhttp://www.w3.org上で利用可能である。
【００４８】
変数の使用は、例えば、一定値により定義する代わりにパラメータによりエレメントの数を定義することを可能にする。パラメータの値が当該ビットストリームの前部で与えられ、該ビットストリームの残部の構造又はコンテンツを通知する場合、該変数の値はＸpath構文の使用により定義される。
【００４９】
例えば、JPEG2000フォーマットにおいては、マーカセグメントSIZに含まれる成分の数<<comp-siz>>は、該マーカセグメントSIZの前部に配置されるパラメータ<<Csiz>>で定義される。付録Ａにおいて、エレメント<<Csiz>>は変数として定義されている。該変数の値は構築中のツリー状表現におけるパスにより定義される。即ち、これに関して言うと、表現<<SIZ/Csiz>>は<<Csiz>>がエレメント<<SIZ>>の子エレメントであることを示す。次いで、<<SIZ>>なる複雑タイプの定義の間において、この変数<<Csiz>>が呼び出されてエレメント<<comp-siz>>の発生の数を決定する。
【数１０】
2004519771.tif 000010
また、本発明は、新たなグループモデル<<bsd: conditionalChoice>>、並びに２つの新たなコネクタ<<xsl: if>>及び<<xsl: choose>>の追加を含んでいる。これは、当該スキーマに条件付き分岐を導入し、これにより、記述しようとするフォーマットに存在し得る条件付き選択を表現することを可能にする。上記コネクタ<<xsl: if>>及び<<xsl: choose>>がＸＳＬＴ言語で定義されていることに気付くであろう。ＸＳＬＴ言語の仕様によれば、コネクタ<<xsl: if>>及び<<xsl: choose>>は属性<<test>>を使用し、該属性はテストの結果の関数の選択を定義することを可能にする。コネクタ<<xsl: if>>は、選択をブール変数の値の関数として定義することを可能にする。コネクタ<<xsl: choose>>は、複数の代替案からの選択を定義することを可能にする。
【００５０】
例示として、JPEG2000フォーマットは、特定のエレメントの存在又はデータのタイプが当該ビットストリームの前部で与えられるパラメータの値に依存することを規定している。
【００５１】
このことは、特に、<<COD>>エレメントに含まれるエレメント<<SPcod>>の場合に当てはまる。エレメント<<SPcod>>は、変数<<PredinctsUsed>>が１なる値を有する場合にのみエレメント<<PredinctSize>>を含む。この制約は、コネクタ<<xsl: if>>が使用されるスキーマにおいて表現される。
【数１１】
2004519771.tif 000011
エレメント<<QCD>>においては、グループ<<bsd: conditionalChoice>>の一例が見付けられ、該グループは後続すべきエレメント（Spqcd_1>>, Spqcd_2又はSpqcd_3）のタイプがパラメータ<<quantStyle>>の値に依存することを示すためにコネクタ<<xsl:choose>>を使用するが、該パラメータの現在処理されているツリー状表現における位置はパス<<QCD/Sqcd/QuantStyle>>により与えられる。
【数１２】
2004519771.tif 000012
当該構文解析器がビットストリームを読み取ると、該解析器はＸＭＬツリーを漸進的に発生する。該解析器は、当該スキーマにおいて、例えばコネクタ<<if>>の属性<<test>>において、変数に出会うと、この変数を示されたパスを適用することにより評価する。
【００５２】
該ＸＭＬ言語が自身の拡張を定義することができることが分かるであろう。このように、本発明の第１実施例は、本発明により既存のＸＭＬスキーマ言語に対する拡張として提案された新たなツールの追加を含んでいる。本発明の他の実施例は、ＸＭＬスキーマのツールを採ると共に、これらツールに本発明により提案された新たなツールを追加するような新たな言語の総合的再定義を含んでいる。
【００５３】
図３には、本発明による伝送システムの一例が示されている。図３に示す伝送システムは、サーバＳＶと複数のクライアントＣＴとを有している。サーバＳＶ及びクライアントＣＴはインターネットＷＷＷにリンクされている。サーバＳＶはメモリＭＥＭと処理手段ＰＲＯＣとを有している。上記メモリ手段は、特に、スキーマＢ２と、第１ビットストリームＢ１と、本発明による構文解析方法を実施して第１ビットストリームＢ１を表すと共にスキーマＢ２のインスタンスであるような第１文書Ｂ４を得るためのコンピュータプログラムＰＧ１とを含んでいる。また、上記メモリ手段ＭＥＭは、有利には、第２ビットストリームＢ'1を該ビットストリームを表す文書Ｂ'4及びスキーマＢ２から発生する方法を実施するためのコンピュータプログラムＰＧ２も含む。
【００５４】
例示として、上記文書Ｂ'4は前記文書Ｂ４に変換を適用することにより得られ、該変換は以前にビットストリームの伝送を要求しているクライアントのプロファイルに依存する。
（付録）
【表１】
2004519771.tif 000013
【表２】
2004519771.tif 000014
【表３】
2004519771.tif 000015
【表４】
2004519771.tif 000016
【表５】
2004519771.tif 000017
【表６】
2004519771.tif 000018
【表７】
2004519771.tif 000019
【表８】
2004519771.tif 000020
【表９】
2004519771.tif 000021
【表１０】
2004519771.tif 000022
【表１１】
2004519771.tif 000023
【表１２】
2004519771.tif 000024
【表１３】
2004519771.tif 000025
【表１４】
2004519771.tif 000026
【表１５】
2004519771.tif 000027
【表１６】
2004519771.tif 000028
【図面の簡単な説明】
【図１】  図１は、本発明による構文解析方法の基本動作モードを要約したブロック図を示している。
【図２】  図２は、本発明によるビットストリーム発生方法の基本動作モードを要約したブロック図を示している。
【図３】  図３は、本発明による伝送システムの一例である。