[go: up one dir, main page]

JP2012151840A - データ圧縮装置、その動作方法、及びそれを含むデータ処理装置 - Google Patents

データ圧縮装置、その動作方法、及びそれを含むデータ処理装置 Download PDF

Info

Publication number
JP2012151840A
JP2012151840A JP2011288902A JP2011288902A JP2012151840A JP 2012151840 A JP2012151840 A JP 2012151840A JP 2011288902 A JP2011288902 A JP 2011288902A JP 2011288902 A JP2011288902 A JP 2011288902A JP 2012151840 A JP2012151840 A JP 2012151840A
Authority
JP
Japan
Prior art keywords
data
symbols
compressed
frequency
analysis
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.)
Granted
Application number
JP2011288902A
Other languages
English (en)
Other versions
JP5881416B2 (ja
JP2012151840A5 (ja
Inventor
Kyoung-Lae Cho
慶來 趙
Chan Ho Yoon
燦湖 尹
Jun-Jin Kong
駿鎭 孔
Pil-Sang Yoon
弼相 尹
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2012151840A publication Critical patent/JP2012151840A/ja
Publication of JP2012151840A5 publication Critical patent/JP2012151840A5/ja
Application granted granted Critical
Publication of JP5881416B2 publication Critical patent/JP5881416B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • H03M7/6082Selection strategies
    • H03M7/6088Selection strategies according to the data type

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】データ圧縮時間を減少させるために、データが入力バッファに伝送される途中で、データを分析し、分析結果によって、データの圧縮の有無を決定することができるデータ圧縮方法と装置を提供する。
【解決手段】データ圧縮装置10Aは、入力バッファ30に伝送されるデータを分析し、該分析結果に基づいて、分析コードを生成させるデータパターン分析器21と、分析コードに基づいて、入力バッファから出力されたデータを選択的に圧縮するデータ圧縮管理器40とを含む。
【選択図】図1A

Description

本発明の実施例は、データ圧縮技術に係り、特に、データを分析し、該分析結果によって、前記データの圧縮の有無を決定することができるデータ圧縮装置、その動作方法、及びそれを含むデータ処理装置に関する。
データ圧縮は、データをさらに小さな保存空間に効率的に保存するための技術または前記技術の実際の適用を意味する。従来のデータの圧縮は、エンコーディング(encoding)過程とデコーディング(decoding)過程とを含む。エンコーディング過程の間に、データのサイズは減少する。デコーディング過程の間にエンコードされたデータ(encoded data)は、元のデータ(original data)に復元される。
本発明が解決しようとする技術的な課題は、データ圧縮時間を減少させるために、データが入力バッファに伝送される途中で、前記データを分析し、該分析結果によって、前記データの圧縮の有無を決定することができるデータ圧縮方法と該方法を行う装置とを提供するところにある。
本発明の実施例によるデータを圧縮する方法は、分析器を用いて、前記データの圧縮の有無を決定するために、前記データを分析する段階と、前記データが入力バッファでバッファリングされる間に分析結果を生成させる段階と、前記分析結果に基づいてバッファされたデータ(buffered data)を選択的に圧縮する段階と、を含む。
実施例によって、前記データを分析する段階は、前記データのヘッダ(header)に含まれ、前記データの圧縮の有無を指示する指示ビットを分析し、前記分析結果は、前記指示ビットの分析結果に基づいて生成される。他の実施例によって、前記データを分析する段階は、前記データに含まれた複数のシンボル(symbols)のそれぞれの頻度数(frequency)をカウント(count)する段階と、カウントされた頻度数の最大頻度数(maximum frequency)と最小頻度数(minimum frwquency)とのうちの何れか1つと基準値とを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成される。
また他の実施例によって、前記データを分析する段階は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、前記複数のシンボルのそれぞれにコードワード(codeword)を割り当てる段階と、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データの予測サイズ(estimated size)を計算する段階と、前記予測サイズと基準データのサイズとを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成される。
さらに他の実施例によって、前記データを分析する段階は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析する段階と、前記指示ビットの分析結果に基づいて、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値とを比較する段階と、を含み、前記分析結果は、比較結果に基づいて生成される。
前記バッファされたデータを選択的に圧縮する段階は、前記分析結果をメモリに保存する段階と、前記メモリに保存された前記分析結果に基づいて、プロセッサ(processor)を用いて、前記バッファされたデータを選択的に圧縮する段階と、を含む。
前記データについての分析は、前記入力バッファから前記バッファされたデータが出力される以前に完了する。
本発明の一実施例によるデータ圧縮装置は、入力バッファに伝送されるデータを分析し、該分析結果に基づいて分析コードを生成させるデータパターン分析器と、前記分析コードに基づいて、前記入力バッファから出力された前記データを選択的に圧縮するデータ圧縮管理器と、を含む。
実施例によって、前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を表わす指示ビットを分析し、前記指示ビットの分析結果に基づいて、前記分析コードを生成させる。
他の実施例によって、前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、該カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値との比較結果に基づいて、前記分析コードを生成させる。
また他の実施例によって、前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算される。
さらに他の実施例によって、前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットに基づいて制御信号を出力するヘッダ分析器と、活性化された前記制御信号に応答してイネーブル(enable)され、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算される。
さらに他の実施例によって、前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当てるパターン分析器と、前記パターン分析器から出力された前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードを受信し、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算される。
前記データ圧縮管理器は、前記分析コードを保存するためのメモリと、前記入力バッファから出力された前記データを圧縮し、圧縮データを出力するプロセッサと、前記メモリに保存された前記分析コードに基づいて、前記入力バッファから出力された前記データを不揮発性メモリ装置と前記プロセッサとのうちの何れか1つに出力する選択器と、を含む。前記プロセッサは、前記入力バッファから出力された前記データの各シンボルを順次に圧縮し、前記データ内で圧縮されない重複される複数のシンボルの間の関係を指示する情報を出力する。
本発明の実施例によるデータ処理装置は、不揮発性メモリ装置と、バッファされたデータを選択的に圧縮するデータ圧縮装置と、を含み、前記データ圧縮装置は、前記データをバッファリングする入力バッファと、前記データが、前記入力バッファに伝送される間に、前記データを分析し、前記データの分析結果に基づいて分析コードを生成させるデータパターン分析器と、前記分析コードに基づいて、前記バッファされたデータを選択的に圧縮するデータ圧縮管理器と、を含む。
前記データ処理装置は、SSD(solid state drive)、スマートカード、メモリカード、スマートフォン(smart phone)またはタブレット(tablet)PCとして具現されうる。前記データ圧縮装置は、前記不揮発性メモリ装置を制御するメモリコントローラの内部に集積される。
本発明の他の実施例によって、データを圧縮する方法は、入力バッファに伝送されるデータを横取りする(intercept)段階と、横取りしたデータを分析し、該分析結果を出力する段階と、前記分析結果に基づいて、圧縮データと前記入力バッファから出力された前記データとのうちの1つを出力する段階と、を含み、前記圧縮データは、前記入力バッファの前記データを圧縮して生成されたデータである。
前記データは、1つまたはそれ以上のビットを含み、前記入力バッファによってバッファされたデータは、前記データの整数倍である。
本発明の他の実施例によるデータを圧縮する方法は、データ圧縮装置で、前記データのパターンと前記データのヘッダに含まれた指示ビットの値とのうちの1つに基づいてデータを選択的に圧縮する段階を含み、前記パターンと前記指示ビットのそれぞれは、前記データが圧縮データであるか否かを指示する。
前記データを圧縮する方法は、前記データが、ヘッダ情報を含むか否かを決定する段階をさらに含み、前記データが、前記ヘッダ情報を含む時、前記データは、前記指示ビットに基づいて選択的に圧縮される。前記データが、前記ヘッダ情報を含まない時、前記データは、前記データのパターンに基づいて選択的に圧縮される。
本発明の他の実施例によるデータ圧縮装置は、データのパターンと、前記データのヘッダに含まれた指示ビットの値のうちの1つに基づいて、前記データを選択的に圧縮するデータ圧縮管理器とを含み、前記パターンと前記指示ビットのそれぞれは、前記データが圧縮データであるか否かを指示する。
前記データ圧縮装置は、前記データが、ヘッダ情報を含むか否かを決定するデータパターン分析器をさらに含み、前記データが、前記ヘッダ情報を含む時、前記データ圧縮管理器は、前記指示ビットに基づいて、前記データを選択的に圧縮する。前記データが、前記ヘッダ情報を含まない時、前記データ圧縮管理器は、前記データのパターンに基づいて、前記データを選択的に圧縮する。
前記データパターン分析器は、前記データに含まれた各シンボルの頻度数をカウントし、該カウントされた頻度数のうちの最大頻度数と最小頻度数とのうちの1つと基準値とを比較し、前記データ圧縮管理器は、比較結果に基づいて、前記データを選択的に圧縮する。
前記データパターン分析器は、前記データに含まれた各シンボルの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データのサイズを予測し、前記予測サイズと基準サイズとを比較し、前記データ圧縮管理器は、前記予測サイズと前記基準サイズとの比較結果に基づいて、前記データを選択的に圧縮する。
本発明の実施例によるデータ圧縮装置とその動作方法は、データが入力バッファに伝送される途中で、前記データのパターンを分析し、該分析結果によって、前記データの圧縮の有無を決定することができるので、前記データを圧縮する時間を減少させることができる。
本発明の一実施例によるデータ圧縮装置のブロック図を示す。 図1Aの入力バッファから出力されるバッファされたデータの出力タイミング図を示す。 図1Bに示されたバッファされたデータの構造を示す図である。 本発明の他の実施例によるデータ圧縮装置のブロック図を示す。 図2に示されたデータパターン分析器の動作を説明するためのテーブルである。 本発明のまた他の実施例によるデータ圧縮装置のブロック図を示す。 本発明のさらに他の実施例によるデータ圧縮装置のブロック図を示す。 データ圧縮装置の動作を説明するためのフローチャートである。 データ圧縮装置の他の動作を説明するためのフローチャートである。 データ圧縮装置のまた他の動作を説明するためのフローチャートである。 静的ハフマンコーディング規則を用いるパターン分析器の動作を説明するためのフローチャートである。 動的ハフマンコーディング規則を用いるパターン分析器の動作を説明するためのフローチャートである。 本発明の実施例によるデータ圧縮装置を含むデータ処理システムの一実施例を示す図である。 本発明の実施例によるデータ圧縮装置を含むデータ処理システムの他の実施例を示す図である。 本発明のさらに他の実施例によるデータ圧縮装置のブロック図を示す。 データ圧縮装置のさらに他の動作を説明するためのフローチャートである。 データ圧縮装置のさらに他の動作を説明するためのフローチャートである。
以下、添付した図面を参照して、本発明を詳しく説明する。
図1Aは、本発明の一実施例によるデータ圧縮装置10Aのブロック図を示す。図1Bは、図1Aの入力バッファから出力されるバッファされたデータの出力タイミング図を示す。図1Cは、図1Bに示されたバッファされたデータの構造を示す。
図1Aから図1Cを参照すると、データ圧縮装置10Aは、データパターン分析器20A、入力バッファ30、及びデータ圧縮管理器(data compression manager)40を含む。実施例によって、データ圧縮装置10Aは、出力バッファ50をさらに含みうる。データ圧縮装置10Aは、集積回路、本明細書に記載のハードウェアまたは類似ハードウェアとして具現されうる。
データパターン分析器20Aは、入力データDATAのパターンを分析することができるハードウェアまたはプロセッサとして具現されうる。データ圧縮管理器40は、データパターン分析器20Aから出力された分析結果INF1によって、入力バッファ30によってバッファされたデータBDiを選択的に圧縮することができるハードウェアまたはプロセッサとして具現されうる。
データパターン分析器20Aは、入力バッファ30に伝送される入力データDATAのパターンを分析し、該分析されたパターンに基づいて分析コードINF1、例えば、分析結果を出力することができる。
データパターン分析器20Aは、分析コードINF1の形態を有する分析結果をデータ圧縮管理器40に出力する。図1Aを参照すると、データパターン分析器20Aは、ヘッダ分析器21を含む。ヘッダ分析器21は、入力データDATAのヘッダHEADERに含まれた指示ビットを分析し、前記指示ビットの分析結果によって分析コードINF1を発生させる。分析コードINF1は、1ビットまたはそれ以上のビットとして具現されうる。すなわち、分析コードINF1は、1つのビットのコードまたはマルチビットコード(multi−bit code)であり得る。
ヘッダHEADERに含まれた指示ビットは、入力データDATAのボディーデータDATA1の圧縮の有無を表わす。前述したように、前記指示ビットは、1ビットまたはそれ以上のビットを含みうる。
例えば、ボディーデータDATA1が、圧縮データ(compressed data;例えば、マルチメディアデータ(multi−media data))である時、ヘッダHEADERに含まれた指示ビットは、第1値、例えば、1を有しうる。しかし、ボディーデータDATA1が、圧縮されていないデータ(uncompressed data)である時、ヘッダHEADERに含まれた指示ビットは、前記第1値と異なる第2値、例えば、0を有しうる。この際、ヘッダ分析器21は、前記指示ビットが、前記第1値を有する時、前記第1値を有する分析コードINF1を出力し、前記指示ビットが、前記第2値を有する時、前記第2値を有する分析コードINF1を出力する。
入力バッファ30は、データバスを通じて入力された入力データDATAをバッファリングし、該バッファされたデータBDiを出力する。例えば、入力データDATAが、‘a’個のビットを含むマルチビットデータである時、バッファされたデータBDiは、‘b’個のビットを含むマルチビットデータであり得る。ここで、‘a’と‘b’は、自然数であり、a=bまたはbは、‘a’の整数倍であり得る。
例えば、入力データDATAが、8ビットデータであり、バッファされたデータBDiが、64ビットデータである時、データパターン分析器20Aは、時間間隔T以内に8ビット入力データの各セット(set)のパターンを分析することができる。入力バッファ30は、8個の入力データDATAがいずれも入力される時、活性化されるイネーブル信号ENによって、各バッファされたデータBDi(i=0、1、2、3、...)を出力することができる。
図1Aを参照すると、データ圧縮管理器40は、データパターン分析器20Aから出力された分析コードINF1に基づいてバッファされたデータBDiを選択的に圧縮する。
データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiの1つまたはバッファされたデータBDiを圧縮して生成された圧縮データCDATAを出力する。すなわち、データ圧縮管理器40は、バッファされたデータBDiの圧縮をバイパスするか、または圧縮データCDATAを生成させるためにバッファされたデータBDiを圧縮する。例えば、分析コードINF1が、第2値、例えば、0である時、データ圧縮管理器40は、圧縮データCDATAを生成させるために入力バッファ30から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。一方、分析コードINF1が、第1値、例えば、1である時、データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiを圧縮せず、バッファされたデータBDiを出力バッファ50に出力する。
図1Aに示したように、データ圧縮管理器40は、メモリ41、プロセッサ43、及び選択器45を含む。メモリ41は、分析コードINF1を受信して保存する。
メモリ41に保存された分析コードINF1またはINF2に基づいて、選択器45は、バッファされたデータBDiを出力バッファ50に出力するか、または圧縮のためにバッファされたデータBDiをプロセッサ43に伝送する。例えば、分析コードINF1が、第1値を有する時、選択器45は、バッファされたデータBDiを出力バッファ50に出力する。しかし、分析コードINF1が、第2値を有する時、選択器45は、圧縮のためにバッファされたデータBDiをプロセッサ43に出力する。
プロセッサ43は、圧縮データCDATAを生成させるために選択器45から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。
図1Cを参照すると、プロセッサ43は、各シンボルA1、A2、及びA3を順次に圧縮し、以前に圧縮されたシンボルと同じシンボルは圧縮せず、シンボルの間の関係を表わす情報を出力することができる。例えば、プロセッサ43は、最初のシンボルA1は圧縮し、四番目のシンボルA1は圧縮しない。選択的に、プロセッサ43は、バッファされたデータBDiのあらゆるシンボルを圧縮することもできる。
図1Aを参照すると、出力バッファ50は、データ圧縮管理器40から出力されたデータ、例えば、バッファされたデータBDiまたは圧縮データCDATAを受信してバッファリングすることができる。
図1Aを参照して説明したように、データパターン分析器20Aは、入力データDATAが入力バッファ30に伝送される途中で、及び/または入力データDATAが入力バッファ30によってバッファリングされる途中で、入力データDATAのパターン、例えば、ヘッダHEADERに含まれた指示ビットを分析する。データパターン分析器20Aは、分析結果に基づいて分析コードINF1をデータ圧縮管理器40に伝送しうる。データ圧縮管理器40は、分析結果INF1に基づいてバッファされたデータBDiを圧縮の有無を決定することができる。
データ圧縮管理器40は、各入力データDATAのパターンを分析するために、入力バッファ30に保存された各入力データDATAまたは各バッファされたデータBDiを別途にリードする必要がないので、データ圧縮速度は改善されうる。
図2は、本発明の他の実施例によるデータ圧縮装置のブロック図を示す。図1Aから図1Cに示された入力データDATAとは異なって、図2に示された入力データDATAは、ボディーデータDATA1が圧縮データであるか否かを指示する指示ビットを含むヘッダを含まない。
図2のデータ圧縮装置10Bは、データパターン分析器20B、入力バッファ30、及びデータ圧縮管理器40を含む。実施例によって、データ圧縮装置10Bは、出力バッファ50をさらに含みうる。
データパターン分析器20Bは、パターン分析器23を含む。入力データDATAが、入力バッファ30に伝送される時、パターン分析器23は、入力データDATAを受信し、入力データDATAのパターンを分析し、該分析結果に基づいて分析コードINF2を出力する。この場合、パターン分析器23は、次にバッファされたデータ(図1BのD1)が出力される前までも、図1CのバッファされたデータD0に含まれた各入力データについてのパターンを分析することができる。
パターン分析器23は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、最大頻度数(または、最小頻度数)と基準値とを比較し、該比較結果を分析結果INF2としてデータ圧縮管理器40に出力する。1つのシンボルは、k(kは、自然数、例えば、k=8)ビットを含みうる。
図3は、図2に示されたデータパターン分析器の動作を説明するためのテーブルである。図2と図3とを参照すると、パターン分析器23は、入力データDATAに含まれた複数のシンボルAA、BB、CC、DD、EE、FF、...のそれぞれの頻度数10、100、1000、2、5、50、...を決定する。パターン分析器23は、最大頻度数(または、最小頻度数)と基準値とを比較する。
前記最大頻度数が、前記基準値より大きい場合、すなわち、前記最大頻度数に相応するシンボルの反復回数が多い場合、パターン分析器23は、第2値、例えば、0を有する分析コードINF2を圧縮管理器40に出力する。第2値を有する分析コードINF2は、入力データDATAがデータ圧縮管理器40によって必ず圧縮されなければならないことを指示する。
第2値を有する分析コードINF2に応答して、データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを直接または出力バッファ50を通じて不揮発性メモリ装置、例えば、フラッシュ(flash)メモリ装置に出力することができる。
しかし、前記最大頻度数が、前記基準値より小さいか、同じである時、パターン分析器23は、第1値を有する分析コードINF2をデータ圧縮管理器40に出力する。第1値を有する分析コードINF2は、バッファされたデータBDiがデータ圧縮管理器40によって圧縮される必要がないことを指示する。第1値を有する分析コードINF2に応答して、データ圧縮管理器40は、バッファされたデータBDiの圧縮をバイパス(bypass)し、バッファされたデータBDiを直接または出力バッファ50を通じて不揮発性メモリ装置、例えば、フラッシュメモリ装置に出力することができる。
図4は、本発明のまた他の実施例によるデータ圧縮装置のブロック図を示す。図4を参照すると、データ圧縮装置10Cは、データパターン分析器20C、入力バッファ30、及びデータ圧縮管理器40を含む。実施例によって、データ圧縮装置10Cは、出力バッファ50をさらに含みうる。
データパターン分析器20Cは、ヘッダ分析器25と予測器26とを含む。
ヘッダ分析器25は、入力データDATAのヘッダHEADERに含まれた指示ビットを分析する。前記指示ビットによって、ヘッダ分析器25は、制御信号を予測器26に出力し、第1制御コードをデータ圧縮管理器40に出力する。前記制御信号は、予測器26の動作を制御し、前記第1制御コードは、データ圧縮管理器40の動作を制御することができる。
例えば、ボディーDATA1に含まれたデータが、圧縮されたデータであることを表わす第1値、例えば、1を有する指示ビットによって、ヘッダ分析器25は、第1値を有する制御信号、例えば、ローレベル(low level)を有する制御信号を予測器26に出力して予測器26の動作をディセーブル(disable)させる。また、ヘッダ分析器25は、第1制御コードをデータ圧縮管理器40に出力することができる。前記第1制御コードは、バッファされたデータBDiの圧縮のバイパスをデータ圧縮管理器40に指示する。
ボディーDATA1に含まれたデータが、圧縮されていないデータであることを表わす第2値、例えば、0を有する指示ビットによって、ヘッダ分析器25は、制御信号、例えば、ハイレベル(high level)を有する制御信号を予測器26に出力して予測器26の動作をイネーブルさせる。予測器26がイネーブルされれば、予測器26は、図3に示したように、入力データDATA、例えば、ボディーDATA1に含まれた各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...をカウントする。
図4を参照すると、予測器26は、コーディング(coding)規則に基づいて各シンボルAA、BB、CC、DD、EE、FF、...に各コードワード1011、101、10、10101、10001、110、...を割り当てる。次いで、予測器26は、各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...と各シンボルAA、BB、CC、DD、EE、FF、...に割り当てられた各コードワード1011、101、10、10101、10001、110、...のビット数4、3、2、5、5、3、...とに基づいて圧縮データCDATAのサイズを予測する。次いで、予測器26は、圧縮データの予測されたサイズ(以下、‘予測データECDATA’と称する)と基準データのサイズとを比較し、該比較結果をデータ圧縮管理器40に出力する。
予測器26は、数式1によって予測データECDATAのサイズを計算する。
Figure 2012151840
数式1で、“n”は、自然数であり、ボディーDATA1に含まれたデータのシンボル(symbol)の総数を表わし、“fi”は、i番目のシンボルの頻度数を表わし、“Bi”は、i番目のシンボルに割り当てられたコードワードのビット数を表わす。例えば、図3を参照すると、シンボルAAの頻度数は10であり、シンボルAAに割り当てられたコードワード1011のビット数は3であり、シンボルCCの頻度数は1,000であり、シンボルCCに割り当てられたコードワード10のビット数は2である。
さらに具体的な例で、入力データDATAのサイズが5Kbyteであり、基準データのサイズが3Kbyteであり、数式1によって計算された予測データECDATAのサイズが3Kbyteより大きい時、予測器26は、バッファされたデータBDiの圧縮をバイパスさせることを指示する第2制御コードを出力する。一方、数式1によって計算された予測データECDATAのサイズが3Kbyteより小さい時、予測器26は、バッファされたデータBDiを圧縮させることを指示する第2制御コードを出力する。例えば、基準データのサイズは、入力データDATAのサイズのc(cは、小数、例えば、0.6)倍であり得る。
図4に示された分析コードINF3は、ヘッダHEADERに含まれた指示ビットによって発生した第1制御コードと、予測データECDATAのサイズと基準データのサイズとの比較結果に基づいて発生した第2制御コードとを含む。
図1Aから図4を参照して説明したように、次の場合、バッファされたデータBDiは、圧縮なしにデータ圧縮管理器40から出力される。
ボディーDATA1に含まれたデータが既に圧縮された場合;または、ボディーDATA1に含まれたデータが圧縮されていないデータであり、予測データECDATAのサイズが、基準データのサイズより大きい場合。
図4を参照すると、データ圧縮管理器40は、データパターン分析器20Cから出力された分析コードINF3を分析し、該分析結果によってバッファされたデータBDiまたは圧縮データCDATAを出力する。
ボディーDATA1に含まれたデータが圧縮されていないデータであり、予測データECDATAのサイズが、基準データのサイズより小さい時、データ圧縮管理器40は、データパターン分析器20Cから出力された分析コードINF3によってバッファされたデータBDiを圧縮し、圧縮データCDATAを出力する。
前述したように、それぞれの入力データDATAが、入力バッファ30に伝送される間に、データパターン分析器20Cは、それぞれの入力データDATAのパターンを分析し、分析コードINF3をデータ圧縮管理器40に伝送する。データ圧縮管理器40は、分析コードINF3によってバッファされたデータBDiを選択的に圧縮することができる。
図5は、本発明のさらに他の実施例によるデータ圧縮装置のブロック図を示す。
図5を参照すると、データ圧縮装置10Dは、データパターン分析器20D、入力バッファ30、及びデータ圧縮管理器40を含む。実施例によって、データ圧縮装置10Dは、出力バッファ50をさらに含みうる。データパターン分析器20Dは、パターン分析器27と予測器28とを含む。データ圧縮装置10Dの動作は、図3を参照して説明される。
図3と図5とを参照すると、パターン分析器27は、入力データDATAに含まれた各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...をカウントし、各シンボルAA、BB、CC、DD、EE、FF、...にコーディング規則に基づいて各コードワード1011、101、10、10101、10001、110、...を割り当てる。そして、パターン分析器27は、各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...と各シンボルAA、BB、CC、DD、EE、FF、...に割り当てられた各コードワード1011、101、10、10101、10001、110、...とを予測器28に伝送する。
予測器28は、各シンボルAA、BB、CC、DD、EE、FF、...の各頻度数10、100、1000、2、5、50、...と各シンボルAA、BB、CC、DD、EE、FF、...に割り当てられた各コードワード1011、101、10、10101、10001、110、...の各ビット数4、3、2、5、5、3、...とに基づいて圧縮データECDATAのサイズを数式1によって予測する。予測器28は、予測データECDATAのサイズと基準データのサイズとを比較し、該比較結果によって分析コードINF4を生成させ、分析コードINF4をデータ圧縮管理器40に出力する。
予測データECDATAのサイズが、基準データのサイズより小さい時(例えば、圧縮効率に優れる時)、データ圧縮管理器40は、データパターン分析器20Dから出力された分析コードINF4、例えば、第2値、例えば、0によってバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。
しかし、予測データECDATAのサイズが、基準データのサイズより大きい時(例えば、圧縮効率が劣る時)、データ圧縮管理器40は、データパターン分析器20Dから出力された分析コードINF4、例えば、第1値、例えば、1によってバッファされたデータBDiを出力する。
例えば、予測データECDATAのサイズが、基準データのサイズより小さいことは、優れた圧縮効率(superior compression efficiency)を表し、予測データECDATAのサイズが、基準データのサイズより大きいことは、劣った圧縮効率(inferior compression efficiency)を表わす。
図13は、本発明のさらに他の実施例によるデータ圧縮装置のブロック図を示す。図13を参照すると、データ圧縮装置1310は、データパターン分析器1320、入力バッファ30、及びデータ圧縮管理器40を含む。実施例によって、データ圧縮装置1310は、出力バッファ50をさらに含みうる。
データパターン分析器1320は、ヘッダ分析器1325とパターン分析器1327とを含む。図13に示されたデータパターン分析器1320は、データパターン分析器1320がヘッダ分析器1325とパターン分析器1327とを含むものを除けば、図1のデータパターン分析器20Aと図2のデータパターン分析器20Bと類似している。
データ圧縮装置1310の例示的な動作は、図6に示されたフローチャートを参照して詳しく説明される。
図13を参照すると、ヘッダ分析器1325は、入力データDATAがヘッダHEADERを含むか否かを検出する。入力データDATAがヘッダHEADERを含めば、ヘッダ分析器1325は、入力データDATAのヘッダHEADERに含まれた指示ビットを分析し、前記指示ビットの分析に基づいて分析コードINF1を生成させる。
図13を参照して説明された分析コードINF1と前記指示ビットは、図1Aを参照して説明された分析コードINF1と前記指示ビットと同一または実質的に同一である。
図1Aに示したように、ヘッダ分析器1325は、前記指示ビットが、前記第1値、例えば、1を有する時、第1値、例えば、1を有する分析コードINF1を出力する。しかし、ヘッダ分析器1325は、前記指示ビットが、前記第2値、例えば、0を有する時、第2値、例えば、0を有する分析コードINF1を出力する。
図13を参照すると、またデータパターン分析器1320は、パターン分析器1327を含む。ヘッダ分析器1325が、入力データDATAからヘッダHEADERを検出することができなければ、パターン分析器1327は、入力データDATAを受信し、入力データDATAのパターンを分析し、該分析結果に基づいて分析コードINF2を出力する。この場合、パターン分析器1327は、各入力データDATAのパターンを分析する。
パターン分析器1327は、入力データDATAに含まれた各シンボルの各頻度数をカウントし、最大頻度数(または、最小頻度数)と基準値とを比較し、該比較結果を分析結果INF2としてデータ圧縮管理器40に出力する。前述したように、1つのシンボルは、kビットを含み、kは、自然数であり、例えば、k=8であり得る。
入力バッファ30は、データバスを通じて受信された入力データDATAをバッファリングし、該バッファされたデータBDiを出力する。例えば、入力データDATAが、‘a’個のビットを含むマルチビットデータである時、バッファされたデータBDiは、‘b’個のビットを含むマルチビットデータであり得る。ここで、‘a’と‘b’は、自然数であり、a=bまたはbは、‘a’の整数倍であり得る。
図1を参照すると、データ圧縮管理器40は、データパターン分析器1320から出力された分析コードINF1またはINF2に基づいてバッファされたデータBDiを選択的に圧縮することができる。そして、データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiの1つまたはバッファされたデータBDiを圧縮して生成された圧縮データCDATAを出力する。すなわち、データ圧縮管理器40は、バッファされたデータBDiの圧縮をバイパスするか、または圧縮データCDATAを生成させるためにバッファされたデータBDiを圧縮する。
例えば、分析コードINF1またはINF2が、第2値、例えば、0である時、データ圧縮管理器40は、圧縮データCDATAを生成させるために入力バッファ30から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。一方、分析コードINF1またはINF2が、第1値、例えば、1である時、データ圧縮管理器40は、入力バッファ30から出力されたバッファされたデータBDiを圧縮せず、バッファされたデータBDiを出力バッファ50に出力する。
図1Aに示したように、データ圧縮管理器40は、メモリ41、プロセッサ43、及び選択器45を含む。メモリ41は、分析コードINF1またはINF2を受信して保存する。
メモリ41に保存された分析コードINF1またはINF2に基づいて、選択器45は、バッファされたデータBDiを出力バッファ50に出力するか、または圧縮のためにバッファされたデータBDiをプロセッサ43に伝送する。例えば、分析コードINF1またはINF2が、第1値を有する時、選択器45は、バッファされたデータBDiを出力バッファ50に出力する。しかし、分析コードINF1またはINF2が、第2値を有する時、選択器45は、圧縮のためにバッファされたデータBDiをプロセッサ43に出力する。
プロセッサ43は、圧縮データCDATAを生成させるために選択器45から出力されたバッファされたデータBDiを圧縮し、圧縮データCDATAを出力バッファ50に出力する。
出力バッファ50は、データ圧縮管理器40から出力されたデータ、例えば、バッファされたデータBDiまたは圧縮データCDATAを受信してバッファリングすることができる。そして、出力バッファ50から出力されたデータBDiまたはCDATAは、不揮発性メモリに出力される。
図6は、データ圧縮装置の動作を説明するためのフローチャートである。図6を参照して説明される方法は、ヘッダ分析器とパターン分析器とを含むデータパターン分析器を含むデータ圧縮装置と共に使われる。このようなデータ圧縮装置についての実施例は、図13に示される。図6に示された方法は、図13に示されたデータ圧縮装置1310に関連する。
図1と図13とを参照すると、ヘッダ分析器1325は、入力データDATAがヘッダを含むか否かを検索する(ステップS10)。ヘッダ分析器1325が、入力データDATAがヘッダHEADERを含むと決定すれば(ステップS20)、ヘッダ分析器1325は、ヘッダHEADERに含まれた指示ビットに基づいて、入力データDATAが既に圧縮されたか否かを決定する(ステップS30)。ヘッダHEADERに含まれた指示ビットが、ボディーDATA1に含まれたデータが圧縮されたデータであることを指示する時、ヘッダ分析器1325は、入力データDATAが既に圧縮されたと決定する。
ヘッダ分析器1325が、ボディーDATA1が既に圧縮されたデータであると決定すれば(ステップS30)、ヘッダ分析器1325は、入力データDATAが既に圧縮されたことを指示する分析コードINF1をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、バッファされたデータBDiを圧縮せず、バッファされたデータBDiを出力バッファ50に出力するか、または圧縮をバイパスする(ステップS32)。データ圧縮管理器40によってバイパスされたバッファされたデータBDiは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存することができる。
ステップS30の判断結果、ヘッダ分析器1325が、ボディーDATA1に含まれたデータが圧縮されていないデータであると決定すれば、ヘッダ分析器1325は、ボディーDATA1に含まれたデータが圧縮されていないデータであることを指示する分析コードINF1をデータ圧縮管理器40に伝送する。分析コードINF1に応答して、データ圧縮管理器40は、圧縮データCDATAを生成させるためにバッファされたデータBDiを圧縮する(ステップS34)。データ圧縮管理器40から出力された圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存することができる(ステップS36)。
図6のステップS20で、ヘッダ分析器1325が、入力データDATAにヘッダHEADERが存在しないと決定すれば、図7を参照して次の過程が説明される。
図7は、データ圧縮装置の他の動作を説明するためのフローチャートである。図7に示された方法は、データ圧縮装置10B、10C、及び/または1310と共に説明されうる。説明の便宜上、図7のフローチャートは、図2に示されたデータ圧縮装置10Bを参照して説明される。しかし、データ圧縮装置1310は、図7のフローチャートに対応する動作を行うことができる。
図7を参照すると、図2に示されたパターン分析器23は、入力データDATAのパターンを検索する(ステップS42)。そして、パターン分析器23は、入力データDATAのパターンを分析する(ステップS42)。例えば、パターン分析器23は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントする。パターン分析器23は、カウントされた頻度数のうちの最大頻度数(または、最小頻度数)と基準値とを比較する(ステップS44)。
ステップS44の比較結果、前記最大頻度数(または、最小頻度数)が、前記基準値より大きいか、同じである時、パターン分析器23は、バッファされたデータBDiが圧縮されなければならないことを指示する分析コードINF2をデータ圧縮管理器40に伝送する。分析コードINF2に応答して、データ圧縮管理器40は、バッファされたデータBDiを圧縮する(ステップS46)。そして、圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存される(ステップS50)。
ステップS44の比較結果、前記最大頻度数(または、最小頻度数)が、前記基準値より小さい時、パターン分析器23は、バッファされたデータBDiが圧縮される必要がないことを指示する分析コードINF2をデータ圧縮管理器40に伝送する。分析コードINF2に応答して、データ圧縮管理器40は、バッファされたデータBDiを圧縮せず(例えば、圧縮をバイパスし)、バッファされたデータBDiを出力バッファ50に出力する(ステップS48)。
図8は、データ圧縮装置のまた他の動作を説明するためのフローチャートである。図8に示された方法は、図5のデータ圧縮装置10Dで実行可能である。図8を参照すると、図5のパターン分析器27は、入力データDATAのパターンを検索する(ステップS40)。
パターン分析器27は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、コーディング規則に基づいて、前記複数のシンボルのそれぞれにコードワードを割り当て、前記複数のシンボルのそれぞれの頻度数と前記複数のシンボルのそれぞれに割り当てられたコードワードを予測器28に出力する(ステップS60)。
予測器28は、パターン分析器27から出力された前記複数のシンボルのそれぞれの頻度数と前記複数のシンボルのそれぞれに割り当てられたコードワードのビット数とを用いて、数式1によって予測データECDATAのサイズを計算する(ステップS80)。
予測器28は、予測データのサイズECDATAと基準データのサイズとを比較する(ステップS82)。予測データCDATAのサイズが、前記基準データのサイズより大きい時、予測器28は、バッファされたデータBDiの圧縮が必要ないことを指示する分析コードINF4をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、バッファされたデータBDiを圧縮せず、バッファされたデータBDiを出力バッファ50に出力する(ステップS84)。次いで、出力バッファ50に保存されたバッファされたデータBDiは、不揮発性メモリ装置に保存される(ステップS88)。
予測データECADATのサイズが、前記基準データのサイズより小さいか、同じである時、予測器28は、バッファされたデータBDiの圧縮を指示する分析コードINF4をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、バッファされたデータBDiを圧縮し(ステップS86)、圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存される(ステップS88)。
パターン分析器27は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、コーディング規則に基づいて、前記複数のシンボルのそれぞれにコードワードを割り当てる。
前記コーディング規則は、ハフマンコーディング規則(Huffman codingrule)、LZWコーディング規則(Lempel Zip Welch rule)、算術コーディング規則(Arithmetic coding rule)、RLE(Run Length Encoding)、または他の適当なコーディング規則であり得る。また、前記ハフマンコーディング規則は、静的ハフマンコーディング規則と動的ハフマンコーディング規則とを含む。
図9は、静的ハフマンコーディング規則を用いるパターン分析器の動作を説明するためのフローチャートである。図5と図9とを参照すると、パターン分析器27は、入力データDATAのパターンを検索する(ステップS40)。入力データDATAに含まれたシンボルが発見される度に(ステップS61)、パターン分析器27は、当該シンボルの頻度数を+1増加させる(ステップS62)。
パターン分析器27は、入力データDATAが、いずれも入力されたか(または、入力データDATAの端部に到逹したか)を決定する(ステップS63)。入力データDATAが、いずれも入力された時(または、入力データDATAの端部に到逹した時)、パターン分析器27は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、コーディング規則(例えば、静的ハフマンコーディング規則)に基づいて、前記複数のシンボルのそれぞれにコードワードを割り当てる(ステップS64)。
ステップS63で、入力データDATAが、いずれも入力されなかった時(または、入力データDATAの端部に到逹しなかった時)、前記方法は、ステップS40に戻り、入力データDATAの次のシンボルについて前述した段階を引き続き行う。
ステップS61で、パターン分析器27は、入力データDATAでシンボルを発見することができない時、ステップS63を行う。
図10は、動的ハフマンコーディング規則を用いるパターン分析器の動作を説明するためのフローチャートである。図5と図10とを参照すると、パターン分析器27は、入力データDATAのパターンを検索する(ステップS40)。入力データDATAに含まれたシンボルが発見されれば(ステップS66)、パターン分析器27は、前記シンボルが新たなシンボルであるか否かを判断する(ステップS67)。前記シンボルが新たなシンボルであれば、パターン分析器27は、前記シンボルをシンボルリスト(symbol list)に追加し(ステップS68)、当該シンボルの頻度数を+1増加させる(ステップS69)。
パターン分析器27は、入力データDATAが、いずれも入力されたか否かを確認する。入力データDATAが、いずれも入力された時(ステップS70)、パターン分析器27は、入力データDATAに含まれた複数のシンボルのそれぞれの頻度数をカウントし、コーディング規則(例えば、動的ハフマンコーディング規則)に基づいて、前記複数のシンボルのそれぞれにコードワードを割り当てる(ステップS71)。
ステップS70で、入力データDATAが、いずれも入力されなかった時、前記方法は、ステップS40に戻り、入力データDATAの残りの部分について前述した段階を引き続き行う。
発見されたシンボルが新たなシンボルではない時(ステップS67)、当該シンボルの頻度数を+1増加させる(ステップS69)。シンボルが、入力データDATAで発見されない時、ステップS70が行われる。
図14は、データ圧縮装置のさらに他の動作を説明するためのフローチャートである。図14に示された方法は、図1Aのデータ圧縮装置10Aで行われる。図1Aと図14とを参照すると、ヘッダ分析器21は、ヘッダHEADERに含まれた指示ビットに基づいて入力データDATAが既に圧縮されたか否かを決定する(ステップS1402)。
ヘッダHEADERに含まれた指示ビットが、ボディーDATA1に含まれたデータが圧縮されたデータであることを指示する時、ヘッダ分析器21は、入力データDATAが既に圧縮されたと決定する。ヘッダ分析器21が、ボディーDATA1に含まれたデータが圧縮されたデータであると決定すれば(ステップS1402)、ヘッダ分析器21は、前記データが既に圧縮されたデータであることを指示する分析コードINF1をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、圧縮していないバッファされたデータBDiを出力バッファ50に伝送する(ステップS1404)。データ圧縮管理器40によってバイパスされたバッファされたデータBDiは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存される(ステップS1408)。
ヘッダ分析器21が、ボディーDATA1に含まれたデータが圧縮されていないデータであると決定すれば(ステップS1402)、ヘッダ分析器21は、ボディーDATA1に含まれたデータが圧縮されていないデータであることを指示する分析コードINF1をデータ圧縮管理器40に伝送する。
分析コードINF1に応答して、データ圧縮管理器40は、圧縮データCDATAを生成させるためにバッファされたデータBDiを圧縮する(ステップS1404)。データ圧縮管理器40から出力された圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存される(ステップS1408)。
図15は、データ圧縮装置のさらに他の動作を説明するためのフローチャートである。図15に示された方法は、図4のデータ圧縮装置10Cで行われる。
ヘッダ分析器25は、入力データDATAのヘッダHEADERに含まれた指示ビットを分析して、入力データDATAが、圧縮されたデータであるか否かを決定する(ステップS1502)。ボディーDATA1に含まれたデータが、圧縮されたデータであることを指示する第1値、例えば、1を有する指示ビットによって、ヘッダ分析器25は、第1値を有する制御信号、例えば、ローレベルを有する制御信号を予測器26に出力して予測器26の動作をディセーブル(disable)させる(ステップS1504)。
ヘッダ分析器25は、バッファされたデータBDiの圧縮のバイパスをデータ圧縮管理器40に命令することができる分析コードINF3をデータ圧縮管理器40に出力する(ステップS1506)。
ボディーDATA1に含まれたデータが、圧縮されていないデータであることを表わす第2値、例えば、0を有する指示ビットによって(ステップS1502)、ヘッダ分析器25は、制御信号、例えば、ハイレベルを有する制御信号を予測器26に出力して予測器26の動作をイネーブルさせる(ステップS1508)。
予測器26は、図4を参照して説明したように、圧縮データCDATAのサイズを予測することができる(ステップS1510)。予測器26は、圧縮データ(以下、‘予測データECDATA’と称する)の予測されたサイズと基準データのサイズとを比較する(ステップS1512)。
予測データECDATAのサイズが、基準データのサイズより大きい時、予測器26は、バッファされたデータBDiが圧縮される必要がないことを指示する分析コードINF3をデータ圧縮管理器40に伝送する。したがって、データ圧縮管理器40は、圧縮されていないバッファされたデータBDiを出力バッファ50に伝送する(ステップS1506)。出力バッファ50に保存されたバッファされたデータBDiは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存される(ステップS1516)。
予測データECDATAのサイズが、基準データのサイズより小さいか、同じである時、予測器26は、バッファされたデータBDiは必ず圧縮されなければならないことを指示する分析コードINF3をデータ圧縮管理器40に伝送する。分析コードINF3に応答して、データ圧縮管理器40は、バッファされたデータBDiを圧縮する(ステップS1514)。圧縮データCDATAは、直接または出力バッファ50を通じて不揮発性メモリ装置に保存される(ステップS1516)。
図11は、本発明の実施例によるデータ圧縮装置を含むデータ処理システムの一実施例を示す。データ処理システム100は、データ圧縮装置10A、10B、10C、10D、または1310を含みうる。データ処理システム100は、SSD(solid state drive)として具現されうる。また、データ処理システム100は、データパターン分析器20A、20B、20C、20D、または1320(総括的に20)を含みうる。
図11を参照すると、データ処理システムまたはデータ処理装置100は、メモリコントローラ90と複数のフラッシュメモリ装置141とを含む。メモリコントローラ90は、データパターン分析器20を含むホストインターフェース101、データ圧縮管理器40、メインプロセッサ110、揮発性メモリ120、及びフラッシュ管理コントローラ(Flash Management Controller、FMC)140を含む。各構成要素40、101、110、120、及び140は、データバス100−1を通じて互いにデータ通信を行うことができる。
ホストインターフェース101は、ホスト(図示せず)とメモリコントローラ90でデータ通信のためのインターフェース機能を行う。DRAM(dynamic random access memory)として具現された揮発性メモリ120は、図1A、図2、図4、図5、または図13に示された入力バッファ30と出力バッファ50との機能を共に行うことができる。
ホストから出力された入力データDATAが、第1データ経路PATH1を通じて揮発性メモリ120に伝送される途中で、データパターン分析器20は、入力データDATAを受信し、入力データDATAのパターンを分析する。入力データDATAのパターンは、図1から図10、図13、図14、及び図15を参照して説明された方法によって分析されうる。
データパターン分析器20は、データバス100−1を通じて分析結果による分析コードINF1、INF2、INF3、またはINF4をデータ圧縮管理器40に伝送する。
分析コードINF1、INF2、INF3、またはINF4が、データが圧縮される必要がないことを指示する時、データ圧縮管理器40は、第2データ経路PATH2を通じて揮発性メモリ120の入力バッファ30からリードされたバッファされたデータBDiを圧縮せず、揮発性メモリ120の出力バッファ50に保存する。
しかし、分析コードINF1、INF2、INF3、またはINF4が、データが圧縮されなければならないことを指示する時、データ圧縮管理器40は、第2データ経路PATH2を通じて揮発性メモリ120の入力バッファ30からリードされたバッファされたデータBDiを圧縮し、圧縮データCDATAを揮発性メモリ120の出力バッファ50に保存する。
揮発性メモリ120の出力バッファ50に保存されたデータ、すなわち、バッファされたデータBDiまたは圧縮データCDATAは、第3データ経路PATH3を通じてFMC140に伝送される。そして、バッファされたデータBDiまたは圧縮データCDATAは、FMC140の制御によって複数のフラッシュメモリ装置141のうちの少なくとも1つのフラッシュメモリ装置に伝送される。
図12は、本発明の実施例によるデータ圧縮装置を含むデータ処理システムの他の実施例を示す。図12のデータ処理システム200は、データ圧縮装置10A、10B、10C、10D、または1310を含みうる。図12を参照すると、データ処理システムまたはデータ処理装置200は、スマートカード(smart card)またはメモリカード(memory card)として具現されうる。データ処理システム200は、カードインターフェース210、メモリコントローラ220、及び不揮発性メモリ装置230を含む。
メモリコントローラ220は、データ圧縮装置10A、10B、10C、10D、または1310(総括的に10に表示する)を含む。実施例によって、データ圧縮装置10は、メモリコントローラ220の外部に具現されることもある。
カードインターフェース210は、メモリコントローラ220とホスト(図示せず)との間で送受信するデータの交換を制御する。メモリコントローラ220は、不揮発性メモリ装置230の動作、例えば、プログラム(program)動作、リード(read)動作、及び/またはイレーズ(erase)動作を制御する。
ホストから出力され、カードインターフェース210を通じて入力されたデータDATAが、入力バッファ30に伝送される途中で、データ圧縮装置10は、データDATAのパターンを分析する。該分析結果に基づいて、データ圧縮装置10は、バッファされたデータBDiを選択的に圧縮し、バッファされたデータBDiまたは圧縮データCDATAを不揮発性メモリ装置230に出力する。
本発明は、データ圧縮装置とそれを含むデータ処理装置に利用されうる。
10A、10B、10C、及び10D:データ圧縮装置
20A、20B、20C、及び20D:データパターン分析器
30:入力バッファ
40:データ圧縮管理器
41:メモリ
43:プロセッサ
45:選択器
101:ホスト装置
110:メインプロセッサ
120:DRAM
140:フラッシュ管理コントローラ
210:カードインターフェース
220:メモリコントローラ
230:メモリ装置

Claims (39)

  1. データを圧縮する方法において、
    分析器を用いて、前記データの圧縮の有無を決定するために、前記データを分析する段階と、
    前記データが入力バッファでバッファリングされる間に分析結果を生成させる段階と、
    前記分析結果に基づいてバッファされたデータを選択的に圧縮する段階と、
    を含むことを特徴とするデータを圧縮する方法。
  2. 前記データを分析する段階は、
    前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析し、前記分析結果は、前記指示ビットの分析結果に基づいて生成されることを特徴とする請求項1に記載のデータを圧縮する方法。
  3. 前記データを分析する段階は、
    前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、
    カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値とを比較する段階と、を含み、
    前記分析結果は、比較結果に基づいて生成されることを特徴とする請求項1に記載のデータを圧縮する方法。
  4. 前記データを分析する段階は、
    前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、
    前記複数のシンボルのそれぞれにコードワードを割り当てる段階と、
    前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データの予測サイズを計算する段階と、
    前記予測サイズと基準データのサイズとを比較する段階と、を含み、
    前記分析結果は、比較結果に基づいて生成されることを特徴とする請求項1に記載のデータを圧縮する方法。
  5. 前記データを分析する段階は、
    前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析する段階と、
    前記指示ビットの分析結果に基づいて、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、
    カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値とを比較する段階と、を含み、
    前記分析結果は、比較結果に基づいて生成されることを特徴とする請求項1に記載のデータを圧縮する方法。
  6. 前記バッファされたデータを選択的に圧縮する段階は、
    前記分析結果をメモリに保存する段階と、
    前記メモリに保存された前記分析結果に基づいて、プロセッサを用いて、前記バッファされたデータを選択的に圧縮する段階と、
    を含むことを特徴とする請求項1に記載のデータを圧縮する方法。
  7. 前記データについての分析は、前記入力バッファから前記バッファされたデータが出力される以前に完了することを特徴とする請求項1に記載のデータを圧縮する方法。
  8. データ圧縮装置において、
    入力バッファに伝送されるデータを分析し、該分析結果に基づいて分析コードを生成させるデータパターン分析器と、
    前記分析コードに基づいて、前記入力バッファから出力された前記データを選択的に圧縮するデータ圧縮管理器と、
    を含むことを特徴とするデータ圧縮装置。
  9. 前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を表わす指示ビットを分析し、前記指示ビットの分析結果に基づいて、前記分析コードを生成させることを特徴とする請求項8に記載のデータ圧縮装置。
  10. 前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、該カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値との比較結果に基づいて、前記分析コードを生成させることを特徴とする請求項8に記載のデータ圧縮装置。
  11. 前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、
    前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算されることを特徴とする請求項8に記載のデータ圧縮装置。
  12. 前記データパターン分析器は、
    前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットに基づいて制御信号を出力するヘッダ分析器と、
    活性化された前記制御信号に応答してイネーブルされ、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算されることを特徴とする請求項8に記載のデータ圧縮装置。
  13. 前記データパターン分析器は、
    前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当てるパターン分析器と、
    前記パターン分析器から出力された前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードを受信し、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、
    前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算されることを特徴とする請求項8に記載のデータ圧縮装置。
  14. 前記データ圧縮管理器は、
    前記分析コードを保存するためのメモリと、
    前記入力バッファから出力された前記データを圧縮し、圧縮データを出力するプロセッサと、
    前記メモリに保存された前記分析コードに基づいて、前記入力バッファから出力された前記データを不揮発性メモリ装置と前記プロセッサとのうちの何れか1つに出力する選択器と、
    を含むことを特徴とする請求項8に記載のデータ圧縮装置。
  15. 前記プロセッサは、前記入力バッファから出力された前記データの各シンボルを順次に圧縮し、前記データ内で圧縮されない重複される複数のシンボルの間の関係を指示する情報を出力することを特徴とする請求項14に記載のデータ圧縮装置。
  16. 不揮発性メモリ装置と、
    バッファされたデータを選択的に圧縮するデータ圧縮装置と、を含み、
    前記データ圧縮装置は、
    前記データをバッファリングする入力バッファと、
    前記データが、前記入力バッファに伝送される間に、前記データを分析し、前記データの分析結果に基づいて分析コードを生成させるデータパターン分析器と、
    前記分析コードに基づいて、前記バッファされたデータを選択的に圧縮するデータ圧縮管理器と、
    を含むことを特徴とするデータ処理装置。
  17. 前記データパターン分析器は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析し、前記指示ビットの分析結果に基づいて、前記分析コードを出力することを特徴とする請求項16に記載のデータ処理装置。
  18. 前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、該カウントされた頻度数の最大頻度数と最小頻度数とのうちの何れか1つと基準値との比較結果に基づいて、前記分析コードとして出力することを特徴とする請求項16に記載のデータ処理装置。
  19. 前記データパターン分析器は、前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、基準データのサイズと圧縮される前記データの予測サイズとの比較結果に基づいて、前記分析コードを生成させ、
    前記予測サイズは、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて計算されることを特徴とする請求項16に記載のデータ処理装置。
  20. 前記データ圧縮管理器は、
    前記分析コードを保存するためのメモリと、
    前記バッファされたデータを圧縮し、前記圧縮データを出力するプロセッサと、
    前記メモリに保存された前記分析コードに基づいて、前記バッファされたデータを前記不揮発性メモリ装置と前記プロセッサとのうちの何れか1つに出力する選択器と、
    を含むことを特徴とする請求項16に記載のデータ処理装置。
  21. 前記データ処理装置は、SSD(solid state drive)であることを特徴とする請求項16に記載のデータ処理装置。
  22. 前記データ処理装置は、スマートカードまたはメモリカードであることを特徴とする請求項16に記載のデータ処理装置。
  23. 前記データ処理装置は、スマートフォンまたはタブレットPCであることを特徴とする請求項16に記載のデータ処理装置。
  24. 前記データ圧縮装置は、前記不揮発性メモリ装置を制御するメモリコントローラの内部に集積されたことを特徴とする請求項16に記載のデータ処理装置。
  25. データを圧縮する方法において、
    入力バッファに伝送されるデータを横取りする段階と、
    横取りしたデータを分析し、該分析結果を出力する段階と、
    前記分析結果に基づいて、圧縮データと前記入力バッファから出力された前記データとのうちの1つを出力する段階と、を含み、
    前記圧縮データは、前記入力バッファの前記データを圧縮して生成されたデータであることを特徴とするデータを圧縮する方法。
  26. 前記横取りしたデータの分析は、前記データが、前記入力バッファから出力される以前に完了することを特徴とする請求項25に記載のデータを圧縮する方法。
  27. 前記データは、1つまたはそれ以上のビットを含み、前記入力バッファによってバッファされたデータは、前記データの整数倍であることを特徴とする請求項25に記載のデータを圧縮する方法。
  28. 前記データを分析する段階は、前記データのヘッダに含まれ、前記データの圧縮の有無を指示する指示ビットを分析し、前記分析結果は、前記指示ビットの分析結果によって生成されることを特徴とする請求項25に記載のデータを圧縮する方法。
  29. 前記データを分析する段階は、
    前記データに含まれた複数のシンボルのそれぞれの頻度数をカウントする段階と、
    前記複数のシンボルのそれぞれにコードワードを割り当てる段階と、
    前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データの予測サイズを計算する段階と、
    前記予測サイズと基準データのサイズとを比較する段階と、を含み、
    前記分析結果は、比較結果に基づいて生成されることを特徴とする請求項25に記載のデータを圧縮する方法。
  30. データを圧縮する方法において、
    データ圧縮装置で、前記データのパターンと前記データのヘッダに含まれた指示ビットの値とのうちの1つに基づいてデータを選択的に圧縮する段階を含み、前記パターンと前記指示ビットのそれぞれは、前記データが圧縮データであるか否かを指示することを特徴とするデータを圧縮する方法。
  31. 前記データを圧縮する方法は、前記データが、ヘッダ情報を含むか否かを決定する段階をさらに含み、前記データが、前記ヘッダ情報を含む時、前記データは、前記指示ビットに基づいて選択的に圧縮されることを特徴とする請求項30に記載のデータを圧縮する方法。
  32. 前記データが、前記ヘッダ情報を含まない時、前記データは、前記データのパターンに基づいて選択的に圧縮されることを特徴とする請求項31に記載のデータを圧縮する方法。
  33. 前記データを圧縮する方法は、
    前記データに含まれた各シンボルの頻度数をカウントする段階と、
    カウントされた頻度数のうちの最大頻度数と最小頻度数とのうちの1つと基準値とを比較する段階と、をさらに含み、
    前記データは、比較結果に基づいて選択的に圧縮されることを特徴とする請求項32に記載のデータを圧縮する方法。
  34. 前記データを圧縮する方法は、
    前記データに含まれた各シンボルの頻度数をカウントする段階と、
    前記複数のシンボルのそれぞれにコードワードを割り当てる段階と、
    前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データのサイズを予測する段階と、
    前記予測サイズと基準サイズとを比較する段階と、を含み、
    前記データは、前記予測サイズと前記基準サイズとの比較結果に基づいて選択的に圧縮されることを特徴とする請求項32に記載のデータを圧縮する方法。
  35. データ圧縮装置において、
    データのパターンと、前記データのヘッダに含まれた指示ビットの値のうちの1つに基づいて、前記データを選択的に圧縮するデータ圧縮管理器とを含み、前記パターンと前記指示ビットのそれぞれは、前記データが圧縮データであるか否かを指示することを特徴とするデータ圧縮装置。
  36. 前記データ圧縮装置は、前記データが、ヘッダ情報を含むか否かを決定するデータパターン分析器をさらに含み、前記データが、前記ヘッダ情報を含む時、前記データ圧縮管理器は、前記指示ビットに基づいて、前記データを選択的に圧縮することを特徴とする請求項35に記載のデータ圧縮装置。
  37. 前記データが、前記ヘッダ情報を含まない時、前記データ圧縮管理器は、前記データのパターンに基づいて、前記データを選択的に圧縮することを特徴とする請求項36に記載のデータ圧縮装置。
  38. 前記データパターン分析器は、前記データに含まれた各シンボルの頻度数をカウントし、該カウントされた頻度数のうちの最大頻度数と最小頻度数とのうちの1つと基準値とを比較し、前記データ圧縮管理器は、比較結果に基づいて、前記データを選択的に圧縮することを特徴とする請求項37に記載のデータ圧縮装置。
  39. 前記データパターン分析器は、前記データに含まれた各シンボルの頻度数をカウントし、前記複数のシンボルのそれぞれにコードワードを割り当て、前記複数のシンボルのそれぞれの前記頻度数と前記複数のシンボルのそれぞれに割り当てられた前記コードワードのビット数とに基づいて、圧縮される前記データのサイズを予測し、前記予測サイズと基準サイズとを比較し、前記データ圧縮管理器は、前記予測サイズと前記基準サイズとの比較結果に基づいて、前記データを選択的に圧縮することを特徴とする請求項38に記載のデータ圧縮装置。
JP2011288902A 2011-01-19 2011-12-28 データ圧縮装置、及びデータ圧縮装置を含むデータ処理装置 Active JP5881416B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20110005575A KR20120084180A (ko) 2011-01-19 2011-01-19 데이터 압축 장치, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치
KR10-2011-0005575 2011-01-19

Publications (3)

Publication Number Publication Date
JP2012151840A true JP2012151840A (ja) 2012-08-09
JP2012151840A5 JP2012151840A5 (ja) 2015-02-19
JP5881416B2 JP5881416B2 (ja) 2016-03-09

Family

ID=46490360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011288902A Active JP5881416B2 (ja) 2011-01-19 2011-12-28 データ圧縮装置、及びデータ圧縮装置を含むデータ処理装置

Country Status (5)

Country Link
US (2) US8659452B2 (ja)
JP (1) JP5881416B2 (ja)
KR (1) KR20120084180A (ja)
CN (1) CN102694554B (ja)
DE (1) DE102011056563A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125458A (zh) * 2013-04-27 2014-10-29 展讯通信(上海)有限公司 内存数据无损压缩方法及装置
US9152554B2 (en) 2012-09-07 2015-10-06 Kabushiki Kaisha Toshiba Non-volatile memory system with compression and encryption of data

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792308B2 (en) * 1998-12-11 2017-10-17 Realtime Data, Llc Content estimation data compression
US9325762B2 (en) 2012-12-11 2016-04-26 Qualcomm Incorporated Method and apparatus for efficient signaling for compression
US9264707B2 (en) * 2013-02-04 2016-02-16 Google Inc. Multi-symbol run-length coding
KR102078853B1 (ko) 2013-11-27 2020-02-18 삼성전자 주식회사 메모리 시스템, 호스트 시스템 및 메모리 시스템에서의 라이트 동작 수행 방법
US20150227540A1 (en) * 2014-02-12 2015-08-13 Hitachi, Ltd. System and method for content-aware data compression
KR20160031169A (ko) * 2014-09-12 2016-03-22 에스케이하이닉스 주식회사 데이터 패턴 탐지 장치, 이를 포함하는 반도체 장치 및 그 동작 방법
TWI534814B (zh) * 2014-10-20 2016-05-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN104917591B (zh) * 2015-06-11 2018-03-23 中国电子科技集团公司第五十四研究所 一种适用于单向有损链路的卫星网络数据包压缩方法
CN104967498B (zh) * 2015-06-11 2018-01-30 中国电子科技集团公司第五十四研究所 一种基于历史的卫星网络数据包压缩传输方法
US10135461B2 (en) * 2015-09-25 2018-11-20 Intel Corporation Systems, methods, and apparatuses for decompression using hardware and software
KR20170048942A (ko) 2015-10-27 2017-05-10 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
SE542507C2 (en) * 2016-03-31 2020-05-26 Zeropoint Tech Ab Variable-sized symbol entropy-based data compression
EP3407499A1 (en) * 2017-05-24 2018-11-28 ams AG Integrator circuit for use in a sigma-delta modulator
US10097202B1 (en) * 2017-06-20 2018-10-09 Samsung Electronics Co., Ltd. SSD compression aware
CN110290099A (zh) * 2018-03-19 2019-09-27 海能达通信股份有限公司 数据传输方法、通信设备及具有存储功能的装置
KR102515127B1 (ko) 2018-03-22 2023-03-28 삼성전자주식회사 디스플레이 장치의 저 전력 모드에서의 동작을 지원하는 디스플레이 드라이버 회로
CN109445693A (zh) * 2018-10-19 2019-03-08 郑州云海信息技术有限公司 一种数据压缩方法和装置
US10666289B1 (en) * 2019-01-16 2020-05-26 International Business Machines Corporation Data compression using dictionary encoding
US10944423B2 (en) 2019-03-14 2021-03-09 International Business Machines Corporation Verifying the correctness of a deflate compression accelerator
US11108406B2 (en) * 2019-06-19 2021-08-31 Intel Corporation System, apparatus and method for dynamic priority-aware compression for interconnect fabrics
US20230020359A1 (en) * 2022-09-28 2023-01-19 Nitish Paliwal System, method and apparatus for reducing latency of receiver operations during a containment mode of operation

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138677A (ja) * 1995-11-10 1997-05-27 Brother Ind Ltd キャラクタのデータ記憶装置及びキャラクタ出力装置
JPH10294670A (ja) * 1997-04-18 1998-11-04 Fuji Xerox Co Ltd 符号化装置、復号装置および符号化復号装置ならびにそれらの方法
JP2000032242A (ja) * 1998-07-14 2000-01-28 Sharp Corp 画像処理装置
JP2001111432A (ja) * 1999-10-04 2001-04-20 Seiko Epson Corp データ圧縮制御装置、データ圧縮制御方法、印刷情報形成装置、印刷システム及びプログラムを記録した記録媒体
JP2001275112A (ja) * 2000-01-19 2001-10-05 Oki Electric Ind Co Ltd データ圧縮装置
JP2001326930A (ja) * 2000-05-15 2001-11-22 Matsushita Electric Ind Co Ltd 画像符号化装置および方法ならびに記憶媒体
US20030030575A1 (en) * 2001-05-07 2003-02-13 Harmonic Data Systems Ltd. Lossless data compression
JP2008124969A (ja) * 2006-11-15 2008-05-29 Ikegami Tsushinki Co Ltd 画像可逆符号化方法及び画像可逆符号化装置
US20100293440A1 (en) * 2009-05-18 2010-11-18 Jonathan Thatcher Apparatus, system, and method to increase data integrity in a redundant storage system
US20110004728A1 (en) * 2009-07-02 2011-01-06 Ocz Technology Group, Inc. On-device data compression for non-volatile memory-based mass storage devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467087A (en) * 1992-12-18 1995-11-14 Apple Computer, Inc. High speed lossless data compression system
US5635932A (en) * 1994-10-17 1997-06-03 Fujitsu Limited Lempel-ziv compression with expulsion of dictionary buffer matches
US5896099A (en) * 1995-06-30 1999-04-20 Sanyo Electric Co., Ltd. Audio decoder with buffer fullness control
US6195024B1 (en) * 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6624761B2 (en) * 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6597812B1 (en) * 1999-05-28 2003-07-22 Realtime Data, Llc System and method for lossless data compression and decompression
US7062100B2 (en) 2002-12-16 2006-06-13 Xerox Corporation System for selecting a compression method for image data
JP2004208018A (ja) 2002-12-25 2004-07-22 Ricoh Co Ltd 印刷処理装置
WO2005034089A1 (ja) 2003-09-30 2005-04-14 Sony Corporation データ再生装置及び方法並びにプログラム
KR20110005575A (ko) 2009-07-10 2011-01-18 한국전자통신연구원 코히어런트 광 수신기의 디지털 등화 장치 및 방법

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138677A (ja) * 1995-11-10 1997-05-27 Brother Ind Ltd キャラクタのデータ記憶装置及びキャラクタ出力装置
JPH10294670A (ja) * 1997-04-18 1998-11-04 Fuji Xerox Co Ltd 符号化装置、復号装置および符号化復号装置ならびにそれらの方法
JP2000032242A (ja) * 1998-07-14 2000-01-28 Sharp Corp 画像処理装置
JP2001111432A (ja) * 1999-10-04 2001-04-20 Seiko Epson Corp データ圧縮制御装置、データ圧縮制御方法、印刷情報形成装置、印刷システム及びプログラムを記録した記録媒体
JP2001275112A (ja) * 2000-01-19 2001-10-05 Oki Electric Ind Co Ltd データ圧縮装置
JP2001326930A (ja) * 2000-05-15 2001-11-22 Matsushita Electric Ind Co Ltd 画像符号化装置および方法ならびに記憶媒体
US20030030575A1 (en) * 2001-05-07 2003-02-13 Harmonic Data Systems Ltd. Lossless data compression
JP2008124969A (ja) * 2006-11-15 2008-05-29 Ikegami Tsushinki Co Ltd 画像可逆符号化方法及び画像可逆符号化装置
US20100293440A1 (en) * 2009-05-18 2010-11-18 Jonathan Thatcher Apparatus, system, and method to increase data integrity in a redundant storage system
US20110004728A1 (en) * 2009-07-02 2011-01-06 Ocz Technology Group, Inc. On-device data compression for non-volatile memory-based mass storage devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152554B2 (en) 2012-09-07 2015-10-06 Kabushiki Kaisha Toshiba Non-volatile memory system with compression and encryption of data
CN104125458A (zh) * 2013-04-27 2014-10-29 展讯通信(上海)有限公司 内存数据无损压缩方法及装置
CN104125458B (zh) * 2013-04-27 2017-08-08 展讯通信(上海)有限公司 内存数据无损压缩方法及装置

Also Published As

Publication number Publication date
CN102694554B (zh) 2017-05-31
US20120182163A1 (en) 2012-07-19
US8659452B2 (en) 2014-02-25
KR20120084180A (ko) 2012-07-27
JP5881416B2 (ja) 2016-03-09
CN102694554A (zh) 2012-09-26
DE102011056563A1 (de) 2012-07-19
US9191027B2 (en) 2015-11-17
DE102011056563A8 (de) 2012-09-27
US20140152475A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
JP5881416B2 (ja) データ圧縮装置、及びデータ圧縮装置を含むデータ処理装置
US7460032B2 (en) Methods and apparatus for performing adaptive compression
JP2008065834A (ja) フュージョンメモリ装置及び方法
US9564918B2 (en) Real-time reduction of CPU overhead for data compression
US10049427B1 (en) Image data high throughput predictive compression systems and methods
CN108089814B (zh) 一种数据存储方法及装置
US20140215170A1 (en) Block Compression in a Key/Value Store
CN107534615A (zh) 用于自适应数据压缩的装置和方法
US20180225298A1 (en) Adaptive rate compression hash processing device
US10394453B1 (en) Method and system for choosing an optimal compression algorithm considering resources
TWI493446B (zh) 記憶體管理方法及記憶體管理裝置
JP2017163390A (ja) 情報処理装置、データ圧縮方法、及び、データ圧縮プログラム
KR20160077117A (ko) 다중-사용자 전력 절약 코드북 최적화를 제공하기 위한 시스템 및 방법
CN104144127A (zh) 负载均衡方法和负载均衡器
CN109582521B (zh) 测试存储系统读写性能的方法、装置、设备及介质
CN112713899B (zh) Fpga码流数据的压缩方法、装置及存储介质
KR101848192B1 (ko) 메모리 시스템에서 전력 소비를 절약하기 위한 시스템 및 방법
WO2023083213A1 (zh) 一种数据解码方法、装置、电子设备及可读存储介质
AU2016201253A1 (en) Information processing apparatus, and data management method
CN105630999A (zh) 服务器压缩数据的方法和装置
US20210208945A1 (en) Information processing apparatus, information processing method, and computer readable medium
CN112492379B (zh) 音视频多路并发解码方法、装置和计算机设备
KR101818440B1 (ko) 데이터 압축 장치, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치
JPWO2010150704A1 (ja) 処理ノード選択システム、情報処理ノード、処理実行方法およびプログラム
AU2012205246B2 (en) Rendering device, rendering method, rendering processing program, and image output apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151209

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: 20160104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160202

R150 Certificate of patent or registration of utility model

Ref document number: 5881416

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250