(57)【要約】【課題】符号化対象文書内の各要素や属性によって最適な符号化を行えるデータ型が異なる場合に、効率的な符号圧縮が行えない。【解決手段】符号化対象文書内の各要素、属性に対する符号化テーブルに、同じ要素名であるが異なるデータ型を持つ符号化テーブルを定義する。そして符号化時に、符号化対象文書内の各要素、属性について、最も効率よく符号化できるデータ型を動的に選択しながら、符号化を行う。【選択図】図４
2008287412.tif 000002
【特許請求の範囲】
【請求項１】
拡張可能なテキスト形式の構造型記述言語で記載された文書データを符号化する文書データ符号化方法において、
前記文書データをパース処理し、文書構造の解析を行い、該文書データの要素値及び属性値を取得するステップと、
同じ要素値及び属性値に対して異なる複数のデータ型を定義した符号化テーブルを用いて、前記要素値及び属性値に対して最適なデータ型を選択するステップと、
前記符号化テーブルを用いて、前記要素値及び属性値を選択されたデータ型により符号化を行うステップと、
を含んでいることを特徴とする文書データ符号化方法。
【請求項２】
前記最適なデータ型を選択するステップは、前記符号化テーブルに明示的または暗黙的に定義された優先度に従い最適なデータ型を選択するステップであることを特徴とする請求項１に記載の文書データ符号化方法。
【請求項３】
前記最適なデータ型を選択するステップは、異なる複数のデータ型で前記要素値及び属性値を符号化して最も圧縮率の高くなるデータ型を選択するステップであることを特徴とする請求項１に記載の文書データ符号化方法。
【請求項４】
前記符号化を行うステップは、前記要素値及び属性値の符号に、前記選択されたデータ型を明記する符号を付加することを特徴とする請求項１から３のいずれか１項に記載の文書データ符号化方法。
【請求項５】
拡張可能なテキスト形式の構造型記述言語で記載された文書データを符号化する文書データ符号化処理システムにおいて、
前記文書データをパース処理し、文書構造の解析を行い、該文書データの要素値及び属性値を取得する符号化対象文書パース機能と、
同じ要素値及び属性値に対して異なる複数のデータ型を定義した符号化テーブルを用いて、前記要素値及び属性値に対して最適なデータ型を選択する最適データ型選択機能と、
前記符号化テーブルを用いて、前記要素値及び属性値を選択されたデータ型により符号化を行う符号化機能と、
を備えていることを特徴とする文書データ符号化処理システム。
【請求項６】
拡張可能なテキスト形式の構造型記述言語で記載された文書データを符号化する文書データ符号化プログラムにおいて、
前記符号化対象文書パース機能が、前記文書データをパース処理し、文書構造の解析を行い、該文書データの要素値及び属性値を取得するステップと、
同じ要素値及び属性値に対して異なる複数のデータ型を定義した符号化テーブルを用いて、前記最適データ型選択機能が、前記要素値及び属性値に対して最適なデータ型を選択するステップと、
前記符号化機能が、前記符号化テーブルを用いて、前記要素値及び属性値を選択されたデータ型により符号化を行うステップと、
してコンピュータを機能させることを特徴とする文書データ符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張可能なテキスト形式の構造型記述言語で記載された文書データを符号化する文書データ符号化方法、符号化システム及びそのプログラムに関する。
【背景技術】
【０００２】
従来、伝送すべきデータ量を削減するために、文書データを符号化及び復号する方法がある。この方法を実現するためには、送信装置及び受信装置はそれぞれ、変換テーブルを所持する必要がある。変換テーブルは、構造型記述言語と符号データとを１対１に対応付けたものである。送信装置は、変換テーブルに基づいて文書データを符号データに符号化する。一方、受信装置は、変換テーブルに基づいて符号データを文書データに復号する。このような方法は、インターネットにおけるセキュリティの観点からも有効である。変換テーブルを有さないクライアントは、符号データを復号することができないからである。
【０００３】
具体的には、ＸＭＬ(eXtensible Markup Language)又はＳＧＭＬ(Standard Generalized Markup Language)準拠の符号化テーブルを用いて、ＸＭＬ／ＳＧＭＬ文書データの符号化を行う方法がある（例えば特許文献１）。この方法は、ＸＭＬ／ＳＧＭＬ形式の構造型記述言語で記載された変換テーブルに、要素名、要素値、属性名及び属性値の項目に符号長及び符号を定義し、第１の要素名に対する第２の要素名が親子関係を示す符号長及び符号とを定義したものである。この変換テーブルを用いて文書データを符号化することにより、データ伝送量を削減することができる。また、復号側装置は、符号データからの元の文書データを復元させることないために、パーサも必要としない。
【０００４】
また、特許文献２は、この符号化圧縮率を向上させるために、文書構造の近似性に着眼し、文書構造や属性値や要素値の出現頻度を用いた符号化方法を開示している。
【０００５】
図１は、符号化サーバを含むシステム構成図である。
【０００６】
サーバ４は、ＸＭＬ形式の文書データを符号化サーバ６へ送信する。符号化サーバ６は、変換テーブルサーバ７から受信した変換テーブルを用いて、文書データを符号化する。その符号データは、クライアント５へ送信される。クライアント５は、変換テーブルサーバ７から受信した変換テーブルを用いて、文書処理を行う。図１によれば、ＸＭＬ形式の文書データを送信する既存のサーバに変更を加えることなく、符号化サーバをプロキシサーバとして利用することができる。
【０００７】
【特許文献１】特開２００２−２５９１９４号公報
【特許文献２】特開２００５−２１５９５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の従来技術では、符号化テーブル（変換テーブル）を設計する際に、文書内の各々の属性値や要素値のデータ型をあらかじめ設定する必要があるため、設定されたデータ型の値の出現頻度に応じた符号化は可能であるが、出現する値によって動的にデータ型を変更することは不可能であった。これにより、符号化対象文書内の各要素や属性によって最適な符号化を行えるデータ型が異なる場合に、動的にデータ型を選択することができず、その結果、効率的な符号圧縮が行えないという課題を有していた。
【０００９】
従って、本発明は、符号化対象文書内の各要素値と属性値について、最も効率よく符号化を行えるデータ型を動的に選択し、符号化を行うことのできる文書データの符号化方法、符号化システム及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を実現するため本発明による文書データ符号化方法は、拡張可能なテキスト形式の構造型記述言語で記載された文書データを符号化する文書データ符号化方法において、前記文書データをパース処理し、文書構造の解析を行い、該文書データの要素値及び属性値を取得するステップと、同じ要素値及び属性値に対して異なる複数のデータ型を定義した符号化テーブルを用いて、前記要素値及び属性値に対して最適なデータ型を選択するステップと、前記符号化テーブルを用いて、前記要素値及び属性値を選択されたデータ型により符号化を行うステップとを含んでいる。
【００１１】
また、前記最適なデータ型を選択するステップは、前記符号化テーブルに明示的または暗黙的に定義された優先度に従い最適なデータ型を選択するステップであることも好ましい。
【００１２】
また、前記最適なデータ型を選択するステップは、異なる複数のデータ型で前記要素値及び属性値を符号化して最も圧縮率の高くなるデータ型を選択するステップであることも好ましい。
【００１３】
また、前記符号化を行うステップは、前記要素値及び属性値の符号に、前記選択されたデータ型を明記する符号を付加することも好ましい。
【００１４】
上記目的を実現するため本発明による文書データ符号化処理システムは、拡張可能なテキスト形式の構造型記述言語で記載された文書データを符号化する文書データ符号化処理システムにおいて、前記文書データをパース処理し、文書構造の解析を行い、該文書データの要素値及び属性値を取得する符号化対象文書パース機能と、同じ要素値及び属性値に対して異なる複数のデータ型を定義した符号化テーブルを用いて、前記要素値及び属性値に対して最適なデータ型を選択する最適データ型選択機能と、前記符号化テーブルを用いて、前記要素値及び属性値を選択されたデータ型により符号化を行う符号化機能とを備えている。
【００１５】
上記目的を実現するため本発明による文書データ符号化プログラムは、拡張可能なテキスト形式の構造型記述言語で記載された文書データを符号化する文書データ符号化プログラムにおいて、前記符号化対象文書パース機能が、前記文書データをパース処理し、文書構造の解析を行い、該文書データの要素値及び属性値を取得するステップと、同じ要素値及び属性値に対して異なる複数のデータ型を定義した符号化テーブルを用いて、前記最適データ型選択機能が、前記要素値及び属性値に対して最適なデータ型を選択するステップと、前記符号化機能が、前記符号化テーブルを用いて、前記要素値及び属性値を選択されたデータ型により符号化を行うステップとしてコンピュータを機能させる。
【発明の効果】
【００１６】
本発明によれば、符号化対象文書内に出現する同じ要素名、属性名に対応する値のデータ型が異なる場合であっても、要素名、属性名に対して最適なデータ型を動的に選択できるため、効率よく符号化を行うことが可能となり、符号圧縮率をより向上させることができる。このような符号化方法は、ＸＭＬ及びＳＧＭＬ準拠の全ての文書データの符号化に適用でき、複数種の記法による数列や数値と文字列が混在する値が多く含まれる文書データに対して特に効率的である。
【発明を実施するための最良の形態】
【００１７】
以下では、図面を用いて、本発明を実施するための最良の形態について詳述する。
【００１８】
図２は、本発明による文書データの符号処理方法である。図２によれば、文書データ１２は、複数の文書データ１２０及び１２１によって拡張されている。一方、変換テーブル１１も、拡張された文書データに対応して、複数の変換テーブル１１０及び１１１のリンク情報を定義している。これにより、ＸＭＬ形式の文書データ１２は、変換テーブル１１を用いて符号化１０される。
【００１９】
また、図２によれば、符号データは、変換テーブル２１を用いて、直接的に文書処理３０され、ブラウザ２４に表示される。本発明によれば、符号データには、要素の論理構造も含まれる。従って、文書データに復号する必要もなく、更にパーサ２３によって論理構造を解析する必要もない。
【００２０】
図３は、本発明の機能構成図である。機能構成は、大きく、符号化対象文書３１、符号化テーブル３２、符号化処理ソフト３３、符号化結果３４の４つに分かれ、本発明の主部は、符号化テーブル３２及び符号化処理ソフト３３である。以下に各々の説明を示す。
【００２１】
符号化対象文書３１は、ＸＭＬ、ＳＧＭＬの形式で記載された構造化文書であり、符号化を行う文書のことを指す。具体的な例として、拡張子が.html、.svgである文書データが該当する。
【００２２】
符号化テーブル３２は、拡張可能なテキスト形式の構造型記述言語で記載され、符号化を行う文書構造（スキーマ）毎に定義された符号化ルールである。これは、符号化対象文書毎に用意するものではなく、ＸＭＬ、ＳＧＭＬの形式毎に用意されている。この中で、出現可能性のある要素名、要素の親子関係、付随する属性名群、それらに対応する符号、各要素値、属性値のデータ型を定義している。
【００２３】
符号化処理ソフト３３は、符号化対象文書３１と符号化テーブル３２を読み込み、符号化処理を行う機能を持つ。本ソフトの機能構成は、符号化対象文書読込機能３３１、符号化対象文書パース機能３３２、符号化テーブル読込機能３３３、最適データ型選択機能３３４、符号化機能３３５、符号化結果出力機能３３６の６つに分かれる。以下に各々の説明を示す。
【００２４】
符号化対象文書読込機能３３１は、ＸＭＬ、ＳＧＭＬ形式の符号化対象文書を読み込む機能を持つ。
【００２５】
符号化対象文書パース機能３３２は、読み込まれた符号化対象文書をパース処理する。つまり、文書構造の解析を行い、テキストの文字列をツリー構造に変換し、符号化対象文書の要素名、属性名、要素値、属性値を取得する。
【００２６】
符号化テーブル読込機能３３３は、符号化対象の各要素及び属性について、対応する符号化テーブルを読み込む機能を持つ。
【００２７】
最適データ型選択機能３３４は、符号化対象の要素値及び属性値について、対応する複数のデータ型から最適な符号化型を選択する機能を持つ。
【００２８】
符号化機能３３５は、符号化対象の要素値及び属性値について、選択したデータ型に基づき符号化処理を行う機能を持つ。さらに、符号化対象の要素名及び属性名についても、符号化処理を行う機能を持つ。
【００２９】
符号化結果出力機能３３６は、符号化結果を出力する機能を持つ。
【００３０】
符号化結果３４は、符号化結果のデータのことである。
【００３１】
図４は、本発明によるに符号化処理のフローチャートである。
（Ｓ４１）符号化対象文書読込機能３３１が、ＸＭＬ、ＳＧＭＬ形式の符号化対象文書を読み込む。
（Ｓ４２）符号化対象文書パース機能３３２が、符号化対象文書のパース処理を行う。
（Ｓ４３）符号化テーブル読込機能３３３が、符号化対象の各要素及び属性について、対応する符号化テーブルを読み込む。
（Ｓ４４１）符号化機能３３５が、要素名及び属性名の文書構造に関する情報を符号化する。ここの符号化は従来技術、例えば特許文献２の方法により符号化を行う。
（Ｓ４４２）最適データ型選択機能３３４が、最適な符号化型を選択する。ここで、符号化テーブルに定義されている各要素値、属性値に対応する複数のデータ型から最適なデータ型を選択する際には、符号化対象の要素値、属性値の値を参照し、最も符号化圧縮率が高くなるデータ型を選択する。例えば、すべてのデータ型で符号化を行い、最も圧縮率が高いデータ型を選択することも考えられる。さらに、符号化テーブルに定義されている暗黙、もしくは明記された優先順位に基づきデータ型を選択を行うことも考えられる。その後、符号化機能３３５が、選択したデータ型に基づき要素値、属性値を符号化する。
（Ｓ４５）符号化結果出力機能３３６が、符号化対象文章内の全ての要素、属性について符号化を行った結果を出力する。
【００３２】
図５は、符号化対象文書のサンプルである。以下では、この文書を例にとって本発明の処理を説明する。図６は、図５の符号化対象文書に対応した符号化テーブルの一例であり、ＸＭＬで記述されている。
【００３３】
本符号化テーブルの１行目には要素値と要素値、または属性値と属性値を区切るセパレータとして、","が定義されている。これによって要素値、または属性値を分割して符号化することができる。また、本例では、１つの属性（points属性）及び１つ要素（sample要素）で、整数型、固定小数点型、文字列型の３つの異なるデータ型（int,fixedpoint,char）を持つパターンの符号化テーブルを示している。また、この例では、上に記述されているデータ型が優先度高と、暗黙的に解釈される。つまり整数型の優先度が最も高く、次に固定小数点型であり、文字列型の優先度が最も低くなる。なお、これは一例であり、優先度を明記する符号化テーブルも考えられる。
【００３４】
ここで、points_int,points_fixedpoint,points_charはそれぞれ、属性名pointsと整数型、固定小数点型、文字列型のデータ型種別を組み合わせた記法の一例である。
【００３５】
図５の符号化対象文書では、符号化対象要素として、４つのsample要素が記述されており、上の３つのsample要素は、points属性が異なる記法で記述されている。符号化処理ソフト３３は、この符号化対象要素のパース処理を行った後、各要素の要素値及び各属性の属性値の符号化に適した符号化テーブルを選択する。本例では、符号化対象の各要素及び属性はそれぞれ、sample及びpointsであるため、対応する符号化テーブルとして、図６に示した符号化テーブルが選択され、読み込まれる。
【００３６】
図５の１番目のpoints属性は、図６の符号化テーブルで定義されたセパレータ","で値を分割することができ、各々の値は、全て整数型の数値として表現されていることが分かる。そこでこの属性については、整数型で符号化を行った場合が最も圧縮率が高くなると判断されるため、整数型で符号化を行う。
【００３７】
図５の２番目のpoints属性は、図６の符号化テーブルで定義されたセパレータ","で値を分割することができ、各々の値は、全て固定小数点型の数値として表現されていることが分かる。そこでこの属性については、固定小数点型で符号化を行った場合が最も圧縮率が高くなると判断されるため、固定小数点型で符号化を行う。
【００３８】
図５の３番目のpoints属性は、図６の符号化テーブルで定義されたセパレータで値を分割することができず、ひとつの文字列として表現されていると解釈できる。つまり、整数型、固定小数点の何れでもないため、この属性については、文字列型で符号化を行う。
【００３９】
図５の４番目のsample要素は、図６の符号化テーブルで定義されたセパレータ","で値を分割することができ、各々の値は、全て整数型の数値として表現されていることが分かる。そこでこの要素については、整数型で符号化を行った場合が最も圧縮率が高くなると判断されるため、整数型で符号化を行う。
【００４０】
このように、同じ属性名に対応する属性値であっても文書によって値の特性が異なる場合がある。本発明では複数のデータ型を符号化テーブルに定義することにより、従来不可能であった、その値の特性を識別することにより、動的にデータ型を選択して符号化を行い、符号圧縮率を向上させることが可能になる。
【００４１】
図７は、図５の符号化対象文書を図６の符号化テーブルで符号化した結果である。この結果は本発明に関係する部分についてのみ記載されており、実際の符号化結果には、復号を行うときに必要となるデータも含まれる。この図の中で、図７（ａ）は図５の１番目のpoints属性の符号化を、図７（ｂ）は図５の２番目のpoints属性の符号化を、図７（ｃ）は図５の３番目のpoints属性の符号化を、図７（ｄ）は図５の４番目のsample要素の符号化を、それぞれ示している。
【００４２】
図７の［１］は、それぞれの要素の開始を示している符号である。本例では、図５の各行を個別に符号化しているためすべて同じ値になっている。図７の［２］は、要素の名称を示す符号で、図６の１行目に記載されているように要素sampleは、“００００００００”に符号化される。
【００４３】
図７の［３］は、属性値、要素値存在判定フラグであり、最適データ型選択機能３３４により選択されたpoints属性値またはsample要素値の属性を示している。図７（ａ）［３］の“１０００００”は、整数型のpoints属性値が存在することを示しており、図７（ｂ）［３］の“０１００００”は、固定小数点型のpoints属性値が存在することを示しており、図７（ｃ）［３］の“００１０００”は、文字列型のpoints属性値が存在することを示しており、図７（ｄ）［３］の“０００１００”は、整数型のsample要素値が存在することを示している。このように本例では、上位３ビットで属性値のデータ型を示し、下位３ビットで要素値のデータ型を示しており、さらにその中で、符号化テーブルに定義されたデータ型順に、各データ型を１ビットに割り当てたビット列によってデータ型の存在を示している。
【００４４】
この後の図７の［４］において、それぞれの属性値、要素値を対応するデータ型で符号化した結果が格納される。
【００４５】
なお、このような本発明によるプログラムは、符号化サーバ上で実行させることができる。本形態ではＸＭＬ形式の文書データを有するサーバは、符号化サーバにＸＭＬ形式の文書データを送信し、符号化サーバが符号化を行い、符号化した結果をクライアントに送信する。この場合、既存のサーバに変更を加えることなく、符号化サーバをプロキシサーバとして利用することができる。
【００４６】
また、本プログラムを既存のサーバで実行させることもできる。本形態ではＸＭＬ形式の文書データは、既存のサーバ上で符号化され、クライアントに送信される。この場合、クライアントに変更を加えることがなく利用することができる。
【００４７】
また、本発明によるプログラムは、サーバ上で動作させることに限定されない。クライアントで動作させることにより、クライアント内に保存されたＸＭＬ、ＳＧＭＬ形式の文書データを圧縮することができる。
【００４８】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様及び変更態様で実施することができる。従って本発明の範囲は特許請求の範囲及びその均等範囲によってのみ規定されるものである。
【図面の簡単な説明】
【００４９】
【図１】符号化サーバを含むシステム構成図である。
【図２】本発明における文書データの符号処理方法である。
【図３】本発明の機能構成図である。
【図４】本発明によるに符号化処理のフローチャートである。
【図５】符号化対象文書のサンプルである。
【図６】図５の符号化対象文書に対応した符号化テーブルの一例である。
【図７】図５の符号化対象文書を図６の符号化テーブルで符号化した結果である。
【符号の説明】
【００５０】
１０ 符号化
１１、２１、１１０、１１１、２１０、２１１ 変換テーブル
１２、２２、１２０、１２１ テキスト形式の文書データ
２３ パーサ
２４ ブラウザの表示画面
３０ 文書処理  
４   既存のサーバ
５   クライアント
６   符号データ
７   変換テーブルサーバ
８   インターネット
３１  符号化対象文書
３２  符号化テーブル
３３  符号化処理ソフト
３４  符号化結果
３３１  符号化対象文書読込機能
３３２  符号化対象文書パース機能
３３３  符号化テーブル読込機能
３３４  最適データ型選択機能
３３５  符号化機能
３３６  符号化結果出力機能
【図１】
2008287412.tif 000003
【図２】
2008287412.tif 000004
【図３】
2008287412.tif 000005
【図４】
2008287412.tif 000006
【図５】
2008287412.tif 000007
【図６】
2008287412.tif 000008
【図７】
2008287412.tif 000009