JP4479530B2 - データ圧縮装置、及びデータ復元装置 - Google Patents

データ圧縮装置、及びデータ復元装置 Download PDF

Info

Publication number
JP4479530B2
JP4479530B2 JP2005039807A JP2005039807A JP4479530B2 JP 4479530 B2 JP4479530 B2 JP 4479530B2 JP 2005039807 A JP2005039807 A JP 2005039807A JP 2005039807 A JP2005039807 A JP 2005039807A JP 4479530 B2 JP4479530 B2 JP 4479530B2
Authority
JP
Japan
Prior art keywords
data
compression
output
compressed
code
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.)
Active
Application number
JP2005039807A
Other languages
English (en)
Other versions
JP2006211621A (ja
Inventor
三好 笹倉
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2005039807A priority Critical patent/JP4479530B2/ja
Priority to US11/313,078 priority patent/US7233266B2/en
Priority to KR1020077014520A priority patent/KR100894002B1/ko
Priority to TW094146688A priority patent/TWI348284B/zh
Priority to DE602005024438T priority patent/DE602005024438D1/de
Priority to EP05844897A priority patent/EP1832000B1/en
Priority to PCT/JP2005/024241 priority patent/WO2006070925A1/en
Priority to CN2005800453617A priority patent/CN101095284B/zh
Publication of JP2006211621A publication Critical patent/JP2006211621A/ja
Application granted granted Critical
Publication of JP4479530B2 publication Critical patent/JP4479530B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • H03M7/48Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present

Description

本発明は文字データや画像データ等の各種のデータの圧縮装置、及び、復元装置に関する。
今日のコンピュータの急速な進歩に伴い、文字情報や、ベクトル情報、画像情報など、様々な情報がコンピュータで扱われ、扱われるデータ量も急速に増加している。このような現状において、伝送時間の短縮や記憶装置の記憶容量を効率的に利用するため、データに含まれる冗長な部分を省いてデータ量を圧縮するデータ圧縮方法、及びその復元方法が提案されている。
また、データを圧縮する際に使用される符号化方法として、文字情報、ベクトル情報、画像情報などの様々なデータに適用可能なユニバーサル符号化の手法が採用されている。さらに、ユニバーサル符号化には、文字列の類似性を利用する辞書型符号化方式と、文字の出現頻度を利用する確率統計型符号化方式がある。
辞書型符号化方式の代表的な例としてLempel−Ziv符号化があり、この符号化では、更にスライド辞書型(ユニバーサル型)と、動的辞書型(増分分解型)の2つのアルゴリズムが提案されている。スライド辞書型アルゴリズムの改良として、LZSS符号化や1/4インチ・カートリッジ磁気テープの標準圧縮方式であるQICー122符号化等が知られている。一方、動的辞書型アルゴリズムの改良としては、LZW(Lempel-Ziv-Welch)符号化等が知られている。
また、確率統計型圧縮方式は、統計的な各文字の出現頻度(出現確率)に従い、出現確率の高い文字に対して短い符号長を割り振ることによって圧縮効果を図る方式である。この確率統計型符号化方式の代表的なものとして、例えば算術符号化方式や、ハフマン符号化方式が知られている。ハフマン符号化方式では、各文字に対する符号として、その文字の出現頻度に逆比例した符号長を有する符号(ハフマン符号)が使用される。
一方、上記辞書型符号化方式と確率統計型圧縮方式を併せ持つ複合型のデータ圧縮方法もあり、例えば前述のLZSS法で圧縮したデータをハフマン法で圧縮するLZH法等の方法である。LZSS法が文字列を単位として圧縮する方法であり、ハフマン法は1文字単位の圧縮であるため、互いに補完し合うことが期待できる方法である。
ここで、従来のスライド辞書型アルゴリズム(LZ1)を説明する。このアルゴリズムは、演算量は多いが、高圧縮率が得られる方法である。すなわち、符号化データを過去のデータ系列の任意の位置から一致する最長の系列に区切り(部分列)、過去の文字列の複製として符号化する。図27はこの原理を説明する図である。
同図に示すPバッファには符号化済みの入力データが格納されており、Qバッファには符号化前のデータが入力する。この状態で、Qバッファに入力した文字列は、順次Pバッファに格納された文字列と照合され、Pバッファの中に一致する最長の文字列を求め、Pバッファの中に対応する最長文字列が存在すると、符号化処理を行う。例えば、同図に示すように、Pバッファに一致する文字列が存在する場合、[Pバッファの中の最長一致系列(部分文字列)の開始位置p1]、[Qバッファ内の一致する最大の長さq1]として、圧縮データを生成する。尚、この符号化処理により、例えば文字コードの文書情報は1/2程度に圧縮可能である。また、上記スライド辞書型アルゴリズムを用いた発明として、特許文献1がある。
次に、確率統計型符号化について説明する。確率統計型符号化方法は、図28に示すように入力バッファ、統計モデル部、頻度テーブル、及びエントロピー符号化部で構成され、統計モデル部は最初に全文字列を走査して各文字の出現頻度を算出し、エントロピー符号化部は統計モデル部で求められた出現確率に基づき作成した符号を各文字に割り当てる。
統計モデル部において求める出現頻度は、予め各文字の生起確率が求まる静的符号化方式と、最初に全文字列を走査して各文字の生起確率を得る準適応型符号化方式、及び各文字が出現する毎に頻度を取り生起確率を再計算する適応型符号化方式に分類される。尚、上記確率統計型符号化方式を使用した発明として特許文献2が開示されている。
特許第3241788号公報 特許第3276860号公報
しかしながら、上記圧縮方法では以下の問題がある。
先ず、辞書型符号化方式では、前述のように符号化済みの文字列の中から符号化対象の文字列に最大長に一致する文字部分列を検索し、その文字部分列を複製として符号化を実行する方式であり、高いデータ圧縮率が実現できる。この様なアルゴリズムを実装するには、データの圧縮率をより高めていく構成を採用する必要があると共に、符号化されたデータを利用し易い形式とする必要がある。
例えば、前述の例でデータ圧縮率を高めるためには、Pバッファの格納文字数や、Qバッファの格納文字数も増加する必要がある。しかし、PバッファやQバッファの格納文字数を増加すると、符号化データが8ビットの倍数でなくなる。この場合、データを転送する際にビット詰め等の面倒な処理が必要となり、極めて処理効率の悪いデータ圧縮方法となる。
また、ハードウェアで実現する場合、より大きなウィンドウサイズとなり、圧縮及び復元回路が単一の集積回路上に配置される場合問題となる。すなわち、回路が膨大になり、必要なハードウエアのコストが非常に高いなる。また、ウィンドウサイズを大きくすると、比較演算量が膨大になり、性能劣化を引き起す。
一方、確率統計型符号化方式では、1文字を符号化すると、整数ビットからなる符号が生成される。これに対し、算術符号化では一文字に対して端数ビットを割り当てることができる。算術符号化では、0以上、1未満の区間が、符号化すべきデータを構成する各文字の出現頻度に応じて順次狭められる。そして、全ての文字に対する処理が終了したとき、狭められた区間内の1点を表す数値が符号として出力される。
したがって、確率統計型符号化では、統計モデル部とエントロピー符号化部の2パスで符号化するため、処理速度が低速となる。また、可変長符号化のため、ソフトウエア的には、ビット操作を行う必要があり、この処理に時間を要する。
そこで、本発明は第1の圧縮手段で符号化した出力データ列を入力し、第2の圧縮手段で更に符号化する装置であり、第1の圧縮手段として辞書型符号化方法を用い、第2の圧縮手段として確率統計型符号化方法を用い、特徴の異なる符号化方法を組合せ、補完しあうことにより、より高速で且つ圧縮効率の高い、データ圧縮、復元装置、及びデータ圧縮、復元方法を提供するものである。
上記課題は本発明によれば、入力した符号化対象のデータ列に最大長に一致するデータ部分列を既に符号化済みのデータ列の中から検索し、そのデータ部分列を複製として符号化を実行する辞書型符号化方式によりデータ圧縮処理を行い、前記最長一致するデータ部分列の探索前、直前のデータ列と同一のデータ列の連続であるか判定し、同一のデータ列の連続である場合、連長文字圧縮の指示を行う第1のデータ圧縮手段と、該第1のデータ圧縮手段によって圧縮されたデータを入力とし、確率統計型符号化方式により圧縮処理する第2のデータ圧縮手段と、前記第1の圧縮手段のみによる前記入力データの圧縮処理を行った場合の第1の出力データの量と、前記第1の圧縮手段による前記入力データの圧縮処理を行いさらに前記第2の圧縮手段による圧縮処理を行って得られる第2の出力データの量とを求め、該第2の出力データ量が前記第1の出力データ量より増加するか否かを判定するサイズ算出・判定手段とを有し、前記第1のデータ圧縮手段は、前記第2のデータ圧縮手段への入力となるデータに含まれる同じデータの出現頻度の計数手段を有し、該出現頻度の計数結果を前記第2のデータ圧縮手段のデータ圧縮処理に使用し、前記第2の圧縮手段は、圧縮処理を行う前に圧縮後のデータサイズを計算し、最も少ないデータサイズとなる出力形式を判断し、該判断結果に従った圧縮データ出力形式に従って圧縮処理する符号化手段を備え、前記サイズ算出・判定手段により前記第2の出力データ量が前記第1の出力データ量より増加すると判定された場合、前記第2の圧縮手段による前記第2のデータ圧縮処理を行わず前記第1のデータ圧縮手段の圧縮処理結果を採用することを特徴とするデータ圧縮装置を提供することによって達成できる。
このように構成することにより、第1の圧縮手段として辞書型符号化方法を用い、第2の圧縮手段として確率統計型符号化方法を用い、特徴の異なる符号化方法を組合せ、補完しあうことにより、より高速で且つ圧縮効率の高いデータ圧縮を構成することができる。
また、前記第1のデータ圧縮手段は、例えば前記第1のデータ圧縮手段の出力データに含まれる同じデータの計数と前記入力データに含まれる同じデータの計数、つまり第2のデータ圧縮手段への入力となるデータに含まれる同じデータの出現頻度の計数手段を有し、該出現頻度の計数結果を前記第2のデータ圧縮手段のデータ圧縮処理に使用する構成である。
このように構成することにより、第2の圧縮手段による頻度テーブルの作成を第1の圧縮手段によって行うことができ、効率のよい圧縮処理が可能となる
た、前記サイズ算出・判定手段は、更に前記第2の圧縮手段のみの圧縮処理を行った場合の第3の出力データ量の計算も可能であり、前記第1の出力データ量が最小となる場合、前記第1の圧縮手段のみによる圧縮処理を行い、前記第2の出力データ量が最小となる場合、前記第1の圧縮手段、及び第2の圧縮手段による圧縮処理を行い、前記第3の出力データ量が最小となる場合、前記第2の圧縮手段のみによる圧縮処理を行い、前記入力データのデータ量が最小となる場合、前記第1の圧縮手段、及び第2の圧縮手段による圧縮処理を行わない構成である。
このように構成することにより、更に無駄な圧縮処理を行うことが無くなり、圧縮処理時間の短縮にも繋がる。
また、前記最長一致するデータの探索前、直前の文字データと同一の文字データの連続であるか判定し、文字データと同一の文字データの連続である場合、連長文字圧縮の指示を行う構成である。このように構成することにより、連続文字は連長文字圧縮され、より効率のよい圧縮処理を行うことができる。
また、前記第2の圧縮手段は、圧縮処理を行う前に圧縮後のデータサイズを計算し、最も少ないデータサイズとなる出力形式を判断し、該判断結果に従った圧縮データ出力形式に従って圧縮処理する符号化手段を備える構成であり、更に前記符号化手段は、出現頻度の高い順に予め所定数特定された高頻出文字コードと、入力データから前記高頻出文字コードを特定するテーブルからなり圧縮データの出力形式を規定する圧縮フォーマットを定義する準備処理手段を備える。
例えば、前記圧縮フォーマットには、出現頻度の最も高いコードが2ビットで表され、次に高い2個のコードが4ビットで表され、次に高い4個のコードが6ビットで表され、次に高い16個のコードが8ビットで表され、更にその他のコードが9ビットで表される。
このように構成することにより、辞書型符号化方式の圧縮処理の補完を、本発明の確率統計型符号化方式で行い、特徴の異なる符号化方法を組合せ、より高圧縮な圧縮処理を行うことができる。
一方、上記課題は本発明によれば、圧縮されたデータが入力し、確率統計型符号化方法により復号処理を行う第1の復号手段と、該第1の復号手段によって復号されたデータに対し、辞書型符号化方法により復号処理を行う第2の復号手段と、前記圧縮データには第1、第2の識別データが含まれるとともに、前記圧縮データに含まれる識別データの値を判定する判定手段とを備え、前記第1の復号手段は、入力データ中出現頻度の高い順に予め所定数特定された高頻出文字コードと、入力データから前記高頻出文字コードを特定するテーブルからなり圧縮データの出力形式を規定する圧縮フォーマットに従って符号化された圧縮データの前記テーブルの情報を読み出し、前記文字コードの検索を行い、前記文字コードを特定するとともに、前記判定手段によって第1の識別データであると判定されたとき、前記第1の復号手段は前記圧縮データを復号処理し、更に前記第2の復号手段は前記第1の復号手段により復号されて得られたデータを復号処理し、前記判定手段によって第2の識別データであると判定されたとき、前記第1の復号手段は前記圧縮データを復号処理することを特徴とするデータ復元装置を提供することによって達成できる。
のように構成することにより、圧縮処理の方式に適した復号方式によって圧縮データの復元を行うことができる。らに、前記判定手段は第3の識別データの判定も可能であり、該判定手段によって前記第3の識別データであると判定されたとき、前記圧縮データを第2の復号手段のみで復号処理する構成である。
このように構成することによっても、最も圧縮処理の方式に適した復号方式によって圧縮データの復元を行うことができる。
また、前記第1の復号手段は、入力データ中出現頻度の高い順に予め所定数特定された高頻出文字コードと、入力データから前記高頻出文字コードを特定するテーブルからなり圧縮データの出力形式を規定する圧縮フォーマットに従って符号化された圧縮データの前記テーブルの情報を読み出し、前記文字コード検索を行い、前記文字コード特定する構成である。
このように構成することにより、確率統計型符号化方式で行われた圧縮データの復号処理を、対応する最適な方式で復号処理でき、極めて効率のよい復元処理を行うことができる。
また、前記圧縮データが連長文字圧縮である場合、復号対象文字の連続長分の復号処理を行う構成である。このように構成することにより、前述と同様、圧縮方式に対応した極めて効率のよい復元処理を行うことができる。
一方、上記圧縮装置、及び復元装置は、同様な圧縮方法、及び復元方法によっても実現することができる。すなわち、特徴の異なる符号化方法を組合せ、補完しあうことにより、より高速で且つ圧縮効率の高い圧縮処理を行い、且つ正確な復元処理を行うデータ圧縮方法、及びデータ復元方法を実現できる。
本発明によれば、第1の圧縮手段として辞書型符号化方法を用い、第2の圧縮手段として確率統計型符号化方法を用い、特徴の異なる符号化方法を組合せ、補完しあうことにより、より高速で且つ圧縮効率の高い、データ圧縮、復元装置、及びデータ圧縮、復元方法を提供することができる。
また、圧縮処理の方式に適した復号方式によって圧縮データの復元を行うことができる。
以下、本発明の実施の形態を図面を参照しながら説明する。
(実施形態1)
図1は、本実施形態のデータ圧縮装置のシステム構成図である。
同図において、圧縮手段1は適応型の辞書型符号化方法(Lempel-Ziv法)を用いた第1の圧縮手段であり、圧縮手段2は準適応型(semi-adaptive)確率統計型符号化方法を用いた第2の圧縮手段である。入力データ列は、圧縮手段1に入力し、圧縮手段1によって符号化処理を行う。圧縮手段1によって符号化されたデータは中間データバッファ(RAM)13に供給され、更に後述する圧縮手段2によって圧縮処理が行われる。
圧縮手段1に入力するデータ列は、例えば文字データ、ベクトルデータ、画像データ等のデータであり、圧縮手段1は入力データを符号化済データの部分列のうち、最長一致するものを検索して符号化する、適応型の辞書型符号化方法であって、その識別フラグを除く符号データを1バイトデータとして出力し、また識別フラグ(1ビット)は8個まとめて1バイトデータとして出力することにより、全てバイト単位の出力とする。
図2は上記構成を具体的に説明する図である。先ず、同図(a)に示すように、入力データバッファ3はPバッファ4とQバッファ5で構成され、Pバッファ4は履歴バッファであり、32バイトで構成されている。また、Qバッファ5には入力文字列が供給され、9バイトで構成されている。また、同図に示す太枠Aはスライディング・ウィンドウであり、同図に示す矢印c方向にスライド可能に構成されている。
入力文字列は、前述のように文字データ、ベクトルデータ、画像データ等のデータであり、具体的にはスライディング・ウィンドウAを矢印c方向にスライドすることによって、Qバッファ5への入力データの取り込みを行う。
図2(b)は、圧縮データの具体的な構成を示す図である。最初の1バイトはフラグデータであり、フラグデータの後に8個の圧縮データ(及び非圧縮データ)が記録されている。フラグデータは同図(c)に示すように、1バイト8ビットのデータであり、データ“0”が非圧縮データを示し、データ“1”が圧縮データを示す。また、同図(c)に示す#1〜#8は、フラグデータに続く圧縮データ(及び非圧縮データ)に付された#1〜#8に対応する。
例えば、最初のフラグデータ(#1)がフラグ“1”である場合、8個の圧縮データ及び非圧縮データの最初の(#1)のデータは、1バイト(8ビット)の圧縮データである。同図(f)に示すデータ構成は、上記圧縮データの例を示し、上位5ビットが一致開始位置のデータを記録し、下位3ビットが一致文字列の長さデータを記録する。したがって、Pバッファ4は5ビットで表せる容量を有するバッファであり、また9バイトの文字列のデータの一致検索を行うことができる。
一方、最初のフラグデータ(#1)がフラグ“0”である場合、8個の圧縮データ(及び非圧縮データ)の最初の(#1)のデータは、1バイト(8ビット)の非圧縮データである。同図(e)に示すデータ構成は、この非圧縮データの例を示し、原データのままの記述される。
尚、#2以降の圧縮データ(及び非圧縮データ)についても同様であり、フラグデータに記録されたフラグの状態に対応した圧縮データ、又は非圧縮データが記録されている。尚、上記8個の圧縮データ(及び非圧縮データ)に続くフラグデータは、同図(d)に示すように、次の#9〜#16の圧縮データ(及び非圧縮データ)の情報が記録されている。
本例では、スライド辞書のPバッファ(履歴バッファ)とQバッファを小さくし、その文字列参照の符号化データ(その識別フラグを除く)を1バイトデータとして全てバイト単位の出力としている。
したがって、本例によれば、第1の圧縮手段のスライド辞書を小さくしたことにより、圧縮効果はやや低下するが、処理の高速化を図ることができる。また、ハード構成においても、履歴アレイやシフトレジスタの「スライド辞書のPバッファ」と、比較器等が非常に少なくすることができ、回路規模を小さくすることもできる。
また、第2の圧縮手段を備えたことにより、圧縮効率が低下した分、第2の圧縮処理によりカバーでき、高圧縮、高効率の圧縮装置を実現できる。
また、第1の圧縮手段を全てバイトデータで取り扱うことにより、第1、第2の圧縮手段共に、全てバイト単位で扱うことができ、ビット操作を極力少なくでき、高速化を図ることができる。
(実施形態2)
次に、本発明の実施形態2について説明する。
図3は、本実施形態の圧縮装置を説明するシステム構成図である。同図も前述の図1と同様、圧縮手段11は適応型の辞書型符号化方法(Lempel-Ziv法)を用いた第1の圧縮手段であり、圧縮手段12は準適応型(semi-adaptive)確率統計型符号化方法を用いた第2の圧縮手段である。但し、本例の圧縮手段11は圧縮手段12で使用する出現頻度の計数処理も同時に行う構成である。以下、具体的に説明する。
本例においても、前述の実施形態例と同様、入力データは圧縮手段1に入力し、符号化処理が行われる。圧縮手段1に入力するデータ列は、例えば文字データ等であり、圧縮手段1は入力データを辞書内の符号化済データの部分列のうち、最長一致するものを検索して符号化する。この符号化されたデータは、RAMで構成される中間データバッファ13に供給され、所定量の符号化データが入力すると、圧縮手段12に出力する。
一方、圧縮手段11は圧縮手段12で行う圧縮処理に必要な出現頻度の計数処理を行い、計数結果を頻度テーブル14に出力する。すなわち、圧縮手段12で使用する頻度テーブルを生成し、圧縮手段12が行う確率統計型符号化方法を用いた圧縮処理を効率よく行えるように構成する。
このように、本例によれば第1の圧縮手段である圧縮手段11により符号データを生成する際、出現頻度の計数も同時に行うことにより、第2の圧縮手段である圧縮手段12は頻度テーブルのデータを使用して圧縮処理を行うことができ、圧縮処理の高速化を図ることができる。
(実施形態3)
次に、本発明の実施形態3について説明する。
図4は、本実施形態の圧縮処理を説明する図である。同図において、入力バッファ20には前述の文字データ等の入力データ列が供給され、この入力データは入力バッファ20から更に第1の圧縮手段である圧縮手段21に供給される。圧縮手段21は前述と同様、適応型の辞書型符号化方法を用いた圧縮手段であり、出現頻度の計数処理も行う。
圧縮手段21では、入力データの符号化を行い、中間データバッファ23に出力すると共に、上記のように第1のデータ圧縮手段の出力データのサイズの計数、及び符号化データを生成する際の出現頻度の計数も同時に行う。
頻度テーブル24は、上記出現頻度を記録するテーブルであり、上記圧縮手段21から出力される計数データをカウンタアップし、例えば文字コード毎に出現頻度のデータを記録する。サイズ算出・判定手段25は、第2の圧縮手段である圧縮手段22が圧縮処理を行った場合の圧縮データサイズ(圧縮率)を計算し、第1の圧縮後のサイズよりも出力データ量が増加するか判定する。
そして、出力データ量が増加すると判定する場合には、識別データとしてマジックナンバー1を出力する。一方、出力データ量が増加しないと判定する場合には、識別データとしてマジックナンバー2を出力する。
また、サイズ算出・判定手段25は、出力データ量が増加すると判定する場合、第2の圧縮処理を行うことなく、元データ出力手段26に対して中間データバッファ23に記録された第1の圧縮結果を出力データバッファ27に出力するよう指示する。一方、出力データ量が増加しないと判定する場合、第2の圧縮手段である圧縮手段22に対し、中間データバッファ23に記録された第1の圧縮結果のデータ列を入力し、第2の圧縮処理を行うよう指示する。
図5は上記識別データの例を示す図であり、マジックナンバーを2つ用意し、同図(a)に示すマジックナンバー1は第1の圧縮方法で圧縮処理し、第2の圧縮方法での処理を行わなかった場合の識別データを示す。一方、図(b)に示すマジックナンバー2は第1の圧縮方法で圧縮処理し、更に第2の圧縮方法で圧縮処理を実施したことを示す。尚、上記識別データについては、2つのマジックナンバーに代えて、本圧縮方法で圧縮したことを示すマジックナンバーと、第2の圧縮を行ったか/行わなかったかを示すフラグで構成してもよい。
上記処理により、出力データバッファ27には、識別データに対応する出力が供給され、出力データバッファ27から圧縮処理されたデータが出力される。
以上のように、本例によれば第1の圧縮処理を行った後、第2の圧縮処理を行った場合の圧縮データサイズ(圧縮率)を計算し、第1の圧縮処理後の出力データサイズよりデータ量が増加する場合第2の圧縮を行うことなく、第1の圧縮処理の結果よりサイズが増大する圧縮処理を行うことを回避できる。また、無駄な第2の圧縮処理を行わずに済み、効率のよい圧縮処理が可能となる。
(実施形態4)
次に、本発明の実施形態4について説明する。
図6は、本実施形態の圧縮処理を説明する図である。本例は前述の実施形態3に対して、更にもう1つ出現頻度テーブルを設け、より効率のよい圧縮処理を可能とする構成である。以下、具体的に説明する。尚、前述の図4と同じ構成部分には同じ番号を使用して説明する。
前述と同様、入力データバッファ20には文字データ等の入力データ列が供給され、更に入力データバッファ20に供給された入力データは、第1の圧縮手段である圧縮手段21に供給される。圧縮手段21は適応型の辞書型符号化方法を用いた圧縮手段であり、入力データの圧縮処理を行い、中間データバッファ23に符号化データを出力する。また、前述と同様、入力データ列及び第1圧縮後の符号化データ列の各サイズの計数と各データ列のデータの出現頻度の計数も同時に行う。
本例において、頻度テーブルは24a、24bの2つの頻度テーブルを有し、頻度テーブル24a、24bは前述と同様、例えば文字コード毎に出現頻度のデータを記録する。また、サイズ算出・判定手段25は、第2の圧縮手段である圧縮手段22が圧縮処理を行った場合の圧縮データサイズ(圧縮率)を計算し、第1の圧縮後のサイズよりも出力データ量が増加するか判定する。
サイズ算出・判定手段25は、以下(1)〜(4)のサイズを知り、以下の処理を行う。すなわち、(1)入力(原)データ列のサイズ、(2)第1の圧縮手段の出力サイズ、(3)入力(原)データ列を第2の圧縮手段のみで圧縮した場合の出力サイズ、(4)第1の圧縮手段の出力データ列を第2の圧縮手段で更に圧縮した場合の出力サイズ。
先ず、上記(1)が最小となる場合、入力データをそのまま出力する。すなわち、サイズ算出・判定手段25は、識別データとしてマジックナンバー1を出力し、元データ出力手段26に対して、入力データバッファ20に入力したデータ列を出力するように指示する。したがって、第1の圧縮処理、及び第2の圧縮処理を行うことなく、入力バッファ20に供給された入力データを元データ出力手段26に出力し、更に元データ出力手段26から出力データバッファ27介して出力を行う。
次に、上記(2)が最小となる場合、第1の圧縮処理を行い、第2の圧縮処理を行うことなく、データ列の出力を行う。すなわち、この場合、サイズ算出・判定手段25は、識別データとしてマジックナンバー2を出力し、元データ出力手段26に対し、中間データバッファ23に記録されたデータ列の出力を行うように指示する。したがって、この場合、中間データバッファ23に格納された符号化データは元データ出力手段26、出力データバッファ27を介して出力される。
次に、上記(3)が最小となる場合、入力データを第2の圧縮処理のみを行い出力する。すなわち、この場合、サイズ算出・判定手段25は識別データとしてマジックナンバー3を出力し、第2の圧縮手段22に対し、入力データバッファ20からデータ列の入力を行わせ、第2の圧縮処理を施すよう指示する。したがって、この指示に基づき、第2の圧縮手段22は、入力データバッファ20のデータ列を入力し、第2の圧縮処理を施し、出力データバッファ27にデータ出力を行う。
次に、上記(4)が最小となる場合、入力データに対して第1、第2の圧縮処理を行い出力する。すなわち、この場合、サイズ算出・判定手段25は識別データとしてマジックナンバー4を出力し、第2の圧縮手段22に対し、圧縮処理を指示する。したがって、この指示に基づき、圧縮手段22は、中間データバッファ23に記録された符号化データに対して、更に圧縮処理を施し、出力データバッファ27を介して圧縮データの出力を行う。
尚、識別データの各マジックナンバーの意味は図7(a)に示す通りであり、マジックナンバーを4つ用意し、マジックナンバー1は本圧縮方法で圧縮したことと第1、第2の圧縮共に未実施を示し、マジックナンバー2は本圧縮方法で圧縮したことと第1の圧縮は実施、第2の圧縮は未実施を示し、マジックナンバー3は本圧縮方法で圧縮したことと第1の圧縮は未実施、第2の圧縮は実施したことを示し、マジックナンバー4は本圧縮方法で圧縮したことと第2の圧縮共に実施した意味を持つ。
また、識別データについては、同図(b)に示すように、4つのマジックナンバーの代わりに、本圧縮方法で圧縮したことを示すマジックナンバーと、第1の圧縮を行ったか/行わなかったかを示すフラグ、及び第2の圧縮を行ったか/行わなかったかを示すフラグで構成される構成としてもよい。
以上のように、本例によれば、第1及び第2の圧縮の2つの手段を組み合わせ、最も圧縮効率のよい圧縮結果を提供でき、かつ最悪の場合でも入力データサイズより増大することを防止できる。
(実施形態5)
次に、本発明の実施形態5について説明する。
図8は、本実施形態の圧縮処理を説明する図である。本例は前述の実施形態1乃至4と異なり、準適応型の確率統計型符号化による圧縮処理を説明するものであり、本例の圧縮手段31は統計モデル処理手段32とエントロピー符号化手段34とで構成される。以下、具体的に説明する。
先ず、入力データバッファ30には、前述の文字データ等の入力データが供給され、例えば前述の第1の圧縮手段によって圧縮処理された圧縮データが供給される。入力データバッファ30に供給された入力データは、統計モデル処理手段32に供給される。統計モデル処理手段32は、各バイトデータの出現頻度を計数する。この出現頻度の計数結果は頻度テーブル33に供給され、頻度テーブル33に出現頻度の計数結果を記憶する。
エントロピー符号化手段34は、準備処理部35、エントロピー符号化処理部36、出力データバッファ1(F1テーブル)〜出力データバッファ8(F8テーブル)、及び符号データ出力処理手段37で構成されている。
準備処理部35は圧縮データサイズの計算を行い、出力データバッファ1(F1テーブル)〜出力データバッファ8(F8テーブル)の割当て処理、及び後述するベストモード1〜23のコード等をヘッダ部に出力する処理を行う。また、エントロピー符号化処理部36は、上記準備処理部35によって作成されたベストモードの情報に基づいて圧縮フォーマットを生成する。
先ず、準備処理部35の処理について説明する。尚、図9は準備処理部35の構成及び処理概要を説明する図であり、同図のaは、前述の頻度テーブル33である。頻度テーブル33は文字コード(バイトデータ(00〜FF))に対応するカウンタ値(頻度)が格納されており、準備処理部35は、このカウンタ値(頻度)をもとに、ベスト(以下、Bestで示す)23より頻度の多いコードと、該コードの頻度(カウンタ)を格納する記憶エリアbを作成する。
図10は、準備処理部35が行う処理を説明するフローチャートである。先ず、記憶エリアa、及びbに記憶されたコードテーブルや頻度テーブルの初期化を行い、総頻度数を0クリアする(ステップ(以下、STで示す)1)。次に、頻度テーブルのデータが0であるか判断し(ST2)、頻度テーブル33にデータが存在することを確認して(ST2がNO)、頻度テーブル33からデータを取り出す(ST3)。
次に、取り出した頻度データを総頻度数に累計する(ST4)。そして、Best23のコードの頻度が0であるか判断する(ST5)。ここで、Best23のコードの頻度が0でない場合(ST5がNO)、Best23のコードの頻度と比較し(ST6)、Best23の頻度より少ない場合、頻繁に出現する文字コードではないものと判断し、判断(ST2)に戻る。一方、Best23の頻度より多い場合、処理(ST7)に移行する。
また、Best23のコードと頻度が一致する場合、Best23のコードより大きいか判断する(ST8)。すなわち、同じ出現頻度であっても、文字コードのコード番号が若いコードを採用するため、Best23のコード番号よりが大きい場合、判断(ST2)に戻る。一方、Best23のコード番号より小さい(若い)場合、処理(ST7)に移行する。
処理(ST7)では、取り出した頻度とコードをBest1〜23の頻度テーブルとコードテーブルに頻度の昇順に挿入する。この処理によって、図9のaの記憶エリアに格納されたデータは、頻度順に並べ替えられ、同図のbに示すBest1〜23の頻度カウンタ及びコードに格納される。
次に、頻度テーブルのデータが全て読み出され、エンドになると(ST2がYES)、更にBest8〜23のコードを昇順に並べ替える(ST9)。さらに、出力データバッファ1(F1テーブル)〜出力データバッファ8(F8テーブル)のサイズ計算を行う(ST10)。
例えば、各テーブルのサイズは以下の計算に基づいて計算される。すなわち、
F1テーブルサイズ=(入力データ数+7)/8バイト
F2テーブルサイズ=(Best1〜23の頻度の和+7)/8バイト
F3テーブルサイズ=(Best2〜23の頻度の和+7)/8バイト
F4テーブルサイズ=(Best4〜23の頻度の和+7)/8バイト
F5テーブルサイズ=(Best2〜3の頻度の和+7)/8バイト
F6テーブルサイズ=(Best4〜7の頻度の和+3)/4バイト
F7テーブルサイズ=(Best8〜23の頻度の和+1)/2バイト
F8テーブルサイズ=入力データ数−Best1〜23の頻度の和
次に、上記計算結果から出力データバッファ1(F1テーブル)〜出力データバッファ8(F8テーブル)を圧縮フォーマットに割り当てる(ST11)。また、Best1〜23のコード情報を含むデータを圧縮フォーマットのヘッダ部に出力する(ST12、ST13)。
図11は、圧縮フォーマットの例である。この圧縮フォーマットは、ヘッダ部とF1〜F8テーブルで構成され、ヘッダ部は圧縮総容量、F1〜F7テーブルのビット数、生データのバイト数、及びBest1〜23のコードテーブルで構成される。
エントロピー符号化処理部36は、上記準備処理部35から供給されるデータをもとに、以下の図12に示すフローチャートに従って上記圧縮フォーマットに具体的数値を設定する。
先ず、入力バッファ30に供給される入力データを1バイト読み出し(ステップ(以下、STPで示す)1)、データエンドであるか判断する(STP2)。ここで、入力データが存在すれば(STP2がYES)、読み出したデータの出現頻度の情報を取り出す(STP3)。
次に、読み出した1バイトデータがBest1コードであるか判断する(STP4)。ここで、読み出した1バイトデータがBest1コードである場合(STP4がYES)、Best1コードの処理を行う(STP5)。すなわち、出力データバッファ1(F1テーブル)のビットをオンし、出力データバッファ2(F2テーブル)のビットをオフする。
また、読み出した1バイトデータがBest1コードではない場合(STP4がNO)、Best2のコードと一致するか判断する(STP6)。ここで、Best2のコードと一致する時、Best2のコード処理を行い、出力データバッファ5(F5テーブル)のビットをオフする(STP7)。また、出力データバッファ1(F1テーブル)のビットをオンし、出力データバッファ2(F2テーブル)のビットをオンし、更に出力データバッファ3(F3テーブル)のビットをオフする(STP8)。
以下、同図に示すフローチャートに従って、順位Best3、Best4、Best5、Best6、Best7のコードとの一致を判断し、同じコードであれば対応する処理(STP9〜STP19)を実行する。
次に、Best23のコードの頻度と読み出したコードの頻度を比較し(STP20)、Best23の頻度より少ない場合、頻繁に出現する文字コードではないものと判断し、非圧縮データ処理を行う(STP21)。すなわち、出力データバッファ1(F1テーブル)のビットをオフし、出力データバッファ8(F8テーブル)に読み出したコードデータをセットする。
一方、Best23のコードの頻度より多い場合、Best8〜22のコードテーブルを2分検索し、一致したコードのテーブルNo.を出力データバッファ7(F7テーブル)にセットする(STP22)。
また、Best23のコードの頻度と一致する場合、Best23のコードとコードの比較を行い(STP23)、一致すればBest23のコード番号を出力データバッファ7(F7テーブル)にセットする(STP24)。
次に、Best8〜23のコード処理を行う(STP25)。すなわち、出力データバッファ1(F1テーブル)のビットをオンし、出力データバッファ2(F2テーブル)のビットをオンし、出力データバッファ3(F3テーブル)のビットをオンし、出力データバッファ4(F4テーブル)のビットをオンする。
以上の処理を入力データがエンドになるまで繰り返し、最後に符号データの出力処理手段37は、出力データバッファ1(F1テーブル)〜出力データバッファ8(F8テーブル)を順次出力する。
以上のように処理することによって、出力形式をBest1コードが2bit、Best2〜3コードが4bit、Best4〜7コードが6bit、Best8〜23コードが8bit、非圧縮データ9bitの可変長符号化とし、かつ出力データ領域を出力データバッファ1(F1テーブル)〜出力データバッファ8(F8テーブル)の8つの領域に分離し、可変長符号でありながら、符号化および復号化のためのメモリアクセスが1bit単位と2bit単位と4bit単位のビットアクセスと、1バイトデータのバイトアクセスで可能となり、非常に高速な圧縮処理を行うことができる。
(実施形態6)
次に、本発明の実施形態6について説明する。
図13は、本実施形態の圧縮処理を説明する図である。尚、本例は上記実施形態5において確率統計型符号化による圧縮処理を説明したが、本例では各出力形式ごとの圧縮サイズを計算で求め、圧縮効率の最も優れた場合を判定する圧縮効率判定部を備えた点が特徴である。以下、具体的に説明する。
図13は本例を説明する図であり、前述の図8と同じ構成部分には同じ番号を付して説明する。先ず、入力データバッファ30には、前述の文字データ等の入力データが供給され、更に入力データバッファ30に供給された入力データは、統計モデル処理手段32に供給される。統計モデル処理手段32は、各バイトデータの出現頻度を計数する。この出現頻度の計数結果は頻度テーブル33に供給され、頻度テーブル33に出現頻度の計数結果を記憶する。
エントロピー符号化手段34は、準備処理部35、エントロピー符号化処理部36、圧縮効率判定部39、出力データバッファ1(F1テーブル)〜出力データバッファ8(F8テーブル)、及び符号データ出力処理手段37で構成されている。
準備処理部35は圧縮データサイズの計算を行い、出力データバッファ1(F1テーブル)〜出力データバッファ8(F8テーブル)の割当て処理、後述するベストモード1〜23のコード等をヘッダ部に出力する処理を行う。また、エントロピー符号化処理部36は、上記準備処理部35によって作成されたベストモードの情報に基づいて入力データを各データ毎に後述する処理を行う。
圧縮効率判定部39は頻度テーブル33から供給されるデータに基づいて各圧縮形式毎の圧縮データサイズを計算し、最小のサイズとなる出力形式を判別する。尚、準備処理部35が行う準備処理は、前述の図11に示すフローチャートに従って実行される。また、圧縮効率判定部39はエントロピー符号化処理部36が行う処理と同様の処理を行い、各圧縮形式毎の圧縮データサイズを計算し、最小のサイズとなる出力形式を判別する。
図14は判定パターンの例を示す図であり、
(1)Best1コードとそれ以外のコードの場合、Best1は1bitで、他は9bitで符号化され、
(2)Best1と次のBest2とそれ以外のコードの場合、Best1は2bitで、Best2は3bitで、他は9bitで符号化され、
(3)Best1と次のBest4とそれ以外のコードの場合、Best1は2bitで、Best4は4bitで、他は9bitで符号化され、
(4)Best1と次のBest16とそれ以外のコードの場合、Best1は2bitで、Best16は6bitで、他は9bitで符号化され、
(5)Best1と次のBest2と次のBest4とそれ以外のコードの場合、Best1は2bitで、Best2は4bitで、Best4は5bitで、他は9bitで符号化される。
(6)Best1と次のBest2と次のBest16とそれ以外のコードの場合、Best1は2bitで、Best2は4bitで、Best16は7bitで、他は9bitで符号化され、
(7)Best1と次のBest4と次のBest16とそれ以外のコードの場合、Best1は2bitで、Best4は5bitで、Best16は7bitで、他は9bitで符号化され、
(8)Best1と次のBest2と次のBest4と次のBest16とそれ以外のコードの場合、Best1は2bitで、Best2は4bitで、Best4は6bitで、Best16は8bitで、他は9bitで符号化される。
尚、具体的なビット内容は、それぞれ同図に示すデータ及びコードであり、例えば、(1)Best1コードとそれ以外の場合、Best1コードと一致するバイトデータは出力データバッファ1(F1テーブル)の1bitの記憶エリアにBest1コードを示すフラグとして記憶し、1bitで符号化する。Best1コード以外の他のデータは、出力データバッファ1(F1テーブル)の1bitの記憶エリアに非圧縮データを示すフラグとして記憶し、かつ出力データバッファ8(F8テーブル)の生データの記憶エリアにそのデータ(8bit)を記憶し、合計9bitで符号化する。以下、(2)Best1と次のBest2とそれ以外のコードの場合等についても同図に示す通りである。
図15は圧縮効率判定部39が計算結果から判定して出力する圧縮フォーマットの出力形式を示す。上記計算結果から、例えば「(1)Best1コードとそれ以外のコードの場合」の出力形式が判定され、選択された場合には最もサイズの小さい圧縮フォーマットを使用することができる。例えば、同じ色の画像情報等の場合であり、極めて入力データの特性に合わせた圧縮フォーマットの選択を行うことができる。
したがって、本例によれば入力データに対応した圧縮効率の最も優れた出力形式を選択して圧縮処理を行うことができ、圧縮処理時間や圧縮データの転送時間を短縮することができ、極めて効率のよい出力圧縮処理を行うことができる。
(実施形態7)
次に、本発明の実施形態7について説明する。尚、本例は上記圧縮効率判定部39によって判定された出力形式4(つまり、(4)Best1と次のBest16とそれ以外の場合)を使用したものである。準備処理部35によってBest1〜Best17までの頻度データを作成した場合の例であり、圧縮フォーマットは図16に示す構成である。したがって、前述の実施形態6における出力データバッファ(Fテーブル)に対して、本例においてテーブル番号は一致しない。
図17は、本例におけるエントロピー符号化処理部36が行う処理を示すフローチャートである。先ず、入力データバッファ30に供給される入力データを1バイト読み出し(ステップ(以下、Wで示す)1)、データエンドであるか判断する(W2)。この最初の処理では、入力データは充分存在し(W2がYES)、読み出したデータの出現頻度の情報を取り出す(W3)。すなわち、本例の出力データバッファ1(F1テーブル)を検索し、読み出した1バイトデータがBest1コードであるか判断する(W4)。
ここで、読み出した1バイトデータがBest1コードである場合(W4がYES)、Best1コード処理を行う(W5)。すなわち、本例の出力データバッファ1(F1テーブル)のビットをオンし、出力データバッファ2(F2テーブル)のビットをオフする。
また、読み出した1バイトデータがBest1コードではない場合(W4がNO)、Best17のコードと比較処理を行う(W6)。ここで、Best17のコードの頻度より少ない場合、非圧縮データ処理を行い、本例の出力データバッファ1(F1テーブル)のビットをオフし、出力データバッファ4(F4テーブル)に読み出したデータをセットする(W7)。一方、Best17のコードの頻度より多い場合、Best12〜16のコードテーブルを2分検索し、一致したコードのテーブルナンバーを出力データバッファ3(F3テーブル)にセットする(W8)。
また、Best17のコードの頻度と一致する場合、Best17のコードとコードの比較を行い(W9)、一致すればBest17のコードの値を出力データバッファ3(F3テーブル)にセットする(W10)。そして、Best12〜17のコード処理を行う。すなわち、出力データバッファ1(F1テーブル)にビットオンし、出力データバッファ2(F2テーブル)のビットをオンする。
以上のように、本例によれば入力データに対応した圧縮効率の最も優れた出力形式を選択して圧縮処理を行うことができ、圧縮処理時間や圧縮データの転送時間を短縮することができる。尚、本例は文字コードの出現頻度をBest1〜17までの例で説明したが、出現頻度は前述の実施形態6に示すようにBest1〜23までとしてもよく、更に他の数の例で説明してもよい。
(実施形態8)
次に、本発明の実施形態8について説明する。
図18は、本実施形態を説明する図であり、前述の最長一致の文字列の探索の前に、直前の文字と同一の文字の連続であるか否かを判断し、同一の文字の連続である場合、連長文字圧縮の処理を実行する。例えば、同図(a)は、連続する文字“a”が8個連続する場合であり、この場合、フラグ+長さの圧縮データを使用する。また、フラグは最長一致の文字列参照と兼用し、図19(g)に示すように、文字列参照の符号コードの「一致開始位置」の部分に連長圧縮の識別情報を入れる。尚、18図(b)は、前述の図2(a)と同じでり、説明を省略する。また、図19(b)〜(f)の構成は、前述の図2(b)〜(f)の構成と同じであり、説明を省略する。
例えば、画像データに白の部分が多い場合、この部分は同じ値の連続である。したがって、このような入力データに対し、本例の連長文字圧縮を付加することにより、圧縮効率を向上することができる。
(実施形態9)
次に、本発明の実施形態9について説明する。
図20は、本実施形態を説明する図である。本例は膨大な入力データの対応として、入力データ列を分割制御する原データ分割・入力手段40を備え、入力ファイル41に記憶された入力データを原データ分割・入力手段40によって分割して入力データバッファ43に出力する構成である。
このように構成することにより、膨大な入力データに対してもデータを分割して入力データバッファ43に供給することによって容易に対応することができるものである。
尚、同図に示す他の構成は、前述の図6の構成と同じであり、説明を省略する。そして、出力データバッファ27に格納された圧縮データは、圧縮結果データ出力手段44によって、出力ファイルに順次出力される。
(実施形態10)
次に、本発明の実施形態10について説明する。
上記実施形態1〜9は入力データの圧縮処理について説明したが、以下の実施形態は、前述の圧縮処理によって圧縮されたデータの復元処理について説明する。以下、具体的に説明する。
図21において、第1の復元手段51は準適応型(semi-adaptive)確率統計型符号化データの復号処理を行い、第2の復元手段52は適応型の辞書型符号化データ(Lempel-Ziv法)の復号処理を行う。すなわち、前述の実施形態1乃至9で行われた圧縮データの復元処理を行う構成である。
したがって、前述の実施形態1乃至9で行われた圧縮データは、入力データ列として第1の復元手段51に入力し、前述の第2の圧縮手段の確率統計型符号化方法で圧縮されたデータ列を復号する。また、第2の復元手段52は前述の第1の圧縮手段の適応型の辞書型符号化方法(Lempel-Ziv法)で圧縮されたデータ列を復号する。
このように構成することにより、可逆的に(無損失)復号化が行われ、圧縮処理に対応する複合処理を行うことができる。
(実施形態11)
次に、本発明の実施形態11について説明する。
本実施形態もデータの復元処理について説明するものである。以下、具体的に説明する。
図22は本例のデータ復元装置を説明する図である。同図において、第1の復元手段51は、前述と同様準適応型(semi-adaptive)確率統計型符号化データの復号処理を行い、第2の復元手段52は適応型の辞書型符号化データ(Lempel-Ziv法)の復号処理を行う。また、同図において、入力切換手段53は前述の実施形態3の処理によって符号化された(圧縮処理された)データ列を入力し、識別データ判定手段54、又は第1の復号手段51、又は第2の復号手段52のいずれかにデータを受け渡す入力データの切り換え手段である。尚、入力切換手段53は初期状態において、識別データ判定手段54に入力データを受け渡す設定が行われている。
ここで、本例で使用する識別データは前述の実施形態3で説明したマジックナンバーであり、識別データ判定手段54は、受け取った入力データを前述の識別データとして判別する。すなわち、前述のマジックナンバー1又は2と比較し、以下の判定を行う。
例えば、マジックナンバー1であれば、入力切換手段53を切り換えて、切換手段55を介して第2の復号手段52に入力データを供給する。また、この時第2の復号手段52に対して復号処理の開始を指示する。
また、マジックナンバー2ならば、入力切換手段53を切り換え、入力データを第1の復号手段51に供給し、更に切換手段55を切り換え、第1の復号手段51の出力データが第2の復号手段52に供給されるように制御する。そして、第1の復号手段51に対して復号処理の開始を指示する。また、第2の復号手段52に対しても復号処理の開始を指示する。
したがって、本例によれば圧縮時に設定されたマジックナンバーに基づいて復号処理を行うことができ、圧縮方式に対応する復号方式を使用して効率よく圧縮データの復号処理を行うことができる。
(実施形態12)
次に、本発明の実施形態12について説明する。
本実施形態もデータの復元処理について説明するものである。以下、具体的に説明する。
図23は本例のデータ復元装置を説明する図である。同図において、第1の復元手段51は、前述と同様準適応型(semi-adaptive)確率統計型符号化データの復号処理を行い、第2の復元手段52は適応型の辞書型符号化データ(Lempel-Ziv法)の復号処理を行う。また、同図において、入力切換手段53、識別データ判定手段54は前述の同じ構成であるが、識別データ判定手段54は後述する4種類のマジックナンバーの識別を行う。すなわち、本例は前述の実施形態4の圧縮装置による圧縮データを復元する構成であり、識別データは前述の4種類のマジックナンバー1〜4の判断を行う。
また、本例においては2つの切換手段55a、55bが使用され、更に出力切換手段58も設けられている。
上記構成において、先ず識別データ判定手段54に入力する識別データがマジックナンバー1である場合、識別データ判定手段54は、判定した識別データを除いて、そのまま受け渡されたデータ列をデータエンドまで出力する。
また、マジックナンバー2であれば、識別データ判定手段54は入力データを第2の復号手段52に供給するよう、入力切換手段53に指示し、入力切換手段53と切換手段55aを切換える。また、第2の復号手段52からのデータ列を出力切換手段58に出力するよう指示する。したがって、この処理により、入力データは第2の復号手段52によって復号処理が行われ、出力切換手段58を介して復号データが出力される。
また、マジックナンバー3である場合、識別データ判定手段54は、入力切換手段53を切り換え、第1の復号手段51に入力データを供給するよう指示する。また、切換手段55bと出力切換手段58を切り換え、第1の復号手段51に対して復号開始の指示を行う。したがって、このように制御することにより、第1の復号手段51は復号処理を開始し、切換手段55b、出力切換手段58を介して復号データが出力される。
さらに、マジックナンバー4であれば、識別データ判定手段54は、第1の復号手段51によって復号したデータ列を、更に第2の復号手段52で復号するように入力切換手段53、切換手段55a、55b、及び出力切換手段58を切り換える。そして、第1の復号手段51と第2の復号手段52に対して復号開始の指示を行う。したがって、この指示に基づき、第1の復号手段51及び第2の復号手段52は復号処理を開始し、両復号手段51及び52によって復号処理された復号データは出力切換手段58を介して出力される。
尚、マジックナンバー1〜4ではない場合、識別データ判定手段53は、判定した識別データも含めて、そのまま入力データ列を出力する。但し、この場合、エラー応答する構成としてもよい。
以上のように処理することによって、圧縮時に設定されたマジックナンバー1〜4に基づいて復号処理を行うことができ、圧縮方式に対応する適切な復号方式を選択して効率よい復号処理を行うことができる。
(実施形態13)
次に、本発明の実施形態13について説明する。
本実施形態もデータの復元処理について説明するものである。尚、本例は前述の実施形態5乃至7による確率統計型符号化方法で圧縮されたデータ列を復元するものである。以下、具体的に説明する。
図24は本例の復号アルゴリズムを示すフローチャートである。符号化データ列は、前述の圧縮フォーマットに含まれるF1〜F8テーブル、フラグとデータを8つのエリア(又は4つのエリア)に分けて出力する。
先ず、F1〜F8テーブルからデータを取り出す準備を行う(ステップ(以下、Vで示す)1)。次に、F1テーブルのデータエンドを判断し(V2)、データが存在すればF1テーブルから1ビットのデータを取り出し(V3)、非圧縮データであるか、又は圧縮データであるか判断する(V4)。
ここで、非圧縮データであれば、F8テーブルから1バイトのデータを取り出し、出力する(V5)。一方、圧縮データである場合には(V4がYES)、F2テーブルから1ビットのデータを取り出し、出現頻度が最も多いデータであるか判断する(V7)。そして、出現頻度が最も多いデータである場合、Best1のコードを参照し、Best1コードを出力する(V8)。
また、Best1コードではない場合、F3テーブルをビット単位に参照し、出現頻度がその次に多いBest2〜3のコードであるか判断する(V10)。ここで、出現頻度が次に多いBest2〜3のコードである場合(V10がYES)、F5テーブルをビット単位に参照し、Best2のコードか、又はBest3のコードか判断する(V12)。そして、Best2のコードであれば、コード表を参照しBest2のコードを出力し(V12がYES、V13)、Best3のコードであればコード表を参照し、Best3のコードを出力する(V12がNO、V14)。
一方、F3テーブルの判断において、出現頻度がBest2〜3のコードではない場合、F4テーブルをビット単位に参照し、出現頻度がその次に多いBest4〜7のコードの判断を行う(V15、V16)。そして、Best4〜7のコードである場合、F6テーブルを2ビット単位にアクセスし、その2ビットが示すBest4〜7のコード表の該当データを出力する(V16がYES、V17)。一方、Best4〜7のコードではない場合、F7テーブルを4ビット単位にアクセスし、その4ビットが示すBest8〜23のコード表の該当データを出力する(V16がNO、V18)。
以上のようにデータの復元処理を行うことによって、確率統計型符号化方法によって圧縮されたデータ列を復元することができ、圧縮処理に対応したデータの復元処理を行うことができる。
(実施形態14)
次に、本発明の実施形態14について説明する。
本実施形態もデータの復元処理について説明するものである。尚、本例は前述の実施形態9に対応するものである。
図25は本実施形態を説明する図である。本例は膨大な入力データを分割して圧縮処理した圧縮データを復元する処理を説明するものである。同図において、原データ分割・入力手段60は、入力ファイル61に記憶された入力データを分割して入力データバッファ63に出力する。このように構成することにより、圧縮データは分割され入力データバッファ63に供給され、以後識別データを識別データ判定手段65によって識別し、第1の復号手段66、第2の復号手段67、又は元データ出力手段68を選択して圧縮データの復号処理を行うことができる。
また、本例の復号処理によって復号されたデータは、出力データバッファ69を介して出力され、この出力処理の際、復号データは復号結果データ出力手段70によって、出力されるファイル71に順次出力されて記憶される。
以上のようにデータの復元処理を行うことによって、膨大な大きさのデータについても、圧縮時と同じ長さに分割された状態で復元出力を得ることができる。
(実施形態15)
次に、本発明の実施形態15について説明する。
本実施形態は前述の実施形態10の復号処理の変形例であり、図26に本例の構成を示す。同図において、第1の復元手段71は準適応型(semi-adaptive)確率統計型符号化データの復号処理を行い、第2の復元手段72は適応型の辞書型符号化データ(Lempel-Ziv法)の復号処理を行う。さらに、本例においては、FIFO(first-in first-out)メモリ73が実装され、第1の復元手段71によって1バイトの圧縮データを復号すると、FIFOメモリ73に1バイトの復号データが入力し、この1バイトのデータはFIFOメモリ73から第2の復元手段72に出力され、復号処理される。
したがって、本例によれば、第1の復元処理と第2の復元処理を並行動作させることができ、データの復元(復号化)の高速化が図れる。
実施形態1のデータ圧縮装置のシステム構成図である。 (a)は、入力データの構成を説明する図であり、(b)は、圧縮データの具体的な構成を示す図であり、(c)及び(d)は、フラグデータの構成を説明する図であり、(e)は、非圧縮データの構成を説明する図であり、(f)は、圧縮データの構成を説明する図である。 実施形態2の構成を説明する図である。 実施形態3の圧縮処理を説明する図である。 識別データの例を示す図である。 実施形態4の圧縮処理を説明する図である。 識別データの例を示す図である。 実施形態5の圧縮処理を説明する図である。 準備処理部の構成を説明する図である。 準備処理部が行う処理を説明するフローチャートである。 圧縮フォーマットの例を示す図である。 エントロピー符号化処理部が行う処理を説明するフローチャートである。 実施形態6の圧縮処理を説明する図である 判定パターンの例を示す図である。 圧縮効率判定部が計算結果から判定して出力する圧縮フォーマットの出力形式を示す図である。 圧縮フォーマットの構成を示す図である。 エントロピー符号化処理部が行う処理を示すフローチャートである。 実施形態8を説明する図である。 (a)は、圧縮データの構成を説明する図であり、(c)及び(d)は、フラグデータの構成を説明する図であり、(e)は、非圧縮データの構成を説明する図であり、(f)は、圧縮データの構成を説明する図であり、(g)は、連長圧縮の識別情報を説明する図である。 実施形態9を説明する図である。 実施形態10を説明する図である。 実施形態11のデータ復元装置を説明する図である。 実施形態12のデータ復元装置を説明する図である。 実施形態13のデータ復元装置を説明するフローチャートである。 実施形態14のデータ復元処理を説明する図である。 実施形態15のデータ復元処理を説明する図である。 従来例のデータ圧縮処理を説明する図である。 従来例のデータ圧縮処理を説明する図である。
符号の説明
1、2・・・圧縮手段
3・・・入力データバッファ
4・・・Pバッファ
5・・・Qバッファ
11、12・・・圧縮手段
13・・・中間データバッファ
14・・・頻度テーブル
20・・・入力バッファ
21、22・・・圧縮手段
23・・・中間データバッファ
24、24a、24b・・・頻度テーブル
25・・・サイズ算出・判定手段
26・・・元データ出力手段
27・・・出力データバッファ
30・・・入力バッファ
31・・・圧縮手段
32・・・統計モデル処理手段
33・・・頻度テーブル
34・・・エントロピー符号化手段
35・・・準備処理部
36・・・エントロピー符号化処理部
37・・・出力処理手段
39・・・圧縮効率判定部
40・・・原データ分割・入力手段
41・・・入力ファイル
43・・・入力データバッファ
44・・・圧縮結果データ出力手段
51、52・・・復元手段
53・・・入力切換手段
54・・・識別データ判定手段
55、55a、55b・・・切換手段
56・・・切換手段、
58・・・出力切換手段
60・・・原データ分割・入力手段
63・・・入力データバッファ
65・・・識別データ判定手段
66、67・・・復号手段
68・・・元データ出力手段
69・・・出力データバッファ
70・・・復号結果データ出力手段
71、72・・・復元手段
73・・・FIFOメモリ
74・・・出力ファイル

Claims (14)

  1. 入力した符号化対象のデータ列に最大長に一致するデータ部分列を既に符号化済みのデータ列の中から検索し、そのデータ部分列を複製として符号化を実行する辞書型符号化方式によりデータ圧縮処理を行い、前記最長一致するデータ部分列の探索前、直前のデータ列と同一のデータ列の連続であるか判定し、同一のデータ列の連続である場合、連長文字圧縮の指示を行う第1のデータ圧縮手段と、
    該第1のデータ圧縮手段によって圧縮されたデータを入力とし、確率統計型符号化方式により圧縮処理する第2のデータ圧縮手段と、
    前記第1の圧縮手段のみによる前記入力データの圧縮処理を行った場合の第1の出力データの量と、前記第1の圧縮手段による前記入力データの圧縮処理を行いさらに前記第2の圧縮手段による圧縮処理を行って得られる第2の出力データの量とを求め、該第2の出力データ量が前記第1の出力データ量より増加するか否かを判定するサイズ算出・判定手段とを有し、
    前記第1のデータ圧縮手段は、前記第2のデータ圧縮手段への入力となるデータに含まれる同じデータの出現頻度の計数手段を有し、該出現頻度の計数結果を前記第2のデータ圧縮手段のデータ圧縮処理に使用し、
    前記第2の圧縮手段は、圧縮処理を行う前に圧縮後のデータサイズを計算し、最も少ないデータサイズとなる出力形式を判断し、該判断結果に従った圧縮データ出力形式に従って圧縮処理する符号化手段を備え、
    前記サイズ算出・判定手段により前記第2の出力データ量が前記第1の出力データ量より増加すると判定された場合、前記第2の圧縮手段による前記第2のデータ圧縮処理を行わず前記第1のデータ圧縮手段の圧縮処理結果を採用することを特徴とするデータ圧縮装置。
  2. 前記サイズ算出・判定手段は、更に前記第2の圧縮手段のみの圧縮処理を行った場合の第3の出力データ量の計算も可能であり、
    前記第1の出力データ量が最小となる場合、前記第1の圧縮手段のみによる圧縮処理を行い、
    前記第2の出力データ量が最小となる場合、前記第1の圧縮手段、及び第2の圧縮手段による圧縮処理を行い、
    前記第3の出力データ量が最小となる場合、前記第2の圧縮手段のみによる圧縮処理を行い、
    前記入力データのデータ量が最小となる場合、前記第1の圧縮手段、及び第2の圧縮手段による圧縮処理を行わないことを特徴とする請求項1記載のデータ圧縮装置。
  3. 前記符号化手段は、出現頻度の高い順に予め所定数特定された高頻出文字コードと、入力データから前記高頻出文字コードを特定するテーブルからなり圧縮データの出力形式を規定する圧縮フォーマットを定義する準備処理手段を備えることを特徴とする請求項1又は2記載のデータ圧縮装置。
  4. 前記圧縮フォーマットには、出現頻度の最も高いコードが2ビットで表され、次に高い2個のコードが4ビットで表され、次に高い4個のコードが6ビットで表され、次に高い16個のコードが8ビットで表され、更にその他のコードが9ビットで表されていることを特徴とする請求項記載のデータ圧縮装置。
  5. 圧縮されたデータが入力し、確率統計型符号化方法により復号処理を行う第1の復号手段と、
    該第1の復号手段によって復号されたデータに対し、辞書型符号化方法により復号処理を行う第2の復号手段と、
    前記圧縮データには第1、第2の識別データが含まれるとともに、
    前記圧縮データに含まれる識別データの値を判定する判定手段とを備え、
    前記第1の復号手段は、入力データ中出現頻度の高い順に予め所定数特定された高頻出文字コードと、入力データから前記高頻出文字コードを特定するテーブルからなり圧縮データの出力形式を規定する圧縮フォーマットに従って符号化された圧縮データの前記テーブルの情報を読み出し、前記文字コードの検索を行い、前記文字コードを特定するとともに、
    前記判定手段によって第1の識別データであると判定されたとき、前記第1の復号手段は前記圧縮データを復号処理し、更に前記第2の復号手段は前記第1の復号手段により復号されて得られたデータを復号処理し、
    前記判定手段によって第2の識別データであると判定されたとき、前記第1の復号手段は前記圧縮データを復号処理する
    ことを特徴とするデータ復元装置。
  6. 前記判定手段は第3の識別データの判定も可能であり、
    該判定手段によって前記第3の識別データであると判定されたとき、前記圧縮データを第2の復号手段のみで復号処理することを特徴とする請求項記載のデータ復元装置。
  7. 前記圧縮データが連長文字圧縮である場合、復号対象文字の連続長分の復号処理を行うことを特徴とする請求項5,又は6記載のデータ復元装置。
  8. 入力した符号化対象のデータ列に最大長に一致するデータ部分列を既に符号化済みのデータ列の中から検索し、そのデータ部分列を複製として符号化を実行する辞書型符号化方式によりデータ圧縮処理を行い、前記最長一致するデータ部分列の探索前、直前のデータ列と同一のデータ列の連続であるか判定し、同一のデータ列の連続である場合、連長文字圧縮を加える第1のデータ圧縮処理と、
    該第1のデータ圧縮処理によって圧縮されたデータを、確率統計型符号化方式により圧縮する第2のデータ圧縮処理と、
    前記第1のデータ圧縮処理のみを行った場合の第1の出力データの量と、前記第1のデータ圧縮処理によるデータ圧縮処理を行いさらに前記第2の圧縮処理による圧縮処理を行った場合の第2の出力データの量とを予め求めて、該第2の出力データ量が前記第1の出力データ量より増加するか否かを判定するサイズ算出・判定処理とを備え、
    前記第1のデータ圧縮処理は、前記第2のデータ圧縮処理への入力となるデータに含まれる同じデータの出現頻度の計数処理を行い、該出現頻度の計数結果を前記第2のデータ圧縮処理に使用し、
    前記第2の圧縮処理は、圧縮処理を行う前に圧縮後のデータサイズを計算し、最も少ないデータサイズとなる出力形式を判断し、該判断結果に従った圧縮フォーマットの出力形式とする処理を含み、
    前記サイズ算出・判定処理により前記第2の出力データ量が前記第1の出力データ量より増加すると判定されたとき、前記第2の圧縮処理行わずに前記第1のデータ圧縮処理結果を採用することを特徴とするデータ圧縮方法。
  9. 前記サイズ算出・判定処理は、更に前記第2の圧縮処理のみを行った場合の第3の出力データ量の計算も可能であり、
    前記第1の出力データ量が最小となる場合、前記第1の圧縮処理のみを行い、
    前記第2の出力データ量が最小となる場合、前記第1の圧縮処理、及び第2の圧縮処理を行い、
    前記第3の出力データ量が最小となる場合、前記第2の圧縮処理のみを行い、
    前記入力データのデータ量が最小となる場合、前記第1の圧縮処理、及び第2の圧縮処理を行わないことを特徴とする請求項記載のデータ圧縮方法。
  10. 前記圧縮フォーマットには、入力データに含まれるコードの中で、出現頻度の高いコードが所定数設定され、出現頻度の高いコードのコード番号と、該コード番号を特定するテーブルが記録されることを特徴とする請求項8又は9記載のデータ圧縮方法。
  11. 前記圧縮フォーマットには、出現頻度の最も高いコードが2ビットで表され、次に高い2個のコードが4ビットで表され、次に高い4個のコードが6ビットで表され、次に高い16個のコードが8ビットで表され、更にその他のコードが9ビットで表されていることを特徴とする請求項又は記載のデータ圧縮方法。
  12. 圧縮されたデータが入力し、確率統計型符号化方法により復号処理を行う第1の復号処理と、
    該第1の復号処理によって復号されたデータに対し、辞書型符号化方法により復号処理を行う第2の復号処理と、
    前記圧縮データには第1、第2の識別データが含まれ、該識別データは判定処理によって判定され、
    該判定処理によって前記第1の識別データであると判定されたとき、前記圧縮データを第1の復号処理で復号し、更に前記第2の復号処理で復号し、
    前記判定処理によって前記第2の識別データであると判定されたとき、前記圧縮データを第1の復号処理のみで復号し、
    前記第1の復号処理は、入力データ中出現頻度の高い順に予め所定数特定された高頻出文字コードと、入力データから前記高頻出文字コードを特定するテーブルからなり圧縮データの出力形式を規定する圧縮フォーマットに従って先に符号化された圧縮データの前記テーブルの情報を読み出し、前記文字コードの検索を行い、前記文字コードを特定することを特徴とするデータ復元方法。
  13. 前記判定処理は第3の識別データの判定も可能であり、
    該判定処理によって前記第3の識別データであると判定されたとき、前記圧縮データを第2の復号処理のみで復号することを特徴とする請求項12記載のデータ復元方法。
  14. 前記圧縮データが連長文字圧縮である場合、復号対象文字の連続長分の復号処理を行うことを特徴とする請求項12又は13記載のデータ復元方法。
JP2005039807A 2004-12-28 2005-02-16 データ圧縮装置、及びデータ復元装置 Active JP4479530B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2005039807A JP4479530B2 (ja) 2004-12-28 2005-02-16 データ圧縮装置、及びデータ復元装置
US11/313,078 US7233266B2 (en) 2004-12-28 2005-12-20 Data compression/decompression device and data compression/decompression method
TW094146688A TWI348284B (en) 2004-12-28 2005-12-27 Data compression/decompression device and data compression/decompression method
DE602005024438T DE602005024438D1 (de) 2004-12-28 2005-12-27 Vorrichtung und datenverfahren zur selektiven kompression und dekompression und datenformat für komprimierte daten
KR1020077014520A KR100894002B1 (ko) 2004-12-28 2005-12-27 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
EP05844897A EP1832000B1 (en) 2004-12-28 2005-12-27 Device and data method for selective compression and decompression and data format for compressed data
PCT/JP2005/024241 WO2006070925A1 (en) 2004-12-28 2005-12-27 Device and data method for selective compression and decompression and data format for compressed data
CN2005800453617A CN101095284B (zh) 2004-12-28 2005-12-27 用于有选择地压缩和解压缩数据的设备与方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004379814 2004-12-28
JP2005039807A JP4479530B2 (ja) 2004-12-28 2005-02-16 データ圧縮装置、及びデータ復元装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010010949A Division JP4905562B2 (ja) 2004-12-28 2010-01-21 データ圧縮装置、及びデータ復元装置

Publications (2)

Publication Number Publication Date
JP2006211621A JP2006211621A (ja) 2006-08-10
JP4479530B2 true JP4479530B2 (ja) 2010-06-09

Family

ID=35871082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005039807A Active JP4479530B2 (ja) 2004-12-28 2005-02-16 データ圧縮装置、及びデータ復元装置

Country Status (7)

Country Link
US (1) US7233266B2 (ja)
EP (1) EP1832000B1 (ja)
JP (1) JP4479530B2 (ja)
KR (1) KR100894002B1 (ja)
DE (1) DE602005024438D1 (ja)
TW (1) TWI348284B (ja)
WO (1) WO2006070925A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070162957A1 (en) * 2003-07-01 2007-07-12 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
KR100647957B1 (ko) * 2004-12-14 2006-11-23 엘지전자 주식회사 사전 기반 압축 방법을 이용한 연속된 이미지 압축 및복원 방법
US7453377B2 (en) * 2006-08-09 2008-11-18 Reti Corporation Apparatus and methods for searching a pattern in a compressed data
JP4760727B2 (ja) * 2007-02-07 2011-08-31 カシオ電子工業株式会社 データ圧縮装置とその復号装置、それらの方法、及びプログラム
JP2009187535A (ja) * 2008-01-09 2009-08-20 Ricoh Co Ltd サーバ、画像形成装置、画像処理システム、画像処理方法、および画像処理プログラム
JP5732454B2 (ja) * 2009-07-06 2015-06-10 トムソン ライセンシングThomson Licensing 空間変化残差符号化を行う方法および装置
GEP20115300B (en) * 2009-07-21 2011-10-10 Lossless data compression and decomposition method
US8779950B2 (en) 2012-03-05 2014-07-15 Dcba, Llc Command encoded data compression
JPWO2014030189A1 (ja) * 2012-08-23 2016-07-28 富士通株式会社 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム
US9166620B2 (en) * 2012-09-26 2015-10-20 Qualcomm Incorporated Method and apparatus for a memory based packet compression encoding
US9035809B2 (en) * 2012-10-15 2015-05-19 Seagate Technology Llc Optimizing compression engine throughput via run pre-processing
US8791843B2 (en) * 2012-10-15 2014-07-29 Lsi Corporation Optimized bitstream encoding for compression
JP5808360B2 (ja) * 2013-04-08 2015-11-10 日本電信電話株式会社 文字列圧縮及び復元システム並びに方法
JP5808361B2 (ja) * 2013-04-08 2015-11-10 日本電信電話株式会社 文字列圧縮及び復元システム並びに方法
KR101440231B1 (ko) * 2013-05-15 2014-09-12 엘에스산전 주식회사 고속철도에서 atc 불연속정보 처리방법
JP6609404B2 (ja) * 2014-07-22 2019-11-20 富士通株式会社 圧縮プログラム、圧縮方法および圧縮装置
JP6511752B2 (ja) * 2014-09-19 2019-05-15 カシオ計算機株式会社 符号化装置、符号化方法、復号装置、復号方法、及び、プログラム
EP3304746B1 (en) 2015-05-21 2021-04-07 Zeropoint Technologies AB Methods, devices and systems for hybrid data compression and decompression
SE540178C2 (en) 2016-01-29 2018-04-24 Zeropoint Tech Ab Methods, devices and systems for compressing and decompressing data
CN108702160B (zh) * 2016-01-29 2022-05-17 零点科技公司 用于压缩和解压缩数据的方法、设备和系统
JP6135788B2 (ja) * 2016-03-22 2017-05-31 富士通株式会社 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム
US10191850B2 (en) 2016-03-31 2019-01-29 Qualcomm Incorporated Providing memory bandwidth compression using multiple last-level cache (LLC) lines in a central processing unit (CPU)-based system
US10581456B2 (en) * 2016-06-22 2020-03-03 Fujitsu Limited Data compression device and data decompression device
US10176090B2 (en) * 2016-09-15 2019-01-08 Qualcomm Incorporated Providing memory bandwidth compression using adaptive compression in central processing unit (CPU)-based systems
CN111384968B (zh) * 2018-12-28 2022-08-09 上海寒武纪信息科技有限公司 数据压缩解压装置和数据解压方法
US10911064B1 (en) * 2020-01-06 2021-02-02 Seagate Technology Llc Symbol pair encoding for data compression
US11955995B2 (en) * 2020-05-11 2024-04-09 Intel Corporation Apparatus and method for two-stage lossless data compression, and two-stage lossless data decompression
JP6835285B1 (ja) * 2020-09-15 2021-02-24 富士電機株式会社 データ圧縮方法、データ圧縮装置、データ圧縮プログラム、データ伸長方法、データ伸長装置およびデータ伸長プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4626829A (en) * 1985-08-19 1986-12-02 Intelligent Storage Inc. Data compression using run length encoding and statistical encoding
US4967196A (en) * 1988-03-31 1990-10-30 Intel Corporation Apparatus for decoding variable-length encoded data
US5532694A (en) * 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
JP3241788B2 (ja) 1992-02-28 2001-12-25 富士通株式会社 データ圧縮方式
US5627534A (en) 1995-03-23 1997-05-06 International Business Machines Corporation Dual stage compression of bit mapped image data using refined run length and LZ compression
JP3276860B2 (ja) 1996-09-02 2002-04-22 富士通株式会社 データ圧縮/復元方法
US5964842A (en) 1997-01-31 1999-10-12 Network Computing Devices, Inc. Method and apparatus for scaling data compression based on system capacity
US6121903A (en) 1998-01-27 2000-09-19 Infit Communications Ltd. On-the-fly data re-compression
US5945933A (en) 1998-01-27 1999-08-31 Infit Ltd. Adaptive packet compression apparatus and method
US6075470A (en) 1998-02-26 2000-06-13 Research In Motion Limited Block-wise adaptive statistical data compressor
JP3323175B2 (ja) 1999-04-20 2002-09-09 松下電器産業株式会社 符号化装置
GB2381358A (en) * 2000-08-15 2003-04-30 Seagate Technology Llc Dual mode data compression for operating code
US6756922B2 (en) * 2001-05-21 2004-06-29 International Business Machines Corporation Method and system for compression of a set of mostly similar strings allowing fast retrieval
US6903668B1 (en) * 2003-11-18 2005-06-07 M-Systems Flash Disk Pioneers Ltd. Decompression accelerator for flash memory

Also Published As

Publication number Publication date
KR100894002B1 (ko) 2009-04-20
EP1832000A1 (en) 2007-09-12
KR20070086661A (ko) 2007-08-27
TW200637175A (en) 2006-10-16
US20060139188A1 (en) 2006-06-29
US7233266B2 (en) 2007-06-19
EP1832000B1 (en) 2010-10-27
TWI348284B (en) 2011-09-01
DE602005024438D1 (de) 2010-12-09
JP2006211621A (ja) 2006-08-10
WO2006070925A1 (en) 2006-07-06

Similar Documents

Publication Publication Date Title
JP4479530B2 (ja) データ圧縮装置、及びデータ復元装置
JP4905562B2 (ja) データ圧縮装置、及びデータ復元装置
US5818877A (en) Method for reducing storage requirements for grouped data values
US5001478A (en) Method of encoding compressed data
US7894532B2 (en) Variable-length encoding apparatus and method
US6650261B2 (en) Sliding window compression method utilizing defined match locations
US8456332B2 (en) Systems and methods for compression of logical data objects for storage
EP0438955B1 (en) Data compression method
US5673042A (en) Method of and an apparatus for compressing/decompressing data
EP0903866B1 (en) Method and apparatus for data compression
EP0903865A1 (en) Method and apparatus for compressing data
JP2006093958A (ja) プログレッシブjpeg復号化システム
EP0438954B1 (en) Method of decoding compressed data
EP0435802B1 (en) Method of decompressing compressed data
WO2002039591A1 (en) Content independent data compression method and system
JP3266419B2 (ja) データ圧縮・伸長方式
CN1656688B (zh) 在压缩之前处理数字数据
EP0494038A2 (en) Run-length encoding in extensible character sets
KR100686354B1 (ko) 가변 트리를 이용한 허프만 복호화 방법 및 장치
JPH07298062A (ja) データ圧縮・復号方式
JP2004140507A (ja) データ符号化装置、データ復号装置、データ符号化方法、データ復号方法、それらの方法をコンピュータに実現させるためのプログラムおよび記録媒体
JPH03209923A (ja) データ圧縮方式
Robert et al. New algorithms for random access text compression
KR101174598B1 (ko) 비손실 데이터 압축알고리즘을 이용한 압축파일 생성장치 및 그 방법
JP2003087573A (ja) 画像圧縮装置及び画像伸張装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100121

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100223

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100308

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250