JP2004510279A - 文書の送受信方法、xml符号化方法及びその装置、並びにxml復号方法 - Google Patents

文書の送受信方法、xml符号化方法及びその装置、並びにxml復号方法 Download PDF

Info

Publication number
JP2004510279A
JP2004510279A JP2002533104A JP2002533104A JP2004510279A JP 2004510279 A JP2004510279 A JP 2004510279A JP 2002533104 A JP2002533104 A JP 2002533104A JP 2002533104 A JP2002533104 A JP 2002533104A JP 2004510279 A JP2004510279 A JP 2004510279A
Authority
JP
Japan
Prior art keywords
representation
encoding
xml document
document
packet
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
JP2002533104A
Other languages
English (en)
Other versions
JP4574114B2 (ja
JP2004510279A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JP2004510279A publication Critical patent/JP2004510279A/ja
Publication of JP2004510279A5 publication Critical patent/JP2004510279A5/ja
Application granted granted Critical
Publication of JP4574114B2 publication Critical patent/JP4574114B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Document Processing Apparatus (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • Lubrication Of Internal Combustion Engines (AREA)
  • Information Transfer Between Computers (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

階層表現(102)により記述される文書(104)の構造の少なくとも一部を送受信する方法(900)が開示される。方法は、文書(104)の階層表現(ツリー構造など)を識別する(902)。識別はXMLタグを使用して実行されるのが好ましい。表現は複数のデータパケットへとパケット化される(906)。少なくとも1つのリンクが1対のパケット間に作成される(908)。このリンクは、表現の対応するコンポーネント(構造及び内容など)間の相互接続を表すように機能する。パケットから送受信用のストリームが形成される(910)。リンクはパケット内の階層表現を維持する。

Description

【0001】
【発明の属する技術分野】
本発明は、XML(Extensible Markup Language)文書の符号化に関し、特に、XML文書の圧縮、ストリーミング、探索、及び動的構築のうちの少なくとも1つに関する。
【0002】
【背景】
MPEG−7記述のストリーミング、ダウンロード、及び格納をより効率的にするために、記述を符号化・圧縮することができる。MPEG−7記述の配信に関する多くの問題の分析は、2進符号化に使用される形式の考察を伴うものであった。WAP(the Wireless Application Protocol Forum)からのWBXML提案、Millauアルゴリズム、及びXMillアルゴリズムなどのXMLに対する既存の符号化方式がそれぞれ考慮されてきた。
【0003】
WBXMLに関して説明すると、頻繁に使用されるXMLタグ、属性、及び値には大域コード空間からの固定のコード集合が割り当てられる。文書インスタンスを通して繰り返されるアプリケーション固有のタグ名、属性名、及び一部の属性値には一部の局所コード空間からのコードが割り当てられる。WBXMLはXML文書の構造を維持する。内容のみならず文書型定義(DTD)で定義されていない属性値もインライン方式で格納、あるいは、ストリングテーブルに格納することが可能である。文書のコード空間のテーブルは特定の種類のアプリケーションにとって既知であるか、あるいは、文書と共に送信されることが期待されている。
【0004】
WBXMLがタグ及び属性をトークン化する間、テキスト内容は圧縮されない。WAPで使用されるために提案されたものであり且つWBXMLの設計の対象である無線用マーク付け言語(WML)文書の場合、通常、テキスト内容が制限されているので圧縮がなくても十分であろうが、WBXMLは通常のテキスト記載のXML文書にとってあまり効率の良い符号化形式とは考えられていない。Millauアプローチは、従来のテキスト圧縮アルゴリズムを使用してテキストを圧縮することによってWBXML符号化形式を拡張する。また、Millauはスキーマ及びデータ型を利用することで基本データ型の属性値の圧縮の改善を可能にする。
【0005】
Xmillアルゴリズムの作者は更に複雑な符号化方式を提示しているが、これはWBXMLに基づいていない。組込みデータ型の値を符号化するためのDTD及びスキーマにおける型情報を符号化・使用する構造とテキストとを分離することの他に、この方式は:
(i)同じ型又は関連する型の要素を複数のコンテナへとグループ分けし(冗長度を高めるため)、
(ii)異なる圧縮プログラムを使用して各コンテナを別々に圧縮し、
(iii)原始的な圧縮プログラムをより複雑な圧縮プログラムへと結合できるようにし、
(iv)非常に専門的なデータ型に対して新規の専門の圧縮プログラムを使用できるようにした。
【0006】
しかし、既存の符号化方式は圧縮のみを目的として設計されている。XML文書のストリーミングには対応していない。また、依然としてXPath/XPointerアドレッシング方式を使用して要素を効率的に配置することができず、文書の構築中に、これを徐々に符号化することもできない。
【0007】
【発明の概要】
本開示の一面によると、階層表現により記述される文書の構造の少なくとも一部を送受信する方法であって、
前記文書の前記表現を識別するステップと、
前記表現を所定のサイズを有する複数のデータパケットへとパケット化するステップであって、1対の前記パケット間に前記表現の対応するコンポーネント間の相互接続を表す少なくとも1つのリンクを作成することを含むステップと、
前記データパケットから送受信用のストリームを形成するステップとを含み、前記リンクは前記パケット内の前記表現を維持する方法が提供される。
【0008】
本開示の別の一面によると、階層表現により記述される文書の構造の少なくとも一部を送受信する方法であって、
前記表現の少なくとも1つの部分を識別し、前記部分を所定サイズの少なくとも1つのパケットへとパケット化するステップを含み、前記表現の1つ以上の前記部分が1つの前記パケットに収まらない場合、前記1つのパケットから前記収まらない部分がパケット化されて形成される少なくとも1つの更なる前記パケットまでの少なくとも1つのリンクを定義し、前記リンクは前記パケット中の前記文書の階層構造を維持することを特徴とする方法が提供される。
【0009】
本開示の別の一面によると、XML文書の構造へのアクセスを容易にする方法であって、
前記文書の階層表現を識別するステップと、
前記表現を所定パケットサイズの複数のパケットへとパケット化するステップと、
前記パケット間にリンクを形成してパケット内で表現できない前記表現の部分を定義し、それにより、パケット化解除後の前記表現の再現を可能にするステップと、
を含むことを特徴とする方法が提供される。
【0010】
ここで開示される符号化/復号化方式は、構造符号化とテキスト符号化を分離し、組込みデータ型の値を符号化するためのスキーマ及びデータ型を使用する。加えて、本開示はストリーミングをサポートし、XPath/XPointerのようなアドレッシングメカニズムを使用する効率的な探索を可能にする。また、これにより、XML文書は構築中に符号化/ストリーミングできるようになる。これらの特徴は、同報通信及びモバイルアプリケーションにとっては重要である。ここで開示される符号化/復号化方式は、更に複数の名前空間をサポートし、ビットストリームのEBNF定義及び拡張可能エンコーダを構築するためのインタフェースの集合を提供する。
【0011】
【詳細な説明】
図1から図7、図9、及び図10を参照して説明するXML文書を符号化/復号化する方法は、図8に示すような汎用コンピュータシステム800を使用して実施されるのが好ましい。図1から図7のプロセスは、コンピュータシステム800内で実行されるアプリケーションプログラムなどのソフトウェアとして実現されても良い。特に、この方法の各ステップは、コンピュータにより実行されるソフトウェア中の命令により実施される。ソフトウェアは、復号化/復号化方法を実行する1つの部分と、この符号化/復号化方法とユーザとの間のユーザインタフェースを管理する別の部分との2つの別々の部分に分割されても良い。ソフトウェアは、例えば、以下に記述するような記憶装置を含むコンピュータ可読な媒体に格納されても良い。ソフトウェアは、コンピュータ可読な媒体からコンピュータへとロードされ、コンピュータにより実行される。このようなソフトウェア又はコンピュータプログラムを記録したコンピュータ可読な媒体は、コンピュータプログラム製品である。コンピュータにおいてコンピュータプログラム製品を使用することにより、XML文書を符号化/復号化するための有利な装置を実現するのが好ましい。
【0012】
コンピュータシステム800は、コンピュータモジュール801、キーボード802及びマウス803などの入力装置、並びにプリンタ815及び表示装置814を含む出力装置を含む。変復調(モデム)送受信装置816は、コンピュータモジュール801が、例えば、電話回線821又はその他の機能媒体を介して接続可能な通信ネットワーク820と通信を行なうのに使用される。モデム816は、インターネット及び構内通信網(LAN)又は広域通信網(WAN)などのその他のネットワークシステムへのアクセス権を取得するのに使用することができる。図示するように、サーバコンピュータシステム850はネットワーク820へと接続し、コンピュータシステム800と通信を行なうことができる。サーバコンピュータシステム850は、通常、コンピュータシステム800と同様の構造を有し、及び/又は、コンピュータシステム800と同様にあるいはこれに対して相補的に動作可能である。例えば、コンピュータシステム800がXML符号化関数を実行し、サーバコンピュータ850が相補的なXML復号化関数を実行しても良い。また、その逆であっても良い。
【0013】
コンピュータモジュール801は、通常、少なくとも1つのプロセッサユニット805、例えば、半導体ランダムアクセスメモリ(RAM)及び読出し専用メモリ(ROM)から形成されるメモリユニット806、ビデオインタフェース807とキーボード802、マウス803、及びオプションとしてのジョイスティック(不図示)用のI/Oインタフェース813とを含む入出力(I/O)インタフェース、並びにモデム816用のインタフェース808を含む。記憶装置809が設けられるが、この記憶装置809は、通常、ハードディスクドライブ810及びフロッピーディスクドライブ811を含む。磁気テープドライブ(不図示)を使用しても良い。CD−ROMドライブ812は、通常、不揮発性のデータソースとして設けられる。コンピュータモジュール801の構成要素805から813は、通常、相互接続バス804を介して、コンピュータシステム800の動作モードが、当業者には既知の従来の動作モードになるように通信を行なう。上述の構成を実施可能なコンピュータの例としては、IBM−PC及びその互換機、Sun Sparcstation、又はそれを進化させた同様のコンピュータシステムがある。
【0014】
通常、アプリケーションプログラムはハードディスクドライブ810に常駐し、プロセッサ805による実行の際に読み出されて制御される。プログラムとコンピュータネットワーク820から取り込まれるデータとの中間記憶装置は、半導体メモリ806を使用し、場合によってはハードディスクドライブ810と協働させるように使用して達成されても良い。アプリケーションプログラムは、CD−ROM又はフロッピーディスク上に符号化された形でユーザに供給され、対応するドライブ812又は811を介して読み取られる場合もあれば、ネットワーク820からモデム装置816を介してユーザが読み取る場合もある。更に、このソフトウェアは、磁気テープ、ROM又は集積回路、光磁気ディスク、コンピュータモジュール801と別の装置との間の無線又は赤外線の伝送チャネル、PCMCIAカードなどのコンピュータ可読なカード、並びに電子メール送受信及びウェブサイトなどに記録された情報などを含むインターネット又はイントラネットを含む他のコンピュータ可読な媒体からコンピュータシステム800へとロードすることもできる。以上の例は、関連するコンピュータ可読な媒体の単なる例示であり、その他のコンピュータ可読な媒体を代わりに使用しても良い。
【0015】
動作中、状況に応じて、XML文書符号化/復号化関数がサーバコンピュータ850及びコンピュータシステム800のうちの一方で実行され、それにより形成されたパケット化ビットストリームがそれぞれコンピュータシステム800又はサーバコンピュータ850により受信・復号化されるように通信ネットワーク820を介して伝送される。このように、受信の際に最初に文書全体を受信することなく、受信側が最適な時間で高速に文書を復号化できるようにしながら、XML文書を2つの地点間で便利且つ効率的に送受信しても良い。
【0016】
符号化/復号化の方法は、符号化及び/又は復号化の関数又は下位関数を実行する1つ以上の集積回路などの専用のハードウェアでその一部又は全部が実現されても良い。このような専用のハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ、又は1つ以上のマイクロプロセッサ及び関連メモリを含んでも良い。
【0017】
<XMLの符号化及び圧縮>
(構造とテキストとの分離)
従来より、XML文書は生のテキスト形式で格納・伝送されることが多い。一部のアプリケーションでは、XML文書は、格納又は伝送のための従来のテキスト圧縮アルゴリズムを使用して圧縮され、構文解析・処理を受ける前にXMLへと復元される。
【0018】
本開示によると、XML文書を符号化する別の方法は、文書のツリー階層(文書のDOM表現など)を符号化することである。符号化は幅優先方式又は深さ優先方式で実行されても良い。圧縮及び復号化をより効率的に行なうために、XML文書内のタグにより示されるXML構造をXML文書のテキストから分離し、これを符号化することができる。符号化された文書を伝送するとき、構造及びテキストを別々のストリームで送信することも、あるいは、単一のストリームへと連結することもできる。
【0019】
図1に示すように本実施形態によると、通常、メモリから利用可能であるXML文書104のツリー表現102は、複数のノード116を含み、深さ優先方式で符号化される。文書104及びその中に含まれるテキストの構造は、図1に示すように2つの別個のストリーム106及び108として符号化することも、あるいは、単一のストリームへと連結することもできる。構造ストリーム106の先頭にはコードテーブル110及び114がある。ツリー102の復号化されたノード118は、ノードのサイズを示すと共に子孫ノードの合計サイズを含むサイズフィールド(不図示)をそれぞれ有する。復号化された葉ノード118の一部は、これらの葉ノードをテキストストリーム108中の対応する内容へとリンクするリンク112を含む。テキストストリーム108中の各符号化されたストリングの先頭には、ストリングのサイズを示すサイズフィールド(不図示)がある。単一のストリームへと連結される場合、リンク112のルートを含むパケットが、リンク112により指し示されるテキストを含むパケットよりも先行すべきである。これにより、デコーダは対応するテキスト(内容)コンポーネントより前に文書104の構造コンポーネントを確実に受信することができる。
【0020】
図1に示すアプローチは、コンピュータシステム800上で実行されるソフトウェアプログラムとして実現されても良い符号化方法900のフローチャートとして図9にも示される。方法900は、階層表現により記述される文書の構造の少なくとも一部を送受信し、ステップ902からスタートする。最初にステップ904において、方法900は文書104の階層表現(ツリー構造など)を識別する。識別は上述のようにXMLタグを使用して実行されるのが好ましい。ステップ906において、表現は複数のデータパケットへとパケット化される。ステップ908において、パケットのうちの1対にまたがる少なくとも1本のリンクが作成される。このリンクは、表現の対応するコンポーネント(構造及び内容など)間の相互接続を表すように機能する。ステップ910において、パケットから送受信用のストリームが形成される。リンクはパケット内の階層表現を維持する。方法900はステップ912において終了する。
【0021】
一般的に、構造情報のボリュームはテキスト内容よりも格段に小さい。通常、構造はネストされ、文書インスタンス内で繰り返される。テキストから構造を分離することにより、反復パターンは圧縮アルゴリズムにより容易に識別されるようになる。圧縮アルゴリズムは、通常、固定サイズのウィンドウを介して入力ストリームを検査する。加えて、構造ストリームとテキストストリームとはかなり異なる特徴を有する。このため、構造及びテキストの各々に対しては、異なるより効率的な符号化方法が適用されても良い。
【0022】
テキストを解釈するための文脈を提供する上で構造は重要である。エンコーダにおいて構造とテキストとを分離することにより、対応するデコーダは文書の構造をより迅速に解析することができるので、知らない又は必要でない要素(及び子孫)は無視されると共に関連する要素のみが処理される。デコーダは、更に、無関係の要素と関連付けられたテキストをバッファリングしないことを選択しても良い。デコーダが符号化された文書を元のXMLへと変換するか否かは、実行される特定のアプリケーション(アプリケーションプログラムインタフェース−APIについての以下の記述を参照)によって決まる。
【0023】
(コードテーブル)
文書記述の要素及びその属性はDTD又はスキーマにおいて定義される。通常、要素の集合及びその関連する属性は文書インスタンスにおいて繰り返し使用される。要素名並びに属性名及び属性値には、符号化に必要なバイト数を削減するためにコードが割り当てられる。
【0024】
通常、各アプリケーションドメインは、複数のスキーマ及び/又はDTD中で定義される別々の要素/型の集合を使用する。加えて、各スキーマ又はDTDは別々の名前空間に対する定義を有しても良い。一部の要素/型が複数の種類のアプリケーションに共通な場合でも、これらの要素/型は、通常、異なるパターンにおいて使用される。具体的には、ドメインA及びBの双方に共通の要素Xは、ドメインAでは頻繁に使用されるが、ドメインBでは稀にしか使用されないかもしれない。加えて、常時、既存のスキーマが更新されると共に新規のスキーマが作成される。このため、コード割当てをドメインにおける相互運用性を監視する機構に委ねるのが最も好ましい。例えば、MPEG−7記述はXML文書である。MPEGは、それ自体の記述子及び記述スキーマに対するコード空間に加えて、外部の要素及びそれが使用する型を定義しても良い。また、MPEGはコード空間を生成する方法を定義しても良い。理想的には、この方法は、エントロピーベースである−すなわち、記述又は記述のクラスにおける記述子及び記述スキーマの出現回数に基づくべきである(コード空間の生成の節を参照)。
【0025】
(要素と属性との分離)
XMLタグは、通常、要素名及び属性名/属性値対の集合を含む。場合によっては、要素インスタンスを使用して大きな属性の集合を指定することができる。このため、要素名を各属性から分離することにより、文書ツリーを構文解析すると共に要素をより迅速に配置することができるようになる。加えて、一部の属性又は属性名/属性値対は他のものよりも格段に高い頻度で使用される傾向がある。属性名、属性値、及び属性名/属性値対を別々のセクションへとグループ化することにより、通常、圧縮は改善される結果となる。
【0026】
(組込みデータ型及び特殊型の値の符号化)
エンコーダは組込み(又はデフォルト)データ型の属性及び要素の値を各型に従ったより効率的な表現へと符号化するように動作する。型情報を含むスキーマが利用可能でない場合、値はストリングとして扱われる。加えて、値(例えば、1桁の整数)がストリングとしてより効率的に表される場合、エンコーダはこの整数を符号化するのではなく、ストリングとして扱うことを選択しても良い。デフォルトでは、ストリングはマルチバイト文字のストリングを符号化する標準の効率的な方法を提供するUniversal Text Format(UTF−8)ストリングとして符号化される。また、UTFストリングは長さ情報を含むので、適切な区切り記号を探すという問題を回避できると共に、ストリングの終わりまで容易にスキップすることができる。
【0027】
特殊型エンコーダは特殊なデータ型に使用することができる。これらの特殊型エンコーダは後述のエンコーダAPIのsetTypeEncoder()インタフェースを使用して指定することができる。特殊型エンコーダについての情報は、構造セグメントのヘッダに格納されるのが好ましく、型エンコーダ識別子のテーブルとして格納されるのが有利である。更に、同じメカニズムを使用してデフォルト型エンコーダ(組込みデータ型用)を無効にすることができる。一部の組込みデータ型は本来デフォルトエンコーダを使用して符号化されるが、特殊エンコーダを代わりに使用しても良い。ビットストリーム内での識別が必要とされるため、XML文書の正確な再現のためには代替の復号化プロセスが必要になるであろう。各符号化された値の前には、その値を符号化するのに使用された型エンコーダの識別子がある。
【0028】
このように、本開示により実現されるXML文書エンコーダは、XML文書内の様々な型の構造及びテキスト用に複数の符号化形式を含んでも良い。符号化形式は組込みであっても、あるいは、デフォルトであっても良く、周知のデータ型又は頻出するデータ型のために使用される。特殊型エンコーダは任意の特殊なデータ型に対して使用されても良い。このとき、符号化プロセスで使用される特定の型エンコーダの識別がパケットのヘッダに組み込まれても良い。組み込まれることで、デコーダは符号化された文書中の符号化された型に対して使用されるべき復号化プロセスを識別することができる。必要に応じて、特定の型のエンコーダはUniform Resource Indicator(URI)を介してコンピュータネットワークからアクセスされても良い。デコーダが符号化された文書中のパケット内に出現する符号化された型に対応する復号化プロセスをアクセス又は実現できない場合、デフォルトの応答は符号化されたデータを無視し、空のデータ(空白表示など)を再現する結果となる可能性がある。別の例として、デコーダは、例えば、符号化されたデータを伴うURIを使用して接続されたネットワークから特殊型デコーダを取り出すように動作することができる。エンコーダ/デコーダ形式のURIは上述のテーブルへと組み込まれても良く、それにより、ビットストリームに含まれても良い(付録参照)。
【0029】
このアプローチを更に拡張すると、単一のデータ型に対して複数の符号化形式を使用しても良い。例えば、テキストストリングはストリングの長さに基づいて各様に符号化されても良いが、これは、復号化プロセスの実行に要する時間と得られる圧縮のレベルとの間の妥協を表す。例えば、0から9までの文字を有するテキストストリングは符号化されず、10から99までの文字及び100から999までの文字を有するストリングはそれぞれの(異なる)符号化形式を用いて符号化されるものとする。更に、これらの符号化形式のうちの1つ以上は特殊なデータ型に対するものであるとする。この例においてテキストストリングを符号化する際に、エンコーダは、0から9の文字に対しては符号化を行なわず、10から99の文字ストリングに対してはデフォルトエンコーダ、101以上のテキスト文字を有するストリングに対しては特殊エンコーダを使用するかもしれない。
【0030】
図10はXML文書を符号化する方法1000の一例を示し、この方法はステップ1002からスタートする。まず、ステップ1004において、方法1000はXML文書104を検査し、XML文書104の一部を形成する各データ型を識別する。ステップ1006において、方法1000は対応する特殊符号化形式が利用可能であるデータ型の第1の集合を識別するように動作する。特殊データ型を識別すると、ステップ1008は対応する特殊符号化形式を用いて第1の集合中にデータ型を有するXML文書の各部分を符号化する。次に、ステップ1010において、方法1000は残りの部分のデータ型に対応するデフォルト符号化形式を用いてXML文書の残りの部分の各々を符号化する。ステップ1012において、対応する特殊符号化形式を用いて少なくとも第1の集合中の各データ型を参照する情報から表現が形成される。ステップ1014において、表現はXML文書104の符号化された形態として符号化された部分と関連付けられる。こうして、方法1000はステップ1016で終了する。
【0031】
(構造セグメント(又は構造ストリーム))
図2は構造セグメント(又はストリーム)106の種々のセクションを示す。構造セグメントはヘッダ202で開始され、その本体は複数のセクション204へと分割される。ヘッダ202はXMLのバージョン及び符号化形式のバージョンを識別する。
【0032】
本体中の各セクション204はセクションの種別を示す固有のシグネチャで開始される。このため、種々のセクションは特定の順序で配置される必要がない。しかし、以下の説明では、セクションは図2に示す順序で配置されるものと想定する。セクションシグネチャの後にはセクションのサイズを示すサイズフィールドが続く。
【0033】
IDテーブルセクション206により、IDを伴う要素を文書階層セクション208に迅速に配置することができる。文書がIDを伴う要素を有する場合でも、符号化された文書にIDテーブル206が存在しない可能性がある。これは、ID定義を含むDTD又はスキーマが符号化の時点で利用可能でないためであろう。
【0034】
セクション210は、文書型宣言及び内部(DTD)部分集合のために確保されるのが好ましい。MPEG−7記述などのXMLスキーマベース文書に関しては、このセクション210は存在しないであろう。
【0035】
名前空間212、要素名214、属性名216、及び属性値218に対しては、コードテーブル用のセクションが存在する。エンコーダ及びデコーダの双方のために事前に定義され、ビットストリームにおいて搬送されない他のコードテーブルと区別するために、以降、これらのコードテーブルは局所コードテーブルと呼ばれる。例えば、MPEG−7又はXMLスキーマに対しては事前に定義されたコードテーブルが存在しても良い。
【0036】
局所コードテーブルの後には、通常、局所コードテーブル及び任意の事前に定義されたコードテーブルにおいて定義されたコードを利用する属性名/属性値対220のテーブルを含むセクションが続く。
【0037】
文書階層セクション208は、局所コードテーブル及び事前に定義されたコードテーブルからのコードを使用するXML文書の符号化ツリー構造である。
【0038】
符号化のためにコードテーブル及び型エンコーダを使用する以外に、エンコーダは圧縮プログラムを使用して各セクションを圧縮することが多い。構造セグメント106の本体の各セクションを独立して圧縮する代わりに、構造セグメントの本体を一体として圧縮することができる。これにより、オーバーヘッドが減少し、データ量が増加するので、実際、圧縮率が向上するであろう。しかし、このような圧縮は、文書が特定の要素を含むか否かを見極めるために構造本体全体を復元させる必要がある。双方のアプローチを検査して、実際にどちらの方が良いのかを判定しても良い。しかし、セクションが小さい場合、圧縮は効果的ではない可能性があり、エンコーダはこのセクションを圧縮しないことを選択しても良い。各セクションは圧縮が適用されたか否かを知らせるための圧縮フラグを有する。圧縮が適用された場合、各セクションの始めのサイズフィールドはバイト単位でのセクションの圧縮されたサイズ(圧縮前のサイズではない)を示す。
【0039】
場合によっては、各セクション中のデータの特徴を考慮に入れて、別々の圧縮プログラムを各セクションに対して使用することができる。使用される圧縮プログラムについての情報はヘッダ中で提供される。デフォルトでは、構造セグメント及びテキストセグメント中の全てのセクションを圧縮するのにZLIBを使用する。ZLIBアルゴリズムはヘッダ及びチェックサムを生成し、これにより、圧縮されたデータの整合性をデコーダ側で検証することができる。
【0040】
(テキストセグメント(又はテキストストリーム))
テキストセグメント108はテキストセグメントシグネチャで開始され、この後には符号化されたテキストのサイズを示すサイズフィールドが続く。テキストセグメントは要素のテキストであるUTF−8ストリングのシーケンスを含む。
【0041】
<エンコーダモデル及びデコーダモデル>
(エンコーダモデル)
図3は、XML文書104を格納又は伝送のためにビットストリーム306へと符号化するためのエンコーダ302を組み込むXMLエンコーダモデル300を示す。エンコーダモデル300はコンピュータモデル801内で動作するソフトウェアプログラム又はサブプログラムとして実現されても良い。プログラムは、通常、HDD810に格納され、プロセッサ805による実行時に読み出され制御される。ビットストリーム306は、作成されるとI/Oインタフェース808及びネットワーク820を介して伝送され、サーバコンピュータ850により相補的復号化・再現が行なわれても良い。また、ビットストリーム306は、後で再現するためにHDD810に格納されても、あるいは、ドライブ812内のCD−ROMとして格納されても良い。エンコーダ302は、文書ツリー102を作成中に符号化できるように、アプリケーションプログラムインタフェース(API)308(DOM APIなど)をサポートしても良い。コードテーブル312、組込みデータ型用エンコーダ314、及び符号化プロセスで使用されるであろうデフォルト圧縮プログラム316を提供するために、標準ライブラリ310(XML用)が使用される。種々のドメインに対してドメイン固有ライブラリ318が定義されても良い。各ドメイン固有ライブラリ318は、特定のドメイン用のコードテーブル320及び幾つかのデータ型用のエンコーダ322を含んでも良い。また、アプリケーションは上述のような特殊なデータ型用のアプリケーション固有エンコーダ326及び対応する圧縮プログラム328を含む固有モジュール324を提供することもできる。しかし、これらの型エンコーダ326及び圧縮プログラム328は、ダウンロード可能であるか、プラットフォーム独立型であるか、あるいは、デコーダ側に予め組み込まれているかのいずれかでなければならない。アプリケーションは、エンコーダ326に定義済のコードテーブル330を使用するように指示することもできる。コードテーブル330は、ビットストリーム306へと組み込むことも、あるいは、デコーダ側に予め組み込むこともできる。図3に示すエンコーダ及び圧縮プログラムの各々は、ソフトウェア(サブ)プログラムにより実現されても良く、場合によっては、専用のハードウェア(迅速な符号化用など)により実現されても良い。
【0042】
(デコーダモデル)
図4は、XMLビットストリーム306を復号化してXML文書104を出力するためのデコーダ402を含む相補XMLデコーダモデル400を示す。デコーダは、アプリケーションが文書ツリー102の独自の内部モデルを構築できるようにするAPI408(例えば、SAX(「simple API for XML」)又はDOM API)をサポートしても良い。これにより、デコーダ402はXML文書を出力する必要がなくなり、アプリケーションは再現されたXML文書104を再度構文解析する必要がなくなる。いずれにしても、XMLビットストリーム306を復号化する際に、デコーダ402は標準ライブラリ410、任意のドメイン固有ライブラリ418、及び任意の予め組み込まれた又はダウンロードされたアプリケーション固有モジュール424(エンコーダにより使用)を使用する。図4において、デコーダモデル400の要素は図3と同様にナンバリングされており、ナンバリングの数値には100の差があるが、各要素は対応する同様の関数を有する。デコーダモデル400は、例えば、コンピュータモデル801内で実現され、サーバコンピュータ850からネットワーク820を介して受信されたビットストリーム306を復号化しても良い。また、デコーダモデル400は、例えば、CD−ROMから得られたビットストリームを復号化するように動作しても良い。エンコーダ302と同様に、デコーダ402内でソフトウェア及びハードウェアの復号化プロセスが使用されても良い。
【0043】
多くの場合、クライアント側のデコーダ402はDTD又はスキーマに対して図4のXML文書104を検証する必要がない。クライアント側の検証は費用がかかり非効率的である上に重複する可能性が高い。デコーダ104は、DTD又はスキーマに対してサーバ側でXML文書が検証されることを想定しても良い。同様に、下層のトランスポート及びバイナリ形式に組み込まれるチェックサムなどの任意の誤り検出メカニズムは、あらゆる伝送エラーを検出できなければならない。
【0044】
<要素の配置>
XML要素は、ID又はXPath/XPointerフラグメントを使用して参照・配置することができる。先に説明したように、構造セグメント106のIDテーブル206により、IDを伴う要素を文書階層セクション208に迅速に配置することができる。要素と関連付けられるあらゆるテキスト及び属性は、符号化された要素中のロケータを使用することで効率的に配置することができる。
【0045】
以下に示すのは、Uniform Resource Indicator(URI)へと付加することが可能なXPathフラグメントの例である。
Figure 2004510279
これは、docの第2章の第3節を選択する。
Figure 2004510279
これはテキスト「Overview」を含む1つ以上のタイトル子を有するコンテキストノードの章子を選択する。
Figure 2004510279
これはコンテキストノードの最終章又は付録子を選択する。
Figure 2004510279
これは値「warning」を伴う型属性を有するコンテキストノードの全ての段落子を選択する。
Figure 2004510279
これはID属性を有するコンテキストノードの全ての段落子を選択する。
【0046】
XPath/XPointerフラグメントは、XML文書内の所要の要素の絶対位置又は相対位置を表す位置ステップのリストから成る。通常、フラグメントは要素名のリストを含む。上述の例のように、配列内の要素の索引、属性の存在、一致属性値、及び一致テキスト内容などの追加の選択基準を指定するのに述語又は関数が使用されても良い。
【0047】
符号化された文書階層は簡潔であるので、完全なオブジェクトツリー表現へと展開することなく構文解析(及びインスタンス生成)を行なうことができる。まず、フラグメントアドレスが符号化された形態へと変換される。このような変換プロセスの結果の1つとして、所要の要素が実際に文書中で出現したか否かを即座に判定できるようになる。符号化されたフラグメントアドレスのコンポーネントの突き合わせは、サブストリングの突き合わせよりも格段に効率的である。設計により、単純なXPath/XPointerフラグメント(最も一般的に使用される)は迅速に評価できるようになる。また、最初に文書階層を探索することにより、より複雑なフラグメントアドレスの場合、後続の評価ステップの範囲は大幅に狭められる。
【0048】
<ストリーミングのためのビットストリームのパケット化>
(XMLのストリーミング)
従来より、XML文書は生のテキスト形式で格納・伝送されることが多い。一部のアプリケーションでは、XML文書は、格納又は伝送のための従来のテキスト圧縮アルゴリズムを使用して圧縮され、構文解析・処理を受ける前にXMLへと復元される。圧縮によりXML文書のサイズは大幅に減少するかもしれないが、アプリケーションは依然として構文解析・処理を実行する前にXML文書全体を受信しなければならない。
【0049】
XML文書のストリーミングは、XML文書の一部が十分な長さだけ受信され次第、構文解析・処理が開始されることを意味する。この機能は、低帯域幅の通信リンク及び/又は非常に制限されたリソースを伴うデバイスの場合に非常に有用である。
【0050】
通常のXMLパーサはXML文書の整合が取れている(すなわち、一致し且つ重複しない開始タグ/終了タグ対を有する)ことを期待する。このため、パーサはXML文書ツリーを深さ優先方式でのみ構文解析し、XML文書の内容がこの方式に対応するように再構成されない限り文書の一部をスキップすることができない。
【0051】
(ビットストリームのパケット化)
前述のようにXML文書を完全な構造セグメント106及び完全なテキストセグメント108へと符号化することによって、データのサイズが大幅に減少すると同時に、伝送エラーの検出が可能になるであろう。しかし、デコーダ402は依然として処理する前に大量の符号化されたデータを受信しなければならない。例えば、デコーダ402は文書階層の構文解析を開始する前にコードテーブル110の受信を完了しているであろう。同時に、デコーダ402はノードと関連付けられたテキストを取得するのにテキストセグメント108の特定のセグメントの到着を待たなければならない。デコーダ側で可能な限り早く処理を開始するには、図5に示すように、XML文書104を徐々に符号化し、符号化されたデータ500の小さいパケット502を随時デコーダ402へと送信できるようにしなければならない。図5において、網掛けされているパケット504は、構造パケットを示し、斜線入りのパケット506はテキストパケットを示す。これらのパケットの前にはヘッダパケット508があり、後にはトレーラパケット510が続く。好適な構成では、各データパケット502は完全な構造セグメント106又は完全なテキストセグメント108と同じ構造を有する。また、各パケット502はその前に送信されたパケット502に従属することもあり、実現例によっては、後に送信される所定数のパケットに従属することもある。この所定数は動的に判定されても良い。
【0052】
配信を受けながら文書を処理する必要性とは別に、エンコーダ/デコーダは、通常、固定サイズの出力/入力バッファを有する。このため、非常に短い文書を除き、エンコーダ302はXML文書を複数のパケットへと徐々に符号化する必要がある。パケット502の各々(504、506、508、及び510を含む)の前にはパケットヘッダがある。パケットヘッダはパケットIDとして使用されるだけでなく、パケットに順序付けしてその欠落を検出するためのパケット番号を含む。また、パケットヘッダは、パケット502のサイズをバイト単位で示すサイズフィールドと、パケットが構造パケット504、テキストパケット506、ヘッダパケット508、トレーラパケット510、及び図5には示されていないが後述するコマンドパケットという名前の更なる型のパケット502のうちのどれであるかを示す型フィールドとを含む。
【0053】
各構造パケット504に関して、組み込まれるIDテーブルはパケットに含まれる要素のIDのみを含む。そのコードテーブルは伝送されていない新規のコードのみを含む。伝送済のコードは再度割り当てられることも、再度マップされることもない。デフォルトの実現例では、新規の値をテーブルに付加し、エントリの索引(テーブルの基本索引により拡張される)をコードとして使用するだけである。これよりも若干複雑な(しかし、コード効率が高い)方法は、パケットが出力される直前に値の出現回数をカウントし、より頻繁に出現する値をより短いコードに再度マップすることである。定義済のコードテーブルが使用されるか、あるいは、再マッピングが出現回数に基づいていない場合、圧縮前に値をソートすると圧縮率が向上する可能性がある。また、コード割当てのための別のアルゴリズムを実現することもできる。しかし、一度出力されるとコードは固定されるので、他の値に再度割り当てしたり、後続のパケットに再度マップしたりすることはできない。また、定義済のコードテーブルは、本明細書で後述するエンコーダインタフェースのUseCodeTable()メソッドを使用することで指定することもできる。更に、このメソッドにより定義済のコードテーブルをデータと共にビットストリームへと符号化すべきか否かを指定することができる。XML(又はMPEG−7のようなアプリケーションドメイン)に欠かせない複数の名前空間のコードテーブルは全てのXML(MPEG−7)エンコーダ/デコーダにハードワイヤードされていることが予想されるので、ビットストリームへと符号化される必要がない。
【0054】
ID、要素名、属性名、又は属性値が定義済の長さよりも長い場合はテキストパケット中に符号化され、実際のストリングではなくストリングロケータがテーブル中に出現することになる。
【0055】
構造パケットの文書階層セクションはノードのシーケンスを含む。各ノードはノードの(符号化された)サイズをバイト単位で示すと共にパケット中に符号化されている子孫ノードの合計サイズを含むサイズフィールドをそれぞれ有する。ノードは要素ノード、コメントノード、テキストノード、及びノードロケータのいずれかとなる。各ノードはその型を示すノード型フィールドを有する。
【0056】
文書階層は以下に示す項目を含んでも良い。
(i)完全な文書ツリー:これは非常に短い文書の場合のみ可能である。
(ii)完全なサブツリー:サブツリーは前のパケット中に符号化される別のノードの子である。
(iii)不完全なサブツリー:時間的及び/又はサイズ的な制約のためにサブツリー全体を1つのパケットへと符号化できないため、サブツリーは不完全である。
【0057】
不完全なサブツリー602及び604を有するツリー構造622に対して、欠落しているノード及び不完全なサブツリーの子孫を配置するために、ノードロケータが図6Aに示すように使用される。この点に関して、前述の例を参照して説明すると、符号化が行なわれるときには文書104の階層ツリー表現102は公表されているが、送受信されるパケットの復号化のときには、通常、ツリー表現102の一部のみが利用可能になる。更にパケットが受信されると共に、ツリーが再現されるであろう。例えば、図6Bに示すデータストリームにおいて、パケット620(この例では、データストリーム中のパケット#2)は文書のツリー構造622の一部を含み、この構造はノードA、B1、B2、及びB3を含む。しかし、この例では、パケット620のサイズはツリー構造622全体を記述し、B4及びD1のような他のノードを収容するには不十分である。このため、ノードロケータ608及び606は、対応する親ノード(B4及びB2のそれぞれ)の記述へと組み込まれ、欠落したノードのシーケンス及びそのサブツリーを含む構造パケットのパケット番号610及び612を含む。このため、図6Bに示すパケットのシーケンスを受信するとき、パケット(#2)620の受信のときにはツリー622の一部を再現し、パケット(#7)610の受信のときにはノードD1を含む枝を再現し、パケット(#20)612の受信のときにはツリーの平衡を再現することができる。
【0058】
各要素ノードは、名前空間コード及び要素(名)コードを含むのが好ましく、要素が属性を有する場合には、属性名/属性値対テーブル中の第1の属性のバイトオフセット及び属性の数を有するのが好ましい。
【0059】
各テキストノード又はコメントノードは、通常、実際のテキストではなく、テキストロケータを有する。テキストロケータはテキストパケットのパケット番号とテキストパケットへのバイトオフセットを指定する。
【0060】
場合によっては、ストリングはパケットの最大サイズを越える可能性がある。このような場合、ストリングは図7に示すように、複数のテキストパケットにまたがるフラグメントとして格納される。各テキストパケット702は、UTF−8符号化ストリングのリスト、ストリングロケータ、及びストリングフラグメントのうちのどれを含むかを示すフラグ704を有する。ストリングフラグメントの場合、次のフラグメントのパケット番号も含まれる。テキストパケットがストリングの最終(又は唯一)のフラグメントを含む場合、次のフラグメントに対するパケット番号は図7に示すように0に設定される。
【0061】
(文書ツリーを構築するためのコマンド)
XML文書は、符号化又は生成(定義済のDTD又はスキーマに従って)中に受信側へのストリーミングのためにパケット化される。この場合、XML文書は、通常、DOM APIなどのAPIを使用してリアルタイムで構築される。XMLファイルを構文解析する代わりに、エンコーダ302は、メモリ表現から直接ビットストリーム306を構築する。APIを使用して挿入・付加されるノード及びサブツリーはデコーダ側のメモリ表現を変更するための(バイナリ)コマンドパケットとして符号化される。パケット番号によりコマンドパケットは確実に正しいシーケンスで実行されるようになる。
【0062】
伝送されるノードは同じ文書(定義済のDTD又はスキーマに従う)の一部であり、文書は常時エンコーダ302とデコーダ402との間でオンライン状態であり同期しているので、ノードの内容に関して整合性の問題があってはならない。幾つかの提示では、ある情報は時間的な関連性しか有しない。具体的には、一部の情報は提示中のある一定の期間内でのみ関連性を有する。提示の2つの異なる時間インスタンスと関連する情報ユニット(例えば、フットボールの試合のスコア)は、それ自体が整合性に欠ける可能性がある。提示記述方式は、提示のタイミング/同期モデルを確立するのに望ましい。XMLデータを含む媒体オブジェクトのタイミングは、開始時間及び持続時間により示すことができる。このような提示エンコーダ/デコーダ対は、通常、内部に配置された上述のようなXMLエンコーダ/デコーダを含むであろう。XMLデコーダではなく、提示デコーダが、開始時間属性及び持続時間属性を解釈するように動作する。提示エンコーダは、既に関連していないXMLサブツリーをメモリから除去すべきか否かを決定する。XMLエンコーダ/デコーダに関する限り、整合性の問題は生じない。生成装置が常に有効な文書(フラグメント)を生成する必要がある場合、(整合性に欠ける又は無効である可能性のある)ノード又はサブツリーを除去するコマンドは必要でない。すなわち、挿入コマンド及び付加コマンドのみが必要とされる。
【0063】
コマンドパケットは、付加又は挿入するサブツリーの(ルートの)パスとそのサブツリーを含む構造パケットのパケット番号とを含む。例えば、図6Bに戻って説明すると、ノードB4に対するロケータ608をパケット620に収容できない場合、パケット#2とパケット#20との間にノードB4をノードAへと有効に取り付けるコマンドパケットを挿入しなければならない。コマンドパケットはノードB4により定義される構造を含むパケット612を指し示すロケータを含むであろう。
【0064】
(ビットストリームの定義)
ビットストリーム306は付録により定義されるようにExtended Backus−Naur Form(ENBF)で定義されるのが好ましい。文字は一重引用符で括られ、ストリングは二重引用符で括られる。別途記載のない限り、UTF−8符号化におけるUCS文字及びUTFストリング(長さ情報を含む)が想定される。
【0065】
<API>
(文書及びスキーマ用のAPI)
デコーダ402は常に符号化された文書を変換してXMLに戻す必要はない。上述のように、デコーダ402はSAX API、DOM API、又はその他の著作権のあるAPIなどのAPIをサポートし、アプリケーションが復号化された内容に直接アクセスできるようにしても良い。これにより、デコーダ402はXML文書を再現・出力する必要がなくなり、アプリケーションは再現されたXML文書を再度構文解析する必要がなくなる。
【0066】
また、アプリケーションは、スキーマに格納された情報にアクセスしなければならない。スキーマもXML文書であるので、同様に符号化することができる。スキーマ定義をアクセス・解釈するために既存のSAX API又はDOM APIを使用すると非常に時間がかかる。Wan E., Anderson M., Lennon A., Description Object Model (DesOM). Doc. ISO/IEC JTC1/SC29/WG11 MPEG00/M5817, Noordwijkerhout, March 2000に定義されるようなスキーマAPIをサポートするパーサによりスキーマの定義へのアクセスがかなり容易になるであろう。
【0067】
組込みデータ型及び特殊型の値を効率的に符号化するためには、エンコーダはスキーマから型情報を取得可能でなければならない。このため、スキーマAPIはエンコーダ302にとっても極めて重要である。
【0068】
<エンコーダ用API>
以下に提案するバイナリ形式は、種々の機能及び複雑度のエンコーダの実現を考慮に入れている。この節で説明するインタフェースにより基本エンコーダを構築することができる。この基本エンコーダは、符号化方式によりサポートされるより複雑な特徴を提供するように拡張することが可能である。
【0069】
(エンコーダインタフェース)
Figure 2004510279
・最大パケットサイズをバイト単位で設定する。
Figure 2004510279
・専用データの最大サイズをバイト単位で設定する。尚、パケットに含むことができる専用データの量はパケットの最大サイズにより制限される。ビットストリームのサイズを削減する目的に反するので大量の専用データは予期されていない。
Figure 2004510279
・ユーザデータをヘッダパケットに書き込む。既存のデータは上書きされることになる。
Figure 2004510279
・エンコーダに定義済のコードテーブル及びコードテーブルをデータと共に符号化すべきか否かを通知する。
Figure 2004510279
・エンコーダに特定セクションに対して特定の圧縮プログラムを使用するように指示する。Sectionは以下の値に関する一覧である。STRUCT_BODY=1, TEXT_BODY=2, ID_TABLE=3, NS_SECT=4, ELEMENT_SECT=5, ATTR_NAME_SECT=6, ATTR_VALUE_SECT=7, ATTR_PAIR_SECT=8, DOC_HIERARCHY_SECT=9。Inflaterはjava.util.zipパッケージのInflaterと同じインタフェースを有する。
Figure 2004510279
・出力ストリームへのバッファ中のパケットをフラッシュする。
Figure 2004510279
・バッファ中のパケットの集合が出力される前に通知を受信し、アプリケーションがアプリケーション固有データをパケットへと挿入できるようにする。
Figure 2004510279
・バッファ中のヘッダパケットを除く各パケットにユーザデータを書き込む。既存のユーザデータは上書きされることになる。
【0070】
(コードテーブルインタフェース)
Figure 2004510279
・コードテーブル中のエントリの数を取得する。
Figure 2004510279
・コードテーブルのエントリと関連付けられた値の名前空間を取得する。
Figure 2004510279
・コードテーブルのi番目のエントリと関連付けられた値を取得する。
Figure 2004510279
・コードテーブルのi番目のエントリと関連付けられた型を取得する。
Figure 2004510279
・コードテーブルのi番目のエントリと関連付けられたコードを取得する。
Figure 2004510279
・コードと関連付けられた値を取得する。
Figure 2004510279
・コードと関連付けられた値を取得する。
Figure 2004510279
・コードテーブルにより確保された最大コード値を取得する。エンコーダは上述の最大コード値を自由に使用することができる。アプリケーションにより、エンコーダは定義済のコードテーブルにより残された孔を使用するように実現されても良い。
【0071】
(型エンコーダインタフェース)
Figure 2004510279
・テキスト表現が与えられると、値をバイト配列へと符号化する。
Figure 2004510279
・符号化された値を値のテキスト表現へと復号化する。
【0072】
<XMLデータ、特に、提示のMPEG−7記述の符号化>
MPEG−7記述(音声映像(AV)内容を記述するのに使用されるXMLデータ)を含むXMLデータ(のフラグメント)がストリーミングされ、AV内容と共に提示される場合、媒体オブジェクト(XMLデータを含む)のタイミング及び媒体オブジェクト間の同期が指定されなければならない。XMLと同様に、DDL(XMLの記述定義言語)は媒体オブジェクトを提示するためのタイミング/同期モデルを定義しない。上述のように、SMILのようなMPEG−7記述方式(ここでは提示記述方式と呼ぶ)は、マルチメディア提示を作成するためのタイミング/同期モデルを提供することが望ましい。
【0073】
MPEG−7記述をAVオブジェクトと同様に扱えるようにすることが提案されている。これは、AVオブジェクトのような提示で使用される各MPEG−7記述フラグメントが、開始時間及びその時間範囲を定義する持続時間を用いてタグ付けされることを意味する。これにより、MPEG−7フラグメント及びAVオブジェクトの双方を提示記述方式の媒体オブジェクト要素のクラスにマップし、同じタイミング/同期モデルに従わせることができる。特に、SMILベースの提示記述方式の場合、<mpeg7>タグのような新規の媒体オブジェクトを定義することができる。また、MPEG−7記述はテキストの特定の型として扱うこともできる。
【0074】
異なる型のMPEG−7記述を単一のストリーム又は別々のストリームで送信することが可能である。また、異なる時間範囲のサブフラグメントを有するMPEG−7記述フラグメントを単一のデータストリーム又は別々のストリームで送信することも可能である。これが提示エンコーダの役割であり、前述のXMLエンコーダ300とは対照的である。
【0075】
提示エンコーダは、パケットの内容が必要になる又は関連しているのがいつか、どの程度の期間かを知らせる開始時間及び持続時間を伴うXMLパケットをラップする。パケットは以下の項目を含んでも良い。
(i)相互に連結されて高い圧縮率を達成すると共にオーバーヘッドを最小限にする複数の短い記述フラグメント(各々が独自の時間範囲を伴う)
(ii)単一の記述フラグメント
(iii)長い記述フラグメントの一部
パケットが複数の記述フラグメントを含む場合、パケットの開始時間は各フラグメントの開始時間のうちの最も早い時間であり、パケットの持続時間は各フラグメントの終了時間(フラグメントの開始時間に持続時間を加えることにより計算される)のうちの最も遅い時間とパケットの開始時間との差である。
【0076】
アプリケーションを同報通信する際に、ユーザがいつでも提示を受信できるようにするために、関連する素材が定間隔で繰り返されなければならない。XMLパケットの場合、以前に送信したパケットの一部は既に関連していない可能性があるので一部だけを再送信すれば良いが、ヘッダパケットは繰り返す必要がある。これは、アプリケーションを同報通信する場合、構造パケット、テキストパケット、及びコマンドパケットの間にヘッダパケットが散在し、伝送を既知の状態へとリセットする可能性があることを意味する。
【0077】
(産業上の利用可能性)
上述の構成はコンピュータ産業及びデータ処理産業に適用可能であると共に、部分的に受信された情報を処理する能力を持ちつつ関連する通信リソースを効率的に使用する際にも適用可能であることが以上の説明から明らかである。
【0078】
以上の説明は、本発明の1つ以上の実施形態を述べたにすぎず、本発明の趣旨から逸脱することなく、修正及び/又は変更を加えることができる。本実施形態は例示のためのものであり、制限するためのものではない。例えば、XML文書に対する説明が行なわれているが、ここで開示される手順は文書のツリー表現などの任意の階層表現に適用可能である。
【0079】
(付録)
<ビットストリームの定義>
ビットストリームはExtended Backus−Naur Form(ENBF)で定義されるであろう。文字は一重引用符及び二重引用符で括られる。別途記載のない限り、UTF−8符号化におけるUCSストリング及びUTFストリング(長さ情報を含む)が想定される。
Figure 2004510279
注: 符号化されたXML文書のビットストリームはパケットのシーケンスから成る。シーケンスはヘッダパケットで開始され、トレーラパケットで終了する。
【0080】
Figure 2004510279
注: packet_numberは0より大きくなければならない。
Figure 2004510279
注: unsigned_shortに関して、0〜65535の範囲の符号無し整数が2バイトを使用して表される。第1バイトはこの整数の上位バイトである。
Figure 2004510279
注: variable_length_natural_numberに関して、0〜1,073,741,823の範囲の自然数が4バイトで表される。第1バイトはこの数の上位バイトである。上位バイトの2つの最上位ビットは、実際、この数を表すために使用される追加のバイト数を示すのに使用される。例えば、「01」は1つの追加のバイト又は2バイト表現を意味し、「11」は3つの追加のバイト又は4バイト表現を意味する。
Figure 2004510279
【0081】
Figure 2004510279
注: UTF8_Stringに関して、最初の2バイトは符号無しショートUTF lengthであり、読み込む追加のバイト数を指定する。追加のバイトはストリングのUTF−8符号化を含む。
Figure 2004510279
注: 0の値は最大パケットサイズが未知であることを意味する。
Figure 2004510279
注: 0の値は最大パケット数が未知であることを意味する。
Figure 2004510279
Figure 2004510279
注: 組込みデータ型に対する上述のリストは完全ではない。型00〜0Fが組込みデータ型用である。XMLエンコーダは型10〜FFをアプリケーション固有型に割り当てることができる。アプリケーションは任意のアプリケーション固有型に対して(Java)型エンコーダ/デコーダを提供する役割がある。これらの型エンコーダ/デコーダは必要になる前に予め組み込まれるか、あるいは、ダウンロードされなければならない。型情報が利用できないときは、XMLテキスト及び属性値はストリングとして扱われることになる。
【0082】
Figure 2004510279
注: 現時点では、トレーラパケットはXML文書の終わりを知らせるためにだけ使用される。トレーラパケットの本体は空である。
【0083】
Figure 2004510279
注: 上述のEBNF規則は構造パケットの本体の種々のセクションを特定の順序で並べられるように定義するが、各セクションは固有のシグネチャにより識別されるので実際は任意の順序で並べることができる。
【0084】
Figure 2004510279
注: section_sizeはシグネチャを除くセクションのサイズを格納する。
Figure 2004510279
注: 圧縮フラグはテーブルが圧縮されているか否かを示す。
注: booleanに関して、1のバイト値は真を表し、0のバイト値は偽を表す。
Figure 2004510279
注: ID_tableは圧縮されていないIDテーブルの構造を定義する。IDテーブルは同じパケットの文書階層中に出現するノード(ノードロケータにより参照されるノードは含まない)のIDのみを収集する。符号化中、型情報が利用可能でない場合、エンコーダがIDを識別する方法が存在しないので、IDが文書中に存在してもIDテーブルへと収集されない。
Figure 2004510279
注: offset_to_the_document_hierarchyは(圧縮されていない)document_hierarhy_sectionへのバイトオフセットではなく、(圧縮されていない)document_hierarchy_ section 中のdocument_hierarchyへのバイトオフセットである。
Figure 2004510279
【0085】
[内部部分集合セクション]
Figure 2004510279
注: 内部部分集合セクションの詳細は未定である。
Figure 2004510279
【0086】
Figure 2004510279
注: NS_tableへの索引が名前空間コードとして使用される。この索引のベースはフィールドindex_base中で指定される。名前空間コード0は空の名前空間のために確保されているので、名前空間テーブルのindex_baseは0にならない。
Figure 2004510279
注: NS_tableは圧縮されていないNSテーブルの構造を定義する。テーブルへの索引が名前空間コードとして使用される。この索引のベースはフィールドindex_base中で指定される。名前空間コード0は空の名前空間のために確保されているので、名前空間テーブルのindex_baseは0にならない。
Figure 2004510279
【0087】
Figure 2004510279
注: 定義済のコードがない限り、各コードテーブルへの索引がコードとして使用される。コードテーブルにより符号化に使用されるコードと実際の値との間のマッピングが可能になる。テーブルごとの索引のベースはテーブルのフィールドindex _base中で指定される。正のコードのみが許容されるので、index_baseは0の値をもたない。
Figure 2004510279
注: has_predefined_codeフラグはコードテーブルがpredefined_code列を有するか否かを指定する。
【0088】
Figure 2004510279
注: element_name_codetableは圧縮されていない要素名コードテーブルの構造を定義する。定義済のコードがない限り、テーブルへの索引が要素名コードとして使用される。索引のベースはフィールドindex_base中で指定される。コード0は確保されているので、コードテーブルのindex_baseは0にならない。
Figure 2004510279
注: エンコーダに知られている組込みデータ型及び特殊型を除く他の全ての型のテキスト内容はストリングとして符号化されることになる。
Figure 2004510279
注: 空のpredefined_codeはエントリに対して定義済のコードが存在しないことを意味するが、このような状況は発生すべきでない。定義済コードテーブルから値が欠落している場合、エンコーダはその値に対するコードを生成し、predefined_ codeフィールドに格納しなければならない。
Figure 2004510279
注: 要素名は、通常、テーブル中に直線状に格納される。しかし、要素名が長すぎる場合、別々のテキストパケットに格納することができる。テーブル中ではストリングロケータが代わりに使用される。
Figure 2004510279
注: byte_offsetは、ストリングを見つけることができるテキストパケットの本体へのオフセットを指定する。
Figure 2004510279
【0089】
Figure 2004510279
注: attribute_name_codetableは圧縮されていない属性名コードテーブルの構造を定義する。定義済のコードがない限り、テーブルへの索引が属性名コードとして使用される。索引のベースはフィールドindex_base中で指定される。コード0は確保されているので、コードテーブルのindex_baseは0にならない。
Figure 2004510279
注: エンコーダに知られている組込みデータ型及び特殊型を除く他の全ての型のテキスト内容はストリングとして符号化されることになる。
Figure 2004510279
注: 属性名は、通常、テーブル中に直線状に格納される。しかし、属性名が長すぎる場合、別々のテキストパケットに格納することができる。テーブル中ではストリングロケータが代わりに使用される。
【0090】
Figure 2004510279
注: attribute_value_codetableは圧縮されていない属性値コードテーブルの構造を定義する。定義済のコードがない限り、テーブルへの索引が属性値コードとして使用される。索引のベースはフィールドindex_base中で指定される。コード0は確保されているので、コードテーブルのindex_ baseは0にならない。
Figure 2004510279
注: エンコーダに知られている組込みデータ型及び特殊型を除く他の全ての型のテキスト内容はストリングとして符号化されることになる。
Figure 2004510279
注: 属性値は、通常、テーブル中に直線状に格納される。
Figure 2004510279
注: 値は型に従って符号化される。エンコーダに知られている組込みデータ型及び特殊型を除き、値はストリングとして符号化される。
注: 有効なストリングロケータと区別するために空のUTF8−ストリングの後には#x00が続かなければならない。属性名が長すぎる場合、別々のテキストパケットに格納することができる。テーブル中ではストリングロケータが代わりに使用される。
【0091】
Figure 2004510279
注: attribute_name_value_pair_tableは圧縮されていない属性名/属性値対テーブルの構造を定義する。索引のベース(>0)はフィールドindex_base中で指定される。
Figure 2004510279
【0092】
Figure 2004510279
注: subtreeは圧縮されていないXMLサブツリーの構造を定義する。
Figure 2004510279
注: node_sizeはノード及び同じパケット中に符号化されている子孫ノードのサイズを含む。
Figure 2004510279
【0093】
Figure 2004510279
注: next_packet_numberが0の場合、テキストパケットの第1のストリング
は長いストリングの最終フラグメントである可能性がある。next_packet_numberが0以外の場合、テキストパケット全体はストリングの単一のフラグメントを含む。
Figure 2004510279
【0094】
Figure 2004510279
注: 追加するsubtreeは特定のパケット番号と共に構造パケット中で定義され
Figure 2004510279

【図面の簡単な説明】
【図1】
符号化XML文書を概略的に示す図である。
【図2】
構造セグメントの構成を示す図である。
【図3】
エンコーダモデルを概略的に示す図である。
【図4】
デコーダモデルを概略的に示す図である。
【図5】
XML文書を複数のパケットへと徐々に符号化するエンコーダを概略的に示す図である。
【図6A】
ノードロケータを使用してノードを他の構造パケット中のサブツリーへとリンクする様子を概略的に示す図である。
【図6B】
各ノードロケータがサブツリーのパケットのパケット番号を含む様子を示す図である。
【図7】
各々のパケットが次のフラグメントを含むテキストパケットを指し示す複数のテキストパケット中のストリングフラグメントとして長いストリングが格納される様子を概略的に示す図である。
【図8】
上述の構成が実施されるであろうコンピュータシステムを表す概略ブロック図である。
【図9】
XML文書符号化操作を示すフローチャートである。
【図10】
符号化操作において様々なデータ型を扱うことができる様子を示すフローチャートである。

Claims (52)

  1. 階層表現により記述される文書の構造の少なくとも一部を送受信する方法であって、
    前記文書の前記表現を識別するステップと、
    前記表現を所定のサイズを有する複数のデータパケットへとパケット化するステップであって、1対の前記パケット間に前記表現の対応するコンポーネント間の相互接続を表す少なくとも1つのリンクを作成することを含むステップと、
    前記データパケットから送受信用のストリームを形成するステップと、
    を含み、
    前記リンクは前記パケット内の前記表現を維持することを特徴とする方法。
  2. 前記ストリームを受信するステップと、
    前記ストリームから前記パケットを復号化して前記リンクを識別するステップと、
    前記ストリームの1つのパケットにパケット化されていない前記表現の部分に関して、前記リンクを使用して前記表現を再現するステップと、
    を更に含むことを特徴とする請求項1に記載の方法。
  3. 前記対応するコンポーネントは、前記文書の少なくとも1つの構造コンポーネント及び1つの内容コンポーネントを含むことを特徴とする請求項1又は2に記載の方法。
  4. 階層表現により記述される文書の構造の少なくとも一部を送受信する方法であって、
    前記表現の少なくとも1つの部分を識別し、前記部分を所定サイズの少なくとも1つのパケットへとパケット化するステップと、
    前記表現の1つ以上の前記部分が1つの前記パケットに収まらない場合、前記1つのパケットから前記収まらない部分がパケット化されて形成される少なくとも1つの更なる前記パケットまでの少なくとも1つのリンクを定義するステップであって、前記リンクは前記パケット中の前記文書の階層構造を維持するステップと、
    を含むことを特徴とする方法。
  5. 前記階層表現はツリー表現であることを特徴とする請求項1乃至4のいずれかに記載の方法。
  6. 前記文書はXML文書であることを特徴とする請求項1乃至5のいずれかに記載の方法。
  7. 前記所定サイズは所定の最大サイズであることを特徴とする請求項1乃至6のいずれかに記載の方法。
  8. XML文書の構造へのアクセスを容易にする方法であって、
    前記文書の階層表現を識別するステップと、
    前記表現を所定パケットサイズの複数のパケットへとパケット化するステップと、
    前記パケット間にリンクを形成してパケット内で表現できない前記表現の部分を定義し、それにより、パケット化解除後の前記表現の再現を可能にするステップと、
    を含むことを特徴とする方法。
  9. XML文書を符号化する方法であって、
    前記XML文書を検査してその一部を形成する各データ型を識別するステップと、
    対応する特殊符号化形式が利用可能である前記データ型の第1の集合を識別するステップと、
    前記対応する特殊符号化形式を用いて前記第1の集合中のデータ型を有する前記XML文書の各部分を第1に符号化するステップと、
    前記XML文書の残りの部分の各々のデータ型に対応するデフォルト符号化形式を用いて前記残りの部分を第2に符号化するステップと、
    前記対応する特殊符号化形式を用いて少なくとも前記第1の集合中の前記データ型の各々を参照する情報の表現を形成するステップと、
    前記表現を前記XML文書の符号化された形態としての前記符号化された部分と関連付けるステップと、
    を含むことを特徴とする方法。
  10. 前記符号化は前記XML文書の構造部分及び内容部分を別々に符号化し、前記表現は前記XML文書の前記符号化された形態のヘッダ部分において保持されることを特徴とする請求項9に記載の方法。
  11. 前記表現は、前記ヘッダ部分においてテーブルとして保持されることを特徴とする請求項10に記載の方法。
  12. 前記別々に符号化された部分は、少なくとも1つのビットストリームのパケットを含むことを特徴とする請求項10に記載の方法。
  13. 前記第1符号化は、前記特殊データ型及び前記対応する部分を検査し、前記部分に適用される前記符号化形式のうちの1つを判定することを含むことを特徴とする請求項9に記載の方法。
  14. 前記符号化は、前記部分のデータ型に対応する複数の前記符号化形式のうちの1つを選択し、前記選択された符号化形式を用いて前記部分を符号化することを含むことを特徴とする請求項9に記載の方法。
  15. 符号化されたXML文書を復号化する方法であって、
    前記符号化されたXML文書を検査して前記XML文書の一部を形成する各データ型と関連付けられる符号化形式を識別するステップと、
    前記対応するデータ型の符号化の際に使用された前記符号化形式を補足するデコーダを使用して前記部分の各々を復号化するステップと、
    を含むことを特徴とする方法。
  16. 前記符号化されたXML文書は前記XML文書の別々に符号化された構造部分及び内容部分を具備し、前記検査は少なくとも1つの構造部分内から前記XML文書の符号化された部分を前記対応する符号化形式と関連付ける表現を識別することを含むことを特徴とする請求項15に記載の方法。
  17. 前記符号化されたXML文書は複数のパケットとして形成され、前記表現は少なくとも1つの前記パケットのヘッダ内に形成されることを特徴とする請求項16に記載の方法。
  18. 前記表現はテーブルを含むことを特徴とする請求項17に記載の方法。
  19. 前記表現はURIを含むことを特徴とする請求項16乃至18のいずれかに記載の方法。
  20. 前記表現は、少なくとも対応する復号化形式を有する特殊データ型の集合に関連があることを特徴とする請求項16に記載の方法。
  21. 前記符号化されたXML文書の部分を復号化するのにデコーダを利用できない場合、前記部分を無視することを含むことを特徴とする請求項15に記載の方法。
  22. 請求項1乃至14のいずれかに記載の方法を使用して形成されるパケット化ビットストリーム。
  23. 階層表現により記述される文書の構造の少なくとも一部を送受信する装置であって、
    前記文書の前記表現を識別する手段と、
    前記表現を所定のサイズを有する複数のデータパケットへとパケット化する手段であって、前記パケット化は1対の前記パケット間に前記表現の対応するコンポーネント間の相互接続を表す少なくとも1つのリンクを作成することを含む手段と、
    前記データパケットから送受信用のストリームを形成する手段とを具備し、前記リンクは前記パケット内の前記表現を維持する装置。
  24. XML文書を符号化する装置であって、
    前記XML文書を検査してその一部を形成する各データ型を識別する手段と、
    対応する特殊符号化形式が利用可能である前記データ型の第1の集合を識別する手段と、
    前記対応する特殊符号化形式を用いて前記第1の集合中のデータ型を有する前記XML文書の各部分を第1に符号化する手段と、
    前記XML文書の残りの部分の各々のデータ型に対応するデフォルト符号化形式を用いて前記残りの部分を第2に符号化する手段と、
    前記対応する特殊符号化形式を用いて少なくとも前記第1の集合中の前記データ型の各々を参照する情報の表現を形成する手段と、
    前記表現を前記XML文書の符号化された形態としての前記符号化された部分と関連付ける手段とを含む装置。
  25. 階層表現により記述される文書の構造の少なくとも一部を送受信する手順をコンピュータに実行させるように構成されるプログラムを記録したコンピュータ可読な媒体であって、前記プログラムは、
    前記文書の前記表現を識別するステップと、
    前記表現を所定のサイズを有する複数のデータパケットへとパケット化するステップであって、前記パケット化は1対の前記パケット間に前記表現の対応するコンポーネント間の相互接続を表す少なくとも1つのリンクを作成することを含むステップと、
    前記データパケットから送受信用のストリームを形成するステップとを具備し、前記リンクは前記パケット内の前記表現を維持するコンピュータ可読な媒体。
  26. 前記ストリームを受信するステップと、
    前記ストリームから前記パケットを復号化して前記リンクを識別するステップと、
    前記ストリームの1つのパケットにパケット化されていない前記表現の部分に関して、前記リンクを使用して前記表現を再現するステップとを更に含むことを特徴とする請求項25に記載のコンピュータ可読な媒体。
  27. 前記対応するコンポーネントは、前記文書の少なくとも1つの構造コンポーネント及び1つの内容コンポーネントを含むことを特徴とする請求項25又は26に記載のコンピュータ可読な媒体。
  28. 階層表現により記述される文書の構造の少なくとも一部を送受信する手順をコンピュータに実行させるように構成されるプログラムを記録したコンピュータ可読な媒体であって、前記プログラムは、
    前記表現の少なくとも1つの部分を識別し、前記部分を所定サイズの少なくとも1つのパケットへとパケット化するステップと、
    前記表現の1つ以上の前記部分が1つの前記パケットに収まらない場合、前記1つのパケットから前記収まらない部分がパケット化されて形成される少なくとも1つの更なる前記パケットまでの少なくとも1つのリンクを定義するステップであって、前記リンクは前記パケット中の前記文書の階層構造を維持するステップとを含むコンピュータ可読な媒体。
  29. 前記階層表現はツリー表現であることを特徴とする請求項25乃至28のいずれかに記載のコンピュータ可読な媒体。
  30. 前記文書はXML文書であることを特徴とする請求項25乃至29のいずれかに記載のコンピュータ可読な媒体。
  31. 前記所定サイズは所定の最大サイズであることを特徴とする請求項25乃至30のいずれかに記載のコンピュータ可読な媒体。
  32. XML文書の構造へのアクセスを容易にする手順をコンピュータに実行させるように構成されるプログラムを記録したコンピュータ可読な媒体であって、前記プログラムは、
    前記文書の階層表現を識別するステップと、
    前記表現を所定パケットサイズの複数のパケットへとパケット化するステップと、
    前記パケット間にリンクを形成してパケット内で表現できない前記表現の部分を定義し、それにより、パケット化解除後の前記表現の再現を可能にするステップとを含むコンピュータ可読な媒体。
  33. XML文書を符号化する手順をコンピュータに実行させるように構成されるプログラムを記録したコンピュータ可読な媒体であって、前記プログラムは、
    前記XML文書を検査してその一部を形成する各データ型を識別するステップと、
    対応する特殊符号化形式が利用可能である前記データ型の第1の集合を識別するステップと、
    前記対応する特殊符号化形式を用いて前記第1の集合中のデータ型を有する前記XML文書の各部分を第1に符号化するステップと、
    前記XML文書の残りの部分の各々のデータ型に対応するデフォルト符号化形式を用いて前記残りの部分を第2に符号化するステップと、
    前記対応する特殊符号化形式を用いて少なくとも前記第1の集合中の前記データ型の各々を参照する情報の表現を形成するステップと、
    前記表現を前記XML文書の符号化された形態としての前記符号化された部分と関連付けるステップとを含むコンピュータ可読な媒体。
  34. 前記符号化は前記XML文書の構造部分及び内容部分を別々に符号化し、前記表現は前記XML文書の前記符号化された形態のヘッダ部分において保持されることを特徴とする請求項33に記載のコンピュータ可読な媒体。
  35. 前記表現は、前記ヘッダ部分においてテーブルとして保持されることを特徴とする請求項34に記載のコンピュータ可読な媒体。
  36. 前記別々に符号化された部分は、少なくとも1つのビットストリームのパケットを含むことを特徴とする請求項34に記載のコンピュータ可読な媒体。
  37. 前記第1符号化は、前記特殊データ型及び前記対応する部分を検査し、前記部分に適用される前記符号化形式のうちの1つを判定することを含むことを特徴とする請求項33に記載のコンピュータ可読な媒体。
  38. 前記符号化は、前記部分のデータ型に対応する複数の前記符号化形式のうちの1つを選択し、前記選択された符号化形式を用いて前記部分を符号化することを含むことを特徴とする請求項33に記載のコンピュータ可読な媒体。
  39. 符号化されたXML文書を復号化する手順をコンピュータに実行させるように構成されるプログラムを記録したコンピュータ可読な媒体であって、前記プログラムは、
    前記符号化されたXML文書を検査して前記XML文書の一部を形成する各データ型と関連付けられる符号化形式を識別するステップと、
    前記対応するデータ型の符号化の際に使用された前記符号化形式を補足するデコーダを使用して前記部分の各々を復号化するステップとを含むコンピュータ可読な媒体。
  40. 前記符号化されたXML文書は前記XML文書の別々に符号化された構造部分及び内容部分を具備し、前記検査は少なくとも1つの構造部分内から前記XML文書の符号化された部分を前記対応する符号化形式と関連付ける表現を識別することを含むことを特徴とする請求項39に記載のコンピュータ可読な媒体。
  41. 前記符号化されたXML文書は複数のパケットとして形成され、前記表現は少なくとも1つの前記パケットのヘッダ内に形成されることを特徴とする請求項40に記載のコンピュータ可読な媒体。
  42. 前記表現はテーブルを含むことを特徴とする請求項41に記載のコンピュータ可読な媒体。
  43. 前記表現はURIを含むことを特徴とする請求項40乃至42のいずれかに記載のコンピュータ可読な媒体。
  44. 前記表現は、少なくとも対応する復号化形式を有する特殊データ型の集合に関連があることを特徴とする請求項43に記載のコンピュータ可読な媒体。
  45. 前記符号化されたXML文書の部分を復号化するのにデコーダを利用できない場合、前記方法は前記部分を無視することを含むことを特徴とする請求項44に記載のコンピュータ可読な媒体。
  46. 階層表現により記述される文書の構造の少なくとも一部を送受信する装置であって、
    前記文書の前記表現を識別する識別部と、
    前記表現を所定のサイズを有する複数のデータパケットへとパケット化するパケット化部であって、前記パケット化は1対の前記パケット間に前記表現の対応するコンポーネント間の相互接続を表す少なくとも1つのリンクを作成することを含むパケット化部と、
    前記データパケットから送受信用のストリームを形成する形成部とを具備し、前記リンクは前記パケット内の前記表現を維持する装置。
  47. XML文書を符号化する装置であって、
    前記XML文書を検査してその一部を形成する各データ型を識別する検査部と、
    対応する特殊符号化形式が利用可能である前記データ型の第1の集合を識別する識別部と、
    前記対応する特殊符号化形式を用いて前記第1の集合中のデータ型を有する前記XML文書の各部分を符号化する第1符号化部と、
    前記XML文書の残りの部分の各々のデータ型に対応するデフォルト符号化形式を用いて前記残りの部分を符号化する第2符号化部と、
    前記対応する特殊符号化形式を用いて少なくとも前記第1の集合中の前記データ型の各々を参照する情報の表現を形成する形成部と、
    前記表現を前記XML文書の符号化された形態としての前記符号化された部分と関連付ける関連付け部とを含む装置。
  48. 図面を参照して本明細書に記載したのとほぼ同様の階層表現により記述される文書を符号化する方法。
  49. 図面を参照して本明細書に記載したのとほぼ同様の階層表現を組み込むパケット化ストリームを復号化する方法。
  50. 図面を参照して本明細書に記載したのとほぼ同様の階層表現を使用して記述される文書を送受信する方法。
  51. 請求項48乃至50のいずれかに記載の方法を実行する装置。
  52. 請求項48乃至50のいずれかに記載の方法を実行するコンピュータプログラムを記録したコンピュータ可読な媒体。
JP2002533104A 2000-10-06 2001-10-05 文書の送受信方法、xml符号化方法及びその装置、並びにxml復号方法 Expired - Fee Related JP4574114B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPR0634A AUPR063400A0 (en) 2000-10-06 2000-10-06 Xml encoding scheme
PCT/AU2001/001257 WO2002029602A1 (en) 2000-10-06 2001-10-05 Xml encoding scheme

Publications (3)

Publication Number Publication Date
JP2004510279A true JP2004510279A (ja) 2004-04-02
JP2004510279A5 JP2004510279A5 (ja) 2005-04-07
JP4574114B2 JP4574114B2 (ja) 2010-11-04

Family

ID=3824692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002533104A Expired - Fee Related JP4574114B2 (ja) 2000-10-06 2001-10-05 文書の送受信方法、xml符号化方法及びその装置、並びにxml復号方法

Country Status (9)

Country Link
US (1) US7647552B2 (ja)
EP (1) EP1323064B1 (ja)
JP (1) JP4574114B2 (ja)
KR (1) KR100566019B1 (ja)
CN (1) CN1244062C (ja)
AT (1) ATE366441T1 (ja)
AU (1) AUPR063400A0 (ja)
DE (1) DE60129232T2 (ja)
WO (1) WO2002029602A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190263A (ja) * 2004-12-03 2006-07-20 Microsoft Corp 構造化データプロトコルをバイトストリームを供するプロトコルにバインドするための機構
JP2008536423A (ja) * 2005-04-12 2008-09-04 フランス テレコム ツリーデータ構造を処理する方法
JP2008234506A (ja) * 2007-03-23 2008-10-02 Casio Electronics Co Ltd 印刷システム、及び該システムに使用するホスト機器
JP2012523638A (ja) * 2009-04-14 2012-10-04 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ テキストベースの情報のための伝送方式
JP2013054747A (ja) * 2011-09-01 2013-03-21 Heiderberger Druckmaschinen Ag 印刷物を作成する方法
JP2017073123A (ja) * 2015-10-05 2017-04-13 株式会社トゥービーソフトTobesoft Co., Ltd. 大容量データ転送装置及び方法

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312429B2 (en) * 2000-11-10 2012-11-13 Oracle International Corporation Cell based data processing
AU2002230501A1 (en) * 2000-11-27 2002-06-03 Intellocity Usa, Inc. System and method for providing an omnimedia package
EP1343327B1 (fr) * 2001-12-28 2011-06-15 Koninklijke Philips Electronics N.V. Procédé pour effectuer un traitement sur un contenu multimedia
KR20030095048A (ko) 2002-06-11 2003-12-18 엘지전자 주식회사 멀티미디어 재생 방법 및 장치
NZ533208A (en) * 2002-07-23 2005-05-27 Samsung Electronics Co Ltd Index structure of metadata, method for providing indices of metadata, and metadata searching method and apparatus using the indices of metadata
CN100525386C (zh) * 2002-09-24 2009-08-05 佳能株式会社 图像摄取装置
KR100449742B1 (ko) * 2002-10-01 2004-09-22 삼성전자주식회사 멀티미디어 방송 송수신 장치 및 방법
DE10339971A1 (de) * 2002-12-03 2004-07-01 Siemens Ag Verfahren zur Codierung eines XML-basierten Dokuments
US20040111396A1 (en) * 2002-12-06 2004-06-10 Eldar Musayev Querying against a hierarchical structure such as an extensible markup language document
GB0305828D0 (en) 2003-03-14 2003-04-16 Ibm Real time xml data update identification
JP3815567B2 (ja) * 2003-03-31 2006-08-30 日本電気株式会社 コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法
KR100511308B1 (ko) * 2003-04-29 2005-08-31 엘지전자 주식회사 휴대 단말기에서 스마일 문서의 z-인덱스 처리방법
WO2005027008A1 (en) * 2003-09-10 2005-03-24 Ntt Docomo, Inc. Method and apparatus for secure and small credits for verifiable service provider metering
CN100442278C (zh) * 2003-09-18 2008-12-10 富士通株式会社 网页信息块提取方法和装置
EP1902523A1 (en) * 2003-11-07 2008-03-26 Expway Method for compressing and decompressing structured documents
JP2005141650A (ja) * 2003-11-10 2005-06-02 Seiko Epson Corp 構造化文書符号化装置及び構造化文書符号化方法ならびにそのプログラム
US7467219B2 (en) * 2003-11-24 2008-12-16 At&T Intellectual Property I, L.P. Methods for providing communications services
US7464179B2 (en) 2003-11-24 2008-12-09 At&T Intellectual Property I, L.P. Methods, systems, and products for providing communications services amongst multiple providers
US7509373B2 (en) 2003-11-24 2009-03-24 At&T Intellectual Property I, L.P. Methods for providing communications services
US20050114224A1 (en) * 2003-11-24 2005-05-26 Hodges Donna K. Methods for providing communications services
US7216127B2 (en) * 2003-12-13 2007-05-08 International Business Machines Corporation Byte stream organization with improved random and keyed access to information structures
US7237184B2 (en) * 2003-12-18 2007-06-26 Microsoft Corporation Data property promotion system and method
CN1635492A (zh) * 2003-12-30 2005-07-06 皇家飞利浦电子股份有限公司 一种xml数据的压缩与解压缩方法及装置
US7873663B2 (en) * 2004-01-13 2011-01-18 International Business Machines Corporation Methods and apparatus for converting a representation of XML and other markup language data to a data structure format
US7454696B2 (en) * 2004-04-09 2008-11-18 International Business Machines Corporation Method and apparatus for stream based markup language post-processing
ATE532142T1 (de) * 2004-03-16 2011-11-15 Microdasys Inc Inhaltsüberwachung für xml
US7664759B2 (en) * 2004-05-18 2010-02-16 Hewlett-Packard Development Company, L.P. Method and system for storing self-descriptive tabular data with alphanumeric and binary values
DE102004034004A1 (de) * 2004-07-14 2006-02-09 Siemens Ag Verfahren zum Codieren eines XML-Dokuments, sowie Verfahren zum Decodieren, Verfahren zum Codieren und Decodieren, Codiervorrichtung, Decodiervorrichtung und Vorrichtung zum Codieren und Decodieren
US7627589B2 (en) * 2004-08-10 2009-12-01 Palo Alto Research Center Incorporated High performance XML storage retrieval system and method
DE102004043269A1 (de) * 2004-09-07 2006-03-23 Siemens Ag Verfahren zur Codierung eines XML-basierten Dokuments
DE102004044164A1 (de) * 2004-09-13 2006-03-30 Siemens Ag Verfahren und Vorrichtung zur Kodierung von XML-Dokumenten
US20060085737A1 (en) * 2004-10-18 2006-04-20 Nokia Corporation Adaptive compression scheme
US7412649B2 (en) * 2005-01-24 2008-08-12 International Business Machines Corporation Viewing and editing markup language files with complex semantics
US7444345B2 (en) 2005-02-15 2008-10-28 International Business Machines Corporation Hierarchical inherited XML DOM
US20060182129A1 (en) * 2005-02-16 2006-08-17 Mutch Karl N Distributed markup and processing apparatus and method
KR100660028B1 (ko) * 2005-02-23 2006-12-20 인천대학교 산학협력단 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법
US8346737B2 (en) * 2005-03-21 2013-01-01 Oracle International Corporation Encoding of hierarchically organized data for efficient storage and processing
US8667179B2 (en) * 2005-04-29 2014-03-04 Microsoft Corporation Dynamic utilization of condensing metadata
EP1736896B1 (en) 2005-06-21 2007-09-26 Research In Motion Limited Automated selection and inclusion of a message signature
ES2536546T3 (es) * 2005-06-27 2015-05-26 Core Wireless Licensing S.à.r.l. Mecanismos de transporte para escenas dinámicas de medios enriquecidos
US20070055629A1 (en) * 2005-09-08 2007-03-08 Qualcomm Incorporated Methods and apparatus for distributing content to support multiple customer service entities and content packagers
US7565506B2 (en) * 2005-09-08 2009-07-21 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics
US20070078944A1 (en) * 2005-09-12 2007-04-05 Mark Charlebois Apparatus and methods for delivering and presenting auxiliary services for customizing a channel
US8528029B2 (en) 2005-09-12 2013-09-03 Qualcomm Incorporated Apparatus and methods of open and closed package subscription
US8156232B2 (en) 2005-09-12 2012-04-10 Rockwell Automation Technologies, Inc. Network communications in an industrial automation environment
US8893179B2 (en) * 2005-09-12 2014-11-18 Qualcomm Incorporated Apparatus and methods for providing and presenting customized channel information
US8571570B2 (en) * 2005-11-08 2013-10-29 Qualcomm Incorporated Methods and apparatus for delivering regional parameters
US8533358B2 (en) * 2005-11-08 2013-09-10 Qualcomm Incorporated Methods and apparatus for fragmenting system information messages in wireless networks
US8600836B2 (en) 2005-11-08 2013-12-03 Qualcomm Incorporated System for distributing packages and channels to a device
CN101369268B (zh) * 2007-08-15 2011-08-24 北京书生国际信息技术有限公司 一种文档库系统中文档数据的存储方法
US7747942B2 (en) * 2005-12-20 2010-06-29 American Express Travel Related Services Company, Inc. System and method for obtaining a markup language template through reversing engineering
US8842660B2 (en) * 2006-03-31 2014-09-23 Microsoft Corporation VoIP variable metadata
US8228824B2 (en) * 2006-04-06 2012-07-24 Microsoft Corporation VoIP contextual information processing
US20070253407A1 (en) * 2006-05-01 2007-11-01 Microsoft Corporation Enhanced VoIP services
US20070270126A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Authentication of a digital voice conversation
US20070274293A1 (en) * 2006-05-26 2007-11-29 Microsoft Corporation Archiving VoIP conversations
US20070280225A1 (en) * 2006-05-31 2007-12-06 Microsoft Corporation Extended services and recommendations
US9953103B2 (en) * 2006-11-16 2018-04-24 Oracle International Corporation Client processing for binary XML in a database system
US7836396B2 (en) * 2007-01-05 2010-11-16 International Business Machines Corporation Automatically collecting and compressing style attributes within a web document
KR20090113912A (ko) * 2007-02-26 2009-11-02 노키아 코포레이션 콘텐츠의 배송 방법, 장치 및 시스템과 컴퓨터 판독가능 매체
US7917515B1 (en) * 2007-03-26 2011-03-29 Lsi Corporation System and method of accelerating processing of streaming data
US7933933B2 (en) * 2007-07-30 2011-04-26 Oracle International Corporation Fast path loading of XML data
US8250115B2 (en) * 2007-08-10 2012-08-21 International Business Machines Corporation Method, apparatus and software for processing data encoded as one or more data elements in a data format
US7865488B2 (en) * 2007-11-28 2011-01-04 International Business Machines Corporation Method for discovering design documents
US20090138491A1 (en) * 2007-11-28 2009-05-28 Sandeep Chowdhury Composite Tree Data Type
US7865489B2 (en) * 2007-11-28 2011-01-04 International Business Machines Corporation System and computer program product for discovering design documents
US20100049727A1 (en) * 2008-08-20 2010-02-25 International Business Machines Corporation Compressing xml documents using statistical trees generated from those documents
FR2936623B1 (fr) * 2008-09-30 2011-03-04 Canon Kk Procede de codage d'un document structure et de decodage, dispositifs correspondants
US20100083083A1 (en) * 2008-09-30 2010-04-01 Apple Inc. Compressed table format
US8352855B2 (en) * 2009-01-02 2013-01-08 Apple Inc. Selection of text in an unstructured document
FR2943441A1 (fr) * 2009-03-18 2010-09-24 Canon Kk Procede de codage ou decodage d'un document structure a l'aide d'un schema xml, dispositif et structure de donnees associes
DE102009015734A1 (de) * 2009-03-31 2010-10-07 Siemens Aktiengesellschaft Komprimierungsverfahren, Dekomprimierungsverfahren, Komprimierungseinheit, Dekomprimierungseinheit sowie komprimiertes Dokument
US20100254388A1 (en) * 2009-04-04 2010-10-07 Oracle International Corporation Method and system for applying expressions on message payloads for a resequencer
US8661083B2 (en) * 2009-04-04 2014-02-25 Oracle International Corporation Method and system for implementing sequence start and increment values for a resequencer
US8254391B2 (en) * 2009-04-04 2012-08-28 Oracle International Corporation Method and system for performing blocking of messages on errors in message stream
US8578218B2 (en) * 2009-04-04 2013-11-05 Oracle International Corporation Method and system for implementing a scalable, high-performance, fault-tolerant locking mechanism in a multi-process environment
US9124448B2 (en) * 2009-04-04 2015-09-01 Oracle International Corporation Method and system for implementing a best efforts resequencer
CN101557399A (zh) * 2009-05-20 2009-10-14 深圳市汇海科技开发有限公司 一种xmpp协议传输数据压缩与解压缩方法
CN101902489B (zh) * 2009-06-01 2013-04-17 华为技术有限公司 一种消息发送方法、处理方法、客户端、路由器和系统
FR2949883B1 (fr) * 2009-09-10 2011-10-07 Canon Kk Procede de codage et de decodage d'un document structure, dispositifs correspondants
CN106067985B (zh) 2010-04-13 2019-06-28 Ge视频压缩有限责任公司 跨平面预测
TWI756010B (zh) 2010-04-13 2022-02-21 美商Ge影像壓縮有限公司 樣本區域合併技術
HUE026590T2 (hu) 2010-04-13 2016-06-28 Ge Video Compression Llc Öröklés minta tömb többes fa szerkezetû alosztásban
ES2752227T3 (es) 2010-04-13 2020-04-03 Ge Video Compression Llc Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
CA2706743A1 (en) * 2010-06-30 2010-09-08 Ibm Canada Limited - Ibm Canada Limitee Dom based page uniqueness indentification
CN102096706B (zh) * 2011-01-05 2013-03-06 北京大学 一种变步长xml编码方法
US8442998B2 (en) 2011-01-18 2013-05-14 Apple Inc. Storage of a document using multiple representations
US8963959B2 (en) 2011-01-18 2015-02-24 Apple Inc. Adaptive graphic objects
KR102023788B1 (ko) * 2011-07-29 2019-09-20 소니 주식회사 스트리밍 배신 장치 및 방법, 스트리밍 수신 장치 및 방법, 스트리밍 시스템, 프로그램과 기록 매체
US8891768B2 (en) 2011-10-01 2014-11-18 Oracle International Corporation Increasing data security in enterprise applications by obfuscating encryption keys
US20140359431A1 (en) * 2011-12-12 2014-12-04 Motorola Solutions, Inc. Effectively communicating large presence documents within high latency and lossy network environments
US9723091B1 (en) * 2012-11-09 2017-08-01 Noble Systems Corporation Variable length protocol using serialized payload with compression support
US9063916B2 (en) * 2013-02-27 2015-06-23 Oracle International Corporation Compact encoding of node locations
CN104104575B (zh) * 2013-04-03 2019-01-29 腾讯科技(深圳)有限公司 一种即时通讯群的通讯方法及系统
US9628107B2 (en) 2014-04-07 2017-04-18 International Business Machines Corporation Compression of floating-point data by identifying a previous loss of precision
US9959299B2 (en) 2014-12-02 2018-05-01 International Business Machines Corporation Compression-aware partial sort of streaming columnar data
US10909078B2 (en) * 2015-02-25 2021-02-02 International Business Machines Corporation Query predicate evaluation and computation for hierarchically compressed data
CN106021199B (zh) * 2016-05-13 2019-02-15 中国农业银行股份有限公司 一种面向业务数据的字符串报文处理方法和装置
US10652300B1 (en) 2017-06-16 2020-05-12 Amazon Technologies, Inc. Dynamically-generated encode settings for media content
US11989569B2 (en) * 2018-04-11 2024-05-21 NanoVMs, Inc. Unikernel provisioning
US10506388B1 (en) * 2018-06-27 2019-12-10 Harris Global Communications, Inc. Efficient short message compression
RU2762398C2 (ru) * 2019-12-03 2021-12-21 Владимир Дмитриевич Мазур Способ передачи двоичных данных в стандартном звуковом медиапотоке
US11244126B2 (en) 2019-12-19 2022-02-08 Datamax-O'neil Corporation Systems and methods for encoding and decoding data
CN113659993B (zh) * 2021-08-17 2022-06-17 深圳市康立生物医疗有限公司 免疫批次数据处理方法、装置、终端及可读存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375068A (en) * 1992-06-03 1994-12-20 Digital Equipment Corporation Video teleconferencing for networked workstations
US5991279A (en) 1995-12-07 1999-11-23 Vistar Telecommunications Inc. Wireless packet data distributed communications system
EP0865690B1 (en) 1995-12-07 2003-02-26 Vistar Telecommunications Inc. Wireless packet data distributed communications system
KR19990072122A (ko) 1995-12-12 1999-09-27 바자니 크레이그 에스 실시간 영상 전송 방법 및 장치
US5835730A (en) * 1996-07-31 1998-11-10 General Instrument Corporation Of Delaware MPEG packet header compression for television modems
JPH10143403A (ja) 1996-11-12 1998-05-29 Fujitsu Ltd 情報管理装置および情報管理プログラム記憶媒体
GB9624001D0 (en) * 1996-11-19 1997-01-08 Digi Media Vision Ltd Method and apparatus for modifying tables of data
JP3193947B2 (ja) * 1997-01-08 2001-07-30 株式会社ディジタル・ビジョン・ラボラトリーズ データ送信システム及びデータ送信方法
US5790196A (en) 1997-02-14 1998-08-04 Mitsubishi Electric Information Technology Center America, Inc. Adaptive video coding method
CN1146205C (zh) * 1997-10-17 2004-04-14 皇家菲利浦电子有限公司 在恒定大小的传送分组中封装数据的方法
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
EP0973129A3 (en) * 1998-07-17 2005-01-12 Matsushita Electric Industrial Co., Ltd. Motion image data compression system
AU1517499A (en) * 1998-11-27 2000-06-19 Kent Ridge Digital Labs Method and apparatus for content-linking supplemental information with time-sequence data
US6393456B1 (en) 1998-11-30 2002-05-21 Microsoft Corporation System, method, and computer program product for workflow processing using internet interoperable electronic messaging with mime multiple content type
US6490370B1 (en) * 1999-01-28 2002-12-03 Koninklijke Philips Electronics N.V. System and method for describing multimedia content
JP2000259667A (ja) * 1999-03-12 2000-09-22 Hitachi Information Systems Ltd 文書データ登録システム,文書データ登録方法およびこの方法を実現するためのプログラムを記録した記録媒体
US6763499B1 (en) * 1999-07-26 2004-07-13 Microsoft Corporation Methods and apparatus for parsing extensible markup language (XML) data streams
US6966027B1 (en) * 1999-10-04 2005-11-15 Koninklijke Philips Electronics N.V. Method and apparatus for streaming XML content
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
US6970935B1 (en) * 2000-11-01 2005-11-29 International Business Machines Corporation Conversational networking via transport, coding and control conversational protocols
KR100537199B1 (ko) * 2004-05-06 2005-12-16 주식회사 하이닉스반도체 동기식 메모리 소자

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190263A (ja) * 2004-12-03 2006-07-20 Microsoft Corp 構造化データプロトコルをバイトストリームを供するプロトコルにバインドするための機構
US8533357B2 (en) 2004-12-03 2013-09-10 Microsoft Corporation Mechanism for binding a structured data protocol to a protocol offering up byte streams
JP2008536423A (ja) * 2005-04-12 2008-09-04 フランス テレコム ツリーデータ構造を処理する方法
JP2008234506A (ja) * 2007-03-23 2008-10-02 Casio Electronics Co Ltd 印刷システム、及び該システムに使用するホスト機器
JP2012523638A (ja) * 2009-04-14 2012-10-04 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ テキストベースの情報のための伝送方式
US8595285B2 (en) 2009-04-14 2013-11-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Transmission scheme for text-based information
JP2013054747A (ja) * 2011-09-01 2013-03-21 Heiderberger Druckmaschinen Ag 印刷物を作成する方法
JP2017073123A (ja) * 2015-10-05 2017-04-13 株式会社トゥービーソフトTobesoft Co., Ltd. 大容量データ転送装置及び方法

Also Published As

Publication number Publication date
JP4574114B2 (ja) 2010-11-04
KR100566019B1 (ko) 2006-03-31
US7647552B2 (en) 2010-01-12
AUPR063400A0 (en) 2000-11-02
DE60129232D1 (de) 2007-08-16
EP1323064A1 (en) 2003-07-02
CN1455901A (zh) 2003-11-12
CN1244062C (zh) 2006-03-01
DE60129232T2 (de) 2008-03-06
WO2002029602A1 (en) 2002-04-11
ATE366441T1 (de) 2007-07-15
EP1323064B1 (en) 2007-07-04
US20040028049A1 (en) 2004-02-12
EP1323064A4 (en) 2005-08-10
KR20030061819A (ko) 2003-07-22

Similar Documents

Publication Publication Date Title
JP4574114B2 (ja) 文書の送受信方法、xml符号化方法及びその装置、並びにxml復号方法
JP3880517B2 (ja) 文書処理方法
JP2004318188A (ja) 構造化データの受信プログラム
AU2001293514B2 (en) XML encoding scheme
AU2001293514A1 (en) XML encoding scheme
JP2004318775A (ja) 構造化データの受信装置
JP2004318771A (ja) 構造化データの受信装置
JP2004320689A (ja) 構造化データの受信装置
JP2004320685A (ja) 構造化データの受信装置
JP2004318776A (ja) 構造化データの受信装置
JP2004318772A (ja) 構造化データの受信装置
JP2004318192A (ja) 構造化データの受信プログラム
JP2004318193A (ja) 構造化データの受信プログラム
JP2004318189A (ja) 構造化データの受信プログラム
JP2004320690A (ja) 構造化データの受信装置
JP2004320071A (ja) 構造化データの受信プログラム
JP2004318197A (ja) 構造化データの受信プログラム
JP2004318195A (ja) 構造化データの受信プログラム
JP2004318774A (ja) 構造化データの受信装置
JP2004318194A (ja) 構造化データの受信プログラム
JP2004318190A (ja) 構造化データの受信プログラム
JP2004320684A (ja) 構造化データの受信装置
JP2004318191A (ja) 構造化データの受信プログラム
JP2004320070A (ja) 構造化データの受信プログラム
JP2004320068A (ja) 構造化データの受信プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070328

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070418

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100818

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees