(57)【要約】【課題】情報処理装置と端末との間で送受信されるテキストのデータを効率的に圧縮する。【解決手段】送信装置において実行される符号化方法であって、受信装置に送信するテキストデータを分割し、文字列を生成するステップと、生成された前記文字列の各々が、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書に登録されているか否かを判断するステップと、前記文字列が前記辞書に登録されていると判断された場合、該文字列に対応付けられている前記インデックスの値を基に、前記文字列を符号化し、第１の符号化データを生成するステップと、を有する符号化方法が提供される。【選択図】図２
2017204050.tif 000002
【特許請求の範囲】
【請求項１】
送信装置において実行される符号化方法であって、
受信装置に送信するテキストデータを分割し、文字列を生成するステップと、
生成された前記文字列の各々が、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書に登録されているか否かを判断するステップと、
前記文字列が前記辞書に登録されていると判断された場合、該文字列に対応付けられている前記インデックスの値を基に、前記文字列を符号化し、第１の符号化データを生成するステップと、を有する符号化方法。
【請求項２】
生成された前記第１の符号化データは、前記辞書を用いて符号化されたか否かを示す特定領域と、前記文字列に対応付けられている前記インデックスの値が設定されるインデックス領域とを有する、ことを特徴とする請求項１に記載の符号化方法。
【請求項３】
前記文字列が前記辞書に登録されていないと判断された場合、第２の符号化データを生成するステップを有し、
前記第２の符号化データは、前記特定領域と、前記文字列の長さを示す長さ領域と、前記文字列を格納する領域とを有する、ことを特徴とする請求項２に記載の符号化方法。
【請求項４】
前記テキストデータの中で前記文字列が出現する順番を基に、前記第１の符号化データと前記第２の符号化データを結合し、結合された符号化データを、前記受信装置に送信するステップと、を有する請求項３に記載の符号化方法。
【請求項５】
前記辞書には、前記インデックス領域に設定可能な種類以下の数の文字列がインデックスの値と対応付けられて記憶されている、ことを特徴とする請求項２乃至４のいずれか一項に記載の符号化方法。
【請求項６】
送信する前記テキストデータの分野に対応する複数の辞書が設けられており、
前記テキストデータの分野に対応する辞書を基に、前記文字列から前記第１の符号化データが生成され、
前記第１の符号化データは、符号化に用いた前記辞書を特定する情報を含む、ことを特徴とする請求項１乃至５のいずれか一項に記載の符号化方法。
【請求項７】
前記第１の符号化データの生成に用いられる前記辞書は、前記テキストデータに対応付けられているサービスを基に選択される、ことを特徴とする請求項６に記載の符号化方法。
【請求項８】
前記分野のテキストデータを基に、文字列が出現する頻度を算出するステップと、
算出された前記文字列の出現する頻度に基づいて、前記辞書に登録する文字列を決定するステップと、を有する請求項６又は７に記載の符号化方法。
【請求項９】
文字列の長さが長い程、優先的に前記辞書に登録することを決定する、ことを特徴とする請求項８に記載の符号化方法。
【請求項１０】
前記辞書を前記受信装置と共有するステップと、
前記辞書に登録される文字列を所定の頻度で更新するステップと、
更新された文字列と、該文字列に対応付けられた前記インデックスの値とを、前記受信装置に通知するステップと、を有する、請求項１乃至９のいずれか一項に記載の符号化方法。
【請求項１１】
受信装置において実行される復号化方法であって、
送信装置から符号化されたテキストデータである符号化データを受信するステップと、
前記符号化データの中で、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書を用いて符号化されている第１の符号化データの部分を判断するステップと、
前記辞書を基に、前記第１の符号化データを文字列に復号化するステップと、を有する復号化方法。
【請求項１２】
前記第１の符号化データは、前記辞書を用いて符号化されたか否かを示す特定領域と、前記文字列に対応付けられている前記インデックスの値が設定されるインデックス領域とを有する、ことを特徴とする請求項１１に記載の復号化方法。
【請求項１３】
前記符号化データの中で、前記辞書を用いて符号化されていない第２の符号化データの部分を判断するステップと、
前記第２の符号化データを、文字列に復号化するステップと、を有し、
前記第２の符号化データは、前記特定領域と、前記文字列の長さを示す長さ領域と、前記文字列を格納する領域とを有する、ことを特徴とする請求項１２に記載の復号化方法。
【請求項１４】
前記符号化データの中で、前記第１の符号化データ、及び前記第２の符号化データが出現する順番を基に、前記第１の符号化データから復号化された文字列と、前記第２の符号化データから復号化された文字列とを結合し、元のテキストデータを生成するステップと、を有する請求項１３に記載の復号化方法。
【請求項１５】
受信装置に送信するテキストデータを分割し、文字列を生成する生成部と、
生成された前記文字列の各々が、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書に登録されているか否かを判断する判断部と、
前記文字列が前記辞書に登録されていると判断された場合、該文字列に対応付けられている前記インデックスの値を基に、前記文字列を符号化し、第１の符号化データを生成する符号化部と、を有する送信装置。
【請求項１６】
送信装置から符号化されたテキストデータである符号化データを受信する受信部と、
前記符号化データの中で、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書を用いて符号化されている第１の符号化データの部分を判断する判断部と、
前記辞書を基に、前記第１の符号化データを文字列に復号化する復号化部と、を有する受信装置。
【請求項１７】
受信装置に送信するテキストデータを分割し、文字列を生成するステップと、
生成された前記文字列の各々が、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書に登録されているか否かを判断するステップと、
前記文字列が前記辞書に登録されていると判断された場合、該文字列に対応付けられている前記インデックスの値を基に、前記文字列を符号化し、第１の符号化データを生成するステップと、をコンピュータに実行させるプログラム。
【請求項１８】
送信装置から符号化されたテキストデータである符号化データを受信するステップと、
前記符号化データの中で、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書を用いて符号化されている第１の符号化データの部分を判断するステップと、
前記辞書を基に、前記第１の符号化データを文字列に復号化するステップと、をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化方法、復号化方法、送信装置、受信装置、及びプログラムに関する。
【背景技術】
【０００２】
単語辞書を有する情報処理装置が広く利用されている（例えば、特許文献１）。単語辞書には、単語番号と単語とが対応付けられて記憶されており、情報処理装置は、漢字変換等のテキスト変換を、単語辞書を用いて実行する。この場合、使用頻度の高い単語等の文字列を辞書に登録することにより、情報処理装置は、テキストを効率的に圧縮して記憶することが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１６３４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、メールやＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ）のメッセージ、及びニュース等の配信により、情報処理装置と端末との間で送受信するテキストのデータ量が増加している。メッセージやニュース等では同じ文字列が繰り返し使用されているのにも関わらず、文字列の使用頻度等に着目して、テキストデータを効率的に圧縮して情報処理装置と端末との間で送受信することは行われていなかった。
【０００５】
本発明は、上記の課題に鑑みてされたものであって、情報処理装置と端末との間で送受信されるテキストのデータを効率的に圧縮することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様では、送信装置において実行される符号化方法であって、受信装置に送信するテキストデータを分割し、文字列を生成するステップと、生成された前記文字列の各々が、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書に登録されているか否かを判断するステップと、前記文字列が前記辞書に登録されていると判断された場合、該文字列に対応付けられている前記インデックスの値を基に、前記文字列を符号化し、第１の符号化データを生成するステップと、を有する符号化方法が提供される。
【発明の効果】
【０００７】
情報処理装置と端末との間で送受信されるテキストのデータを効率的に圧縮することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係るシステム構成の一例を示す図である。
【図２】本発明の一実施形態に係る符号化処理、及び復号化処理の一例を示す図である。
【図３】本発明の一実施形態に係る情報処理装置のハードウエア構成の一例を示す図である。
【図４】本発明の一実施形態に係る端末のハードウエア構成の一例を示す図である。
【図５】本発明の一実施形態に係る情報処理装置の機能構成の一例を示す図である。
【図６】本発明の一実施形態に係る辞書データ格納部に記憶されるデータの一例を示す図である。
【図７】本発明の一実施形態に係る端末の機能構成の一例を示す図である。
【図８】本発明の一実施形態に係る動作フロー（辞書の生成）の一例を示す図である。
【図９】本発明の一実施形態に係る動作フロー（辞書の更新）の一例を示す図である。
【図１０】本発明の一実施形態に係る動作フロー（符号化の処理）の一例を示す図である。
【図１１】本発明の一実施形態に係る動作フロー（復号化の処理）の一例を示す図である。
【図１２】本発明の変形例に係る辞書の一例を示す図である。
【図１３】本発明の変形例に係る符号化及び復号化の処理の一例を示す図である。
【発明を実施するための形態】
【０００９】
＜システム構成＞
図１は、第１の実施形態に係る情報処理システム１のシステム構成を示す図である。情報処理システム１は、情報処理装置１０と、端末２０とを有する。情報処理装置１０と端末２０とはネットワーク２を介して接続される。ネットワーク２は、有線のネットワークと、無線のネットワークとを含む。
【００１０】
情報処理装置１０は、例えばサーバにより実現される。情報処理装置１０は、テキストデータを含む信号を、端末２０に送信する。テキストデータを含む信号とは、例えば、情報処理装置１０で提供するニュース配信サービスの信号や、情報処理装置１０で提供するＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ）のメッセンジャーのメニューで送受信されるメッセージの信号である。
【００１１】
端末２０は、スマートフォン、タブレット端末、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、携帯電話機、ゲーム用コンソール、タッチパッド、電子書籍リーダ、又はウェアラブル端末等である。
【００１２】
情報処理装置１０と端末２０とは、共通の辞書を記憶している。情報処理装置１０は、辞書を用いてテキストデータを符号化する。端末２０は、辞書を用いてテキストデータを復号化する。
【００１３】
＜符号化処理、及び復号化処理＞
次に、図２を用いて、情報処理装置１０による符号化の処理と、端末２０による復号化の処理とを説明する。
【００１４】
図２の（Ａ）では、テキストデータ「三浦選手が今期初ゴールを決めました。」が、図２の（Ｂ）の辞書を用いて符号化される様子を示している。
【００１５】
ステップＳ１で、情報処理装置１０は、テキストデータ「三浦選手が今期初ゴールを決めました。」を、「三浦選手」、「が今期初」、「ゴール」、「を決め」、「ました。」に分割する。情報処理装置１０は、例えば「ＭｅＣａｂ」や「Ｋｕｒｏｍｏｊｉ」等の形態素解析エンジンを用いてテキストデータを分割し、文字列を生成する。
【００１６】
ステップＳ２で、情報処理装置１０は、辞書を参照し、文字列が辞書に登録されているか否かを判断する。この場合、情報処理装置１０は、文字列「三浦選手」が辞書のＩｎｄｅｘ「１」に登録され、文字列「ゴール」が辞書のＩｎｄｅｘ「２」に登録され、文字列「ました。」が辞書のＩｎｄｅｘ「３」に登録されていると判断する。また、情報処理装置１０は、「が今期初」及び「を決め」が辞書に登録されていないと判断する。
【００１７】
ステップＳ３で、情報処理装置１０は、文字列の各々に対して、テキストデータ内において文字列が出現する順番で、符号化の処理を実行する。
【００１８】
辞書に登録されている文字列については、符号化の結果、符号化方法の特定領域３（以下、特定領域３）及びＩｎｄｅｘ領域４を有する第１の符号化データが生成される。特定領域３には、辞書に基づいて符号化データが生成されたことを示す「１」が設定される。Ｉｎｄｅｘ領域４には、辞書のＩｎｄｅｘ番号（１〜３）が設定される。
【００１９】
辞書に登録されていない文字列については、符号化の結果、特定領域３、符号化された文字列の長さを示す長さ領域５、及びＵＴＦ−８等で符号化された文字列のデータが格納されるペイロード領域６を有する第２の符号化データが生成される。
【００２０】
情報処理装置１０は、第１の符号化データ及び第２の符号化データを、生成された順番に結合し、符号化テキストデータ７を生成する。
【００２１】
図２の例では、特定領域３は１ｂｙｔｅ、Ｉｎｄｅｘ領域４は２ｂｙｔｅ、及び長さ領域５は２ｂｙｔｅで設定されている例を示している。また、辞書に登録されていない文字列については、ＵＴＦ−８（８−ｂｉｔ  ＵＣＳ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ  Ｆｏｒｍａｔ）等を用いて１文字当り３ｂｙｔｅで符号化される例を示している。
【００２２】
生成された第１の符号化データは、３ｂｙｔｅの長さの符号化データになる。生成された第２の符号化データは、「１ｂｙｔｅ（特定領域３）＋２ｂｙｔｅ（長さ領域５）＋ペイロード領域６のｂｙｔｅ数」の長さの符号化データとなる。図２の処理の結果、１６文字から成るテキストデータ「三浦選手が今期初ゴールを決めました。」は、３６ｂｙｔｅに符号化される。辞書を用いずにＵＴＦ−８で符号化した場合のテキストの長さは、４８ｂｙｔｅのため、２５％の圧縮が可能となる。
【００２３】
端末２０は、符号化テキストデータ７を受信すると、辞書を用いて復号化の処理を実行する。復号化の処理では、端末２０は、ステップＳ１〜Ｓ３の符号化の処理を逆の順番で実行する。
【００２４】
端末２０は、符号化テキストデータ７を先頭から分割し、第１の符号化データ及び第２の符号化データを抽出する。特定領域３に「１」が設定されている場合、端末２０は、特定領域３の１ｂｙｔｅと後続の２ｂｙｔｅ（Ｉｎｄｅｘ領域４）とに対応する部分を、第１の符号化データと判断する。特定領域３に「０」が設定されている場合、端末２０は、特定領域３の後続の長さ領域５に設定されている値からペイロード領域６の長さを判断する。そして、端末２０は、特定領域３の１ｂｙｔｅと、長さ領域５の２ｂｙｔｅと、長さ領域５に設定されているペイロード領域６の長さとに対応する部分を、第２の符号化データと判断する。
【００２５】
次に、端末２０は、第１の符号化データ及び第２の符号化データを復号し元のテキストデータを生成する。第１の符号化データについて、端末２０は、辞書を参照し、Ｉｎｄｅｘ領域４に設定されている値から、対応文字列を特定する。例えば、Ｉｎｄｅｘ領域４に設定されている値が「１」の場合、端末２０は、対応する文字列は、「三浦選手」と特定する。端末２０は、特定された文字列に対応するＵＴＦ−８等により符号化されたデータを生成する。
【００２６】
第２の符号化データについて、端末２０は、ペイロード領域６以外の領域、つまり特定領域３と長さ領域４とを削除する。ペイロード領域６には、ＵＴＦ−８等により符号化されたデータが格納されている。
【００２７】
端末２０は、第１の符号化データ、及び第２の符号化データが符号化テキストデータの中で出現する順番を基に、復号された各々の文字列を統合し、元のテキストデータ「三浦選手が今期初ゴールを決めました。」に復号する。
【００２８】
上述した符号化及び復号化方法では、Ｉｎｄｅｘ領域４は２ｂｙｔｅであるため、Ｉｎｄｅｘ領域に設定可能な値は０乃至６５，５３５（２１６−１）である。つまり、辞書に登録可能な文字列の種類は、最大６５，５３６（２１６）種類である。情報処理装置１０は、テキストデータを収集し、テキストデータ内で出現する頻度の高い文字列を優先して辞書に登録する。また、情報処理装置１０は、出現する頻度と、文字列の長さとに所定の重み付けを行い、重み付けの結果を基に、辞書に登録する文字列を決定してもよい。長い文字列を辞書に登録した方が、圧縮率が高まるため、情報処理装置１０は、長い文字列を優先的に辞書に登録することが好ましい。
【００２９】
新たにＩｎｄｅｘを付与して辞書に登録できない場合、情報処理装置１０は、既に辞書に登録されている文字列を削除し、削除した文字列に割り当てられていたＩｎｄｅｘを新たに登録される文字列に割り当ててもよい。例えば、情報処理装置１０は、所定のタイミングでテキストデータを収集し、辞書に登録されている文字列であって、出現する頻度が低下している文字列を辞書から削除し、辞書に登録されていない文字列であって、出現する頻度が上昇している文字列を辞書に追加してもよい。
【００３０】
辞書に登録される文字列の数、及びＩｎｄｅｘ領域４の長さは、一例であって、変更可能なことは勿論である。辞書に登録される文字列の数とＩｎｄｅｘ領域４の長さとは相関関係を有する。つまり、辞書に登録される文字列の数が増える程、Ｉｎｄｅｘ領域４のサイズが大きくなる。このため、圧縮効果が大きくなるように、辞書に登録される文字列の数、及びＩｎｄｅｘ領域４の長さを設定することが好ましい。
【００３１】
上述した符号化及び復号化方法では、一つの辞書が用いられる場合について説明したが、辞書は、符号化を行うテキストデータの分野毎に設けられてもよい。ここで、テキストデータの分野とは、例えば、政治ニュース、経済ニュース、スポーツニュース、及びチャットメッセージ等である。この場合、辞書の種別を特定するために、特定領域３に符号化に用いた辞書の種類を特定する値を設定してもよい。上述した実施形態の場合、特定領域３は、１ｂｙｔｅであるため、特定領域に設定可能な値は０乃至２５５（２８−１）種類である。辞書を用いない場合に特定領域３に「０」を設定する場合、「１」乃至「２５５」の値で符号化に用いられている辞書の種類を特定してもよい。この場合、分野毎の辞書を最大「２５５」種類使用することが可能となる。また、情報処理装置１０は、文字列毎に使用する辞書を変更してもよい。
【００３２】
上述した符号化及び復号化の処理の方法では、符号化されたテキストデータを含む信号を、情報処理装置１０から端末２０に送信する場合について説明したが、符号化されたテキストデータを含む信号を、端末２０から情報処理装置１０に送信してもよいし、一の端末２０から他の端末２０に情報処理装置１０を介して送信してもよい。例えば、ＳＮＳのメッセンジャーを使用するときに、端末２０は、ユーザから入力を受け付けたテキストを符号化するときに、辞書を用いて符号化をし、符号化されたデータを受信した端末２０は、辞書を用いて符号化されたデータを復号化してもよい。
【００３３】
上述した符号化及び復号化の処理の方法では、辞書には、Ｉｎｄｅｘと文字列とが対応付けられて記憶されているが、Ｉｎｄｅｘと対応付けられるのは文字列に限定されない。例えば、Ｉｎｄｅｘは、スタンプ、静止画、及び動画等のコンテンツと対応付けられてもよい。なお、辞書を送信側の装置と受信側の装置とで共有する必要があるため、共有に係る通信量が少ないコンテンツ、例えば、アプリケーションに予め設定されているスタンプ等が、辞書に登録されることが好ましい。
【００３４】
これにより、情報処理装置１０と端末２０との間で送受信されるテキストデータを含む信号のデータサイズを削減することが可能となる。また、信号のデータサイズを削減することにより、情報処理装置１０及び端末２０の間で、信号を送受信する時間を短縮することが可能となるため、結果として、端末２０が受信したテキストデータを表示するまでの時間の短縮を図ることが可能となる。
【００３５】
＜ハードウエア構成＞
次に、情報処理システム１に含まれる各装置のハードウエア構成について説明する。
【００３６】
（１）情報処理装置
情報処理装置１０は、一般的なコンピュータの構成有している。
図３は、本実施形態に係るコンピュータのハードウエア構成の一例を示す図である。図４において、コンピュータ３００は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０３、ストレージ装置３０４、入力装置３０５、表示装置３０６、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０７、及び外部Ｉ／Ｆ３０８を有し、ハードウエアの各構成要素は、バスＢを介して接続される。
【００３７】
ＣＰＵ３０１は、ＲＯＭ３０３やストレージ装置３０４等のメモリからプログラムやデータをＲＡＭ３０２上に読み出し、処理を実行することで、コンピュータ３００の制御や機能を実現する演算装置である。ＲＯＭ３０３は、コンピュータ３００の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の設定、及び各種設定等のプログラムやデータが格納されている。ＲＡＭ３０２は、プログラムやデータを一時保持する揮発性のメモリである。ストレージ装置３０４は、プログラムやデータを格納している大容量の記憶装置である。
【００３８】
入力装置３０５は、例えばキーボードやマウス等であり、ユーザが各種操作信号を入力するのに用いられる。表示装置３０６は、例えばディスプレイ等であり、コンピュータ３００による処理結果を表示する。なお、入力装置３０５又は／及び表示装置３０６は、必要なときに接続して利用する形態であってもよい。
【００３９】
通信Ｉ／Ｆ３０７は、コンピュータ３００をネットワーク２に接続するためのインタフェースである。外部Ｉ／Ｆ３０８は、外部装置とのインタフェースである。外部装置には、外部記憶媒体３０８ａ等がある。これにより、コンピュータ３００は外部Ｉ／Ｆ３０８を介して外部記憶媒体３０８ａの読み取り及び／又は書き込みを行うことができる。外部記憶媒体３０８ａには例えば、各種の光学ディスクや、各種のメモリカード等が含まれる。
【００４０】
ＣＰＵ３０１が、ＲＯＭ３０３等に格納されているプログラムを実行することにより、情報処理装置１０の各機能を実現することができる。
【００４１】
（２）端末
図４は、本実施形態における端末２０のハードウエア構成の一例を示す図である。
【００４２】
端末２０は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、記憶装置２０４、入出力装置２０５、通信Ｉ／Ｆ２０６、及びディスプレイ２０７（表示装置）を備える。なお、端末２０のハードウエアの各構成要素は、バスＢを介して相互に接続される。
【００４３】
記憶装置２０４は各種プログラムを記憶する。ＣＰＵ２０１は、記憶装置２０４に記憶された各種プログラムを実行するコンピュータである。
【００４４】
ＲＯＭ２０２は不揮発性メモリである。ＲＯＭ２０２は、記憶装置２０４に記憶された各種プログラムをＣＰＵ２０１が実行するために必要な各種プログラムやデータ等を記憶する。
【００４５】
ＲＡＭ２０３は、各種プログラムがＣＰＵ２０１によって実行される際に展開される作業領域として機能する。
【００４６】
入出力装置２０５は、端末２０に対する各種指示を入力する入力装置、及び端末２０で処理された処理結果を出力する出力装置の機能を含む。入出力装置２０５は、ディスプレイ２０７に接続される。本実施形態において、ディスプレイ２０７は、タッチ反応型ディスプレイ（タッチパネル）とすることができる。通信Ｉ／Ｆ２０６は、ネットワーク２を介して端末２０と情報処理装置１０との通信を行う。
【００４７】
ＣＰＵ２０１が、記憶装置２０４等に格納されているプログラムを実行することにより、端末２０の各機能を実現することができる。
【００４８】
＜機能構成＞
（１）情報処理装置の機能構成
図５を用いて情報処理装置１０の機能構成について説明する。情報処理装置１０は、送受信部１１０、配信情報取得部１２０、分割部１３０、判断部１４０、符号化部１５０、辞書選択部１６０、データ収集部１７０、辞書データ登録処理部１８０、及び制御部１８５を有する。これらの機能は、ＣＰＵ３０１がＲＯＭ３０３に格納された１以上のプログラムを読み出して、実行することにより実現される。
【００４９】
また、情報処理装置１０は、情報記憶部１９０を有し、情報記憶部１９０は、辞書データ格納部１９１、テキストデータ格納部１９２、配信データ格納部１９３、及び辞書データ配信状態格納部１９４を有する。情報記憶部１９０は、例えば、ストレージ装置３０４により実現される。
【００５０】
送受信部１１０は、端末２０との間で信号の送受信を行う。
【００５１】
配信情報取得部１２０は、配信データ格納部１９３から端末２０に送信すべき情報を取得する。送信すべき情報とは、端末２０のユーザ宛てのニュースやメッセージ等であり、これらの情報には、テキストデータが含まれる。
【００５２】
分割部１３０は、配信情報取得部１２０が取得した情報に含まれるテキストデータを分割し、所定の数の文字からなる文字列を生成する。
【００５３】
判断部１４０は、文字列が辞書に登録されているか否かを判断する。文字列が辞書に登録されている場合、判断部１４０は、辞書を用いて符号化を行うことを、符号化部１５０に指示する。
【００５４】
符号化部１５０は、文字列を符号化し、第１の符号化データ及び第２の符号化データを生成する。符号化部１５０は、第１の符号化データ及び第２の符号化データを、文字列のテキストデータの位置に基づいて結合し、符号化テキストデータを生成する。符号化部１５０は、符号化テキストデータを、送受信部１１０を介して、端末２０に送信する。
【００５５】
判断部１４０により辞書を用いて符号化を行うことが指示された文字列について、符号化部１５０は、辞書を参照し、第１の符号化データを生成する。この際に、符号化部１５０は、辞書選択部１６０から指定された辞書を参照して、第１の符号化データを生成する。
【００５６】
判断部１４０により辞書を用いて符号化を行うことが指示されなかった文字列について、符号化部１５０は、第２の符号化データを生成する。
【００５７】
辞書選択部１６０は、テキストデータ又は文字列を解析し、テキストデータ等の分野を特定する。そして、辞書選択部１６０は、該分野に対応する辞書を選択する。例えば、テキストデータ等に、特定の分野で用いられる用語が頻出する場合、辞書選択部１６０は、該分野の辞書を選択する。辞書を符号化部１５０に指定するときに、辞書選択部１６０は、各分野の辞書に割り当てられている辞書識別子を用いる。辞書識別子は、辞書データ格納部１９１に格納されている。なお、辞書選択部１６０は、ユーザの端末２０に記憶されている辞書の状態を管理する辞書データ配信状態格納部１９４を参照し、端末２０に記憶されている辞書を選択する。
【００５８】
辞書選択部１６０は、テキストデータに対応付けられているサービスから、辞書を選択してもよい。例えば、テキストデータが、ニュース配信サービスに対応付けられている場合、ニュースに関連する分野の辞書が選択される。例えば、テキストデータが、メッセンジャーに対応付けられている場合、メッセンジャーに関連する分野の辞書が選択される。
【００５９】
データ収集部１７０は、所定のタイミングで、分野ごとのテキストデータを収集し、収集したテキストデータをテキストデータ格納部１９２に記憶させる。
【００６０】
例えば、分野「政治ニュース」に関するテキストデータを収集する場合、データ収集部１７０は、政治ニュースに係るインターネット上の記事に含まれるテキストデータを収集する。例えば、分野「話題」に関するテキストデータを収集する場合、データ収集部１７０は、Ｔｗｉｔｔｅｒ(登録商標)等でユーザから発信されている情報に含まれるテキストデータを収集する。例えば、分野「メッセンジャー」に関するテキストデータを収集する場合、データ収集部１７０は、情報処理装置１０が提供するＳＮＳのメッセンジャーサービス上で送受信されるメッセージに含まれるテキストデータを収集する。なお、メッセージに含まれるテキストデータを収集する際には、データ収集部１７０は、所定のユーザから送信されているメッセージや、所定のグループ内で送受信されているメッセージを収集対象のテキストデータとしてもよい。
【００６１】
辞書データ登録処理部１８０は、収集されたテキストデータを基に、テキストデータ内に文字列が出現する頻度を算出する。辞書データ登録処理部１８０は、文字列が出現する頻度を基に、文字列とＩｎｄｅｘとを対応付けて辞書を生成する処理を実行する。生成された辞書は、辞書データ格納部１９１に記憶される。
【００６２】
辞書データ登録処理部１８０は、所定のタイミングで、辞書を更新する処理を実行する。
【００６３】
辞書データ登録処理部１８０は、生成した辞書を、端末２０に送信する。また、辞書が更新された場合、辞書データ登録処理部１８０は、更新された部分を更新データとして、端末２０に送信する。ここで、更新データは、辞書識別子、更新された部分に係るＩｎｄｅｘ、新たに登録された文字列、及び辞書のバージョン情報を含む。辞書データ登録処理部１８０は、端末２０に送信した辞書の状態を辞書データ配信状態格納部１９４に記憶させる。ここで、辞書のバージョン情報とは、辞書の更新の状態を特定するために用いる情報である。
【００６４】
制御部１８５は、情報処理装置１０の各種制御を実行する。例えば、情報処理装置１０が端末２０のユーザにＳＮＳやニュース配信等のサービスを提供する場合、制御部１８５は、サービス提供に係る各種制御を実行する。制御部１８５は、サービスを提供するときの辞書の生成／更新、テキストデータの符号化方法等について、他の機能ブロックに指示する。
【００６５】
情報記憶部１９０は、各種データを記憶する。
【００６６】
辞書データ格納部１９１には、辞書データと辞書識別子とが記憶される。図８を用いて辞書データ格納部１９１に記憶される情報について説明する。辞書データ格納部１９１には、辞書データ１９１Ａと、辞書特定テーブル１９１Ｂとが記憶されている。
【００６７】
辞書データ１９１Ａの一例を図６の（Ａ）に示す。辞書データ１９１Ａには、辞書識別子、生成／更新時刻、Ｉｎｄｅｘ、及び文字列が記憶されている。
【００６８】
辞書識別子は、分野ごとに生成された辞書を特定するための識別子である。生成／更新時刻は、辞書が生成された時刻又は更新されたが記憶される。文字列は登録されている文字列を表しており、文字列に対応するＩｎｄｅｘは、第１の符号化データを生成するときにＩｎｄｅｘ領域４に設定される値が記憶されている。
【００６９】
辞書特定テーブル１９１Ｂには、辞書の分野と辞書識別子とが対応付けられて記憶されている。
【００７０】
テキストデータ格納部１９２には、データ収集部１７０が収集したテキストデータが格納される。
【００７１】
配信データ格納部１９３には、端末２０に送信されるニュースや、メッセージ等が格納される。
【００７２】
辞書データ配信状態格納部１９４は、ユーザの端末２０に記憶されている辞書の状態が記憶される。例えば、辞書データ配信状態格納部１９４には、ユーザの識別子、端末２０の識別子、辞書の生成／更新時刻、及び辞書のバージョン情報等が対応付けられて記憶される。
【００７３】
（２）端末の機能構成
端末２０は、送受信部２１０、判断部２１５、復号化部２２０、結合部２３０、受付部２４０、表示制御部２５０、辞書データ管理部２６０、及び制御部２６５を有する。これらの機能は、ＣＰＵ２０１が、ＲＯＭ２０２に格納された１以上のプログラムを実行することにより実現される。
【００７４】
また、端末２０は、情報記憶部２７０を有する。情報記憶部２７０は、辞書データ格納部２７１を有する。情報記憶部２７０は、例えば、記憶装置２０４により実現される。
【００７５】
送受信部２１０は、情報処理装置１０との間で信号の送受信を行う。
【００７６】
判断部２１５は、符号化テキストデータを受信すると、第１の符号化データの部分と、第２の符号化データの部分とを判断し、判断結果を復号化部２２０に通知する。
【００７７】
復号化部２２０は、第１の符号化データ及び第２の符号化データを復号し、元の文字列に戻す処理を行う。第１の符号化データを復号する場合、復号化部２２０は、辞書を参照して、復号の処理を行う。第２の符号化データを復号する場合、復号化部２２０は、ペイロード領域６以外の領域を削除する処理を行う。
【００７８】
結合部２３０は、復号された文字列を結合してテキストデータを生成する。
【００７９】
受付部２４０は、端末２０のユーザからの各種指示を受け付ける。
【００８０】
表示制御部２５０は、端末２０の画面に復号されたテキストデータを表示する。
【００８１】
辞書データ管理部２６０は、情報処理装置１０から取得した辞書を、辞書データ格納部２７１に格納する。また、辞書の更新データを受信すると、辞書データ格納部２７１は、辞書データ格納部２７１に格納されている辞書の該当部分を更新する。
【００８２】
情報記憶部２７０は、各種データを記憶する。辞書データ格納部２７１は、辞書データ１９１Ａを記憶している。また、辞書データ格納部２７１は、辞書データ１９１Ａを辞書のバージョン情報等と対応付けて記憶している。
【００８３】
制御部２６５は、端末２０の各機能ブロックに関する制御を行う。例えば、情報処理装置１０からＳＮＳやニュース配信等のサービスの提供を受ける場合、制御部１８５は、サービスの提供を受けるための各種制御を実行する。
【００８４】
＜動作手順＞
次に、図８乃至図１１を用いて動作フローについて説明する。
【００８５】
（１）辞書生成の動作フロー
図８を用いて、情報処理装置１０による辞書を生成する動作フローについて説明する。
【００８６】
ステップＳ８０１で、データ収集部１７０は、所定の分野のテキストデータを収集し、収集したテキストデータを、結合したテキストデータである結合テキストデータを生成する。データ収集部１７０は、結合テキストデータを、テキストデータ格納部１９２に格納する。
【００８７】
ステップＳ８０２で、辞書データ登録処理部１８０は、結合テキストデータを分割して文字列を生成する。辞書データ登録処理部１８０は、生成された文字列の各々が結合テキストデータ内に出現する頻度を算出する。
【００８８】
ステップＳ８０３で、頻度と文字列の長さを基に設定される所定の条件を満たす文字列を抽出する。文字列の長さが長い程、圧縮の効果が上がるため辞書に登録することが好ましい。また、頻度が高い文字列であっても文字列に含まれる文字数が１文字の場合、圧縮の効果がないため、辞書に登録する必要がない。このため、辞書データ登録処理部１８０は、２文字以上の長さの文字列が所定の頻度以上で出現した場合に、辞書に登録する候補として抽出してもよい。
【００８９】
ステップＳ８０４で、辞書データ登録処理部１８０は、抽出された辞書に登録する候補の文字列の数が、Ｉｎｄｅｘを割り当てることが可能な数以下かを判断する。Ｉｎｄｅｘを割り当てることが可能な数は、例えば、Ｉｎｄｅｘ領域４が２ｂｙｔｅの場合、６５，５３６（２１６）である。Ｉｎｄｅｘを割り当てることが可能な数以下の場合（ステップＳ８０４  Ｙｅｓ）、ステップＳ８０６に進む。一方、Ｉｎｄｅｘを割り当てることが可能な数より多い場合（ステップＳ８０４  Ｎｏ）、ステップＳ８０５に進む。
【００９０】
ステップＳ８０５で、辞書データ登録処理部１８０は、抽出された文字列の絞り込み処理を実行する。例えば、辞書データ登録処理部１８０は、文字数が多い文字列程、優先的に登録することを決定してもよい。
【００９１】
ステップＳ８０６で、辞書データ登録処理部１８０は、文字列にＩｎｄｅｘを割り当てて、辞書を生成し、辞書データ格納部１９１に記憶させる。この際に、辞書データ登録処理部１８０は、生成された辞書に識別子を割り当てる。割り当てられた辞書データ識別子は、辞書特定テーブル１９１Ｂに、所定の分野と共に記憶される。
【００９２】
ステップＳ８０７で、辞書データ登録処理部１８０は、生成した辞書を、端末２０に送信する。
【００９３】
ステップＳ８０８で、端末２０から辞書を記憶した旨の応答を受信すると、辞書データ登録処理部１８０は、辞書データ配信状態格納部１９４に、送信した辞書の状態（辞書の識別子、辞書のバージョン）等を、送信先のユーザの識別子及び端末２０の識別子と共に記憶させる。
【００９４】
（２）辞書データの更新の動作フロー
次に、図９を用いて辞書の更新の動作フローについて説明する。
【００９５】
ステップＳ９０１乃至ステップＳ９０３の処理は、ステップＳ８０１乃至ステップＳ８０３と同じであるため説明を省略する。テキストデータの収集の処理は所定のタイミングで、分野毎に実行される。
【００９６】
ステップＳ９０４で、辞書データ登録処理部１８０は、抽出された文字列のうち、辞書に登録されていない文字列（第１の文字列）を特定する。
【００９７】
ステップＳ９０５で、辞書データ登録処理部１８０は、第１の文字列を追加で辞書に登録可能か否かを判断する。登録可能な場合（ステップＳ９０５  Ｙｅｓ）、ステップＳ９０６に進む。登録可能でない場合（ステップＳ９０５  Ｎｏ）、ステップＳ９０７に進む。
【００９８】
ステップＳ９０６で、辞書データ登録処理部１８０は、第１の文字列にＩｎｄｅｘを割り当てて辞書に登録する。
【００９９】
ステップＳ９０７で、辞書データ登録処理部１８０は、辞書に含まれる文字列で、結合テキストデータから抽出されなかった文字列（第２の文字列）を特定する。そして、辞書データ登録処理部１８０は、第２の文字列を辞書から削除し、第２の文字列に割り当てられているＩｎｄｅｘを第１の文字列に割り当てて辞書に登録する。つまり、辞書データ登録処理部１８０は、辞書に登録される文字列を入れ替える処理を実行する。なお、文字列を入れ替えるときに、辞書データ登録処理部１８０は、文字列の長さ、文字列の出現頻度の傾向（上昇傾向、下降傾向等）を考慮して、文字列を入れ替えるか否か判断してもよい。
【０１００】
ステップＳ９０８で、辞書データ登録処理部１８０は、更新データを、端末２０に送信する。
【０１０１】
ステップＳ９０９で、端末２０から更新データを記憶した旨の応答を受信すると、辞書データ登録処理部１８０は、辞書データ配信状態格納部１９４に、更新した辞書の状態（辞書の識別子、辞書のバージョン）等を、送信先のユーザの識別子及び端末２０の識別子と共に記憶させる。
【０１０２】
（３）符号化の動作フロー
次に、図１０を用いて、情報処理装置１０における、符号化の動作フローについて説明する。
【０１０３】
ステップＳ１００１で、配信情報取得部１２０は、配信データ格納部１９３から、端末２０に送信すべきテキストデータを取得する。
【０１０４】
ステップＳ１００２で、分割部１３０は、テキストデータを分割し、文字列を生成する。
【０１０５】
ステップＳ１００３で、辞書選択部１６０は、テキストデータ又は文字列の符号化に用いる辞書を選択する。
【０１０６】
ステップＳ１００４で、判断部１４０は、文字列の各々が辞書に登録されているか否かを判断する。辞書に登録されている場合（ステップＳ１００４  Ｙｅｓ）、ステップＳ１００５に進む。一方、辞書に登録されていない場合（ステップＳ１００４  Ｎｏ）、ステップＳ１００６に進む。
【０１０７】
ステップＳ１００５で、符号化部１５０は、辞書を用いて、文字列から第１の符号化データを生成する。
【０１０８】
ステップＳ１００６で、符号化部１５０は、文字列から第２の符号化データを生成する。
【０１０９】
ステップＳ１００７で、符号化部１５０は、第１の符号化データ及び第２の符号化データを、元の文字列の順番を基に結合し、符号化テキストデータを生成する。符号化部１５０は、符号化テキストデータを、端末２０に送信する。
【０１１０】
（４）復号化の動作フロー
次に、図１１を用いて、端末２０における、復号化の動作フローについて説明する。
【０１１１】
ステップＳ１１０１で、送受信部２１０が、符号化テキストデータを受信する。
【０１１２】
ステップＳ１１０２で、判断部２１５は、符号化テキストデータを解析し、第１の符号化データの部分と、第２の符号化データの部分とを判断する。第１の符号化データと判断された部分の処理を実行する場合、ステップＳ１１０３に進む。第２の符号化データと判断された部分の処理を実行する場合、ステップＳ１１０４に進む。
【０１１３】
ステップＳ１１０３で、復号化部２２０は、辞書を用いて、第１の符号化データを復号し、元の文字列に戻す処理を実行する。
【０１１４】
ステップＳ１１０４で、復号化部２２０は、第２の符号化データを復号し、元の文字列に戻す処理を実行する。
【０１１５】
ステップＳ１１０５で、結合部２３０は、復号された文字列を結合し、テキストデータを生成する処理を実行する。
【０１１６】
ステップＳ１１０６で、表示制御部２５０は、テキストデータを画面に表示する。
【０１１７】
［変形例］
（１）辞書の生成処理
図１２を用いて、変形例に係る辞書の生成の処理について説明する。
【０１１８】
上述した実施形態では、分野毎に辞書を生成及び更新する場合について説明したが、情報処理装置１０は、図１２の（Ａ）に示すようにユーザの用途に応じて個別の辞書を生成してもよい。図１２の（Ａ）では、情報処理装置１０が、ユーザ毎にＳＮＳのメッセンジャー用の辞書を生成し、記憶する様子を示している。この場合、生成されたメッセンジャー用の辞書は、情報処理装置１０とユーザの端末との間で共有され、符号化及び復号化の処理に使用される。ユーザ毎のメッセンジャー用の辞書は、ユーザがメッセンジャーで送信するテキストデータも基に生成される。
【０１１９】
また、情報処理装置１０は、図１２の（Ｂ）に示すように複数のユーザを含むグループの辞書を生成してもよい。グループの辞書は、グループに属するユーザの端末２０、及び情報処理装置１０により共有され、グループに属するユーザの端末２０の間で送受信されるメッセージの符号化及び復号化処理に、使用される。
【０１２０】
グループの辞書は、グループ間で送受信されるメッセージに含まれるテキストデータを基に生成されてもよいし、ユーザ毎のメッセンジャー用の辞書を統合してもよい。
【０１２１】
統合する対象となる辞書に登録されている文字数の種類の合計が、辞書に記憶可能な文字列の種類の数（例えば、６５，５３６（２１６）種類）を超えるおそれがある。この場合、文字列が出現する頻度や、文字列の長さを基に、辞書に登録する文字列を調整する。これによりグループ間で送受信されるメッセージの圧縮率を高めることが可能となる。
【０１２２】
辞書を統合することにより、圧縮率を高めることが可能であるが、辞書の相互参照により圧縮率を高めることも可能である。例えば、ユーザＡがユーザＢとの間でメッセージを送受信する場合、情報処理装置１０、端末２０Ａ、及び端末２０Ｂは、ユーザＡのメッセンジャー用の辞書と、ユーザＢのメッセンジャー用の辞書とを相互に参照して、符号化及び復号化の処理を実行してもよい。これにより、文字列を、辞書を用いて符号化できる可能性が高くなり、圧縮率を高めることが可能となる。
【０１２３】
（２）端末における符号化の処理、及び情報処理装置における復号化の処理
上述した実施形態では、情報処理装置１０にて符号化の処理を行い、端末２０にて、符号化テキストデータを受信し、復号化の処理を行う場合について説明したが、端末２０で符号化の処理を行い、情報処理装置１０で、符号化テキストデータを受信し復号化の処理を実行してもよい。この場合、端末２０に、分割部１３０、判断部１４０及び符号化部１５０、及び辞書選択部１６０と同じ機能が配備され、情報処理装置１０に、判断部２１５、復号化部２２０、及び結合部２３０と同じ機能が配備される。
【０１２４】
次に、図１３を用いて、変形例に係る符号化及び復号化の処理について説明する。
【０１２５】
ユーザＡの端末２０Ａと、ユーザＢの端末２０Ｂとの間で同じ辞書を共有している場合、図１３の（Ａ）に示すように、第１の符号化データ及び第２の符号化データに符号化された符号化テキストデータは、端末２０Ａから端末２０Ｂに送信される。この際に、符号化の処理は、端末２０Ａにより実行され、復号化の処理は、端末２０Ｂにより実行される。情報処理装置１０により符号化及び復号化の処理は実行されないでもよい。
【０１２６】
具体的には、端末２０Ａは、辞書＃１を用いてユーザＢ宛のテキストデータを符号化し、符号化テキストデータを生成する（ステップ（１））。端末２０Ａは、符号化テキストデータを情報処理装置１０に送信する（ステップ（２））。情報処理装置１０は、宛先のユーザＢの端末２０Ｂに辞書＃１が記憶されていることを確認する（ステップ（３））。端末２０Ｂに辞書＃１が記憶されている場合、情報処理装置１０は、端末２０Ａから受信した符号化テキストデータに対する復号化処理を実行せずに、そのまま端末２０Ｂに送信する（ステップ（４））。符号化テキストデータを受信すると、端末２０Ｂは、辞書＃１を用いて符号化テキストデータを、復号化する（ステップ（５））。
【０１２７】
これにより、端末２０Ａ〜端末２０Ｂの間でのテキストデータのデータ量を削減することが可能になる。また、情報処理装置１０による符号化及び復号化の処理を省略できるため、符号化テキストデータの送信処理時間を短縮することが可能となる。
【０１２８】
また、端末２０Ａと、端末２０Ｂとの間で同じ辞書を共有していない場合、図１３の（Ｂ）に示すように、端末２０Ａから情報処理装置１０に送信される符号化テキストデータと、情報処理装置１０から端末２０Ｂに送信される符号化テキストデータとは、異なる辞書を用いて符号化及び復号化の処理が実行される。
【０１２９】
具体的には、端末２０Ａは、辞書＃１を用いてユーザＢ宛のテキストデータを符号化し、符号化テキストデータを生成する（ステップ（１１））。端末２０Ａは、符号化テキストデータを情報処理装置１０に送信する（ステップ（１２））。情報処理装置１０は、宛先のユーザＢの端末２０Ｂに辞書＃１が記憶されてないことを確認する。情報処理装置１０は、受信した符号化テキストデータを復号し、元のテキストデータに戻す。そして、情報処理装置１０は、端末２０Ｂが記憶している辞書（ここでは辞書＃２とする）を用いて、テキストデータを符号化し、符号化テキストデータを生成する（ステップ（１３））。情報処理装置１０は、符号化テキストデータを、端末２０Ｂに送信する（ステップ（１４））。符号化テキストデータを受信すると、端末２０Ｂは、辞書＃２を用いて復号し、元のテキストデータに戻す（ステップ（１５））。
【０１３０】
これにより、端末２０Ａと端末２０Ｂで同じ辞書を記憶していない場合であっても、端末２０Ａ〜端末２０Ｂの間でのテキストデータのデータ量を削減することが可能になる。
【０１３１】
［その他］
上述した実施形態では、ＵＴＦ−８等の１文字を３ｂｙｔｅとする文字コードを適用する場合について説明したが、ＵＴＦ−１６等の１文字を２ｂｙｔｅとする文字コードにも同様の符号化方法及び復号化方法を適用可能なことは勿論である。長い文字列が頻出する分野においては、上述した実施形態を用いることにより、ＵＴＦ−１６等が適用されている場合であっても、十分な圧縮の効果を奏することができる。
【０１３２】
情報処理装置１０及び端末２０は、送信装置の一例である。情報処理装置１０及び端末２０は、受信装置の一例である。分割部１３０は、生成部の一例である。送受信部２１０は、受信部の一例である。
【０１３３】
上述した実施の形態の機能を実現するソフトウエアのプログラムコードを記憶した記憶媒体を、端末２０に供給してもよい。そして、端末２０が、記憶媒体に格納されたプログラムコードを読み出し実行することによっても、上述の実施形態が、達成されることは言うまでもない。この場合、記憶媒体には、上述した表示制御方法を、端末２０に実行させるプログラムが記憶される。
【０１３４】
具体的には、受信装置に送信するテキストデータを分割し、文字列を生成するステップと、生成された前記文字列の各々が、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書に登録されているか否かを判断するステップと、前記文字列が前記辞書に登録されていると判断された場合、該文字列に対応付けられている前記インデックスの値を基に、前記文字列を符号化し、第１の符号化データを生成するステップと、をコンピュータに実行させるプログラムが、記憶媒体に記憶される。また、送信装置から符号化されたテキストデータである符号化データを受信するステップと、前記符号化データの中で、文字列と、該文字列に割り当てられたインデックスの値とが対応付けられて記憶されている辞書を用いて符号化されている第１の符号化データの部分を判断するステップと、前記辞書を基に、前記第１の符号化データを文字列に復号化するステップと、をコンピュータに実行させるプログラムが、記憶媒体に記憶される。
【０１３５】
そして、これらの記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになる。
【０１３６】
また、コンピュータ装置が読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に従って、コンピュータ装置上で動作しているオペレーティングシステム（ＯＳ）等が実際の処理の一部または全部を行ってもよい。さらに、その処理によって前述した実施形態の機能が実現されてもよいことは言うまでもない。
【０１３７】
以上、本発明の好ましい実施形態について説明したが、本発明はこうした実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【０１３８】
１  情報処理システム
２  ネットワーク
３  符号化方法の特定領域
４  Ｉｎｄｅｘ領域
５  長さ領域
６  ペイロード領域
７  符号化テキストデータ
１０  情報処理装置
２０  端末
１１０  送受信部
１２０  配信情報取得部
１３０  分割部
１４０  判断部
１５０  符号化部
１６０  辞書選択部
１７０  データ収集部
１８０  辞書データ登録処理部
１８５  制御部
１９０  情報記憶部
１９１  辞書データ格納部
１９２  テキストデータ格納部
１９３  配信データ格納部
１９４  辞書データ配信状態格納部
２１０  送受信部
２１５  判断部
２２０  復号化部
２３０  結合部
２４０  受付部
２５０  表示制御部
２６０  辞書データ管理部
２６５  制御部
２７０  情報記憶部
２７１  辞書データ格納部
【図１】
2017204050.tif 000003
【図２】
2017204050.tif 000004
【図３】
2017204050.tif 000005
【図４】
2017204050.tif 000006
【図５】
2017204050.tif 000007
【図６】
2017204050.tif 000008
【図７】
2017204050.tif 000009
【図８】
2017204050.tif 000010
【図９】
2017204050.tif 000011
【図１０】
2017204050.tif 000012
【図１１】
2017204050.tif 000013
【図１２】
2017204050.tif 000014
【図１３】
2017204050.tif 000015