(57)【特許請求の範囲】
【請求項１】
構造化文書の符号化装置であって、
構造化文書作成手順と、各手順に割り当てた符号との対応を示す手順テーブルと、
既に復号化装置に送信した構造化文書の部分を管理する手段と、
復号化装置からの構造化文書の部分を指定した文書要求に対して、既に復号化装置に送信した部分を起点とした指定部分の作成手順を、手順テーブルに従い符号化する手段と、
を有することを特徴とする符号化装置。
【請求項２】
文書要求において、構造化文書の要素が指定され、要求された部分は指定された要素と、その配下にある全要素であること、
を特徴とする請求項１に記載の符号化装置。
【請求項３】
手順テーブルには、少なくとも要素を追加する手順と、要素に値を設定する手順が含まれていること、
を特徴とする請求項１又は２に記載の符号化装置。
【請求項４】
符号化装置による構造化文書の符号化方法であって、
構造化文書の、既に送信した要素から要求された部分の最上位の要素に至るまでの全要素を、既に送信した構造化文書に追加していく手順について符号化をするステップと、
要求された部分に含まれる各要素を、要求された部分の最上位の要素に追加していく手順について符号化をするステップと、
を有することを特徴とする符号化方法。
【請求項５】
構造化文書作成手順と、各手順に割り当てた符号との対応を示す手順テーブルを有するコンピュータを、
既に復号化装置に送信した構造化文書の部分を管理する手段、
復号化装置からの構造化文書の部分を指定した文書要求に対して、既に復号化装置に送信した部分を起点とした指定部分の作成手順を、手順テーブルに従い符号化する手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌｕｎｇｕａｇｅ）等の構造化文書の符号化及び復号化に関し、より詳しくは、構造化文書全体に加え、構造化文書の一部分のみを送受信するのに好適な符号化及び復号化技術に関する。
【背景技術】
【０００２】
文書にタグを付与して構造を示す構造化文書としては、ＸＭＬや、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌｕｎｇｕａｇｅ）等があり、これらは異なるコンピュータ環境においても文書の相互利用を可能とするために、テキスト形式にて文書の送受信を行うことを想定している。
【０００３】
しかしながら、携帯電話端末等の処理能力の低い装置においては、送受信されるデータ及び文書構造の解析処理負担は少ないことが望ましく、送受信のためのデータ量削減及び文書構造解析処理の簡略化を目的とした、構造化文書の符号化方法が提案されている（例えば、特許文献１参照。）。
【０００４】
特許文献１によると、構造化文書を保存しているサーバ装置と、サーバ装置に対して必要な文書の文書要求を行うクライアント装置とを備え、サーバ装置とクライアント装置とは共通の符号化テーブルを有し、サーバ装置は符号化テーブルを参照して構造化文書の符号化を行い、クライアント装置は符号化テーブルを参照して復号を行っている。
【０００５】
【特許文献１】特開２００５−２１５９５１公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、提案されている符号化及び復号化方法は、構造化文書全体を効率よく符号化し、かつ、構造化文書全体を送受信することを目的として設計されているため、対象となる構造化文書自体の量が大きい場合には、符号化データ量も多くなり、したがって、処理能力の低い装置においては処理負担が重くなり、最悪の場合には処理できなくなる事態が発生する。
【０００７】
一方、文書を利用する側では、必ずしも文書全体を必要とはせずに、その一部分のみを取得すれば十分であるという場合が多く、構造化文書の一部分のみを必要に応じて符号化して送信することができれば、符号化によるデータ量の削減及び文書構造解析処理負担の削減に加え、構造化文書の一部分のみを送信することによるデータ量の削減及び文書構造解析処理負担の削減という利点を享受することが可能となる。
【０００８】
このとき、構造化文書を利用する側においては、取得した部分が、元の構造化文書のどの位置のものかを認識し、これにより、取得した複数の部分の、構造化文書内での位置関係を認識できることが重要となる。
【０００９】
したがって、本発明は、構造化文書の一部分を、その構造化文書での位置を受信側で認識できるように符号化し、受信側では構造化文書の各部分を複数回に分けて取得し処理することを可能とする符号化装置、方法、コンピュータを該装置として機能させるプログラム及び該符号化方法で符号化された文書の復号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明における符号化装置によれば、
構造化文書の符号化装置であって、構造化文書作成手順と、各手順に割り当てた符号との対応を示す手順テーブルと、既に復号化装置に送信した構造化文書の部分を管理する手段と、復号化装置から起点とした指定部分の作成手順を、手順テーブルに従い符号化する手段とを有することを特徴とする。
【００１１】
本発明の符号化装置における他の実施形態によれば、
文書要求において、構造化文書の要素が指定され、要求された部分は指定された要素と、その配下にある全要素であることも好ましい。
【００１２】
また、本発明の符号化装置における他の実施形態によれば、
手順テーブルには、少なくとも要素を追加する手順と、要素に値を設定する手順が含まれていることも好ましい。
【００１３】
本発明における符号化方法によれば、
構造化文書の符号化方法であって、構造化文書の、既に送信した要素から要求された部分の最上位の要素に至るまでの全要素を、既に送信した構造化文書に追加していく手順について符号化をするステップと、要求された部分に含まれる各要素を、要求された部分の最上位の要素に追加していく手順について符号化をするステップとを有することを特徴とする。
【００１４】
本発明におけるプログラムによれば、
構造化文書作成手順と、各手順に割り当てた符号との対応を示す手順テーブルを有するコンピュータを、上記符号化装置として機能させることを特徴とする。
【００１５】
本発明における復号化装置によれば、
符号化された構造化文書の復号化装置であって、構造化文書作成手順と、各手順に割り当てた符号との対応を示す手順テーブルと、既に符号化装置から受信した構造化文書の部分を管理する手段と、既に受信した構造化文書の部分に対して、他の部分の追加を行う符号化された構造化文書作成手順を、符号化装置から受信し、手順テーブルに基づき復号する手段とを有することを特徴とする。
【発明の効果】
【００１６】
構造化文書の一部分を、テキスト形式ではなく符号化して送信するため、処理すべきデータ量を少なくすることができ、構造化文書の処理負担を軽減することができる。また、各部分を複数回に分けて送受信したとしても、復号化装置では元の構造化文書の構造を維持した形で復元することができる。
【発明を実施するための最良の形態】
【００１７】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。
【００１８】
図４は、本発明の説明に用いる構造化文書６を示す図である。図４（ａ）は、構造化文書６を、木構造で表したものであり、図４（ｂ）は、構造化文書６をＸＭＬ形式で表現したものである。図４によると、構造化文書６は、文書全体の基点となり構造化文書に必ず含まれる要素であるルート要素“文書全体”の中に、要素“章”を２つ有し、それぞれの“章”には、値として“１”と“２”が付与されている（以後、“章１”、“章２”と呼ぶ。）。“章１”の中に、要素“節”が２つ設けられ、要素値として“１．１”と“１．２”が付与されている（以後、“節１．１”、“節１．２”と呼ぶ。）。更に、“節１．１”の中に、要素“文”が２つ設けられ、要素値として“１”と“２”が付与されている（以後、“文１”、“文２”と呼ぶ。）。また、“節１．２”の中にも同様に、以後、“文３”、“文４”と呼ぶ、要素“文”が２つ設けられている。
【００１９】
更に、“章１”と同様、“章２”の中にも、“節２．１”、“節２．２”が設けられ、“節２．１”の中に、“文５”及び“文６”が、“節２．２”の中に、“文７”及び“文８”が設けられている。
【００２０】
図５は、本発明の説明に用いる、構造化文書６の部分取得を説明する図である。図４に示す構造化文書６を保存している装置（以下、符号化装置という。）は、構造化文書６を取得して使用する装置（以下、復号化装置という。）から“節２．１”以下の全要素を取得したいとの要求を受けたものとする。このとき、符号化装置は、要求された部分である“節２．１”以下の全要素のみならず、既に送信した部分から要求された部分に至る経路に存在する全要素についても、要素及びその値を符号化して、符号化データを復号化装置に送信する。本例では初めての送信であるため、文書の基点となるルート要素“文書全体”と、“章２”と、“節２．１”と、“文５”と、“文６”についてその符号化データを送信する。尚、図４に示す構造化文書６には属性及び属性値は含まれていないが、要素に属性及び属性値が設定されている場合には、送信する要素の属性及び属性値も符号化して送信する。
【００２１】
復号化装置は、符号化データから図５（ａ）に示す文書構造となる、構造化文書６の部分を認識し、復号又は復元する。続いて、復号化装置の利用者が、取得した構造化文書６の部分の内容から、“節２．２”以下の全要素も必要と判断し、復号化装置を操作して符号化装置に対して構造化文書６の“節２．２”以下の全要素の部分について文書要求を送信したものとする。
【００２２】
符号化装置は、既に送信した部分を起点として、既に送信した部分から要求された部分に至る全要素と、要求された部分とを符号化して符号化データを送信する。つまり、要求された“節２．１”と、“文７”と、“文８”のみならず、“節２．１”が“章２”の子要素であることも復号化装置で認識できる符号化データを送信する。復号化装置は、受信した符号化データから、図５（ｂ）に示す構造を復元する。
【００２３】
尚、復号化装置が“節２．２”ではなく、“節１．２”以下の全要素を要求した場合、符号化装置は、要求された部分である“節１．２”以下の全要素についてのみならず、既に送信した部分から要求された部分に至る要素、つまり、ルート要素“文書全体”の子要素として“章１”が存在し、要求された部分が“章１”の配下になることを符号化して送信する。同様に、復号化装置が“節２．２”ではなく、“文７”を要求した場合、符号化装置は、既に送信している“章２”の子要素として“節２．２”が存在し、要求された部分は“節２．２”の配下にあることを、要求された部分と共に符号化して符号化データを送信する。
【００２４】
図１は、本発明による符号化装置の機能ブロック図である。図１によると、符号化装置は、文書解析部１と、符号化部２と、現在位置管理部３と、手順テーブル４と、要素／属性テーブル５とを備えている。
【００２５】
文書解析部１は、構造化文書６のうち、復号化装置に既に送付した部分を管理しており、復号化装置からの文書要求を受信した場合、新たに復号化装置に送付すべき部分を抽出して、抽出した部分を符号化部２に出力する。現在位置管理部３は、処理対象である要素を示す位置情報を管理しており、符号化部２は、現在位置管理部３が管理する位置情報と、手順テーブル４と、要素／属性テーブル５とに基づき入力される構造化文書６の部分を、構造化文書６全体での位置を参照しながら符号化を行い、符号化データ７を出力する。
【００２６】
図３は、本発明の説明に用いる手順テーブル４及び要素／属性テーブル５を示す図であり、手順テーブル４とは、図３（ａ）に示す様に、構造化文書の作成手順と、手順を表す符号値を関連付ける表であり、要素／属性テーブル５は、図３（ｂ）に示す様に、構造化文書６で使用される要素及び属性と、その符号値を関連付ける表である。
【００２７】
まず、新たな復号化装置より、図４に示す構造化文書６の“節２．１”以下の全要素を要求された場合における符号化装置での符号化処理について説明する。すなわち、符号化装置においては図５（ａ）に示す部分を符号化することになる。
【００２８】
文書解析部１は、要求された部分と、要求された部分から既に送信した部分に至る経路に存在する全要素を構造化文書６から抽出する。初めての送信であるため、既に送信した部分はなく、したがって、ルート要素である“文書全体”と、“章２”と、“節２．１”と、“文５”と、“文６”に関する内容を符号化部２に出力する。
【００２９】
現在位置管理部３は、初期状態では、位置情報として“なし”を示している。以下、図６を参照して、符号化部２での符号化処理を説明する。本発明による符号化方法は、構造化文書の作成手順を符号化して送信する。つまり、符号化データは、一連の手順で構成されており、各手順はその順番である手順ＩＤで識別する。この手順ＩＤ自体は、符号化データに含まれる手順の順番で符号化装置及び復号化装置が共有、つまり、暗示的に符号化装置及び復号化装置が共有するため送受信される符号化データには含まれない。以後の説明において、各手順を手順ＩＤで参照する。
【００３０】
（ＩＤ０１）  初めての文書送信であるため、手順“文書生成”を指定する符号“０１”を符号化データとする。
【００３１】
（ＩＤ０２）  続いて、ルート要素である“文書全体”を生成するため、手順“子要素追加”を指定する符号“０２”と、その引数として生成する要素である“文書全体”を示す符号“００”を合わせた“０２  ００”を符号化データとする。現在位置管理部３は、要素を追加した場合には追加した要素を位置情報とする。
【００３２】
（ＩＤ０３）  位置情報が示すルート要素“文書全体”の子要素として要素“章”を追加するため、手順“子要素追加”を指定する符号“０２”と、その引数として生成する要素である“章”を示す符号“０１”を合わせた“０２  ０１”を符号化データとする。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“章”の位置を示している。
【００３３】
（ＩＤ０４）  追加した要素“章”に値２を設定するため、手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である１を示す符号“０１”と、その第２引数として設定する文字である“２”のアスキーコードを合わせた値を符号化データとする。値の設定対象である要素の特定は、現在位置管理部３が示している位置情報により行われる。要素に対する値の設定であるため、現在位置管理部３が管理する位置情報は変更しない。尚、図６において、‘’で囲まれた文字は、実際にはアスキーコードで符号化されるが、簡単のため図においてはアスキーコードが示す文字のまま表示している。尚、第１引数として文字数を用いる例にて、以下説明を行うが、バイト数等であっても良い。
【００３４】
（ＩＤ０５）  位置情報が示す“章２”の子要素として要素“節”を追加するため手順“子要素追加”を指定する符号“０２”と、その引数として生成する要素である“節”を示す符号“０２”を合わせた“０２  ０２”を符号化データとする。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“節”の位置を示している。
【００３５】
（ＩＤ０６）  位置情報が示す、追加した要素“節”に値を設定するため、手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である３を示す符号“０３”と、その第２引数として設定する文字である“２．１”のアスキーコードを合わせた値を符号化データとする。要素に対する値の設定であるため、現在位置管理部３が管理する位置情報は変更しない。
【００３６】
（ＩＤ０７）  位置情報が示す“節２．１”の子要素として要素“文”を追加するため手順“子要素追加”を指定する符号“０２”と、その引数として生成する要素である“文”を示す符号“０３”を合わせた“０２  ０３”を符号化データとする。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“文”の位置を示している。
【００３７】
（ＩＤ０８）  位置情報が示す、追加した要素“文”に値を設定するため、手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である１を示す符号“０１”と、その第２引数として設定する文字である“５”のアスキーコードを合わせた値を符号化データとする。要素に対する値の設定であるため、現在位置管理部３が管理する位置情報は変更しない。
【００３８】
（ＩＤ０９）  “文５”と同じ“節２．１”の子要素”、即ち、ＩＤ０８における位置情報“文５”とは兄弟の関係となる要素“文”を生成するため、手順“兄弟要素追加”を指定する符号“０３”と、その引数として生成する要素である“文”を示す符号“０３”を合わせた“０３  ０３”を符号化データとする。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“文”の位置を示している。尚、“兄弟要素追加”との手順を設けず、後述する手順“移動”を用いて、一旦、位置情報を“節２．１”とした上で、手順“子要素追加”を使用してもよい。また、兄弟要素間で前後関係をも管理したい場合には、手順“子要素追加”や、手順“兄弟要素追加”において引数で兄弟要素間の前後関係を指定してもよい。
【００３９】
（ＩＤ０１０）  位置情報が示す、追加した要素“文”に値を設定するため、手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である１を示す符号“０１”と、その第２引数として設定する文字である“６”のアスキーコードを合わせた値を符号化データとする。要素に対する値の設定であるため、現在位置管理部３が管理する位置情報は変更しない。
【００４０】
以上、符号化部２は、図６のＩＤ０１からＩＤ１０に示す、構造化文書作成手順を符号化した符号化データ７を、ＩＤ０１からＩＤ１０に示す順で出力する。
【００４１】
図２は、本発明による復号化装置の機能ブロック図である。図２によると、復号化装置は、データ解析部８と、現在位置管理部３と、手順テーブル４と、要素／属性テーブル５とを備えている。ここで、復号化装置が有する手順テーブル４及び要素／属性テーブル５は、符号化装置が有する手順テーブル４及び要素／属性テーブル５と同じものである。
【００４２】
データ解析部８は、入力される符号化データ７に含まれる手順の内容を、手順テーブル４を参照して解析し、また、各手順の引数を要素／属性テーブル５を参照して復号して、構造化文書６の部分である構造化文書９を復元する。尚、２回目以降の部分の取得の場合には、既に作成した構造化文書９を参照して追加する形で、構造化文書９の復元を行う。
【００４３】
以下、図６を参照して、データ解析部８での復号化処理を説明する。
【００４４】
（ＩＤ０１）  符号化データ“０１”の受信により新規文書を作成する。
（ＩＤ０２）  符号化データ“０２  ００”より、作成した新規文書にルート要素“文書全体”を追加する。現在位置管理部３は、要素を追加した場合には追加した要素位置を現在位置情報として管理する。
（ＩＤ０３）  符号化データ“０２  ０１”より、位置情報が示すルート要素“文書全体”の子要素として要素“章”を追加する。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“章”の位置を示している。
（ＩＤ０４）  符号化データより、位置情報が示す要素“章”に、値“２”を設定する。
（ＩＤ０５）  符号化データ“０２  ０２”より、位置情報が示す“章２”の子要素として要素“節”を追加する。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“節”の位置を示している。
（ＩＤ０６）  符号化データより、位置情報が示す要素“節”に、値“２．１”を設定する。
（ＩＤ０７）  符号化データ“０２  ０３”より、位置情報が示す“節２．１”の子要素として要素“文”を追加する。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“文”の位置を示している。
（ＩＤ０８）  符号化データより、位置情報が示す要素“文”に、値“５”を設定する。
（ＩＤ０９）  符号化データ“０３  ０３”より、現在位置である“文５”の兄弟要素として要素“文”を追加する。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“文”の位置を示している。
（ＩＤ０１０）  符号化データより、位置情報が示す要素“文”に、値“６”を設定する。
【００４５】
以上の手順により、復号化装置では、図５（ａ）に示す、構造化文書６の部分である構造化文書９を復号／復元する。
【００４６】
続いて、復号化装置より要素“節２．２”以下の全要素の文書要求があった場合の符号化装置での処理を説明する。
【００４７】
文書解析部１は、既に復号化装置に送信した部分を管理しているため、“節２．２”以下の全要素を符号化部２に出力する。現在位置管理部３は、初期状態では、位置情報として“なし”を示しているものとする。尚、前回の符号化での最後の手順における位置情報、つまり、ＩＤ１０での位置情報である“文６”を初期値とするなど、位置情報の初期値については、符号化装置及び復号化装置で共通である限り任意の方法で良い。以下、図７を参照して、符号化部２での符号化処理を説明する。尚、図７の説明においても、図６と同様に、手順ＩＤで各手順を参照する。
【００４８】
（ＩＤ１１）  位置情報を“章２”とするため、手順“移動”を指定する符号“０７”を用い、第１引数で移動先である“章２”を特定する。本例では、移動先要素の特定を、移動先要素を追加した手順の手順ＩＤで行うものとする。“章２”は、ＩＤ０３で追加されたものであるため、“０７  ０３”を符号化データとする。尚、移動先要素の特定方法は、本形態に限定されず、例えば、要素が追加された順番で指定しても良い。その場合、“章２”は、ルート要素“文書全体”の次に、つまり全体で２番目に追加されているため“０２”が“章２”を指定する値となる。
【００４９】
（ＩＤ１２）  位置情報が示す“章２”の子要素として要素“節”を追加するため、手順“子要素追加”を指定する符号“０２”と、その引数として生成する要素である“節”を示す符号“０２”を合わせた“０２  ０２”を符号化データとする。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“節”の位置を示している。尚、ＩＤ１１において、“節２．１”に移動し、手順“兄弟要素追加”で本要素を追加しても良い。
【００５０】
（ＩＤ１３）  位置情報が示す、追加した要素“節”に値を設定するため、手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である３を示す符号“０３”と、その第２引数として設定する文字である“２．２”のアスキーコードを合わせた値を符号化データとする。要素に対する値の設定であるため、現在位置管理部３が管理する位置情報は変更しない。
【００５１】
（ＩＤ１４）  位置情報が示す“節２．２”の子要素として要素“文”を追加するため手順“子要素追加”を指定する符号“０２”と、その引数として生成する要素である“文”を示す符号“０３”を合わせた“０２  ０３”を符号化データとする。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“文”の位置を示している。
【００５２】
（ＩＤ１５）  位置情報が示す、追加した要素“文”に値を設定するため、手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である１を示す符号“０１”と、その第２引数として設定する文字である“７”のアスキーコードを合わせた値を符号化データとする。要素に対する値の設定であるため、現在位置管理部３が管理する位置情報は変更しない。
【００５３】
（ＩＤ１６）  位置情報が示す“文７”の兄弟要素を追加するため、手順“兄弟要素追加”を指定する符号“０３”と、その引数として生成する要素である“文”を示す符号“０３”を合わせた“０３  ０３”を符号化データとする。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“文”の位置を示している。
【００５４】
（ＩＤ１７）  位置情報が示す、追加した要素“文”に値を設定するため、手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である１を示す符号“０１”と、その第２引数として設定する文字である“８”のアスキーコードを合わせた値を符号化データとする。要素に対する値の設定であるため、現在位置管理部３が管理する位置情報は変更しない。
【００５５】
以上の手順により、符号化部２は、図７のＩＤ１１からＩＤ１７に示す符号化データ７を、ＩＤ１１からＩＤ１７に示す順で出力する。続いて、図７に示す符号化データを受信した復号化装置での処理を、図７を参照して説明する。
【００５６】
（ＩＤ１１）  符号化データ“０７  ０３”の受信により現在位置管理部３は、管理する位置情報を、既に保存している構造化文書９の“章２”とする。
（ＩＤ１２）  符号化データ“０２  ０２”より、位置情報が示す“章２”の子要素として、構造化文書９に要素“節”を追加する。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“節”の位置を示している。
（ＩＤ１３）  符号化データより、位置情報が示す構造化文書９の要素“節”に、値“２．２”を設定する。
（ＩＤ１４）  符号化データ“０２  ０３”より、位置情報が示す“節２．２”の子要素として構造化文書９に要素“文”を追加する。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“文”の位置を示している。
（ＩＤ１５）  符号化データより、位置情報が示す構造化文書９の要素“文”に、値“７”を設定する。
（ＩＤ１６）  符号化データ“０３  ０３”より、位置情報が示す“文７”の兄弟要素として構造化文書９に要素“文”を追加する。要素を追加したため、現在位置管理部３が管理する位置情報は、追加した要素“文”の位置を示している。
（ＩＤ１７）  符号化データより、位置情報が示す構造化文書９の要素“文”に、値“８”を設定する。
【００５７】
以上、復号化装置では、既に受信していた図５（ａ）に示す構造化文書６の部分である構造か文書９に対して、新たに受信したＩＤ１１からＩＤ１７の手順を実行することにより、図５（ｂ）に示す構造化文書９を復号／復元する。
【００５８】
図６に示す第１回目に符号化装置が復号化装置に送信した手順のうち、ＩＤ５からＩＤ１０の部分と、図７に示す第２回目に符号化装置が復号化装置に送信した手順のうち、ＩＤ１２からＩＤ１７の部分とは、設定する値以外は同じ手順が符号化されて送信されている。このため、手順“繰り返し”を設けることで、更に符号化データ量を削減する。
【００５９】
図８に、“節２．２”の文書要求があった場合で、手順“繰り返し”を使用した場合の符号化データを示す。
（ＩＤ１１’）  ＩＤ１１と同じである。
（ＩＤ１２’）  前回の手順のうち、ＩＤ０５からＩＤ１０に示す手順の繰り返しであることを通知するため、手順“繰り返し”を指定する符号“０８”と、その第１引数として繰り返し開始位置の手順ＩＤである“０５”と、その第２引数として繰り返し終了位置の手順ＩＤである“１０”とを合わせた“０８  ０５  １０”を符号化データとする。以後、値のみを設定していく。
（ＩＤ１３’）  手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である３を示す符号“０３”と、その第２引数として設定する文字である“２．２”のアスキーコードを合わせた値を符号化データとする。この手順は、繰り返し範囲で、１番目に値を設定しているＩＤ０６での値の置換として扱われる。
（ＩＤ１４’）  本手順は、繰り返し範囲で、２番目に値を設定しているＩＤ０８での値の置換として扱われる。
（ＩＤ１５’）  本手順は、繰り返し範囲で、３番目に値を設定しているＩＤ１０での値の置換として扱われる。
【００６０】
尚、手順“繰り返し”の引数としては、第１引数で繰り返し開始位置の手順ＩＤを指定して、第２引数で繰り返す手順の数を指定してもよい。
【００６１】
更に、使用する手順は、図３に（ａ）に示すものに限定されない。例えば、要素追加についても、図３（ａ）では、位置情報が示す要素の子要素及び兄弟要素とはならない要素を追加する場合には、手順“移動”を使用して一旦位置情報を変更した上で、要素追加を行わなければならないが、位置情報が示す要素から、ルート要素側に遡る段数を引数として特定する手順を設けることで、手順“移動”を使用することなく要素追加を行うことも可能である。また、位置情報を手順の引数とすることも可能であり、その場合には、符号化装置及び復号化装置の現在位置管理部３は省略できる。更に、属性の追加や、値の設定に独自の手順を割り当てることも、要素の追加と同じとし引数で区別する構成とすることも可能である。
【００６２】
また、復号化装置が要求する部分の指定は、木構造での上位要素と、下位要素を指定してその範囲にある要素とすることも可能であるが、文書取得において木構造の中間にある要素のみを取得する必要性は乏しいと考えられることから、要素を１つ指定し、指定した要素以下の全要素とすることが好ましい。
【００６３】
また、復号化装置が要求した部分に既に送信した部分が含まれている場合、既に送信した部分を除いた部分を作成する手順を符号化して送信することも、既に送信した部分を含めた部分の作成手順を符号化して送信することも可能である。ただし、既に送信した部分の作成手順については、既に送信したものであることを復号化装置が認識できる符号とすることが望ましい。より具体的には、図５（ａ）の部分を送信した後に、復号化装置から“章２”以下の全要素の文書取得要求を受信した場合、“節２．２”以下の全要素の文書取得要求と同等と扱うことも、ルート要素“文書全体”の子要素として“章２”を追加する手順から符号化することも可能であるが、既に送信した“章２”、“節２．１”、“文５”及び“文６”の追加については、復号化装置に既に送信した手順と重複していることを認識させる符号構成、例えば、符号値により、又は、符号の引数により区別する構成とする。
【００６４】
また、本発明による符号化方法は、構造化文書の編集を、文書を保持している装置に通知するために使用することも可能である。例えば、構造化文書６を保持している符号化装置より、図６及び図７の手順を受信することで、図５（ｂ）に示す構造化文書６の部分を取得した復号化装置が、４つの要素名“文”である要素の値を、それぞれ、“５”、“６”、“７”、“８”から、“い”、“ろ”、“は”、“に”に変更し、変更を符号化装置に通知する場合を考える。このとき、復号化装置は、手順テーブルに従い、編集の手順を符号化して符号化装置に伝える。
【００６５】
図９は、編集内容を通知するための符号化データを示す図である。
【００６６】
（ＩＤ１８）  位置情報を“文５”とするため、手順“移動”を指定する符号“０７”を用い、第１引数で移動先である“文５”を特定する。本例では、移動先要素の特定を、移動先要素を追加した手順の手順ＩＤで行うものとしており、“文５”は、ＩＤ０７で追加されたものであるため、“０７  ０７”を符号化データとする。尚、移動先要素の特定方法は、本形態に限定されない。
【００６７】
（ＩＤ１９）  位置情報が示す、“文５”の値を、新たな値で置換するため、手順“要素の値設定”を指定する符号“０６”と、その第１引数として設定する文字数である１を示す符号“０１”と、その第２引数として設定する文字である“い”のアスキーコードを合わせた値を符号化データとする。要素に対する値の設定であるため、現在位置管理部３が管理する位置情報は変更しない。尚、本説明においては、要素を“要素名”＋“要素値”で特定しているため、位置情報が“文５”から“文い”に変更となっているが、要素そのものは同じである。
【００６８】
（ＩＤ２０〜２５）  以後、同様に手順“移動”を使用して位置情報を編集対象の要素とした上で、手順“要素の値設定”で編集後の要素値と置換する。
【００６９】
符号化装置は、復号化装置から受信するＩＤ１８からＩＤ２５に基づき構造化文書６を変更する。尚、手順“要素の値設定”を用いることとしたが、手順“要素の値変更”を設けて要素値の完全な変更に使用し、手順“要素の値設定”は、既存要素値に新たな値を追加するために使用する等、手順の構成は本実施形態に限定されない。更に、手順“要素の削除”等を設けることにより、より複雑な編集処理を通知することも可能となる。
【００７０】
尚、上述した、復号化装置が、編集内容を符号化装置に通知する場合、復号化装置は、図１に示す機能ブロックを有しており、符号化装置は、図２に示す機能ブロックを有している。
【００７１】
以上、符号化装置と復号化装置が共通の文書作成手順とその符号を定義した手順テーブルを有し、既に送受信した部分を管理するととも、送受信対象の文書部分を、既に送受信した部分からの作成手順として手順テーブルに基づき符号化して送信することで、少ない符号化データ量で、構造化文書の部分のみを送受信することが可能となる。
【図面の簡単な説明】
【００７２】
【図１】本発明による符号化装置の機能ブロック図である。
【図２】本発明による復号化装置の機能ブロック図である。
【図３】本発明の説明に用いる手順テーブル及び要素／属性テーブルを示す図である。
【図４】本発明の説明に用いる構造化文書を示す図である。
【図５】本発明の説明に用いる構造化文書の部分取得を説明する図である。
【図６】本発明による符号化装置が出力する符号化データを示す図である。
【図７】図６の符号化データに続く符号化データを示す図である。
【図８】図６の符号化データに続く符号化データの他の形態を示す図である。
【図９】編集を通知するための符号化データを示す図である。
【符号の説明】
【００７３】
１  文書解析部
２  符号化部
３  現在位置管理部
４  手順テーブル
５  要素／属性テーブル
６  構造化文書
７  符号化データ
８  データ解析部
９  復号部
【図１】
0004765591.tif 000002
【図２】
0004765591.tif 000003
【図３】
0004765591.tif 000004
【図４】
0004765591.tif 000005
【図５】
0004765591.tif 000006
【図６】
0004765591.tif 000007
【図７】
0004765591.tif 000008
【図８】
0004765591.tif 000009
【図９】
0004765591.tif 000010