(57)【要約】本発明は、実質的にスキーマからメタスキーマに依存してビットストリーム若しくはビットストリームの一部を生成する符号化方法からなっており、この場合は１つ又は複数の以下に述べるような最適化が実施される。すなわち、要素宣言および属性宣言からの匿名タイプの分離、固有タイプとしての符号化、スキーマ定義内でインスタンスされる最上位要素としてのタイプ定義、符号化側でのシンタクスツリーの正規化、タイプネームの文字列の置換、継承ツリーに対する情報の伝送である。復号化は、これらの最適化を考慮して逆にビットストリームからスキーマを生成する。
2005538436.tif 000002
【特許請求の範囲】
【請求項１】
構造化された文章、特にＸＭＬ文章の符号化のための方法において、
第１のステップにて、スキーマ（ＸＭＬＳ）の構造を正規化し、
その際にグループを要素及び/又は属性を用いて単純化し、
符号化方法（ＢｉＭ−Ｅ）を用いて、正規化されたスキーマからメタスキーマ（ＳＳ）に依存してビットストリームの一部若しくはビットストリーム（ＢＳ１）を生成するようにしたことを特徴とする方法。
【請求項２】
さらなるステップにおいて、同じ符号化方法（ＢｉＭ−Ｅ）を用いて、文章（ＸＭＬ）からスキーマ（ＸＬＭＳ）に依存してビットストリームのさらなる部分若しくはさらなるビットストリーム（ＢＳ２）を生成するようにした、請求項１記載の方法。
【請求項３】
構造化された文章のスキーマ定義の要素宣言及び/又は属性宣言が、次のように再構築される、すなわち匿名タイプ定義（ＡＴ０）が要素宣言及び/又は属性宣言から取り出され、相応の要素のもとで参照に用いられる名前及び/又はコードが得られるように再構築される、請求項１または２記載の方法。
【請求項４】
タイプネーム及び/又は要素ネーム及び/又は代入グループネームの代わりに、数値並びに数値とタイプネーム、及び/又は要素ネーム、及び/又は代入グループネームの間の割当てを含んだ１つ以上のテーブルのみが符号化される、請求項１から３いずれか１項記載の方法。
【請求項５】
タイプネーム及び/又は要素ネーム及び/又は代入グループネーム並びに、タイプネーム及び/又は要素ネーム及び/又は代入グループネームのリスト内の位置を含んだ１つ又は複数のリストが、タイプネーム及び/又は要素ネーム及び/又は代入グループネームの代わりに符号化される、請求項１から４いずれか１項記載の方法。
【請求項６】
タイプ、大域要素及び/又は代入グループの継承ツリーに対する情報が符号化され、その際各タイプが、マスタタイプに関するタイプコードと、記述タイプに係わる全てのタイプコードの長さに関する情報によって記述され、及び/又は、
各大域要素が、ＳＢＣの長さ及びＳＢＣ及び/又は代入グループの各要素と、代入コードの長さ及び代入コードによって記述される、請求項１から５いずれか１項記載の方法。
【請求項７】
構造化された文章、特にＸＭＬ文章の復号化のための方法において、
復号化方法（ＢｉＭ−Ｄ）を用いて、ビットストリームの一部若しくはビットストリーム（ＢＳ１）からメタスキーマ（ＳＳ）に依存してスキーマ（ＸＭＬＳ）を生成し、
ビットストリームにおいて、スキーマの構造が正規化されていたかどうかを確定し、
その際グループが複数の要素及び/又は属性値を用いて単純化されていた場合には何も正規化を実施しないようにしたことを特徴とする方法。
【請求項８】
第２のステップにおいて、同じ復号化方法（ＢｉＭ−Ｄ）を用いて、ビットストリームのさらなる部分若しくはさらなるビットストリーム（ＢＳ２）からスキーマ（ＸＬＭＳ）に依存して文章（ＸＭＬ）が生成される、請求項７記載の方法。
【請求項９】
スキーマ（ＸＭＬＳ）の復号化の間に、同じ復号化方法（ＢｉＭ−Ｄ）を用いて、ビットストリームのさらなる部分若しくはさらなるビットストリーム（ＢＳ２）からスキーマ（ＸＬＭＳ）の既に復号化された部分に依存して文章（ＸＭＬ）が生成される、請求項７記載の方法。
【請求項１０】
構造化された文章の要素宣言及び/又は属性宣言が次のように再構築される、すなわちその伝送のためにネーム及び/又はコードが割当てられた匿名タイプ（ＡＴ０）がそれぞれの要素宣言若しくは属性宣言内に挿入され、それによってそのつどの特性タイプが参照されるように再構築される、請求項７から９いずれか１項記載の方法。
【請求項１１】
ビットストリームから、タイプネーム及び/又は要素ネーム及び/又は代入グループネームが、数値と１つまたは複数のテーブルを介して復号化され、前記テーブルは、数値とタイプネーム及び/又は要素ネーム及び/又は代入グループネームの間の割当てを含んでいる、請求項７から１０いずれか１項記載の方法。
【請求項１２】
ビットストリームから、タイプネーム及び/又は要素ネーム及び/又は代入グループネームが、１つまたは複数のリストと、リスト内のタイプネーム及び/又は要素ネーム及び/又は代入グループネームの位置を介して復号化され、前記リストは、タイプネーム及び/又は要素ネーム及び/又は代入グループネームを含んでいる、請求項７から１１いずれか１項記載の方法。
【請求項１３】
最初にビットストリームから、タイプ及び/又は大域要素及び/又は代入グループの継承ツリーに対する情報が復号化され、その際各タイプは、マスタタイプに関するタイプコードと、記述タイプに係わる全てのタイプコードの長さに関する情報によって記述され、及び/又は、
各大域要素が、ＳＢＣの長さ及びＳＢＣ及び/又は代入グループの各要素と、代入コードの長さ及び代入コードによって記述される、請求項７から１２いずれか１項記載の方法。
【請求項１４】
構造化された文章、特にＸＭＬ文章の符号化のための装置において、
符号化ユニットが設けられており、
前記符号化ユニットは、第１のステップにて、スキーマ（ＸＭＬＳ）の構造を正規化し、
その際、グループは要素及び/又は属性を用いて単純化され、
さらに前記符号化ユニットは、正規化されたスキーマからメタスキーマ（ＳＳ）に依存してビットストリームの一部若しくはビットストリーム（ＢＳ１）を生成するように構成されていることを特徴とする装置。
【請求項１５】
構造化された文章、特にＸＭＬ文章の復号化のための装置において、
復号化ユニットが設けられており、
前記復号化ユニットは、ビットストリームの一部若しくはビットストリーム（ＢＳ１）からメタスキーマ（ＳＳ）に依存してスキーマ（ＸＭＬＳ）を生成し、
ビットストリームにおいて、スキーマ（ＸＭＬＳ）の構造が正規化されていたかどうかが確定され、その際グループが複数の要素及び/又は属性値を用いて単純化されていた場合には何も正規化が実施されないように構成されていることを特徴とする装置。
【請求項１６】
前記符号化ユニットは、コンフィグレーション可能なバイトコードインタプリタを有しており、該インタープリタは、バイトコード内の情報を解釈し、コンフィグレーションに依存して、構造化された文章からバイトコードに基づいてパス又はペイロードを表わすコードを生成する、請求項１４記載の装置。
【請求項１７】
前記復号化ユニットは、コンフィグレーション可能なバイトコードインタプリタを有しており、該インタープリタは、ビットストリームからの情報によってコンフィグレーション可能であり、さらにコンフィグレーションに依存して、ビットストリームからバイトコードに基づいてパス、ペイロード又はバイトコードを生成する、請求項１５記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化された文章からスキーマに依存してビットストリームが生成される、構造化された文章、特にＸＭＬ文章の符号化のための方法および装置、並びにビットストリームからスキーマに依存して構造化された文章が生成される、構造化された文章、特にＸＭＬ文章の復号化のための方法および装置に関している。
【背景技術】
【０００２】
ＭＰＥＧ−７標準規格における策定の枠内では、ＸＭＬデータのバイナリーコーディングのための方法が開発されてきた。これは以下ではバイナリーフォーマット方式（ＢｉＭ）とも称され、例えばＩＳＯ/ＩＥＣ標準文書の“ＩＳＯ／ＩＥＣ  ＦＤＩＳ  １５９３８−１：２００１（Ｅ）、Information Technology − Multimedia Content Description Interface - Part 1: Systems”から公知である。この方法は、エンコーダとデコーダのもとに存在するＸＭＬスキーマ定義、例えばＭＰＥＧ−７スキーマを利用している。これはＸＭＬ記述の個々のデータ要素に対するコードを生成するためである。この方法は、エンコーダとデコーダにおいて少なくとも部分的に同じスキーマ定義が存在することを前提とする。このことは例えば正規化されたＸＭＬスキーマがデコーダ内に固定的に組込まれることによって保証され得る。その他にもスキーマを本来のドキュメントとは別個に若しくは付加的にデコーダに転送することも可能である。エンコーダからデコーダへのスキーマの伝送は、テキストフォーマットで実施可能である。その場合には、標準のテキスト圧縮、例えばＺＩＰなどが適用されてもよい。
【０００３】
本発明の課題は、スキーマの伝送を特に効果的に行い、伝送されるデータ量と、スキーマからのコードテーブルの生成に対して要するデコーダにおける計算機コストを低減させ得る、方法ないし装置の提供にある。その他に、不完全に伝送されたスキーマの一貫性を保証することである。
【０００４】
前記課題は請求項１の特徴部分に記載の本発明によるエンコーディング方法、請求項７の特徴部分に記載の本発明によるデコーディング方法、請求項１４の特徴部分に記載のエンコーディング装置、請求項１５の特徴部分に記載の本発明によるデコーディング装置によって解決される。
【０００５】
本発明による方法ないし装置のさらに別の有利な実施例は従属請求項に記載される。
【０００６】
本発明は実質的にスキーマからメタスキーマに依存してビット流若しくはビット流の一部を生成するエンコーディング方法からなっており、この場合１つまたは複数の以下の最適化が実施される。：
−要素宣言と属性宣言からの匿名タイプの分離とオウンタイプ（このタイプ定義はスキーマ定義内でトップレベル要素として例示されている）としてのコーディング、
−エンコーダ側のシンタックスツリーの正規化
−タイプネームのキャラクタストリングスの置換え
−インヘラタンスツリーのための上方の伝送。
【０００７】
デコーディングはこれらの最適化を考慮し、また逆にビットストリームからスキーマが生成される。
【０００８】
本発明は以下の明細書で図面に示されている実施例に基づいて詳細に説明する。この場合、
図１は、本発明による符号化/復号化の説明のための基本原理図であり、
図２は、本発明の有利な実施形態の詳細を説明するための図であり、
図３は、本発明のさらに有利な実施形態の詳細を説明するための図であり、
図４は、本発明によるデコーダの有利な実施形態の基本原理図である。
【実施例】
【０００９】
次に本発明を図面に基づき以下の明細書で詳細に説明する。それらのパートに対するＸＭＬスキーマは、正規化された構文定義に基づく（特にいわゆる“Schema for Schemas”（Ｗ３Ｃ仕様）これはいわばメタスキーマを表わしている）ＸＭＬ文章であるので、スキーマも前述したＢｉＭ方式によって符号化され伝送され得る。
【００１０】
図１には装置が示されている。この装置では、第１のステップにおいて、ＢｉＭ符号化方法Ｂｉｍ−Ｅを用いてＸＭＬスキーマＸＭＬＳからメタスキーマＳＳに依存してビットストリームの一部若しくはビットストリームＢＳ１が生成され、第２のステップにおいて、同じＢｉＭ符号化方法ＢｉＭ−Ｅを用いてＸＭＬ文章ＸＭＬからスキーマＸＭＬＳに依存してビットストリームのさらなる部分若しくはビットストリームＢＳ２が生成され、並びに逆の方向においてＢｉＭ復号化方法ＢｉＭ−Ｄを用いてビットストリームの２つの部分若しくはビットストリームＢＳ１とＢＳ２からＸＭＬスキーマ及びＸＭＬ文章が再生される。
【００１１】
本発明の第１の有利な実施例では、要素宣言ないし属性宣言からのいわゆる匿名タイプ“ａｎｏｎｙｍｏｕｓ Ｔｙｐｅ”の分離が行われる。
【００１２】
ＸＭＬ文章の伝送は、ＢｉＭ方法の場合には、“ｄｅｐｔｈ ｆｉｒｓｔ”で実施される。しかしながらデーコーダにおけるスキーマ編集の過程は“ｂｒｅａｄｔｈ ｆｉｒｓｔ”を要求する。これらの用語の表現は、例えばインターネットホームページ：ｈｔｔｐ：／／ｗｗｗ．ｇｅｎｅｒａｔｉｏｎ５．ｏｒｇ／ｓｉｍｐｌｅ＿ｓｅａｒｃｈ．ｓｈｔｍｌに詳細に説明されている。例えばシーケンスやチョイスなどのグループでは、これらがデコーダ側の小さなバッファメモリによって補償できる。しかしながら匿名タイプ“ａｎｏｎｙｍｏｕｓ Ｔｙｐｅｓ”（この場合個々の要素や属性のタイプが定義できる）の場合では、符号化器側での再構築が複雑さに見合うものとされる。匿名タイプ定義“ａｎｏｎｙｍｏｕｓ Ｔｙｐｅ Ｄｅｆｉｎｉｔｉｏｎ”（以下の明細書では単にＡＴ０とも称する）は、要素“ＣｕｒｒｉｃｕｌｕｍＶｉｔａｅ”の要素宣言から取り出され、名前及び/又はコードが得られる。それらは相応の要素のもとでの参照に用いられる。これによって有利には、伝送されるタイプの階層の深度が低減され、それによりデコーダ側でのスキーマのコンパイルが容易となる。
例：
再構築前のスキーマ
＜complexType name="personDescriptor"＞
＜element name="CurriculumVitae"＞
＜complexType＞
＜element name="name" type="string"/＞
＜element name="birthday" type="data"/＞
…
＜/complexType＞
＜/element＞
＜element name="profession" type="profTp"/＞
＜/complexType＞
再構築後のスキーマ
＜complexType name="personDescriptor"＞
＜element name="CurriculumVitae" type="AT0"/＞
＜element name="profession" type="profTp" /＞
＜/complexType＞
＜complexType name="AT0"＞
＜element name="name" type="string"/＞
＜element name="birthday" type="data"/＞
…
＜/complexType＞
本発明の第２の有利な実施例によれば、シンタクスツリの正規化がＢｉＭにおいて特定されているように符号器側で実施される。
【００１３】
ＢｉＭ方法においては、ビットストリームの復号化に用いられるいわゆる“Ｆｉｎｉｔｅ Ｓｔａｔｅ Ａｕｔｏｍａｔｏｎｓ”が、ＸＭＬスキーマの構造をマッピングするシンタクスツリーから生成される。符号化の効果を高めるために、このシンタクスツリーは、テクスチャーＸＭＬ定義に対して１：１で対応するのではなく、正規化が実行される。この場合は以下の３つの異なるケースが生じ得る。：
1.  １つの要素しか含まないグループの単純化：
このグループは分解され、含まれている要素は分解されたグループのレベルでコンテンツモデルにソートされる。この場合要素の属性“ｍｉｎＯｃｃｕｒｓ”と“ｍａｘＯｃｃｕｒｓ”は、再区分化の前に分解されたグループと要素の相応の属性の積によって置換えられる。
2.  属性値ｍｉｎＯｃｃｕｒｓ＝０を有する要素を含んだ選択グループの単純化：
選択グループの属性値“ｍｉｎＯｃｃｕｒｓ”は、先行する値に依存することなくセットされる。属性値ｍｉｎＯｃｃｕｒｓ＝０を有していた要素には、ｍｉｎＯｃｃｕｒｓ＝１が割当てられる
3.  選択された選択グループの単純化：
ある選択グループが、属性値ｍｉｎＯｃｃｕｒｓ＝１を含んでいる別の選択グループを含むならば、当該選択グループは分解され、内容は上位に位置する選択グループに直接組込まれる。
【００１４】
これらの単純化は、スキーマの伝送の際に既にエンコーダにおいて実行されるべきである。なぜならシンタクスツリー変換は、標準コードの割当てに影響を与えるからであり、さらにコンテンツモデルが直接引き継がれる場合には、スキーマのコンパイルがデコーダ側で単純化されるからである。
【００１５】
これによってデコーダも負担が軽減され、コンテンツモデルは、タイプ復号化で生じるように直接供給可能となる。
【００１６】
本発明の第３の有利な実施形態は、図２に示されているように、タイプネーム“Ｔｙｐｅｎａｍｅ”の文字列の置換えが実行される。
【００１７】
タイプ定義の属性値“ｎａｍｅ”ないし“ｂａｓｅ”と、要素宣言または属性宣言の属性値“ｔｙｐｅ”においては、スキーマにおいて頻繁に同じタイプネームが生じる。これらは文字列として何度も伝送されるものになってしまう。タイプネームの符号化の際には有利にはネームの代わりに数値（ナンバー）だけが符号化され、それとは別個にそれらの数値をもとのネームに再び関係づけるテーブルが用いられる。これに適する数値としては、全てのｃｏｍｌｅｘＴｙｐｅのマスタタイプの継承ツリー“ｉｎｈｅｒｉｔａｎｃｅ ｔｒｅｅ”に割当てられる、タイプネームが提案される。
【００１８】
相応にこれらのことは大域要素宣言の属性値“ｎａｍｅ”とそれらの“ｒｅｆ”属性における参照、並びに属性値“ｓｕｂｓｔｉｔｕｔｉｏｎＧｒｏｕｐ”における代入グループのネームに対しても当て嵌まる。このケースでは例えば大域要素のスキーマ分岐コードＳＢＣが用いられてもよい。
【００１９】
これに伴ってデータ容量が節約可能となる。なぜなら同じタイプネームに対して繰返される参照がよりコンパクトな形態で表せるからである。またタイプ割当てテーブルも標準圧縮ツールによってより良好に圧縮できる。なぜならタイプネームはビットストリームを介して分散して現れるのではなく、コンパクトな形態でビットストリーム内の関連領域に現れるからである。
【００２０】
別の有利な実施形態によれば、タイプネーム若しくは要素ネームあるいは代入グループネームを含んだリストが符号化される。ネームに対して明示的に割当てられる数値の代わりに当該実施形態では、リスト内のネームの位置が数値として利用される。このことは次のような利点となる。すなわち複数の数値がもはやリスト内で符号化される必要がなくなり、それによって効率的な伝送が保証される。
【００２１】
本発明の第４の実施例によれば、継承ツリーに対する情報の伝送が行われる。
【００２２】
各タイプ定義は、いわゆる属性値“ｂａｓｅ”を含んでおり、その情報があればどのタイプかを継承づけられる。スキーマに対してこれらの全ての情報が収集されれば、いわゆる継承ツリーとしてのツリー構造が得られる。この継承ツリーは、ＢｉＭ符号化方法の場合に、タイプ変換のケースにおいて（ｔｙｐｅ−ｃａｓｔ）要素の新たなタイプを伝送するために用いられる。その際にはコードが、ベースタイプによって継承される全てのタイプに対応付けられ（いわゆるタイプコード）、並びに当該コードの長さも正確な復号化のために重要となる。この長さは、ベースタイプのもとで継承ツリー内の全てのタイプの総数から生じる。スキーマが完全に伝送された場合には、コードもコード長もデコーダ側で一義的に求めることができる。しかしながらスキーマがデコーダ側で不完全である時には、既に伝送されたタイプにタイプコードを割当てるためにはさらなる付加情報が伝送されなければならない。
【００２３】
伝送された各コードは、ネーム領域において、マスタコードに関するタイプコードナンバを有してる。それにより、派生されるタイプのタイプコードは、簡単な差分形成によって求められる。さらに伝送されたタイプによって定められるサブツリーの能力に関する情報と、当該伝送されたタイプから導出されるタイプのタイプコード長に関する情報も欠落し得る。この長さは、可変の長さコードの中で少ないビットで伝送され得る。
【００２４】
図３には、さらなるタイプの派生しているタイプＡを伴ったスキーマの継承ツリーの例が表わされている。このタイプは、マスタタイプ“ａｎｙＴｙｐｅ”に関して例えばタイプコード１３４を得ている。タイプＡからはタイプＡＡ、ＡＢ，ＡＣが派生しており、それらのタイプコードはマスタタイプに関して与えられる。ベースタイプＡに関するタイプコードを求めるためには、所望のタイプのタイプコードから、ベースタイプのタイムコードと１を減算するだけでじゅうぶんである。：
ＴＣＴｙｐｅ＝ＴＣＴｙｐｅ ｂｚｇｌ． Ｕｒｔｙｐ−ＴＣＢａｓｉｓｔｙｐ ｂｚｇｌ． Ｕｒｔｙｐ−１
タイプコードの長さに関する欠落した情報は、有利には参照テーブルにおいて付加的な数として統合可能である。
【００２５】
タイプ割当てテーブルの中の情報を標準圧縮ツールを用いて圧縮できるようにするためには、全バイトをそろえて記憶させることが推奨される（ｂｙｔｅ−ａｌｉｇｎｅｄ）。最初の数値“ｖｌｕｉｍｓｂｆ５”は、テーブル内のラインナンバを符号化する数であり、それに続く“ｖｌｕｉｍｓｂｆ５”は、タイプコードに対するビットの数を符号化する数であり、さらに続く“ｖｌｕｉｍｓｂｆ５”は、マスタタイプ自体に係るタイプコードを表わす数である。さらに充填ビット若しくはスタッフィングビットがバイトの境界合わせを達成するために続く。：
【００２６】
【表１】
2005538436.tif 000003
【００２７】
タイプ割当てテーブルの伝送は、基礎をなすスキーマがないか若しくはまだ完全に伝送されていない、及び/又は復号化されていなかった場合ですら、符号化された文章内に場合によって存在するタイプコードを正確に復号化させることを可能にする。
【００２８】
相応にグローバルＳＢＣは大域要素と共に伝送されなければならず、代入コードは代入グループに属する要素のケースにおいて伝送されなければならない。その場合全ての大域要素に先立って１つのグローバルＳＢＣ長さと、代入グループのヘッダ要素と共に各代入コードの長さが伝送されなければならない。
【００２９】
符号化の際には、個々の実施例で表わされた特徴のあらゆる組合わせが可能であり、さらに復号化の際にも相応の形式で用いられる。
【００３０】
ＢｉＭ方法は、ＸＭＬスキーマを１つのフォーマットにコンパイルする必要がある。このフォーマットは、コードワードの長さの決定とコードの値によるデータ要素の選択を許容する。これについては複数の可能性が存在する。ＭＰＥＧ−７標準（ＩＳＯ／ＩＥＣ  １５９３８−１：２００１ Ｐａｒｔ１：ＳｙｓｔｅｍｓないしＩＳＯ／ＩＥＣ  １５９３８−６：２００１ Ｐａｒｔ６：参照ソフトウエア）では、有効情報ないしペイロードの復号化に対し有限状態オートマトンと、コンテキストパスの復号化のためのスキーマから生成されるコードテーブルを使用するモデルが提案されている。
【００３１】
図４に示されている有利な本発明によるデコーダでは、復号化過程がバイトコードモデルで記述されており、この場合スキーマ構造が、バイトコードインタープリタＢＣＩによって処理されるインターリンクされた状態のシステムへトランスレートされる。ここではエンコーダによって受信されたビットストリームＢＳが、選択すべきサブシーケンス状態に関する情報を含んでいる。ＭＰＥＧ−７標準で提案されるモデルとの違いは、バイトコードモデルが、ペイロードを表わすビットストリームもコンテキストパスを表わすビットストリームも復号化できることである。そのためスキーマの中に含まれている同じ情報をデコーダにおいて異なるコード化方法毎に２度維持する必要がなくなる。インタープリタＢＣＩは、入力ビットストリームからの情報を読出し、それをバイナリーフォーマットＢｉＭでＸＭＬ文章またはＸＭＬスキーマに符号化する。この情報は、バイトコード内に記憶されている目下の状態のサブシーケンス状態に基づく選択を可能にする。それらのサブシーケンス状態は、バイトコード内でポインタＰとして永久的に作成される。コンフィグレーションに応じてパス、ペイロード又はバイトコードが出力される。
【００３２】
スキーマの復号化は、前述した変更によっても効果的にバイトコードモデル内で実現され得る。この場合には、ペイロードもパスも出力されず、代わりにバイトコードが直接生成される。このバイトコードは相応するタイプの復号化のためのバイトコードインタプリタによって利用可能である。
【００３３】
バイトコードは、構造要素ないしは状態からなっている。これらの状態とは、当該状態のヘッダビット領域を用いて識別される種々異なるタイプのものである。これらの状態はタイプに依存して様々な情報領域を含んでおり、それらの領域はバイトコードインタープリタによって読出され、コンフィグレーション（ペイロード/コンテキストパス）や目下の状態に応じて評価される。
【００３４】
スキーマ情報を表している状態の種別に対しては多数の変化例が考えられる。重要なことは、ＸＭＬスキーマの全ての構文要素がバイトコードモデルの状態によって再構築できることと、ＭＰＥＧ−７標準で定められる２つのアルゴリズム（コンテキストパス/ペイロード）の効果的な復号化に必要な全ての情報が当該状態の中から得られることである。
【００３５】
以下では、バイトコードの可能な構造を簡単に述べる。：
状態のタイプ：概要
１．Ｃｏｍｐｌｅｘｔｙｐｅのヘッダ状態
タイプのヘッダ状態は、Ｃｏｍｐｌｅｘｔｙｐｅの復号化の際のスターティングポイントを再生する。それにはネームとタイプが含まれ（ａｎｏｎｙｍｏｕｓ ｔｙｐｅではない）並びにタイプの継承（ｉｎｈｅｒｉｔａｎｃｅ）に関する情報（ｐｏｉｎｔｅｒ ｔｏ ｂａｓｅ ｓｔａｔｅ）及び多態性に関する情報が含まれる。ペイロード符号化に対する特定因子は、タイプ属性のリストに対するポインタからなる。コンテキストパス符号化に対する特定因子は、コンテキスト及びオペランドツリーブランチコードテーブルに対する子の要素の数を有するフィールドからなる。最後の情報フィールドは、サブシーケンス状態に対するポインタである。すなわち、Ｃｏｍｐｌｅｘｔｙｐｅの内容を表している第１の状態である（例えば要素状態若しくは選択状態）。
【００３６】
【表２】
2005538436.tif 000004
２．選択状態
選択状態は、ＸＭＬスキーマの選択グループを再生する。この選択状態は、実質的に可能なサブシーケンス状態を伴うポインタリストを含んでいる。実際に選択された状態を決定するために、ペイロードの復号化の際にはビットストリームが読出されなければならない。選択状態からは２つの変化例が存在する。すなわち、開始状態（これは様々な生じ得るサブシーケンス状態に分岐する）と終了状態（これは選択を再び集約する）である。
３．要素状態
要素状態はスキーマのｃｏｍｐｌｅｘＴｙｐｅにおける要素宣言を再生する。それには要素のネームを伴った文字列に対するポインタ並びにタイプのヘッダ状態に対するポインタが含まれる。さらに場合によっては、ポジションコードの長さに関する情報（パスの復号化に対してのみ）や代入グループに対する情報が存在し得る。
４．属性状態
属性状態は、スキーマの属性宣言を再生する。これには俗世位置のネームに対するポインタ並びに属性値のｓｉｍｐｌｅＴｙｐｅのヘッダ状態に対するポインタが含まれる。
５．オカレンス状態
オカレンス状態は、ＸＭＬスキーマ、例えば要素若しくはグループ（選択、シーケンスなど）のもとで生じ得るｍｉｎＯｃｃｕｒｓ属性とｍａｘＯｃｃｕｒｓ属性を再生する。それには、さらなる要素又はグループのインスタンスの場合のサブシーケンス状態に対するポインタ、並びにグループの最後のインスタンスが符号化された場合のサブシーケンス状態に対するポインタが含まれる。ＸＭＬスキーマの場合要素自体が含まれる可能性が生じ得るので（要素自体がｃｏｍｐｌｅｘＴｙｐｅ定義内、若しくはより深いネスティング内において再び生じる）、オカレンス状態も同時に２回以上アクティブとなる。それ故にオカレンス状態内でステープルに対するポインタが必要となる。これはオカレンス状態の各アクティブインスタンスの現下の状態を保証する。
６．タイプの終了状態
タイプの終了状態は当該タイプの全ての属性値を伴うポインタリストを含む。それはパスの復号化の際に必要となる。なぜならツリー分岐コードテーブル内では全ての属性値がテーブルの最後に取り入れられるからである。終了状態に達した場合には、バイトコードインタープリタが当該タイプを読出した要素内へ階層的に分岐される。呼び出される要素に関する相応の情報は、バイトコードインタープリタの作業メモリ内に記憶されなければならない。
７．ｓｉｍｐｌｅＴｙｐｅのヘッダ状態
この状態は内容の復号化を制御している。すなわちそれには、該当するタイプの特定のデータをビットストリームから読出し復号化できるコーデックに対するポインタが含まれている。このコーデックのタイプは、情報フィールド内に特定化されている。
【００３７】
従来技法のＭＰＥＧ７参照ソフトウエアと比べた場合のバイトコードモデルの利点は以下の通りである。：
１．スキーマ情報は、２つのコーディング方法（コンテキストパス/ペイロード）毎に一度だけデコーダで表される。バイトコード状態における情報の大半部分は、２つの方法に対して関連している。残りの僅かな部分は、２つの方法のうちのそれぞれ１つに対してのみ特定化される。それ故にデコーダにおけるスキーマ情報の表記は非常にコンパクトになる。
２．バイトコードモデルにより、スキーマ情報に対して例えば事前コンパイルや記憶にも適した（テキストとしてＸＭＬスキーマの代わりに）よく定義されたデータフォーマットが得られる。
３．標準プロセッサによるバイトコードの実施は非常に高速に行われ得る。なぜならバイトコードモデルが復号化過程を非常に効果的に準備するからである。全ての情報は、ポインタを介して状態の中で直接得ることができ、（ＩＳＯ／ＩＥＣ １５９３８−６，パート６の参照ソフトウエアのように）一部を最初にリスト内で検索する必要はない。
【００３８】
相応するエンコーダは、同じ形式で実現できる。この場合には、次のように逆になる。すなわち構造化された文章のテキスト表記によって状態が制御され状態遷移がバイナリ表記を生成する。
【図面の簡単な説明】
【００３９】
【図１】本発明による符号化/復号化の説明のための基本原理図
【図２】本発明の有利な実施形態の詳細を説明するための図
【図３】本発明のさらに有利な実施形態の詳細を説明するための図
【図４】本発明によるデコーダの有利な実施形態の基本原理図
【図１】
2005538436.tif 000005
【図２】
2005538436.tif 000006
【図３】
2005538436.tif 000007
【図４】
2005538436.tif 000008
【手続補正書】
【提出日】平成16年9月13日(2004.9.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＸＭＬ文章の伝送と符号化のための方法において、
ａ）ＸＭＬ文章に所属するＸＭＬスキーマを正規化するステップと、；この場合ＸＭＬスキーマの正規化は、以下の単純化ステップの１つを含んでおり、すなわち
１つの要素のみを含んだ１つのグループの単純化ステップ、；このグループは分解され、得られた要素は、分解されたグループのレベルでコンテンツモデルに入れられ、その際要素の属性値ｍｉｎＯｃｃｕｒｓとｍａｘＯｃｃｕｒｓが分解されたグループの相応の属性値と再グループ化される前の要素の積によって置換され、
属性値ｍｉｎＯｃｃｕｒｓ＝０の要素を含んだ選択グループの単純化ステップ、；前記選択グループの属性値ｍｉｎＯｃｃｕｒｓは、先行する値に依存することなく値０にセットされ、属性値ｍｉｎＯｃｃｕｒｓ＝０を有していた要素は、属性値ｍｉｎＯｃｃｕｒｓ＝１に割当てられ、
ネスティングされた選択グループの単純化ステップ、；１つの選択グループは、属性値ｍｉｎＯｃｃｕｒｓ＝ｍａｘＯｃｃｕｒｓ＝１を含む別の選択グループを含み、それによって当該選択グループは分解され、内容がその上位に位置する選択グループに直接取り入れられ、その際タームグループ、要素、コンテンツモデル、属性値、ｍｉｎＯｃｃｕｒｓ，ｍａｘＯｃｃｕｒｓ及び選択グループがＸＭＬスキーマ言語の正規化された記述で定められ、
ｂ）正規化されたＸＭＬスキーマをメタスキーマを用いて符号化するステップと、
ｃ）符号化されたＸＭＬスキーマを第１ビットストリームにおいて伝送するステップと、
ｄ）ＸＭＬ文章を所属のＸＭＬスキーマを用いて符号化するステップと、
ｅ）符号化されたＸＭＬ文章を第２のビットストリームにおいて伝送するステップと、；この場合前記第１及び第２のビットストリームの受信のために以下のステップを実施する復号化器が設けられており、
ｆ）第１のビットストリームにて伝送される符号化されたＸＭＬスキーマをメタスキーマを用いて、正規化されたＸＭＬスキーマへ復号化するステップと、；この場合前記正規化されたスキーマとメタスキーマは符号化の際に用いられたスキーマに相応しており、
ｇ）第２のビットストリームにて伝送される符号化されたＸＭＬ文章を、正規化されたＸＭＬスキーマを用いて、正規化されたＸＭＬスキーマのさらなる正規化を実施する事無く復号するステップとを有していることを特徴とする方法。
【請求項２】
構造化された文章のスキーマ定義の要素宣言及び/又は属性宣言が、次のように再構築される、すなわち匿名タイプ定義（ＡＴ０）が要素宣言及び/又は属性宣言から取り出され、相応の要素のもとで参照に用いられる名前及び/又はコードが得られるように再構築される、請求項１記載の方法。
【請求項３】
タイプネーム及び/又は要素ネーム及び/又は代入グループネームの代わりに、数値並びに数値とタイプネーム、及び/又は要素ネーム、及び/又は代入グループネームの間の割当てを含んだ１つ以上のテーブルのみが符号化される、請求項１または２記載の方法。
【請求項４】
タイプネーム及び/又は要素ネーム及び/又は代入グループネーム並びに、タイプネーム及び/又は要素ネーム及び/又は代入グループネームのリスト内の位置を含んだ１つ又は複数のリストが、タイプネーム及び/又は要素ネーム及び/又は代入グループネームの代わりに符号化される、請求項１から３いずれか１項記載の方法。
【請求項５】
タイプ、大域要素及び/又は代入グループの継承ツリーに対する情報が符号化され、その際各タイプが、マスタタイプに関するタイプコードと、記述タイプに係わる全てのタイプコードの長さに関する情報によって記述され、及び/又は、
各大域要素が、ＳＢＣの長さ及びＳＢＣ及び/又は代入グループの各要素と、代入コードの長さ及び代入コードによって記述される、請求項１から４いずれか１項記載の方法。
【請求項６】
符号化方法を用いてＸＭＬ文章から生成された第１及び第２のデータストリームを復号化するための方法であって、
前記符号化方法は以下のステップを含み、
ａ）ＸＭＬ文章に所属するＸＭＬスキーマを正規化するステップと、；この場合ＸＭＬスキーマの正規化は、以下の単純化ステップの１つを含んでおり、すなわち
１つの要素のみを含んだ１つのグループの単純化ステップ、；このグループは分解され、得られた要素は、分解されたグループのレベルでコンテンツモデルに入れられ、その際要素の属性値ｍｉｎＯｃｃｕｒｓとｍａｘＯｃｃｕｒｓが分解されたグループの相応の属性値と再グループ化される前の要素の積によって置換され、
属性値ｍｉｎＯｃｃｕｒｓ＝０の要素を含んだ選択グループの単純化ステップ、；前記選択グループの属性値ｍｉｎＯｃｃｕｒｓは、先行する値に依存することなく値０にセットされ、属性値ｍｉｎＯｃｃｕｒｓ＝０を有していた要素は、属性値ｍｉｎＯｃｃｕｒｓ＝１に割当てられ、
ネスティングされた選択グループの単純化ステップ、；１つの選択グループは、属性値ｍｉｎＯｃｃｕｒｓ＝ｍａｘＯｃｃｕｒｓ＝１を含む別の選択グループを含み、それによって当該選択グループは分解され、内容がその上位に位置する選択グループに直接取り入れられ、その際タームグループ、要素、コンテンツモデル、属性値、ｍｉｎＯｃｃｕｒｓ，ｍａｘＯｃｃｕｒｓ及び選択グループがＸＭＬスキーマ言語の正規化された記述で定められ、
ｂ）正規化されたＸＭＬスキーマをメタスキーマを用いて符号化するステップと、
ｃ）符号化されたＸＭＬスキーマを第１ビットストリームにおいて伝送するステップと、
ｄ）ＸＭＬ文章を所属のＸＭＬスキーマを用いて符号化するステップと、
ｅ）符号化されたＸＭＬ文章を第２のビットストリームにおいて伝送するステップとを含んでいる形式の方法において、
前記復号化方法が以下のステップを実施する、すなわち、
ｆ）第１のビットストリームにて伝送される符号化されたＸＭＬスキーマをメタスキーマを用いて、正規化されたＸＭＬスキーマへ復号化するステップと、；この場合前記正規化されたスキーマとメタスキーマは符号化の際に用いられたスキーマに相応しており、
ｇ）第２のビットストリームにて伝送される符号化されたＸＭＬ文章を、正規化されたＸＭＬスキーマを用いて、正規化されたＸＭＬスキーマのさらなる正規化を実施する事無く復号するステップを実施することを特徴とする方法。
【請求項７】
構造化された文章の要素宣言及び/又は属性宣言が次のように再構築される、すなわちその伝送のためにネーム及び/又はコードが割当てられた匿名タイプ（ＡＴ０）がそれぞれの要素宣言若しくは属性宣言内に挿入され、それによってそのつどの特性タイプが参照されるように再構築される、請求項６記載の方法。
【請求項８】
ビットストリームから、タイプネーム及び/又は要素ネーム及び/又は代入グループネームが、数値と１つまたは複数のテーブルを介して復号化され、前記テーブルは、数値とタイプネーム及び/又は要素ネーム及び/又は代入グループネームの間の割当てを含んでいる、請求項６または７記載の方法。
【請求項９】
ビットストリームから、タイプネーム及び/又は要素ネーム及び/又は代入グループネームが、１つまたは複数のリストと、リスト内のタイプネーム及び/又は要素ネーム及び/又は代入グループネームの位置を介して復号化され、前記リストは、タイプネーム及び/又は要素ネーム及び/又は代入グループネームを含んでいる、請求項６から８いずれか１項記載の方法。
【請求項１０】
最初にビットストリームから、タイプ及び/又は大域要素及び/又は代入グループの継承ツリーに対する情報が復号化され、その際各タイプは、マスタタイプに関するタイプコードと、記述タイプに係わる全てのタイプコードの長さに関する情報によって記述され、及び/又は、
各大域要素が、ＳＢＣの長さ及びＳＢＣ及び/又は代入グループの各要素と、代入コードの長さ及び代入コードによって記述される、請求項６から９いずれか１項記載の方法。
【請求項１１】
請求項１から５いずれか１項記載の符号化方法を実施するように構成されている、符号化ユニットが設けられていることを特徴とする、ＸＭＬ文章の符号化のための装置。
【請求項１２】
請求項６から１０いずれか１項記載の復号化方法を実施するように構成されている、復号化ユニットが設けられていることを特徴とする、ＸＭＬ文章の復号化のための装置。
【請求項１３】
前記符号化ユニットは、コンフィグレーション可能なバイトコードインタプリタを有しており、該インタープリタは、バイトコード内の情報を解釈し、コンフィグレーションに依存して、構造化された文章からバイトコードに基づいてパス又はペイロードを表わすコードを生成する、請求項１１記載の装置。
【請求項１４】
前記復号化ユニットは、コンフィグレーション可能なバイトコードインタプリタを有しており、該インタープリタは、ビットストリームからの情報によってコンフィグレーション可能であり、さらにコンフィグレーションに依存して、ビットストリームからバイトコードに基づいてパス、ペイロード又はバイトコードを生成する、請求項１２記載の装置。
【国際調査報告】
2005538436.tif 000009
2005538436.tif 000010
2005538436.tif 000011
2005538436.tif 000012
2005538436.tif 000013
2005538436.tif 000014