JP4260481B2 - Schema, parsing method, and method for generating bitstream based on schema - Google Patents
Schema, parsing method, and method for generating bitstream based on schema Download PDFInfo
- Publication number
- JP4260481B2 JP4260481B2 JP2002568241A JP2002568241A JP4260481B2 JP 4260481 B2 JP4260481 B2 JP 4260481B2 JP 2002568241 A JP2002568241 A JP 2002568241A JP 2002568241 A JP2002568241 A JP 2002568241A JP 4260481 B2 JP4260481 B2 JP 4260481B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- schema
- bitstream
- format
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、或るフォーマットに準拠した構造及びコンテンツを持つようなデータを含むビットストリームを構文的に解析する方法であって、該ストリームのツリー状表現を発生することを意図するような方法に関する。また、本発明は或るフォーマットに従うビットストリームを、該ビットストリームのツリー状表現であると共に或るインポートモードを使用することにより特にインポートされたデータ等のデータを含むような文書から発生する方法にも関する。また、本発明は、1つ又は種々のファセットを有することができるような1つ又は種々のタイプのデータを定義すると共に、名称、データのタイプ、重なり( imbrication )、順序、及び予め規定された又は規定されていない数の発生を記述する複数のエレメントを有するようなスキーマであって、エレメントの発生が必須又は任意選択的であるようなスキーマにも関する。
【0002】
また、本発明は、上記のような方法を実施するためのコンピュータプログラム、上記のようなスキーマ及び斯様なコンピュータプログラムを記憶する記憶手段を含むような処理ユニット、並びに少なくとも発信元主体及び宛先主体を有するような伝送システムにも関し、上記発信元主体は上記のようなスキーマ及び1つ又は斯様なプログラムを記憶する記憶手段を有する。
【0003】
本発明は、コンテンツの編集、修正及び併合の分野に用途を有する。
【0004】
本発明の用途の一例は、宛先に送信されるべきコンテンツのユーザプロファイル(スクリーン、計算能力、記憶容量、及び伝送に使用されるリンク等)の関数としての適応化である。斯様な適応化は、特に、受信者が使用することができないようなデータの無駄な送信を防止し、これにより帯域を節約するのを可能にする。
【0005】
【従来の技術】
上記に関しては、本出願人(コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ)により2001年2月5日付けで出願されたフランス国特許出願第0101530号が、マークアップ言語で書かれると共に基本プログレッシブファイルを記述する基本文書から特定の特徴的フィーチャを持つファイルを発生する発生方法を既述しており、該方法は、上記基本文書に対して上記特徴的フィーチャの関数であるような所定の変換を適用することにより変換された文書を発生する変換ステップを有し、上記特徴的フィーチャを持つファイルは該変換された文書から発生される。この方法は、プログレッシブファイルの構造が明白であるような基本文書に対して所要の変換を実行することにある。該方法は、基本プログレッシブファイルを別途記録するために、該ファイルをデコードしなければならないということを防止することができる。
【0006】
しかしながら、このファイル発生方法は、基本プログレッシブファイルを記述する基本文書の発生、及び変換された文書からの次いでの他のファイルの発生を当然含んでいる。
【0007】
【発明が解決しようとする課題】
本発明の目的は、上記のような処理を実行する自動的且つ包括的方法を提案することにある。
【0008】
【課題を解決するための手段】
従って、本発明は、特に、コーディングフォーマットを包括的な態様で記述するのを可能にするような新たな型式のスキーマを提案する。
【0009】
本発明によるスキーマは、1つ又は種々のファセットを有することができるような1つ又は種々のタイプのデータを定義する。該スキーマは、名称、データのタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述するような複数のエレメントを有し、エレメントの発生は必須であるか又は任意選択的である。そして、該スキーマは、
− 前記スキーマは不定長の二進セグメントに対応すると共に、データインポートモードに関係するファセットを少なくとも有し、且つ、二進セグメントの停止フラグに関係するファセットをオプションとして有するようなデータタイプを定義し、
− 前記スキーマは所定の長さ又は複数の長さの二進ワードに対応すると共に、前記長さに関係するファセットを少なくとも有し、且つ、前記二進ワードに含まれる埋め込みビットに関係するファセットをオプションとして有するような1以上のデータタイプを定義し、
− 前記スキーマはデータアクセスパスにより構成される1以上の変数を定義すると共に、種々の構造又は可能性のあるコンテンツを記述するための1以上の条件付き分岐を変数又は前記変数の値の関数として有する、
ような特徴的フィーチャのうちの少なくとも1つを有することを特徴とする。
【0010】
また、或るフォーマットに従う構造及びコンテンツを有するようなデータを含むビットストリームを構文的に解析して、前記ストリームのツリー状表現を発生する本発明による方法は、該方法が、
A)スキーマを読み取るステップであって、該スキーマが前記フォーマットを包括的に記述するために、
a)1以上のファセットを含むことができる1以上のデータタイプを定義し、特には、
− 前記フォーマットが所定の長さの又は複数の長さの二進ワードを使用する場合は、前記所定の長さの又は複数の長さの二進ワードに対応すると共に前記長さに関係する少なくとも1つのファセットを有するような1以上のデータタイプを定義し、ここで、前記所定の長さ又は複数の長さの二進ワードが1以上の埋め込みビットを含み得る場合は、前記データタイプは前記埋め込みビットに関係するファセットを有し、
− 前記フォーマットが或るインポートモードを使用して前記表現にインポートされるべきコンテンツを持つような不定長の二進セグメントを使用する場合は、前記二進セグメントに対応すると共に前記インポートモードに関係する少なくとも1つのファセットを有するようなデータタイプを定義し、ここで、前記二進セグメントが停止フラグにより定義される場合は、前記データタイプは前記停止フラグに関係する1つのファセットを有し、
b)名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述するような複数のエレメントを有し、ここでエレメントの発生は必須であるか又は任意選択的であり、
c)前記フォーマットが前記ビットストリームの前部に位置するデータが該ビットストリームの残部の構造又はコンテンツに関する情報を与えることを規定している場合は、
− 前記ツリー状表現における前記前部に位置する前記データへのアクセスパスにより構成される1つ又は種々の変数を定義し、且つ、
− 種々の可能性のある構造又はコンテンツを記述するための1以上の条件付き分岐を前記変数又は複数の変数の値の関数として有する、
ようなステップと、
B)前記ビットストリームにおいて前記スキーマに含まれる前記エレメントに対応するようなデータを検索するステップと、
C)前記ビットストリームにおいて見付かった前記データを含むと共に前記ツリー状表現を構成するような前記スキーマのインスタンスを発生するステップと、
を有することを特徴とする。
【0011】
このように、本発明はスキーマにおいてフォーマットを包括的に記述することを可能にするようなツールを生成するステップを有する。そして、本発明は、前記フォーマットに従うビットストリームの構文を解析して、該ストリームを表すと共に当該スキーマのインスタンスであるような文書を発生するための斯様なスキーマの使用を含む。該スキーマは、上記フォーマットに従うビットストリームに含まれ得るような種々のデータタイプ、及びこれらのデータを最終的な文書に含める態様を指定する。該スキーマにおいて指定されるデータタイプ、及び最終文書へ含める規則は、考察されるフォーマットに依存する。
【0012】
例示として、考察されるフォーマットがJPEG2000フォーマット(ISO/IEC FCD規格15444-1)である場合、該スキーマは、
− 埋め込みビットを有することができる所定の長さの二進ワードに対応すると共に、前記長さに関係するファセット及び前記埋め込みビットに関係する1以上のファセットを有するような種々のデータタイプを定義し、
− 停止フラグにより定義されると共に或るインポートモードを使用して前記表現にインポートされるべきコンテンツを持つような不定長の二進セグメントに対応すると共に、インポートモードに関係するファセット及び前記停止フラグに関係するファセットを有するようなデータタイプを定義し、
− 前記ツリー状表現における、前記ビットストリームの前部に位置すると共に該ビットストリームの残部の構造又はコンテンツに関する情報を与えるようなデータへのアクセスパスにより構成される1以上の変数を定義し、且つ、
− 種々の可能な構造又はコンテンツを記述するための1以上の条件付き分岐を前記変数の値の関数として有する。
【0013】
或るフォーマットに従うビットストリームを、該ビットストリームのツリー状表現であって特に或るインポートモードの使用によりインポートされたデータを含むような文書から発生する本発明による方法は、該方法が、
A)前記文書を読み取るステップと、
B)並列してスキーマを読み取るステップであって、該スキーマが前記フォーマットを包括的に記述するために、
a)1以上のファセットを含むことができる1以上のデータタイプを定義し、特には、
− 前記インポートモードに関係するファセットを少なくとも有するような不定長の二進セグメントに対応するデータタイプを定義し、
− 前記フォーマットが所定の長さの又は複数の長さの二進ワードを使用する場合は、前記長さに関係するファセットを少なくとも有するような前記所定の長さの又は複数の長さの二進ワードに対応する1以上のデータタイプを定義し、ここで、前記二進ワードが1以上の埋め込みビットを含む場合は、前記埋め込みビットに関係するファセットを定義し、
b)名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述するような複数のエレメントを有し、ここでエレメントの発生は必須であるか又は任意選択的であり、
c)前記フォーマットが前記ビットストリームの前部に位置するデータが該ビットストリームの残部の構造又はコンテンツに関する情報を与えることを規定している場合は、
− 前記ツリー状表現における前記前部に位置する前記データへのアクセスパスにより構成される1以上の変数を定義し、且つ、
− 種々の可能性のある構造又はコンテンツを記述するための1以上の条件付き分岐を、前記文書に含まれるデータタイプを決定するための前記変数又は複数の変数の値の関数として有する、
ようなステップと、
C)前記データを前記の定義されたタイプの関数としてコーディングするステップと、
D)前記コーディングされたデータからビットストリームを構成するステップと、
を有することを特徴とする。
【0014】
このように、本発明は、上述したような型式のスキーマの、ビットストリームを該ビットストリームを表し且つ上記スキーマのインスタンスであるような文書から発生するための使用をも含む。上記文書及びスキーマは並列に読み取られ、該文書に含まれるデータタイプを決定し、該データを当該フォーマットが規定するものに従ってコーディングし、該コーディングされたデータによりビットストリームを構成する。
【0015】
【発明の実施の形態】
本発明の上述した及び他の態様は、以下に記載する実施例から明らかとなり、かつ、斯かる実施例を参照して非限定的例として解説されるであろう。
【0016】
図1には、本発明による構文解析方法の基本動作モードを説明するブロック図が示されている。ブロックB1は、所定のフォーマットによるビットストリームを表している。また、ブロックB2は上記所定のフォーマットを包括的に記述するスキーマを表している。また、ブロックB3は構文解析器であり、該解析器はビットストリームB1の構文解析を実行して、該ビットストリームB1のツリー状表現及びスキーマB2のインスタンスであるような文書B4を発生するのを可能にする。
【0017】
スキーマB2は上記ビットストリームの構文を記述する。該スキーマは、特に、当該ビットストリームにおいて発生し得るデータのタイプ及び斯かるデータが上記文書に含まれるべき態様を指定する。ツリー状表現B4は、ビットストリームB1の解析に応じて発生される。
【0018】
図2には、本発明によるビットストリーム発生方法の動作原理を説明するブロック図が示されている。ブロックB'2は、コーディングフォーマットを包括的な態様で記述するスキーマを表している。ブロックB'4は、スキーマB'2のインスタンスであるような文書を表している。また、ブロックB'3は文書B'4とスキーマB'2とを並列に読み取って、ビットストリームB'1を発生するのを可能にするようなビットストリーム発生器を表している。有利には、同一のコーディングフォーマットに使用されるスキーマB2及びB'2は同一とする。
【0019】
文書B'4はスキーマB'2と共に読み取られて、文書B'4に含まれるデータのタイプを判定する。文書B'4から読み取られた値に対して、スキーマB'2において見付けられた対応するデータタイプが、該値をコーディングするために使用されるべきコーディングモードを決定する。
【0020】
上記スキーマには、一般的に、コーディングフォーマットの構造の完全な詳細については与える必要は確かにない。詳細の程度は、考えられるアプリケーションに依存する。本出願の導入部において既に引用されたフランス国特許出願第0101530号に記載されている使用に関しては(受信者のプロファイルに適合された特徴的フィーチャを有する例えばJPEG2000ファイル等のファイルを発生する方法)、JPEG2000マーカの特定のセグメントをパラメータ毎に詳細に与えて、該パラメータを回復し及び該パラメータを修正するのを可能にしなければならない。マーカの他のセグメントはブロックとして処理される。何故なら、これらマーカが含むパラメータにアクセスする必要がないからである。
【0021】
文書B4及びB'4は、有利には、XML文書であり、スキーマB2及びB'2はXMLスキーマ言語から導出された新たな言語で書かれる。XMLはコンソーシアムW3C(2000年10月16日付けの拡張性マークアップ言語1.0)の推奨案であり、XMLスキーマは2000年10月24日付けの同W3Cコンソーシアムの推奨プロジェクトである。上記XML推奨案及びXMLスキーマ推奨プロジェクトは、インターネットサイトhttp://www.w3.org/上で利用可能である。しかしながら、これは限定するものではなく、本記載の残りの部分で詳細に説明される本発明の原理は、例えばAT&T及びデンマーク国のアーハス(Arhus)大学のBRICSにより提案され、インターネットサイトhttp://www.brics.dk/DSD/上で利用可能なタイプDSD(文書構造記述)の言語等の異なるタイプの言語を利用することにより使用することもできる。
【0022】
物理的観点から見ると、XML文書は、特に、解析することができると共にテキスト、即ち所定の文字群に属する一連の文字を含み、且つ、タグ又はテキスト的データを表すようなエンティティ(entities:構成要素)を有する。
【0023】
論理の観点から見ると、XML文書は、範囲が開始フラグ及び停止フラグにより印された1以上のエレメントを含んでいる。エレメントは他のエレメントに含まれることもできる(これが、重なり( imbrication )を形成する)。各エレメントは、当該エレメントの開始フラグ及び停止フラグに示される名称により識別される。エレメントは値を有することができる。エレメントの値は、該エレメントの開始フラグと停止フラグとの間に配置される。
【0024】
以下に記載する例においては、データはXML文書のエレメント内に直接配置されるように選定されて、構成を簡素化する(即ち、XML文書に含まれるデータがXMLエレメントの値を構成する)。
【0025】
XMLスキーマは、コンテンツ及びXML文書構造を特定するのを可能にするようなスキーマ言語である。更に詳細には、XMLスキーマは、エレメントを記述すると共に、各エレメントに関して名称、データのタイプ、重なり、順序、及び発生の数を記述するのを可能にする。上記順序及び上記発生の数は、予め規定され又は規定されていないものとすることができる。エレメントの発生は、必須とするか又は任意選択的とすることができる。
【0026】
スキーマは、XML文書のクラスを定義する。XMLスキーマのインスタンスは、上記スキーマに対して有効なXML文書である。
【0027】
本説明の以降においては、本発明の実施化の具体例を示すために、JPEG2000フォーマットのビットストリームが考察される。これは、限定するものではなく、本発明が他のフォーマットにも適用することができることは明らかである。特定のフォーマットに対しては、ここで説明するものに、他のデータのタイプを追加する必要があり得る。
【0028】
付録Aには、JPEG2000コーディングフォーマットを記述するスキーマが示されている。このスキーマは、包括的で付録Bに定義された単純なタイプのデータ、及び斯かる包括的タイプから導出された付録Cに定義される単純なタイプのデータを使用する。付録Dは、付録Aに示すスキーマのインスタンスであって、JPEG2000ビットストリームを表すようなXML文書の一例を示している。付録A、B及びC並びに本説明の以降において、文字<<xsd>>はXMLスキーマにおいて定義されるツールを識別する。また、文字<<bsd>>は本発明により追加されたツールを識別する。
【0029】
本発明によれば、スキーマB2(該スキーマは、以下の説明においてはスキーマB'2と同一であると見なされる)はJPEG2000フォーマットに従うストリームに含まれ得る全てのデータのタイプを定義する。XMLスキーマ言語内に既に存在する特定のタイプのデータは直接使用することができる。他のものは修正されるべきであり、他のものは追加されねばならない。
【0030】
更に詳細には、JPEG2000フォーマットに従うビットストリームは下記のタイプのデータを含んでいる:
1)コンテンツを下記に記載の第1又は第2インポートモードの使用によりXML文書にインポートすることが可能な不定長の二進セグメント。
2)重要でない埋め込みビットを含み得るような、異なる長さの二進ワード。
3)JPEG2000規格では値が16進コードで定義され、XML文書に16進コードでインポートされるマーカ。この16進コードでのインポートは、第3インポートモードを構成する。
【0031】
第1インポートモードは、二進データをXMLにより使用される所定群の文字に属する文字へ変換する処理を含む。この目的のため、有利には、<<base 64>>なる名前で知られ、IETFにより発行された文献RFC2045の段落6.8に記載されたコーディング方法が使用される。この方法は、二進データを分割すると共に、これらを6ビットの群に変換し、且つ、各6ビットの群に所定群の文字のうちの或る文字を関連させる処理を含む。この第1インポートモードはデータの33%の拡大を生じる。
【0032】
第2インポートモードにおいては、二進データを文字に変換して斯かる文字をXML文書に直接挿入する代わりに、該二進データを含む二進ファイルの領域に対するポインタがXML文書に導入される。この場合、該XML文書は上記二進ファイルに依存するようになる。
【0033】
XMLスキーマ言語においては、データのタイプはトリプレット(三つ組み情報)として定義され、該トリプレットは:
− 値空間と呼ばれる一群の値、
− 語彙空間と呼ばれる一群の語彙表現、
− 一群のファセットであり、1つのファセットは上記値空間に課せられる制約に対応する。
【0034】
本発明を実施するために、ビットストリームで書かれたデータのコーディングは、非曖昧で黙示的でなければならない。XMLスキーマに以前から存在しており、非曖昧で黙示的な特定のタイプのデータは直接使用される。これは、例えば<<xsd: unsignedShort>>データのタイプの場合に当てはまり、これは−32768と+32767との間の整数を表し、かくして、黙示的に2バイトでコード化され得る。これは、<<xsd: unsignedInt>>及び<<xsd: unsignedByte>>の場合にも当てはまる。
【0035】
本発明によれば、<<xsd: binary>>なるデータタイプも修正することにより使用される。即ち:
1)<<bsd: stopFlagExclusive>>なる名称の停止フラグに関連して、ファセットが当該データタイプに追加される。このファセットは、不定長の二進セグメントの終了を示すために使用される。例えば、不定長の二進セグメントであるJPEG2000パケットは、マーカSOP(パケットの開始)、又はマーカSOT(タイルの開始)、又はマーカEOC(コードストリームの終了)の何れかにより定義される。このように、JPEG2000パケットに関しては、このファセットは3つの値FF51(SOP)、FF90(SOT)又はFFD9(EOC)のうちの1つを有する。
2)XMLスキーマ言語内に既に存在する<<encoding>>ファセットに対して、16進コードに関しては値<<hex>>で、ベース64変換後のインポートに関しては<<base 64>>で、新たな可能性のある値が追加される。該新たな追加された値は<<externalData>>と呼ばれる。該値は、当該データがXML文書に上述した第2インポートモード(当該データを含むビットストリーム領域を指すポインタのXML文書への導入)の使用によりインポートされたことを示すために使用される。
【0036】
この修正されたデータタイプは<<binaryNoLength>>と称され、付録Cにおいて次のように定義されている:
【数1】
【0037】
包括的なタイプである上記の修正されたデータタイプは、XMLビットストリーム内で見付けることができるような他のタイプの特定のデータを導出するために使用される。例えば、付録Bに示すように、JPEG2000パケットに対応するタイプ<<PacketDataTYpe>>は包括タイプ<<binaryNoLength>>から導出される。この例においては、これらのパケットに含まれるデータがXML文書に第2インポートモード(当該データを含むビットストリームの領域に対するポインタ)の使用によりインポートされることが分かる。また、JPEG2000パケットが次の3つの値、即ちFF51、FFD9又はFF90、のうちの1つを有するマーカにより定義されることも分かる。
【数2】
付録Aを参照すると、他のエレメントは、<<binaryNoLength>>から導出されるタイプ、例えば複雑COCタイプのエレメントにおける<<Data>>なる名称のエレメントを有することが分かる。このエレメント<<Data>>は、値が<<base 64>>であるようなファセット<<encoding>>を有し、これは、対応するデータがビットストリームからXML文書にベース64変換を使用することによりインポートされることを意味する。
【数3】
【0038】
また、本発明は所定長の二進ワードに使用されることを意図する新たなタイプのデータの追加も含んでいる。この新たなタイプのデータは<<bsd: bitsArray>>とタイトルが付され、3つのファセットを含む。即ち、1つのファセットは当該二進ワードの長さに関する<<bitsLength>>なる名称であり、1つのファセットは重要なビット(又は複数のビット)の前に配置される埋め込みビットの数に関する<<prePadding>>なる名称であり、1つのファセットは重要なビット(又は複数のビット)の後に配置される埋め込みビットの数に関する<<postPadding>>なる名称である。この新たなタイプのデータは付録Cにおいて下記のように定義されている:
【数4】
【0039】
付録Bに示されるように、包括タイプのデータである該新たなタイプのデータは、JPEG2000ストリームにおいて見付けられ得る特定のタイプのデータを導出するために使用される。例えば、包括タイプのデータ<<bitsArray>>から導出される<<11b>>なる名称のデータタイプは、埋め込みビットを含まない11ビットの二進ワードに相当する:
【数5】
【0040】
また、これも包括タイプのデータ<<bitsArray>>から導出される<<5b3p>>なる名称のデータタイプは、3つの埋め込みビットが後続する2つの重要なビットを有するような5ビットの二進ワードに相当する。
【数6】
付録Aを参照すると、<<11b>>なるデータタイプが、例えば<<mantissa>>なる名称のエレメントに関して使用され:
<xsd:element name="mantissa" type="jp2:11b"/>
また、<<5b3p>>なるデータタイプが、例えば<<exponent>>なる名称のエレメントに関して使用されていることが分かる:
<xsd:element name="exponent" type="jp2:5b3p"/>
構造の視点から見ると、本発明はXMLスキーマに既に存在する下記のツールを使用している:
− 単純及び複雑なタイプのデータ<<xsd: simple Type>>及び<<xsd: complex Type>>、
− エレメント<<xsd: element>>、
− グループモデル<<xsd: group>>、
− コネクタ<<xsd: sequence>>, <<xsd: all>> 及び、多分<<xsd: choice>>。
【0041】
構文解析器B3はビットストリームB1をスキーマB2と共に読み取り、ビットストリームB1のツリー状表現B4を発生する。このツリー状表現B4は、スキーマB2のインスタンスである。該表現は、上記スキーマで発見されるコネクタを解釈することにより反復的に発生される。
【0042】
更に詳細には、コネクタ<<xsd: sequence>>は上記構文解析器により次のように解釈される。即ち、当該構文解析器がコネクタ<<xsd: sequence>>を見付けた場合、該解析器は当該ビットストリーム内のエレメントを当該スキーマにおけるのと同じ順序で読み取る。例えば、コネクタ<<xsd: sequence>>は付録Aに定義された<<CodestreamType>>なるタイプのエレメントに使用されている。
【数7】
この定義によれば、エレメント<<Codestream>>はエレメント<<MainHeader>>を有し、これにエレメント<<Tile>>が後続し、更にエレメント<<EOC>>が後続しなければならない。
【0043】
コネクタ<<xsd: all>>は当該構文解析器により次のような形で解釈される。即ち、該構文解析器がコネクタ<<xsd: all>>を見付けると、該解析器は該コネクタ<<xsd: all>>における最初の宣言されたエレメントを読み取るよう試みることにより開始し、もし失敗した場合は、2番目のエレメントを読み取るよう試みる、等々のようにする。該解析器は、検索したエレメントを見付けると、当該コネクタ<<xsd: all>>における次のエレメントに進む。該解析器は、当該コネクタ<<xsd: all>>の全てのエレメントが処理された場合にのみ、次のコネクタに進む。
【0044】
ビットストリームにおいて見付かったエレメントは、スキーマが該エレメントに対して又は該エレメントが含むサブエレメントの1つに対して固定値を定義する場合、及び該値が当該ビットストリームにおいて見付かるものと対応しない場合は、捜されたエレメントとは対応しない。例えば、当該構文解析器がエレメント<<SIZ>>を実施しようと試みる場合、当該ビットストリームから読み取られたエレメントは、該エレメントがJPEG2000規格においてマーカ<<SIZ>>に割り当てられた値である<<FF51>>で開始しない場合は、捜されたエレメントではない。
【0045】
コネクタ<<xsd: all>>は、例えば付録Aに定義される<<MainHeader Type>>なるタイプのエレメントに使用されている。
【数8】
この定義によれば、エレメント<<MainHeader>>は、エレメント<<SOC>>、これに続くエレメント<<SIZ>>、これに続くグループであって、規定されていない順序で
【数9】
の1以上を含む又は何れも含まないようなグループを有しなければならない。
【0046】
付録Aには何の例も示されていないが、コネクタ<<xsd: choice>>も使用することができる。当該構文解析器がコネクタ<<xsd: choice>>を見付けると、該解析器は当該ビットストリームにおいて該コネクタ<<xsd: choice>>で宣言された最初のエレメントを読み取る試行を開始する。該構文解析器が捜したエレメントを見付けると、該解析器は当該スキーマにおける次のコネクタに進む。読み取られたエレメントが捜したエレメントでない場合は、該構文解析器は同じコネクタ<<xsd: choice>>内の続くエレメントに進む。
【0047】
更に、本発明は当該スキーマに変数の使用を導入する。変数の概念は、XSLT言語(XML拡張性スタイルシート言語変換)において使用される。XSLTはW3Cコンソーシアムにより指定された言語で、XML文書に適用することが可能な変換を定義することを可能にする。具体的に言うと、変数は1つの値にリンクされた文字列である。変数は文書における或る位置に現れ得、他の場所で使用され得る。XSLTに定義された構文によれば、文字列により識別される変数の値は、該文字列の前に$記号を配置することによりアクセスされる(言い換えると、$ZZZは文字列ZZZにより識別される変数の値である)。変数の値は、該変数の定義において示される。本発明は、変数の値を、Xpath言語(XMLパス言語)で定義された構文を使用することによりXMLツリーにおけるパス(経路)の形で定義することを可能にする。また、XpathはW3Cコンソーシアムにより指定された言語でもある。XSLT及びXpathの仕様は、インターネットサイトhttp://www.w3.org上で利用可能である。
【0048】
変数の使用は、例えば、一定値により定義する代わりにパラメータによりエレメントの数を定義することを可能にする。パラメータの値が当該ビットストリームの前部で与えられ、該ビットストリームの残部の構造又はコンテンツを通知する場合、該変数の値はXpath構文の使用により定義される。
【0049】
例えば、JPEG2000フォーマットにおいては、マーカセグメントSIZに含まれる成分の数<<comp-siz>>は、該マーカセグメントSIZの前部に配置されるパラメータ<<Csiz>>で定義される。付録Aにおいて、エレメント<<Csiz>>は変数として定義されている。該変数の値は構築中のツリー状表現におけるパスにより定義される。即ち、これに関して言うと、表現<<SIZ/Csiz>>は<<Csiz>>がエレメント<<SIZ>>の子エレメントであることを示す。次いで、<<SIZ>>なる複雑タイプの定義の間において、この変数<<Csiz>>が呼び出されてエレメント<<comp-siz>>の発生の数を決定する。
【数10】
また、本発明は、新たなグループモデル<<bsd: conditionalChoice>>、並びに2つの新たなコネクタ<<xsl: if>>及び<<xsl: choose>>の追加を含んでいる。これは、当該スキーマに条件付き分岐を導入し、これにより、記述しようとするフォーマットに存在し得る条件付き選択を表現することを可能にする。上記コネクタ<<xsl: if>>及び<<xsl: choose>>がXSLT言語で定義されていることに気付くであろう。XSLT言語の仕様によれば、コネクタ<<xsl: if>>及び<<xsl: choose>>は属性<<test>>を使用し、該属性はテストの結果の関数の選択を定義することを可能にする。コネクタ<<xsl: if>>は、選択をブール変数の値の関数として定義することを可能にする。コネクタ<<xsl: choose>>は、複数の代替案からの選択を定義することを可能にする。
【0050】
例示として、JPEG2000フォーマットは、特定のエレメントの存在又はデータのタイプが当該ビットストリームの前部で与えられるパラメータの値に依存することを規定している。
【0051】
このことは、特に、<<COD>>エレメントに含まれるエレメント<<SPcod>>の場合に当てはまる。エレメント<<SPcod>>は、変数<<PredinctsUsed>>が1なる値を有する場合にのみエレメント<<PredinctSize>>を含む。この制約は、コネクタ<<xsl: if>>が使用されるスキーマにおいて表現される。
【数11】
エレメント<<QCD>>においては、グループ<<bsd: conditionalChoice>>の一例が見付けられ、該グループは後続すべきエレメント(Spqcd_1>>, Spqcd_2又はSpqcd_3)のタイプがパラメータ<<quantStyle>>の値に依存することを示すためにコネクタ<<xsl:choose>>を使用するが、該パラメータの現在処理されているツリー状表現における位置はパス<<QCD/Sqcd/QuantStyle>>により与えられる。
【数12】
当該構文解析器がビットストリームを読み取ると、該解析器はXMLツリーを漸進的に発生する。該解析器は、当該スキーマにおいて、例えばコネクタ<<if>>の属性<<test>>において、変数に出会うと、この変数を示されたパスを適用することにより評価する。
【0052】
該XML言語が自身の拡張を定義することができることが分かるであろう。このように、本発明の第1実施例は、本発明により既存のXMLスキーマ言語に対する拡張として提案された新たなツールの追加を含んでいる。本発明の他の実施例は、XMLスキーマのツールを採ると共に、これらツールに本発明により提案された新たなツールを追加するような新たな言語の総合的再定義を含んでいる。
【0053】
図3には、本発明による伝送システムの一例が示されている。図3に示す伝送システムは、サーバSVと複数のクライアントCTとを有している。サーバSV及びクライアントCTはインターネットWWWにリンクされている。サーバSVはメモリMEMと処理手段PROCとを有している。上記メモリ手段は、特に、スキーマB2と、第1ビットストリームB1と、本発明による構文解析方法を実施して第1ビットストリームB1を表すと共にスキーマB2のインスタンスであるような第1文書B4を得るためのコンピュータプログラムPG1とを含んでいる。また、上記メモリ手段MEMは、有利には、第2ビットストリームB'1を該ビットストリームを表す文書B'4及びスキーマB2から発生する方法を実施するためのコンピュータプログラムPG2も含む。
【0054】
例示として、上記文書B'4は前記文書B4に変換を適用することにより得られ、該変換は以前にビットストリームの伝送を要求しているクライアントのプロファイルに依存する。
(付録)
【表1】
【表2】
【表3】
【表4】
【表5】
【表6】
【表7】
【表8】
【表9】
【表10】
【表11】
【表12】
【表13】
【表14】
【表15】
【表16】
【図面の簡単な説明】
【図1】 図1は、本発明による構文解析方法の基本動作モードを要約したブロック図を示している。
【図2】 図2は、本発明によるビットストリーム発生方法の基本動作モードを要約したブロック図を示している。
【図3】 図3は、本発明による伝送システムの一例である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for syntactically analyzing a bitstream containing data having a structure and content conforming to a certain format, which is intended to generate a tree-like representation of the stream. . The present invention also provides a method for generating a bitstream according to a certain format from a document that is a tree-like representation of the bitstream and contains data such as imported data in particular by using a certain import mode. Also related. The present invention also defines one or various types of data that can have one or various facets, as well as names, types of data,Overlap ( imbrication ), The order, and the occurrence of a predefined or unspecified numberIt also relates to a schema having a plurality of elements to describe, where the occurrence of elements is mandatory or optional.
[0002]
The present invention also provides a computer program for performing the method as described above, a processing unit including a schema as described above and a storage means for storing such a computer program, and at least a source entity and a destination entity. The transmission source entity also has storage means for storing the schema as described above and one or such a program.
[0003]
The present invention has applications in the field of content editing, modification and merging.
[0004]
One example of an application of the present invention is adaptation as a function of a user profile of content to be sent to a destination (screen, computational power, storage capacity, links used for transmission, etc.). Such adaptation in particular makes it possible to prevent wasteful transmission of data that cannot be used by the recipient, thereby saving bandwidth.
[0005]
[Prior art]
Regarding the above, French Patent Application No. 0101530 filed on February 5, 2001 by the present applicant (Cornclekka Philips Electronics NV) is a basic document describing a basic progressive file as well as written in a markup language. A generation method for generating a file having a particular characteristic feature from the above has been described, which method is applied to the basic document by applying a predetermined transformation that is a function of the characteristic feature. A conversion step for generating a converted document, and a file having the characteristic features is generated from the converted document. This method consists in performing the required conversion on a basic document whose structure of the progressive file is obvious. The method can prevent the file from having to be decoded in order to record the basic progressive file separately.
[0006]
However, this file generation method naturally includes the generation of a basic document that describes the basic progressive file and the generation of the next other file from the converted document.
[0007]
[Problems to be solved by the invention]
An object of the present invention is to propose an automatic and comprehensive method for executing the above-described processing.
[0008]
[Means for Solving the Problems]
Thus, the present invention proposes a new type of schema that makes it possible in particular to describe the coding format in a comprehensive manner.
[0009]
The schema according to the invention defines one or various types of data that can have one or various facets. The schema includes a name, a data type,Overlap, order, and occurrence of a predefined or undefined numberThe generation of elements is essential or optional. And the schema is
-The schema defines a data type that supports binary segments of indefinite length, has at least facets related to the data import mode, and optionally has facets related to the stop flag of the binary segment. ,
The schema corresponds to a binary word of a predetermined length or a plurality of lengths, has at least facets related to the length, and has facets related to embedded bits contained in the binary word; Define one or more data types as optional,
The schema defines one or more variables composed of data access paths, and one or more conditional branches for describing various structures or possible content as a function of the variable or the value of the variable Have
And having at least one of such characteristic features.
[0010]
A method according to the present invention for syntactically analyzing a bitstream including data having a structure and content according to a format to generate a tree-like representation of the stream comprises:
A) reading the schema, so that the schema comprehensively describes the format,
a) Define one or more data types that can contain one or more facets, in particular
-If the format uses binary words of a predetermined length or of a plurality of lengths, at least corresponding to the predetermined length or a plurality of lengths of binary words and related to the length If one or more data types are defined as having one facet, where the predetermined length or multiple lengths of binary words may contain one or more embedded bits, the data type is Have facets related to embedded bits;
If the format uses an indefinite length binary segment that has content to be imported into the representation using a certain import mode, it corresponds to the binary segment and relates to the import mode Defining a data type having at least one facet, where, if the binary segment is defined by a stop flag, the data type has one facet associated with the stop flag;
b) Name, data type,Overlap, order, and occurrence of a predefined or undefined numberA plurality of elements, such that the occurrence of elements is mandatory or optional,
c) if the format specifies that the data located at the front of the bitstream gives information on the structure or content of the remainder of the bitstream;
-Defining one or various variables constituted by an access path to the data located at the front in the tree-like representation; and
-Having one or more conditional branches as a function of the value of the variable or variables, to describe various possible structures or contents;
Steps like
B) searching the bitstream for data corresponding to the elements included in the schema;
C) generating an instance of the schema that includes the data found in the bitstream and constitutes the tree-like representation;
It is characterized by having.
[0011]
Thus, the present invention includes the step of generating a tool that allows a comprehensive description of the format in the schema. The invention then includes the use of such a schema to parse the syntax of the bitstream according to the format and generate a document that represents the stream and is an instance of the schema. The schema specifies various data types that can be included in a bitstream that conforms to the above format, and the manner in which these data are included in the final document. The data types specified in the schema and the rules to include in the final document depend on the format considered.
[0012]
By way of example, if the considered format is the JPEG2000 format (ISO / IEC FCD standard 15444-1), the schema is
-Define various data types that correspond to binary words of a predetermined length that can have padding bits and have facets related to the length and one or more facets related to the padding bits. ,
-Corresponding to indefinite length binary segments defined by a stop flag and having content to be imported into the representation using a certain import mode, as well as facets related to import mode and the stop flag Define a data type that has an associated facet,
-Defining one or more variables in the tree-like representation that are located at the front of the bitstream and that consist of access paths to data that give information about the structure or content of the remainder of the bitstream ,
-Having one or more conditional branches as a function of the value of the variable to describe various possible structures or content.
[0013]
A method according to the invention for generating a bitstream according to a format from a document which is a tree-like representation of the bitstream and in particular contains data imported by using an import mode, the method comprising:
A) reading the document;
B) reading the schema in parallel, so that the schema comprehensively describes the format,
a) Define one or more data types that can contain one or more facets, in particular
-Defining a data type corresponding to an indefinite length binary segment having at least facets related to said import mode;
-If the format uses a binary word of a predetermined length or of a plurality of lengths, the binary of a predetermined length or of a plurality of lengths having at least facets related to the length; Defining one or more data types corresponding to a word, where, if the binary word includes one or more padding bits, defining a facet related to the padding bits;
b) Name, data type,Overlap, order, and occurrence of a predefined or undefined numberA plurality of elements, such that the occurrence of elements is mandatory or optional,
c) if the format specifies that the data located at the front of the bitstream gives information on the structure or content of the remainder of the bitstream;
-Defining one or more variables consisting of access paths to the data located at the front in the tree-like representation; and
-Having one or more conditional branches for describing various possible structures or content as a function of the value of the variable or variables for determining the data type contained in the document;
Steps like
C) coding the data as a function of the defined type;
D) constructing a bitstream from the coded data;
It is characterized by having.
[0014]
Thus, the present invention also includes the use of a schema of the type described above to generate a bitstream from a document that represents the bitstream and is an instance of the schema. The document and the schema are read in parallel, the data type included in the document is determined, the data is coded according to what the format defines, and the coded data forms a bitstream.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
The foregoing and other aspects of the invention will be apparent from and will be elucidated with reference to the embodiments described hereinafter as non-limiting examples.
[0016]
FIG. 1 is a block diagram illustrating the basic operation mode of the syntax analysis method according to the present invention. Block B1 represents a bit stream in a predetermined format. Block B2 represents a schema that comprehensively describes the predetermined format. Block B3 is a parser, which performs the parsing of the bitstream B1 to generate a document B4 that is an instance of the tree-like representation of the bitstream B1 and the schema B2. enable.
[0017]
Schema B2 describes the syntax of the bitstream. The schema specifically specifies the type of data that can occur in the bitstream and the manner in which such data should be included in the document. The tree-like representation B4 is generated according to the analysis of the bit stream B1.
[0018]
FIG. 2 is a block diagram illustrating the operating principle of the bitstream generation method according to the present invention. Block B′2 represents a schema that describes the coding format in a comprehensive manner. Block B′4 represents a document that is an instance of schema B′2. Block B′3 represents a bitstream generator that allows reading document B′4 and schema B′2 in parallel to generate bitstream B′1. Advantageously, the schemas B2 and B′2 used for the same coding format are the same.
[0019]
Document B′4 is read along with schema B′2 to determine the type of data contained in document B′4. For a value read from document B′4, the corresponding data type found in schema B′2 determines the coding mode to be used to code the value.
[0020]
There is generally no need to give the schema above the complete details of the structure of the coding format. The degree of detail depends on the possible application. For the use described in French patent application No. 0101530 already cited in the introductory part of the present application (method for generating a file such as a JPEG2000 file with characteristic features adapted to the recipient's profile) , A specific segment of the JPEG2000 marker must be given in detail for each parameter to allow the parameter to be recovered and modified. Other segments of the marker are processed as blocks. This is because it is not necessary to access the parameters contained in these markers.
[0021]
Documents B4 and B′4 are advantageously XML documents, and schemas B2 and B′2 are written in a new language derived from the XML schema language. XML is a recommendation of the consortium W3C (Extensible Markup Language 1.0 dated October 16, 2000), and the XML schema is a recommended project of the W3C consortium dated October 24, 2000. The above XML recommendation plan and XML schema recommendation project are available on the Internet site.http://www.w3.org/Available above. However, this is not limiting and the principles of the present invention, which will be described in detail in the remainder of this description, have been proposed by, for example, AT & T and BRICS at Arhus University, Denmark, and can be found on the Internet site http: / It can also be used by using different types of languages such as the type DSD (document structure description) language available on /www.brics.dk/DSD/.
[0022]
From a physical point of view, an XML document is particularly an entity that can be parsed and contains text, a series of characters belonging to a given group of characters, and represents tags or textual data. Element).
[0023]
From a logical point of view, an XML document contains one or more elements whose ranges are marked by a start flag and a stop flag. Element isIt can also be included in other elements (this is an overlap ( imbrication Form)). Each element is identified by the name shown in the start flag and stop flag of the element. An element can have a value. The value of the element is arranged between the start flag and stop flag of the element.
[0024]
In the example described below, the data is selected to be placed directly within the elements of the XML document to simplify the composition (ie, the data contained in the XML document constitutes the value of the XML element).
[0025]
The XML schema is a schema language that allows content and XML document structure to be specified. More specifically, the XML schema describes the elements and for each element the name, data type,Overlap, order, and number of occurrencesEnable to describe.The order and number of occurrences may be pre-defined or unspecified.. The generation of elements can be mandatory or optional.
[0026]
A schema defines a class of XML documents. An instance of the XML schema is an XML document that is valid for the schema.
[0027]
In the remainder of this description, a bitstream in JPEG2000 format will be considered in order to illustrate a specific implementation of the present invention. This is not limiting and it is clear that the invention can be applied to other formats. For certain formats, other data types may need to be added to those described herein.
[0028]
Appendix A shows a schema that describes the JPEG2000 coding format. This schema uses a simple type of data that is generic and defined in Appendix B, and a simple type of data that is defined in Appendix C that is derived from such a generic type. Appendix D shows an example of an XML document that is an instance of the schema shown in Appendix A and represents a JPEG2000 bitstream. In appendices A, B, and C and the remainder of this description, the characters << xsd >> identify a tool defined in the XML schema. The character << bsd >> also identifies a tool added according to the present invention.
[0029]
In accordance with the present invention, schema B2 (which is considered to be the same as schema B′2 in the following description) defines all types of data that can be included in a stream according to the JPEG2000 format. Certain types of data that already exist in the XML schema language can be used directly. Others should be modified and others must be added.
[0030]
More specifically, a bitstream according to the JPEG2000 format includes the following types of data:
1) A binary segment of indefinite length that allows content to be imported into an XML document using the first or second import mode described below.
2) Binary words of different lengths that may contain unimportant padding bits.
3) A marker whose value is defined in hexadecimal code in the JPEG2000 standard and imported into the XML document in hexadecimal code. This import in hexadecimal code constitutes the third import mode.
[0031]
The first import mode includes processing for converting binary data into characters belonging to a predetermined group of characters used by XML. For this purpose, the coding method known in the name << base 64 >> and described in paragraph 6.8 of the document RFC 2045 published by the IETF is preferably used. The method includes the process of dividing the binary data, converting them into groups of 6 bits, and associating a character of a predetermined group of characters with each group of 6 bits. This first import mode results in a 33% expansion of the data.
[0032]
In the second import mode, instead of converting the binary data into characters and inserting such characters directly into the XML document, a pointer to the area of the binary file containing the binary data is introduced into the XML document. In this case, the XML document becomes dependent on the binary file.
[0033]
In the XML schema language, the type of data is defined as a triplet (triplet information), which is:
A group of values called the value space,
-A group of vocabulary representations called vocabulary spaces;
A group of facets, one facet corresponding to the constraints imposed on the value space.
[0034]
In order to implement the present invention, the coding of data written in a bitstream must be unambiguous and implicit. Certain types of data that have previously existed in the XML schema and that are unambiguous and implied are used directly. This is the case, for example, for the << xsd: unsignedShort >> data type, which represents an integer between -32768 and +32767, and thus can be implicitly encoded with 2 bytes. This is also true for << xsd: unsignedInt >> and << xsd: unsignedByte >>.
[0035]
According to the invention, the data type << xsd: binary >> is also used by modifying it. That is:
1) A facet is added to the data type in relation to a stop flag named << bsd: stopFlagExclusive >>. This facet is used to indicate the end of an indefinite length binary segment. For example, a JPEG2000 packet that is an indefinite length binary segment is defined by either marker SOP (start of packet), marker SOT (start of tile), or marker EOC (end of codestream). Thus, for JPEG2000 packets, this facet has one of three values: FF51 (SOP), FF90 (SOT) or FFD9 (EOC).
2) For the << encoding >> facet that already exists in the XML Schema language, the value << hex >> for the hexadecimal code and << base 64 >> for the import after the base 64 conversion Possible values are added. The newly added value is called << externalData >>. The value is used to indicate that the data has been imported into the XML document by using the above-described second import mode (introduction of a pointer pointing to a bitstream area including the data into the XML document).
[0036]
This modified data type is called << binaryNoLength >> and is defined in Appendix C as follows:
[Expression 1]
[0037]
The modified data type, which is a generic type, is used to derive other types of specific data that can be found in the XML bitstream. For example, as shown in Appendix B, the type << PacketDataTYpe >> corresponding to the JPEG2000 packet is derived from the generic type << binaryNoLength >>. In this example, it can be seen that the data included in these packets is imported into the XML document by using the second import mode (a pointer to the area of the bitstream including the data). It can also be seen that a JPEG2000 packet is defined by a marker having one of the following three values: FF51, FFD9 or FF90.
[Expression 2]
Referring to Appendix A, it can be seen that the other elements have an element named << Data >> in a type derived from << binaryNoLength >>, for example, a complex COC type element. This element << Data >> has a facet << encoding >> whose value is << base 64 >>, which uses the base 64 transform for the corresponding data from the bitstream to the XML document. Means that it will be imported.
[Equation 3]
[0038]
The present invention also includes the addition of new types of data that are intended to be used for binary words of a predetermined length. This new type of data is titled << bsd: bitsArray >> and contains three facets. That is, one facet is the name << bitsLength >> for the length of the binary word, and one facet is << for the number of embedded bits placed before the significant bit (or bits). The name is prePadding >>, and one facet is the name << postPadding >> related to the number of embedded bits placed after the important bit (or bits). This new type of data is defined in Appendix C as follows:
[Expression 4]
[0039]
As shown in Appendix B, the new type of data, which is a generic type of data, is used to derive a specific type of data that can be found in the JPEG2000 stream. For example, the data type named << 11b >> derived from the generic type data << bitsArray >> corresponds to an 11-bit binary word that does not include embedded bits:
[Equation 5]
[0040]
This is also a data type named << 5b3p >> derived from the generic type data << bitsArray >>, which is a 5-bit binary with two embedded bits followed by two significant bits. Corresponds to a word.
[Formula 6]
Referring to Appendix A, a data type << 11b >> is used for an element named << mantissa >>, for example:
<xsd: element name ="mantissa" type= "jp2: 11b" />
You can also see that the data type << 5b3p >> is used for an element named << exponent >>, for example:
<xsd: element name ="exponent" type= "jp2: 5b3p" />
From a structural point of view, the present invention uses the following tools that already exist in the XML schema:
− Simple and complex types of data << xsd: simple Type >> and << xsd: complex Type >>,
− Element << xsd: element >>,
− Group model << xsd: group >>,
-Connectors << xsd: sequence >>, << xsd: all >> and possibly << xsd: choice >>.
[0041]
Parser B3 reads bitstream B1 with schema B2 and generates a tree-like representation B4 of bitstream B1. This tree-like representation B4 is an instance of the schema B2. The representation is generated iteratively by interpreting the connectors found in the schema.
[0042]
More specifically, the connector << xsd: sequence >> is interpreted by the parser as follows. That is, if the parser finds a connector << xsd: sequence >>, the analyzer reads the elements in the bitstream in the same order as in the schema. For example, the connector << xsd: sequence >> is used for an element of the type << CodestreamType >> defined in Appendix A.
[Expression 7]
According to this definition, the element << Codestream >> has an element << MainHeader >>, followed by an element << Tile >>, and then an element << EOC >>.
[0043]
The connector << xsd: all >> is interpreted by the parser as follows: That is, if the parser finds a connector << xsd: all >>, it starts by trying to read the first declared element in the connector << xsd: all >> and if it fails If so, try to read the second element, and so on. When the analyzer finds the searched element, it proceeds to the next element in the connector << xsd: all >>. The analyzer proceeds to the next connector only when all the elements of the connector << xsd: all >> have been processed.
[0044]
An element found in a bitstream if the schema defines a fixed value for that element or for one of the subelements it contains, and if that value does not correspond to what is found in that bitstream Does not correspond to the searched element. For example, when the parser tries to implement the element << SIZ >>, the element read from the bitstream is the value assigned to the marker << SIZ >> in the JPEG2000 standard < If it does not start with <FF51 >>, it is not the sought element.
[0045]
The connector << xsd: all >> is used for an element of the type << MainHeader Type >> defined in Appendix A, for example.
[Equation 8]
According to this definition, the element << MainHeader >> is an element << SOC >>, followed by an element << SIZ >>, followed by a group,Not stipulatedIn order
[Equation 9]
You must have a group that contains one or more of these, or none of them.
[0046]
Although no example is shown in Appendix A, a connector << xsd: choice >> can also be used. When the parser finds a connector << xsd: choice >>, it starts an attempt to read the first element declared with the connector << xsd: choice >> in the bitstream. If the parser finds the sought element, it goes to the next connector in the schema. If the read element is not the sought element, the parser proceeds to the next element in the same connector << xsd: choice >>.
[0047]
Furthermore, the present invention introduces the use of variables in the schema. The concept of variables is used in the XSLT language (XML extensible stylesheet language conversion). XSLT allows you to define transformations that can be applied to XML documents in a language specified by the W3C Consortium. Specifically, a variable is a string linked to one value. Variables can appear in one location in the document and can be used elsewhere. According to the syntax defined in XSLT, the value of a variable identified by a string is accessed by placing a $ symbol in front of the string (in other words, $ ZZZ is identified by the string ZZZ). Variable value). The value of the variable is indicated in the definition of the variable. The present invention allows variable values to be defined in the form of paths in the XML tree by using syntax defined in the Xpath language (XML path language). Xpath is also a language specified by the W3C consortium. XSLT and Xpath specifications are available on the Internet site http://www.w3.org.
[0048]
The use of variables makes it possible, for example, to define the number of elements by means of parameters instead of being defined by constant values. If the value of the parameter is given at the front of the bitstream and informs the structure or content of the rest of the bitstream, the value of the variable is defined by using the Xpath syntax.
[0049]
For example, in the JPEG2000 format, the number of components << comp-siz >> included in the marker segment SIZ is defined by a parameter << Csiz >> arranged in front of the marker segment SIZ. In Appendix A, element << Csiz >> is defined as a variable. The value of the variable is defined by the path in the tree-like representation being built. That is, in this regard, the expression << SIZ / Csiz >> indicates that << Csiz >> is a child element of the element << SIZ >>. Next, during the definition of the complex type << SIZ >>, this variable << Csiz >> is called to determine the number of occurrences of the element << comp-siz >>.
[Expression 10]
The present invention also includes the addition of a new group model << bsd: conditionalChoice >> and two new connectors << xsl: if >> and << xsl: choose >>. This introduces conditional branching into the schema, thereby allowing a conditional selection that may exist in the format to be described to be expressed. You will notice that the connectors << xsl: if >> and << xsl: choose >> are defined in the XSLT language. According to the XSLT language specification, the connectors << xsl: if >> and << xsl: choose >> use the attribute << test >>, which defines the selection of the function of the result of the test. enable. The connector << xsl: if >> allows the selection to be defined as a function of the value of the Boolean variable. The connector << xsl: choose >> allows you to define a choice from multiple alternatives.
[0050]
By way of example, the JPEG2000 format specifies that the presence of a particular element or type of data depends on the value of a parameter given at the front of the bitstream.
[0051]
This is especially true for the element << SPcod >> included in the << COD >> element. The element << SPcod >> includes the element << PredinctSize >> only when the variable << PredinctsUsed >> has a value of 1. This constraint is expressed in the schema where the connector << xsl: if >> is used.
## EQU11 ##
In the element << QCD >>, an example of the group << bsd: conditionalChoice >> is found, and the group should be followed by the element (Spqcd_1 >>, Spqcd_2 or Spqcd_3) whose value is the value of the parameter << quantStyle >> The connector << xsl: choose >> is used to show that it depends on, but the position of the parameter in the currently processed tree-like representation is given by the path << QCD / Sqcd / QuantStyle >>.
[Expression 12]
As the parser reads the bitstream, the analyzer progressively generates an XML tree. When the analyzer encounters a variable in the attribute << test >> of the connector << if >>, for example, the analyzer evaluates the variable by applying the indicated path.
[0052]
It will be appreciated that the XML language can define its own extensions. Thus, the first embodiment of the present invention includes the addition of a new tool proposed as an extension to the existing XML schema language by the present invention. Other embodiments of the present invention include XML language tools and a comprehensive redefinition of new languages such as adding new tools proposed by the present invention to these tools.
[0053]
FIG. 3 shows an example of a transmission system according to the present invention. The transmission system shown in FIG. 3 has a server SV and a plurality of clients CT. Server SV and client CT are linked to the Internet WWW. The server SV has a memory MEM and processing means PROC. In particular, the memory means implements the schema B2, the first bitstream B1, and the parsing method according to the invention to obtain a first document B4 representing the first bitstream B1 and being an instance of the schema B2. And a computer program PG1. The memory means MEM also advantageously includes a computer program PG2 for carrying out the method for generating the second bitstream B′1 from the document B′4 representing the bitstream and the schema B2.
[0054]
By way of example, the document B′4 is obtained by applying a transformation to the document B4, which transformation depends on the profile of the client that has previously requested transmission of the bitstream.
(Appendix)
[Table 1]
[Table 2]
[Table 3]
[Table 4]
[Table 5]
[Table 6]
[Table 7]
[Table 8]
[Table 9]
[Table 10]
[Table 11]
[Table 12]
[Table 13]
[Table 14]
[Table 15]
[Table 16]
[Brief description of the drawings]
FIG. 1 shows a block diagram summarizing basic operating modes of a parsing method according to the present invention.
FIG. 2 shows a block diagram summarizing the basic operating modes of the bitstream generation method according to the present invention.
FIG. 3 is an example of a transmission system according to the present invention.
Claims (8)
A)スキーマを読み取るステップであって、該スキーマが前記フォーマットを包括的に記述するために、
a)1以上のファセットを含むことができる1以上のデータタイプを定義し、特には、
− 前記フォーマットが所定の長さ又は所定の複数の長さの二進ワードを使用する場合は、前記所定の長さ又は所定の複数の長さの二進ワードに対応すると共に前記長さに関係する少なくとも1つのファセットを有する1以上のデータタイプを定義し、ここで、前記所定の複数の長さの二進ワードが1以上の埋め込みビットを含み得る場合は、前記データタイプは前記埋め込みビットに関係するファセットを有し、
− 前記フォーマットが或るインポートモードを使用して前記表現にインポートされるべきコンテンツを持つ不定長の二進セグメントを使用する場合は、前記二進セグメントに対応すると共に前記インポートモードに関係する少なくとも1つのファセットを有するデータタイプを定義し、ここで、前記二進セグメントが停止フラグにより定義される場合は、前記データタイプは前記停止フラグに関係する1つのファセットを有し、
b)名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述する複数のエレメントを有し、ここでエレメントの発生は必須であるか又は任意選択的であり、
c)前記フォーマットが、前記ビットストリームの前部に位置するデータが該ビットストリームの残部の構造又はコンテンツに関する情報を与えることを規定している場合は、
− 前記ツリー状表現における前記前部に位置する前記データへのアクセスパスにより構成される1つ又は種々の変数を定義し、且つ、
− 種々の可能性のある構造又はコンテンツを記述するための1以上の条件付き分岐を、前記変数又は複数の変数の値の関数として有する、
ステップと、
B)前記ビットストリームにおいて前記スキーマに含まれる前記エレメントに対応するデータを検索するステップと、
C)前記ビットストリームにおいて見付かった前記データを含むと共に前記ツリー状表現を構成する前記スキーマのインスタンスを発生するステップと、
を有することを特徴とする方法。 Processor of the processing unit executes, the bit stream comprising Lud over data which have a structure and contents according to a certain format to a syntactically analyzed parsing method, the method comprising generating a tree-like representation of the stream the method is to shall, the method comprising:
A) reading the schema, so that the schema comprehensively describes the format,
a) Define one or more data types that can contain one or more facets, in particular
- if said format uses binary words of given length or a predetermined plurality of lengths, relating to the length with corresponding to a binary word of the predetermined length or a predetermined plurality of lengths defines one or more data types that have a least one facet that, where, if the binary word of the predetermined plurality of lengths may include one or more embedded bit, the data type is the buried Has facets related to bits,
- When using a binary segment of lifting one non-fixed length content to be imported into the expressed using the format certain import mode is related to the import mode with corresponding to said binary segments defines Lud types with which having a least one facet, wherein, when said binary segments are defined by the stop flag, the data type has one facet relating to said stop flag,
b) name, data type, overlap, order, and predefined or has a number multiple elements that describe the generation of a not specified here or optionally generating elements is essential And
c) If the format, data located in the front of the bit stream is defined to give information about the structure or content of the remainder of the bit stream,
-Defining one or various variables constituted by an access path to the data located at the front in the tree-like representation; and
-Having one or more conditional branches as a function of the value of the variable or variables, for describing various possible structures or contents;
Steps ,
Retrieving the Lud over data to correspond to the elements included in the schema in B) said bit stream,
And generating instances of the previous SL schema that make up the tree-like representation with containing the data found in C) the bit stream,
A method characterized by comprising:
A)前記文書を読み取るステップと、
B)併行してスキーマを読み取るステップであって、該スキーマが前記フォーマットを包括的に記述するために、
a)1以上のファセットを含むことができる1以上のデータタイプを定義し、特には、
− 前記インポートモードに関係するファセットを少なくとも有する不定長の二進セグメントに対応するデータタイプを定義し、
− 前記フォーマットが所定の長さ又は所定の複数の長さの二進ワードを使用する場合は、前記長さに関係するファセットを少なくとも有する前記所定の長さ又は所定の複数の長さの二進ワードに対応する1以上のデータタイプを定義し、ここで、前記二進ワードが1以上の埋め込みビットを含む場合は、前記埋め込みビットに関係するファセットを定義し、
b)名称、データタイプ、重なり、順序、及び予め規定された又は規定されていない数の発生を記述する複数のエレメントを有し、ここでエレメントの発生は必須であるか又は任意選択的であり、
c)前記フォーマットが、前記ビットストリームの前部に位置するデータが該ビットストリームの残部の構造又はコンテンツに関する情報を与えることを規定している場合は、
− 前記ツリー状表現における前記前部に位置する前記データへのアクセスパスにより構成される1以上の変数を定義し、且つ、
− 種々の可能性のある構造又はコンテンツを記述するための1以上の条件付き分岐を、前記文書に含まれるデータタイプを決定するための前記変数又は複数の変数の値の関数として有する、
ステップと、
C)前記データを前記の定義されたタイプの関数としてコーディングするステップと、
D)前記コーディングされたデータからビットストリームを構成するステップと
を有することを特徴とする方法。 Processor processing units execute a method for generating a data imported from free plain coarse incorporated by a bit stream according to a certain format used in particular certain import mode a tree-like representation of the bit stream, the method comprising But,
A) reading the document;
B) concurrently reading the schema so that the schema comprehensively describes the format,
a) Define one or more data types that can contain one or more facets, in particular
- to define the data type corresponding to the non-fixed length binary segment that Yusuke least a facet relating to said import mode,
- the format is a predetermined length or a predetermined when using the binary word of the plurality of lengths, the length plurality of length to the previous SL predetermined that at least having a facet length or a predetermined relationship of Defining one or more data types corresponding to a binary word, wherein, if the binary word includes one or more embedded bits, defining a facet related to the embedded bits;
b) name, data type, overlap, order, and predefined or has a number multiple elements that describe the generation of a not specified here or optionally generating elements is essential And
c) If the format, data located in the front of the bit stream is defined to give information about the structure or content of the remainder of the bit stream,
-Defining one or more variables consisting of access paths to the data located at the front in the tree-like representation; and
-Having one or more conditional branches for describing various possible structures or content as a function of the value of the variable or variables for determining the data type contained in the document;
Graphics and steps,
C) coding the data as a function of the defined type;
D) constructing a bitstream from the coded data.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0102764A FR2821458A1 (en) | 2001-02-28 | 2001-02-28 | SCHEME, SYNTAX ANALYSIS METHOD, AND METHOD FOR GENERATING A BINARY STREAM FROM A SCHEME |
PCT/IB2002/000393 WO2002069187A1 (en) | 2001-02-28 | 2002-02-08 | Schema, syntactic analysis method and method of generating a bit stream based on a schema |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004519771A JP2004519771A (en) | 2004-07-02 |
JP2004519771A5 JP2004519771A5 (en) | 2005-12-22 |
JP4260481B2 true JP4260481B2 (en) | 2009-04-30 |
Family
ID=8860580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002568241A Expired - Fee Related JP4260481B2 (en) | 2001-02-28 | 2002-02-08 | Schema, parsing method, and method for generating bitstream based on schema |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP1366439A1 (en) |
JP (1) | JP4260481B2 (en) |
KR (1) | KR100898614B1 (en) |
CN (1) | CN100449530C (en) |
BR (1) | BR0204315A (en) |
FR (1) | FR2821458A1 (en) |
MX (1) | MXPA02010534A (en) |
PL (1) | PL363513A1 (en) |
RU (1) | RU2294012C2 (en) |
TW (1) | TW563036B (en) |
WO (1) | WO2002069187A1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002349188A1 (en) | 2001-11-26 | 2003-06-10 | Interuniversitair Microelektronica Centrum Vzw | Schema, syntactic analysis method and method of generating a bit stream based on a schema |
ATE513415T1 (en) * | 2001-12-28 | 2011-07-15 | Koninkl Philips Electronics Nv | METHOD FOR PROCESSING MULTIMEDIA CONTENT |
CN1751308A (en) * | 2003-02-19 | 2006-03-22 | 皇家飞利浦电子股份有限公司 | Method of producing a document based on a scheme that generically describes the format of a bit stream |
EP2242273A1 (en) * | 2009-04-14 | 2010-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Transmission scheme for text-based information |
CN104598635B (en) * | 2015-02-06 | 2018-01-19 | 无锡江南计算技术研究所 | A kind of complex documents automatic generation method based on XML descriptions |
CN107092656B (en) * | 2017-03-23 | 2019-12-03 | 中国科学院计算技术研究所 | A kind of tree data processing method and system |
RU2762398C2 (en) * | 2019-12-03 | 2021-12-21 | Владимир Дмитриевич Мазур | Method for transmitting binary data in a standard audio media stream |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999067784A1 (en) * | 1998-06-24 | 1999-12-29 | Seagate Technology Llc | Efficient run length limited code with short interleaved constraint |
HUP0105429A2 (en) * | 1998-12-21 | 2002-04-29 | Koninkl Philips Electronics Nv | Device for and method of encoding n-bit source words into corresponding m-bit channel words and decoding m-bit channel words into corresponding n-bit source words |
-
2001
- 2001-02-28 FR FR0102764A patent/FR2821458A1/en not_active Withdrawn
-
2002
- 2002-02-08 PL PL02363513A patent/PL363513A1/en not_active Application Discontinuation
- 2002-02-08 WO PCT/IB2002/000393 patent/WO2002069187A1/en active Application Filing
- 2002-02-08 EP EP02710247A patent/EP1366439A1/en not_active Ceased
- 2002-02-08 BR BR0204315-7A patent/BR0204315A/en not_active Application Discontinuation
- 2002-02-08 JP JP2002568241A patent/JP4260481B2/en not_active Expired - Fee Related
- 2002-02-08 CN CNB028014421A patent/CN100449530C/en not_active Expired - Fee Related
- 2002-02-08 MX MXPA02010534A patent/MXPA02010534A/en unknown
- 2002-02-08 KR KR1020027014532A patent/KR100898614B1/en not_active IP Right Cessation
- 2002-02-08 RU RU2003128962/09A patent/RU2294012C2/en not_active IP Right Cessation
- 2002-02-25 TW TW091103306A patent/TW563036B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2002069187A1 (en) | 2002-09-06 |
JP2004519771A (en) | 2004-07-02 |
MXPA02010534A (en) | 2003-09-22 |
RU2294012C2 (en) | 2007-02-20 |
BR0204315A (en) | 2003-02-18 |
FR2821458A1 (en) | 2002-08-30 |
KR20020092459A (en) | 2002-12-11 |
KR100898614B1 (en) | 2009-05-21 |
EP1366439A1 (en) | 2003-12-03 |
TW563036B (en) | 2003-11-21 |
CN100449530C (en) | 2009-01-07 |
PL363513A1 (en) | 2004-11-29 |
RU2003128962A (en) | 2005-03-10 |
CN1462400A (en) | 2003-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030177341A1 (en) | Schema, syntactic analysis method and method of generating a bit stream based on a schema | |
KR101011663B1 (en) | Method and apparatus for structured streaming of an xml document | |
US7013425B2 (en) | Data processing method, and encoder, decoder and XML parser for encoding and decoding an XML document | |
JP3368883B2 (en) | Data compression device, database system, data communication system, data compression method, storage medium, and program transmission device | |
US7720991B1 (en) | Marked foreign data blocks | |
US7366973B2 (en) | Item, relation, attribute: the IRA object model | |
US6859810B2 (en) | Declarative specification and engine for non-isomorphic data mapping | |
EP1969457A2 (en) | A compressed schema representation object and method for metadata processing | |
US7500184B2 (en) | Determining an acceptance status during document parsing | |
MXPA02006077A (en) | Binary format for mpeg-7 instances. | |
US20060212800A1 (en) | Method and system for sequentially accessing compiled schema | |
KR20020069229A (en) | Method and apparatus for compressing textual documents | |
US20060235868A1 (en) | Methods and apparatus for representing markup language data | |
KR20020087482A (en) | Object transfer method with format adaptation | |
JP4260481B2 (en) | Schema, parsing method, and method for generating bitstream based on schema | |
US20060167907A1 (en) | System and method for processing XML documents | |
US7676742B2 (en) | System and method for processing of markup language information | |
US20060184547A1 (en) | Method and system for fast encoding of data documents | |
US7814408B1 (en) | Pre-computing and encoding techniques for an electronic document to improve run-time processing | |
Levene et al. | XML Structure Compression. | |
US7735001B2 (en) | Method and system for decoding encoded documents | |
US20080059577A1 (en) | Scalable logical model for edi and system and method for creating, mapping and parsing edi messages | |
US8996991B2 (en) | System and method for displaying an acceptance status | |
US20060212799A1 (en) | Method and system for compiling schema | |
US7246131B2 (en) | Dialog fragmentation for mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080527 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080826 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080902 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090108 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |