(57)【要約】【課題】文章などで使用している文字列全体のビット数の削減を図り、全体として使用するデータの容量を圧縮する。【解決手段】文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置であって、或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、を備える。【選択図】図１
2012034272.tif 000002
【特許請求の範囲】
【請求項１】
文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮装置。
【請求項２】
請求項１に記載の文字列データ圧縮装置であって、
前記文字ビット列は、前記差分の値がゼロ以上である場合には、前記差分を２進数で表したときのビット列のうち値が１である最上位のビットから最下位ビットまでの範囲のものであり、前記差分の値がゼロ未満である場合には、前記差分の絶対値を２進数で表したときのビット列のうち値が１である最上位のビットから最下位ビットまでの範囲のものの前に０を付加したものであることを特徴とする文字列データ圧縮装置。
【請求項３】
請求項１又は２に記載の文字列データ圧縮装置であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が２以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が１である場合には、ビット数が２以上である区切りビット列の先頭ビットと同じ値をとる１ビットより構成されることを特徴とする文字列データ圧縮装置。
【請求項４】
文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元装置。
【請求項５】
請求項４に記載の文字列データ復元装置であって、
前記文字コード復元処理部は、
抽出した文字ビット列の先頭ビットが１であれば、抽出した文字ビット列の先頭ビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分を表すと扱い、基準となる文字コードにより表される数値に前記差分を加算することにより、抽出した文字ビット列に対応した文字コードを復元し、
抽出した文字ビット列の先頭ビットが０であれば、抽出した文字ビット列の先頭ビットの次のビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分の絶対値を反対にしたものであると扱い、基準となる文字コードにより表される数値から前記差分を減算することにより、抽出した文字ビット列に対応した文字コードを復元することを特徴とする文字列データ復元装置。
【請求項６】
請求項４又は５に記載の文字列データ復元装置であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が２以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が１である場合には、ビット数が２以上である区切りビット列の先頭ビットと同じ値をとる１ビットより構成されることを特徴とする文字列データ復元装置。
【請求項７】
文字コード列を含む文字列データを圧縮するための文字列データ圧縮方法であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理ステップと、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理ステップと、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理ステップと、
を有することを特徴とする文字列データ圧縮方法。
【請求項８】
文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元方法であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理ステップを有することを特徴とする文字列データ復元方法。
【請求項９】
文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置としてコンピュータを機能させるための文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮プログラム。
【請求項１０】
文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置としてコンピュータを機能させるための文字列データ復元プログラムであって、
前記文字列データ復元装置は、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列データの容量を削減するための文字列データ圧縮装置、その方法及びそのプログラム並びに容量が削減された文字列データから容量が削減される前の文字列データを復元するための文字列データ復元装置、その方法及びそのプログラムに関する。
【背景技術】
【０００２】
普通は、入力装置から得た文字コードをそのまま記憶装置に格納したり、出力装置から外部に流しており、１文字当たり、常に１バイト（８ビット）の容量を使用しており、文章全体に渡って、無駄なビットが記憶容量の多くを占めていた。
【０００３】
特許文献１に記載の発明は、頻繁に使用される文字コードを短いビットに割り当てることで、全体の記憶容量を削減する文字コード圧縮・復元装置及び同方法を提供することを目的としている。特許文献１に記載の発明は、入力された文字の文字コードを圧縮変換し、該文字コードの区切りの情報を生成し、圧縮変換結果と区切り情報とを結合するデータ処理装置と、文字の各ビット列に対応する文字コード情報を予め記憶している変換テーブルを使用して変換された文字コード、及び該変換結果の区切り位置を示す区切りの情報を格納する記憶装置とを有し、文字の出現頻度順にビット数の少ない所に割り当てた変換テーブルを作成し、文字コードの変換効率を高めたことを特徴としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０１３６８０号公報
【特許文献２】特開２００９−１７１２２１号公報
【特許文献３】特開平０７−２１０３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の発明では、あらかじめ文字の各ビット列に対応する文字コード情報を記憶した変換テーブルを作成する必要があり、手続きが煩雑であった。
【０００６】
そこで、本発明は、事前のデータ処理を必要としないデータ容量削減を可能とする文字列データ圧縮装置、その方法及びそのプログラム並びにそれに対応する文字列データ復元装置、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によれば、文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮装置が提供される。
【０００８】
また、本発明によれば、文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元装置が提供される。
【０００９】
更に、本発明によれば、文字コード列を含む文字列データを圧縮するための文字列データ圧縮方法であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理ステップと、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理ステップと、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理ステップと、
を有することを特徴とする文字列データ圧縮方法が提供される。
【００１０】
更に、本発明によれば、文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元方法であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理ステップを有することを特徴とする文字列データ復元方法が提供される。
【００１１】
更に、本発明によれば、文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置としてコンピュータを機能させるための文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮プログラムが提供される。
【００１２】
更に、本発明によれば、文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置としてコンピュータを機能させるための文字列データ復元プログラムであって、
前記文字列データ復元装置は、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元プログラムが提供される。
【発明の効果】
【００１３】
本発明においては、文字列の各文字のデータを圧縮する際、参照するのは文字列における前の位置にある文字である。よって、例えば変換テーブルを作成するなどの事前のデータ処理をすることなく、文字列のデータを圧縮することが可能となる。また、文字列データを、各々のみでは解読不可能な圧縮ビット列と区切りビット列とに分割するため、情報のセキュリティ性も高まる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態による、キーボードなどのデータ入力装置１と、プログラム制御により動作するデータ圧縮処理装置２と、情報を記憶する記憶装置３と、情報を外部に取り出すための圧縮データ出力装置４について表す図である。
【図２】本発明の実施形態によって文字コードを復元する時のもので、先の図１にて圧縮した情報を外部から入力するための圧縮データ入力装置１と、プログラム制御により動作するデータ復元処理装置２と、情報を記憶する記憶装置３と、情報を外部に取り出すためのデータ出力装置４について表す図である。
【図３】本発明の実施形態による、文字コードから圧縮データへ圧縮する処理について表すフローチャートである。
【図４】本発明の実施形態による文字列の例とそれを変換した後のビット列について表す図である。
【図５】本発明の実施形態による従来の文字列で使用したビット数と、今回の圧縮で使用するビット数について表す図である。
【図６】本発明の実施形態による、圧縮されたデータから元の文字コードへの復元を行う処理について表すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の通信端末装置の実施形態について図を参照しながら詳細に説明する。しかし、本発明は以下の実施形態に限定されることはない。
【００１６】
本発明は、文字を表す際に前の文字からアルファベット順でどれだけ離れているか、をビット列として表すことで、１文字あたりに使用されるビット数を削減し、文章全体で使用されるビット数の削減を図る。また、上記手段では文章を表す各文字のビット列が連続で並んでいるため、文字の区切り位置が不明確となるが、区切り位置については文字のビット列とは別に区切り位置用のビット列を用意して１文字で使用するビットを明確化する。
【００１７】
この方法を用いることで、あらかじめ文字の各ビット列に対応する文字コード情報を記憶した変換テーブルを作成する必要なく、文字情報を圧縮することが可能となる。
【００１８】
以下の説明では、１つ１つの文字に対応するコードを文字コードということにし、文字コードの集合を文字列データということにする。ここで、文字コードは、例えば、ＡＳＣＩＩコードである。
【００１９】
［実施形態１］
（構成の説明）
図１を参照すると、本実施形態による文字列データ圧縮装置は、キーボードなどのデータ入力装置１と、プログラム制御により動作するデータ圧縮処理装置２と、情報を記憶する記憶装置３と、情報を外部に取り出すための圧縮データ出力装置４とを含む。
【００２０】
データ圧縮処理装置２は、データ入力装置１より入力された文字コードを圧縮する文字コード圧縮処理部２１と、文字コードの区切りの情報を生成する区切り情報生成処理部２２と、外部に出力する際に変換結果と区切り情報を結合する情報結合処理部２３とを含む。
【００２１】
記憶装置３は、圧縮変換した結果を格納する圧縮情報記憶部３１と、変換結果の区切りを格納する区切り情報記憶部３２とを含む。
【００２２】
次に、図２を参照すると、本実施形態による文字列データ復元装置は、図１に示す文字列データ復元装置が出力する圧縮データを入力するためのデータ入力装置１１と、プログラム制御により動作するデータ復元処理装置１２と、情報を記憶する記憶装置１３と、情報を外部に取り出すためのデータ出力装置１４とを含む。
【００２３】
データ復元処理装置１２は、圧縮データ入力装置１１から得た情報を、文字コードの圧縮情報と区切り情報に分離する入力データ分離処理部４１と、圧縮情報記憶部５１に記憶されている文字コードの圧縮情報及び区切り情報記憶部５２に格納されている区切り情報を基に文字コードを復元する処理部４２とを含む。  
【００２４】
記憶装置１３は、文字コードの圧縮情報部分を記憶する圧縮情報記憶部５１と、区切り情報部分を記憶する区切り情報記憶部５２とを含む。
（動作の説明）
次に、図１〜図６を参照して、本実施形態の動作について詳細に説明する。
【００２５】
先ず、データ圧縮処理装置２の文字コード圧縮処理部２１は、データ入力装置１が入力した（図３のステップＳ１０１）各文字コードを、圧縮情報である別のビット列に置き換えて（ステップＳ１０３）、記憶装置３に順に格納して行く。続いて、区切り情報生成処理部２２が、圧縮ビット列を基に、文字コードの区切り毎に区切り情報である別のビット列に置き換えて（ステップＳ１０４）、記憶装置３に順に格納して行く。ステップＳ１０１、Ｓ１０３及びステップＳ１０４の動作は、文字コードの入力が終了するまで繰り返される（ステップＳ１０２においてＮｏ）。そして、文字コードの入力が終了した時点で（ステップＳ１０２においてＹｅｓ）、情報結合処理部２３が、記憶装置３の圧縮情報記憶部３１から圧縮情報を読み出し、記憶装置３の区切り情報記憶部３２から区切り情報を読み出して、読み出した圧縮情報と区切り情報とを結合することにより圧縮データを生成する（ステップＳ１０５）。圧縮データ出力装置４は、情報結合処理部２３が生成した圧縮データを外部へ出力する（ステップＳ１０６）。
【００２６】
文字コード圧縮処理部２１は、データ入力装置１から入力した各文字コードにより表される二進数の数値が、その前の文字コードにより表される二進数の数値からいくつ離れているかを計算し、その結果得られる差分二進数を圧縮情報記憶部３１に格納する。ただし、一番先頭の文字の場合にはその前の文字として仮文字「A」を使用する。
【００２７】
その際、区切り情報生成処理部２２は、文字コードを差分に置き換えた後のビット列の区切り情報を記憶するために、圧縮後の或る文字コードとそれに隣接する圧縮後の文字コードとを区切るためのビット列を生成する。
【００２８】
図４の４−１では、「ABCDE」という文字列に対して圧縮後の文字コードのビット列と区切り情報のビット列がどのようになるかを表している。文字「A」は最初の文字なので「A」からいくつ離れているかを計算すると0であるため、文字のビット列は0となる。また、そのビットは、文字「A」の圧縮処理を行った時の先頭ビットなので、文字の区切りビット列を1としている。次の「B」は前の文字「A」から1だけ離れているので、文字のビット列は1となる。また、そのビットは、文字「B」の圧縮処理を行った時の先頭ビットなので、文字の区切りビット列は1となる。次の「C」は前の文字「B」から1だけ離れているので、文字のビット列は1となる。また、そのビットは、文字「C」の圧縮処理を行った時の先頭ビットなので、文字の区切りビット列は1となる。次の「D」は前の文字「C」から1だけ離れているので、文字のビット列は1となる。また、そのビットは、文字「D」の圧縮処理を行った時の先頭ビットなので、文字の区切りビット列は1となる。最後の「E」は前の文字「D」から1だけ離れているので、文字のビット列は1となる。また、そのビットは、文字「E」の圧縮処理を行った時の先頭ビットなので、文字の区切りビット列は1となる。
【００２９】
次に、図４の４−２で、「NECST」と言う文字列に対して文字コード圧縮処理部２１と区切り情報生成処理部２２の処理内容を説明する。文字「N」は最初の文字なので、「A」からいくつ離れているかを計算すると13となる。それを2進数で表し「1101」とする。その際、ビット4つが「A」に対応する文字のビット列であることを示すため、文字の区切りビット列として「1000」を生成する。次に、文字「E」が、前の文字「N」からいくつ離れているかを計算すると-9となる。-9の絶対値9を2進数で表すと「1001」となる。そして、-9は負の値であるため、正の値ではないことを示すために、「1001」の前に「0」をつける。よって「E」の文字のビット列は「01001」となる。その際、ビット5つが「E」に対応する文字のビット列であることを示すため、文字の区切りのビット列として「10000」を生成する。続いて、文字「C」が、前の文字「E」からいくつ離れているかを計算すると-2となる。-2の絶対値2を2進法で表すと「10」となる。そして、-2は負の値であるため、正の値ではないことを示すために、「10」の前に「0」をつける。よって「C」の文字のビット列は「010」となる。その際、ビット3つが「C」に対応する文字のビット列であることを示すため、文字の区切りのビット列として「100」を生成する。さらに続いて、文字「S」が、前の文字「C」からいくつ離れているかを計算すると16となる。それを2進数で表し「10000」を文字のビット列とする。その際、ビット5つが「S」に対応する文字のビット列であることを示すため、文字の区切りビット列として「10000」を生成する。最後に、文字「T」が、前の文字「S」からいくつ離れているかを計算すると1となる。それを2進数で表し「1」を文字のビット列とする。その際、ビット1つが「T」に対応する文字のビット列であることを示すため、文字の区切りビット列として「1」を生成する。このように、前の文字からいくつ離れているかの値が負の値になった時のみ、文字のビット列の先頭に「0」をつけ、正の値の時は何もつけない。また、文字の区切りビット列は、文字のビット列の各ビットが、各文字の先頭ビットか先頭ビットではないかを表している。先頭ビットの場合には「1」、それ以外の場合には「0」で表す。
【００３０】
上述したように、或る文字のビット列に対応した区切りビット列のビット数は、その文字のビット列のビット数に等しい。また、区切りビット列の先頭ビットは常に「１」であり、先頭ビット以外の全てのビットは常に「0」である。但し、全ての区切りビット列の「1」と「0」を反転してもよい。
【００３１】
図５の５−１は、「ABCDE」と言う文字列に対して、文字のビット列と区切りビット列がどのようなビットの並びになるかを表している。文字のビット列は「01111」となり、区切りビット列は「11111」となる。通常使用される8バイトの文字コードで表した結果を右端の列に示している。
【００３２】
図５の５−２は、「NECST」と言う文字列に対して、文字のビット列と区切りビット列がどのようなビットの並びになるかを表している。文字のビット列は「110101001010100001」となり、区切りビット列は「100010000100100001」となる。通常使用される8バイトの文字コードで表した結果を右端の列に示している。
【００３３】
図３に示す通り、上記の処理を入力が終了するまで行い、入力が終了した時点で、情報結合処理部２３にて、圧縮ビット列と区切りビット列の結合を行い、圧縮データ出力装置４にて出力を行うものとする。
【００３４】
また、情報結合処理部２３は、図３のステップＳ１０５において、まず、区切り情報記憶部３２から全ての区切りビット列を生成順に読み出して出力し、次に、圧縮情報記憶部３１から全ての文字のビット列を生成順に読み出して出力する。或いは、情報結合処理部２３は、ステップＳ１０５において、まず、圧縮情報記憶部３１から全ての文字のビット列を生成順に読み出して出力し、次に、区切り情報記憶部３２から全ての区切りビット列を生成順に読み出しても良い。
【００３５】
次に、図２の圧縮データ入力装置１１から与えられたデータ（図６のステップＳ２０１）は、データ復元処理装置１２の入力データ分離処理部４１で文字のビット列と区切りビット列の２つに分割を行う（ステップＳ２０２）。分割したデータはそれぞれ、記憶装置１３の圧縮情報記憶部５１と区切り情報記憶部５２に格納する。圧縮データ生成時に、情報結合処理部２３が、図３のステップＳ１０５において、まず、区切り情報記憶部３２から全ての区切りビット列を生成順に読み出して出力し、次に、圧縮情報記憶部３１から全ての文字のビット列を生成順に読み出す場合には、図２において、入力データ分離処理部４１は、入力したデータのうち、前半部を区切り情報記憶部５２に書き込み、後半部を圧縮情報記憶部５１に書き込む。圧縮データ生成時に、情報結合処理部２３が、図３のステップＳ１０５において、まず、圧縮情報記憶部３１から全ての文字のビット列を生成順に読み出して出力し、次に、区切り情報記憶部３２から全ての区切りビット列を生成順に読み出す場合には、図２において、入力データ分離処理部４１は、入力したデータのうち、前半部を圧縮情報記憶部５１に書き込み、後半部を区切り情報記憶部５２に書き込む。次に、データ復元処理装置１２の文字コード復元処理部４２では、圧縮情報記憶部５１と区切り情報記憶部５２のデータを元に文字コードの復元処理を行う。文字コード復元処理部４２は、文字の区切り情報として、ビット１とそれに続くビット０を、次にビット１が現れるか、区切りデータが末尾になるまで順に取り出す（図６のステップＳ２０３においてＹｅｓ）。その時に、何ビット取り出したかをカウントしておく。次に、文字コード復元処理部４２は、先ほどカウントした数の分だけ圧縮情報記憶部５１から圧縮情報のビットを取り出す（ステップＳ２０４）。次に、文字コード復元処理部４２は、取り出した圧縮情報のビットを数値とみなし、その前に処理した文字のコードを元に次の文字コードを算出する（ステップＳ２０５）。その際、文字のビット列の先頭が0ならば、文字のビット列のビットが第１ビットしかない場合は、絶対値が0であるので、前の文字コードを現在の文字コードとして利用する。文字のビット列のビットが第2ビット以降もある場合は、先頭の0が、現在の文字が前に処理した文字から負の方向に離れていることを示しているものと判断し、先頭ビットを除いたビット（第2ビットから最終ビットまで）を基に絶対値を求める。そして、前の文字コードの数値からその絶対値を減算する。文字のビット列のビットの先頭が1ならば、現在の文字が前に処理した文字から正の方向に離れていることを示しているものと判断し、第１ビットから最終ビットを基に絶対値を求める。そして、前の文字コードの数値にその絶対値を合算する。一番先頭の文字の場合には、その前の文字が無いので、仮文字、’A’を使用する。このようにして各文字コードの数値を計算し、計算された数値に対応する文字をデータ出力装置１４により、外部に取り出す（図６のステップＳ２０３においてＮｏ、図６のステップＳ２０６）。
【００３６】
図６に示す通り、記憶装置１３の区切り情報記憶部５２に区切り情報が残っている場合には（ステップＳ２０３においてＹｅｓ）、再度、区切り情報記憶部５２から取り出した情報を元に、圧縮情報記憶部５１から圧縮情報を取り出し、前の文字を元に文字コードを割り出して、データ出力装置１４により、外部に取り出すものとする。
【００３７】
［実施形態２］
実施形態１では、ある文字コードを圧縮する際に、その文字コードにより表される数値からその文字コードの直前の文字コードにより表される数値を引くことにより差分を得ていた。
【００３８】
本実施形態では、ある文字コードを圧縮する際に、その文字コードにより表される数値から特定の文字コード（例えば、特定のアルファベットを表す文字コード）により表される数値を引くことにより差分を得る。
【００３９】
その他の部分は、実施形態１と同様である。
【００４０】
［実施形態３］
図１において、変換後のデータを圧縮情報記憶部３１と区切り情報記憶部３２に一旦全部保存してから圧縮データ出力装置４にて外部へ出力しているが、今回の発明は、入力された文字列全部を圧縮処理し保存してから出力する必要は無い。入力された１文字毎に圧縮処理を行って外部へ出力することが可能であり、データ入力装置１で入力処理を行いつつ、圧縮データ出力装置４から出力を行うようなリアルタイム処理が可能となる。
【００４１】
［実施形態４］
情報結合処理部２３が、文字ビット列と区切りビット列とを結合するのではなく、それぞれを別の伝送路で出力する形態も考えられる。この場合、図１に記載のデータ圧縮装置２と図２に記載のデータ復元処理装置１２を結合した際、図２において、圧縮されたデータを圧縮情報記憶部５１と区切り情報記憶部５２に一旦保存する必要なく、文字コード復元処理部４２で復元処理することで、データ入力装置１で入力処理をおこないつつデータ出力装置１４から出力処理を行うようなリアルタイム処理が可能となる。
【００４２】
本発明の実施形態によれば、下記の効果が奏される。
【００４３】
第１の効果は、通常８ビットで表現される文字コードを、最低２ビット〜最悪８ビットで表わすことで、文章全体で使用する容量を削減でき、少ないメモリで多くの文字が記憶できる。また、ネットワークなどで送受信する際にも、流すデータ量が削減され、転送速度の向上とトラフィックの軽減がなされる。
【産業上の利用可能性】
【００４４】
文章を送受信する場合、従来の文字コードよりも少ないビット数でデータを処理することができるため、回線の細い通信インフラやトラフィックの多い通信インフラにて比較的軽いデータ量に変換して送受信を行うことができる。
【００４５】
また、文章を秘匿して送受信したい場合、本方式で文字コード圧縮部と文字区切り部分に分離して送受信することで、片方が漏洩した場合には文章を解読できないため、セキュリティの高い送受信を行う分野での使用が可能となる。
【００４６】
さらに、限られた容量になるべく多くのデータを格納し、欠損なくデータを取り出す必要があるような装置に、本発明の文字データの圧縮・復元方法を適用することも可能である。
【００４７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００４８】
（付記１）文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮装置。
【００４９】
（付記２）付記１に記載の文字列データ圧縮装置であって、
前記文字ビット列は、前記差分の値がゼロ以上である場合には、前記差分を２進数で表したときのビット列のうち値が１である最上位のビットから最下位ビットまでの範囲のものであり、前記差分の値がゼロ未満である場合には、前記差分の絶対値を２進数で表したときのビット列のうち値が１である最上位のビットから最下位ビットまでの範囲のものの前に０を付加したものであることを特徴とする文字列データ圧縮装置。
【００５０】
（付記３）付記１又は付記２に記載の文字列データ圧縮装置であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が２以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が１である場合には、ビット数が２以上である区切りビット列の先頭ビットと同じ値をとる１ビットより構成されることを特徴とする文字列データ圧縮装置。
【００５１】
（付記４）付記１乃至３の何れか１に記載の文字列データ圧縮装置であって、
前記文字列ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
を更に備え、
前記情報結合処理部は、前記区切り情報記憶部から全ての前記区切りビット列を読み出して出力した後に、前記圧縮情報記憶部から全ての文字列ビット列を読み出して出力することを特徴とする文字列データ圧縮装置。
【００５２】
（付記５）付記１乃至３の何れか１に記載の文字列データ圧縮装置であって、
前記文字ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
を更に備え、
前記情報結合処理部は、前記圧縮情報記憶部から全ての文字列ビット列を読み出して出力した後に、前記区切り情報記憶部から全ての前記区切りビット列を読み出して出力することを特徴とする文字列データ圧縮装置。
【００５３】
（付記６）付記１乃至３の何れか１に記載の文字列データ圧縮装置であって、
前記情報結合処理部は、前記文字列コード圧縮処理部から出力される文字ビット列と前記区切り情報生成処理部から出力される区切りビット列とを別々の伝送路に出力することを特徴とする文字列データ圧縮装置。
【００５４】
（付記７）付記１乃至６の何れか１に記載の文字列データ圧縮装置であって、
前記基準となる文字コードは、前記或る文字コードの直前の文字コードであることを特徴とする文字列データ圧縮装置。
【００５５】
（付記８）文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元装置。
【００５６】
（付記９）付記８に記載の文字列データ復元装置であって、
前記文字コード復元処理部は、
抽出した文字ビット列の先頭ビットが１であれば、抽出した文字ビット列の先頭ビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分を表すと扱い、基準となる文字コードにより表される数値に前記差分を加算することにより、抽出した文字ビット列に対応した文字コードを復元し、
抽出した文字ビット列の先頭ビットが０であれば、抽出した文字ビット列の先頭ビットの次のビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分の絶対値を反対にしたものであると扱い、基準となる文字コードにより表される数値から前記差分を減算することにより、抽出した文字ビット列に対応した文字コードを復元することを特徴とする文字列データ復元装置。
【００５７】
（付記１０）付記８又は付記９に記載の文字列データ復元装置であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が２以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が１である場合には、ビット数が２以上である区切りビット列の先頭ビットと同じ値をとる１ビットより構成されることを特徴とする文字列データ復元装置。
【００５８】
（付記１１）付記８乃至１０の何れか１に記載の文字列データ復元装置であって、
前記文字ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
入力した圧縮文字列データに含まれる文字ビット列を前記圧縮情報記憶部に書き込み、入力した圧縮文字列データに含まれる区切りビット列を前記区切り情報記憶部に書き込む入力データ分離処理部と、
を更に備え、
前記文字コード復元処理部は、前記圧縮情報記憶部から圧縮文字列データを読み出し、前記区切り情報記憶部から区切りビット列を読み出すことを特徴とする文字列データ復元装置。
【００５９】
（付記１２）付記８乃至１１の何れか１に記載の文字列データ復元装置であって、
前記基準となる文字コードは、各抽出した文字ビット列の直前に抽出した文字ビット列に対応する文字コードであることを特徴とする文字列データ復元装置。
【００６０】
（付記１３）文字コード列を含む文字列データを圧縮するための文字列データ圧縮方法であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理ステップと、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理ステップと、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理ステップと、
を有することを特徴とする文字列データ圧縮方法。
【００６１】
（付記１４）付記１３に記載の文字列データ圧縮方法であって、
前記文字ビット列は、前記差分の値がゼロ以上である場合には、前記差分を２進数で表したときのビット列のうち値が１である最上位のビットから最下位ビットまでの範囲のものであり、前記差分の値がゼロ未満である場合には、前記差分の絶対値を２進数で表したときのビット列のうち値が１である最上位のビットから最下位ビットまでの範囲のものの前に０を付加したものであることを特徴とする文字列データ圧縮方法。
【００６２】
（付記１５）付記１３又は付記１４に記載の文字列データ圧縮方法であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が２以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が１である場合には、ビット数が２以上である区切りビット列の先頭ビットと同じ値をとる１ビットより構成されることを特徴とする文字列データ圧縮方法。
【００６３】
（付記１６）付記１３乃至１５の何れか１に記載の文字列データ圧縮方法であって、
前記情報結合処理ステップでは、前記区切りビット列を記憶するための区切り情報記憶部から全ての前記区切りビット列を読み出して出力した後に、前記文字列ビット列を記憶するための圧縮情報記憶部から全ての文字列ビット列を読み出して出力することを特徴とする文字列データ圧縮方法。
【００６４】
（付記１７）付記１３乃至１５の何れか１に記載の文字列データ圧縮方法であって、
前記情報結合処理ステップでは、前記文字ビット列を記憶するための圧縮情報記憶部から全ての文字列ビット列を読み出して出力した後に、前記区切りビット列を記憶するための区切り情報記憶部から全ての前記区切りビット列を読み出して出力することを特徴とする文字列データ圧縮方法。
【００６５】
（付記１８）付記１３乃至１５の何れか１に記載の文字列データ圧縮方法であって、
前記情報結合処理ステップでは、前記文字列コード圧縮処理ステップで出力される文字ビット列と前記区切り情報生成処理ステップで出力される区切りビット列とを別々の伝送路に出力することを特徴とする文字列データ圧縮方法。
【００６６】
（付記１９）付記１３乃至１８の何れか１に記載の文字列データ圧縮方法であって、
前記基準となる文字コードは、前記或る文字コードの直前の文字コードであることを特徴とする文字列データ圧縮方法。
【００６７】
（付記２０）文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元方法であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理ステップを有することを特徴とする文字列データ復元方法。
【００６８】
（付記２１）付記２０に記載の文字列データ復元方法であって、
前記文字コード復元処理ステップでは、
抽出した文字ビット列の先頭ビットが１であれば、抽出した文字ビット列の先頭ビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分を表すと扱い、基準となる文字コードにより表される数値に前記差分を加算することにより、抽出した文字ビット列に対応した文字コードを復元し、
抽出した文字ビット列の先頭ビットが０であれば、抽出した文字ビット列の先頭ビットの次のビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分の絶対値を反対にしたものであると扱い、基準となる文字コードにより表される数値から前記差分を減算することにより、抽出した文字ビット列に対応した文字コードを復元することを特徴とする文字列データ復元方法。
【００６９】
（付記２２）付記２０又は付記２１に記載の文字列データ復元方法であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が２以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が１である場合には、ビット数が２以上である区切りビット列の先頭ビットと同じ値をとる１ビットより構成されることを特徴とする文字列データ復元方法。
【００７０】
（付記２３）付記２０乃至２２の何れかに記載の文字列データ復元方法であって、
入力した圧縮文字列データに含まれる文字ビット列を前記文字ビット列を記憶するための圧縮情報記憶部に書き込み、入力した圧縮文字列データに含まれる区切りビット列を前記区切りビット列を記憶するための区切り情報記憶部に書き込む入力データ分離処理ステップ、
を更に備え、
前記文字コード復元処理ステップでは、前記圧縮情報記憶部から圧縮文字列データを読み出し、前記区切り情報記憶部から区切りビット列を読み出すことを特徴とする文字列データ復元方法。
【００７１】
（付記２４）付記２０乃至２３の何れかに記載の文字列データ復元方法であって、
前記基準となる文字コードは、各抽出した文字ビット列の直前に抽出した文字ビット列に対応する文字コードであることを特徴とする文字列データ復元方法。
【００７２】
（付記２５）文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置としてコンピュータを機能させるための文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮プログラム。
【００７３】
（付記２６）付記２５に記載の文字列データ圧縮プログラムであって、
前記文字ビット列は、前記差分の値がゼロ以上である場合には、前記差分を２進数で表したときのビット列のうち値が１である最上位のビットから最下位ビットまでの範囲のものであり、前記差分の値がゼロ未満である場合には、前記差分の絶対値を２進数で表したときのビット列のうち値が１である最上位のビットから最下位ビットまでの範囲のものの前に０を付加したものであることを特徴とする文字列データ圧縮プログラム。
【００７４】
（付記２７）付記２５又は付記２６に記載の文字列データ圧縮プログラムであって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が２以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が１である場合には、ビット数が２以上である区切りビット列の先頭ビットと同じ値をとる１ビットより構成されることを特徴とする文字列データ圧縮プログラム。
【００７５】
（付記２８）付記２５乃至２７の何れか１に記載の文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
前記文字列ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
を更に備え、
前記情報結合処理部は、前記区切り情報記憶部から全ての前記区切りビット列を読み出して出力した後に、前記圧縮情報記憶部から全ての文字列ビット列を読み出して出力することを特徴とする文字列データ圧縮プログラム。
【００７６】
（付記２９）付記２５乃至２７の何れか１に記載の文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
前記文字ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
を更に備え、
前記情報結合処理部は、前記圧縮情報記憶部から全ての文字列ビット列を読み出して出力した後に、前記区切り情報記憶部から全ての前記区切りビット列を読み出して出力することを特徴とする文字列データ圧縮プログラム。
【００７７】
（付記３０）付記２５乃至２７の何れか１に記載の文字列データ圧縮プログラムであって、
前記情報結合処理部は、前記文字列コード圧縮処理部から出力される文字ビット列と前記区切り情報生成処理部から出力される区切りビット列とを別々の伝送路に出力することを特徴とする文字列データ圧縮プログラム。
【００７８】
（付記３１）付記２５乃至３０の何れか１に記載の文字列データ圧縮プログラムであって、
前記基準となる文字コードは、前記或る文字コードの直前の文字コードであることを特徴とする文字列データ圧縮プログラム。
【００７９】
（付記３２）文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ１以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置としてコンピュータを機能させるための文字列データ復元プログラムであって、
前記文字列データ復元装置は、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元プログラム。
【００８０】
（付記３３）付記３２に記載の文字列データ復元プログラムであって、
前記文字コード復元処理部は、
抽出した文字ビット列の先頭ビットが１であれば、抽出した文字ビット列の先頭ビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分を表すと扱い、基準となる文字コードにより表される数値に前記差分を加算することにより、抽出した文字ビット列に対応した文字コードを復元し、
抽出した文字ビット列の先頭ビットが０であれば、抽出した文字ビット列の先頭ビットの次のビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分の絶対値を反対にしたものであると扱い、基準となる文字コードにより表される数値から前記差分を減算することにより、抽出した文字ビット列に対応した文字コードを復元することを特徴とする文字列データ復元プログラム。
【００８１】
（付記３４）付記３２又は付記３３に記載の文字列データ復元プログラムであって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が２以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が１である場合には、ビット数が２以上である区切りビット列の先頭ビットと同じ値をとる１ビットより構成されることを特徴とする文字列データ復元プログラム。
【００８２】
（付記３５）付記３２乃至３４の何れかに記載の文字列データ復元プログラムであって、
前記文字列データ復元装置は、
前記文字ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
入力した圧縮文字列データに含まれる文字ビット列を前記圧縮情報記憶部に書き込み、入力した圧縮文字列データに含まれる区切りビット列を前記区切り情報記憶部に書き込む入力データ分離処理部と、
を更に備え、
前記文字コード復元処理部は、前記圧縮情報記憶部から圧縮文字列データを読み出し、前記区切り情報記憶部から区切りビット列を読み出すことを特徴とする文字列データ復元プログラム。
【００８３】
（付記３６）付記３２乃至３５の何れかに記載の文字列データ復元プログラムであって、
前記基準となる文字コードは、各抽出した文字ビット列の直前に抽出した文字ビット列に対応する文字コードであることを特徴とする文字列データ復元プログラム。
【符号の説明】
【００８４】
１  データ入力装置
２  データ圧縮処理装置
３  記憶装置
４  圧縮データ出力装置
１１  圧縮データ入力装置
１２  データ復元処理装置
１３  記憶装置
１４  データ出力装置
２１  文字コード圧縮処理部
２２  区切り情報生成処理部
２３  情報結合処理部
３１  圧縮情報記憶部
３２  区切り情報記憶部
４１  入力データ分離処理部
４２  文字コード復元処理部
５１  圧縮情報記憶部
５２  区切り情報記憶部
【図１】
2012034272.tif 000003
【図２】
2012034272.tif 000004
【図３】
2012034272.tif 000005
【図４】
2012034272.tif 000006
【図５】
2012034272.tif 000007
【図６】
2012034272.tif 000008