JP2004343459A - Data compression system and data decompression system - Google Patents
Data compression system and data decompression system Download PDFInfo
- Publication number
- JP2004343459A JP2004343459A JP2003137943A JP2003137943A JP2004343459A JP 2004343459 A JP2004343459 A JP 2004343459A JP 2003137943 A JP2003137943 A JP 2003137943A JP 2003137943 A JP2003137943 A JP 2003137943A JP 2004343459 A JP2004343459 A JP 2004343459A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compressed
- input
- string
- data string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、一定のデータ単位ごとに相関を有するデータを高能率に符号化して圧縮するデータ圧縮システム及びそのデータ圧縮システムにより圧縮されたデータを復元するためのデータ復元システムに関する。
【0002】
【従来の技術】
大容量の情報をできるだけ少ない容量で記憶し、あるいは転送するための技術として、高能率符号化技術が知られており、例えば、ハフマン符号化法のように出現率の高いものには短い符号を割り当て、出現率の低いものには長い符号を割り当てるFV(Fixed−to−Variable)符号化法や、LZ(Lempel−Ziv)符号化法(下記の特許文献1を参照)やLZW(Lempel−ZivWilch)符号化法(下記の特許文献2を参照)のように過去に出現したデータ列とこれから圧縮しようとしているデータ列の一致性を利用して圧縮する方式などが知られている。
【0003】
【特許文献1】
米国特許第4,464,650号明細書
【特許文献2】
米国特許第4,558,302号明細書
【0004】
【発明が解決しようとする課題】
しかしながら、従来のデータ圧縮技術は、データ圧縮の際に圧縮対象となるすべてのデータをいったんスキャンする必要があるために、データを入力しながら圧縮処理を実行することができず、すべてのデータの圧縮処理が完了するまでに多くの時間を要するなどの問題がある。
【0005】
そこで、このような問題を解決するためにデータを入力しながら圧縮処理を行うゼロ圧縮法や連長圧縮法などのいわゆる1パス圧縮・復元法が提案されている。しかしながら、これらの1パス圧縮・復元法は、圧縮対象であるデータが特定ワードの繰り返し構造を有する場合には高い圧縮率を達成することができるが、例えば画像データの水平方向や垂直方向などのように一定のデータ単位ごとに相関を有するデータを圧縮するには効率のよい圧縮方法とは言えない。
【0006】
ここで、一定のデータ単位ごとに相関を有するデータとは、図7に例示するように、例えば1ワード(32ビット:bit)単位のデータが1行にn列(図7に示した例では8列)配列され、隣接する行の間でそれぞれの列ごとに相関(類似性)を有するようなデータ構造を持つデータをいう。具体的に一例を挙げると、図7におけるb行目2列目のワードは、a行目2列目のワードと相関関係にあり、c行目2列目のワードとも相関関係にある。
【0007】
本発明は、以上に述べた状況を鑑みて成されたものであり、一定のデータ単位ごとに相関を有するデータを効率良く圧縮・復元することができるデータ圧縮システム及びデータ復元システムを提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は上記目的を達成するために、入力データ列と、その入力データ列と相関する位置のデータ列を比較し、一致した位置を固定ビット幅の符号に符号化してその符号と一致しない位置のデータ列を合成して圧縮するようにしたものである。
【0009】
すなわち本発明によれば、入力データのうち圧縮対象となるデータを所定の圧縮単位ビット数の入力データ列に分割する手段と、
前記入力データ列の比較対象となる一度入力された入力データ列を登録データ列として記憶する記憶手段と、
前記所定の圧縮単位ビット数に分割された入力データ列を更に任意のビット数幅に分割した各分割データ列と、前記記憶手段に記憶されている当該分割データ列と相関する位置の分割データ列を比較し、一致した位置の分割データ列を固定ビット幅の符号に符号化して、その符号と一致しない位置の分割データ列を合成して圧縮データとして圧縮するとともに、前記入力データ列を次の登録データ列として前記記憶手段に登録する圧縮手段とを、
有するデータ圧縮システムが提供される。
【0010】
また本発明によれば、請求項1に記載のデータ圧縮システムにより圧縮されたデータを復元するデータ復元システムであって、前の復元データ列を登録データ列として記憶する記憶手段と、
前記データ圧縮システムにより圧縮された圧縮データ列内の符号化データに基づいて前記記憶手段に記憶されている分割復元データ列を抽出し、抽出した分割復元データ列と前記一致しない位置の分割データ列を合成して復元データ列を生成するとともに、前記生成した復元データ列を次の登録データ列として前記記憶手段に登録する復元手段とを、
有するデータ復元システムが提供される。
【0011】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。図1は本発明に係るデータ圧縮システムの一実施の形態を示すブロック図、図2は図1の圧縮アルゴリズム実行部の圧縮アルゴリズムを説明するためのフローチャート、図3は図1の圧縮アルゴリズム実行部の圧縮アルゴリズムを示す説明図、図4は符号化例を示す説明図である。
【0012】
<データ圧縮システム>
図1に示すように、本実施の形態によるデータ圧縮システムは、圧縮対象となる入力データを所定の圧縮ビット数幅の列に分割して入力するデータ入力部1と、入力データと比較対象となる登録データを上述の所定ビット数幅の列に分割して記憶する登録データ列メモリ3と、入力データに対して圧縮処理を行う圧縮アルゴリズム実行部2と、圧縮されたデータを出力するデータ出力部4を有する。
【0013】
圧縮アルゴリズム実行部2は、データ入力部1から入力された入力データ列と、この入力データ列と相関する列配置に記憶されている登録データ列とを比較する。そして、入力データ列を更に任意に分割設定した複数のデータ幅における入力データ列と登録データ列との一致するデータ列を判定し、判定した結果に応じた固定幅符号を固定幅符号テーブル5から取得し、取得した固定幅符号と、一致データ幅以外の入力データ列のビット部分とを入力データの圧縮データとしてデータ出力部4に出力する。さらに、圧縮アルゴリズム実行部2は、圧縮前の入力データ列を次の比較対象となる登録データとして登録データ列メモリ3の対応する列位置に登録する。
【0014】
次に、図2を参照しながら圧縮アルゴリズム実行部2が実行するデータ圧縮処理について説明する。ステップS0の処理において、圧縮アルゴリズム実行部2は初期設定処理を行う。具体的には、内部カウンタである登録データカウンタNをリセット(Nに1をセット)し、さらに、比較対象となる登録データを所定ビット数幅の列に分割して登録データ列メモリ3に記憶する。ここで「登録データカウンタN」は、データ入力部1に入力される入力データ列の列番号を示すインデックスであり、第1列目の入力データを処理する際にはN=1であり、第2列目の入力データを処理する際にはN=2,...,第n列目の入力データを入力する際にはN=nと推移していく。
【0015】
また、このステップS0の処理において登録データ列メモリ3に登録する登録データとしては、入力データの第1行目のデータを所定ビット数幅の列に分割して登録し、入力データの第2行目データから圧縮処理を開始し、入力データの第1行目のデータは圧縮しないままデータ出力部4に出力する。もしくは、圧縮対象となる入力データの第1行目のデータから処理を開始できるようにするために、所定のダミーデータを登録データ列メモリ3に登録するようにしてもよい。
【0016】
圧縮アルゴリズム実行部2は、次のステップS1の処理においてデータ入力部1により入力された圧縮対象の第N列目の入力データ列を取得し、続くステップS2の処理において登録データカウンタNの値に対応する登録データ列メモリ3の比較対象の第N列目に格納されている登録データ列を取得する。圧縮アルゴリズム実行部2は、続くステップS3の処理において、取得した第N列目の入力データ列及び登録データ列を、あらかじめ設定した複数の任意の幅のデータにそれぞれ分割し、続くステップS4の処理においてステップS3の処理により分割した分割後入力データ、分割後登録データの対応するデータ同士の一致を判定する。
【0017】
圧縮アルゴリズム実行部2は続くステップS5の処理において、図3に例示するように、登録データ列a、入力データ列bをそれぞれステップS3で任意の幅に分割した分割後登録データ(c、d、e)、分割後入力データ(f、g、h)における対応するデータ同士の一致、不一致判定結果に応じた固定幅符号を図4に示すような固定幅符号テーブル5から取得する。
【0018】
図3及び図4に示した例は、32bit(ビット)の登録データ列aと32bitの入力データ列bをそれぞれ4bit、8bit、20bitに分割した分割後登録データc、d、e、分割後入力データf、g、hにおける同じ位置のcとf、dとg、eとhの一致判定に応じた4bitの固定幅符号の判定例(bit値を16進数表記)を示しており、例えば、
・分割後登録データcと分割後入力データfが一致し、分割後データc、f以外は一致しない場合には4bitの固定幅符号「4」を設定し、
・分割後登録データcと分割後入力データfが一致し、分割後登録データdと分割後入力データgが一致し、分割後データ(c、f)、(d、g)以外は一致しない場合には4bitの固定幅符号「7」を設定し、
・分割後登録データc、d、eが分割後入力データf、g、hとすべて一致しない場合には4bitの固定幅符号「1」を設定する。
【0019】
ステップS6の処理において、圧縮アルゴリズム実行部2は、取得した固定幅符号と、ステップS4の処理において一致しなかった分割後入力データとを合成し、第N列目の入力データの圧縮データとしてデータ出力部4に出力する。
【0020】
例えば、図3に示した例では、
・分割後登録データc、d、eが分割後入力データf、g、hとすべて一致しない場合には、4bitの固定幅符号「1」と不一致部分の分割後入力データf、g、hを出力し、
・分割後登録データcと分割後入力データfが一致し、分割後データc、f以外は一致しない場合には、4bitの固定幅符号「4」と不一致部分の分割後入力データg、hを出力し、
・分割後登録データc、d、eが分割後入力データf、g、hとすべて一致した場合には、4bitの固定幅符号「8」のみを出力する。つまり、一致する分割後データが多いほど(相関度が高いほど)圧縮効率が高くなる。
【0021】
圧縮アルゴリズム実行部2は、ステップS7の処理において、登録データ列メモリ3の第N列に圧縮対象であった入力データ列を登録し、続くステップS8の処理において登録データカウンタNの値が登録データ列メモリ3の最大アドレス値n(最大列数n)であるか否かを判別する。そして、判別の結果、登録データ列Nの値が最大アドレス値nでない場合、圧縮アルゴリズム実行部2は、ステップS9の処理として登録データカウンタNの値に1を加算して、ステップS1の処理に戻り、次の入力データ列に対する処理に移行する。
【0022】
一方、ステップS8の判別の結果、登録データ列Nの値が最大アドレス値n(最大列数n)である場合は、圧縮アルゴリズム実行部2は、ステップSaの処理として登録データカウンタNの値を1にリセットして、ステップS1の処理に戻り、次の行の第1列の入力データ列に対する処理に移行する。圧縮アルゴリズム実行部2は、以上の処理をデータ入力部1が入力するすべての入力データについて実行する。
【0023】
以上の説明から明らかなように、本実施の形態によるデータ圧縮システムにおいては、圧縮アルゴリズム実行部2が、入力データ列と相関位置関係にある登録データ列とを比較し、任意に分割設定した複数のデータ幅における入力データ列と登録データ列との、個々の一致を判定した判定結果に応じた固定幅符号と不一致部分のビット列とを圧縮データとして出力し、圧縮前の入力データ列を、次の比較対象となる登録データ列として対応する列位置に登録する。このような構成によれば、一定のデータ単位ごとに相関を有するデータであっても、データを入力しながら、効率良く高速に圧縮することができる。
【0024】
<データ復元システム>
次に図5、図6を参照して、本実施の形態によるデータ復元システムの構成について説明する。図5に示すように、データ復元システムは、上記の実施の形態によるデータ圧縮システムにより圧縮された圧縮データ列を含むデータを入力するデータ入力部11と、比較対象となる登録データを所定の幅の列に分割して記憶する登録データ列メモリ13と、入力された圧縮データに対して復元処理を行う復元アルゴリズム実行部12と、復元されたデータを出力するデータ出力部14を有する。
【0025】
復元アルゴリズム実行部12は、データ入力部11から入力した圧縮データ列に含まれる固定幅符号に基づいて固定幅符号テーブル15から、圧縮データ列と相関する列位置に記憶されている登録データ列の、圧縮前のデータ列との、任意に分割した各データ幅における一致部分を求め、前記登録データ列から一致部分を取り出し、取り出した一致部分と当該圧縮データ列の固定幅符号以降のbit部分とを合成して所定ビット数幅の復元データ列としてデータ出力部14に出力する。さらに、復元アルゴリズム実行部12は、当該復元データ列を次の比較対象となる登録データとして登録データ列メモリ13の対応する列位置に登録する。
【0026】
なお、図5に示すデータ復元システムは、図1に示したデータ圧縮システムとは別体のシステム構成として説明するが、例えば、データ入力部11、登録データ列メモリ13、固定幅符号テーブル15、データ出力部14などの構成要素の一部若しくは全部を、図1に示したデータ圧縮システムにおけるデータ入力部1、登録データ列メモリ3、固定幅符号テーブル5、データ出力部4などの構成要素と共通のシステムにより構成してもよい。
【0027】
次に図6に示すフローチャートを参照しながら、復元アルゴリズム実行部12が実行するデータ復元処理について説明する。ステップS10の処理において、復元アルゴリズム実行部12は初期設定処理として、内部カウンタである登録データカウンタをリセットしてNに1をセットし、更に、比較対象となる登録データを所定ビット数幅の列に分割して登録データ列メモリ13に記憶する。
【0028】
ここで、登録データ列メモリ13に登録する登録データとしては、図2を用いて説明したデータ圧縮システムのステップS0において入力データの第1行目のデータを圧縮しないまま出力していた場合には、このステップS10においても未圧縮の第1行目の入力データを所定ビット数幅の列に分割して登録し、圧縮データの第2行目のデータから復元処理を開始する。また、上記データ圧縮システムのステップS0において所定のダミーデータを登録データ列メモリ3に登録し、入力データの第1行目から圧縮処理を行った場合には、このステップS10においても所定のダミーデータを登録データ列メモリ13に登録し、圧縮データの第1行目のデータから復元処理を行う。
【0029】
復元アルゴリズム実行部12は、ステップS11の処理において、データ入力部11が入力した復元対象となる圧縮データの第N列目の入力データ列を取得し、続くステップS12の処理において入力された圧縮データ列から固定幅符号を抽出する。復元アルゴリズム実行部12は続くステップS13の処理において、固定幅符号テーブル15を参照して、登録データ列メモリ13の第N列目に格納されている登録データ列から、圧縮時に設定した複数の幅のデータにおける、取り出した固定幅符号に対応するデータを抽出し、続くステップS14の処理においてステップS13で抽出したデータのデータ幅に基づいて、入力データ列から不一致データ、つまり未圧縮であったデータを抽出する。
【0030】
復元アルゴリズム実行部12は、続くステップS15の処理において、第N列目の登録データ列から抽出したデータと、入力データ列から抽出した未圧縮のデータとを合成して元のデータを復元し、続くステップS16の処理において登録データ列メモリ13の第N列に、復元したデータを登録する。
【0031】
復元アルゴリズム実行部12は、続くステップS17の処理において、登録データカウンタNの値が登録データ列メモリ13の最大アドレス値n(最大列数n)であるか否かを判別する。そして、判別の結果、登録データ列Nの値がアドレス値nでない場合、復元アルゴリズム実行部12は、ステップS18の処理として登録データカウンタNの値に1を加算して、ステップS11の処理に戻り、次の入力データ列に対する処理に移行する。一方、判別の結果、登録データカウンタNの値が最大アドレス値n(最大列数n)である場合は、復元アルゴリズム実行部12は、ステップS19の処理として登録データカウンタNの値を1にリセットして、ステップS11の処理に戻り、次の第1列の入力データ列に対する処理に移行する。
【0032】
以上の説明から明らかなように、本実施の形態によるデータ復元システムでは、復元アルゴリズム実行部12が、圧縮データ列に含まれる固定幅符号を参照して圧縮済のデータの符号化部分を復元し、復元したデータと入力されたデータの符号化部分以外のデータとを合成することにより、復元対象となるデータを順次復元する。このような構成によれば、本実施の形態によるデータ圧縮システムにより圧縮されたデータを効率良く、高速に復元することができる。
【0033】
以上、本発明の実施の形態を詳細に説明したが、本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。例えば、本実施の形態では、32bit単位のデータが1行に8列ずつ配置され、隣接する行の間でそれぞれの列ごとに相関(類似性)を有するようなデータ構造をもつデータをモデルに説明したが、圧縮対象となるデータのデータ構造はこれに限定されない。1行当たりの列数は8列未満でも8列以上でもよいし、1列のデータ長は32bit未満でも32bit以上であってもよい。
【0034】
また、固定幅符号を、4bit、8bit、20bit に分割したデータ幅における一致度によって設定パターンを定めた例を示したが、例えば、分割するデータ幅は8bit、8bit、16bitとして、各分割データ幅における一致度によって設定パターンを定めてもよいし、固定幅符号の設定値も様々な値が想定される。
【0035】
【発明の効果】
以上説明したように、本発明によれば入力データ列と、その入力データ列と相関する位置のデータ列を比較し、一致した位置を固定ビット幅の符号に符号化して、その符号と一致しない位置のデータ列を合成して圧縮データとして圧縮するようにしたので、一定のデータ単位ごとに相関を有するデータを効率良く圧縮・復元することができる。
【図面の簡単な説明】
【図1】本発明に係るデータ圧縮システムの一実施の形態を示すブロック図である。
【図2】図1の圧縮アルゴリズム実行部の圧縮アルゴリズムを説明するためのフローチャートである。
【図3】図1の圧縮アルゴリズム実行部の圧縮アルゴリズムを示す説明図である。
【図4】符号化例を示す説明図である。
【図5】本発明に係るデータ復元システムの一実施の形態を示すブロック図である。
【図6】図5の復元アルゴリズム実行部の復元アルゴリズムを説明するためのフローチャートである。
【図7】一定周期ごとに相関をもつデータの構成図である。
【符号の説明】
1、11 データ入力部
2 圧縮アルゴリズム実行部
3、13 登録データ列メモリ
4、14 データ出力部
5、15 固定幅符号テーブル
12 復元アルゴリズム実行部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data compression system for efficiently encoding and compressing data having a correlation for each predetermined data unit and a data restoration system for restoring data compressed by the data compression system.
[0002]
[Prior art]
As a technique for storing or transferring a large amount of information with as small a capacity as possible, a high-efficiency coding technique is known. FV (Fixed-to-Variable) coding, LZ (Lempel-Ziv) coding (see
[0003]
[Patent Document 1]
US Patent No. 4,464,650 [Patent Document 2]
US Patent No. 4,558,302
[Problems to be solved by the invention]
However, conventional data compression techniques require that all data to be compressed be once scanned during data compression, and thus cannot perform compression processing while inputting data. There is a problem that it takes a lot of time to complete the compression process.
[0005]
In order to solve such a problem, a so-called one-pass compression / decompression method such as a zero compression method or a run length compression method for performing compression processing while inputting data has been proposed. However, these one-pass compression / decompression methods can achieve a high compression ratio when the data to be compressed has a specific word repetition structure. As described above, it is not an efficient compression method to compress data having a correlation for each fixed data unit.
[0006]
Here, the data having a correlation for each fixed data unit is, for example, as shown in FIG. 7, data of one word (32 bits: bit) unit is n columns in one row (in the example shown in FIG. 7, (8 columns) means data having a data structure that is arranged and has a correlation (similarity) between adjacent rows for each column. To give a specific example, the word in the b-th row and the second column in FIG. 7 has a correlation with the word in the a-th row and the second column, and also has a correlation with the word in the c-th row and the second column.
[0007]
The present invention has been made in view of the circumstances described above, and provides a data compression system and a data decompression system that can efficiently compress and decompress data having a correlation for each fixed data unit. With the goal.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, the present invention compares an input data sequence with a data sequence at a position correlated with the input data sequence, encodes the matched position into a code having a fixed bit width, and converts the position to a code that does not match the code. Are combined and compressed.
[0009]
That is, according to the present invention, means for dividing data to be compressed among input data into input data strings having a predetermined number of compression unit bits,
A storage unit that stores an input data sequence that has been input once to be compared with the input data sequence as a registered data sequence,
Each divided data string obtained by further dividing the input data string divided into the predetermined compression unit bit number into an arbitrary bit number width, and a divided data string at a position correlated with the divided data string stored in the storage means Are compared, the divided data string at the matched position is encoded into a code having a fixed bit width, and the divided data string at a position that does not match the code is synthesized and compressed as compressed data. Compression means for registering in the storage means as a registration data sequence,
A data compression system is provided.
[0010]
Further, according to the present invention, there is provided a data restoration system for restoring data compressed by the data compression system according to
Extracting a divided restored data string stored in the storage unit based on the encoded data in the compressed data string compressed by the data compression system, and extracting the divided restored data string at a position that does not match the extracted divided restored data string And generating a restored data string by synthesizing the data, and restoring means for registering the generated restored data string as the next registered data string in the storage means.
A data restoration system is provided.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a data compression system according to the present invention, FIG. 2 is a flowchart for explaining a compression algorithm of a compression algorithm execution unit in FIG. 1, and FIG. 3 is a compression algorithm execution unit in FIG. And FIG. 4 is an explanatory diagram showing an example of encoding.
[0012]
<Data compression system>
As shown in FIG. 1, the data compression system according to the present embodiment includes a
[0013]
The compression
[0014]
Next, a data compression process executed by the compression
[0015]
In the process of step S0, as the registration data to be registered in the registration
[0016]
The compression
[0017]
In the processing of the subsequent step S5, the compression
[0018]
The examples shown in FIG. 3 and FIG. 4 are divided registration data c, d, e obtained by dividing a 32-bit (bit) registration data string a and a 32-bit input data string b into 4 bits, 8 bits, and 20 bits, respectively, It shows an example of determination of a 4-bit fixed-width code (bit value is expressed in hexadecimal) according to the determination of coincidence between c and f, d and g, and e and h at the same position in data f, g and h.
If the post-division registration data c and the post-division input data f match, and the post-division data c and f do not match, a 4-bit fixed width code “4” is set,
When the post-division registration data c and the post-division input data f match, the post-division registration data d and the post-division input data g match, and the post-division data (c, f) and (d, g) do not match Is set to a 4-bit fixed width code "7",
If the post-division registration data c, d, and e do not all match the post-division input data f, g, and h, a 4-bit fixed-width code “1” is set.
[0019]
In the process of step S6, the compression
[0020]
For example, in the example shown in FIG.
If the post-division registration data c, d, and e do not all match the post-division input data f, g, and h, the 4-bit fixed-width code “1” and the post-division input data f, g, and h that do not match are used. Output,
If the post-division registration data c and the post-division input data f match but the post-division data c and f do not match, the post-division input data g and h of the part that does not match the 4-bit fixed width code “4” Output,
When the post-division registration data c, d, and e all match the post-division input data f, g, and h, only the 4-bit fixed width code “8” is output. That is, the compression efficiency increases as the number of matching post-division data increases (the correlation degree increases).
[0021]
The compression
[0022]
On the other hand, if the result of the determination in step S8 indicates that the value of the registered data string N is the maximum address value n (maximum number of columns n), the compression
[0023]
As is apparent from the above description, in the data compression system according to the present embodiment, the compression
[0024]
<Data restoration system>
Next, the configuration of the data restoration system according to the present embodiment will be described with reference to FIGS. As shown in FIG. 5, the data restoration system includes a
[0025]
The decompression
[0026]
The data restoration system shown in FIG. 5 will be described as a system configuration separate from the data compression system shown in FIG. 1. For example, a
[0027]
Next, the data restoration process executed by the restoration
[0028]
Here, as the registered data to be registered in the registered
[0029]
The decompression
[0030]
The decompression
[0031]
The restoring
[0032]
As is apparent from the above description, in the data decompression system according to the present embodiment, the decompression
[0033]
Although the embodiments of the present invention have been described in detail, the present invention can be implemented in various other forms without departing from the spirit or main features. For example, in the present embodiment, data having a data structure in which 32-bit data is arranged in eight columns in one row and has a correlation (similarity) between adjacent rows for each column is used as a model. Although described, the data structure of the data to be compressed is not limited to this. The number of columns per row may be less than eight columns or eight or more columns, and the data length of one column may be less than 32 bits or more than 32 bits.
[0034]
Also, an example is shown in which the fixed width code is divided into 4 bits, 8 bits, and 20 bits, and the setting pattern is determined by the degree of coincidence in the data width. For example, the divided data width is 8 bits, 8 bits, and 16 bits. The set pattern may be determined according to the degree of coincidence in, and various values are assumed for the set value of the fixed width code.
[0035]
【The invention's effect】
As described above, according to the present invention, an input data sequence is compared with a data sequence at a position correlated with the input data sequence, and the matched position is encoded into a code having a fixed bit width, and the code does not match the code. Since the data sequence at the position is synthesized and compressed as compressed data, data having a correlation for each fixed data unit can be efficiently compressed and restored.
[Brief description of the drawings]
FIG. 1 is a block diagram showing one embodiment of a data compression system according to the present invention.
FIG. 2 is a flowchart for explaining a compression algorithm of a compression algorithm execution unit in FIG. 1;
FIG. 3 is an explanatory diagram illustrating a compression algorithm of a compression algorithm execution unit in FIG. 1;
FIG. 4 is an explanatory diagram showing an encoding example.
FIG. 5 is a block diagram showing one embodiment of a data restoration system according to the present invention.
FIG. 6 is a flowchart for explaining a restoration algorithm of a restoration algorithm execution unit in FIG. 5;
FIG. 7 is a configuration diagram of data having a correlation every fixed period.
[Explanation of symbols]
1, 11
Claims (2)
前記入力データ列の比較対象となる一度入力された入力データ列を登録データ列として記憶する記憶手段と、
前記所定の圧縮単位ビット数に分割された入力データ列を更に任意のビット数幅に分割した各分割データ列と、前記記憶手段に記憶されている当該分割データ列と相関する位置の分割データ列を比較し、一致した位置の分割データ列を固定ビット幅の符号に符号化して、その符号と一致しない位置の分割データ列を合成して圧縮データとして圧縮するとともに、前記入力データ列を次の登録データ列として前記記憶手段に登録する圧縮手段とを、
有するデータ圧縮システム。Means for dividing data to be compressed among the input data into input data strings having a predetermined compression unit bit number,
A storage unit that stores an input data sequence that has been input once to be compared with the input data sequence as a registered data sequence,
Each divided data string obtained by further dividing the input data string divided into the predetermined compression unit bit number into an arbitrary bit number width, and a divided data string at a position correlated with the divided data string stored in the storage means Are compared, the divided data string at the matched position is encoded into a code having a fixed bit width, and the divided data string at a position that does not match the code is synthesized and compressed as compressed data. Compression means for registering in the storage means as a registration data sequence,
Data compression system.
前記データ圧縮システムにより圧縮された圧縮データ列内の符号化データに基づいて前記記憶手段に記憶されている分割復元データ列を抽出し、抽出した分割復元データ列と前記一致しない位置の分割データ列を合成して復元データ列を生成するとともに、前記生成した復元データ列を次の登録データ列として前記記憶手段に登録する復元手段とを、
有するデータ復元システム。A data restoration system for restoring data compressed by the data compression system according to claim 1, wherein a storage unit stores a previous restored data sequence as a registered data sequence,
Extracting a divided restored data string stored in the storage unit based on the encoded data in the compressed data string compressed by the data compression system, and extracting the divided restored data string at a position that does not match the extracted divided restored data string And generating a restored data string by synthesizing the data, and restoring means for registering the generated restored data string as the next registered data string in the storage means.
Data recovery system having.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003137943A JP2004343459A (en) | 2003-05-15 | 2003-05-15 | Data compression system and data decompression system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003137943A JP2004343459A (en) | 2003-05-15 | 2003-05-15 | Data compression system and data decompression system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004343459A true JP2004343459A (en) | 2004-12-02 |
Family
ID=33527479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003137943A Withdrawn JP2004343459A (en) | 2003-05-15 | 2003-05-15 | Data compression system and data decompression system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004343459A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013074354A (en) * | 2011-09-27 | 2013-04-22 | Nec Corp | Data transfer control device, data transfer control method, and data transfer control system |
-
2003
- 2003-05-15 JP JP2003137943A patent/JP2004343459A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013074354A (en) * | 2011-09-27 | 2013-04-22 | Nec Corp | Data transfer control device, data transfer control method, and data transfer control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4479530B2 (en) | Data compression apparatus and data restoration apparatus | |
EP0695040A2 (en) | Data compressing method and data decompressing method, and data compressing apparatus and data decompressing apparatus therefor | |
JP2000082967A (en) | Data compression method/device | |
JP2010136417A (en) | Data compression device and data decompression device | |
TWI330473B (en) | Huffman decoding method | |
KR20010006554A (en) | Method and apparatus for lossless digital data compression | |
US20060069857A1 (en) | Compression system and method | |
JPH07307675A (en) | Variable length code decoder and method for decoding variable length code value | |
US6912316B2 (en) | Data compression and reconstruction methods and apparatuses for hard copy device | |
CN109256178B (en) | Leon-RC compression method of genome sequencing data | |
JP2004343459A (en) | Data compression system and data decompression system | |
US5812076A (en) | Data compressing apparatus, data restoring apparatus and recording medium | |
JP2007104543A5 (en) | ||
JP2004158976A (en) | Data compressing and decompressing system | |
JPH08130652A (en) | Compression and expansion system for two-dimension image data | |
JP4093200B2 (en) | Data compression method and program, and data restoration method and apparatus | |
JP4093193B2 (en) | Data compression method and program, and data restoration method and apparatus | |
Amelio et al. | Image compression by 2D motif basis | |
JP2004120623A (en) | Encoding apparatus, encoding method, decoding apparatus and decoding method | |
US6819272B2 (en) | System, method and computer readable medium for compressing a data sequence for partial decompressing | |
JP3130324B2 (en) | Data compression method | |
JPH07336696A (en) | Compressing system and expanding system for two-dimensional image data | |
JPH06274311A (en) | Data compression device and data restoration device | |
JPH08130651A (en) | Compression and expansion system for two-dimension image data | |
JP2002016501A (en) | Variable length decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060801 |