JP2007516514A - 構造化文書の圧縮および解凍方法 - Google Patents
構造化文書の圧縮および解凍方法 Download PDFInfo
- Publication number
- JP2007516514A JP2007516514A JP2006537269A JP2006537269A JP2007516514A JP 2007516514 A JP2007516514 A JP 2007516514A JP 2006537269 A JP2006537269 A JP 2006537269A JP 2006537269 A JP2006537269 A JP 2006537269A JP 2007516514 A JP2007516514 A JP 2007516514A
- Authority
- JP
- Japan
- Prior art keywords
- fragment
- data block
- block
- structural
- pointer table
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000006835 compression Effects 0.000 title claims abstract description 28
- 238000007906 compression Methods 0.000 title claims abstract description 28
- 230000006837 decompression Effects 0.000 title claims description 10
- 239000012634 fragment Substances 0.000 claims abstract description 85
- 238000003780 insertion Methods 0.000 abstract description 2
- 230000037431 insertion Effects 0.000 abstract description 2
- 239000000872 buffer Substances 0.000 description 28
- 238000000547 structure data Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/25—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
構造化フラグメントグループに対する符号化方法において、構造スキーマのコンポーネントに対して実行可能であり、フラグメント構造及び情報エレメントの値を表わす制御コードをストリームに挿入する指示を含む指示シーケンスを取得するための、構造スキーマ分析ステップと、制御コード値及び情報エレメント値を有するバイナリ符号化コンテナが得られるよう、フラグメントに対し指示シーケンスを実行するステップと、構造ブロック53への制御コード挿入ステップと、情報エレメントの値をタイプ毎にデータブロック54に分配するステップと、制御コード及び情報エレメント値の、構造ブロック及びデータブロックにおける位置をポインタテーブル52に蓄積するステップと、内容に適した圧縮アルゴリズムをデータブロックに適用するステップと、バイナリ符号化コンテナになるようポインタテーブル及びデータブロックの内容を連結するステップとを備える。
【選択図】図4
【選択図】図4
Description
本発明は、コンピューターシステムに関するものである。より詳しくは、SGML(Standard Generalized Markup Language)やXML(Extensible Markup Language)などの汎用のマークアップ言語に適合する文書記述を用いた構造化文書を圧縮する方法およびシステムに関するものである。
本発明は、より詳しくは、デジタルビデオプログラムを記載するメタデータおよびモバイルサービスに適用されるものである。
近年、コンピュータネットワークは、主要な通信媒体となった。コンピュータは、共有のネットワークに接続され、オペレーティングシステムは、アプリケーションソフトに、メッセージの交換を容易に行わせ、インターネット基盤は、コンピュータ同士が対話者を検索するようにし、アプリケーションソフトは、コンピュータ同士が同期するよう複雑なアルゴリズムを利用するようになっている。
このような相互運用の状況において、汎用のマークアップ言語は、文書処理を行うための解決策となる。ここで、文書構造は、文書の取り扱いに重要な役割を果たす。文書の書式設定、印刷あるいは索引付けは、この文書構造に従って行われる。
SGMLは、ドキュメントプレゼンテーションを、文書構造と内容とを容易に分離することを目的として開発された。XMLは、構造を符号化できるので、文書への適用とは異なる目的を有する分野からも注目されている。XMLの利用者は、文書処理以外には、電子商取引、データベースおよび知識表現の分野などに広がっている。
XMLや、より汎用的なマークアップ言語は、文書(メタデータ)を記述し構造化するために広く用いられている。構造化された文書は、ツリーのような構造によって互いに入れ子になった複数の情報エレメントを備えている。情報エレメントは、タグによって互いに識別され分離されており、タグは、情報エレメントのエレメントタイプを識別するようになっている。
構造化文書は、一般に、文書全体を代表する第1の情報エレメントあるいはベースエレメントを備えており、文書の最初と最後に記されたタグによって識別される。この第1のエレメントは、文書パラグラフなどの複数の情報サブエレメントを備えており、各々の情報サブエレメントは、このエレメントの最初と最後に記されたタグによって識別される。タグは、情報エレメントの少なくとも1つ以上の特性を明記したタグ属性と関連付けられていてもよい。
タグ内容は、ディスプレーに表示されたり、利用者により操作されるようになっている。タグ内容は、タグの種類によりオプションあるいは必須であり、追加的な入れ子の情報サブエレメントを有していてもよい。この情報サブエレメントは、タグによって区切られており、内容や属性を有している。
構造化文書は、スキーマと関連付けられていてもよく、スキーマは、構造化文書が“有効”であると認識されるために確認するためのルールを示すようになっている。スキーマは、さらにデフォルト値の情報を含んでおり、エレメントおよび属性のタイプと、タイプの階層を定義するようになっている。受信した文書は、スキーマに適合しておりその結果意図された意味を有していることを有効性により保証される。
スキーマは、さらに各々の記述アイテム(情報エレメントあるいは属性)の種類、すなわちタイプを定義するようになっている。
XML標準は、XMLスキーマ言語を有しており、類似の構造を有するXML文書のクラスに対する文法を特定するようになっている。各々のエレメントタイプおよび属性は、XMLネームスペースに属するネームを有している。
しかしながら、XMLは冗長な言語であるため、処理をする際に非効率であり、送信するためにコストがかかる。このため、ISO/IEC15938−1、より詳しくはMPEG−7(Moving Picture Expert Group)が、構造化文書に対する符号化(圧縮)および復号化の方法およびバイナリフォーマットを提案している。この標準化は、より具体的には、マルチメディアにおけるメタデータなど、より構造化されたデータを扱うようになっている。
本出願人により出願された米国特許出願公開第2004/0013307号明細書および米国特許出願公開第2004/0054692号明細書において開示されているように、この方法は、スキーマ分析段階を有することによって、圧縮効率を高めるようになっている。
この段階において、内部テーブルは、バイナリコードを各々のXMLエレメント、タイプおよび属性と結びつけるよう計算する。この方法においては、符号器と、この符号器に対応する復号器が、同一のスキーマを完全に認識することを必要とする。
ディジタルビデオ送信などいくつかのアプリケーションでは、メタデータは、コンテナの形状でビデオストリームによって送信される。コンテナは、小さいサイズを有するデータフラグメントをグループ化したものである。
この場合、ストリングデータ上では特に冗長が限られるため、ZLIBなどストリングの冗長を利用するストリング圧縮アルゴリズムは、時としては期待される程効率的ではない。
本発明は、フラグメント形態の文書がコンテナにグループ化されたときの圧縮効率を改善することを目的とする。
上記の問題を解決するために、本発明に係る符号化方法は、少なくとも2つの構造化フラグメントを備え、各々の前記フラグメントは、互いに入れ子になっており情報タイプあるいは情報サブタイプに関連付けられた複数の情報エレメントを有しており、かつ文書のツリー型構造を定義し入れ子になった複数の構造コンポーネントを有する少なくとも1つの構造スキーマと関連付けられており、前記フラグメントにおける情報エレメントのタイプあるいはサブタイプが、前記構造スキーマのコンポーネントによって定義されるグループに対する符号化方法において、前記構造スキーマの各々のコンポーネントに対して実行可能であり、前記フラグメントの構造および情報エレメントの値あるいはコンポーネントインストラクションシーケンスコールコードを表わすコントロールコードをビットストリームに挿入するインストラクションと、コントロールコードに応じてシーケンスの実行を制御するインストラクションと、を含むインストラクションシーケンスを取得するために、構造スキーマを分析するステップと、コントロールコード値およびフラグメントの情報エレメント値を有するバイナリ符号化コンテナが得られるよう、グループの構造化された前記フラグメントに対して前記インストラクションシーケンスを実行するステップと、を備えている。
本発明に係る符号化方法は、さらに、フラグメントのコントロールコードを構造ブロックに挿入するステップと、予め定められた情報エレメントタイプあるいはサブタイプを有するフラグメントの情報エレメントの値を、情報エレメントのエレメントタイプに応じて、各エレメントタイプあるいはサブタイプごとに、少なくとも1つのデータブロックに分配するステップと、フラグメントのコントロールコードおよび情報エレメント値の、構造ブロックおよびデータブロックにおける位置を、各々のフラグメントに対してポインタテーブルに蓄積するステップと、データブロックに、前記データブロックの内容に適した圧縮アルゴリズムを適用するステップと、前記ポインタテーブル、前記構造ブロックおよび前記データブロックの内容を、バイナリ符号化コンテナストリームになるよう連結するステップとを備えることを特徴とする。
本発明に係る符号化方法は、さらに、前記ポインタテーブルおよび前記構造ブロックの内容が、前記バイナリ符号化コンテナストリームに挿入される前に、適切な圧縮アルゴリズムによってそれぞれ圧縮されることを特徴とする。
本発明に係る符号化方法は、さらに、前記ポインタテーブル、前記構造ブロックおよび前記データブロックを有する少なくとも2つのエレメントが、前記バイナリ符号化コンテナストリームに挿入される前に、合わせて圧縮されることを特徴とする。
本発明に係る符号化方法は、さらに、前記データブロックの1つが、前記グループのフラグメントに含まれかつ予め定義されたストリングサブタイプに属するサブタイプを含むすべてのストリングデータを有するストリングデータブロック(54i)により構成されており、前記ストリングデータブロックは、バイナリ符号化コンテナストリームに挿入される前に、前記ポインタテーブルおよび前記構造ブロックとともに圧縮されることを特徴とする。
本発明に係る符号化方法は、さらに、前記グループに対応する前記ポインタテーブル、前記構造ブロックおよび前記ストリングデータブロックの内容に適用される前記圧縮アルゴリズムが、ZLIBであることを特徴とする。
本発明に係る符号化方法は、さらに、グループのフラグメントにおけるデータブロック内の連続する飛び越し可能なエレメントのオフセット値が、構造ブロック内に挿入されており、前記飛び越し可能なエレメントの最後を追っていることを特徴とする。
本発明に係る復号化方法は、少なくとも2つの構造化フラグメントがグループ化されており、各々の前記フラグメントが、互いに入れ子になっており情報タイプあるいは情報サブタイプと関連付けられた情報エレメントをそれぞれ有しているバイナリ符号化コンテナ(6)を復号化する方法であり、各々の前記フラグメントは、文書のツリー型構造を定義し入れ子になった複数の構造コンポーネントを有する少なくとも1つの構造スキーマと関連付けられており、フラグメントにおける情報エレメントのタイプあるいはサブタイプが、前記構造スキーマのコンポーネントによって定義される復号化方法において、前記構造スキーマの各々のコンポーネントに対して実行可能であり、バイナリ符号化コンテナのコントロールコード、情報エレメントの値、あるいはコールコードを読込むためのインストラクションと、コントロールコードに応じてシーケンスの実行を制御するためのインストラクションと、を含むインストラクションシーケンスを取得するために、構造スキーマを分析するステップと、少なくとも元のフラグメントのグループと同等の構造を有するグループのフラグメントを復元するために、前記バイナリ符号化コンテナに対して前記インストラクションシーケンスを実行するステップと、を備えることを特徴とする。
本発明に係る復号化方法は、さらに、バイナリ符号化コンテナが、すべての前記フラグメントのコントロールコードを含む構造ブロックと、すべてのフラグメントに対する情報エレメントの値を含み、かつ該エレメントが予め定義されたタイプあるいはサブタイプのセットに属している、少なくとも1つのデータブロックと、フラグメントのコントロールコードおよび情報エレメント値の、構造ブロックおよびデータブロックにおける位置を、各々のフラグメントに対して示すポインタテーブルと、を備えることを特徴とし、前記復号化方法が、さらに、前記ポインタテーブル、前記構造ブロックおよび前記データブロックを読込み、復元されたフラグメントのグループからなるフラグメントを形成するよう、ポインタテーブルを用いて、構造ブロックおよびデータブロック内のデータを組み立てるステップを備えることを特徴とする。
本発明に係る復号化方法は、さらに、前記ポインタテーブル、前記構造ブロックまたは、いずれか1つのデータブロックのうちの少なくとも1つに適切な解凍アルゴリズムを適用することを特徴とする。
本発明に係る復号化方法は、さらに、いずれか1つのデータブロックが、バイナリ符号化コンテナのフラグメント内にありかつ予め定義されたストリングサブタイプのセットに属するストリングサブタイプを有するすべてのストリングデータを含んでおり、前記ポインタテーブルが読込まれる前に、ストリングデータブロックが、ポインタテーブルおよび構造ブロックとともに解凍されることを特徴とする。
本発明に係る復号化方法は、さらに、前記ポインタテーブル、前記構造ブロックおよび前記バイナリ符号化コンテナのすべてのストリングデータを含む前記データブロックの内容に適用される解凍アルゴリズムが、ZLIBであることを特徴とする。
本発明に係る復号化方法は、さらに、構造ブロックが、バイナリ符号化コンテナのフラグメント内の連続する飛び越し可能なエレメントの、データブロックにおけるオフセット値を備え、オフセット値は、前記構造ブロック内の前記飛び越し可能なエレメントの後ろを追っており、前記復号化方法が、さらに、前記オフセットを読込み、データブロックの適切な位置を読込むよう再同期をするために用いるステップを備えることを特徴とする。
本発明に係る符号化(圧縮)方法および復号化(解凍)方法を、図面を参照しながら以下詳細に説明する。
以下、本発明に係る圧縮方法および解凍方法について説明する。
本発明に係る圧縮方法は、図1に示すように、複数の構造化された文書あるいはフラグメントにより構成されたグループ5を取り扱うようになっており、各々のフラグメントは、フラグメントの構造を定義するための構造スキーマ1と関連付けられている。このようなフラグメントは、例えば、構造化されたビデオプログラムのメタデータにより構成されており、ビデオストリームに埋め込まれるようになっている。
本実施の形態の圧縮方法に係るコンピレーション10の段階において、複数のフラグメントにより構成されるグループ内のフラグメントに対するスキーマは、米国特許出願公開第2004/0054692号明細書において開示された方法に従ってコンパイルされ、構造スキーマの各々のコンポーネントに対する実行可能なインストラクションシーケンス2が得られる。
構造スキーマの各々のコンポーネントに対するこれらのインストラクションシーケンス2は、情報エレメントのコントロールコードおよび値やコンポーネントインストラクションシーケンスコールコードを挿入するためのインストラクションと、コントロールコード値に応じてシーケンスの実行を制御するためのインストラクションとを備えている。
構造スキーマのコンピレーションは、スキーマ内における単一の予め定められたオーダーのコンポーネントを得るための正規化ステップと、スキーマの構造コンポーネントの入れ子の数を減らすことによる最適化および平易化ステップとを含んでいる。
次の符号化段階11においては、インストラクションシーケンス2がグループ5内の構造フラグメントに対して実行され、圧縮されたグループ5のフラグメント内の構造情報を含むバイナリストリームが取得されるようになっている。また、バイナリストリームには、基本情報エレメントの値が挿入されている。ここで、基本情報エレメントは、サブエレメントに分解されていない。
基本情報エレメントの値の少なくともいくつかは、バイナリストリームに挿入される前に、圧縮アルゴリズム12によってそれぞれ処理される。圧縮アルゴリズム12は、基本情報エレメントの情報タイプに適したものが選ばれる。
符号化段階11においては、グループ5が、縮小されたバイナリ符号化コンテナ6に変換される。図2は、符号化段階11を詳細に説明するための模式図である。図2において、バイナリシーケンス(インストラクションシーケンス)2は、まずステップ21においてグループ5のフラグメントに対して実行され、バイナリストリーム31が取得される。バイナリストリーム31は、バイナリデータ形式で文書構造を有しており、グループ5のフラグメントに含まれる基本情報エレメントの値が挿入されている。
次に、ステップ22において、バイナリストリーム31が読込まれ、複数のバッファに分配される。複数のバッファは、バイナリ構造シーケンスを取得する第1のバッファ33と、各々の情報エレメントタイプあるいはサブタイプに応じて基本情報エレメントの値が分配されるいくつかのバッファ341、342、・・・34iとによって構成されている。
各々のバッファ34iは、情報エレメントタイプを有するデータを取得する。情報エレメントタイプは、グループ5のフラグメントに対する構造スキーマ1内に予め定義されたセットのタイプあるいはサブタイプに属している。
図3は、バイナリ構造データ41(白のエリア)を含み、ストリングタイプなど他のタイプのデータ42(ハッチされたエリア)が挿入されたバイナリストリーム31を示している。
分配の工程において、バイナリ構造データは第1のバッファ33に挿入され、データ42は、バッファ341に挿入される。この分配の工程において、各々のフラグメントに対するポインタのセットが、ポインタテーブル32に記憶される。各々のポインタセットは、各々のバッファ33、341、342・・・において、フラグメントのデータがメモリ位置のどこから蓄積されたかを参照するポインタを備えている。
各々のポインタは、フラグメントデータの最初のメモリ位置の、バッファの始点に対するゼロベースのバイト数によるオフセットと一致している。
ここで、ステップ21およびステップ22は、バイナリストリームを生成せずに同時に行われてもよく、この場合には、インストラクションシーケンスが実行されるにしたがって、データがバッファ33、34iに分配される。
次に、ステップ23において、ポインタテーブル32および各々のバッファ33、34iの内容に対し、圧縮アルゴリズム12がそれぞれ適用される。これらの圧縮アルゴリズム12は、ポインタテーブルやバッファに含まれるデータのタイプに応じて選択される。
ポインタテーブル32、バイナリデータバッファ(第1のバッファ)33およびストリングを含むバッファ34iは、ZLIBアルゴリズムによって一括して圧縮されると好適である。
ステップ23およびステップ24は、どちらを先に行ってもよく、また、部分的に数回繰り返してもよい。実行する圧縮モジュールの選択と、圧縮パラメータのうち少なくとも一方は、ステップ21の工程で抽出されたパラメータに応じて決定してもよい。
ポインタテーブル32、バイナリデータバッファ33および各バッファ34iの圧縮された内容は、ステップ24において符号化バイナリストリームになるよう連結され、符号化バイナリストリームの先頭にコンテナヘッダが付加される。これにより、図4に示すように、バイナリ符号化コンテナ6が生成される。バイナリ符号化コンテナ6は、コンテナヘッダ51と、圧縮されたポインタテーブル32の内容を含むカプセル化構造52と、バイナリデータバッファ33の圧縮した内容を含む構造データブロック53と、バッファ34iのそれぞれ圧縮した内容を含む複数のデータブロックとを備えている。
図4に示す例においては、バイナリ符号化コンテナ6は、バッファ341の圧縮された内容を含むストリングデータブロック541を備えている。
カプセル化構造52は、第1のフラグメントおよび第2のフラグメントに対するポインタ55、56を備えている。ポインタ55は、構造データブロック53内における第1のフラグメントの構造データ57に対するポインタを備え、また、ストリングデータブロック541内における第1のフラグメントのストリングデータ59に対するポインタを備えている。
同様に、ポインタ56は、構造データブロック53内における第2のフラグメントの構造データ58に対するポインタを備え、また、ストリングデータブロック541内における第2のフラグメントのストリングデータ60に対するポインタを備えている。
コンテナヘッダ51は、バイナリ符号化コンテナ6の主要部に対するポインタを備え、バイナリ符号化コンテナ6内におけるカプセル化構造52およびデータブロック53、54iの位置を示すようになっている。
図5は、本発明に係る復号化方法を示したものである。
この復号化方法は、復号化段階11’を備えており、インストラクションシーケンス2’および解凍アルゴリズム12’がバイナリ符号化コンテナ6に対して実行され、復号化されたフラグメントのグループ5’が生成される。
インストラクションシーケンス2’は、バイナリ符号化コンテナ6に含まれるフラグメントに対する構造スキーマから取得される。これらのインストラクションシーケンス2は、図1に示す符号化方法に用いられたものに対応しており、挿入インストラクションが読込みインストラクションに置き換わったものである。
図6に詳細を示すように、復号化段階11’は、ステップ61を備えており、バイナリ符号化コンテナ6が読込まれる。また、コンテナヘッダ51内の情報を用いて、カプセル化構造52、構造データブロック53およびストリングデータブロック54が、ポインタテーブル72、構造バイナリデータバッファ73、データバッファ741、742、・・・74iに同じタイプのデータごとにそれぞれ分配される。
次に、ステップ62において、ポインタテーブル72およびバッファ73、74iに含まれるバイナリストリームが、適切な解凍アルゴリズム12’によって解凍される。
ステップ61および62は、同時に行われてもよく、この場合には、符号化コンテナの後半部が読込まれているときに、解凍アルゴリズムがバイナリ符号化コンテナに適用され、ポインタテーブル72やバッファ73、74iに分配される。ステップ61と62とは、どちらを先に行ってもよく、部分的に繰り返して行ってもよい。
次に、ステップ63において、ポインタテーブル72と、バッファ73、74iとが読込まれ、コンテナの各々のフラグメントを含むバイナリストリーム75が再び組み立てられる。
次に、バイナリストリーム75に含まれるバイナリ構造データが、フラグメントに対するスキーマ1から生成されたインストラクションシーケンス2’を用いて復号化される。これにより、復号化されたフラグメント5’のグループが生成される(ステップ64)。
ステップ63および64は、同時に行われてもよい。この場合には、バッファ74iに含まれるデータを含むフラグメントが組み立てられる前に、構造データバッファ73の内容が復号化される。
このような構成により、本発明の符号化方法は、フラグメント間のデータの冗長に対して統計的な圧縮アルゴリズムを利用できるので、コンテナに対する全般的な圧縮効率を改善することができる。
また、本発明の符号化方法は、圧縮アルゴリズムがフラグメント内に対して適用されるのではないため、圧縮アルゴリズムの実行を簡単化し、互換性を高めることができる。
また、それぞれのフラグメントに含まれる同じタイプのバイトが並ぶため、バイナリストリームの構造部分の圧縮を大幅に改善することができる。さらに、コンテナを復号化することなく、コンテナ内のストリングの検索を容易に行うことができる。
図7および図8は、新しいバージョンの構造スキーマをサポートしない復号器が、バイナリ符号化ストリームにおいて認識しない部分をスキップできるようにし、スキーマ互換性をサポートする方法を示したものである。スキーマ互換性に関するより詳細な情報は、米国特許出願公開第2004/0068696号明細書に開示されている。
カプセル化構造52内のポインタテーブルによってアドレスされたブロック53、54iへデータを分配する場合、バイナリストリームの一部の塊がスキップされた後、ポインタをブロック53、54iに再一致させる必要がある。
本発明の特徴によると、ブロック54i内におけるスキップ可能な塊に対するオフセット値81、81’(各々のブロック54iの先頭からの値)が構造バイナリデータブロック53に挿入されており、飛び越し可能なエレメント82の後ろに続く各データに対しては、ブロック54i内のどこを読むべきかを示し、構造ブロック53における飛び越し可能なエレメント82の直前におかれている。
バイナリストリーム6を復号化するときは、復号器はこれらのオフセットを読込み、バッファ74i内の適切な位置にポインタが再一致するようオフセットを利用する。
Claims (11)
- 少なくとも2つの構造化フラグメントを備え、
各々の前記フラグメントは、互いに入れ子になっており情報タイプあるいは情報サブタイプに関連付けられた複数の情報エレメントを有しており、かつ文書のツリー型構造を定義し入れ子になった複数の構造コンポーネントを有する少なくとも1つの構造スキーマと関連付けられており、
前記フラグメントにおける情報エレメントのタイプあるいはサブタイプが、前記構造スキーマのコンポーネントによって定義されるグループ(5)に対する符号化方法において、
前記構造スキーマの各々のコンポーネントに対して実行可能であり、前記フラグメントの構造および情報エレメントの値あるいはコンポーネントインストラクションシーケンスコールコードを表わすコントロールコードをビットストリームに挿入するインストラクションと、コントロールコードに応じてシーケンスの実行を制御するインストラクションと、を含むインストラクションシーケンス(2)を取得するために、構造スキーマ(1)を分析するステップと、
コントロールコード値およびフラグメントの情報エレメント値を有するバイナリ符号化コンテナ(6)が得られるよう、グループ(5)の構造化された前記フラグメントに対して前記インストラクションシーケンスを実行するステップと、を備え、前記符号化方法は、さらに、
フラグメントのコントロールコードを構造ブロック(53)に挿入するステップと、
予め定められた情報エレメントタイプあるいはサブタイプを有するフラグメントの情報エレメントの値を、情報エレメントのエレメントタイプに応じて、各エレメントタイプあるいはサブタイプごとに、少なくとも1つのデータブロック(54i)に分配するステップと、
フラグメントのコントロールコードおよび情報エレメント値の、構造ブロックおよびデータブロックにおける位置を、各々のフラグメントに対してポインタテーブル(52)に蓄積するステップと、
前記データブロックに、前記データブロックの内容に適した圧縮アルゴリズムを適用するステップと、
前記ポインタテーブル、前記構造ブロックおよび前記データブロックの内容を、バイナリ符号化コンテナストリームになるよう連結するステップとを備えることを特徴とする符号化方法。 - 前記ポインタテーブル(52)および前記構造ブロック(53)の内容が、前記バイナリ符号化コンテナストリーム(6)に挿入される前に、適切な圧縮アルゴリズム(12)によってそれぞれ圧縮されることを特徴とする請求項1に記載の符号化方法。
- 前記ポインタテーブル(52)、前記構造ブロック(53)および前記データブロック(54i)を有する少なくとも2つのエレメントが、前記バイナリ符号化コンテナストリーム(6)に挿入される前に、合わせて圧縮されることを特徴とする請求項1又は2に記載の符号化方法。
- 前記データブロック(54i)の1つが、前記グループ(5)のフラグメントに含まれかつ予め定義されたストリングサブタイプに属するサブタイプを含むすべてのストリングデータを有するストリングデータブロック(54i)により構成されており、
前記ストリングデータブロック(54i)は、バイナリ符号化コンテナストリーム(6)に挿入される前に、前記ポインタテーブル(52)および前記構造ブロック(53)とともに圧縮されることを特徴とする請求項1又は3に記載の符号化方法。 - 前記グループ(5)に対応する前記ポインタテーブル(52)、前記構造ブロック(53)および前記ストリングデータブロック(54i)の内容に適用される前記圧縮アルゴリズムが、ZLIBであることを特徴とする請求項4に記載の符号化方法。
- グループ(5)のフラグメントにおけるデータブロック(54i)内の連続する飛び越し可能なエレメント(82)のオフセット値(81、81’)が、構造ブロック(53)内に挿入されており、前記飛び越し可能なエレメント(82)の最後を追っていることを特徴とする請求項1乃至5に記載の符号化方法。
- 少なくとも2つの構造化フラグメントがグループ化されており、各々の前記フラグメントが、互いに入れ子になっており情報タイプあるいは情報サブタイプと関連付けられた情報エレメントをそれぞれ有しているバイナリ符号化コンテナ(6)を復号化する方法であり、
各々の前記フラグメントは、文書のツリー型構造を定義し入れ子になった複数の構造コンポーネントを有する少なくとも1つの構造スキーマと関連付けられており、
フラグメントにおける情報エレメントのタイプあるいはサブタイプが、前記構造スキーマのコンポーネントによって定義される復号化方法において、
前記構造スキーマの各々のコンポーネントに対して実行可能であり、バイナリ符号化コンテナのコントロールコード、情報エレメントの値、あるいはコールコードを読込むためのインストラクションと、コントロールコードに応じてシーケンスの実行を制御するためのインストラクションと、を含むインストラクションシーケンス(2)を取得するために、構造スキーマを分析するステップと、
少なくとも元のフラグメント(5)のグループと同等の構造を有するグループ(5’)のフラグメントを復元するために、前記バイナリ符号化コンテナ(6)に対して前記インストラクションシーケンスを実行するステップと、を備え、バイナリ符号化コンテナ(6)が、
すべての前記フラグメントのコントロールコードを含む構造ブロック(53)と、
すべてのフラグメントに対する情報エレメントの値を含み、かつ該エレメントが予め定義されたタイプあるいはサブタイプのセットに属している、少なくとも1つのデータブロック(54i)と、
フラグメントのコントロールコードおよび情報エレメント値の、構造ブロックおよびデータブロックにおける位置を、各々のフラグメントに対して示すポインタテーブル(52)と、を備えることを特徴とし、前記復号化方法が、さらに、
前記ポインタテーブル、前記構造ブロックおよび前記データブロックを読込み、復元されたフラグメントのグループ(5’)からなるフラグメントを形成するよう、ポインタテーブルを用いて、構造ブロックおよびデータブロック内のデータを組み立てるステップを備えることを特徴とする復号化方法。 - 前記ポインタテーブル(52)、前記構造ブロック(53)または、いずれか1つのデータブロック(54i)のうちの少なくとも1つに適切な解凍アルゴリズムを適用することを特徴とする請求項7に記載の復号化方法。
- いずれか1つのデータブロック(54i)が、バイナリ符号化コンテナ(6)のフラグメント内にありかつ予め定義されたストリングサブタイプのセットに属するストリングサブタイプを有するすべてのストリングデータを含んでおり、
前記ポインタテーブル(52)が読込まれる前に、ストリングデータブロックが、ポインタテーブル(52)および構造ブロック(53)とともに解凍されることを特徴とする請求項7又は8に記載の復号化方法。 - 前記ポインタテーブル(52)、前記構造ブロック(53)および前記バイナリ符号化コンテナ(6)のすべてのストリングデータを含む前記データブロック(54i)の内容に適用される解凍アルゴリズムが、ZLIBであることを特徴とする請求項9に記載の復号化方法。
- 構造ブロック(53)が、バイナリ符号化コンテナ(6)のフラグメント内の連続する飛び越し可能なエレメント(82)の、データブロック(54i)におけるオフセット値(81、81’)を備え、オフセット値(81、81’)は、前記構造ブロック内の前記飛び越し可能なエレメントの後ろを追っており、
前記復号化方法が、さらに、前記オフセットを読込み、データブロック(54i)の適切な位置を読込むよう再同期をするために用いるステップを備えることを特徴とする請求項7乃至10に記載の復号化方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51788603P | 2003-11-07 | 2003-11-07 | |
PCT/EP2004/012627 WO2005046059A1 (en) | 2003-11-07 | 2004-11-08 | Method for compressing and decompressing structured documents |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007516514A true JP2007516514A (ja) | 2007-06-21 |
Family
ID=34572971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006537269A Pending JP2007516514A (ja) | 2003-11-07 | 2004-11-08 | 構造化文書の圧縮および解凍方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7571152B2 (ja) |
EP (1) | EP1902523A1 (ja) |
JP (1) | JP2007516514A (ja) |
KR (1) | KR20060123197A (ja) |
CA (1) | CA2544327A1 (ja) |
WO (1) | WO2005046059A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE370466T1 (de) * | 2003-09-15 | 2007-09-15 | Philippe Baumard | Verfahren und system zur interessenniveaumessung von digitalen nachrichten |
CN101902489B (zh) * | 2009-06-01 | 2013-04-17 | 华为技术有限公司 | 一种消息发送方法、处理方法、客户端、路由器和系统 |
KR20130030681A (ko) * | 2011-09-19 | 2013-03-27 | 한국전자통신연구원 | 구조화된 데이터의 부호화 및 복호화 방법과 그 장치 |
CN110377226B (zh) * | 2019-06-10 | 2022-02-25 | 平安科技(深圳)有限公司 | 基于存储引擎bluestore的压缩方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06164406A (ja) * | 1992-11-27 | 1994-06-10 | Matsushita Electric Ind Co Ltd | データ圧縮装置及びデータ圧縮方法 |
WO2002063776A2 (fr) * | 2001-02-02 | 2002-08-15 | Expway | Procede de compression/decompression d'un document structure |
JP2003273860A (ja) * | 2002-03-19 | 2003-09-26 | Ricoh Co Ltd | 暗号化文書閲覧方法、暗号化文書閲覧システム、暗号化文書閲覧プログラム、暗号化文書閲覧プログラムを格納する記憶媒体、暗号化文書閲覧システムに用いられる管理装置、暗号化文書のデータ構造、暗号化文書のデータ構造生成装置、及び暗号化文書のデータ構造生成プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933842A (en) * | 1996-05-23 | 1999-08-03 | Microsoft Corporation | Method and system for compressing publication documents in a computer system by selectively eliminating redundancy from a hierarchy of constituent data structures |
US6883137B1 (en) * | 2000-04-17 | 2005-04-19 | International Business Machines Corporation | System and method for schema-driven compression of extensible mark-up language (XML) documents |
AUPR063400A0 (en) * | 2000-10-06 | 2000-11-02 | Canon Kabushiki Kaisha | Xml encoding scheme |
BR0107329A (pt) * | 2000-10-17 | 2002-08-27 | Koninkl Philips Electronics Nv | Processo de codificação para codificar um elemento de descrição de uma instância de um esquema tipo xml, processo de decodificação para decodificar um fragmento compreendendo um conteúdo e uma sequência de informação de identificação, codificador para codificar um elemento de descrição de uma instância de um esquema tipo xml, decodificador para decodificar um fragmento compreendendo um conteúdo e uma sequência de informação de identificação, sistema de transmissão, sinal para transmissão através de uma rede de transmissão, e, tabela destinada a ser usada em um codificador |
EP1388211A2 (en) * | 2001-02-05 | 2004-02-11 | Expway | Method and system for compressing structured documents |
US7240285B2 (en) * | 2001-03-01 | 2007-07-03 | Sony Corporation | Encoding and distribution of schema for multimedia content descriptions |
AU2003250302A1 (en) * | 2002-07-15 | 2004-03-03 | Siemens Aktiengesellschaft | Method and devices for encoding/decoding structured documents, especially xml documents |
-
2004
- 2004-11-08 EP EP04797715A patent/EP1902523A1/en not_active Withdrawn
- 2004-11-08 CA CA002544327A patent/CA2544327A1/en not_active Abandoned
- 2004-11-08 JP JP2006537269A patent/JP2007516514A/ja active Pending
- 2004-11-08 KR KR1020067010141A patent/KR20060123197A/ko not_active Application Discontinuation
- 2004-11-08 WO PCT/EP2004/012627 patent/WO2005046059A1/en active Application Filing
-
2006
- 2006-05-05 US US11/381,768 patent/US7571152B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06164406A (ja) * | 1992-11-27 | 1994-06-10 | Matsushita Electric Ind Co Ltd | データ圧縮装置及びデータ圧縮方法 |
WO2002063776A2 (fr) * | 2001-02-02 | 2002-08-15 | Expway | Procede de compression/decompression d'un document structure |
JP2003273860A (ja) * | 2002-03-19 | 2003-09-26 | Ricoh Co Ltd | 暗号化文書閲覧方法、暗号化文書閲覧システム、暗号化文書閲覧プログラム、暗号化文書閲覧プログラムを格納する記憶媒体、暗号化文書閲覧システムに用いられる管理装置、暗号化文書のデータ構造、暗号化文書のデータ構造生成装置、及び暗号化文書のデータ構造生成プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20060123197A (ko) | 2006-12-01 |
EP1902523A1 (en) | 2008-03-26 |
US20060259167A1 (en) | 2006-11-16 |
WO2005046059A1 (en) | 2005-05-19 |
CA2544327A1 (en) | 2005-05-19 |
US7571152B2 (en) | 2009-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7707154B2 (en) | Method and devices for encoding/decoding structured documents, particularly XML documents | |
US6825781B2 (en) | Method and system for compressing structured descriptions of documents | |
KR100424130B1 (ko) | 데이터 압축 장치, 데이터베이스 시스템, 데이터 통신시스템, 데이터 압축 방법, 기억 매체 및 프로그램 전송장치 | |
KR101011663B1 (ko) | Xml 문서의 구조적 스트리밍을 위한 방법 및 장치 | |
KR100614677B1 (ko) | 구조화된 문서를 압축/복원하기 위한 방법 | |
US20070143664A1 (en) | A compressed schema representation object and method for metadata processing | |
US20080294980A1 (en) | Methods and Devices for Compressing and Decompressing Structured Documents | |
MXPA02006077A (es) | Formato binario para instancias mpg7. | |
US8683320B2 (en) | Processing module, a device, and a method for processing of XML data | |
KR100695126B1 (ko) | 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템과, afx부호화 방법 및 장치 | |
JP2004536481A (ja) | 構造化文書の木構造におけるパスの符号化および復号化方法 | |
US7676742B2 (en) | System and method for processing of markup language information | |
US7571152B2 (en) | Method for compressing and decompressing structured documents | |
US20040111677A1 (en) | Efficient means for creating MPEG-4 intermedia format from MPEG-4 textual representation | |
US7797346B2 (en) | Method for improving the functionality of the binary representation of MPEG-7 and other XML based content descriptions | |
JP2006519422A (ja) | 構造化されたドキュメントのエンコーディング方法 | |
JP5553466B2 (ja) | バイナリマルチメディアデータを含むビットストリームを生成するための方法 | |
JP5536066B2 (ja) | 要素の符号化方法と装置 | |
EP2039009A1 (en) | Methods and devices for compressing structured documents | |
EP2348731A1 (en) | Method and system for generating input file using meta representation on compression of graphics data, and animation framework extension (AFX) coding method and apparatus | |
JP2004342029A (ja) | 構造化文書圧縮方法及び装置 | |
JP4668273B2 (ja) | Xmlを基礎とする文書の符号化のための方法 | |
JP2005276193A (ja) | Dibrデータのためのスキーマ及びスタイルシート |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100727 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110201 |