JP2012502337A - 要素の符号化方法と装置 - Google Patents

要素の符号化方法と装置 Download PDF

Info

Publication number
JP2012502337A
JP2012502337A JP2011525563A JP2011525563A JP2012502337A JP 2012502337 A JP2012502337 A JP 2012502337A JP 2011525563 A JP2011525563 A JP 2011525563A JP 2011525563 A JP2011525563 A JP 2011525563A JP 2012502337 A JP2012502337 A JP 2012502337A
Authority
JP
Japan
Prior art keywords
data structure
current element
encoding
encoded
decoding
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
JP2011525563A
Other languages
English (en)
Other versions
JP5536066B2 (ja
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2012502337A publication Critical patent/JP2012502337A/ja
Application granted granted Critical
Publication of JP5536066B2 publication Critical patent/JP5536066B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Document Processing Apparatus (AREA)

Abstract

各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素を符号化する方法を提供する。該方法は、符号化するカレント要素を選択する段階と、前記カレント要素が先行して符号化された要素と同じデータ構造タイプを有するか判断する段階と、前記判断が否定的であれば、前記カレント要素のデータ構造と前記カレント要素の少なくとも1つの属性値とを符号化する段階と、前記判断が肯定的であれば、前記カレント要素の少なくとも1つの属性値を符号化し、前記カレント要素が前記先行して符号化された要素と同じデータ構造タイプを有することを示す表示値を提供する段階とを有することを特徴とする。この方法を用いて構造情報の符号化における冗長性を低減する。
【選択図】図2

Description

本発明は、データプロセスに関し、より具体的には、要素の符号化方法と装置に関する。
現在、異なる複数のタイプのデータを含む構造化文書としてデータを記憶し、伝送することが多い。構造化文書は一組の要素である。各要素は、あるタイプを有し、少なくとも1つの属性を有し、主に階層的な関係により相互接続されている。構造化文書の典型的な例は、拡張可能なマーク付け言語(XML)文書である。
構造化文書は、異なる要素を分離するマーカ(「タグ」とも呼ぶ)を含む。要素はそれ自体が複数の属性と下位要素を有する。下位要素はサブエレメントとも呼ぶ。このように、構造化文書はツリー構造や階層構造を表す。各ノードは要素を表し、下位要素を含む要素を表すノードと、上位階層において接続されている。ツリー構造の枝の先にあるノードは、情報サブエレメントに分割できないデータを含む要素を表す。ここで、枝の先にあるノードのデータは、あるタイプの属性の値であると考えられる。
構造化文書を符号化する圧縮方法には複数の方法があり、そのうちの1つはスキーマベース圧縮方法である。構造化文書を定義するスキーマ自体も構造化文書である。スキーマの典型的な例はXMLスキーマである。一般的に、XMLスキーマは、XMLインスタンスの構造を定義する一組のスキーマコンポーネントである。スキーマコンポーネントは、それ自体が要素でもあり、スキーマのデータモデルテンプレートを有するビルディングブロック用の一般用語である。スキーマベースの圧縮方法を用いて構造化文書のインスタンスを圧縮するプロセスでは、スキーマの定義から有限状態オートマトン(FSA)を求め、対応するFSAを用いてスキーマのインスタンスまたはそれの一部をビットストリームに変換できる。スキーマコンポーネントによっては発生制約(occurrence constraint)がある。これは、属性minOccursとmaxOccursにより定義される。通常、この種のスキーマコンポーネントは発生ノード(occurrence node)と呼ばれる。
以下は、属性maxOccursを100に設定した発生ノードを含むXMLスキーマの例である。
<?xml version="1.0" encoding="ISO-8859-1"?>
<schema targetNamespace="urn:thomson:SchemaExample"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:s="urn:thomson:SchemaExample"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<element name="testSchema">
<complexType>
<choice maxOccurs="100">
<element name="e1" type="xs:string"/>
<element name="e2" type="xs:string"/>
<element name="e3" type="xs:string"/>
<element name="e4" type="xs:string"/>
<element name="e5" type="xs:string"/>
</choice>
</complexType>
</element>
</schema>
以下は、上記のXMLスキーマによるインスタンスの例である。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<s:testSchema xmlns:s="urn:thomson:SchemaExample"
xmlns:b="urn:thomson:SchemaB" xmlns:a="urn:thomson:SchemaA"
xmlns:c="urn:thomson:SchemaC"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:thomson:SchemaExample ./SchemaExample.xsd">
<e1>AAAA</e1>
<e1>BBBB</e1>
<e1>CCCC</e1>
<e1>DDDD</e1>
<e1>EEEE</e1>
</s:testSchema>
このXMLインスタンスでは、異なるデータ値でe1が5回繰り返されることが分かる。従来のスキーマベースの圧縮方法では、要素e1の同じ構造情報が、符号化ビットストリームにおいて5回繰り返される。これは冗長である。
本発明の一態様によると、各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素を符号化する方法が提供される。該方法は、 符号化するカレント要素を選択する段階と、前記カレント要素が先行して符号化された要素と同じデータ構造タイプを有するか判断する段階と、前記判断が否定的であれば、前記カレント要素のデータ構造と前記カレント要素の少なくとも1つの属性値とを符号化する段階と、前記判断が肯定的であれば、前記カレント要素の少なくとも1つの属性値を符号化し、前記カレント要素が前記先行して符号化された要素と同じデータ構造タイプを有することを示す表示値を提供する段階とを有することを特徴とする。
本発明の一態様によると、各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素の符号化データを復号する方法が提供される。該方法は、復号するカレント要素の符号化データを選択する段階と、前記カレント要素が先行復号要素と同じデータ構造タイプを有することを示す前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造タイプを有すると判断したとき、前記符号化データを復号することにより前記少なくとも1つの属性値を求め、前記先行復号要素のデータ構造を用いることにより前記カレント要素のデータ構造を求める段階とを実行させる命令を有することを特徴とする。
本発明の一態様によると、一タイプのデータ構造と少なくとも1つの属性値とを有するカレント要素の符号化データを担うデータ構造が提供される。該データ構造は、 前記少なくとも1つの属性値の符号化データを担うように用いる属性値フィールドと、前記カレント要素が先行符号化要素と同じデータ構造タイプを有するか示すように用いる表示フィールドとを有することを特徴とする。
本発明の一態様によると、各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素を符号化する符号化装置が提供される。該符号化装置は、 データを受け取るように構成された入力モジュールと、符号化するカレント要素が先行符号化要素と同じデータ構造タイプを有するか判断し、前記判断が否定的であれば、前記カレント要素のデータ構造と前記少なくとも1つの属性値とを符号化し、前記判断が肯定的であれば、前記カレント要素の少なくとも1つの属性値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造タイプを有することを示す表示値を提供するように構成されたプロセスモジュールとを有することを特徴とする。
本発明の一態様によると、各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素の符号化データを復号する復号装置が提供される。該復号装置は、復号するカレント要素の符号化データを受け取るように構成された入力モジュールと、前記カレント要素が先行復号要素と同じデータ構造タイプを有することを示す前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造タイプを有するかどうか判断し、前記判断が肯定的であれば、前記符号化データを復号することにより前記少なくとも1つの属性値を求め、前記先行復号要素のデータ構造を用いることにより前記カレント要素のデータ構造を求めるように構成されたプロセスモジュールとを有する。
本発明の一態様によると、構造情報の符号化時の冗長性を低減できる。
言うまでもなく、本発明のその他の態様と効果は、以下に記載した本発明の詳細な説明を読めば明らかになる。
添付した図面を参照して本発明の実施形態を以下に説明する。図面は本発明をよりよく理解するためのものであり、本出願の一部である。本発明は実施形態に限定されない。
本発明の一実施形態による、発生ノードの状態遷移を示す図である。 本発明の上記実施形態による符号化装置が実行する符号化方法を示すフローチャートである。 本発明の上記実施形態による復号装置が実行する復号方法を示すフローチャートである。 本発明の上記実施形態による符号化装置を示すブロック図である。 本発明の上記実施形態による復号装置を示すブロック図である。
図面を参照して本発明の実施形態を詳細に説明する。以下の説明では、明確性と簡潔性のために、既知の機能や構成の詳細な説明を省略することもある。
実施形態は、スキーマベースの圧縮方法を利用するデータ処理環境において説明する。一例として、ISOのウェブサイトから入手可能な文書ISO/IEC 15938‐1:2002/Amd 2: 2006 Information Technology ‐Multimedia Content Description Interface‐Part1, Systemsに、スキーマベースの圧縮環境についての定義がある。以下に説明する実施形態は、明細書に示した変更をしたかかる環境のフレームワークにある。しかし、本発明は説明する実施形態に限定されない。
スキーマベースの圧縮方法では、FSAを用いて要素の構造情報を符号化する。ここで、インスタンスの構造情報には、構造化文書のインスタンスの要素に含まれるデータ値を除く、要素のコンポーネントに関する情報、例えばシーケンス、選択、プロパティ、その他の要素を構成する構造が含まれる。本発明の実施形態による発生ノードの状態遷移図である図1から分かるように、FSAは、シャント遷移とループ遷移(ループ開始遷移、ループ終了遷移、及びループ継続遷移)を用いて要素またはそのグループを符号化する。さらに、冗長な構造情報を減らすために、「繰り返し状態」及び「非繰り返し状態」を加えた。
本実施形態は、ISO/IEC 15938‐1:2002/Amd 2: 2006 Information Technology ‐Multimedia Content Description Interface‐Part1に多少変更をしたフレームワークにあるので、状態と遷移に関して簡単に説明しておく。
要素遷移:遷移すると、どの要素があるか復号器に指示する。
タイプ状態:有効化されると、タイプ復号器をトリガーする。
ループ遷移:要素またはそのグループを復号のモデル化に用いる。実施形態では、「ループ遷移」は「ループ開始遷移」、「ループ終了遷移」、「ループ継続遷移」、「繰り返し遷移」、及び「非繰り返し遷移」を含む。
ループ開始遷移:要素またはそのグループを多数回復号する時に発生する。
ループ継続遷移:少なくとももう1つの要素またはグループを復号する時に発生する。
ループ終了遷移:復号する要素またはそのグループがもう無い時に発生する。
コード遷移:バイナリコードとシグネチャに関連する。コード遷移は、それが関連するバイナリコードをバイナリ記述ストリームから読み出した時に発生する。バイナリコードはそのシグネチャから求める。
シャント遷移:特殊な種類のコード遷移である。バイナリコード値は常に0である。
シンプル状態:特定のビヘイビアはなく、オートマトンの構成に用いる。
繰り返し状態:要素の構造情報が、先行要素の構造情報と同じときに発生する。
非繰り返し状態:要素の構造情報が、先行要素の構造情報と異なるときに発生する。
XMLファイルまたはその一部を圧縮するとき、各要素を1つずつ解析し、ネスト状の要素の場合には再帰的に解析する。発生要素のプロセスについては、図1に示したようにFSA中でループし、通過した遷移のコードが符号化結果を構成する。背景のXMLインスタンスの例では、要素e1が5回、異なるデータ値で発生することを示している。最初に、コード遷移、ループ遷移、要素遷移を通り、タイプ状態まで行く。要素e1が発生したのは始めてなので、ループ継続遷移を通ってシンプル状態に直接行く。次に、第2の要素e1の符号化中にタイプ状態に2回目に来ると、第2の要素e1の構造情報が先行符号化要素の構造情報と同じか判断する。同じであり、次の要素もe1であれば、繰り返し状態を通ってシンプル状態に行く。同じでなければ、非繰り返し状態を通る。この手順はすべての要素を解析するまで繰り返す。最後に、ループ終了遷移を通って終了状態に行く。
符号化装置は、XMLインスタンスを、対応するXMLスキーマを用いて符号化することにより圧縮する。図2は、本実施形態による符号化装置が実行する、XMLスキーマを用いた符号化方法を示すフローチャートである。
ステップ201において、符号化装置は、XMLスキーマに基づき、XMLファイル中の要素の符号化に用いるすべてのFSAを生成する。
ステップ202において、符号化装置は、XMLスキーマに関連する、符号化するXMLファイルを受け取る。
ステップ203において、符号化装置は、XMLファイルから、カレント要素として一要素を取る。
ステップ204において、符号化装置は、カレント要素がEOF(end of file)であるか判断する。EOFであれば、符号化装置はステップ205において符号化プロセスを終了する。EOFでなければ、ステップ206に進む。
ステップ206において、符号化装置は、対応するFSAを用いて可憐と要素の構造情報を符号化して、符号化構造情報を生成する。ここで、符号化構造情報は一般的にはバイナリフォーマットである。さらに、カレント要素に含まれるデータ値を、このステップで、または最後の符号化構造情報を出力した後のステップで符号化して、符号化データ値を生成する。符号化構造情報と符号化データ値とを組み合わせて、求める符号化要素を構成する。構造情報符号化の冗長性を低減するため、以下のステップでは、構造情報の符号化の面に主にフォーカスする。
ステップ207において、符号化装置は、カレント要素が発生ノードのサブエレメントに対応し、先行要素が同じ発生ノードのサブエレメントに対応するか判断する。対応しなければ、ステップ209に進む。対応すれば、ステップ208に進む。本方法では発生ノードの符号化における冗長性を低減したいので、このステップにおいて、カレント要素が同じ発生ノードに属するか判断しようとするものである。それゆえ、カレント要素と先行要素が同じ発生ノードに属さない場合、以下の判断ステップは省略できる。
ステップ209において、符号化装置は符号化構造情報をカレント要素に出力する。
ステップ208において、符号化装置は、カレント要素の要素定義情報が先行要素の要素定義情報と同じか、判断する。同じでなければ、ステップ212に進む。同じであれば、ステップ210に進む。このステップを用いて、同じ発生ノードの異なるサブエレメントである要素を区別する。異なる要素の異なる構造情報であっても符号化構造情報は同じ場合もあるので、このステップが必要な場合もある。ここで、要素定義情報は、スキーマの要素の詳細構造を定義するために用いる情報である。前述のXMLスキーマの例から分かるように、XMLスキーマの要素e1と要素e2の要素定義は同じではない。符号化装置が先行要素に対してステップ206を実行した時、要素定義情報、FSA、及び符号化構造情報など、その先行要素に関する情報は、RAMなどの一時的記憶装置または揮発性記憶装置に記憶される。記憶装置は、カレント要素を符号化してから更新される。
ステップ212において、符号化装置は、差分を示すビット「0」などの表示値(indication value)と、カレント要素の符号化構造情報とを出力する。
ステップ210において、符号化装置は、ステップ206で生成したカレント要素の符号化構造情報と、先行要素の符号化構造情報とを比較することにより、カレント要素の符号化構造情報がXMLファイル中の先行要素の符号化構造情報と同じか判断する。同じであれば、ステップ211に進む。同じでなければ、ステップ212に進む。
ステップ211において、符号化装置は、ビット「1」などの、同一性を示す表示値を出力する。表示値は、ある程度、符号化構造情報があることを示すフラグと考えることもできる。
本発明の一態様では、当業者には言うまでもなく、ステップ207は、カレント要素と先行要素とが同じ発生ノードに属するか判断しようとするものであり、ステップ208と210は、共に用いて、XMLファイル中のカレント要素の構造情報が先行要素の構造情報と同じか判断するものである。異なる構造情報を有する異なる要素であっても、バイナリフォーマットの符号化構造情報は同じであることもあるからである。さらに、当業者には明らかに、構造化文書のインスタンスをスキーマを用いて符号化する他の環境に本方法を適用する場合、他の手段でカレント要素と先行要素との間の構造情報の同一性を判断することもできる。符号化構造情報の存在を示すフラグを用いることにより、かかる要素を含むXMLファイルを伝送する場合に、同じ構造情報を有する符号化要素のサイズが小さくなり、記憶サイズと帯域幅を節約できる。
本発明の変形例では、符号化装置はステップ201においてすべてのFSAは生成しない。そのかわり、符号化装置は、要素を符号化する前に、その要素に対応する必要なFSAを発生するだけか、またはFSAを発生するのではなく、その装置に事前に記憶しておく。
本発明の変形例では、ステップ206は、必ずしもステップ207の前に実行する必要はない。符号化構造情報を用いずに、他の方法や手段を用いてステップ210の判断を実行する場合。しかし、その要素の構造情報は出力する前に符号化しなければならない。
本実施形態の変形例では、本方法をXMLファイル全体ではなくて、XMLファイルの一部に適用することもできる。
図3は、本発明の本実施形態による復号装置が実行する復号方法を示すフローチャートである。
ステップ301において、復号装置は、対応するXMLスキーマに基づき、符号化要素を復号するすべてのFSAを生成する。
ステップ302において、復号装置は、発生ノードに属するカレント復号要素を得る。
ステップ303において、復号装置は、符号化要素に含まれる表示値に基づき、カレント要素の構造情報が先行要素の構造情報と同じか、判断する。同じであれば、ステップ304に進む。同じでなければ、ステップ305に進む。例えば、表示値がビット「1」だと、カレント要素の構造情報が先行要素の構造情報と同じだということを示し、ビット「0」だと、異なることを示す。つまり、表示値は、符号化構造情報があるかどうかを示すフラグであると考えられる。ここで、先行要素に関する情報は、復号装置が先行要素を復号するときに、バッファまたは記憶装置に一時的に記憶される。そのバッファまたは記憶装置の情報(content)は、復号装置がカレント要素を復号してから更新される。
ステップ304において、復号装置は、記憶した、先行要素の構造情報を出力する。
ステップ305において、復号装置は、対応するFSAに基づき符号化構造情報を復号して、カレント要素の構造情報を生成し、それを出力する。
さらに、符号化データ値の復号プロセスは、符号化構造情報の復号中に、または符号化構造情報の復号後に行える。
本発明の本実施形態では、スキーマベースの圧縮環境における発生ノードタイプの符号化要素を担うデータ構造を提供する。このデータ構造は、表示フィールドを含み、さらに、符号化構造情報を運ぶ構造情報フィールドと、要素の符号化データ値を運ぶコンテンツフィールドを含んでいてもよい。表示フィールドは、その要素の構造情報が先行要素の構造情報と同じか示すために用いられる。要素の構造情報が先行要素の構造情報と同じであれば、表示フィールドをその同一性を示す値に設定し、構造情報フィールドは設けない。同じでなければ、表示フィールドを、相違を示す値に設定し、構造情報フィールドを設ける。そのため、表示フィールドを用いて、構造情報フィールドがあるかどうかを示すこともできる。
図4は、本発明の実施形態による符号化装置を示すブロック図である。符号化装置400は、FSAモジュール401と、入力モジュール402と、プロセスモジュール403と、出力モジュール404と、バッファモジュール405とを有する。FSAモジュール401は、プロセスモジュール403に対して、XMLスキーマに基づきFSAを提供するように構成されている。FSAの提供は、FSAモジュール401が、プロセスモジュールからのFSAを求める要求に基づきそのFSAを生成してもよい。または、FSAモジュール401が、まずXMLスキーマに基づいてすべてのFSAを生成し、記憶装置にそのFSAをすべて記憶し、FSAを求める要求に応じてプロセスモジュール403にFSAを返してもよい。入力モジュール402はデータを受け取るように構成されている。出力モジュール404はデータを出力するように構成されている。バッファモジュール405はデータをバッファするように構成されている。プロセスモジュール403は、入力モジュール402から、符号化する要素をカレント要素として受け取り、バッファモジュール405が供給する、先行要素の構造情報に基づき、カレント要素の構造情報が先行要素の構造情報と同じか判断するように構成されている。同じであれば、プロセスモジュール403は、出力モジュール404を用いて、符号化構造情報がないことを示す表示値を出力する。同じでなければ、プロセスモジュール403は、出力モジュール404を用いて、符号化構造情報があることを示す表示値を出力する。プロセスモジュール403は、さらに、カレント要素の構造情報を符号化して、FSAモジュール401から受け取った対応FSAに基づき、カレント要素の符号化構造情報を生成するように構成されている。ここで、プロセスモジュール403が先行要素を符号化する時、先行要素の符号化構造情報などである先行要素に関する情報を、バッファモジュール405に記憶する。そして、バッファモジュール405に記憶された情報は、カレント要素を符号化してから更新する。
図5は、本発明の実施形態による復号装置を示すブロック図である。復号装置500は、FSAモジュール501と、入力モジュール502と、プロセスモジュール503と、出力モジュール504と、バッファモジュール505とを有する。FSAモジュール501は、プロセスモジュール503に対して、XMLスキーマに基づきFSAを提供するように構成されている。入力モジュール502はデータを受け取るように構成されている。出力モジュール404はデータを出力するように構成されている。バッファモジュール505はデータをバッファするように構成されている。復号装置500のプロセスモジュール503は、FSAモジュール501が求めた対応するFSAを用いて、入力モジュール502から受け取ったデータに基づいて要素の構造情報を生成するように構成されている。具体的に言うと、復号装置500は、入力モジュール502から符号化要素をカレント符号化要素として受け取り、符号化要素に含まれた表示値に基づき、カレント要素の構造情報が、先行要素の構造情報と同じかどうか判断する。同じであれば、プロセスモジュール503は、先行要素の符号化構造情報を復号する時、出力モジュール504を用いて、先行要素の構造情報を出力する。この構造情報はバッファモジュール505に記憶される。同じでなければ、プロセスモジュール503は、FSAモジュール501から受け取った対応するFSAに基づき、カレント要素の符号化構造情報を復号し、出力モジュール504を用いてカレント要素の構造情報を出力する。ここで、プロセスモジュール503が先行要素を復号する時、先行要素の構造情報などである先行要素に関する情報を、バッファモジュール505に記憶する。そして、バッファモジュール505に記憶された情報は、カレント符号化要素を復号してから更新する。
以下に、注釈付きの実験データを示す。スキーマとそのXMLインスタンスの例について、ISO/IEC 15938‐1:2002/Amd 2: 2006 Information Technology ‐Multimedia Content Description Interface‐Part1に規定されたフレームワークの出力を以下に示す。
0000 0100 #要素数
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0001 0100 0001 0100 0001 0100 0001 #ストリング値
000 #位置コード
0 #タイプキャストフラグ
0 0100
0100 0010 0100 0010 0100 0010 0100 0010 #ストリング値
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0011 0100 0011 0100 0011 0100 0011 #ストリング値
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0100 0100 0100 0100 0100 0100 0100 #ストリング値
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0101 0100 0101 0100 0101 0100 0101 #ストリング値
000
本発明の実施形態による出力を以下に示す:
0000 0100 #要素数
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0001 0100 0001 0100 0001 0100 0001 #ストリング値
1 #リピートフラグ
0 0100 #ストリングサイズ
0100 0010 0100 0010 0100 0010 0100 0010 #ストリング値
1 #リピートフラグ
0 0100 #ストリングサイズ
0100 0011 0100 0011 0100 0011 0100 0011 #ストリング値
1 #リピートフラグ
0 0100 #ストリングサイズ
0100 0100 0100 0100 0100 0100 0100 0100 #ストリング値
1 #リピートフラグ
0 0100 #ストリングサイズ
0100 0101 0100 0101 0100 0101 0100 0101 #ストリング値
000
上記の実験データから分かるように、冗長な構造情報が減少した。
実施形態を説明した。しかし、言うまでもなく様々な修正を行うことができる。例えば、別の実施形態の要素を組み合わせ、補充し、修正し、または削除して、他の実施形態を形成してもよい。また、当業者には言うまでもないが、開示した構成やプロセスを他の構成やプロセスで置き換えてもよく、その結果の実施形態が少なくとも実質的に同じ機能を果たし、少なくとも実質的に同じように、開示した実施形態と実質的に同じ結果を達成する。
本発明は、データプロセスに関し、より具体的には、要素の符号化方法と装置に関する。
現在、異なる複数のタイプのデータを含む構造化文書としてデータを記憶し、伝送することが多い。構造化文書は一組の要素である。各要素は、あるタイプを有し、少なくとも1つの属性を有し、主に階層的な関係により相互接続されている。構造化文書の典型的な例は、拡張可能なマーク付け言語(XML)文書である。
構造化文書は、異なる要素を分離するマーカ(「タグ」とも呼ぶ)を含む。要素はそれ自体が複数の属性と下位要素を有する。下位要素はサブエレメントとも呼ぶ。このように、構造化文書はツリー構造や階層構造を表す。各ノードは要素を表し、下位要素を含む要素を表すノードと、上位階層において接続されている。ツリー構造の枝の先にあるノードは、情報サブエレメントに分割できないデータを含む要素を表す。ここで、枝の先にあるノードのデータは、あるタイプの属性の値であると考えられる。
構造化文書を符号化する圧縮方法には複数の方法があり、そのうちの1つはスキーマベース圧縮方法である。構造化文書を定義するスキーマ自体も構造化文書である。スキーマの典型的な例はXMLスキーマである。一般的に、XMLスキーマは、XMLインスタンスの構造を定義する一組のスキーマコンポーネントである。スキーマコンポーネントは、それ自体が要素でもあり、スキーマのデータモデルテンプレートを有するビルディングブロック用の一般用語である。スキーマベースの圧縮方法を用いて構造化文書のインスタンスを圧縮するプロセスでは、スキーマの定義から有限状態オートマトン(FSA)を求め、対応するFSAを用いてスキーマのインスタンスまたはそれの一部をビットストリームに変換できる。スキーマコンポーネントによっては発生制約(occurrence constraint)がある。これは、属性minOccursとmaxOccursにより定義される。通常、この種のスキーマコンポーネントは発生ノード(occurrence node)と呼ばれる。
以下は、属性maxOccursを100に設定した発生ノードを含むXMLスキーマの例である。
<?xml version="1.0" encoding="ISO-8859-1"?>
<schema targetNamespace="urn:thomson:SchemaExample"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:s="urn:thomson:SchemaExample"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<element name="testSchema">
<complexType>
<choice maxOccurs="100">
<element name="e1" type="xs:string"/>
<element name="e2" type="xs:string"/>
<element name="e3" type="xs:string"/>
<element name="e4" type="xs:string"/>
<element name="e5" type="xs:string"/>
</choice>
</complexType>
</element>
</schema>
以下は、上記のXMLスキーマによるインスタンスの例である。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<s:testSchema xmlns:s="urn:thomson:SchemaExample"
xmlns:b="urn:thomson:SchemaB" xmlns:a="urn:thomson:SchemaA"
xmlns:c="urn:thomson:SchemaC"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:thomson:SchemaExample ./SchemaExample.xsd">
<e1>AAAA</e1>
<e1>BBBB</e1>
<e1>CCCC</e1>
<e1>DDDD</e1>
<e1>EEEE</e1>
</s:testSchema>
このXMLインスタンスでは、異なるデータ値でe1が5回繰り返されることが分かる。従来のスキーマベースの圧縮方法では、要素e1の同じ構造情報が、符号化ビットストリームにおいて5回繰り返される。これは冗長である。
本発明の一態様によると、各要素がデータ構造情報と少なくとも1つのデータ値とを有する一組の要素を、前記一組の要素の各々の構造を画定するコンポーネントを用いて符号化する方法が提供される。該方法は、符号化するカレント要素を選択する段階と、前記カレント要素が先行符号化要素と同じデータ構造情報を有するか判断する段階と、前記判断が否定的であれば、前記カレント要素のデータ構造情報と前記カレント要素の少なくとも1つのデータ値とを符号化する段階と、前記判断が肯定的であれば、前記カレント要素の少なくとも1つのデータ値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造情報を有することを示す、前記カレント要素に関連した表示値を提供する段階とを有することを特徴とする。
本発明の一態様によると、各要素がデータ構造情報と少なくとも1つのデータ値とを有する一組の要素の符号化データを、前記一組の要素の各々の構造を画定するコンポーネントを用いて復号する方法が提供される。該方法は、復号するカレント要素の符号化データを選択する段階と、前記カレント要素が先行復号要素と同じデータ構造情報を有することを示す前記カレント要素の前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造情報を有すると判断したとき、前記符号化データを復号することにより前記少なくとも1つのデータ値を求め、前記先行復号要素のデータ構造情報を用いることにより前記カレント要素のデータ構造情報を求める段階とを有する。
本発明の一態様によると、データ構造情報と少なくとも1つのデータ値とを有するカレント要素の、前記カレント要素の構造を画定するコンポーネントを用いて符号化した符号化データを担うデータ構造が提供される。該データ構造は、前記カレント要素の少なくとも1つのデータ値の符号化データを担うように用いるデータ値フィールドと、前記カレント要素が先行符号化要素と同じデータ構造情報を有するか示すように用いる表示フィールドとを有することを特徴とする。
本発明の一態様によると、各要素がデータ構造情報と少なくとも1つのデータ値とを有する一組の要素を、前記一組の要素の各々の構造を画定するコンポーネントを用いて符号化する符号化装置が提供される。該符号化装置は、データを受け取るように構成された入力モジュールと、符号化するカレント要素が先行符号化要素と同じデータ構造情報を有するか判断し、前記判断が否定的であれば、前記カレント要素のデータ構造情報と前記少なくとも1つのデータ値とを符号化し、前記判断が肯定的であれば、前記カレント要素の少なくとも1つのデータ値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造情報を有することを示す表示値を提供するように構成されたプロセスモジュールとを有することを特徴とする。
本発明の一態様によると、各要素がデータ構造情報と少なくとも1つのデータ値とを有する一組の要素の符号化データを、前記一組の要素の各々の構造を画定するコンポーネントを用いて復号する復号装置が提供される。該復号装置は、復号するカレント要素の符号化データを受け取るように構成された入力モジュールと、前記カレント要素が先行復号要素と同じデータ構造情報を有することを示す前記カレント要素の前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造情報を有するかどうか判断し、前記判断が肯定的であれば、前記符号化データを復号することにより前記少なくとも1つのデータ値を求め、前記先行復号要素のデータ構造情報を用いることにより前記カレント要素のデータ構造情報を求めるように構成されたプロセスモジュールとを有することを特徴とする。
本発明の一態様によると、構造情報の符号化時の冗長性を低減できる。
言うまでもなく、本発明のその他の態様と効果は、以下に記載した本発明の詳細な説明を読めば明らかになる。
添付した図面を参照して本発明の実施形態を以下に説明する。図面は本発明をよりよく理解するためのものであり、本出願の一部である。本発明は実施形態に限定されない。
本発明の一実施形態による、発生ノードの状態遷移を示す図である。 本発明の上記実施形態による符号化装置が実行する符号化方法を示すフローチャートである。 本発明の上記実施形態による復号装置が実行する復号方法を示すフローチャートである。 本発明の上記実施形態による符号化装置を示すブロック図である。 本発明の上記実施形態による復号装置を示すブロック図である。
図面を参照して本発明の実施形態を詳細に説明する。以下の説明では、明確性と簡潔性のために、既知の機能や構成の詳細な説明を省略することもある。
実施形態は、スキーマベースの圧縮方法を利用するデータ処理環境において説明する。一例として、ISOのウェブサイトから入手可能な文書ISO/IEC 15938‐1:2002/Amd 2: 2006 Information Technology ‐Multimedia Content Description Interface‐Part1, Systemsに、スキーマベースの圧縮環境についての定義がある。以下に説明する実施形態は、明細書に示した変更をしたかかる環境のフレームワークにある。しかし、本発明は説明する実施形態に限定されない。
スキーマベースの圧縮方法では、FSAを用いて要素の構造情報を符号化する。ここで、インスタンスの構造情報には、構造化文書のインスタンスの要素に含まれるデータ値を除く、要素のコンポーネントに関する情報、例えばシーケンス、選択、プロパティ、その他の要素を構成する構造が含まれる。本発明の実施形態による発生ノードの状態遷移図である図1から分かるように、FSAは、シャント遷移とループ遷移(ループ開始遷移、ループ終了遷移、及びループ継続遷移)を用いて要素またはそのグループを符号化する。さらに、冗長な構造情報を減らすために、「繰り返し状態」及び「非繰り返し状態」を加えた。
本実施形態は、ISO/IEC 15938‐1:2002/Amd 2: 2006 Information Technology ‐Multimedia Content Description Interface‐Part1に多少変更をしたフレームワークにあるので、状態と遷移に関して簡単に説明しておく。
要素遷移:遷移すると、どの要素があるか復号器に指示する。
タイプ状態:有効化されると、タイプ復号器をトリガーする。
ループ遷移:要素またはそのグループを復号のモデル化に用いる。実施形態では、「ループ遷移」は「ループ開始遷移」、「ループ終了遷移」、「ループ継続遷移」、「繰り返し遷移」、及び「非繰り返し遷移」を含む。
ループ開始遷移:要素またはそのグループを多数回復号する時に発生する。
ループ継続遷移:少なくとももう1つの要素またはグループを復号する時に発生する。
ループ終了遷移:復号する要素またはそのグループがもう無い時に発生する。
コード遷移:バイナリコードとシグネチャに関連する。コード遷移は、それが関連するバイナリコードをバイナリ記述ストリームから読み出した時に発生する。バイナリコードはそのシグネチャから求める。
シャント遷移:特殊な種類のコード遷移である。バイナリコード値は常に0である。
シンプル状態:特定のビヘイビアはなく、オートマトンの構成に用いる。
繰り返し状態:要素の構造情報が、先行要素の構造情報と同じときに発生する。
非繰り返し状態:要素の構造情報が、先行要素の構造情報と異なるときに発生する。
XMLファイルまたはその一部を圧縮するとき、各要素を1つずつ解析し、ネスト状の要素の場合には再帰的に解析する。発生要素のプロセスについては、図1に示したようにFSA中でループし、通過した遷移のコードが符号化結果を構成する。背景のXMLインスタンスの例では、要素e1が5回、異なるデータ値で発生することを示している。最初に、コード遷移、ループ遷移、要素遷移を通り、タイプ状態まで行く。要素e1が発生したのは始めてなので、ループ継続遷移を通ってシンプル状態に直接行く。次に、第2の要素e1の符号化中にタイプ状態に2回目に来ると、第2の要素e1の構造情報が先行符号化要素の構造情報と同じか判断する。同じであり、次の要素もe1であれば、繰り返し状態を通ってシンプル状態に行く。同じでなければ、非繰り返し状態を通る。この手順はすべての要素を解析するまで繰り返す。最後に、ループ終了遷移を通って終了状態に行く。
符号化装置は、XMLインスタンスを、対応するXMLスキーマを用いて符号化することにより圧縮する。図2は、本実施形態による符号化装置が実行する、XMLスキーマを用いた符号化方法を示すフローチャートである。
ステップ201において、符号化装置は、XMLスキーマに基づき、XMLファイル中の要素の符号化に用いるすべてのFSAを生成する。
ステップ202において、符号化装置は、XMLスキーマに関連する、符号化するXMLファイルを受け取る。
ステップ203において、符号化装置は、XMLファイルから、カレント要素として一要素を取る。
ステップ204において、符号化装置は、カレント要素がEOF(end of file)であるか判断する。EOFであれば、符号化装置はステップ205において符号化プロセスを終了する。EOFでなければ、ステップ206に進む。
ステップ206において、符号化装置は、対応するFSAを用いて可憐と要素の構造情報を符号化して、符号化構造情報を生成する。ここで、符号化構造情報は一般的にはバイナリフォーマットである。さらに、カレント要素に含まれるデータ値を、このステップで、または最後の符号化構造情報を出力した後のステップで符号化して、符号化データ値を生成する。符号化構造情報と符号化データ値とを組み合わせて、求める符号化要素を構成する。構造情報符号化の冗長性を低減するため、以下のステップでは、構造情報の符号化の面に主にフォーカスする。
ステップ207において、符号化装置は、カレント要素が発生ノードのサブエレメントに対応し、先行要素が同じ発生ノードのサブエレメントに対応するか判断する。対応しなければ、ステップ209に進む。対応すれば、ステップ208に進む。本方法では発生ノードの符号化における冗長性を低減したいので、このステップにおいて、カレント要素が同じ発生ノードに属するか判断しようとするものである。それゆえ、カレント要素と先行要素が同じ発生ノードに属さない場合、以下の判断ステップは省略できる。
ステップ209において、符号化装置は符号化構造情報をカレント要素に出力する。
ステップ208において、符号化装置は、カレント要素の要素定義情報が先行要素の要素定義情報と同じか、判断する。同じでなければ、ステップ212に進む。同じであれば、ステップ210に進む。このステップを用いて、同じ発生ノードの異なるサブエレメントである要素を区別する。異なる要素の異なる構造情報であっても符号化構造情報は同じ場合もあるので、このステップが必要な場合もある。ここで、要素定義情報は、スキーマの要素の詳細構造を定義するために用いる情報である。前述のXMLスキーマの例から分かるように、XMLスキーマの要素e1と要素e2の要素定義は同じではない。符号化装置が先行要素に対してステップ206を実行した時、要素定義情報、FSA、及び符号化構造情報など、その先行要素に関する情報は、RAMなどの一時的記憶装置または揮発性記憶装置に記憶される。記憶装置は、カレント要素を符号化してから更新される。
ステップ212において、符号化装置は、差分を示すビット「0」などの表示値(indication value)と、カレント要素の符号化構造情報とを出力する。
ステップ210において、符号化装置は、ステップ206で生成したカレント要素の符号化構造情報と、先行要素の符号化構造情報とを比較することにより、カレント要素の符号化構造情報がXMLファイル中の先行要素の符号化構造情報と同じか判断する。同じであれば、ステップ211に進む。同じでなければ、ステップ212に進む。
ステップ211において、符号化装置は、ビット「1」などの、同一性を示す表示値を出力する。表示値は、ある程度、符号化構造情報があることを示すフラグと考えることもできる。
本発明の一態様では、当業者には言うまでもなく、ステップ207は、カレント要素と先行要素とが同じ発生ノードに属するか判断しようとするものであり、ステップ208と210は、共に用いて、XMLファイル中のカレント要素の構造情報が先行要素の構造情報と同じか判断するものである。異なる構造情報を有する異なる要素であっても、バイナリフォーマットの符号化構造情報は同じであることもあるからである。さらに、当業者には明らかに、構造化文書のインスタンスをスキーマを用いて符号化する他の環境に本方法を適用する場合、他の手段でカレント要素と先行要素との間の構造情報の同一性を判断することもできる。符号化構造情報の存在を示すフラグを用いることにより、かかる要素を含むXMLファイルを伝送する場合に、同じ構造情報を有する符号化要素のサイズが小さくなり、記憶サイズと帯域幅を節約できる。
本発明の変形例では、符号化装置はステップ201においてすべてのFSAは生成しない。そのかわり、符号化装置は、要素を符号化する前に、その要素に対応する必要なFSAを発生するだけか、またはFSAを発生するのではなく、その装置に事前に記憶しておく。
本発明の変形例では、ステップ206は、必ずしもステップ207の前に実行する必要はない。符号化構造情報を用いずに、他の方法や手段を用いてステップ210の判断を実行する場合。しかし、その要素の構造情報は出力する前に符号化しなければならない。
本実施形態の変形例では、本方法をXMLファイル全体ではなくて、XMLファイルの一部に適用することもできる。
図3は、本発明の本実施形態による復号装置が実行する復号方法を示すフローチャートである。
ステップ301において、復号装置は、対応するXMLスキーマに基づき、符号化要素を復号するすべてのFSAを生成する。
ステップ302において、復号装置は、発生ノードに属するカレント復号要素を得る。
ステップ303において、復号装置は、符号化要素に含まれる表示値に基づき、カレント要素の構造情報が先行要素の構造情報と同じか、判断する。同じであれば、ステップ304に進む。同じでなければ、ステップ305に進む。例えば、表示値がビット「1」だと、カレント要素の構造情報が先行要素の構造情報と同じだということを示し、ビット「0」だと、異なることを示す。つまり、表示値は、符号化構造情報があるかどうかを示すフラグであると考えられる。ここで、先行要素に関する情報は、復号装置が先行要素を復号するときに、バッファまたは記憶装置に一時的に記憶される。そのバッファまたは記憶装置の情報(content)は、復号装置がカレント要素を復号してから更新される。
ステップ304において、復号装置は、記憶した、先行要素の構造情報を出力する。
ステップ305において、復号装置は、対応するFSAに基づき符号化構造情報を復号して、カレント要素の構造情報を生成し、それを出力する。
さらに、符号化データ値の復号プロセスは、符号化構造情報の復号中に、または符号化構造情報の復号後に行える。
本発明の本実施形態では、スキーマベースの圧縮環境における発生ノードタイプの符号化要素を担うデータ構造を提供する。このデータ構造は、表示フィールドを含み、さらに、符号化構造情報を運ぶ構造情報フィールドと、要素の符号化データ値を運ぶコンテンツフィールドを含んでいてもよい。表示フィールドは、その要素の構造情報が先行要素の構造情報と同じか示すために用いられる。要素の構造情報が先行要素の構造情報と同じであれば、表示フィールドをその同一性を示す値に設定し、構造情報フィールドは設けない。同じでなければ、表示フィールドを、相違を示す値に設定し、構造情報フィールドを設ける。そのため、表示フィールドを用いて、構造情報フィールドがあるかどうかを示すこともできる。
図4は、本発明の実施形態による符号化装置を示すブロック図である。符号化装置400は、FSAモジュール401と、入力モジュール402と、プロセスモジュール403と、出力モジュール404と、バッファモジュール405とを有する。FSAモジュール401は、プロセスモジュール403に対して、XMLスキーマに基づきFSAを提供するように構成されている。FSAの提供は、FSAモジュール401が、プロセスモジュールからのFSAを求める要求に基づきそのFSAを生成してもよい。または、FSAモジュール401が、まずXMLスキーマに基づいてすべてのFSAを生成し、記憶装置にそのFSAをすべて記憶し、FSAを求める要求に応じてプロセスモジュール403にFSAを返してもよい。入力モジュール402はデータを受け取るように構成されている。出力モジュール404はデータを出力するように構成されている。バッファモジュール405はデータをバッファするように構成されている。プロセスモジュール403は、入力モジュール402から、符号化する要素をカレント要素として受け取り、バッファモジュール405が供給する、先行要素の構造情報に基づき、カレント要素の構造情報が先行要素の構造情報と同じか判断するように構成されている。同じであれば、プロセスモジュール403は、出力モジュール404を用いて、符号化構造情報がないことを示す表示値を出力する。同じでなければ、プロセスモジュール403は、出力モジュール404を用いて、符号化構造情報があることを示す表示値を出力する。プロセスモジュール403は、さらに、カレント要素の構造情報を符号化して、FSAモジュール401から受け取った対応FSAに基づき、カレント要素の符号化構造情報を生成するように構成されている。ここで、プロセスモジュール403が先行要素を符号化する時、先行要素の符号化構造情報などである先行要素に関する情報を、バッファモジュール405に記憶する。そして、バッファモジュール405に記憶された情報は、カレント要素を符号化してから更新する。
図5は、本発明の実施形態による復号装置を示すブロック図である。復号装置500は、FSAモジュール501と、入力モジュール502と、プロセスモジュール503と、出力モジュール504と、バッファモジュール505とを有する。FSAモジュール501は、プロセスモジュール503に対して、XMLスキーマに基づきFSAを提供するように構成されている。入力モジュール502はデータを受け取るように構成されている。出力モジュール404はデータを出力するように構成されている。バッファモジュール505はデータをバッファするように構成されている。復号装置500のプロセスモジュール503は、FSAモジュール501が求めた対応するFSAを用いて、入力モジュール502から受け取ったデータに基づいて要素の構造情報を生成するように構成されている。具体的に言うと、復号装置500は、入力モジュール502から符号化要素をカレント符号化要素として受け取り、符号化要素に含まれた表示値に基づき、カレント要素の構造情報が、先行要素の構造情報と同じかどうか判断する。同じであれば、プロセスモジュール503は、先行要素の符号化構造情報を復号する時、出力モジュール504を用いて、先行要素の構造情報を出力する。この構造情報はバッファモジュール505に記憶される。同じでなければ、プロセスモジュール503は、FSAモジュール501から受け取った対応するFSAに基づき、カレント要素の符号化構造情報を復号し、出力モジュール504を用いてカレント要素の構造情報を出力する。ここで、プロセスモジュール503が先行要素を復号する時、先行要素の構造情報などである先行要素に関する情報を、バッファモジュール505に記憶する。そして、バッファモジュール505に記憶された情報は、カレント符号化要素を復号してから更新する。
以下に、注釈付きの実験データを示す。スキーマとそのXMLインスタンスの例について、ISO/IEC 15938‐1:2002/Amd 2: 2006 Information Technology ‐Multimedia Content Description Interface‐Part1に規定されたフレームワークの出力を以下に示す。
0000 0100 #要素数
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0001 0100 0001 0100 0001 0100 0001 #ストリング値
000 #位置コード
0 #タイプキャストフラグ
0 0100
0100 0010 0100 0010 0100 0010 0100 0010 #ストリング値
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0011 0100 0011 0100 0011 0100 0011 #ストリング値
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0100 0100 0100 0100 0100 0100 0100 #ストリング値
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0101 0100 0101 0100 0101 0100 0101 #ストリング値
000
本発明の実施形態による出力を以下に示す:
0000 0100 #要素数
000 #位置コード
0 #タイプキャストフラグ
0 0100 #ストリングサイズ
0100 0001 0100 0001 0100 0001 0100 0001 #ストリング値
1 #リピートフラグ
0 0100 #ストリングサイズ
0100 0010 0100 0010 0100 0010 0100 0010 #ストリング値
1 #リピートフラグ
0 0100 #ストリングサイズ
0100 0011 0100 0011 0100 0011 0100 0011 #ストリング値
1 #リピートフラグ
0 0100 #ストリングサイズ
0100 0100 0100 0100 0100 0100 0100 0100 #ストリング値
1 #リピートフラグ
0 0100 #ストリングサイズ
0100 0101 0100 0101 0100 0101 0100 0101 #ストリング値
000
上記の実験データから分かるように、冗長な構造情報が減少した。
実施形態を説明した。しかし、言うまでもなく様々な修正を行うことができる。例えば、別の実施形態の要素を組み合わせ、補充し、修正し、または削除して、他の実施形態を形成してもよい。また、当業者には言うまでもないが、開示した構成やプロセスを他の構成やプロセスで置き換えてもよく、その結果の実施形態が少なくとも実質的に同じ機能を果たし、少なくとも実質的に同じように、開示した実施形態と実質的に同じ結果を達成する。

Claims (16)

  1. 各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素を符号化する方法であって、
    符号化するカレント要素を選択する段階と、
    前記カレント要素が先行符号化要素と同じデータ構造タイプを有するか判断する段階と、
    前記判断が否定的であれば、前記カレント要素のデータ構造と前記カレント要素の少なくとも1つの属性値とを符号化する段階と、
    前記判断が肯定的であれば、前記カレント要素の少なくとも1つの属性値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造タイプを有することを示す表示値を提供する段階とを有することを特徴とする方法。
  2. 前記カレント要素は前記一組の要素において前記先行符号化要素の直後のものであることを特徴とする、
    請求項1に記載の方法。
  3. 前記カレント要素と前記先行符号化要素とは発生ノードタイプであり、前記符号化プロセスはスキーマを利用することを特徴とする、
    請求項1または2に記載の方法。
  4. 前記判断が否定的であれば、前記カレント要素が前記先行符号化要素と異なるデータ構造タイプを有することを示す他の表示値を提供する段階をさらに有することを特徴とする、
    請求項1ないし3いずれか一項に記載の方法。
  5. 前記スキーマを用いて符号化する段階は、
    前記カレント要素に対応する、前記カレント要素のデータ構造を符号化する符号化ツールを前記スキーマから求める段階と、
    前記符号化ツールに基づき前記カレント要素のデータ構造を符号化する段階とを有することを特徴とする、
    請求項3に記載の方法。
  6. 前記一組の要素を、前記スキーマに関連するファイルまたはその一部から受け取ることを特徴とする、
    請求項1ないし5いずれか一項に記載の方法。
  7. 各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素の符号化データを復号する方法であって、
    復号するカレント要素の符号化データを選択する段階と、
    前記カレント要素が先行復号要素と同じデータ構造タイプを有することを示す前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造タイプを有すると判断したとき、前記符号化データを復号することにより前記少なくとも1つの属性値を求め、前記先行復号要素のデータ構造を用いることにより前記カレント要素のデータ構造を求める段階とを有する方法。
  8. 前記カレント要素が前記先行復号要素と異なるデータ構造タイプを有するとき、前記カレント要素の前記符号化データを復号することにより、前記少なくとも1つの属性値と前記データ構造とを求める段階をさらに有することを特徴とする、
    請求項7に記載の方法。
  9. 一タイプのデータ構造と少なくとも1つの属性値とを有するカレント要素の符号化データを担うデータ構造であって、
    前記カレント要素の少なくとも1つの属性値の符号化データを担うように用いる属性値フィールドと、
    前記カレント要素が先行符号化要素と同じデータ構造タイプを有するか示すように用いる表示フィールドとを有することを特徴とするデータ構造。
  10. 各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素を符号化する符号化装置であって、
    データを受け取るように構成された入力モジュールと、
    符号化するカレント要素が先行符号化要素と同じデータ構造タイプを有するか判断し、前記判断が否定的であれば、前記カレント要素のデータ構造と前記少なくとも1つの属性値とを符号化し、前記判断が肯定的であれば、前記カレント要素の少なくとも1つの属性値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造タイプを有することを示す表示値を提供するように構成されたプロセスモジュールとを有することを特徴とする符号化装置。
  11. 前記カレント要素と前記先行符号化要素とは発生ノードタイプであり、前記プロセスモジュールはスキーマを利用して前記データ構造を符号化することを特徴とする、
    請求項10に記載の符号化装置。
  12. 前記スキーマから求めることにより要素のデータ構造を符号化するツールを提供するように構成された符号化ツールモジュールをさらに有し、前記データ構造の符号化は、
    前記プロセスモジュールは、前記符号化ツールモジュールにより提供された前記カレント要素の、対応するツールに基づき、前記カレント要素のデータ構造を符号化するようにさらに構成された、
    請求項11に記載の符号化装置。
  13. 各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素の符号化データを復号する復号装置であって、
    復号するカレント要素の符号化データを受け取るように構成された入力モジュールと、
    前記カレント要素が先行復号要素と同じデータ構造タイプを有することを示す前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造タイプを有するかどうか判断し、前記判断が肯定的であれば、前記符号化データを復号することにより前記少なくとも1つの属性値を求め、前記先行復号要素のデータ構造を用いることにより前記カレント要素のデータ構造を求めるように構成されたプロセスモジュールとを有することを特徴とする復号装置。
  14. 前記プロセスモジュールは、前記判断が否定的であれば、前記カレント要素の符号化データを復号することにより、前記カレント要素の前記少なくとも1つの属性値と前記データ構造とを求めるようにさらに構成されていることを特徴とする、
    請求項13に記載の復号装置。
  15. 各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素を符号化する記憶媒体であって、
    符号化するカレント要素を選択する段階と、
    前記カレント要素が先行して符号化された要素と同じデータ構造タイプを有するか判断する段階と、
    前記判断が否定的であれば、前記カレント要素のデータ構造と前記カレント要素の少なくとも1つの属性値とを符号化する段階と、
    前記判断が肯定的であれば、前記カレント要素の少なくとも1つの属性値を符号化し、前記カレント要素が前記先行して符号化された要素と同じデータ構造タイプを有することを示す表示値を提供する段階と実行させる命令を有することを特徴とする記憶媒体。
  16. 各要素が一タイプのデータ構造と少なくとも1つの属性値とを有する一組の要素の符号化データを復号する記憶媒体であって、
    復号するカレント要素の符号化データを選択する段階と、
    前記カレント要素が先行復号要素と同じデータ構造タイプを有することを示す前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造タイプを有すると判断したとき、前記符号化データを復号することにより前記少なくとも1つの属性値を求め、前記先行復号要素のデータ構造を用いることにより前記カレント要素のデータ構造を求める段階とを実行させる命令を有することを特徴とする方法。
JP2011525563A 2008-09-08 2009-09-04 要素の符号化方法と装置 Active JP5536066B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP08305534A EP2161667A1 (en) 2008-09-08 2008-09-08 Method and device for encoding elements
EP08305534.3 2008-09-08
PCT/EP2009/061479 WO2010026223A1 (en) 2008-09-08 2009-09-04 Method and device for encoding elements

Publications (2)

Publication Number Publication Date
JP2012502337A true JP2012502337A (ja) 2012-01-26
JP5536066B2 JP5536066B2 (ja) 2014-07-02

Family

ID=41090333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011525563A Active JP5536066B2 (ja) 2008-09-08 2009-09-04 要素の符号化方法と装置

Country Status (5)

Country Link
US (1) US8193952B2 (ja)
EP (2) EP2161667A1 (ja)
JP (1) JP5536066B2 (ja)
CN (1) CN102119384B (ja)
WO (1) WO2010026223A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311137B2 (en) 2015-03-05 2019-06-04 Fujitsu Limited Grammar generation for augmented datatypes for efficient extensible markup language interchange

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002244894A (ja) * 2001-02-02 2002-08-30 Internatl Business Mach Corp <Ibm> Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体
JP2004508647A (ja) * 2000-09-06 2004-03-18 エクスプウェイ 構造化文書の圧縮/解凍方法
JP2005148970A (ja) * 2003-11-13 2005-06-09 Meidensha Corp データ変換方法
JP2005284903A (ja) * 2004-03-30 2005-10-13 Matsushita Electric Ind Co Ltd 文書符号化装置、文書復号化装置、文書符号化方法及び文書復号化方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7158990B1 (en) * 2002-05-31 2007-01-02 Oracle International Corporation Methods and apparatus for data conversion
JP2005332274A (ja) * 2004-05-20 2005-12-02 Toshiba Corp 動画像中のオブジェクトに関するメタデータストリームのデータ構造、検索方法及び再生方法
US8346737B2 (en) * 2005-03-21 2013-01-01 Oracle International Corporation Encoding of hierarchically organized data for efficient storage and processing
TWI295446B (en) * 2005-12-30 2008-04-01 Ind Tech Res Inst Executing system and executing method of intelligent rule base service
CN100458793C (zh) * 2007-05-10 2009-02-04 浪潮集团山东通用软件有限公司 数据访问层Xml格式数据与关系数据间的映射转换方法
KR20090017030A (ko) * 2007-08-13 2009-02-18 삼성전자주식회사 메타데이터 인코딩/디코딩 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004508647A (ja) * 2000-09-06 2004-03-18 エクスプウェイ 構造化文書の圧縮/解凍方法
JP2002244894A (ja) * 2001-02-02 2002-08-30 Internatl Business Mach Corp <Ibm> Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体
JP2005148970A (ja) * 2003-11-13 2005-06-09 Meidensha Corp データ変換方法
JP2005284903A (ja) * 2004-03-30 2005-10-13 Matsushita Electric Ind Co Ltd 文書符号化装置、文書復号化装置、文書符号化方法及び文書復号化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN5011010410; RAMEZ ALKHATIB: 'EFFICIENT COMPRESSION AND QUERYING OF XML REPOSITORIES' 19TH INTERNATIONAL CONFERENCE ON DATABASE AND EXPERT SYSTEMS APPLICATION , 20080901, P365-369, IEEE *

Also Published As

Publication number Publication date
CN102119384A (zh) 2011-07-06
CN102119384B (zh) 2014-06-11
EP2327028B1 (en) 2023-06-28
EP2327028A1 (en) 2011-06-01
JP5536066B2 (ja) 2014-07-02
US8193952B2 (en) 2012-06-05
EP2161667A1 (en) 2010-03-10
US20110148673A1 (en) 2011-06-23
WO2010026223A1 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
US6825781B2 (en) Method and system for compressing structured descriptions of documents
US20050120031A1 (en) Structured document encoder, method for encoding structured document and program therefor
US20110283183A1 (en) Method for compressing/decompressing structured documents
JP2005538436A (ja) 構造化された文章、特にxml文章の符号化/復号化のための方法及び装置
US8892991B2 (en) Encoder compiler, computer readable medium, and communication device
JP5377818B2 (ja) コンパイル済みスキーマに順次アクセスする方法とシステム
US20090138529A1 (en) Method and device for coding and decoding information
US8849726B2 (en) Information processing apparatus and control method for the same
JP3865694B2 (ja) 構造化文書の木構造におけるパスの符号化および復号化方法
US20040111677A1 (en) Efficient means for creating MPEG-4 intermedia format from MPEG-4 textual representation
JP2006517309A (ja) MPEG−4IntermediaFormatからMPEG−4TextualRepresentationを作成する効率的な手段
JP5789236B2 (ja) 構造化文書分析方法、構造化文書分析プログラム、および構造化文書分析システム
JP5536066B2 (ja) 要素の符号化方法と装置
US7571152B2 (en) Method for compressing and decompressing structured documents
KR100968083B1 (ko) 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치
US20130057892A1 (en) Storage medium and method for producing a printed product
JP4668273B2 (ja) Xmlを基礎とする文書の符号化のための方法
JP4273960B2 (ja) 構造化文書処理装置及び構造化文書処理方法ならびにそのプログラム
JP2004234678A (ja) 構造化データの送信装置
JP2005276193A (ja) Dibrデータのためのスキーマ及びスタイルシート
JP2004318196A (ja) 構造化データの受信プログラム
JP2004318195A (ja) 構造化データの受信プログラム
JP2004318193A (ja) 構造化データの受信プログラム
JP2004318776A (ja) 構造化データの受信装置
JP2004240983A (ja) 構造化データの送信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120321

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140423

R150 Certificate of patent or registration of utility model

Ref document number: 5536066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250