JP2004518231A - 文書の構造化された記述を圧縮するための方法 - Google Patents

文書の構造化された記述を圧縮するための方法 Download PDF

Info

Publication number
JP2004518231A
JP2004518231A JP2002563606A JP2002563606A JP2004518231A JP 2004518231 A JP2004518231 A JP 2004518231A JP 2002563606 A JP2002563606 A JP 2002563606A JP 2002563606 A JP2002563606 A JP 2002563606A JP 2004518231 A JP2004518231 A JP 2004518231A
Authority
JP
Japan
Prior art keywords
schema
information element
information
derived
field
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.)
Granted
Application number
JP2002563606A
Other languages
English (en)
Other versions
JP4615827B2 (ja
JP2004518231A5 (ja
Inventor
セラ,クロード
ティエノ,セドリック
Original Assignee
エクスプウェイ
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 エクスプウェイ filed Critical エクスプウェイ
Publication of JP2004518231A publication Critical patent/JP2004518231A/ja
Publication of JP2004518231A5 publication Critical patent/JP2004518231A5/ja
Application granted granted Critical
Publication of JP4615827B2 publication Critical patent/JP4615827B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

デコーダがアクセスできない第1のスキーマに定義されている構造を有し、当該デコーダがアクセスできる第2のスキーマの変更の結果得られる、構造化された文書を、上記デコーダが復号化できるようにする符号化方法であって、上記第2のスキーマで定義された対応要素から派生した情報要素を第1のスキーマが定義し、上記符号化方法は、第1又は第2のスキーマを用いて文書を符号化して、文書の要素毎にその要素を符号化したバイナリ・シーケンスからなるバイナリ・ストリームにするステップと、上記派生要素を符号化したバイナリ・シーケンスに、上記派生要素の上記構造が定義されている第1スキーマを指定する参照を挿入するステップとを含み、この参照は、上記文書の符号化に用いられる全てのスキーマについての参照を含んだスキーマ参照リストに定義されていて、このスキーマ参照リストに上記デコーダがアクセス可能である。

Description

〔発明の背景〕
1.発明の分野
本発明は、概してコンピュータ・システムの分野に関し、詳しくは、SGML(標準汎用マークアップ言語: Standard Generalized Markup Language)や、XML(拡張可能マークアップ言語: Extensible Markup Language)等の汎用マークアップ言語に準拠する文書記述言語(document description)を使用して構造化文書(structured document )を圧縮する方法およびシステムに関する。このような文書は、マルチメディア情報を含んでいてもよい。
【0001】
2.関連技術の説明
ここ数年で、コンピュータ・ネットワークは、コミュニケーションにおける主要媒体となった。今では、コンピュータは、共有ネットワークに接続できるようになり、オペレーティング・システムは、各アプリケーションがメッセージを容易にやりとりできるようにし、インターネット基盤(Internet infrastructure)は、コンピュータが自分の相手を探し、アプリケーションが複雑なアルゴリズムを用いてお互いに同期できるようにしている。
【0002】
このような相互接続状況において、汎用マークアップ言語が文書処理に対応するための解決手段となる。実際、文書の構造は、文書の使用において重要な役割を果たしている。文書の書式設定、印刷、又は索引作業は、実質的に、その構造に従って行われる。SGMLは、初めのうち、文書の見栄え(プレゼンテーション:presentation)と、文書構造及び文書内容とを容易に分離させるために制定された。XMLには、構造を符号化する機能があるため、XMLは、様々な文書以外のアプリケーションに関心のあるコミュニティ(集団:community)からも注目された。XMLの利用者は、(例えば)、電子商取引、データベース及び知識表現のコミュニティにまで広がった。
【0003】
現在、XML、及び、より一般的なマークアップ言語は、文書(メタデータ)の記述や文書(メタデータ)の構造化に幅広く使われている。構造化された文書には、互いにネスト(nest:入れ子)にされ得る、いくつもの情報要素(information element )が含まれる。情報要素は、情報要素の要素型を識別するタグによって、識別及び互いに分離されている。構造化された文書には、一般的に、文書全体を表し、文書の開始及び終了を示すタグによって識別される第1情報要素又はベース要素が含まれている。この第1要素は、サブ情報要素(information sub−element)、例えば、テキストの段落を含み、各サブ情報要素は、要素の開始及び終了を示すタグによって識別される。タグは、情報要素の1以上の特性を指定する、タグの属性(attribute )と関連付けされてもよい。
【0004】
タグの内容(contents)は、一般的には、ユーザによって表示又は操作させようとしている情報を表す。タグの内容は、タグの種類に応じて、オプションであっても、必須であってもよく、ネストされた他のサブ情報要素、すなわち、順にタグで区切られ、内容及び属性を有するサブ情報要素を含んでもよい。
【0005】
構造化された文書は、構造化された文書が「妥当(valid)」とされるために検証すべき規則を反映するスキーマと関連付けされることがある。また、それは、デフォルト値(default value )、要素及び属性の型、型の階層についての情報を含む。妥当であること(validity)により、受け取った文書がスキーマに適合し、したがって、意図された意味を有することが保証される。さらに、それは、どのような種類(nature)か、すなわち、各記述項目(情報要素又は属性)の型を決定する。XML規格(XML standard)は、同様な構造を有するXML文書のクラスのための文法を記述するために設計されたXML用スキーマ言語を含む。
【0006】
しかし、XMLは、冗長な言語であり、そのため処理の能率が悪く、送信するためのコストが高い。このため、ISO/IEC 15938−1、より詳しくはMPEG−7(Moving Picture Expert Group )において、構造化された文書の記述を符号化(圧縮)するための方法及びバイナリフォーマット、並びに、上記バイナリフォーマットを復号化する方法を提案している。この規格は、とりわけマルチメディア・データ等、高度に構造化されたデータに対応することを目的としている。
【0007】
圧縮効率を増すために、この方法は、スキーマ解析段階(phase )を利用している。この段階では、内部テーブルが計算され、バイナリコードが各XMLの要素、型、属性に関連付けられる。この方法は、エンコーダおよび対応するデコーダに、同じスキーマの全知識の権限を与えている。
【0008】
構造化された文書を符号化するために用いるスキーマの拡張が必要である際、最善の解決策は、拡張されたスキーマをデコーダが利用できるようにすることである。しかしながら、拡張されたスキーマへデコーダをアクセスさせるためにデコーダを容易に更新することができない場合がある。
【0009】
〔発明の概要〕
本発明の目的は、必要とされるスキーマを全てデコーダが知らなくても、文書を部分的に復号化できるように、構造化文書を符号化するための方法を提供することにある。
【0010】
本発明の別の目的は、上位互換性及び下位互換性を確保するための符号化方法を提供すること、すなわち、デコーダがアクセスできない少なくとも第1のスキーマに定義されている構造を有し、当該デコーダがアクセスできる少なくとも第2のスキーマの変更の結果得られる、構造化された文書を、上記デコーダが少なくとも部分的に復号化できるようにする符号化方法であって、構造化された文書は互いにネストされた複数の情報要素を含み、上記文書の情報要素は、少なくとも第1のスキーマおよび第2のスキーマにて、それぞれ情報要素の要素構造を定義する要素の型と関連付けされ、上記第1のスキーマは、デコーダがアクセスできず、上記第2のスキーマは上記デコーダがアクセスでき、上記第2のスキーマで定義された対応要素から派生した少なくとも1つの派生情報要素を上記第1のスキーマが定義することを特徴とする符号化方法を提供することにある。
【0011】
本発明によると、上記符号化方法は、上記第1のスキーマと第2のスキーマとを用いて上記文書を符号化して、文書の情報要素ごとにその情報要素を符号化したバイナリ・シーケンスからなっているバイナリ・ストリームにするステップと、上記派生情報要素を符号化した上記バイナリ・シーケンスに、上記派生要素の上記構造が定義されている第1スキーマを指定する参照を挿入するステップとを含み、上記第1のスキーマを指定する上記参照は、上記文書の符号化に用いられる全てのスキーマについての参照を含んだスキーマ参照リストに定義されていて、このスキーマ参照リストに上記デコーダがアクセス可能である。
【0012】
本発明の態様として、上記文書の各要素を符号化した上記バイナリ・シーケンスは、上記要素を符号化した値を含む内容(content )フィールドと、上記内容フィールドの前に配置され、上記内容フィールドの長さを符号化した値を含む長さフィールドとを備えている。
【0013】
本発明の別の態様として、上記第1のスキーマにおいて、上記派生情報要素は、上記第2のスキーマの対応する情報要素の構造型に対して制限された構造型に関連付けされ、上記派生要素を符号化したバイナリ・シーケンスは、内容フィールドと、該内容フィールドに付加される、上記第1のスキーマへの参照と、上記第2のスキーマにて定義された派生要素の構造型への参照とを備えている。
【0014】
本発明の別の態様として、上記派生情報要素は、上記第1のスキーマにおいて、上記第2のスキーマの対応する情報要素の構造型に対して拡張された構造型に関連付けされ、上記派生情報要素の構造型は、上記第2のスキーマで定義された上記対応する情報要素の構造型を有する第1の部分と、上記派生情報要素に固有で、上記第1のスキーマで定義された構造型を有する第2の部分とを含み、上記派生要素を符号化したバイナリ・シーケンスは、上記第2のスキーマへの参照を含むフィールドと、上記第2のスキーマにおける対応する要素の構造型への構造型参照を含むフィールドと、上記第1の部分を符号化した値を含むフィールドと、上記第1のスキーマへの参照を含むフィールドと、上記第2の部分の構造型への構造型参照を含むフィールドと、上記第2の部分を符号化した値を含むフィールドとを含む内容フィールドを含んでいる。
【0015】
本発明の別の態様として、情報要素を符号化したバイナリ・シーケンスは、当該情報要素の名前が変更されたかどうかを示す置換フラグ(substitution flag )を含む置換フィールドと、上記置換フラグが変更されたことを示す場合、情報要素の新しい名前を指定した参照を含む要素名参照フィールドと、新しい名前の参照が定義されているスキーマへの参照を含むスキーマ参照フィールドとを備えている。
【0016】
本発明の別の態様として、上記符号化済み文書における少なくとも1つの情報要素を符号化するバイナリ・シーケンスは、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されないことを示す第1の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第2の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されることを示す第3の状態とを有するスキーマ状況モードフィールドを含み、上記符号化された情報要素は、上記スキーマ状況モードフィールドが上記第1の状態にある時、任意のスキーマ参照及び任意の他の変更情報を含み、上記情報要素のサブ要素は、上記スキーマ状況モードフィールドが上記第2の状態にある時、スキーマ参照及び任意の他の変更情報を含まない。
【0017】
本発明の別の態様として、上記符号化済み文書における少なくとも1つの情報要素を符号化するバイナリ・シーケンスは、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されないことを示す第1の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第2の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されることを示す第3の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されること、及び、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第4の状態とを有するスキーマ状況モードフィールドを含み、上記符号化された情報要素は、上記スキーマ状況モードフィールドが上記第1の状態にある時、任意のスキーマ参照及び任意の他の変更情報を含み、上記情報要素のサブ要素は、上記スキーマ状況モードフィールドが上記第2の状態又は第4の状態にある時、スキーマ参照及び任意の他の変更情報を含まない。
【0018】
本発明の別の態様として、構造化された文書の符号化に用いる全てのスキーマへの参照を含む上記スキーマ参照リストは、上記構造化された文書を符号化したバイナリ・ストリームに関連するヘッダに挿入される。
【0019】
本発明の別の目的は、デコーダがアクセスできない少なくとも第1のスキーマに定義されている構造を有し、当該デコーダがアクセスできる少なくとも第2のスキーマの変更の結果得られる、構造化された文書を符号化したバイナリ・ストリームを、少なくとも部分的に復号化するための復号化方法であって、構造化された文書は互いにネストされた複数の情報要素を含み、上記文書の情報要素は、少なくとも上記第1のスキーマ、および、第2のスキーマにて、それぞれ情報要素の要素構造を定義する要素の型と関連付けされ、上記第1のスキーマは、デコーダがアクセスできず、上記第2のスキーマは、上記デコーダがアクセスでき、上記第2のスキーマで定義された対応要素から派生した少なくとも1つの派生情報要素を上記第1のスキーマが定義することを特徴とする復号化方法を提供することにある。
【0020】
本発明によると、上記復号化方法は、上記第2のスキーマを用いて、上記構造化された文書を符号化したバイナリ・ストリームを順次読み出して復号化するとともに、バイナリ・ストリームにおいて、上記文書の各情報要素を符号化したバイナリ・シーケンスを検出するステップと、符号化された要素のバイナリ・シーケンスにおいて、上記デコーダに知られたスキーマ参照リストにて定義された、上記第1のスキーマへの参照を検出するステップと、上記スキーマの参照の検出から、上記第1スキーマに関連するバイナリ・データを特定するステップと、上記バイナリ・ストリームを順次読み出して復号化する間に上記第1スキーマに関連するバイナリ・データをスキップするステップとを含む。
【0021】
本発明の別の態様として、上記文書の各要素を符号化した上記バイナリ・シーケンスは、上記要素を符号化した値を含む内容フィールドと、上記内容フィールドの前に配置され、長さを符号化した値を含む長さフィールドとを備え、上記デコーダは、上記長さを符号化した値を、要素を符号化したバイナリ・シーケンスの終了を決定するために用いる。
【0022】
本発明の別の態様として、上記復号化方法は、上記第1のスキーマへの参照を含むバイナリ・シーケンスの、長さをコード化した値を読み出して復号化するステップと、上記第1のスキーマへの参照のバイナリ・シーケンスにおける位置、及び、上記復号化された長さの値の関数として、スキップすべきバイナリ・データの長さを決定するステップとをさらに含む。
【0023】
本発明の別の態様として、上記派生情報要素は、上記第1のスキーマにおいて、上記第2のスキーマの対応する情報要素の構造型に対して制限された構造型に関連付けされ、上記派生要素を符号化したバイナリ・シーケンスは、内容フィールドと、該内容フィールドに付加される、上記第1のスキーマへの参照と、上記第2のスキーマにおいて定義された派生要素の構造型への参照とを備えている。
【0024】
本発明の別の態様として、上記派生情報要素は、上記第1のスキーマにおいて、上記第2のスキーマの対応する情報要素の構造型に対して拡張された構造型に関連付けされ、上記派生情報要素の構造型は、上記第2のスキーマで定義された上記対応する情報要素の構造型を有する第1の部分と、上記派生情報要素に固有で、上記第1のスキーマで定義された構造型を有する第2の部分とを含み、上記派生要素を符号化したバイナリ・シーケンスは、上記第2のスキーマへの参照を含むフィールドと、上記第2のスキーマの対応する要素の構造型への構造型参照を含むフィールドと、上記第1の部分を符号化した値を含むフィールドと、上記第1のスキーマへの参照を含むフィールドと、上記第2の部分の構造型への構造型参照を含むフィールドと、上記第2の部分を符号化した値を含むフィールドとを含む内容フィールドを含んでいる。
【0025】
本発明の別の態様として、上記派生情報要素は、上記第1スキーマにおいて、上記第2のスキーマの対応する情報要素の名前に対して変更された名前を有し、上記派生要素を符号化したバイナリ・シーケンスは、上記派生情報要素の名前が変更されたか否かを示す置換フラグと、上記置換フラグが変更されたことを示す場合、上記第1のスキーマへの参照を含むスキーマ参照フィールドと、上記第1のスキーマにおける上記派生情報要素の名前を指定した要素名参照とを備えている。
【0026】
本発明の別の態様として、上記符号化済み文書における少なくとも1つの情報要素を符号化するバイナリ・シーケンスは、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されないことを示す第1の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第2の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されることを示す第3の状態とを有するスキーマ状況モードフィールドを含み、上記符号化された情報要素は、上記スキーマ状況モードフィールドが上記第1の状態にある時、スキーマ参照及び他の変更情報を含まず、上記情報要素のサブ要素は、上記スキーマ状況モードフィールドが上記第2の状態にある時、スキーマ参照及びその他の変更情報を含まない。
【0027】
本発明の別の態様として、上記符号化済み文書における少なくとも1つの情報要素を符号化するバイナリ・シーケンスは、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されないことを示す第1の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第2の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されることを示す第3の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されること、及び、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第4の状態とを有するスキーマ状況モードフィールドを含み、上記符号化された情報要素は、上記スキーマ状況モードフィールドが上記第1の状態にある時、任意のスキーマ参照及び任意の他の変更情報を含み、上記情報要素のサブ要素は、上記スキーマ状況モードフィールドが上記第2の状態又は第4の状態にある時、スキーマ参照及び任意の他の変更情報を含まない。
【0028】
本発明の別の態様として、上記構造化された文書の符号化に用いる全てのスキーマへの参照を含む上記スキーマ参照リストは、上記構造化された文書を符号化したバイナリ・ストリームに関連するヘッダに読み込み(read in)される。
【0029】
本発明の様々な特徴及びその好適な実施形態は、以下の説明と添付図面とを参照すれば一層理解が深まるであろう。
【0030】
〔図面の簡単な説明〕
図1は、MPEG−7規格に準拠した構造化文書のツリー構造(木構造:tree structure)のバイナリフォーマットを示す図である。
【0031】
図2は、MPEG−7デコーダのブロック図である。
【0032】
図2aは、図2に示すデコーダの詳細部のブロック図である。
【0033】
図3は、本発明に係る符号化された情報要素のバイナリフォーマットを示す図である。
【0034】
図4は、ツリー構造における相互に定義された要素型を示す図である。
【0035】
図5は、ツリー構造に編成された情報要素を含む構造化文書を示す図である。
【0036】
〔好適な実施形態の説明〕
図1を参照すると、MPEG−7規格に準拠した符号化された構造化文書1のバイナリフォーマットは、符号化モードを指定する文書ヘッダ2と、少なくとも1つの構造化情報要素又は構造化情報要素セット3とを含む。
【0037】
文書ヘッダ2は、次に示すパラメータを符号化している。
【0038】
−”allows_skipping”: このパラメータは、符号化された文書において要素の長さをコード化するかどうかを指定する。また、このパラメータは、次に示す値を持つことがある。
【0039】
00−長さをコード化しない。
【0040】
01−任意で長さをコード化する。
【0041】
10−長さのコード化が強制されている。
【0042】
−”allows_partial_instantiation”:このパラメータは、文書における全てのサブツリー、又は構造化情報要素について、完全にインスタンス化するかどうかを指定する。また、このパラメータは、次に示す値を持つことがある。
【0043】
0−部分的なインスタンス化を許可しない。全ての文書要素が符号化された文書に存在する。
【0044】
1−部分的なインスタンス化を許可する。
【0045】
−”allows_subtyping”:このパラメータは、サブツリーがポリモーフィズム(多態性:polymorphisms )、つまり、データ型について考えられる様々なサブ型を有する情報要素あるいは要素属性を含むかどうかを指定する。また、このパラメータは次に示す値を持つことがある。
【0046】
0−サブツリーにおいてポリモーフィズムを符号化しない。
【0047】
1−ポリモーフィズムを許可する。
【0048】
図1では、構造化された情報要素セット3は、要素セットヘッダ31、要素32及び/又は要素セット3を含む。上記要素セットヘッダ31は、
−復号化段階において、要素の型についての潜在的な曖昧さ(多義性:ambiguity)を明確にすることを目的とするキー(鍵:key )と、
−次に高い階層レベルの要素3における同様な要素又は要素セットの出現回数Nbとを含む。
【0049】
文書構造を定義するスキーマが、要素あるいは要素セットの型について必須の値を1つしか(a single mandatory value)指定しない場合、符号化された文書には、上記出現回数が現れない。
【0050】
要素32は、以下に示すフィールドを含む。すなわち、
−要素の符号化された値のビット長を指定する長さパラメータ33と、
−要素値(element value)及び要素の属性の構造を指定するデータ型番号(data type number)を含む型35と、
−例えば、アルファベット順に順序付けされた、要素の属性値36と、
−要素の値自体を符号化している値37とを含む。このフィールド(値37)は、要素32あるいは要素セット3の構造を有する1以上の要素、あるいは、要素が整数、文字列等の単純型(simple type)を有する場合の単純な値(simple value)を含んでよい。
【0051】
符号化された文書のヘッダ2におけるパラメータ”allows_skipping”の値によっては、長さパラメータ33は、なくてもよい。要素32において長さが符号化されている場合、長さ情報を用いて、その前にある要素をスキップすることによって、文書中の特定要素への高速アクセスが可能となる。
【0052】
フィールド35、36、37は、符号化された要素になくてもよい。文書のスキーマにおいて、取り得る要素のデータ型が1つしかない場合、型番号35は、符号化されない。スキーマで指定される型が属性を持たない場合、属性値36は、符号化されない。要素の値37は、要素が空であれば、例えば、文書を部分的にインスタンス化する場合、符号化されない。
【0053】
図2を参照すると、MPEG−7のデコーダ10は、デコーダ10に入力される符号化済み文書7を復号化するために実行されるバイナリ構文コード(binary syntax code)13を得るために、XMLスキーマ等のスキーマ9を受け取って処理するよう設計されたスキーマ・コンピレータ(compilator)11を含み、デコーダ10が復号化した文書8を、例えばXML形式で出力する。
【0054】
スキーマのコンパイル過程(compilation process)は、先行するスキーマ解析段階を利用し、バイナリ構文コードの形で定義される有限状態オートマトン(finite state automata )12を作成するために行われる。処理済みスキーマにおいて定義される各複合型(complex type)は、複合型コード化規則を表している有限状態オートマトンに変換される。上記符号化済み入力文書7は、バイナリ・ストリームの形でデコーダにかけられ、当該バイナリ・ストリームに対して、バイナリ構文コードが実行される。
【0055】
図2aでは、スキーマのコンパイル過程11が4段階からなっている。スキーマ実現化(realization)の第1段階は、型継承の平坦化(flattening)と、名前空間のサポートの解決とからなっている。この段階では、実現化されたスキーマ(realized schema )15が生成される。第2段階は、構文ツリーを各複合型より生成することからなっている。このようにして生成された複数の構文ツリー16は、次にバイナリ符号化を容易にし、圧縮率を改善できるように変換される。第3段階は、以下を生成するために、すなわち、各ツリー・ノードについて署名を生成し、続いて複数の正規化構文ツリー17を生成するために、前の段階で生成された構文ツリーを正規化することからなる。これらの署名は、次の段階において、要素ヘッダ31に現れるヘッダキーとツリー・ノードとの対応(correspondence)を生成するために使用される。第4段階は、復号化過程で使用される有限状態オートマトン12を生成することからなる。
【0056】
スキーマ実現化段階において、拡張された名前(expanded name)を要素、属性、型、要素グループ(element group)、それぞれに結び付けるために、スキーマを解析して、スキーマで使用される名前を全て挙げる。これらの名前がいわゆる名前空間を構成している。拡張された名前は、連続する、名前空間の識別子及び項目名として構成される。そして、各複合型の要素参照を、参照された要素の定義で置換することによって、実現化された複合型を生成する。
【0057】
構文ツリー生成段階において、要素名を要素型に関連付けることによって、項目ノードが生成される。グループ・ノードを通じた包含関係によって連結された項目ノードは、構文ツリーを構成し、それらの構文ツリーは、各複合型に対して生成される。具体的には、構文ツリーは、結果として生じるバイナリフォーマットの簡潔さ(compactness)を改善するために縮小され(切り詰められ:reduce)、この過程は、非破壊的な方法で、複合型の定義を単純化することからなる。
【0058】
構文ツリーの正規化は、構文ツリーのグループ・ノード毎に固有名を付するために行われる。この過程は、各ノードを順番付けし、最終的に、それらにキーを付することからなる。このキーは、オートマトンの構築段階で必要とされる。
【0059】
署名は、要素毎、あるいは、要素グループ毎に生成される。あらゆるノードの署名は、その子ノードの署名を連結することにより生成される。代替グループ(alternative group )や順番付けされないノード・グループの場合、ノードの署名は、アルファベット順にソートされ、それから付与される。順番付けされたノード・グループの場合、ノードの署名は、スキーマでの定義順に付与される。項目ノードの署名は、それらの要素名に等しい。
【0060】
有限状態オートマトン生成段階において、複合型オートマトンは、以下に示す規則によって再帰的に定義される。
【0061】
1.構文ツリーのあらゆるノードは、オートマトンを生成する。
【0062】
2.複合型オートマトンは、そのルート・ノードによって生成されたオートマトンである。
【0063】
3.あらゆるノードのオートマトンは、その子オートマトンをマージ(merge)することで生成され、このマージの内容は、ノードの種類(nature)に依存する
上記過程の最後に、それらの遷移であって、キーをコード化する遷移を作り出すために、オートマトンが実現される。これらのオートマトンは、2つの型状態(type state )と、後者にリンクしている、各構文ツリーの各項目ノードのための要素遷移(element transition)とを含む。対応する要素が、復号化しようとする文書の入力ストリームに現れるときに、要素遷移が渡られる(cross)。型状態は、単純型の場合の特定データ型デコーダや、一般的な、あるいは、複合型の場合の特定データ型デコーダである特定のデコーダが動作したときのトリガになる。
【0064】
場合によっては、文書の構造を定義するスキーマの拡張や修正が必要となる。デコーダに入力された符号化済み文書の新しいスキーマがある場合、符号化済み文書は、テキストフォーマット及びバイナリフォーマットの両方に対して、完全に上位互換性及び下位互換性がある。実際には、全体の記述を検証でき、名前空間を各要素と属性に付けることができる。さらに、型の階層化が可能になり、アプリケーションにとって、拡張性ポイント(extensibility points)を明確にすることができる。このようなスキーマの更新によって、拡張性及び互換性が引き起こす技術的な問題の多くが解決される。しかしながら、現在のところ、MPEG−7規格は、符号化済み文書の復号化に使用されるスキーマについて何ら情報を提示していない。したがって、あるスキーマを使用するように構成されたデコーダは、修正されたスキーマ(上位互換性がない)で符号化された文書を復号化することができない。この問題は、単に符号化済み文書を復号化する前に使用されるスキーマについての情報をデコーダに与えるだけで解決できる。別の方法として、このようなオートマトンあるいは構文ツリーを、デコーダが入力バイナリ・ストリームの形式の文書を復号化するために実行するバイナリ構文コードに変換してもよい。
【0065】
ある場合には、スキーマの更新により生じる複雑さが問題となり得る。このような状況は、修正されたスキーマ(上位互換性)にアクセスできるように、デコーダを容易に更新できない場合、例えば、更新されるデコーダの数が非常に多い場合や、デコーダが他のスキーマを使用するように設計されていない場合に起こる。本発明の目的は、このような具体的な状況を解決するために、情報要素のバイナリフォーマットと、デコーダが既知のスキーマに対して修正または拡張された構造を有する文書を、デコーダが少なくとも“部分的に”復号化できる符号化方法及び復号化方法とを提案することである。
【0066】
これに関して、符号化段階で互換性レベルが選択される。このレベルは、互換性が確実とされるべきスキーマセットという形で表される。符号化過程は、予想される互換性を確保するために必要な冗長度を追加する。極端な場合、現在のスキーマ1つだけについて互換性が必要であれば、冗長度は取り除かれ、その結果として生じるバイナリ符号化済み文書が現在のスキーマと適合するようになる。
【0067】
基本的に、符号化過程は、符号化段階で使用されるスキーマについての情報を、符号化済み文書の中に追加する。この情報は、スキーマ識別子と、長さ情報とを含み、この情報によって、デコーダが使用できないスキーマを使用して符号化された文書における要素をスキップすることが可能となる。
【0068】
スキーマ識別子は、デコーダによって知られたスキーマ識別子の辞書(dictionary)によって定義され、当該スキーマ識別子の辞書は、例えば、符号化済み文書のヘッダ2に挿入されたり、デコーダが使用するデコーダの初期設定及び構成(configuration )ファイルの中に挿入されたりする。このスキーマ識別子の辞書は、受け取った符号化済み文書を復号化するためにデコーダが使用すると考えられる全てのスキーマ識別子を含む。デコーダは、以下に示すバイナリ構文を用いて、この辞書を読み出すことができる。
【0069】
【表1】
Figure 2004518231
【0070】
”NumberOfShemaIdentifiers”、及び、”SchemaIdentifier[]”は、それぞれ辞書内のスキーマ識別子の個数、及び、スキーマ識別子を含む配列を表し、”UINT_VLC”は、不定サイズの符号なし整数を符号化するためのフォーマットを示している。”UINT_VLC”フォーマットにおいて、整数は、整数のチャンク(chunk )の無限集合によって符号化され、各チャンクは、5ビットからなる。各チャンクの最初の1ビットは、現在のチャンクの後に他のチャンクが続くかどうかを示し、残りの4ビットが整数を符号化する。
【0071】
このバイナリ構文は、スキーマ辞書が、文字の形のスキーマ識別子のリストが後に続く個数を含んでおり、各スキーマ識別子のリストにおける位置は、スキーマ番号を自動的に規定している。当該スキーマ番号は、符号化済み文書で特定のスキーマを識別するために使用できる。辞書の読み出し過程は、以下の連続するステップおよび命令、すなわち、スキーマの個数”NumberOfSchemaIdentifiers ”を辞書から読み出すステップと、カウンタiを初期設定するステップと、”SchemaIdentifier[]”配列中のi番目の値を読み出すステップ、及び、0≦i<NumberOfSchemaIdentifiersを用いてカウンタiをインクリメントするステップを含むループ命令とを含む。以下に示す表では、辞書は、3つのスキーマ識別子を含み、各スキーマは、辞書におけるスキーマ識別子の順位(rank)によって定義されるバイナリ・スキーマ番号と暗に関連付けされる。
【0072】
【表2】
Figure 2004518231
【0073】
バイナリ・スキーマ番号の長さ(ビット数)は、辞書にあるスキーマ識別子の個数の関数として定義され、E(log (NumberOfSchemaIdentifiers))と等しく、E(x)は、次に高位の整数に切り上げされたxに等しい。
【0074】
図3に示すように、符号化済み文書の各型番号フィールド35は、スキーマ番号フィールド38と関連付けされており、スキーマ番号は、スキーマの辞書に定義されるスキーマ識別子に対応し、このスキーマ番号は、関連付けされた型が定義されるスキーマを識別する。
【0075】
このようにして、本発明に係るエンコーダ及びデコーダは、数個のスキーマを使用して文書を符号化及び復号化できる。
【0076】
スキーマS0と修正されたスキーマS1との間には、XML言語における3つのタイプの変更が考えられる。これらの変更が一緒に組み合わされることもある。3つのタイプのうち、1つ目は、グローバルな(大域的な:global)要素名を、他のグローバルな要素名へ置換することである。グローバルな要素は、あるスキーマにおいて、他の要素(別の要素にネストしていない要素)から独立に定義されている。このような変更は、XMLスキーマ言語において以下のように定義される。
【0077】
XMLスキーマS0では、
Figure 2004518231
となり、XMLスキーマS1では、
Figure 2004518231
となる。
【0078】
この構文(syntax)では、複合型”t0”と、型”t0”を有し、それぞれ、”e0”、”e1”と名付けられた2つの要素とが規定され、当該要素”e1”は、要素”e0”に置換されるものであることが規定される。”value 1 ”の値をとる、上記のような要素”e1”は、スキーマS1に基づいて、XML文書中で以下のように表現される。
【0079】
Figure 2004518231
本発明によれば、上記の変更は、置換フラグ41と、置換された要素番号43と、要素番号43が定義されているスキーマ番号42とを含む置換フィールド4を、要素32に追加することによって符号化される。
【0080】
上記置換フラグが0に設定されている場合、後に続く置換フィールド42及び43は、符号化された要素内に現れない。
【0081】
”e1”の定義を含むスキーマS1で符号化された要素”e1”は、図3にあるように、以下のフィールド値を有している。
【0082】
[length]1[S1][e1][S0][t0][value1]
ここで、[length]は、要素のバイナリコード化された長さであり、”1”は、置換が行われたことを表す置換フラグの値であり、[S1]と[S0]とは、スキーマの辞書で規定されたスキーマS1及びS0の符号化された番号であり、[t0]は、型”t0”の符号化された型番号であり、[value1]は、要素”e1”の値である”value1”を符号化した値であり、[e1]は、要素”e1”の符号化された番号である。
【0083】
上記のようなバイナリコードは、本発明では、スキーマS0のみを(そして、それゆえに”e0”のみを)知るデコーダによって復号化され、復号化された要素は、以下のように解釈(interpreted)される。
【0084】
Figure 2004518231
このように、デコーダは[e1]の意味を理解せず、”value1”は別の未知の要素に置換される要素”e0”の値だと考えてしまう。
【0085】
スキーマS0と新しいスキーマS1との間で起こる2つ目の変更は、制限(restriction )によって型”t0”から新たな型t1を派生すること(deriving)からなる。前記制限は、型の定義において、少なくとも1つの要素又は要素グループの最大出現回数を減らしたり、その最小出現回数を増やしたり、型(タイプ)t0をサブタイプ(sub−type)t1に変更したり、あるいは、型t0で予め定義された制約を順守する新たな要素グループを定義することからなる。
【0086】
上記の変更を、以下に示す例において、XML用スキーマ言語で表現する。XMLスキーマS0は、以下に示すテキストの構文を含む。
【0087】
Figure 2004518231
この例では、型”t0”は、要素”e1”の出現回数が任意であるとしてXML用スキーマ言語で定義されている。型”t1”は、型”t0”の制限として定義され、型”t0”の特定のケースである0、又は1つの要素”e1”を含む。このように、型”t1”は、型”t0”の制約を強め、同じバイナリフォーマットが使用可能である。
【0088】
符号化されるべき文書は、以下に示す情報を含む。
【0089】
Figure 2004518231
これは、スキーマS0で定義される要素”e” の予期された(expected)型(タイプ)”t0”のサブタイプである型”t1”を持つ要素”e” を、文書が含むことを意味する。
【0090】
上位互換性が必要でない場合、この要素は次のように符号化できる。
【0091】
[length]0[S1][t1][value1]
ここで、”0”は、置換が起こっていないと設定された置換フラグの値である。
【0092】
スキーマS0を知っていて、スキーマS1を知らないデコーダは、フィールド[length]及び[S1]を復号化する。スキーマS1は、スキーマの辞書では定義されていないので、デコーダは、要素”e” に関連する他のフィールドについては、スキーマS0を使用して解釈できないと推定し、長さ情報を利用して要素”e” をスキップする。デコーダがスキーマS1(そして、それゆえにS0)を知っていれば、デコーダは、要素”e”の元の構造を復旧(retrieve)する。
【0093】
上位互換性が必要な場合、要素”e” は図3に記載の構造によって次のように符号化される。
【0094】
[length]0[S0][t0][value1][S1][t1]
スキーマS0とS1との両方を知るデコーダは、符号化された要素”e” についてのフィールドを全て復号化できる。それから、長さフィールドと、復号化されたストリームの長さとを比較することによって、これ以上、サブタイピング(sub−typing)が無いことを推定し、要素”e” の元の構造を復旧する。デコーダがスキーマS0を知っていてスキーマS1を知らない場合、デコーダは、フィールドの初めの部分を復号化し、[S1]及び[t1]のフィールドは(長さフィールドを用いて)スキップする。したがって、デコーダは以下に示すテキスト形式のツリーを作成する。
【0095】
Figure 2004518231
スキーマS0と新しいスキーマS1との間で起こる3つ目の変更は、拡張(extension )によって、型”t0”から新たな型t1を派生することからなる。上位互換性を確実にする必要がある場合、新しい型t1は、型”t0”を有する第1部分と、新しいスキーマS1で定義する必要がある型”t1”を有する第2部分との2つの部分で定義される必要がある。
【0096】
上記の変更を、以下に示す例においてXML用スキーマ言語で表現する。XMLスキーマS0は、以下に示すテキストを含む。
【0097】
Figure 2004518231
XMLスキーマS1では、新しい型t1が型t0の拡張として次のように定義される。
【0098】
Figure 2004518231
上位互換性が必要な場合、符号化されるべきXML文書は、以下に示す情報を含む。
【0099】
Figure 2004518231
ここで、value1は、型”t1”において型”t0”の部分であり、”value2”は、型”t1”に特有な部分であり、型”t0”に加えられた部分である。この情報は、次のように符号化される。
【0100】
[length]0[S0][t0][value1][S1][t1][value2]
デコーダがスキーマS0を知っている(S1は知らない)場合、バイナリ符号化された情報の第1部分を復号化し、t1部分 (すなわち、[t1][value2])は、長さ情報を利用してスキップする。上記の過程が結果として以下に示すテキスト形式ツリーを導く。
【0101】
Figure 2004518231
このように、型t1の特定部分は、符号化されない。デコーダがスキーマS0とS1との両方を知っている場合、元のテキスト形式のツリーが復旧される。
【0102】
上記の処置(disposition )は組み合わされてもよく、したがって、異なるスキーマにおいて定義され得る、型の複雑な階層の定義が可能となる。図4は、型t5と型t6とが型t4の2つの拡張部分(extension)であり、当該型t4が型t3の拡張部分であるような階層の例である。型t3は、型t1の制限部分(restriction)である。同様に、それぞれ型t8および型t9は、型t2の拡張部分である型t7の制限部分および拡張部分であり、型t2は、型t1の拡張部分である。t1からt9の各型が、それぞれ異なるスキーマS1からS9において定義されるとみなすと、スキーマS1、S3、S4、S5について互換性が必要であれば、型t5の要素は、以下に示す形で符号化される。
【0103】
[length]0[S1][t1][att1][value1][S3][t3][S4][t4][att4][value4][S5][t5][att5][value5]
ここで、フィールド[att−i ]は、それぞれ型t−i の、符号化された属性値であり、[att−i ][value−i ]は型t5のt−i 部分(−i=1、4、5)である。スキーマS3、S5について互換性が必要であれば、型t5の要素は、以下に示す形で符号化される。
【0104】
[length]0[S3][t3][att3][value3][S5][t5][att5][value5]
ここで、フィールド[att3][value3]は、型t5のt1部分であり、型t3によってコード化され、フィールド[att5][value5]は、型t5のt4+t5 部分であり、型t5によってコード化される。
【0105】
当然、上記スキーマ間における1つ目の変更は、符号化される要素に置換フィールド4を追加することで2つ目、3つ目の変更と組み合わせてもよい。
【0106】
上記記載では、符号化される文書にバイナリ・置換フィールド(フィールド41、42、43)と、各要素型に関連するスキーマ番号フィールドとを追加することにより、上位互換性が得られる。したがって、この解決法では、結果としての符号化文書のサイズが大きくなる。符号化を最も効果的にするために、符号化された文書の各部分が同じスキーマとリンクしていることが多いように思われる。そこで、本発明では、図3に示すように各符号化された要素32にスキーマ状況モードを表すスキーマ状況コードを含むフィールド5を追加することを提案する。このフィールドは、対応する要素及びサブ要素が同じスキーマから来る記述を必要とするか否かを定義する。要素及びその要素の全てのサブ要素を符号化(及び復号化)するために同じスキーマを用いる場合、上位互換性を確実にするために追加された(スキーマ番号を含む)フィールド38、42は、符号化された要素から削除され、結果として圧縮率が高くなる。
【0107】
下記の表にスキーマ状況コードについて考えられる値を示す。
【0108】
【表3】
Figure 2004518231
【0109】
ここで、「変更なし」とは、要素の復号化処理のために使用されるスキーマが、要素自体に使用されるスキーマと同じであることを意味する。したがって、要素32は、スキーマ番号フィールド38および置換スキーマフィールド42を含まない。
【0110】
「スキーマを固定」とは、要素、及び、その要素の全てのサブ要素(要素の全てのサブツリー)の復号化処理で使用されるスキーマが、要素自体に使用されるスキーマと同じであることを意味する。したがって、要素32及び要素32の全てのサブ要素は、スキーマ番号フィールド38、42及びスキーマ状況フィールド5のいずれも含まない。
【0111】
「スキーマを変更」とは、要素のスキーマが変更されることを意味する。したがって、スキーマ番号フィールド38、42が要素32に出現する。
【0112】
スキーマ状況コードによって制御される仕組み(mechanism )を図5に示す。図5は、3つのサブ要素52、53、54を含むメイン要素51を含んだ構造化文書のツリー構造を示す。要素52は、2つのサブ要素55、56を包み、要素54は、3つのサブ要素57、58、59を包む。要素55は、2つのサブ要素60、61を包む。
【0113】
要素51、53、54、57、59は、0(「変更なし」)に設定されたスキーマ状況コード5で符号化される。要素52のスキーマ状況コード5は、10(スキーマを固定)に設定される。したがって、要素52の全てのサブ要素55、56、60、61は、要素52で定義された同じスキーマを用いて符号化され、これらのサブ要素には、スキーマ番号フィールド38、42、スキーマ状況コードフィールド5のいずれも含まれない。
【0114】
要素58は、他のスキーマで修正及び定義されており、2つのサブ要素62、63を含む。したがって、要素58のスキーマ状況コード5は、11(「スキーマを変更」)に設定される。要素62、63が要素58と同じスキーマで定義される場合、要素62、63のスキーマ状況コード5は、0に設定される。
【0115】
また、次に示すように、1つの考えられる値をスキーマ状況コード5に追加することによって最適化が行われてもよい。
【0116】
【表4】
Figure 2004518231
【0117】
要素のスキーマ状況コードが、110又は111に設定されると、要素のスキーマが変更される。このコードが110に設定される場合、要素のサブ要素は、スキーマ状況コード5を含む。このコードが111に設定されると、要素のサブ要素は要素のスキーマを用いて符号化される。
【0118】
図5の例では、要素58のスキーマ状況コードは、要素62及び63が要素58と同じスキーマで定義されることを規定するために、111に設定されてもよい。したがって、要素62及び63においてスキーマ状況コード5は必要ない。
【図面の簡単な説明】
【図1】
MPEG−7規格に準拠した構造化文書のツリー構造のバイナリフォーマットを示す図である。
【図2】
MPEG−7デコーダのブロック図である。
【図2a】
図2に示すデコーダの詳細部のブロック図である。
【図3】
本発明に係る符号化された情報要素のバイナリフォーマットを示す図である。
【図4】
ツリー構造における相互に定義された要素型を示す図である。
【図5】
ツリー構造に編成された情報要素を含む構造化文書を示す図である。

Claims (17)

  1. デコーダがアクセスできない、少なくとも第1のスキーマに定義されている構造を有し、当該デコーダがアクセスできる少なくとも第2のスキーマの変更の結果得られる、構造化された文書を、上記デコーダが、少なくとも部分的に復号化できるようにする符号化方法であって、
    構造化された文書は、互いにネストされた複数の情報要素を含み、上記文書の情報要素は、少なくとも第1のスキーマおよび第2のスキーマにて、それぞれ情報要素の要素構造を定義する要素の型と関連付けされ、
    上記第1のスキーマは、デコーダがアクセスできず、上記第2のスキーマは、上記デコーダがアクセスでき、上記第1のスキーマは、上記第2のスキーマで定義された対応要素から派生した少なくとも1つの派生情報要素を定義し、
    上記符号化方法は、上記第1のスキーマと第2のスキーマとを用いて上記文書を符号化して、文書の情報要素ごとに、その情報要素を符号化したバイナリ・シーケンスを含むバイナリ・ストリームにするステップと、
    上記派生情報要素を符号化した上記バイナリ・シーケンスに、当該派生要素の上記構造が定義されている第1スキーマを指定する参照を挿入するステップとを含み、
    上記第1のスキーマを指定する上記参照は、上記文書の符号化に用いられる全てのスキーマについての参照を含んだスキーマ参照リストに定義されていて、このスキーマ参照リストに上記デコーダがアクセス可能である符号化方法。
  2. 上記文書の各要素を符号化した上記バイナリ・シーケンスは、上記要素を符号化した値を含む内容フィールドと、上記内容フィールドの前に配置され、上記内容フィールドの長さを符号化した値を含む長さフィールドとを備えている請求項1記載の符号化方法。
  3. 上記派生情報要素は、上記第1のスキーマにおいて、上記第2のスキーマの対応する情報要素の構造型に対して制限された構造型に関連付けされ、
    上記派生要素を符号化したバイナリ・シーケンスは、内容フィールドと、該内容フィールドに付加される、上記第1のスキーマへの参照と、上記第2のスキーマにて定義された派生要素の構造型への参照とを備えている請求項2記載の符号化方法。
  4. 上記派生情報要素は、上記第1のスキーマにおいて、上記第2のスキーマの対応する情報要素の構造型に対して拡張された構造型に関連付けされ、
    上記派生情報要素の構造型は、上記第2のスキーマで定義された上記対応する情報要素の構造型を有する第1の部分と、上記派生情報要素に固有で、上記第1のスキーマで定義された構造型を有する第2の部分とを含み、
    上記派生要素を符号化したバイナリ・シーケンスは、上記第2のスキーマへの参照を含むフィールドと、
    上記第2のスキーマにおける対応する要素の構造型への構造型参照を含むフィールドと、
    上記第1の部分を符号化した値を含むフィールドと、
    上記第1のスキーマへの参照を含むフィールドと、
    上記第2の部分の構造型への構造型参照を含むフィールドと、
    上記第2の部分を符号化した値を含むフィールドとを含む内容フィールドを含んでいる請求項2又は3記載の符号化方法。
  5. 情報要素を符号化したバイナリ・シーケンスは、当該情報要素の名前が変更されたかどうかを示す置換フラグを含む置換フィールドと、上記置換フラグが変更されたことを示す場合、当該情報要素の新しい名前を指定した参照を含む要素名参照フィールドと、新しい名前の参照が定義されているスキーマへの参照を含むスキーマ参照フィールドとを備えている請求項1〜4のいずれか1項に記載の符号化方法。
  6. 上記符号化済み文書における少なくとも1つの情報要素を符号化するバイナリ・シーケンスは、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されないことを示す第1の状態と、
    上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素が、いずれも変更されないことを示す第2の状態と、
    上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されることを示す第3の状態とを有するスキーマ状況モードフィールドを含み、
    上記符号化された情報要素は、上記スキーマ状況モードフィールドが上記第1の状態にある時、任意のスキーマ参照及び任意の他の変更情報を含み、上記情報要素のサブ要素は、上記スキーマ状況モードフィールドが上記第2の状態にある時、スキーマ参照及び任意の他の変更情報を含まない請求項1〜5のいずれか1項に記載の符号化方法。
  7. 上記符号化済み文書における少なくとも1つの情報要素を符号化するバイナリ・シーケンスは、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されないことを示す第1の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて上記情報要素のサブ要素が、いずれも変更されないことを示す第2の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されることを示す第3の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されること、および、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第4の状態とを有するスキーマ状況モードフィールドを含み、
    上記符号化された情報要素は、上記スキーマ状況モードフィールドが上記第1の状態にある時、任意のスキーマ参照及び任意の他の変更情報を含み、上記情報要素のサブ要素は、上記スキーマ状況モードフィールドが上記第2の状態又は第4の状態にある時、スキーマ参照及び任意の他の変更情報を含まない請求項1〜5のいずれか1項に記載の符号化方法。
  8. 構造化された文書の符号化に用いる全てのスキーマへの参照を含む上記スキーマ参照リストは、上記構造化された文書を符号化したバイナリ・ストリームに関連するヘッダに挿入される請求項1〜7のいずれか1項に記載の符号化方法。
  9. デコーダがアクセスできない少なくとも第1のスキーマに定義されている構造を有し、当該デコーダがアクセスできる少なくとも第2のスキーマの変更の結果得られる、構造化された文書を符号化したバイナリ・ストリームを、少なくとも部分的に復号化するための復号化方法であって、
    構造化された文書は、互いにネストされた複数の情報要素を含み、上記文書の情報要素は、少なくとも第1のスキーマおよび第2のスキーマにて、それぞれ情報要素の要素構造を定義する要素の型と関連付けされ、
    上記第1のスキーマは、デコーダがアクセスできず、上記第2のスキーマは、上記デコーダがアクセスでき、上記第1のスキーマは、上記第2のスキーマで定義された対応要素から派生した少なくとも1つの派生情報要素を定義し、
    上記復号化方法は、上記第2のスキーマを用いて、上記構造化された文書を符号化したバイナリ・ストリームを順次読み出して復号化するとともに、バイナリ・ストリームにおいて、上記文書の各情報要素を符号化したバイナリ・シーケンスを検出するステップと、
    符号化された要素のバイナリ・シーケンスにおいて、上記デコーダに知られたスキーマ参照リストにて定義された、上記第1のスキーマへの参照を検出するステップと、
    上記スキーマの参照の検出から、上記第1スキーマに関連するバイナリ・データを特定するステップと、
    上記バイナリ・ストリームを順次読み出して復号化する間に、上記第1スキーマに関連するバイナリ・データをスキップするステップとを含む復号化方法。
  10. 上記文書の各要素を符号化した上記バイナリ・シーケンスは、上記要素を符号化した値を含む内容フィールドと、上記内容フィールドの前に配置され、長さを符号化した値を含む長さフィールドとを備え、上記デコーダは、上記長さを符号化した値を、要素を符号化したバイナリ・シーケンスの終了を決定するために用いる請求項9記載の復号化方法。
  11. 上記第1のスキーマへの参照を含むバイナリ・シーケンスの、長さをコード化した値を読み出して復号化するステップと、
    上記第1のスキーマへの参照のバイナリ・シーケンスにおける位置、及び、上記復号化された長さの値の関数として、スキップすべきバイナリ・データの長さを決定するステップとをさらに含む請求項10記載の復号化方法。
  12. 上記派生情報要素は、上記第1のスキーマにおいて、上記第2のスキーマの対応する情報要素の構造型に対して制限された構造型に関連付けされ、
    上記派生要素を符号化したバイナリ・シーケンスは、内容フィールドと、該内容フィールドに付加される、上記第1のスキーマへの参照と、上記第2のスキーマにおいて定義された派生要素の構造型への参照とを備えている請求項9〜11のいずれか1項に記載の復号化方法。
  13. 上記派生情報要素は、上記第1のスキーマにおいて、上記第2のスキーマの対応する情報要素の構造型に対して拡張された構造型に関連付けされ、
    上記派生情報要素の構造型は、上記第2のスキーマで定義された上記対応する情報要素の構造型を有する第1の部分と、上記派生情報要素に固有で、上記第1のスキーマで定義された構造型を有する第2の部分とを含み、
    上記派生要素を符号化したバイナリ・シーケンスは、上記第2のスキーマへの参照を含むフィールドと、
    上記第2のスキーマの対応する要素の構造型への構造型参照を含むフィールドと、
    上記第1の部分を符号した値を含むフィールドと、
    上記第1のスキーマへの参照を含むフィールドと、
    上記第2の部分の構造型への構造型参照を含むフィールドと、
    上記第2の部分を符号化した値を含むフィールドとを含む内容フィールドを含んでいる請求項9〜12のいずれか1項に記載の復号化方法。
  14. 上記派生情報要素は、上記第1スキーマにおいて、上記第2のスキーマの対応する情報要素の名前に対して変更された名前を有し、
    上記派生要素を符号化したバイナリ・シーケンスは、上記派生情報要素の名前が変更されたか否かを示す置換フラグと、上記置換フラグが変更されたことを示す場合、上記第1のスキーマへの参照を含むスキーマ参照フィールドと、上記第1のスキーマにおける上記派生情報要素の名前を指定した要素名参照とを備えている請求項9〜13のいずれか1項に記載の復号化方法。
  15. 上記符号化済み文書における少なくとも1つの情報要素を符号化するバイナリ・シーケンスは、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されないことを示す第1の状態と、
    上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第2の状態と、
    上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されることを示す第3の状態とを有するスキーマ状況モードフィールドを含み、
    上記符号化された情報要素は、上記スキーマ状況モードフィールドが上記第1の状態にある時、スキーマ参照及び他の変更情報を含まず、上記情報要素のサブ要素は、上記スキーマ状況モードフィールドが上記第2の状態にある時、スキーマ参照及びその他の変更情報を含まない請求項9〜14のいずれか1項に記載の復号化方法。
  16. 上記符号化済み文書における少なくとも1つの情報要素を符号化するバイナリ・シーケンスは、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されないことを示す第1の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第2の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されることを示す第3の状態と、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素が変更されること、及び、上記第2のスキーマの対応する要素については、上記第1のスキーマにおいて情報要素のサブ要素がいずれも変更されないことを示す第4の状態とを有するスキーマ状況モードフィールドを含み、
    上記符号化された情報要素は、上記スキーマ状況モードフィールドが上記第1の状態にある時、任意のスキーマ参照及び任意の他の変更情報を含み、上記情報要素のサブ要素は、上記スキーマ状況モードフィールドが上記第2の状態又は第4の状態にある時、スキーマ参照及び任意の他の変更情報を含まない請求項9〜14のいずれか1項に記載の復号化方法。
  17. 上記構造化された文書の符号化に用いる全てのスキーマへの参照を含む上記スキーマ参照リストは、上記構造化された文書を符号化したバイナリ・ストリームに関連するヘッダに読み込みされる請求項9〜16のいずれか1項に記載の復号化方法。
JP2002563606A 2001-02-05 2002-02-04 文書の構造化された記述を圧縮するための方法 Expired - Fee Related JP4615827B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26590101P 2001-02-05 2001-02-05
PCT/EP2002/001333 WO2002063775A2 (en) 2001-02-05 2002-02-04 Method and system for compressing structured documents

Publications (3)

Publication Number Publication Date
JP2004518231A true JP2004518231A (ja) 2004-06-17
JP2004518231A5 JP2004518231A5 (ja) 2005-07-21
JP4615827B2 JP4615827B2 (ja) 2011-01-19

Family

ID=23012331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002563606A Expired - Fee Related JP4615827B2 (ja) 2001-02-05 2002-02-04 文書の構造化された記述を圧縮するための方法

Country Status (8)

Country Link
US (1) US6825781B2 (ja)
EP (1) EP1388211A2 (ja)
JP (1) JP4615827B2 (ja)
KR (1) KR100737606B1 (ja)
CN (1) CN100337407C (ja)
AU (1) AU2002253002B2 (ja)
CA (1) CA2437123C (ja)
WO (1) WO2002063775A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009501991A (ja) * 2005-07-21 2009-01-22 エクスプウェイ 構造化文書を圧縮および解凍するための方法および装置
JP2009123019A (ja) * 2007-11-15 2009-06-04 Canon Inc データ圧縮装置、データ伸長装置およびデータ圧縮方法
JP2009527853A (ja) * 2006-02-24 2009-07-30 マイクロソフト コーポレーション Ediスキーマを共有するためのスケーラブルなアルゴリズム
JP2013089183A (ja) * 2011-10-21 2013-05-13 Toshiba Corp Exiデコーダおよびプログラム
JP2013089185A (ja) * 2011-10-21 2013-05-13 Toshiba Corp 記述方法、exiデコーダおよびプログラム

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031987B2 (en) * 1997-05-30 2006-04-18 Oracle International Corporation Integrating tablespaces with different block sizes
DE50115539D1 (de) 2000-12-22 2010-08-12 Siemens Ag Verfahren zur verbesserung der funktionalität der binären repräsentation von mpeg-7 und anderen xml-basierten inhaltsbeschreibungen
FR2820228B1 (fr) * 2001-01-30 2004-03-12 Expway Procede de codage et de decodage d'un chemin dans l'arborescence d'un document structure
WO2003001404A2 (de) * 2001-06-25 2003-01-03 Siemens Aktiengesellschaft Verfahren zum schnellen suchen von elementen oder attributen oder zur schnellen filterung von fragmenten in binären repräsentationen von strukturierten dokumenten
WO2003001811A1 (de) * 2001-06-25 2003-01-03 Siemens Aktiengesellschaft System zur verbesserten encodierung/decodierung von strukturierten, insbesondere xml-basierten, dokumenten sowie verfahren und vorrichtungen zur verbesserten encodierung/decodierung von binären repräsentationen von solchen dokumenten
JP3832807B2 (ja) * 2001-06-28 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ
US7530015B2 (en) * 2003-06-25 2009-05-05 Microsoft Corporation XSD inference
DE10351897A1 (de) * 2003-07-15 2005-02-17 Siemens Ag Verfahren zur Codierung von strukturierten Dokumenten
WO2005008520A2 (de) 2003-07-15 2005-01-27 Siemens Aktiengesellschaft Verfahren zur codierung von strukturierten dokumenten
EP1515502B1 (en) * 2003-09-15 2007-08-15 Philippe Baumard Method and system for measuring interest levels of digital messages
US7480646B2 (en) * 2003-10-23 2009-01-20 Microsoft Corporation Type path indexing
KR20060123197A (ko) 2003-11-07 2006-12-01 이엑스피웨이 구조적 문서의 압축 및 압축 해제 방법
US7426516B1 (en) * 2003-11-24 2008-09-16 Novell, Inc. Mechanism for supporting indexed tagged content in a general purpose data store
WO2005081408A1 (fr) * 2004-02-13 2005-09-01 Utstarcom (China) Co., Ltd. Methode de codage binaire concue pour des donnees structurees dont le code est automatiquement genere
DE102004009617A1 (de) * 2004-02-27 2005-09-29 Siemens Ag Verfahren und Vorrichtung zur Codierung und Decodierung von strukturierten Dokumenten
CN1697327A (zh) * 2004-05-13 2005-11-16 皇家飞利浦电子股份有限公司 一种顺序压缩/解压缩数据的方法及装置
US7571173B2 (en) * 2004-05-14 2009-08-04 Oracle International Corporation Cross-platform transportable database
US7702627B2 (en) * 2004-06-22 2010-04-20 Oracle International Corporation Efficient interaction among cost-based transformations
US7814042B2 (en) * 2004-08-17 2010-10-12 Oracle International Corporation Selecting candidate queries
US8954400B2 (en) 2004-09-13 2015-02-10 International Business Machines Corporation Method, system and program product for managing structured data
US20060167902A1 (en) 2005-01-21 2006-07-27 Microsoft Corporation System and method for storing a document in a serial binary format
US8111694B2 (en) 2005-03-23 2012-02-07 Nokia Corporation Implicit signaling for split-toi for service guide
US8356053B2 (en) * 2005-10-20 2013-01-15 Oracle International Corporation Managing relationships between resources stored within a repository
US20070143664A1 (en) * 2005-12-21 2007-06-21 Motorola, Inc. A compressed schema representation object and method for metadata processing
CN101133584B (zh) 2006-01-18 2010-11-10 中兴通讯股份有限公司 时分同步码分多址接入通信系统终端设备的随机接入方法
US7945562B2 (en) * 2006-03-15 2011-05-17 Oracle International Corporation Join predicate push-down optimizations
US7644062B2 (en) * 2006-03-15 2010-01-05 Oracle International Corporation Join factorization of union/union all queries
US7809713B2 (en) * 2006-03-15 2010-10-05 Oracle International Corporation Efficient search space analysis for join factorization
US9460064B2 (en) * 2006-05-18 2016-10-04 Oracle International Corporation Efficient piece-wise updates of binary encoded XML data
KR100910061B1 (ko) 2006-09-26 2009-07-30 한국전자통신연구원 디지털 방송을 위한 메타데이터 부호화/복호화 장치 및 그방법
US7827177B2 (en) * 2006-10-16 2010-11-02 Oracle International Corporation Managing compound XML documents in a repository
US9183321B2 (en) * 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
US9953103B2 (en) * 2006-11-16 2018-04-24 Oracle International Corporation Client processing for binary XML in a database system
US8909599B2 (en) * 2006-11-16 2014-12-09 Oracle International Corporation Efficient migration of binary XML across databases
WO2008126392A1 (ja) * 2007-04-11 2008-10-23 Panasonic Corporation 画像生成装置及び画像生成方法
US7747558B2 (en) * 2007-06-07 2010-06-29 Motorola, Inc. Method and apparatus to bind media with metadata using standard metadata headers
US8291310B2 (en) * 2007-08-29 2012-10-16 Oracle International Corporation Delta-saving in XML-based documents
US8438152B2 (en) * 2007-10-29 2013-05-07 Oracle International Corporation Techniques for bushy tree execution plans for snowstorm schema
FR2943441A1 (fr) * 2009-03-18 2010-09-24 Canon Kk Procede de codage ou decodage d'un document structure a l'aide d'un schema xml, dispositif et structure de donnees associes
JP5570202B2 (ja) * 2009-12-16 2014-08-13 キヤノン株式会社 構造化文書解析装置、構造化文書解析方法、及びコンピュータプログラム
US8255372B2 (en) 2010-01-18 2012-08-28 Oracle International Corporation Efficient validation of binary XML data
US10756759B2 (en) 2011-09-02 2020-08-25 Oracle International Corporation Column domain dictionary compression
EP2605481A1 (de) * 2011-12-13 2013-06-19 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Filtern von Netzwerkverkehr
US8812523B2 (en) 2012-09-28 2014-08-19 Oracle International Corporation Predicate result cache
US9680726B2 (en) * 2013-02-25 2017-06-13 Qualcomm Incorporated Adaptive and extensible universal schema for heterogeneous internet of things (IOT) devices
CN103677952B (zh) * 2013-12-18 2018-05-11 华为技术有限公司 编解码器生成装置及方法
US9870390B2 (en) 2014-02-18 2018-01-16 Oracle International Corporation Selecting from OR-expansion states of a query
US10585887B2 (en) 2015-03-30 2020-03-10 Oracle International Corporation Multi-system query execution plan
US10977221B2 (en) 2017-10-20 2021-04-13 Hewlett Packard Enterprise Development Lp Encoding of data formatted in human-readable text according to schema into binary
CN112260699A (zh) * 2020-09-15 2021-01-22 深圳拓邦股份有限公司 属性通讯编解码方法、编码装置、解码装置及系统
CN115757462B (zh) * 2022-11-15 2023-06-06 中国科学院软件研究所 一种面向对象的数据库动态接口生成方法及操作方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113341A (en) * 1989-02-24 1992-05-12 International Business Machines Corporation Technique for creating and expanding element marks in a structured document
US5794030A (en) * 1995-12-04 1998-08-11 Objectivity, Inc. System and method for maintenance and deferred propagation of schema changes to the affected objects in an object oriented database
WO1997034240A1 (en) * 1996-03-15 1997-09-18 University Of Massachusetts Compact tree for storage and retrieval of structured hypermedia documents
US6052686A (en) * 1997-07-11 2000-04-18 At&T Corporation Database processing using schemas
JP2000224255A (ja) * 1999-01-29 2000-08-11 Jisedai Joho Hoso System Kenkyusho:Kk データ送信装置およびデータ送信方法
DE50115539D1 (de) * 2000-12-22 2010-08-12 Siemens Ag Verfahren zur verbesserung der funktionalität der binären repräsentation von mpeg-7 und anderen xml-basierten inhaltsbeschreibungen
EP1223759A1 (en) * 2001-01-08 2002-07-17 Robert Bosch Gmbh Method for providing an extension code for a binary description for multimedia data
FR2820228B1 (fr) * 2001-01-30 2004-03-12 Expway Procede de codage et de decodage d'un chemin dans l'arborescence d'un document structure
FR2820563B1 (fr) * 2001-02-02 2003-05-16 Expway Procede de compression/decompression d'un document structure
US7778606B2 (en) * 2002-05-17 2010-08-17 Network Security Technologies, Inc. Method and system for wireless intrusion detection

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009501991A (ja) * 2005-07-21 2009-01-22 エクスプウェイ 構造化文書を圧縮および解凍するための方法および装置
JP2009527853A (ja) * 2006-02-24 2009-07-30 マイクロソフト コーポレーション Ediスキーマを共有するためのスケーラブルなアルゴリズム
JP2009123019A (ja) * 2007-11-15 2009-06-04 Canon Inc データ圧縮装置、データ伸長装置およびデータ圧縮方法
JP2013089183A (ja) * 2011-10-21 2013-05-13 Toshiba Corp Exiデコーダおよびプログラム
JP2013089185A (ja) * 2011-10-21 2013-05-13 Toshiba Corp 記述方法、exiデコーダおよびプログラム

Also Published As

Publication number Publication date
CN100337407C (zh) 2007-09-12
AU2002253002B2 (en) 2005-03-17
WO2002063775A2 (en) 2002-08-15
CA2437123A1 (en) 2002-08-15
JP4615827B2 (ja) 2011-01-19
KR100737606B1 (ko) 2007-07-10
US6825781B2 (en) 2004-11-30
CN1552126A (zh) 2004-12-01
KR20030085527A (ko) 2003-11-05
CA2437123C (en) 2007-05-29
WO2002063775A3 (en) 2003-11-27
EP1388211A2 (en) 2004-02-11
US20040068696A1 (en) 2004-04-08

Similar Documents

Publication Publication Date Title
JP4615827B2 (ja) 文書の構造化された記述を圧縮するための方法
AU2002253002A1 (en) Method and system for compressing structured descriptions of documents
US8346737B2 (en) Encoding of hierarchically organized data for efficient storage and processing
US8090731B2 (en) Document fidelity with binary XML storage
US7158990B1 (en) Methods and apparatus for data conversion
JP4997777B2 (ja) デリミタを減少させる方法及びシステム
JP5377818B2 (ja) コンパイル済みスキーマに順次アクセスする方法とシステム
US20090138529A1 (en) Method and device for coding and decoding information
MXPA02006077A (es) Formato binario para instancias mpg7.
JP2004178602A (ja) 階層構造化データをインポートし、エクスポートする方法及びコンピュータ可読媒体
JP5044942B2 (ja) 文書分析において受付状態を決定するシステム及び方法
JP5044943B2 (ja) データ文書の高速符号化方法及びシステム
JP5789236B2 (ja) 構造化文書分析方法、構造化文書分析プログラム、および構造化文書分析システム
US7735001B2 (en) Method and system for decoding encoded documents
Werner et al. Compressing soap messages by using pushdown automata
US20060212799A1 (en) Method and system for compiling schema
US7571196B2 (en) Type evolution
Ketels ISO 15022 XML Design Rules
WG et al. Data Format Description Language (DFDL) v1. 0 Specification

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070618

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070920

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070920

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080402

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080417

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080530

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: 20101021

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: 20131029

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees