説明

文字列データ圧縮装置及びその方法並びに文字列データ復元装置及びその方法

【課題】文章などで使用している文字列全体のビット数の削減を図り、全体として使用するデータの容量を圧縮する。
【解決手段】文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置であって、或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字列データの容量を削減するための文字列データ圧縮装置、その方法及びそのプログラム並びに容量が削減された文字列データから容量が削減される前の文字列データを復元するための文字列データ復元装置、その方法及びそのプログラムに関する。
【背景技術】
【0002】
普通は、入力装置から得た文字コードをそのまま記憶装置に格納したり、出力装置から外部に流しており、1文字当たり、常に1バイト(8ビット)の容量を使用しており、文章全体に渡って、無駄なビットが記憶容量の多くを占めていた。
【0003】
特許文献1に記載の発明は、頻繁に使用される文字コードを短いビットに割り当てることで、全体の記憶容量を削減する文字コード圧縮・復元装置及び同方法を提供することを目的としている。特許文献1に記載の発明は、入力された文字の文字コードを圧縮変換し、該文字コードの区切りの情報を生成し、圧縮変換結果と区切り情報とを結合するデータ処理装置と、文字の各ビット列に対応する文字コード情報を予め記憶している変換テーブルを使用して変換された文字コード、及び該変換結果の区切り位置を示す区切りの情報を格納する記憶装置とを有し、文字の出現頻度順にビット数の少ない所に割り当てた変換テーブルを作成し、文字コードの変換効率を高めたことを特徴としている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−013680号公報
【特許文献2】特開2009−171221号公報
【特許文献3】特開平07−210364号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の発明では、あらかじめ文字の各ビット列に対応する文字コード情報を記憶した変換テーブルを作成する必要があり、手続きが煩雑であった。
【0006】
そこで、本発明は、事前のデータ処理を必要としないデータ容量削減を可能とする文字列データ圧縮装置、その方法及びそのプログラム並びにそれに対応する文字列データ復元装置、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明によれば、文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮装置が提供される。
【0008】
また、本発明によれば、文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元装置が提供される。
【0009】
更に、本発明によれば、文字コード列を含む文字列データを圧縮するための文字列データ圧縮方法であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理ステップと、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理ステップと、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理ステップと、
を有することを特徴とする文字列データ圧縮方法が提供される。
【0010】
更に、本発明によれば、文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元方法であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理ステップを有することを特徴とする文字列データ復元方法が提供される。
【0011】
更に、本発明によれば、文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置としてコンピュータを機能させるための文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮プログラムが提供される。
【0012】
更に、本発明によれば、文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置としてコンピュータを機能させるための文字列データ復元プログラムであって、
前記文字列データ復元装置は、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元プログラムが提供される。
【発明の効果】
【0013】
本発明においては、文字列の各文字のデータを圧縮する際、参照するのは文字列における前の位置にある文字である。よって、例えば変換テーブルを作成するなどの事前のデータ処理をすることなく、文字列のデータを圧縮することが可能となる。また、文字列データを、各々のみでは解読不可能な圧縮ビット列と区切りビット列とに分割するため、情報のセキュリティ性も高まる。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態による、キーボードなどのデータ入力装置1と、プログラム制御により動作するデータ圧縮処理装置2と、情報を記憶する記憶装置3と、情報を外部に取り出すための圧縮データ出力装置4について表す図である。
【図2】本発明の実施形態によって文字コードを復元する時のもので、先の図1にて圧縮した情報を外部から入力するための圧縮データ入力装置1と、プログラム制御により動作するデータ復元処理装置2と、情報を記憶する記憶装置3と、情報を外部に取り出すためのデータ出力装置4について表す図である。
【図3】本発明の実施形態による、文字コードから圧縮データへ圧縮する処理について表すフローチャートである。
【図4】本発明の実施形態による文字列の例とそれを変換した後のビット列について表す図である。
【図5】本発明の実施形態による従来の文字列で使用したビット数と、今回の圧縮で使用するビット数について表す図である。
【図6】本発明の実施形態による、圧縮されたデータから元の文字コードへの復元を行う処理について表すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の通信端末装置の実施形態について図を参照しながら詳細に説明する。しかし、本発明は以下の実施形態に限定されることはない。
【0016】
本発明は、文字を表す際に前の文字からアルファベット順でどれだけ離れているか、をビット列として表すことで、1文字あたりに使用されるビット数を削減し、文章全体で使用されるビット数の削減を図る。また、上記手段では文章を表す各文字のビット列が連続で並んでいるため、文字の区切り位置が不明確となるが、区切り位置については文字のビット列とは別に区切り位置用のビット列を用意して1文字で使用するビットを明確化する。
【0017】
この方法を用いることで、あらかじめ文字の各ビット列に対応する文字コード情報を記憶した変換テーブルを作成する必要なく、文字情報を圧縮することが可能となる。
【0018】
以下の説明では、1つ1つの文字に対応するコードを文字コードということにし、文字コードの集合を文字列データということにする。ここで、文字コードは、例えば、ASCIIコードである。
【0019】
[実施形態1]
(構成の説明)
図1を参照すると、本実施形態による文字列データ圧縮装置は、キーボードなどのデータ入力装置1と、プログラム制御により動作するデータ圧縮処理装置2と、情報を記憶する記憶装置3と、情報を外部に取り出すための圧縮データ出力装置4とを含む。
【0020】
データ圧縮処理装置2は、データ入力装置1より入力された文字コードを圧縮する文字コード圧縮処理部21と、文字コードの区切りの情報を生成する区切り情報生成処理部22と、外部に出力する際に変換結果と区切り情報を結合する情報結合処理部23とを含む。
【0021】
記憶装置3は、圧縮変換した結果を格納する圧縮情報記憶部31と、変換結果の区切りを格納する区切り情報記憶部32とを含む。
【0022】
次に、図2を参照すると、本実施形態による文字列データ復元装置は、図1に示す文字列データ復元装置が出力する圧縮データを入力するためのデータ入力装置11と、プログラム制御により動作するデータ復元処理装置12と、情報を記憶する記憶装置13と、情報を外部に取り出すためのデータ出力装置14とを含む。
【0023】
データ復元処理装置12は、圧縮データ入力装置11から得た情報を、文字コードの圧縮情報と区切り情報に分離する入力データ分離処理部41と、圧縮情報記憶部51に記憶されている文字コードの圧縮情報及び区切り情報記憶部52に格納されている区切り情報を基に文字コードを復元する処理部42とを含む。
【0024】
記憶装置13は、文字コードの圧縮情報部分を記憶する圧縮情報記憶部51と、区切り情報部分を記憶する区切り情報記憶部52とを含む。
(動作の説明)
次に、図1〜図6を参照して、本実施形態の動作について詳細に説明する。
【0025】
先ず、データ圧縮処理装置2の文字コード圧縮処理部21は、データ入力装置1が入力した(図3のステップS101)各文字コードを、圧縮情報である別のビット列に置き換えて(ステップS103)、記憶装置3に順に格納して行く。続いて、区切り情報生成処理部22が、圧縮ビット列を基に、文字コードの区切り毎に区切り情報である別のビット列に置き換えて(ステップS104)、記憶装置3に順に格納して行く。ステップS101、S103及びステップS104の動作は、文字コードの入力が終了するまで繰り返される(ステップS102においてNo)。そして、文字コードの入力が終了した時点で(ステップS102においてYes)、情報結合処理部23が、記憶装置3の圧縮情報記憶部31から圧縮情報を読み出し、記憶装置3の区切り情報記憶部32から区切り情報を読み出して、読み出した圧縮情報と区切り情報とを結合することにより圧縮データを生成する(ステップS105)。圧縮データ出力装置4は、情報結合処理部23が生成した圧縮データを外部へ出力する(ステップS106)。
【0026】
文字コード圧縮処理部21は、データ入力装置1から入力した各文字コードにより表される二進数の数値が、その前の文字コードにより表される二進数の数値からいくつ離れているかを計算し、その結果得られる差分二進数を圧縮情報記憶部31に格納する。ただし、一番先頭の文字の場合にはその前の文字として仮文字「A」を使用する。
【0027】
その際、区切り情報生成処理部22は、文字コードを差分に置き換えた後のビット列の区切り情報を記憶するために、圧縮後の或る文字コードとそれに隣接する圧縮後の文字コードとを区切るためのビット列を生成する。
【0028】
図4の4−1では、「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となる。
【0029】
次に、図4の4−2で、「NECST」と言う文字列に対して文字コード圧縮処理部21と区切り情報生成処理部22の処理内容を説明する。文字「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」で表す。
【0030】
上述したように、或る文字のビット列に対応した区切りビット列のビット数は、その文字のビット列のビット数に等しい。また、区切りビット列の先頭ビットは常に「1」であり、先頭ビット以外の全てのビットは常に「0」である。但し、全ての区切りビット列の「1」と「0」を反転してもよい。
【0031】
図5の5−1は、「ABCDE」と言う文字列に対して、文字のビット列と区切りビット列がどのようなビットの並びになるかを表している。文字のビット列は「01111」となり、区切りビット列は「11111」となる。通常使用される8バイトの文字コードで表した結果を右端の列に示している。
【0032】
図5の5−2は、「NECST」と言う文字列に対して、文字のビット列と区切りビット列がどのようなビットの並びになるかを表している。文字のビット列は「110101001010100001」となり、区切りビット列は「100010000100100001」となる。通常使用される8バイトの文字コードで表した結果を右端の列に示している。
【0033】
図3に示す通り、上記の処理を入力が終了するまで行い、入力が終了した時点で、情報結合処理部23にて、圧縮ビット列と区切りビット列の結合を行い、圧縮データ出力装置4にて出力を行うものとする。
【0034】
また、情報結合処理部23は、図3のステップS105において、まず、区切り情報記憶部32から全ての区切りビット列を生成順に読み出して出力し、次に、圧縮情報記憶部31から全ての文字のビット列を生成順に読み出して出力する。或いは、情報結合処理部23は、ステップS105において、まず、圧縮情報記憶部31から全ての文字のビット列を生成順に読み出して出力し、次に、区切り情報記憶部32から全ての区切りビット列を生成順に読み出しても良い。
【0035】
次に、図2の圧縮データ入力装置11から与えられたデータ(図6のステップS201)は、データ復元処理装置12の入力データ分離処理部41で文字のビット列と区切りビット列の2つに分割を行う(ステップS202)。分割したデータはそれぞれ、記憶装置13の圧縮情報記憶部51と区切り情報記憶部52に格納する。圧縮データ生成時に、情報結合処理部23が、図3のステップS105において、まず、区切り情報記憶部32から全ての区切りビット列を生成順に読み出して出力し、次に、圧縮情報記憶部31から全ての文字のビット列を生成順に読み出す場合には、図2において、入力データ分離処理部41は、入力したデータのうち、前半部を区切り情報記憶部52に書き込み、後半部を圧縮情報記憶部51に書き込む。圧縮データ生成時に、情報結合処理部23が、図3のステップS105において、まず、圧縮情報記憶部31から全ての文字のビット列を生成順に読み出して出力し、次に、区切り情報記憶部32から全ての区切りビット列を生成順に読み出す場合には、図2において、入力データ分離処理部41は、入力したデータのうち、前半部を圧縮情報記憶部51に書き込み、後半部を区切り情報記憶部52に書き込む。次に、データ復元処理装置12の文字コード復元処理部42では、圧縮情報記憶部51と区切り情報記憶部52のデータを元に文字コードの復元処理を行う。文字コード復元処理部42は、文字の区切り情報として、ビット1とそれに続くビット0を、次にビット1が現れるか、区切りデータが末尾になるまで順に取り出す(図6のステップS203においてYes)。その時に、何ビット取り出したかをカウントしておく。次に、文字コード復元処理部42は、先ほどカウントした数の分だけ圧縮情報記憶部51から圧縮情報のビットを取り出す(ステップS204)。次に、文字コード復元処理部42は、取り出した圧縮情報のビットを数値とみなし、その前に処理した文字のコードを元に次の文字コードを算出する(ステップS205)。その際、文字のビット列の先頭が0ならば、文字のビット列のビットが第1ビットしかない場合は、絶対値が0であるので、前の文字コードを現在の文字コードとして利用する。文字のビット列のビットが第2ビット以降もある場合は、先頭の0が、現在の文字が前に処理した文字から負の方向に離れていることを示しているものと判断し、先頭ビットを除いたビット(第2ビットから最終ビットまで)を基に絶対値を求める。そして、前の文字コードの数値からその絶対値を減算する。文字のビット列のビットの先頭が1ならば、現在の文字が前に処理した文字から正の方向に離れていることを示しているものと判断し、第1ビットから最終ビットを基に絶対値を求める。そして、前の文字コードの数値にその絶対値を合算する。一番先頭の文字の場合には、その前の文字が無いので、仮文字、’A’を使用する。このようにして各文字コードの数値を計算し、計算された数値に対応する文字をデータ出力装置14により、外部に取り出す(図6のステップS203においてNo、図6のステップS206)。
【0036】
図6に示す通り、記憶装置13の区切り情報記憶部52に区切り情報が残っている場合には(ステップS203においてYes)、再度、区切り情報記憶部52から取り出した情報を元に、圧縮情報記憶部51から圧縮情報を取り出し、前の文字を元に文字コードを割り出して、データ出力装置14により、外部に取り出すものとする。
【0037】
[実施形態2]
実施形態1では、ある文字コードを圧縮する際に、その文字コードにより表される数値からその文字コードの直前の文字コードにより表される数値を引くことにより差分を得ていた。
【0038】
本実施形態では、ある文字コードを圧縮する際に、その文字コードにより表される数値から特定の文字コード(例えば、特定のアルファベットを表す文字コード)により表される数値を引くことにより差分を得る。
【0039】
その他の部分は、実施形態1と同様である。
【0040】
[実施形態3]
図1において、変換後のデータを圧縮情報記憶部31と区切り情報記憶部32に一旦全部保存してから圧縮データ出力装置4にて外部へ出力しているが、今回の発明は、入力された文字列全部を圧縮処理し保存してから出力する必要は無い。入力された1文字毎に圧縮処理を行って外部へ出力することが可能であり、データ入力装置1で入力処理を行いつつ、圧縮データ出力装置4から出力を行うようなリアルタイム処理が可能となる。
【0041】
[実施形態4]
情報結合処理部23が、文字ビット列と区切りビット列とを結合するのではなく、それぞれを別の伝送路で出力する形態も考えられる。この場合、図1に記載のデータ圧縮装置2と図2に記載のデータ復元処理装置12を結合した際、図2において、圧縮されたデータを圧縮情報記憶部51と区切り情報記憶部52に一旦保存する必要なく、文字コード復元処理部42で復元処理することで、データ入力装置1で入力処理をおこないつつデータ出力装置14から出力処理を行うようなリアルタイム処理が可能となる。
【0042】
本発明の実施形態によれば、下記の効果が奏される。
【0043】
第1の効果は、通常8ビットで表現される文字コードを、最低2ビット〜最悪8ビットで表わすことで、文章全体で使用する容量を削減でき、少ないメモリで多くの文字が記憶できる。また、ネットワークなどで送受信する際にも、流すデータ量が削減され、転送速度の向上とトラフィックの軽減がなされる。
【産業上の利用可能性】
【0044】
文章を送受信する場合、従来の文字コードよりも少ないビット数でデータを処理することができるため、回線の細い通信インフラやトラフィックの多い通信インフラにて比較的軽いデータ量に変換して送受信を行うことができる。
【0045】
また、文章を秘匿して送受信したい場合、本方式で文字コード圧縮部と文字区切り部分に分離して送受信することで、片方が漏洩した場合には文章を解読できないため、セキュリティの高い送受信を行う分野での使用が可能となる。
【0046】
さらに、限られた容量になるべく多くのデータを格納し、欠損なくデータを取り出す必要があるような装置に、本発明の文字データの圧縮・復元方法を適用することも可能である。
【0047】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0048】
(付記1)文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮装置。
【0049】
(付記2)付記1に記載の文字列データ圧縮装置であって、
前記文字ビット列は、前記差分の値がゼロ以上である場合には、前記差分を2進数で表したときのビット列のうち値が1である最上位のビットから最下位ビットまでの範囲のものであり、前記差分の値がゼロ未満である場合には、前記差分の絶対値を2進数で表したときのビット列のうち値が1である最上位のビットから最下位ビットまでの範囲のものの前に0を付加したものであることを特徴とする文字列データ圧縮装置。
【0050】
(付記3)付記1又は付記2に記載の文字列データ圧縮装置であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が2以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が1である場合には、ビット数が2以上である区切りビット列の先頭ビットと同じ値をとる1ビットより構成されることを特徴とする文字列データ圧縮装置。
【0051】
(付記4)付記1乃至3の何れか1に記載の文字列データ圧縮装置であって、
前記文字列ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
を更に備え、
前記情報結合処理部は、前記区切り情報記憶部から全ての前記区切りビット列を読み出して出力した後に、前記圧縮情報記憶部から全ての文字列ビット列を読み出して出力することを特徴とする文字列データ圧縮装置。
【0052】
(付記5)付記1乃至3の何れか1に記載の文字列データ圧縮装置であって、
前記文字ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
を更に備え、
前記情報結合処理部は、前記圧縮情報記憶部から全ての文字列ビット列を読み出して出力した後に、前記区切り情報記憶部から全ての前記区切りビット列を読み出して出力することを特徴とする文字列データ圧縮装置。
【0053】
(付記6)付記1乃至3の何れか1に記載の文字列データ圧縮装置であって、
前記情報結合処理部は、前記文字列コード圧縮処理部から出力される文字ビット列と前記区切り情報生成処理部から出力される区切りビット列とを別々の伝送路に出力することを特徴とする文字列データ圧縮装置。
【0054】
(付記7)付記1乃至6の何れか1に記載の文字列データ圧縮装置であって、
前記基準となる文字コードは、前記或る文字コードの直前の文字コードであることを特徴とする文字列データ圧縮装置。
【0055】
(付記8)文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元装置。
【0056】
(付記9)付記8に記載の文字列データ復元装置であって、
前記文字コード復元処理部は、
抽出した文字ビット列の先頭ビットが1であれば、抽出した文字ビット列の先頭ビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分を表すと扱い、基準となる文字コードにより表される数値に前記差分を加算することにより、抽出した文字ビット列に対応した文字コードを復元し、
抽出した文字ビット列の先頭ビットが0であれば、抽出した文字ビット列の先頭ビットの次のビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分の絶対値を反対にしたものであると扱い、基準となる文字コードにより表される数値から前記差分を減算することにより、抽出した文字ビット列に対応した文字コードを復元することを特徴とする文字列データ復元装置。
【0057】
(付記10)付記8又は付記9に記載の文字列データ復元装置であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が2以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が1である場合には、ビット数が2以上である区切りビット列の先頭ビットと同じ値をとる1ビットより構成されることを特徴とする文字列データ復元装置。
【0058】
(付記11)付記8乃至10の何れか1に記載の文字列データ復元装置であって、
前記文字ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
入力した圧縮文字列データに含まれる文字ビット列を前記圧縮情報記憶部に書き込み、入力した圧縮文字列データに含まれる区切りビット列を前記区切り情報記憶部に書き込む入力データ分離処理部と、
を更に備え、
前記文字コード復元処理部は、前記圧縮情報記憶部から圧縮文字列データを読み出し、前記区切り情報記憶部から区切りビット列を読み出すことを特徴とする文字列データ復元装置。
【0059】
(付記12)付記8乃至11の何れか1に記載の文字列データ復元装置であって、
前記基準となる文字コードは、各抽出した文字ビット列の直前に抽出した文字ビット列に対応する文字コードであることを特徴とする文字列データ復元装置。
【0060】
(付記13)文字コード列を含む文字列データを圧縮するための文字列データ圧縮方法であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理ステップと、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理ステップと、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理ステップと、
を有することを特徴とする文字列データ圧縮方法。
【0061】
(付記14)付記13に記載の文字列データ圧縮方法であって、
前記文字ビット列は、前記差分の値がゼロ以上である場合には、前記差分を2進数で表したときのビット列のうち値が1である最上位のビットから最下位ビットまでの範囲のものであり、前記差分の値がゼロ未満である場合には、前記差分の絶対値を2進数で表したときのビット列のうち値が1である最上位のビットから最下位ビットまでの範囲のものの前に0を付加したものであることを特徴とする文字列データ圧縮方法。
【0062】
(付記15)付記13又は付記14に記載の文字列データ圧縮方法であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が2以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が1である場合には、ビット数が2以上である区切りビット列の先頭ビットと同じ値をとる1ビットより構成されることを特徴とする文字列データ圧縮方法。
【0063】
(付記16)付記13乃至15の何れか1に記載の文字列データ圧縮方法であって、
前記情報結合処理ステップでは、前記区切りビット列を記憶するための区切り情報記憶部から全ての前記区切りビット列を読み出して出力した後に、前記文字列ビット列を記憶するための圧縮情報記憶部から全ての文字列ビット列を読み出して出力することを特徴とする文字列データ圧縮方法。
【0064】
(付記17)付記13乃至15の何れか1に記載の文字列データ圧縮方法であって、
前記情報結合処理ステップでは、前記文字ビット列を記憶するための圧縮情報記憶部から全ての文字列ビット列を読み出して出力した後に、前記区切りビット列を記憶するための区切り情報記憶部から全ての前記区切りビット列を読み出して出力することを特徴とする文字列データ圧縮方法。
【0065】
(付記18)付記13乃至15の何れか1に記載の文字列データ圧縮方法であって、
前記情報結合処理ステップでは、前記文字列コード圧縮処理ステップで出力される文字ビット列と前記区切り情報生成処理ステップで出力される区切りビット列とを別々の伝送路に出力することを特徴とする文字列データ圧縮方法。
【0066】
(付記19)付記13乃至18の何れか1に記載の文字列データ圧縮方法であって、
前記基準となる文字コードは、前記或る文字コードの直前の文字コードであることを特徴とする文字列データ圧縮方法。
【0067】
(付記20)文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元方法であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理ステップを有することを特徴とする文字列データ復元方法。
【0068】
(付記21)付記20に記載の文字列データ復元方法であって、
前記文字コード復元処理ステップでは、
抽出した文字ビット列の先頭ビットが1であれば、抽出した文字ビット列の先頭ビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分を表すと扱い、基準となる文字コードにより表される数値に前記差分を加算することにより、抽出した文字ビット列に対応した文字コードを復元し、
抽出した文字ビット列の先頭ビットが0であれば、抽出した文字ビット列の先頭ビットの次のビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分の絶対値を反対にしたものであると扱い、基準となる文字コードにより表される数値から前記差分を減算することにより、抽出した文字ビット列に対応した文字コードを復元することを特徴とする文字列データ復元方法。
【0069】
(付記22)付記20又は付記21に記載の文字列データ復元方法であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が2以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が1である場合には、ビット数が2以上である区切りビット列の先頭ビットと同じ値をとる1ビットより構成されることを特徴とする文字列データ復元方法。
【0070】
(付記23)付記20乃至22の何れかに記載の文字列データ復元方法であって、
入力した圧縮文字列データに含まれる文字ビット列を前記文字ビット列を記憶するための圧縮情報記憶部に書き込み、入力した圧縮文字列データに含まれる区切りビット列を前記区切りビット列を記憶するための区切り情報記憶部に書き込む入力データ分離処理ステップ、
を更に備え、
前記文字コード復元処理ステップでは、前記圧縮情報記憶部から圧縮文字列データを読み出し、前記区切り情報記憶部から区切りビット列を読み出すことを特徴とする文字列データ復元方法。
【0071】
(付記24)付記20乃至23の何れかに記載の文字列データ復元方法であって、
前記基準となる文字コードは、各抽出した文字ビット列の直前に抽出した文字ビット列に対応する文字コードであることを特徴とする文字列データ復元方法。
【0072】
(付記25)文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置としてコンピュータを機能させるための文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮プログラム。
【0073】
(付記26)付記25に記載の文字列データ圧縮プログラムであって、
前記文字ビット列は、前記差分の値がゼロ以上である場合には、前記差分を2進数で表したときのビット列のうち値が1である最上位のビットから最下位ビットまでの範囲のものであり、前記差分の値がゼロ未満である場合には、前記差分の絶対値を2進数で表したときのビット列のうち値が1である最上位のビットから最下位ビットまでの範囲のものの前に0を付加したものであることを特徴とする文字列データ圧縮プログラム。
【0074】
(付記27)付記25又は付記26に記載の文字列データ圧縮プログラムであって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が2以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が1である場合には、ビット数が2以上である区切りビット列の先頭ビットと同じ値をとる1ビットより構成されることを特徴とする文字列データ圧縮プログラム。
【0075】
(付記28)付記25乃至27の何れか1に記載の文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
前記文字列ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
を更に備え、
前記情報結合処理部は、前記区切り情報記憶部から全ての前記区切りビット列を読み出して出力した後に、前記圧縮情報記憶部から全ての文字列ビット列を読み出して出力することを特徴とする文字列データ圧縮プログラム。
【0076】
(付記29)付記25乃至27の何れか1に記載の文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
前記文字ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
を更に備え、
前記情報結合処理部は、前記圧縮情報記憶部から全ての文字列ビット列を読み出して出力した後に、前記区切り情報記憶部から全ての前記区切りビット列を読み出して出力することを特徴とする文字列データ圧縮プログラム。
【0077】
(付記30)付記25乃至27の何れか1に記載の文字列データ圧縮プログラムであって、
前記情報結合処理部は、前記文字列コード圧縮処理部から出力される文字ビット列と前記区切り情報生成処理部から出力される区切りビット列とを別々の伝送路に出力することを特徴とする文字列データ圧縮プログラム。
【0078】
(付記31)付記25乃至30の何れか1に記載の文字列データ圧縮プログラムであって、
前記基準となる文字コードは、前記或る文字コードの直前の文字コードであることを特徴とする文字列データ圧縮プログラム。
【0079】
(付記32)文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置としてコンピュータを機能させるための文字列データ復元プログラムであって、
前記文字列データ復元装置は、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元プログラム。
【0080】
(付記33)付記32に記載の文字列データ復元プログラムであって、
前記文字コード復元処理部は、
抽出した文字ビット列の先頭ビットが1であれば、抽出した文字ビット列の先頭ビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分を表すと扱い、基準となる文字コードにより表される数値に前記差分を加算することにより、抽出した文字ビット列に対応した文字コードを復元し、
抽出した文字ビット列の先頭ビットが0であれば、抽出した文字ビット列の先頭ビットの次のビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分の絶対値を反対にしたものであると扱い、基準となる文字コードにより表される数値から前記差分を減算することにより、抽出した文字ビット列に対応した文字コードを復元することを特徴とする文字列データ復元プログラム。
【0081】
(付記34)付記32又は付記33に記載の文字列データ復元プログラムであって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が2以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が1である場合には、ビット数が2以上である区切りビット列の先頭ビットと同じ値をとる1ビットより構成されることを特徴とする文字列データ復元プログラム。
【0082】
(付記35)付記32乃至34の何れかに記載の文字列データ復元プログラムであって、
前記文字列データ復元装置は、
前記文字ビット列を記憶するための圧縮情報記憶部と、
前記区切りビット列を記憶するための区切り情報記憶部と、
入力した圧縮文字列データに含まれる文字ビット列を前記圧縮情報記憶部に書き込み、入力した圧縮文字列データに含まれる区切りビット列を前記区切り情報記憶部に書き込む入力データ分離処理部と、
を更に備え、
前記文字コード復元処理部は、前記圧縮情報記憶部から圧縮文字列データを読み出し、前記区切り情報記憶部から区切りビット列を読み出すことを特徴とする文字列データ復元プログラム。
【0083】
(付記36)付記32乃至35の何れかに記載の文字列データ復元プログラムであって、
前記基準となる文字コードは、各抽出した文字ビット列の直前に抽出した文字ビット列に対応する文字コードであることを特徴とする文字列データ復元プログラム。
【符号の説明】
【0084】
1 データ入力装置
2 データ圧縮処理装置
3 記憶装置
4 圧縮データ出力装置
11 圧縮データ入力装置
12 データ復元処理装置
13 記憶装置
14 データ出力装置
21 文字コード圧縮処理部
22 区切り情報生成処理部
23 情報結合処理部
31 圧縮情報記憶部
32 区切り情報記憶部
41 入力データ分離処理部
42 文字コード復元処理部
51 圧縮情報記憶部
52 区切り情報記憶部

【特許請求の範囲】
【請求項1】
文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮装置。
【請求項2】
請求項1に記載の文字列データ圧縮装置であって、
前記文字ビット列は、前記差分の値がゼロ以上である場合には、前記差分を2進数で表したときのビット列のうち値が1である最上位のビットから最下位ビットまでの範囲のものであり、前記差分の値がゼロ未満である場合には、前記差分の絶対値を2進数で表したときのビット列のうち値が1である最上位のビットから最下位ビットまでの範囲のものの前に0を付加したものであることを特徴とする文字列データ圧縮装置。
【請求項3】
請求項1又は2に記載の文字列データ圧縮装置であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が2以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が1である場合には、ビット数が2以上である区切りビット列の先頭ビットと同じ値をとる1ビットより構成されることを特徴とする文字列データ圧縮装置。
【請求項4】
文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元装置。
【請求項5】
請求項4に記載の文字列データ復元装置であって、
前記文字コード復元処理部は、
抽出した文字ビット列の先頭ビットが1であれば、抽出した文字ビット列の先頭ビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分を表すと扱い、基準となる文字コードにより表される数値に前記差分を加算することにより、抽出した文字ビット列に対応した文字コードを復元し、
抽出した文字ビット列の先頭ビットが0であれば、抽出した文字ビット列の先頭ビットの次のビットから最後のビットまでが抽出した文字ビット列に対応した文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分の絶対値を反対にしたものであると扱い、基準となる文字コードにより表される数値から前記差分を減算することにより、抽出した文字ビット列に対応した文字コードを復元することを特徴とする文字列データ復元装置。
【請求項6】
請求項4又は5に記載の文字列データ復元装置であって、
前記区切りビット列は、対応する文字ビット列とビット数が同一であり、ビット数が2以上である場合には、先頭ビットの値が他の全てのビットの値と異なったものであり、ビット数が1である場合には、ビット数が2以上である区切りビット列の先頭ビットと同じ値をとる1ビットより構成されることを特徴とする文字列データ復元装置。
【請求項7】
文字コード列を含む文字列データを圧縮するための文字列データ圧縮方法であって、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理ステップと、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理ステップと、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理ステップと、
を有することを特徴とする文字列データ圧縮方法。
【請求項8】
文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元方法であって、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理ステップを有することを特徴とする文字列データ復元方法。
【請求項9】
文字コード列を含む文字列データを圧縮するための文字列データ圧縮装置としてコンピュータを機能させるための文字列データ圧縮プログラムであって、
前記文字列データ圧縮装置は、
或る文字コードを、該或る文字コードにより表される数値から基準となる文字コードにより表される数値を差し引くことにより得られる差分に対応したビット列である文字ビット列に変換する文字コード圧縮処理部と、
隣接する文字ビット列の区切りを認識するための区切りビット列を生成する区切り情報生成処理部と、
前記文字ビット列の並びと前記区切りビット列の並びとを結合する情報結合処理部と、
を備えることを特徴とする文字列データ圧縮プログラム。
【請求項10】
文字ビット列及び該文字ビット列に対応した区切りビット列をそれぞれ1以上含む圧縮文字列データから圧縮される前の文字コード列を含む文字列データを復元するための文字列データ復元装置としてコンピュータを機能させるための文字列データ復元プログラムであって、
前記文字列データ復元装置は、
各区切りビット列を基に、それに対応した文字ビット列のビット数を検出し、検出したビット数を基に、前記圧縮文字列データから各文字ビット列を抽出し、抽出した文字ビット列と基準となる文字コードを基に圧縮前の各文字コードを復元する文字コード復元処理部を備えることを特徴とする文字列データ復元プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−34272(P2012−34272A)
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願番号】特願2010−173574(P2010−173574)
【出願日】平成22年8月2日(2010.8.2)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】