JP2004343459A - Data compression system and data decompression system - Google Patents

Data compression system and data decompression system Download PDF

Info

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
Application number
JP2003137943A
Other languages
Japanese (ja)
Inventor
Takahiro Usami
貴弘 宇佐美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2003137943A priority Critical patent/JP2004343459A/en
Publication of JP2004343459A publication Critical patent/JP2004343459A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently compress/decompress correlated data for every fixed data unit. <P>SOLUTION: A compression algorithm executing unit 2 compares an input data string with a data string at a position in correlation with the input data string, and encodes the matched position into a code having a fixed bitwidth, and combines data strings at the positions which do not match the code and compresses it into compressed data. A decompression algorithm executing unit 12 decodes the codes in the compressed data string, and combines the data strings at positions which do not match each other. Thus, the input data string is compared with the data string at the position in correlation with the input data, and the matched position is encoded into the code having the fixed bitwidth, and the data strings at the positions which do not match the code are combined and compressed into the compressed data, so that the correlated data can be efficiently compressed/decompressed for every fixed data unit. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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 Patent Literature 1 below), LZW (Lempel-ZivWilch), and LZW (Lempel-ZivWilch) 2. Description of the Related Art There is known a method of performing compression by using the matching between a data string that has appeared in the past and a data string to be compressed, such as an encoding method (see Patent Document 2 below).
[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 claim 1, wherein a storage means for storing a previous restored data string as a registered data string;
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 data input unit 1 that divides input data to be compressed into a column having a predetermined compression bit width and inputs the divided data, A registered data string memory 3 for dividing the registered data into columns having the predetermined bit width and storing the data, a compression algorithm executing unit 2 for performing compression processing on the input data, and a data output for outputting the compressed data It has a part 4.
[0013]
The compression algorithm execution unit 2 compares the input data sequence input from the data input unit 1 with a registered data sequence stored in a column arrangement correlated with the input data sequence. Then, the input data sequence is further divided arbitrarily and a data sequence that matches the input data sequence and the registered data sequence in a plurality of data widths is determined, and a fixed-width code corresponding to the determined result is determined from the fixed-width code table 5. The acquired fixed width code and the bit portion of the input data string other than the matched data width are output to the data output unit 4 as compressed data of the input data. Further, the compression algorithm execution unit 2 registers the input data sequence before compression as registration data to be compared next at a corresponding column position in the registration data sequence memory 3.
[0014]
Next, a data compression process executed by the compression algorithm execution unit 2 will be described with reference to FIG. In the process of step S0, the compression algorithm execution unit 2 performs an initialization process. More specifically, the registered data counter N, which is an internal counter, is reset (N is set to 1), and the registered data to be compared is divided into columns having a predetermined bit width and stored in the registered data column memory 3. I do. Here, the “registered data counter N” is an index indicating the column number of the input data column input to the data input unit 1, and when processing the input data in the first column, N = 1. When processing the input data in the second column, N = 2,. . . , N = n when inputting the input data in the n-th column.
[0015]
In the process of step S0, as the registration data to be registered in the registration data string memory 3, the data of the first row of the input data is divided into columns having a predetermined bit width and registered, and the second row of the input data is registered. The compression process is started from the eye data, and the data of the first line of the input data is output to the data output unit 4 without being compressed. Alternatively, predetermined dummy data may be registered in the registered data string memory 3 so that processing can be started from the first row of input data to be compressed.
[0016]
The compression algorithm execution unit 2 obtains the Nth input data sequence to be compressed, which is input by the data input unit 1 in the next process of step S1, and sets the value of the registered data counter N in the subsequent process of step S2. The corresponding registered data string stored in the Nth column to be compared in the registered data string memory 3 is acquired. In the processing of the subsequent step S3, the compression algorithm execution unit 2 divides the acquired input data string and the registered data string of the N-th column into a plurality of data having a predetermined arbitrary width, respectively, and then proceeds to the processing of step S4. In step S3, it is determined whether or not the corresponding data of the divided input data and the divided registered data divided by the process of step S3 match.
[0017]
In the processing of the subsequent step S5, the compression algorithm execution unit 2 divides the registration data string a and the input data string b into arbitrary widths in step S3, as shown in FIG. e) A fixed-width code corresponding to the matching / mismatch determination result of the corresponding data in the divided input data (f, g, h) is obtained from the fixed-width code table 5 as shown in FIG.
[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 algorithm execution unit 2 combines the acquired fixed-width code and the divided input data that did not match in the process of step S4, and generates data as compressed data of the input data in the Nth column. Output to the output unit 4.
[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 algorithm execution unit 2 registers the input data sequence to be compressed in the N-th column of the registered data sequence memory 3 in the process of step S7, and in the subsequent process of step S8, sets the value of the registered data counter N to the registered data sequence. It is determined whether or not the maximum address value n (the maximum number of columns n) of the column memory 3 is reached. Then, as a result of the determination, if the value of the registered data string N is not the maximum address value n, the compression algorithm executing unit 2 adds 1 to the value of the registered data counter N as the processing of step S9, and proceeds to the processing of step S1. Then, the process returns to the next input data sequence.
[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 algorithm execution unit 2 executes the processing of step Sa to change the value of the registered data counter N The value is reset to 1, and the process returns to step S1 to shift to the process for the input data string in the first column of the next row. The compression algorithm execution unit 2 executes the above processing for all input data input by the data input unit 1.
[0023]
As is apparent from the above description, in the data compression system according to the present embodiment, the compression algorithm execution unit 2 compares the input data sequence with the registered data sequence having a correlation positional relationship, and arbitrarily sets the divided data sequence. The fixed-width code and the bit string of the mismatched portion according to the determination result of the individual match between the input data string and the registered data string at the data width of are output as compressed data, and the input data string before compression is Is registered at a corresponding column position as a registered data string to be compared. According to such a configuration, it is possible to efficiently and quickly compress even data having a correlation for each fixed data unit while inputting data.
[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 data input unit 11 for inputting data including a compressed data string compressed by the data compression system according to the above-described embodiment, and a registration data to be compared having a predetermined width. , A registration data string memory 13 for dividing and storing the data, a decompression algorithm executing unit 12 for performing decompression processing on the input compressed data, and a data output unit 14 for outputting the decompressed data.
[0025]
The decompression algorithm execution unit 12 outputs the registered data sequence stored in the column position correlated with the compressed data sequence from the fixed-width code table 15 based on the fixed-width code included in the compressed data sequence input from the data input unit 11. Calculate a matching portion of the data string before compression with each data width arbitrarily divided, extract a matching portion from the registered data sequence, and determine the extracted matching portion and a bit portion after the fixed width code of the compressed data sequence. Are combined and output to the data output unit 14 as a restored data string having a predetermined bit width. Further, the restoration algorithm execution unit 12 registers the restored data string as the next comparison target registration data at the corresponding column position in the registered data string memory 13.
[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 data input unit 11, a registered data string memory 13, a fixed width code table 15, A part or all of the components such as the data output unit 14 are combined with the components such as the data input unit 1, the registered data string memory 3, the fixed width code table 5, and the data output unit 4 in the data compression system shown in FIG. You may comprise by a common system.
[0027]
Next, the data restoration process executed by the restoration algorithm execution unit 12 will be described with reference to the flowchart shown in FIG. In the process of step S10, the restoration algorithm execution unit 12 resets a registered data counter, which is an internal counter, to 1 as an initial setting process, and further sets the registered data to be compared to a column having a predetermined bit width. And stored in the registered data string memory 13.
[0028]
Here, as the registered data to be registered in the registered data string memory 13, if the data of the first row of the input data is output without being compressed in step S0 of the data compression system described with reference to FIG. Also in this step S10, the uncompressed input data of the first row is divided into columns having a predetermined bit width and registered, and the decompression process is started from the data of the second row of the compressed data. When predetermined dummy data is registered in the registered data string memory 3 in step S0 of the data compression system and compression processing is performed from the first row of the input data, the predetermined dummy data is also stored in step S10. Is registered in the registered data string memory 13, and a restoration process is performed from the data in the first row of the compressed data.
[0029]
The decompression algorithm execution unit 12 acquires the Nth input data sequence of the decompression target compressed data input by the data input unit 11 in the process of step S11, and receives the compressed data input in the subsequent process of step S12. Extract the fixed-width code from the column. In the processing of the subsequent step S13, the decompression algorithm executing unit 12 refers to the fixed width code table 15 and extracts a plurality of widths set during compression from the registered data string stored in the Nth column of the registered data string memory 13. In the data of (i), data corresponding to the extracted fixed-width code is extracted, and in the subsequent processing of step S14, based on the data width of the data extracted in step S13, mismatched data, that is, uncompressed data, Is extracted.
[0030]
The decompression algorithm execution unit 12 decomposes the original data by combining the data extracted from the Nth registered data sequence and the uncompressed data extracted from the input data sequence in the subsequent step S15. In the subsequent step S16, the restored data is registered in the Nth column of the registration data column memory 13.
[0031]
The restoring algorithm execution unit 12 determines whether or not the value of the registered data counter N is the maximum address value n (the maximum number of columns n) of the registered data string memory 13 in the subsequent processing of step S17. If the result of the determination is that the value of the registered data string N is not the address value n, the restoration algorithm execution unit 12 adds 1 to the value of the registered data counter N as the processing of step S18, and returns to the processing of step S11. Then, the process proceeds to the next input data string. On the other hand, if the result of the determination indicates that the value of the registered data counter N is the maximum address value n (maximum number of columns n), the restoration algorithm execution unit 12 resets the value of the registered data counter N to 1 as the process of step S19. Then, the process returns to the process of step S11, and shifts to the process for the next input data sequence of the first column.
[0032]
As is apparent from the above description, in the data decompression system according to the present embodiment, the decompression algorithm execution unit 12 decompresses the coded part of the compressed data with reference to the fixed width code included in the compressed data sequence. Then, by combining the restored data with data other than the encoded part of the input data, the data to be restored is sequentially restored. According to such a configuration, data compressed by the data compression system according to the present embodiment can be efficiently and rapidly restored.
[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 Data input unit 2 Compression algorithm execution unit 3, 13 Registered data string memory 4, 14 Data output unit 5, 15 Fixed width code table 12 Restoration algorithm execution unit

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.
請求項1に記載のデータ圧縮システムにより圧縮されたデータを復元するデータ復元システムであって、前の復元データ列を登録データ列として記憶する記憶手段と、
前記データ圧縮システムにより圧縮された圧縮データ列内の符号化データに基づいて前記記憶手段に記憶されている分割復元データ列を抽出し、抽出した分割復元データ列と前記一致しない位置の分割データ列を合成して復元データ列を生成するとともに、前記生成した復元データ列を次の登録データ列として前記記憶手段に登録する復元手段とを、
有するデータ復元システム。
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.
JP2003137943A 2003-05-15 2003-05-15 Data compression system and data decompression system Withdrawn JP2004343459A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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