JP5778595B2 - データ圧縮方法及び装置 - Google Patents
データ圧縮方法及び装置 Download PDFInfo
- Publication number
- JP5778595B2 JP5778595B2 JP2012025250A JP2012025250A JP5778595B2 JP 5778595 B2 JP5778595 B2 JP 5778595B2 JP 2012025250 A JP2012025250 A JP 2012025250A JP 2012025250 A JP2012025250 A JP 2012025250A JP 5778595 B2 JP5778595 B2 JP 5778595B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- block
- data
- compression
- search
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
(A)入力装置から圧縮対象のデータを読み込むデータ読込部と、圧縮対象のデータを分割するブロック特定部と、分割されたブロックの文字列データを他のブロックの文字列と比較することで圧縮可能部分を探索する圧縮部分探索部を備える。
(B)前記ブロック特定部は、圧縮対象の文字列の中から予め指定したバイト数の検索対象文字列を順次読み込むと共に、予め指定されたバイト数の指定文字列を取得し、これらを記憶する記憶部と、この記憶部に記憶されている検索対象文字列の中から前記指定文字列と同一の文字列を検索する検索部と、前記検索部による検索結果に従い圧縮対象の文字列をブロック化する分割処理部とを有する。
(C)前記分割処理部は、
(1) 同一の文字列が発見された場合は、発見された文字列の直前までを1ブロックとする。
(2) 前記(1) において、発見された文字列部分で2文字連続して同じ文字が続く場合は、連続した2文字の間までを1ブロックとする。
(3) 同一の文字列が発見されなかった場合は、検索対象文字列の全体を1ブロックとする。
という条件で、しかも、前記(2) (1) (3) の優先順序に従って、圧縮対象の文字列をブロック化する。
(D)前記圧縮部分探索部は、前記分割処理部によって分割された各ブロック間の文字列を比較することで、冗長性除去による圧縮とランレングス圧縮を行う。
(A)圧縮対象の文字列の中から予め指定したバイト数の検索対象文字列を順次読み込む。
(B)前記検索対象文字列の中から、予め指定されたバイト数の指定文字列と同一の文字列を検索する。
(C)前記検索処理の結果、
(1) 同一の文字列が発見された場合は、発見された文字列の直前までを1ブロックとする。
(2) 前記(1) において、発見された文字列部分で2文字連続して同じ文字が続く場合は、連続した2文字の間までを1ブロックとする。
(3) 同一の文字列が発見されなかった場合は、検索対象文字列の全体を1ブロックとする。
という条件を、前記(2) (1) (3) の優先順序に従って適用することにより、圧縮対象の文字列をブロック化する。
(D)前記分割された各ブロック間の文字列を比較することで、冗長性除去による圧縮とランレングス圧縮を行う
以下、本発明の実施形態を、図1及び図2に従って説明する。
本実施形態のデータ圧縮装置は、データの圧縮処理を行う圧縮処理部1、対象のデータを入力する入力装置2、圧縮後のデータを出力する出力装置3、及びこれらを制御する制御部4とから構成されている。
(1) 先頭の1バイトと同じ値(同じ文字)の位置の直前まで
(2) 2文字連続して同じ値(同じ文字)が続く場合、連続した2文字の間
(ただし、前記(1) と(2) の条件が重なる場合は、(2) を優先する)
(3) 前記(1) (2) の条件が満たされなかった場合は、予め決めておいた最大長を1ブロックとする。
(a) 前のブロックの先頭の1バイトから注目ブロックの文字列を比較する処理(冗長性除去による圧縮)
(b) 前のブロックの最後の1バイトと注目ブロックの文字列を比較する処理(ランレングス圧縮)
前記の様な構成を有する本実施形態の作用を、図2〜図4に示すフローチャートにより説明する。
図2は、データ圧縮方法の全体的な処理を示すものである。この図2の処理は、記憶部12に読み込んだ全データについて、1ブロックの探索処理と最大冗長度の探索処理を交互に行うことで、全データを1つずつ順番にブロック化しながらその都度最大冗長度の探索を行うものである。
(1) 圧縮部分のブロックの識別子
(2) ブロックの先頭のバイトから圧縮部分を探索した冗長圧縮であるか、ブロックの最後のバイトから圧縮部分を探索した連長圧縮であるかの区別
(3) 圧縮の長さ
前記図2に示した全体処理のステップ25で呼び出される1ブロックの探索処理について、図3に従って説明する。制御部4により、1ブロックの探索処理が呼び出されると、ブロック特定部13が、記憶部12に読み込まれている全データの中から、予め定めた1ブロックの最大長分のデータ(本実施形態では128バイト)を読み込む(ステップ31)。
図2に示した全体処理のステップ23で呼び出される圧縮部分の探索処理について、図4のフローチャートに従って説明する。
(a) 隣り合うブロックの先頭の1バイトが同じ値になることが多い。
(b) 前のブロックの最後の1バイトが、先頭のブロックの先頭の1バイトと同じ値になることが多い。そこで、本実施形態では、前記(a)の特徴に着目して、冗長圧縮を行い、(b)の特徴に着目して連長圧縮を行う。
第2実施形態は、第1実施形態における1ブロックの探索処理を、別の条件で行うものである。すなわち、第1実施形態は1ブロックの探索処理を1バイトのデータを注目点として、同一のデータが存在しないか、あるいは同じ値のデータ(文字)が連続していないかを基準としてブロックを特定した。これに対して、第2実施形態は、複数バイト(複数文字)を注目点として探索を行い、ブロックを特定する。
(1) 予め設定した指定バイト分(例えば128バイト)の文字列を検索対象として、128バイトの文字列中に予め定めた複数バイトの文字列、図8では3バイト(A,B,C)の文字列と同じパターンの文字列(A,B,C)が見つかるまで探索を行う。そして、予め定めた3バイトの文字列が(A,B,C)のように異なる文字で構成されている場合には、見つかった同じ文字列の前のバイトまでを1ブロックとする。
(2) 前記(1) と同様にして検索を行い、予め定めた3バイトの文字列が(A,A,A)のように同一の文字で構成されている場合には、見つかった同じ文字列の1番目と2番目の文字列の間までを1ブロックとする。
(3) 予め設定した指定バイト(例えば128バイト)中に、指定した3バイト分の文字列と同一の文字列が発見されなかった場合には、指定バイト(例えば128バイト)を1ブロックとする。
まず、ユーザが予め決めておいた注目点として探索を行う文字数(複数バイト)をcmax:=指定文字列のバイト数として、予め記憶部12に記憶させておく。本実施形態では、この文字数を3バイト(cmax:=)とする。この状態で、記憶部12のバッファに1ブロックの最大長分の文字列(例えば65536バイト)を読み込む(ステップ71)。
(a) 隣り合うブロックの先頭の1バイトが同じ値になることが多い。
(b) 前のブロックの最後の1バイトが、先頭のブロックの先頭の1バイトと同じ値になることが多い。
という特徴を有するブロックに分割することができる。その結果、第2実施形態においても、前記(a)の特徴に着目して、冗長圧縮を行い、(b)の特徴に着目して連長圧縮を行うことが可能になる。
本発明は、前記の実施形態に限定されるものではなく、下記のような他の実施形態も包含する。
2…入力装置
3…出力装置
4…制御部
11…データ読込部
12…記憶部
13…ブロック特定部
14…圧縮部分探索部
15…出力バッファ
Claims (2)
- 入力装置から圧縮対象のデータを読み込むデータ読込部と、圧縮対象のデータを分割するブロック特定部と、分割されたブロックの文字列データを他のブロックの文字列と比較することで圧縮可能部分を探索する圧縮部分探索部を備え、
前記ブロック特定部は、圧縮対象の文字列の中から予め指定したバイト数の検索対象文字列を順次読み込むと共に、予め指定されたバイト数の指定文字列を取得し、これらを記憶する記憶部と、この記憶部に記憶されている検索対象文字列の中から前記指定文字列と同一の文字列を検索する検索部と、前記検索部による検索結果に従い圧縮対象の文字列をブロック化する分割処理部とを有し、
前記分割処理部は、
(1) 同一の文字列が発見された場合は、発見された文字列の直前までを1ブロックとする。
(2) 前記(1) において、発見された文字列部分で2文字連続して同じ文字が続く場合は、連続した2文字の間までを1ブロックとする。
(3) 同一の文字列が発見されなかった場合は、検索対象文字列の全体を1ブロックとする。
という条件で、しかも、前記(2) (1) (3) の優先順序に従って、圧縮対象の文字列をブロック化するものであり、
前記圧縮部分探索部は、前記分割処理部によって分割された各ブロック間の文字列を比較することで、冗長性除去による圧縮とランレングス圧縮を行うことを特徴とするデータ圧縮装置。 - 圧縮対象の文字列の中から予め指定したバイト数の検索対象文字列を順次読み込む処理と、
前記検索対象文字列の中から、予め指定されたバイト数の指定文字列と同一の文字列を検索する処理と、
前記検索処理の結果、
(1) 同一の文字列が発見された場合は、発見された文字列の直前までを1ブロックとする。
(2) 前記(1) において、発見された文字列部分で2文字連続して同じ文字が続く場合は、連続した2文字の間までを1ブロックとする。
(3) 同一の文字列が発見されなかった場合は、検索対象文字列の全体を1ブロックとする。
という条件を、前記(2) (1) (3) の優先順序に従って適用することにより、圧縮対象の文字列をブロック化する処理と、
前記分割された各ブロック間の文字列を比較することで、冗長性除去による圧縮とランレングス圧縮を行うことを特徴とするデータ圧縮方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012025250A JP5778595B2 (ja) | 2012-02-08 | 2012-02-08 | データ圧縮方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012025250A JP5778595B2 (ja) | 2012-02-08 | 2012-02-08 | データ圧縮方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013162474A JP2013162474A (ja) | 2013-08-19 |
JP5778595B2 true JP5778595B2 (ja) | 2015-09-16 |
Family
ID=49174362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012025250A Active JP5778595B2 (ja) | 2012-02-08 | 2012-02-08 | データ圧縮方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5778595B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294538B (zh) * | 2017-06-09 | 2020-09-01 | 深圳市华星光电半导体显示技术有限公司 | Oled显示装置的补偿表压缩方法及解压方法 |
CN116032292B (zh) * | 2023-03-27 | 2023-06-09 | 山东智慧译百信息技术有限公司 | 一种基于翻译文件的大数据高效存储方法 |
CN117216023B (zh) * | 2023-11-07 | 2024-01-26 | 陕西长瑞安驰信息技术集团有限公司 | 一种大规模网络数据存储方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2604492B2 (ja) * | 1990-09-06 | 1997-04-30 | 日本電気株式会社 | 順編成ファイルのデータ圧縮処理方式 |
JP2729424B2 (ja) * | 1991-10-31 | 1998-03-18 | シャープ株式会社 | テキスト圧縮装置およびテキスト圧縮用辞書の自動構築装置 |
JPH1051642A (ja) * | 1996-07-31 | 1998-02-20 | Fuji Xerox Co Ltd | 画像処理装置 |
JP2001175454A (ja) * | 1999-10-07 | 2001-06-29 | Funai Electric Co Ltd | 多語連長圧縮装置、動的連長圧縮装置、多語連長解凍装置、動的連長解凍装置、アーカイブ装置、アーカイブ方法およびアーカイブプログラムを記録した媒体 |
-
2012
- 2012-02-08 JP JP2012025250A patent/JP5778595B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013162474A (ja) | 2013-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10305512B2 (en) | Encoding method and apparatus | |
US8108348B2 (en) | Multi-version control method for data documents and device thereof | |
US8838551B2 (en) | Multi-level database compression | |
US8134483B2 (en) | Data processing apparatus and method | |
WO2017052864A1 (en) | Look-ahead hash chain matching for data compression | |
JP2015186077A (ja) | データ圧縮を高速化する方法、並びに、データ圧縮を高速化するためのコンピュータ、及びそのコンピュータ・プログラム | |
WO2012033498A1 (en) | Systems and methods for data compression | |
KR101866151B1 (ko) | 적응형 레이트 압축 해시 프로세싱 디바이스 | |
JP5778595B2 (ja) | データ圧縮方法及び装置 | |
US9577666B2 (en) | Method and system | |
JP2019036810A (ja) | データ圧縮装置、データ復元装置、データ圧縮プログラム、データ復元プログラム、データ圧縮方法、およびデータ復元方法 | |
US8117343B2 (en) | Landmark chunking of landmarkless regions | |
JP2007043595A (ja) | 可変長符号復号化方法および装置ならびにデータ伸長装置 | |
CN103186621B (zh) | 一种目录生成方法和装置 | |
JP4960417B2 (ja) | 可変長のデータ断片の開始・終了オフセットを決定する方法及び装置 | |
JP5913748B2 (ja) | セキュアで損失のないデータ圧縮 | |
JP4907380B2 (ja) | データ生成方法、データ復元方法、データ生成装置およびデータ復元装置 | |
EP3136607A1 (en) | A method and a system for encoding and decoding of suffix tree and searching within encoded suffix tree | |
JP2018061166A (ja) | 符号化プログラム、符号化装置および符号化方法 | |
US12001339B2 (en) | Dictionary compression device and memory system | |
US8838544B2 (en) | Fast history based compression in a pipelined architecture | |
KR101028904B1 (ko) | 데이터 처리 장치 및 방법 | |
JP2009266128A (ja) | データ比較装置およびプログラム | |
JP4600342B2 (ja) | データ圧縮プログラム | |
US11593311B2 (en) | Compression system with longest match processing for generating compressed data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150123 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150618 |
|
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: 20150630 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5778595 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 |