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 PDF

Info

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
Application number
JP2002568241A
Other languages
Japanese (ja)
Other versions
JP2004519771A5 (en
JP2004519771A (en
Inventor
シルヴァイン デヴィルレルス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2004519771A publication Critical patent/JP2004519771A/en
Publication of JP2004519771A5 publication Critical patent/JP2004519771A5/ja
Application granted granted Critical
Publication of JP4260481B2 publication Critical patent/JP4260481B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data 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】

Figure 0004260481
【0037】
包括的なタイプである上記の修正されたデータタイプは、XMLビットストリーム内で見付けることができるような他のタイプの特定のデータを導出するために使用される。例えば、付録Bに示すように、JPEG2000パケットに対応するタイプ<<PacketDataTYpe>>は包括タイプ<<binaryNoLength>>から導出される。この例においては、これらのパケットに含まれるデータがXML文書に第2インポートモード(当該データを含むビットストリームの領域に対するポインタ)の使用によりインポートされることが分かる。また、JPEG2000パケットが次の3つの値、即ちFF51、FFD9又はFF90、のうちの1つを有するマーカにより定義されることも分かる。
【数2】
Figure 0004260481
付録Aを参照すると、他のエレメントは、<<binaryNoLength>>から導出されるタイプ、例えば複雑COCタイプのエレメントにおける<<Data>>なる名称のエレメントを有することが分かる。このエレメント<<Data>>は、値が<<base 64>>であるようなファセット<<encoding>>を有し、これは、対応するデータがビットストリームからXML文書にベース64変換を使用することによりインポートされることを意味する。
【数3】
Figure 0004260481
【0038】
また、本発明は所定長の二進ワードに使用されることを意図する新たなタイプのデータの追加も含んでいる。この新たなタイプのデータは<<bsd: bitsArray>>とタイトルが付され、3つのファセットを含む。即ち、1つのファセットは当該二進ワードの長さに関する<<bitsLength>>なる名称であり、1つのファセットは重要なビット(又は複数のビット)の前に配置される埋め込みビットの数に関する<<prePadding>>なる名称であり、1つのファセットは重要なビット(又は複数のビット)の後に配置される埋め込みビットの数に関する<<postPadding>>なる名称である。この新たなタイプのデータは付録Cにおいて下記のように定義されている:
【数4】
Figure 0004260481
【0039】
付録Bに示されるように、包括タイプのデータである該新たなタイプのデータは、JPEG2000ストリームにおいて見付けられ得る特定のタイプのデータを導出するために使用される。例えば、包括タイプのデータ<<bitsArray>>から導出される<<11b>>なる名称のデータタイプは、埋め込みビットを含まない11ビットの二進ワードに相当する:
【数5】
Figure 0004260481
【0040】
また、これも包括タイプのデータ<<bitsArray>>から導出される<<5b3p>>なる名称のデータタイプは、3つの埋め込みビットが後続する2つの重要なビットを有するような5ビットの二進ワードに相当する。
【数6】
Figure 0004260481
付録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】
Figure 0004260481
この定義によれば、エレメント<<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】
Figure 0004260481
この定義によれば、エレメント<<MainHeader>>は、エレメント<<SOC>>、これに続くエレメント<<SIZ>>、これに続くグループであって、規定されていない順序で
【数9】
Figure 0004260481
の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】
Figure 0004260481
また、本発明は、新たなグループモデル<<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】
Figure 0004260481
エレメント<<QCD>>においては、グループ<<bsd: conditionalChoice>>の一例が見付けられ、該グループは後続すべきエレメント(Spqcd_1>>, Spqcd_2又はSpqcd_3)のタイプがパラメータ<<quantStyle>>の値に依存することを示すためにコネクタ<<xsl:choose>>を使用するが、該パラメータの現在処理されているツリー状表現における位置はパス<<QCD/Sqcd/QuantStyle>>により与えられる。
【数12】
Figure 0004260481
当該構文解析器がビットストリームを読み取ると、該解析器は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】
Figure 0004260481
【表2】
Figure 0004260481
【表3】
Figure 0004260481
【表4】
Figure 0004260481
【表5】
Figure 0004260481
【表6】
Figure 0004260481
【表7】
Figure 0004260481
【表8】
Figure 0004260481
【表9】
Figure 0004260481
【表10】
Figure 0004260481
【表11】
Figure 0004260481
【表12】
Figure 0004260481
【表13】
Figure 0004260481
【表14】
Figure 0004260481
【表15】
Figure 0004260481
【表16】
Figure 0004260481

【図面の簡単な説明】
【図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]
Figure 0004260481
[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]
Figure 0004260481
  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]
Figure 0004260481
[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]
Figure 0004260481
[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]
Figure 0004260481
[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]
Figure 0004260481
  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]
Figure 0004260481
  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]
Figure 0004260481
  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]
Figure 0004260481
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]
Figure 0004260481
  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 ##
Figure 0004260481
  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]
Figure 0004260481
  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]
Figure 0004260481
[Table 2]
Figure 0004260481
[Table 3]
Figure 0004260481
[Table 4]
Figure 0004260481
[Table 5]
Figure 0004260481
[Table 6]
Figure 0004260481
[Table 7]
Figure 0004260481
[Table 8]
Figure 0004260481
[Table 9]
Figure 0004260481
[Table 10]
Figure 0004260481
[Table 11]
Figure 0004260481
[Table 12]
Figure 0004260481
[Table 13]
Figure 0004260481
[Table 14]
Figure 0004260481
[Table 15]
Figure 0004260481
[Table 16]
Figure 0004260481

[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:
請求項1に記載の構文解析方法を実施するためにプロセッサが実行すべき命令を有するコンピュータプログラム。A computer program having instructions to be executed by a processor to implement the parsing method according to claim 1. 処理ユニットのプロセッサが実行する、或るフォーマットに従うビットストリームを該ビットストリームのツリー状表現であって特に或るインポートモードの使用によりインポートされたデータを含む文書から発生する方法において、該方法が、
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.
請求項3に記載のビットストリームを発生する方法を実施するためにプロセッサが実行すべき命令を有するコンピュータプログラム。A computer program having instructions to be executed by a processor to implement the method of generating a bitstream according to claim 3. プロセッサと、請求項1に記載の構文解析方法を実施するために該プロセッサが実行すべき命令を含むプログラム及び請求項1に記載の構文解析方法における前記スキーマを記憶するメモリ手段とを有する処理ユニット。2. A processing unit comprising: a processor; a program including instructions to be executed by the processor to perform the syntax analysis method according to claim 1; and memory means for storing the schema in the syntax analysis method according to claim 1. . プロセッサと、請求項3に記載のビットストリームを発生する方法を実施するために該プロセッサが実行すべき命令を含むプログラム及び請求項3に記載のビットストリームを発生する方法における前記スキーマを記憶するメモリ手段とを有する処理ユニット。4. A processor and a program containing instructions to be executed by the processor to implement the method of generating a bitstream of claim 3 and a memory for storing the schema in the method of generating a bitstream of claim 3 And a processing unit. 少なくとも1つの発信元主体及び少なくとも1つの宛先主体を有するような伝送システムであって、前記発信元主体が、プロセッサと、請求項1に記載の構文解析方法を実施するために該プロセッサが実行すべき命令を含むプログラム及び請求項1に記載の構文解析方法における前記スキーマを記憶するメモリ手段とを有する伝送システム。A transmission system having at least one source entity and at least one destination entity, wherein the source entity is executed by the processor and the processor to perform the parsing method according to claim 1. A transmission system comprising: a program including a power instruction; and memory means for storing the schema in the syntax analysis method according to claim 1. 少なくとも1つの発信元主体及び少なくとも1つの宛先主体を有するような伝送システムであって、前記発信元主体が、プロセッサと、請求項3に記載のビットストリームを発生する方法を実施するために該プロセッサが実行すべき命令を含むプログラム及び請求項3に記載のビットストリームを発生する方法における前記スキーマを記憶するメモリ手段とを有する伝送システム。A transmission system having at least one source entity and at least one destination entity, wherein the source entity implements a processor and a method for generating a bitstream according to claim 3. A transmission system comprising: a program including instructions to be executed; and memory means for storing the schema in the method for generating a bitstream according to claim 3.
JP2002568241A 2001-02-28 2002-02-08 Schema, parsing method, and method for generating bitstream based on schema Expired - Fee Related JP4260481B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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