(57)【特許請求の範囲】
【請求項１】
各要素がデータ構造情報と少なくとも１つのデータ値とを有する一組の要素を、前記一組の要素の各々の構造を画定し、有限状態オートマトンの生成に用いられるスキーマコンポーネントを用いて符号化する方法であって、
符号化装置の側において、
前記符号化装置のプロセッサが、符号化するカレント要素を選択するステップと、
前記プロセッサが、前記カレント要素が先行符号化要素と同じデータ構造情報を有するか判断するステップと、
前記判断が否定的であれば、前記プロセッサが、前記カレント要素に対応する有限状態オートマトンを取得し、前記プロセッサが、前記有限状態オートマトンを用いて、前記カレント要素のデータ構造情報と前記カレント要素の少なくとも１つのデータ値とを符号化するステップと、
前記判断が肯定的であれば、前記プロセッサが、前記カレント要素の少なくとも１つのデータ値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造情報を有することを示す、前記カレント要素に関連した表示値を提供するステップとを有することを特徴とする方法。
【請求項２】
前記カレント要素が前記先行符号化要素と同じデータ構造情報を有するか判断する前に、
前記プロセッサが、前記カレント要素と前記先行符号化要素とが前記一組のスキーマコンポーネントのうちの同じスキーマコンポーネントに対応するか判断するステップと、
前記判断が否定的であれば、前記プロセッサが、前記有限状態オートマトンを用いて、前記カレント要素のデータ構造情報と前記カレント要素の前記少なくとも１つのデータ値とを符号化するステップと、
前記判断が肯定的であれば、前記カレント要素が前記先行符号化要素と同じデータ構造情報を有するか判断するステップに進むステップとをさらに有することを特徴とする、請求項１に記載の方法。
【請求項３】
前記カレント要素が前記先行符号化要素と同じデータ構造情報を有するか判断するステップは、さらに、
前記プロセッサが、前記カレント要素の符号化された構造情報が前記先行符号化要素の符号化された構造情報か判断するステップを有する、
ことを特徴とする、請求項１に記載の方法。
【請求項４】
前記カレント要素の符号化された構造情報が前記先行符号化要素の符号化された構造情報と同じか判断するステップの前に、
前記プロセッサが、前記一組のスキーマコンポーネントを用いて、前記カレント要素の要素定義情報が前記先行符号化要素の要素定義情報と同じか判断する、要素定義情報は前記一組のスキーマコンポーネントの一要素の詳細構造の定義に用いられる情報である、ステップと、
前記判断が否定的であれば、前記プロセッサが、前記有限状態オートマトンを用いて、前記カレント要素のデータ構造情報と、前記カレント情報の少なくとも１つのデータ値とを符号化するステップと、
前記判断が肯定的であれば、前記カレント要素の符号化された構造情報が前記先行符号化要素の符号化された構造情報と同じか判断するステップに進むステップと
をさらに有することを特徴とする、請求項３に記載の方法。
【請求項５】
前記一組の要素を、前記一組のスキーマコンポーネントに関連するファイルまたはその一部から受け取る、前記ファイルまたはその一部は記憶手段に記憶されることを特徴とする、請求項１ないし４いずれか一項に記載の方法。
【請求項６】
各要素がデータ構造情報と少なくとも１つのデータ値とを有する一組の要素の符号化データを、前記一組の要素の各々の構造を画定するスキーマコンポーネントを用いて復号する方法であって、
復号装置の側において、
前記復号装置のプロセッサが、復号するカレント要素の符号化データを選択するステップと、
前記カレント要素が先行復号要素と同じデータ構造情報を有することを示す前記カレント要素の前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造情報を有すると判断したとき、前記プロセッサが、前記符号化データを復号することにより前記少なくとも１つのデータ値を求め、前記プロセッサが、前記先行復号要素のデータ構造情報を用いることにより前記カレント要素のデータ構造情報を求めるステップとを有する方法。
【請求項７】
前記カレント要素が前記先行復号要素と異なるデータ構造情報を有するとき、前記プロセッサが、前記カレント要素の前記符号化データを復号することにより、前記少なくとも１つのデータ値と前記データ構造情報とを求めるステップをさらに有することを特徴とする、請求項６に記載の方法。
【請求項８】
各要素がデータ構造情報と少なくとも１つのデータ値とを有する一組の要素を、前記一組の要素の各々の構造を画定し、有限状態オートマトンの生成に用いられるスキーマコンポーネントを用いて符号化する符号化装置であって、
前記一組のスキーマコンポーネントから求めて一要素のデータ構造情報を符号化する有限状態オートマトンを提供するように構成された符号かツールモジュールと、
データを受け取るように構成された入力モジュールと、
符号化するカレント要素が先行符号化要素と同じデータ構造情報を有するか判断し、前記判断が否定的であれば、前記符号化ツールモジュールにより提供される前記カレント要素に対応する有限状態オートマトンを用いて、前記カレント要素のデータ構造情報と前記少なくとも１つのデータ値とを符号化し、前記判断が肯定的であれば、前記カレント要素の少なくとも１つのデータ値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造情報を有することを示す表示値を提供するように構成されたプロセッサとを有することを特徴とする符号化装置。
【請求項９】
前記カレント要素と前記先行符号化要素とは前記一組のスキーマコンポーネントのうちの同じスキーマコンポーネントに対応し、前記プロセッサは前記一組のスキーマコンポーネントを利用して前記データ構造情報を符号化することを特徴とする、請求項８に記載の符号化装置。
【請求項１０】
各要素がデータ構造情報と少なくとも１つのデータ値とを有する一組の要素の符号化データを、前記一組の要素の各々の構造を画定するスキーマコンポーネントを用いて復号する復号装置であって、
復号するカレント要素の符号化データを受け取るように構成された入力モジュールと、
前記カレント要素が先行復号要素と同じデータ構造情報を有することを示す前記カレント要素の前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造情報を有するかどうか判断し、前記判断が肯定的であれば、前記符号化データを復号することにより前記少なくとも１つのデータ値を求め、前記先行復号要素のデータ構造情報を用いることにより前記カレント要素のデータ構造情報を求めるように構成されたプロセッサとを有することを特徴とする復号装置。
【請求項１１】
前記プロセッサは、前記判断が否定的であれば、前記カレント要素の符号化データを復号することにより、前記カレント要素の前記少なくとも１つのデータ値と前記データ構造情報とを求めるようにさらに構成されていることを特徴とする、請求項１０に記載の復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データプロセスに関し、より具体的には、要素の符号化方法と装置に関する。
【背景技術】
【０００２】
現在、異なる複数のタイプのデータを含む構造化文書としてデータを記憶し、伝送することが多い。構造化文書は一組の要素である。各要素は、あるタイプを有し、少なくとも１つの属性を有し、主に階層的な関係により相互接続されている。構造化文書の典型的な例は、拡張可能なマーク付け言語（ＸＭＬ）文書である。
【０００３】
構造化文書は、異なる要素を分離するマーカ（「タグ」とも呼ぶ）を含む。要素はそれ自体が複数の属性と下位要素を有する。下位要素はサブエレメントとも呼ぶ。このように、構造化文書はツリー構造や階層構造を表す。各ノードは要素を表し、下位要素を含む要素を表すノードと、上位階層において接続されている。ツリー構造の枝の先にあるノードは、情報サブエレメントに分割できないデータを含む要素を表す。ここで、枝の先にあるノードのデータは、あるタイプの属性の値であると考えられる。
【０００４】
構造化文書を符号化する圧縮方法には複数の方法があり、そのうちの１つはスキーマベース圧縮方法である。構造化文書を定義するスキーマ自体も構造化文書である。スキーマの典型的な例はＸＭＬスキーマである。一般的に、ＸＭＬスキーマは、ＸＭＬインスタンスの構造を定義する一組のスキーマコンポーネントである。スキーマコンポーネントは、それ自体が要素でもあり、スキーマのデータモデルテンプレートを有するビルディングブロック用の一般用語である。スキーマベースの圧縮方法を用いて構造化文書のインスタンスを圧縮するプロセスでは、スキーマの定義から有限状態オートマトン（ＦＳＡ）を求め、対応するＦＳＡを用いてスキーマのインスタンスまたはそれの一部をビットストリームに変換できる。スキーマコンポーネントによっては発生制約（occurrence  constraint）がある。これは、属性minOccursとmaxOccursにより定義される。通常、この種のスキーマコンポーネントは発生ノード（occurrence  node）と呼ばれる。
【０００５】
以下は、属性maxOccursを１００に設定した発生ノードを含むＸＭＬスキーマの例である。
<?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  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>
このＸＭＬインスタンスでは、異なるデータ値でｅ１が５回繰り返されることが分かる。従来のスキーマベースの圧縮方法では、要素ｅ１の同じ構造情報が、符号化ビットストリームにおいて５回繰り返される。これは冗長である。
【発明の概要】
【０００６】
本発明の一態様によると、各要素がデータ構造情報と少なくとも１つのデータ値とを有する一組の要素を、前記一組の要素の各々の構造を画定するコンポーネントを用いて符号化する方法が提供される。該方法は、符号化するカレント要素を選択する段階と、前記カレント要素が先行符号化要素と同じデータ構造情報を有するか判断する段階と、前記判断が否定的であれば、前記カレント要素のデータ構造情報と前記カレント要素の少なくとも１つのデータ値とを符号化する段階と、前記判断が肯定的であれば、前記カレント要素の少なくとも１つのデータ値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造情報を有することを示す、前記カレント要素に関連した表示値を提供する段階とを有することを特徴とする。
【０００７】
本発明の一態様によると、各要素がデータ構造情報と少なくとも１つのデータ値とを有する一組の要素の符号化データを、前記一組の要素の各々の構造を画定するコンポーネントを用いて復号する方法が提供される。該方法は、復号するカレント要素の符号化データを選択する段階と、前記カレント要素が先行復号要素と同じデータ構造情報を有することを示す前記カレント要素の前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造情報を有すると判断したとき、前記符号化データを復号することにより前記少なくとも１つのデータ値を求め、前記先行復号要素のデータ構造情報を用いることにより前記カレント要素のデータ構造情報を求める段階とを有する。
【０００８】
本発明の一態様によると、データ構造情報と少なくとも１つのデータ値とを有するカレント要素の、前記カレント要素の構造を画定するコンポーネントを用いて符号化した符号化データを担うデータ構造が提供される。該データ構造は、前記カレント要素の少なくとも１つのデータ値の符号化データを担うように用いるデータ値フィールドと、前記カレント要素が先行符号化要素と同じデータ構造情報を有するか示すように用いる表示フィールドとを有することを特徴とする。
【０００９】
本発明の一態様によると、各要素がデータ構造情報と少なくとも１つのデータ値とを有する一組の要素を、前記一組の要素の各々の構造を画定するコンポーネントを用いて符号化する符号化装置が提供される。該符号化装置は、データを受け取るように構成された入力モジュールと、符号化するカレント要素が先行符号化要素と同じデータ構造情報を有するか判断し、前記判断が否定的であれば、前記カレント要素のデータ構造情報と前記少なくとも１つのデータ値とを符号化し、前記判断が肯定的であれば、前記カレント要素の少なくとも１つのデータ値を符号化し、前記カレント要素が前記先行符号化要素と同じデータ構造情報を有することを示す表示値を提供するように構成されたプロセスモジュールとを有することを特徴とする。
【００１０】
本発明の一態様によると、各要素がデータ構造情報と少なくとも１つのデータ値とを有する一組の要素の符号化データを、前記一組の要素の各々の構造を画定するコンポーネントを用いて復号する復号装置が提供される。該復号装置は、復号するカレント要素の符号化データを受け取るように構成された入力モジュールと、前記カレント要素が先行復号要素と同じデータ構造情報を有することを示す前記カレント要素の前記符号化データの一部に基づいて、前記カレント要素が前記先行復号要素と同じデータ構造情報を有するかどうか判断し、前記判断が肯定的であれば、前記符号化データを復号することにより前記少なくとも１つのデータ値を求め、前記先行復号要素のデータ構造情報を用いることにより前記カレント要素のデータ構造情報を求めるように構成されたプロセスモジュールとを有することを特徴とする。
【００１１】
本発明の一態様によると、構造情報の符号化時の冗長性を低減できる。
【００１２】
言うまでもなく、本発明のその他の態様と効果は、以下に記載した本発明の詳細な説明を読めば明らかになる。
【図面の簡単な説明】
【００１３】
添付した図面を参照して本発明の実施形態を以下に説明する。図面は本発明をよりよく理解するためのものであり、本出願の一部である。本発明は実施形態に限定されない。
【図１】本発明の一実施形態による、発生ノードの状態遷移を示す図である。
【図２】本発明の上記実施形態による符号化装置が実行する符号化方法を示すフローチャートである。
【図３】本発明の上記実施形態による復号装置が実行する復号方法を示すフローチャートである。
【図４】本発明の上記実施形態による符号化装置を示すブロック図である。
【図５】本発明の上記実施形態による復号装置を示すブロック図である。
【発明を実施するための形態】
【００１４】
図面を参照して本発明の実施形態を詳細に説明する。以下の説明では、明確性と簡潔性のために、既知の機能や構成の詳細な説明を省略することもある。
【００１５】
実施形態は、スキーマベースの圧縮方法を利用するデータ処理環境において説明する。一例として、ＩＳＯのウェブサイトから入手可能な文書ISO/IEC  15938‐1:2002/Amd  2:  2006  Information  Technology  ‐Multimedia  Content  Description  Interface‐Part1,  Systemsに、スキーマベースの圧縮環境についての定義がある。以下に説明する実施形態は、明細書に示した変更をしたかかる環境のフレームワークにある。しかし、本発明は説明する実施形態に限定されない。
【００１６】
スキーマベースの圧縮方法では、ＦＳＡを用いて要素の構造情報を符号化する。ここで、インスタンスの構造情報には、構造化文書のインスタンスの要素に含まれるデータ値を除く、要素のコンポーネントに関する情報、例えばシーケンス、選択、プロパティ、その他の要素を構成する構造が含まれる。本発明の実施形態による発生ノードの状態遷移図である図１から分かるように、ＦＳＡは、シャント遷移とループ遷移（ループ開始遷移、ループ終了遷移、及びループ継続遷移）を用いて要素またはそのグループを符号化する。さらに、冗長な構造情報を減らすために、「繰り返し状態」及び「非繰り返し状態」を加えた。
【００１７】
本実施形態は、ISO/IEC  15938‐1:2002/Amd  2:  2006  Information  Technology  ‐Multimedia  Content  Description  Interface‐Part1に多少変更をしたフレームワークにあるので、状態と遷移に関して簡単に説明しておく。
【００１８】
要素遷移：遷移すると、どの要素があるか復号器に指示する。
【００１９】
タイプ状態：有効化されると、タイプ復号器をトリガーする。
【００２０】
ループ遷移：要素またはそのグループを復号のモデル化に用いる。実施形態では、「ループ遷移」は「ループ開始遷移」、「ループ終了遷移」、「ループ継続遷移」、「繰り返し遷移」、及び「非繰り返し遷移」を含む。
【００２１】
ループ開始遷移：要素またはそのグループを多数回復号する時に発生する。
【００２２】
ループ継続遷移：少なくとももう１つの要素またはグループを復号する時に発生する。
【００２３】
ループ終了遷移：復号する要素またはそのグループがもう無い時に発生する。
【００２４】
コード遷移：バイナリコードとシグネチャに関連する。コード遷移は、それが関連するバイナリコードをバイナリ記述ストリームから読み出した時に発生する。バイナリコードはそのシグネチャから求める。
【００２５】
シャント遷移：特殊な種類のコード遷移である。バイナリコード値は常に０である。
【００２６】
シンプル状態：特定のビヘイビアはなく、オートマトンの構成に用いる。
【００２７】
繰り返し状態：要素の構造情報が、先行要素の構造情報と同じときに発生する。
【００２８】
非繰り返し状態：要素の構造情報が、先行要素の構造情報と異なるときに発生する。
【００２９】
ＸＭＬファイルまたはその一部を圧縮するとき、各要素を１つずつ解析し、ネスト状の要素の場合には再帰的に解析する。発生要素のプロセスについては、図１に示したようにＦＳＡ中でループし、通過した遷移のコードが符号化結果を構成する。背景のＸＭＬインスタンスの例では、要素ｅ１が５回、異なるデータ値で発生することを示している。最初に、コード遷移、ループ遷移、要素遷移を通り、タイプ状態まで行く。要素ｅ１が発生したのは始めてなので、ループ継続遷移を通ってシンプル状態に直接行く。次に、第２の要素ｅ１の符号化中にタイプ状態に２回目に来ると、第２の要素ｅ１の構造情報が先行符号化要素の構造情報と同じか判断する。同じであり、次の要素もｅ１であれば、繰り返し状態を通ってシンプル状態に行く。同じでなければ、非繰り返し状態を通る。この手順はすべての要素を解析するまで繰り返す。最後に、ループ終了遷移を通って終了状態に行く。
【００３０】
符号化装置は、ＸＭＬインスタンスを、対応するＸＭＬスキーマを用いて符号化することにより圧縮する。図２は、本実施形態による符号化装置が実行する、ＸＭＬスキーマを用いた符号化方法を示すフローチャートである。
【００３１】
ステップ２０１において、符号化装置は、ＸＭＬスキーマに基づき、ＸＭＬファイル中の要素の符号化に用いるすべてのＦＳＡを生成する。
【００３２】
ステップ２０２において、符号化装置は、ＸＭＬスキーマに関連する、符号化するＸＭＬファイルを受け取る。
【００３３】
ステップ２０３において、符号化装置は、ＸＭＬファイルから、カレント要素として一要素を取る。
【００３４】
ステップ２０４において、符号化装置は、カレント要素がＥＯＦ（end  of  file）であるか判断する。ＥＯＦであれば、符号化装置はステップ２０５において符号化プロセスを終了する。ＥＯＦでなければ、ステップ２０６に進む。
【００３５】
ステップ２０６において、符号化装置は、対応するＦＳＡを用いてカレント要素の構造情報を符号化して、符号化構造情報を生成する。ここで、符号化構造情報は一般的にはバイナリフォーマットである。さらに、カレント要素に含まれるデータ値を、このステップで、または最後の符号化構造情報を出力した後のステップで符号化して、符号化データ値を生成する。符号化構造情報と符号化データ値とを組み合わせて、求める符号化要素を構成する。構造情報符号化の冗長性を低減するため、以下のステップでは、構造情報の符号化の面に主にフォーカスする。
【００３６】
ステップ２０７において、符号化装置は、カレント要素が発生ノードのサブエレメントに対応し、先行要素が同じ発生ノードのサブエレメントに対応するか判断する。対応しなければ、ステップ２０９に進む。対応すれば、ステップ２０８に進む。本方法では発生ノードの符号化における冗長性を低減したいので、このステップにおいて、カレント要素が同じ発生ノードに属するか判断しようとするものである。それゆえ、カレント要素と先行要素が同じ発生ノードに属さない場合、以下の判断ステップは省略できる。
【００３７】
ステップ２０９において、符号化装置は符号化構造情報をカレント要素に出力する。
【００３８】
ステップ２０８において、符号化装置は、カレント要素の要素定義情報が先行要素の要素定義情報と同じか、判断する。同じでなければ、ステップ２１２に進む。同じであれば、ステップ２１０に進む。このステップを用いて、同じ発生ノードの異なるサブエレメントである要素を区別する。異なる要素の異なる構造情報であっても符号化構造情報は同じ場合もあるので、このステップが必要な場合もある。ここで、要素定義情報は、スキーマの要素の詳細構造を定義するために用いる情報である。前述のＸＭＬスキーマの例から分かるように、ＸＭＬスキーマの要素ｅ１と要素ｅ２の要素定義は同じではない。符号化装置が先行要素に対してステップ２０６を実行した時、要素定義情報、ＦＳＡ、及び符号化構造情報など、その先行要素に関する情報は、ＲＡＭなどの一時的記憶装置または揮発性記憶装置に記憶される。記憶装置は、カレント要素を符号化してから更新される。
【００３９】
ステップ２１２において、符号化装置は、差分を示すビット「０」などの表示値（indication  value）と、カレント要素の符号化構造情報とを出力する。
【００４０】
ステップ２１０において、符号化装置は、ステップ２０６で生成したカレント要素の符号化構造情報と、先行要素の符号化構造情報とを比較することにより、カレント要素の符号化構造情報がＸＭＬファイル中の先行要素の符号化構造情報と同じか判断する。同じであれば、ステップ２１１に進む。同じでなければ、ステップ２１２に進む。
【００４１】
ステップ２１１において、符号化装置は、ビット「１」などの、同一性を示す表示値を出力する。表示値は、ある程度、符号化構造情報があることを示すフラグと考えることもできる。
【００４２】
本発明の一態様では、当業者には言うまでもなく、ステップ２０７は、カレント要素と先行要素とが同じ発生ノードに属するか判断しようとするものであり、ステップ２０８と２１０は、共に用いて、ＸＭＬファイル中のカレント要素の構造情報が先行要素の構造情報と同じか判断するものである。異なる構造情報を有する異なる要素であっても、バイナリフォーマットの符号化構造情報は同じであることもあるからである。さらに、当業者には明らかに、構造化文書のインスタンスをスキーマを用いて符号化する他の環境に本方法を適用する場合、他の手段でカレント要素と先行要素との間の構造情報の同一性を判断することもできる。符号化構造情報の存在を示すフラグを用いることにより、かかる要素を含むＸＭＬファイルを伝送する場合に、同じ構造情報を有する符号化要素のサイズが小さくなり、記憶サイズと帯域幅を節約できる。
【００４３】
本発明の変形例では、符号化装置はステップ２０１においてすべてのＦＳＡは生成しない。そのかわり、符号化装置は、要素を符号化する前に、その要素に対応する必要なＦＳＡを発生するだけか、またはＦＳＡを発生するのではなく、その装置に事前に記憶しておく。
【００４４】
本発明の変形例では、ステップ２０６は、必ずしもステップ２０７の前に実行する必要はない。符号化構造情報を用いずに、他の方法や手段を用いてステップ２１０の判断を実行する場合。しかし、その要素の構造情報は出力する前に符号化しなければならない。
【００４５】
本実施形態の変形例では、本方法をＸＭＬファイル全体ではなくて、ＸＭＬファイルの一部に適用することもできる。
【００４６】
図３は、本発明の本実施形態による復号装置が実行する復号方法を示すフローチャートである。
【００４７】
ステップ３０１において、復号装置は、対応するＸＭＬスキーマに基づき、符号化要素を復号するすべてのＦＳＡを生成する。
【００４８】
ステップ３０２において、復号装置は、発生ノードに属するカレント復号要素を得る。
【００４９】
ステップ３０３において、復号装置は、符号化要素に含まれる表示値に基づき、カレント要素の構造情報が先行要素の構造情報と同じか、判断する。同じであれば、ステップ３０４に進む。同じでなければ、ステップ３０５に進む。例えば、表示値がビット「１」だと、カレント要素の構造情報が先行要素の構造情報と同じだということを示し、ビット「０」だと、異なることを示す。つまり、表示値は、符号化構造情報があるかどうかを示すフラグであると考えられる。ここで、先行要素に関する情報は、復号装置が先行要素を復号するときに、バッファまたは記憶装置に一時的に記憶される。そのバッファまたは記憶装置の情報（content）は、復号装置がカレント要素を復号してから更新される。
【００５０】
ステップ３０４において、復号装置は、記憶した、先行要素の構造情報を出力する。
【００５１】
ステップ３０５において、復号装置は、対応するＦＳＡに基づき符号化構造情報を復号して、カレント要素の構造情報を生成し、それを出力する。
【００５２】
さらに、符号化データ値の復号プロセスは、符号化構造情報の復号中に、または符号化構造情報の復号後に行える。
【００５３】
本発明の本実施形態では、スキーマベースの圧縮環境における発生ノードタイプの符号化要素を担うデータ構造を提供する。このデータ構造は、表示フィールドを含み、さらに、符号化構造情報を運ぶ構造情報フィールドと、要素の符号化データ値を運ぶコンテンツフィールドを含んでいてもよい。表示フィールドは、その要素の構造情報が先行要素の構造情報と同じか示すために用いられる。要素の構造情報が先行要素の構造情報と同じであれば、表示フィールドをその同一性を示す値に設定し、構造情報フィールドは設けない。同じでなければ、表示フィールドを、相違を示す値に設定し、構造情報フィールドを設ける。そのため、表示フィールドを用いて、構造情報フィールドがあるかどうかを示すこともできる。
【００５４】
図４は、本発明の実施形態による符号化装置を示すブロック図である。符号化装置４００は、ＦＳＡモジュール４０１と、入力モジュール４０２と、プロセスモジュール４０３と、出力モジュール４０４と、バッファモジュール４０５とを有する。ＦＳＡモジュール４０１は、プロセスモジュール４０３に対して、ＸＭＬスキーマに基づきＦＳＡを提供するように構成されている。ＦＳＡの提供は、ＦＳＡモジュール４０１が、プロセスモジュールからのＦＳＡを求める要求に基づきそのＦＳＡを生成してもよい。または、ＦＳＡモジュール４０１が、まずＸＭＬスキーマに基づいてすべてのＦＳＡを生成し、記憶装置にそのＦＳＡをすべて記憶し、ＦＳＡを求める要求に応じてプロセスモジュール４０３にＦＳＡを返してもよい。入力モジュール４０２はデータを受け取るように構成されている。出力モジュール４０４はデータを出力するように構成されている。バッファモジュール４０５はデータをバッファするように構成されている。プロセスモジュール４０３は、入力モジュール４０２から、符号化する要素をカレント要素として受け取り、バッファモジュール４０５が供給する、先行要素の構造情報に基づき、カレント要素の構造情報が先行要素の構造情報と同じか判断するように構成されている。同じであれば、プロセスモジュール４０３は、出力モジュール４０４を用いて、符号化構造情報がないことを示す表示値を出力する。同じでなければ、プロセスモジュール４０３は、出力モジュール４０４を用いて、符号化構造情報があることを示す表示値を出力する。プロセスモジュール４０３は、さらに、カレント要素の構造情報を符号化して、ＦＳＡモジュール４０１から受け取った対応ＦＳＡに基づき、カレント要素の符号化構造情報を生成するように構成されている。ここで、プロセスモジュール４０３が先行要素を符号化する時、先行要素の符号化構造情報などである先行要素に関する情報を、バッファモジュール４０５に記憶する。そして、バッファモジュール４０５に記憶された情報は、カレント要素を符号化してから更新する。
【００５５】
図５は、本発明の実施形態による復号装置を示すブロック図である。復号装置５００は、ＦＳＡモジュール５０１と、入力モジュール５０２と、プロセスモジュール５０３と、出力モジュール５０４と、バッファモジュール５０５とを有する。ＦＳＡモジュール５０１は、プロセスモジュール５０３に対して、ＸＭＬスキーマに基づきＦＳＡを提供するように構成されている。入力モジュール５０２はデータを受け取るように構成されている。出力モジュール４０４はデータを出力するように構成されている。バッファモジュール５０５はデータをバッファするように構成されている。復号装置５００のプロセスモジュール５０３は、ＦＳＡモジュール５０１が求めた対応するＦＳＡを用いて、入力モジュール５０２から受け取ったデータに基づいて要素の構造情報を生成するように構成されている。具体的に言うと、復号装置５００は、入力モジュール５０２から符号化要素をカレント符号化要素として受け取り、符号化要素に含まれた表示値に基づき、カレント要素の構造情報が、先行要素の構造情報と同じかどうか判断する。同じであれば、プロセスモジュール５０３は、先行要素の符号化構造情報を復号する時、出力モジュール５０４を用いて、先行要素の構造情報を出力する。この構造情報はバッファモジュール５０５に記憶される。同じでなければ、プロセスモジュール５０３は、ＦＳＡモジュール５０１から受け取った対応するＦＳＡに基づき、カレント要素の符号化構造情報を復号し、出力モジュール５０４を用いてカレント要素の構造情報を出力する。ここで、プロセスモジュール５０３が先行要素を復号する時、先行要素の構造情報などである先行要素に関する情報を、バッファモジュール５０５に記憶する。そして、バッファモジュール５０５に記憶された情報は、カレント符号化要素を復号してから更新する。
【００５６】
以下に、注釈付きの実験データを示す。スキーマとそのＸＭＬインスタンスの例について、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
上記の実験データから分かるように、冗長な構造情報が減少した。
【００５７】
実施形態を説明した。しかし、言うまでもなく様々な修正を行うことができる。例えば、別の実施形態の要素を組み合わせ、補充し、修正し、または削除して、他の実施形態を形成してもよい。また、当業者には言うまでもないが、開示した構成やプロセスを他の構成やプロセスで置き換えてもよく、その結果の実施形態が少なくとも実質的に同じ機能を果たし、少なくとも実質的に同じように、開示した実施形態と実質的に同じ結果を達成する。
【図１】
0005536066.tif 000002
【図２】
0005536066.tif 000003
【図３】
0005536066.tif 000004
【図４】
0005536066.tif 000005
【図５】
0005536066.tif 000006