JP5808361B2 - String compression and decompression system and method - Google Patents

String compression and decompression system and method Download PDF

Info

Publication number
JP5808361B2
JP5808361B2 JP2013080293A JP2013080293A JP5808361B2 JP 5808361 B2 JP5808361 B2 JP 5808361B2 JP 2013080293 A JP2013080293 A JP 2013080293A JP 2013080293 A JP2013080293 A JP 2013080293A JP 5808361 B2 JP5808361 B2 JP 5808361B2
Authority
JP
Japan
Prior art keywords
character string
sample
replacement
partial
replacement pointer
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
JP2013080293A
Other languages
Japanese (ja)
Other versions
JP2014204358A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013080293A priority Critical patent/JP5808361B2/en
Publication of JP2014204358A publication Critical patent/JP2014204358A/en
Application granted granted Critical
Publication of JP5808361B2 publication Critical patent/JP5808361B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、文字列圧縮における階層型サンプル文字列辞書作成方法及び装置に係り、特に、置換方式における文字列の圧縮方式において、参照局所性を向上させるためのサンプル文字列辞書を作成するための頻出パターンの頻度順序を利用してj段階置き換えを行う文字列圧縮における階層型サンプル文字列辞書作成方法及び装置に関する。   The present invention relates to a hierarchical sample character string dictionary creation method and apparatus for character string compression, and more particularly to create a sample character string dictionary for improving reference locality in a character string compression method in a replacement method. The present invention relates to a hierarchical sample character string dictionary creation method and apparatus in character string compression that performs j-stage replacement using the frequency order of frequent patterns.

具体的には、圧縮処理を行う前に、圧縮対象の入力文字列Nから適当な方法で取得したサンプル文字列(部分文字列集合)を抽出してサンプル文字列辞書を作成し、圧縮時に当該サンプル文字列辞書を参照し、ポインタ置換処理を行い、復元処理の階層型メモリ構造における参照局性を改善する技術に関する。   Specifically, before performing the compression process, a sample character string (partial character string set) obtained by an appropriate method is extracted from the input character string N to be compressed, and a sample character string dictionary is created. The present invention relates to a technique for referring to a sample character string dictionary, performing pointer replacement processing, and improving reference locality in a hierarchical memory structure of restoration processing.

入力された文字列を圧縮する方法としては、以下のような方法がある。   As a method of compressing the input character string, there are the following methods.

圧縮するべきデータ列を入力として、ハッシュを元にした探索データ構造を用いて適宜現在の圧縮対象文字列と、過去の出現文字列を比較し、出現しているものを過去の出現文字列へのポインタに置き換えることで圧縮を実現する方法がある(例えば、特許文献1参照)。例えば、図1の例では、1回目に出現した文字列「abcd」に対し、2回目以降に同一の文字列「abcd」が出現した場合に、置換ポインタを1回目に出現した文字列のポインタに置き換えることで文字列を圧縮していく。   Using the search data structure based on the hash as a data string to be compressed as input, compare the current compression target character string with the past appearance character string as appropriate, and change the appearance to the past appearance character string There is a method that realizes compression by replacing the pointer with (see, for example, Patent Document 1). For example, in the example of FIG. 1, when the same character string “abcd” appears for the second time or later with respect to the character string “abcd” that appears first time, the replacement pointer is the pointer of the character string that appears first time. The character string is compressed by replacing with.

また、圧縮するべきデータ列を入力として、現在の圧縮対象の文字列と過去の一致文字列を比較判定する処理を適用することで効率的なデータ圧縮を行う方法がある(例えば、特許文献2参照)。   In addition, there is a method for performing efficient data compression by applying a process of comparing and determining a current character string to be compressed and a past matching character string using a data string to be compressed (for example, Patent Document 2). reference).

また、辞書に基づく符号化を行う複数のLZ系圧縮を、それらの「圧縮率」を評価しながら適用するLZ圧縮法を切り替えることで圧縮率を効率化する方法がある(例えば、特許文献3参照)。   In addition, there is a method of improving the compression rate efficiency by switching the LZ compression method to apply a plurality of LZ compressions that perform dictionary-based encoding while evaluating their “compression rate” (for example, Patent Document 3). reference).

Dean K. Gibson, Mark D. Graybill, "Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique". US Patent 5,049,881.Dean K. Gibson, Mark D. Graybill, "Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique". US Patent 5,049,881. 特開2003-179501号公報JP 2003-179501 A 特許第3065591号公報Japanese Patent No. 3055991

しかしながら、上記従来の圧縮方法は、図1に示すように、過去に出現した任意位置の文字列と、現在の文字列が一致した場合に、その過去の該出現文字列へのポインタに置き換えることで圧縮を実現する方法であり、過去の任意の位置に出現した文字列に対するポインタに置き換えていく。そのため、復元時にそのポインタを参照して元の文字列に置き換える際に、特にルールを設けていないため、任意のポインタを参照することになり、メモリ上のどの位置を参照してよいかを特定することができず、ポインタの参照先の参照局所性が保障されない。特に、圧縮対象となる文字列のサイズが1G等の大きなサイズの場合は復元処理が遅延する可能性がある。   However, in the conventional compression method, as shown in FIG. 1, when a character string at an arbitrary position that appeared in the past matches the current character string, it is replaced with a pointer to the past appearing character string. This is a method for realizing compression, and is replaced with a pointer to a character string that has appeared at an arbitrary position in the past. For this reason, there is no special rule when referring to the pointer at the time of restoration and replacing it with the original character string. Therefore, an arbitrary pointer is referred to, and it is possible to specify which location in the memory can be referred to. The locality of the reference destination of the pointer cannot be guaranteed. In particular, if the size of the character string to be compressed is a large size such as 1G, the restoration process may be delayed.

また、特許文献3の方法は、複数のLZ圧縮を組み合わせて使用する技術であるが、「圧縮率」のみを評価対象にそれらの方法を切り替えているため、単純にこれらの組み合わせだけでは復元時の参照局所性の向上、さらには復元速度の向上効果は得られない、という問題がある。   In addition, the method of Patent Document 3 is a technique that uses a combination of multiple LZ compressions. However, since these methods are switched to only the “compression rate” as an evaluation target, simply using these combinations alone is sufficient for restoration. There is a problem that the improvement of the reference locality and the improvement of the restoration speed cannot be obtained.

本発明は、上記の点に鑑みなされたもので、従来技術のポインタ置換の前に、入力文字列の部分文字列の出現頻度に基づいてサンプル文字列辞書を生成し、当該辞書を積極的に参照することで、復元時の参照局所性を改善し、復元速度を向上させることが可能な頻出パターンの頻度順序を利用したj段階置き換えによる改善手法及び装置を提供することを目的とする。   The present invention has been made in view of the above points, and generates a sample character string dictionary based on the appearance frequency of a partial character string of an input character string before the conventional pointer replacement, It is an object of the present invention to provide an improvement method and apparatus by j-stage replacement using the frequency order of frequent patterns that can improve the reference locality at the time of restoration and improve the restoration speed.

本発明は、置換方式による文字列圧縮及び復元システムであって、
入力文字列Nから部分文字列を抽出し、該入力文字列Nにおける該部分文字列の出現回数をカウントし、該部分文字列と出現回数を頻出パターン記憶手段に格納する頻出パターン分析手段と、
前記頻出パターン記憶手段に格納されている前記部分文字列の出現回数について降順に並べ替え、該頻出パターン記憶手段に格納し、該頻出パターン記憶手段の上位N件を、サンプル文字列としてサンプル文字列記憶手段に格納するサンプル文字列生成手段と、
前記入力文字列Nの開始位置iから始まる部分文字列と、前記サンプル文字列記憶手段から読み出した前記サンプル文字列Mの最大一致長LMと該部分文字列の出現位置PMを求め、前記入力文字列Nの開始位置i番目から始まる部分文字列と、該入力文字列Nの0番目からi−1番目までに出現した部分文字列との最大一致長LNと、該出現した部分文字列の出現位置P N を求め、該最大一致長LNが該最大一致長LMより大きい場合は、置換ポインタを該入力文字列Nの過去の位置を示すものとし、該最大一致長LMが該最大一致長LN以上である場合は、該置換ポインタをサンプル文字列M上の位置を示すものとし、該入力文字列Nの[i…i+L+1]の部分文字列を出現済みの部分文字列として動的辞書記憶手段に格納し、置換ポインタ列と該サンプル文字列を出力する置換ポインタ生成手段と、
を有する符号化手段と、
前記置換ポインタ生成手段から前記置換ポインタ列と前記サンプル文字列を取得し、置換ポインタがサンプル文字列M上の位置を示している場合には、該置換ポインタが参照するサンプル文字列M上の部分文字列を出力し、該置換ポインタが前記入力文字列Nの過去の位置を示す場合には、該置換ポインタが参照する既に復元済みの部分文字列を出力する置換ポインタ分析手段を有する復号手段と、を有する。
The present invention is a character string compression and decompression system by a replacement method,
A frequent pattern analysis unit that extracts a partial character string from the input character string N, counts the number of appearances of the partial character string in the input character string N, and stores the partial character string and the number of appearances in a frequent pattern storage unit;
The appearance counts of the partial character strings stored in the frequent pattern storage means are rearranged in descending order, stored in the frequent pattern storage means, and the top N cases of the frequent pattern storage means as sample character strings. Sample character string generating means to be stored in the storage means;
The partial character string starting from the start position i of the input character string N, the maximum matching length L M of the sample character string M read from the sample character string storage means, and the appearance position P M of the partial character string are obtained, The maximum matching length L N between the partial character string starting from the starting position i of the input character string N and the partial character strings appearing from the 0th to the (i−1) th of the input character string N, and the appearing partial characters The appearance position P N of the column is obtained, and when the maximum matching length L N is larger than the maximum matching length L M , the replacement pointer is set to indicate the past position of the input character string N, and the maximum matching length L M Is equal to or longer than the maximum matching length L N , the replacement pointer indicates the position on the sample character string M, and a partial character string of [i ... i + L + 1] of the input character string N appears. Stored as a partial character string in the dynamic dictionary storage means, and a replacement pointer string and a sample character string are output. Conversion pointer generation means;
Encoding means comprising:
When the replacement pointer string and the sample character string are obtained from the replacement pointer generation means, and the replacement pointer indicates a position on the sample character string M, a portion on the sample character string M to which the replacement pointer refers A decoding unit having a replacement pointer analyzing unit that outputs a character string and outputs an already restored partial character string referred to by the replacement pointer when the replacement pointer indicates a past position of the input character string N; Have.

本発明は、入力文字列Nに対して、頻出パターン分析を適用することで、出現頻度の高い文字列を取得し、さらに、頻度の高い順にN段ある階層型メモリ構造により、参照速度が速くサイズが小さい上位のメモリ構造のサイズに合わせてサンプル文字列を分割してサンプル文字列辞書を生成することにより、出現頻度の低いパターンが含まれていないため、辞書のサイズを抑制することができる。さらに、j段の階層型メモリ構造において、N段に分割したサンプル文字列を用いて置き換えを行った場合の局所改善による圧縮文字列の復元速度を向上させることが可能となる。   The present invention obtains a character string having a high appearance frequency by applying frequent pattern analysis to the input character string N, and further has a high reference speed due to a hierarchical memory structure having N stages in order of frequency. By generating the sample character string dictionary by dividing the sample character string in accordance with the size of the upper memory structure having a smaller size, since the pattern with low appearance frequency is not included, the size of the dictionary can be suppressed. . Further, in the j-stage hierarchical memory structure, it is possible to improve the decompression speed of the compressed character string by local improvement when replacement is performed using the sample character string divided into N stages.

置換方式による文字列の圧縮を説明するための図である。It is a figure for demonstrating compression of the character string by a substitution system. 本発明の一実施の形態における概要を示す図である。It is a figure which shows the outline | summary in one embodiment of this invention. 本発明の一実施の形態における文字列圧縮装置の構成図である。It is a block diagram of the character string compression apparatus in one embodiment of this invention. 本発明の一実施の形態における文字列圧縮処理のフローチャートである。It is a flowchart of the character string compression process in one embodiment of this invention. 本発明の一実施の形態におけるサンプル文字列生成処理のフローチャートである。It is a flowchart of the sample character string generation process in one embodiment of the present invention. 本発明の一実施の形態における頻出パターン分析処理のフローチャートである。It is a flowchart of the frequent pattern analysis process in one embodiment of this invention. 本発明の一実施の形態における頻出パターン記憶部の例である。It is an example of the frequent pattern memory | storage part in one embodiment of this invention. 本発明の一実施の形態におけるソート後の頻出パターン記憶部の例である。It is an example of the frequent pattern memory | storage part after the sort in one embodiment of this invention. 本発明の一実施の形態における置換ポインタ生成部の処理のフローチャートである。It is a flowchart of the process of the replacement pointer production | generation part in one embodiment of this invention. 本発明の一実施の形態における動的辞書記憶部の例である。It is an example of the dynamic dictionary memory | storage part in one embodiment of this invention. 本発明の一実施の形態における置換ポインタ記憶部の例である。It is an example of the replacement pointer memory | storage part in one embodiment of this invention. 本発明の一実施の形態における置換ポインタ分析部の処理のフローチャートである。It is a flowchart of the process of the replacement pointer analysis part in one embodiment of this invention. 本発明の一実施の形態における階層型メモリ構造における辞書配置例である。It is an example of dictionary arrangement | positioning in the hierarchical memory structure in one embodiment of this invention.

以下、図面と共に本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

最初に本発明の概要を説明する。   First, the outline of the present invention will be described.

図2は、本発明の一実施の形態における概要を説明するための図である。   FIG. 2 is a diagram for explaining the outline of one embodiment of the present invention.

本発明では、サンプル文字列を用いた置換方式の圧縮の改善を目的としており、入力文字列Nの部分文字列の出現頻度に基づいて抽出された文字列(サンプル文字列)を格納した記憶部(サンプル文字列M記憶部)に格納されているサンプル文字列M(但し、M<<入力文字列Nとする)内の部分文字列と置換することにより、サンプル文字列Mは非常に小さい(全入力文字列Nの1%)という前提の下、参照局所性が改善される。なお、上記の1%は、実験により求められた数値である。図2において、サンプル文字列上にないパターンは従来技術による置換方式を適用するものとする。   The present invention aims to improve the compression of the replacement method using the sample character string, and stores a character string (sample character string) extracted based on the appearance frequency of the partial character string of the input character string N By replacing the partial character string in the sample character string M (where M << input character string N) stored in (sample character string M storage unit), the sample character string M is very small ( Reference locality is improved under the premise of 1% of all input character strings N). In addition, said 1% is a numerical value calculated | required by experiment. In FIG. 2, it is assumed that a replacement method according to the conventional technique is applied to a pattern not on the sample character string.

図3は、本発明の一実施の形態における文字列圧縮装置の構成を示す。   FIG. 3 shows the configuration of the character string compression apparatus according to the embodiment of the present invention.

同図に示す文字列圧縮装置は、符号化部100と復号部200を有する。   The character string compression apparatus shown in the figure includes an encoding unit 100 and a decoding unit 200.

符号化部100は、頻出パターン分析部310、頻出パターン記憶部320、サンプル文字列生成部110、サンプル文字列取得部120、置換ポインタ生成部130、サンプル文字列探索部140、サンプル文字列M記憶部150、動的辞書探索・更新部160、動的辞書記憶部170、置換ポインタ記憶部180を有する。なお、サンプル文字列生成部110は、サンプル文字列を一時的に格納するためのメモリ(図示せず)を有する。   The encoding unit 100 includes a frequent pattern analysis unit 310, a frequent pattern storage unit 320, a sample character string generation unit 110, a sample character string acquisition unit 120, a replacement pointer generation unit 130, a sample character string search unit 140, and a sample character string M storage. Unit 150, dynamic dictionary search / update unit 160, dynamic dictionary storage unit 170, and replacement pointer storage unit 180. The sample character string generation unit 110 includes a memory (not shown) for temporarily storing the sample character string.

復号部200は、置換ポインタ分析部210、入力サンプル文字列記憶部220、出力文字列記憶部230を有する。   The decoding unit 200 includes a replacement pointer analysis unit 210, an input sample character string storage unit 220, and an output character string storage unit 230.

上記の構成における処理を以下に示す。   The processing in the above configuration is shown below.

最初に、符号化部100の処理について説明する。   First, the processing of the encoding unit 100 will be described.

図4は、本発明の一実施の形態における文字列圧縮処理のフローチャートである。   FIG. 4 is a flowchart of character string compression processing according to the embodiment of the present invention.

ステップ100) 符号化部100は、入力から圧縮対象の入力文字列Nを受け取るまで待機する。   Step 100) The encoding unit 100 stands by until an input character string N to be compressed is received from the input.

ステップ200) 頻出パターン分析部310において入力文字列Nの頻出パターンを分析し、サンプル文字列生成部110は、頻出パターンの出現頻度に基づいてサンプル文字列Mを生成する。   Step 200) The frequent pattern analysis unit 310 analyzes the frequent pattern of the input character string N, and the sample character string generation unit 110 generates the sample character string M based on the appearance frequency of the frequent pattern.

ステップ400) 置換ポインタ生成部130は、入力文字列Nを引数として置換ポインタを生成して置換ポインタ記憶部180に格納する。   Step 400) The replacement pointer generator 130 generates a replacement pointer using the input character string N as an argument and stores it in the replacement pointer storage unit 180.

上記のステップ200の処理について説明する。   The process of step 200 will be described.

図5は、本発明の一実施の形態におけるサンプル文字列生成処理のフローチャートである。   FIG. 5 is a flowchart of sample character string generation processing according to an embodiment of the present invention.

ステップ210) サンプル文字列生成部110は、入力引数から入力文字列Nを取得する。   Step 210) The sample character string generation unit 110 acquires the input character string N from the input argument.

ステップ220) 頻出パターン分析部310に対して、図6に示す処理を指示する。   Step 220) The processing shown in FIG. 6 is instructed to the frequent pattern analysis unit 310.

ステップ230) サンプル文字列生成部110は、サンプル文字列取得部130を介して、頻度パターン記憶部320を参照し、頻出パターンを出現頻度順で降順に並び替え、再度頻出パターン記憶部320に格納する。なお、頻出パターン記憶部320の要素数をHとする。   Step 230) The sample character string generation unit 110 refers to the frequency pattern storage unit 320 via the sample character string acquisition unit 130, rearranges the frequent patterns in descending order of appearance frequency, and stores them again in the frequent pattern storage unit 320. To do. Note that the number of elements in the frequent pattern storage unit 320 is H.

ステップ240) 階層型メモリの段数をjとし、各メモリのサイズをMem0,Mem1,…,Memj-1とする。また、添え字の小さいものがより参照速度が速く容量が小さいメモリを表していると想定する。 Step 240) Let j be the number of stages in the hierarchical memory, and let Mem 0 , Mem 1 ,..., Mem j−1 be the size of each memory. Further, it is assumed that a small subscript indicates a memory having a high reference speed and a small capacity.

ステップ250) 部分文字列のカウンタi=0,k=0とする。   Step 250) The partial character string counters i = 0 and k = 0.

ステップ260) サンプル文字列生成部110は、頻出パターン記憶部320の上位からk番目の頻出パターン(部分文字列)をMiの末尾に連結する。   Step 260) The sample character string generation unit 110 concatenates the k-th frequent pattern (partial character string) from the top of the frequent pattern storage unit 320 to the end of Mi.

ステップ270) kと頻出パターン記憶部320の要素数Hを比較し、k<Hであればステップ280に移行し、そうでない場合は、ステップ310に移行する。   Step 270) Compare k with the number H of elements in the frequent pattern storage unit 320. If k <H, the process proceeds to Step 280. Otherwise, the process proceeds to Step 310.

ステップ280) サンプル文字列Mi<Memiであればステップ260に戻り、そうでない場合はステップ290に移行する。 Step 280) If the sample character string Mi <Mem i , return to Step 260, otherwise go to Step 290.

ステップ290) iの値を1インクリメント(i=i+1)する。   Step 290) The value of i is incremented by 1 (i = i + 1).

ステップ300) iが段数jより小さい(i<j)であればステップ260に戻り、そうでなければステップ310に移行する。   Step 300) If i is smaller than the number of stages j (i <j), return to Step 260, otherwise go to Step 310.

ステップ310) 生成したメモリ上のMem0,Mem1,…,Memj-1のサンプル文字列をサンプル文字列M記憶部150に格納する。 Step 310) Store the generated sample character strings of Mem 0 , Mem 1 ,..., Mem j−1 on the generated memory in the sample character string M storage unit 150.

次に、上記のステップ220の頻出パターン分析部310の処理を説明する。   Next, the processing of the frequent pattern analysis unit 310 in step 220 will be described.

図6は、本発明の一実施の形態における頻出パターン分析処理のフローチャートである。   FIG. 6 is a flowchart of frequent pattern analysis processing according to an embodiment of the present invention.

ステップ221) サンプル文字列生成部110は、入力引数から入力文字列Nを受け取り、サンプル文字列取得部120を介して頻出パターン分析部310に出力する。   Step 221) The sample character string generation unit 110 receives the input character string N from the input argument and outputs it to the frequent pattern analysis unit 310 via the sample character string acquisition unit 120.

ステップ222) 頻出パターン分析部310は、頻出パターンの最大長をGとする。   Step 222) The frequent pattern analysis unit 310 sets G as the maximum length of the frequent patterns.

ステップ223) 頻出パターン分析部310は、部分文字列のカウンタi=0、S=1とする。ここで、iは現在探索をしている開始位置を示し、Sはiから数えて合致している文字列の長さを示す。当該ステップでは、はじめの合致長iを1で初期化している。   Step 223) The frequent pattern analysis unit 310 sets the partial character string counter i = 0 and S = 1. Here, i indicates the start position where the current search is performed, and S indicates the length of the matching character string counted from i. In this step, the initial match length i is initialized to 1.

ステップ224) 入力文字列Nの部分文字列[i…S]が、頻出パターン記憶部320に存在するかを調べ、存在する場合はステップ226に移行し、存在しない場合はステップ250に移行する。   Step 224) It is checked whether or not the partial character string [i... S] of the input character string N exists in the frequent pattern storage unit 320. If it exists, the process proceeds to Step 226. If not, the process proceeds to Step 250.

ステップ225) 部分文字列[i…S]が入力文字列N中に何回出現しているかを調べて、当該部分文字列と回数を頻出パターン記憶部320に格納する。図7に頻出パターン記憶部320の例を示す。同図に示すように、頻出パターン記憶部320は、出現パターンの文字列とその出現回数を格納する。   Step 225) It is checked how many times the partial character string [i... S] appears in the input character string N, and the partial character string and the number of times are stored in the frequent pattern storage unit 320. FIG. 7 shows an example of the frequent pattern storage unit 320. As shown in the figure, the frequent pattern storage unit 320 stores the character string of the appearance pattern and the number of appearances thereof.

ステップ226) カウントSを1インクリメントする(S = S +1)。   Step 226) The count S is incremented by 1 (S = S + 1).

ステップ227) カウントSが頻出パターンの最大長Gより小さく(S <G)かつ、i+ Sが入力文字列数Nより小さい場合(i+ S <N)は、ステップ224に移行し、そうでなければステップ228に移行する。   Step 227) If the count S is smaller than the maximum length G of the frequent pattern (S <G) and i + S is smaller than the number N of input character strings (i + S <N), the process proceeds to Step 224; Control goes to step 228.

ステップ228) 部分文字列のカウントiを1インクリメントし(i=i+1)、Sを1とする(S=1)。   Step 228) The count i of the partial character string is incremented by 1 (i = i + 1), and S is set to 1 (S = 1).

ステップ229) iが入力文字数より小さければステップ224に移行し、そうでなければ処理を終了する。   Step 229) If i is smaller than the number of input characters, the process proceeds to Step 224; otherwise, the process is terminated.

サンプル文字列生成部110は、上記の図6に示す頻出パターン分析部310の処理が終了すると、図7に示すサンプル文字列取得部120を介して頻出パターン記憶部320の出現回数を、図8に示すように降順に並べ替える。このとき、出現頻度の高い順番にj段ある階層型メモリの各容量に合わせたj個のサンプル文字列M0〜Mj-1を作成して、サンプル文字列M記憶部150に追加格納する。サンプル文字列M記憶部150は、サンプル文字列M0〜Mj-1の添え字の小さいサンプル文字列Mxを、参照速度が速く容量が小さいメモリに配置することを前提として、出現頻度のより高い文字列で構成される。 When the processing of the frequent pattern analysis unit 310 shown in FIG. 6 ends, the sample character string generation unit 110 determines the number of appearances of the frequent pattern storage unit 320 via the sample character string acquisition unit 120 shown in FIG. Sort in descending order as shown in. At this time, j sample character strings M 0 to M j−1 corresponding to the respective capacities of the hierarchical memory having j stages in the order of appearance frequency are generated and additionally stored in the sample character string M storage unit 150. . The sample character string M storage unit 150 assumes that the sample character string M x with a small subscript of the sample character strings M 0 to M j-1 is arranged in a memory with a high reference speed and a small capacity. Consists of higher strings.

次に、上記のステップ300の置換ポインタ生成部130の処理を説明する。   Next, the processing of the replacement pointer generator 130 in step 300 will be described.

図9は、本発明の一実施の形態における置換ポインタ生成部の処理のフローチャートである。   FIG. 9 is a flowchart of the process of the replacement pointer generator in the embodiment of the present invention.

ステップ301) 置換ポインタ生成部130は、入力引数から入力文字列Nを受け取る。   Step 301) The replacement pointer generator 130 receives the input character string N from the input argument.

ステップ302) 入力文字列の位置カウントiを0とする。   Step 302) The position count i of the input character string is set to zero.

ステップ303) サンプル文字列探索部140に対して、入力文字列Nの開始位置i番目から始まる部分文字列と、サンプル文字列M記憶部150のサンプル文字列M上の文字列との最大一致長LMと出現位置PMの計算を指示する。サンプル文字列探索部140は、入力文字列Nとサンプル文字列M記憶部150を参照して、サンプル文字列MのLMとその出現位置PMを計算し、置換ポインタ生成部130に返却する。 Step 303) For the sample character string search unit 140, the maximum matching length between the partial character string starting from the start position i-th of the input character string N and the character string on the sample character string M in the sample character string M storage unit 150 to indicate the calculation of L M and the appearance position P M. Sample string search unit 140, with reference to the input string N and sample string M storage unit 150, the L M and its appearance position P M of the sample string M is calculated and returned to the replacement pointer generator 130 .

ステップ304) 置換ポインタ生成部130は、ステップ303と同様に、動的辞書探索・更新部160に対して、入力文字列Nの開始位置i番目から始まる部分文字列と入力文字列の[0…i−1]までに出現した部分文字列との最大一致長LNとその出現位置PNの計算を指示する。動的辞書探索・更新部160は、入力文字列Nの開始位置i番目から始まる部分文字列と入力文字列の[0…i−1]を比較して最大一致長LNを求め、さらに、最大一致した部分文字列に基づいて動的辞書記憶部170を参照して、出現位置PNを取得する。動的辞書記憶部170は、図10に示すように、出現文字列と出現位置を格納する辞書であり、出現位置は、例えば、入力文字列Nが「zxywe…」であった場合に、"zxy"の出現位置を"0"、"xyw"の出現位置を"1"、"ywe"の出現位置を"2"のように1文字ずつスライドさせて動的辞書記憶部170に登録する。 Step 304) Similar to step 303, the replacement pointer generation unit 130 instructs the dynamic dictionary searching / updating unit 160 [0... Of the partial character string starting from the starting position i of the input character string N and the input character string. Instructs the calculation of the maximum matching length L N and the appearance position P N of the partial character string appearing up to i−1]. The dynamic dictionary search / update unit 160 compares the partial character string starting from the start position i-th of the input character string N with the input character string [0... I−1] to obtain the maximum matching length L N , and Referring to the dynamic dictionary storage unit 170 on the basis of the maximum matched sub-string, obtains the occurrence position P N. As shown in FIG. 10, the dynamic dictionary storage unit 170 is a dictionary that stores appearance character strings and appearance positions. For example, when the input character string N is “zxywe. The appearance position of zxy is “0”, the appearance position of “xyw” is “1”, the appearance position of “ywe” is slid one character at a time and registered in the dynamic dictionary storage unit 170.

ステップ305) ステップ303で求められた最大一致長LMとステップ304で求められた最大一致長LNを比較し、LM<LNであればステップ306に移行し、LM≧LNであればステップ308に移行する。 Step 305) The maximum matching length L M obtained in step 303 is compared with the maximum matching length L N obtained in step 304. If L M <L N , the process proceeds to step 306, and L M ≧ L N If there is, the process proceeds to step 308.

ステップ306) 置換ポインタ生成部130は、LM<LNであるとき(過去の文字列N系列上に出現した場合)、置換ポインタフラグFを0に設定する。つまり、置換ポインタは入力文字列Nの過去の位置となる
ステップ307) 最大一致長LをLNとし、ポインタをP N とし、ステップ310に移行する。
Step 306) The replacement pointer generation unit 130 sets the replacement pointer flag F to 0 when L M <L N (when it appears on the past character string N series). That is, the replacement pointer becomes the past position of the input character string N. Step 307) The maximum matching length L is set to L N , the pointer is set to P N , and the process proceeds to Step 310.

ステップ308) 置換ポインタ生成部130は、LM≧LNであるとき(サンプル文字列M上に出現した場合)、置換ポインタフラグFに1に設定する。つまり、置換ポインタは、サンプリング文字列M上の位置となる。 Step 308) The replacement pointer generation unit 130 sets the replacement pointer flag F to 1 when L M ≧ L N (when it appears on the sample character string M). That is, the replacement pointer is a position on the sampling character string M.

ステップ309) 最大一致長LをLMとし、ポインタをサンプル文字列Mの出現位置PMとする。 Step 309) the maximum matching length L and L M, a pointer and the appearance position P M of the sample string M.

ステップ310) 上記のステップ306、ステップ308の置換ポインタフラグFと置換ポインタ(L/P/文字列Nの(i+L+1)番目の文字)を置換ポインタ記憶部180に格納する。   Step 310) The replacement pointer flag F and the replacement pointer (the (i + L + 1) th character of L / P / character string N) in Steps 306 and 308 are stored in the replacement pointer storage unit 180.

置換ポインタ記憶部180の例を図11に示す。置換ポインタ記憶部180は、置換ポインタ種別フラグと置換ポインタを格納する。置換ポインタ種別フラグが"0"である場合は、置換ポインタは入力文字列Nの過去の位置を表し、"1"である場合は、置換ポインタはサンプル文字列M上の位置を表す。置換ポインタは、{先頭からの位置、長さ、置換文字列の終端文字}の組で構成される。図11の例において、置換ポインタ記憶部180の1番目のエントリの置換ポインタ種別フラグは、"1"であるので、置換ポインタがサンプル文字列M上の位置を示す。[サンプル文字列M:abcdefg…]、[入力文字列N:zxywefghic…abcdk…ef ghij…]であるとき、サンプル文字列Mの"abcd"と入力文字列Nの"abcd"の最大一致長Lは"4"であり、サンプル文字列の開始位置Pは0番目であり、L/P/入力文字列Nの(i+L+1)番目の文字が"k"であるので、置換ポインタは、「0,4,'k'」となる。   An example of the replacement pointer storage unit 180 is shown in FIG. The replacement pointer storage unit 180 stores a replacement pointer type flag and a replacement pointer. When the replacement pointer type flag is “0”, the replacement pointer represents a past position of the input character string N, and when it is “1”, the replacement pointer represents a position on the sample character string M. The replacement pointer is composed of a set of {position from the beginning, length, end character of replacement character string}. In the example of FIG. 11, the replacement pointer type flag of the first entry in the replacement pointer storage unit 180 is “1”, so the replacement pointer indicates the position on the sample character string M. When [sample string M: abcdefg ...] and [input string N: zxywefghic ... abcdk ... ef ghij ...], the maximum matching length L of "abcd" in sample string M and "abcd" in input string N Is "4", the starting position P of the sample character string is 0th, and the (i + L + 1) th character of L / P / input character string N is "k", so the replacement pointer is “0,4, 'k” ”.

ステップ311) 入力文字列Nの[i…i+L+1]の部分文字列を動的辞書探索・更新部160を用いて出現済みの部分文字列として、動的辞書記憶部170に登録する。   Step 311) The [i... I + L + 1] partial character string of the input character string N is registered in the dynamic dictionary storage unit 170 as a partial character string that has already appeared using the dynamic dictionary search / update unit 160. .

ステップ312) iをi=i+L+1とする。   Step 312) i is set to i = i + L + 1.

ステップ313) i<全入力文字列Nであればステップ303に移行し、そうでない場合は当該処理を終了する。   Step 313) If i <all input character strings N, the process proceeds to Step 303. Otherwise, the process ends.

上記の処理の後、置換ポインタ生成部130は、置換ポインタ記憶部180から置換ポインタ列とサンプル文字列Mを復号部200の置換ポインタ分析部210に出力する。   After the above processing, the replacement pointer generation unit 130 outputs the replacement pointer string and the sample character string M from the replacement pointer storage unit 180 to the replacement pointer analysis unit 210 of the decoding unit 200.

以下、図4のステップ400の復号部200の置換ポインタ分析部210について説明する。   Hereinafter, the replacement pointer analysis unit 210 of the decoding unit 200 in step 400 of FIG. 4 will be described.

図12は、本発明の一実施の形態における置換ポインタ分析部の処理のフローチャートである。   FIG. 12 is a flowchart of processing of the replacement pointer analyzer in the embodiment of the present invention.

ステップ401) 置換ポインタ分析部210は、入力引数から置換ポインタ列とポインタ文字列Mを符号化部100から受け取る。   Step 401) The replacement pointer analysis unit 210 receives a replacement pointer string and a pointer character string M from the input argument from the encoding unit 100.

ステップ402) 置換ポインタ分析部210は、受け取ったサンプル文字列Mを入力サンプル文字列記憶部220に格納する。   Step 402) The replacement pointer analysis unit 210 stores the received sample character string M in the input sample character string storage unit 220.

ステップ403) 置換ポインタ総数をZに設定する。   Step 403) Set the total number of replacement pointers to Z.

ステップ404) 置換ポインタのカウンタiを0とする。   Step 404) Set the counter i of the replacement pointer to 0.

ステップ405) ステップ401で取得した置換ポインタ列からi番目の置換ポインタに含まれる置換ポインタフラグFを取得する。 Step 405) The replacement pointer flag F included in the i-th replacement pointer is acquired from the replacement pointer sequence acquired in Step 401.

ステップ406) 置換ポインタフラグFが1であるかを判定し、1であればステップ408に移行し、そうでなければステップ407に移行する。 Step 406) It is determined whether or not the replacement pointer flag F is 1. If 1, the process proceeds to Step 408, and if not, the process proceeds to Step 407.

ステップ407) 置換ポインタFが参照する既に復元済みの部分文字列を出力文字列記憶部230に出力し、ステップ409に移行する。   Step 407) The already restored partial character string referred to by the replacement pointer F is output to the output character string storage unit 230, and the process proceeds to Step 409.

ステップ408) iを1インクリメントする。   Step 408) Increment i by 1.

ステップ409) i<Zであれば、ステップ405に移行し、そうでなければ、当該処理を終了する。   Step 409) If i <Z, the process proceeds to Step 405. Otherwise, the process ends.

図13は、本発明の一実施の形態における階層型メモリ構造における辞書配置例を示す。同図では階層j=3(j=0,1,2)の場合を示している。階層j[2]の主記憶装置には、出現頻度で並び替えて連結して作成した辞書を搭載しておくことで、CPU装置が、その周辺の辞書領域を参照速度の早いキャッシュ装置(階層j[0])に読み込む確率が高くなり、結果的に辞書の参照速度が向上する。   FIG. 13 shows an example of a dictionary arrangement in a hierarchical memory structure according to an embodiment of the present invention. In the figure, the case of hierarchy j = 3 (j = 0, 1, 2) is shown. In the main storage device of the hierarchy j [2], a dictionary created by rearranging and concatenating them according to the appearance frequency is mounted, so that the CPU device can store the peripheral dictionary area in the cache device (hierarchy with high reference speed). The probability of reading in j [0]) is increased, and as a result, the dictionary reference speed is improved.

なお、上記の図3に示す文字列圧縮装置の構成要素の動作をプログラムとして構築し、文字列圧縮装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   The operation of the components of the character string compression device shown in FIG. 3 can be constructed as a program, installed in a computer used as the character string compression device, executed, or distributed via a network. It is.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

100 符号化部
110 サンプル文字列生成部
120 サンプル文字列取得部
130 置換ポインタ生成部
140 サンプル文字列探索部
150 サンプル文字列M記憶部
160 動的辞書探索・更新部
170 動的辞書記憶部
180 置換ポインタ記憶部
200 復号部
210 置換ポインタ分析部
220 入力サンプル文字列記憶部
230 出力文字列記憶部
310 頻出パターン分析部
320 頻出パターン記憶部
100 encoding unit 110 sample character string generation unit 120 sample character string acquisition unit 130 replacement pointer generation unit 140 sample character string search unit 150 sample character string M storage unit 160 dynamic dictionary search / update unit 170 dynamic dictionary storage unit 180 replacement Pointer storage unit 200 Decoding unit 210 Replacement pointer analysis unit 220 Input sample character string storage unit 230 Output character string storage unit 310 Frequency pattern analysis unit 320 Frequency pattern storage unit

Claims (4)

置換方式による文字列圧縮及び復元システムであって、
入力文字列Nから部分文字列を抽出し、該入力文字列Nにおける該部分文字列の出現回数をカウントし、該部分文字列と出現回数を頻出パターン記憶手段に格納する頻出パターン分析手段と、
前記頻出パターン記憶手段に格納されている前記部分文字列の出現回数について降順に並べ替え、該頻出パターン記憶手段に格納し、該頻出パターン記憶手段の上位N件を、サンプル文字列としてサンプル文字列記憶手段に格納するサンプル文字列生成手段と、
前記入力文字列Nの開始位置iから始まる部分文字列と、前記サンプル文字列記憶手段から読み出した前記サンプル文字列Mの最大一致長LMと該部分文字列の出現位置PMを求め、前記入力文字列Nの開始位置i番目から始まる部分文字列と、該入力文字列Nの0番目からi−1番目までに出現した部分文字列との最大一致長LNと、該出現した部分文字列の出現位置P N を求め、該最大一致長LNが該最大一致長LMより大きい場合は、置換ポインタを該入力文字列Nの過去の位置を示すものとし、該最大一致長LMが該最大一致長LN以上である場合は、該置換ポインタをサンプル文字列M上の位置を示すものとし、該入力文字列Nの[i…i+L+1]の部分文字列を出現済みの部分文字列として動的辞書記憶手段に格納し、置換ポインタ列と該サンプル文字列を出力する置換ポインタ生成手段と、
を有する符号化手段と、
前記置換ポインタ生成手段から前記置換ポインタ列と前記サンプル文字列を取得し、置換ポインタがサンプル文字列M上の位置を示している場合には、該置換ポインタが参照するサンプル文字列M上の部分文字列を出力し、該置換ポインタが前記入力文字列Nの過去の位置を示す場合には、該置換ポインタが参照する既に復元済みの部分文字列を出力する置換ポインタ分析手段を有する復号手段と、
を有することを特徴とするサンプル文字列(辞書)を用いた二段階置き換えによる圧縮及び復元システム。
A string compression and decompression system using a replacement method,
A frequent pattern analysis unit that extracts a partial character string from the input character string N, counts the number of appearances of the partial character string in the input character string N, and stores the partial character string and the number of appearances in a frequent pattern storage unit;
The appearance counts of the partial character strings stored in the frequent pattern storage means are rearranged in descending order, stored in the frequent pattern storage means, and the top N cases of the frequent pattern storage means as sample character strings. Sample character string generating means to be stored in the storage means;
The partial character string starting from the start position i of the input character string N, the maximum matching length L M of the sample character string M read from the sample character string storage means, and the appearance position P M of the partial character string are obtained, The maximum matching length L N between the partial character string starting from the starting position i of the input character string N and the partial character strings appearing from the 0th to the (i−1) th of the input character string N, and the appearing partial characters The appearance position P N of the column is obtained, and when the maximum matching length L N is larger than the maximum matching length L M , the replacement pointer indicates the past position of the input character string N, and the maximum matching length L M Is equal to or longer than the maximum matching length L N , the replacement pointer indicates the position on the sample character string M, and a partial character string of [i ... i + L + 1] of the input character string N appears. Stored as a partial character string in the dynamic dictionary storage means, and a replacement pointer string and a sample character string are output. Conversion pointer generation means;
Encoding means comprising:
When the replacement pointer string and the sample character string are obtained from the replacement pointer generation means, and the replacement pointer indicates a position on the sample character string M, a portion on the sample character string M to which the replacement pointer refers A decoding unit having a replacement pointer analyzing unit that outputs a character string and outputs an already restored partial character string referred to by the replacement pointer when the replacement pointer indicates a past position of the input character string N; ,
A compression and decompression system by two-stage replacement using a sample character string (dictionary) characterized by comprising:
前記サンプル文字列記憶手段は、前記入力文字列Nに対して1%以下程度の領域とする
請求項1記載のサンプル文字列(辞書)を用いた二段階置き換えによる圧縮及び復元システム。
The compression and decompression system by two-stage replacement using the sample character string (dictionary) according to claim 1, wherein the sample character string storage means has an area of about 1% or less with respect to the input character string N.
置換方式による文字列圧縮及び復元方法であって、
頻出パターン分析手段と、頻出パターン記憶手段と、サンプル文字列生成手段と、サンプル文字列記憶手段と、動的辞書記憶手段と、置換ポインタ生成手段とを有する符号化手段、及び、置換ポインタ分析手段を有する復号手段とを有する装置において、
前記符号化手段の前記頻出パターン分析手段が、入力文字列Nから部分文字列を抽出し、該入力文字列Nにおける該部分文字列の出現回数をカウントし、該部分文字列と該出現回数を前記頻出パターン記憶手段に格納する頻出パターン分析ステップと、
前記符号化手段の前記サンプル文字列生成手段が、前記頻出パターン記憶手段に格納されている前記部分文字列の出現回数を降順に並べ替え、該頻出パターン記憶手段に格納し、該頻出パターン記憶手段の上位N件を、サンプル文字列としてサンプル文字列記憶手段に格納するサンプル文字列生成ステップと、
前記符号化手段の前記置換ポインタ生成手段が、前記入力文字列Nの開始位置iから始まる部分文字列と、前記サンプル文字列記憶手段から読み出した前記サンプル文字列Mの最大一致長LMと該部分文字列の出現位置PMを求め、前記入力文字列Nの開始位置i番目から始まる部分文字列と、該入力文字列Nの0番目からi−1番目までに出現した部分文字列との最大一致長LNと、該出現した部分文字列の出現位置P N を求め、該最大一致長LNが該最大一致長LMより大きい場合は、置換ポインタを該入力文字列Nの過去の位置を示すものとし、該最大一致長LMが該最大一致長LN以上である場合は該置換ポインタをサンプル文字列M上の位置を示すものとし、該入力文字列Nの[i…i+L+1]の部分文字列を出現済みの部分文字列として動的辞書記憶手段に格納し、置換ポインタ列と該サンプル文字列を出力する置換ポインタ生成ステップと、
前記復号手段の前記置換ポインタ分析手段が、前記符号化手段より前記置換ポインタ列と前記サンプル文字列を取得し、置換ポインタがサンプル文字列M上の位置を示している場合には、該置換ポインタが参照するサンプル文字列M上の部分文字列を出力し、該置換ポインタが前記入力文字列Nの過去の位置を示す場合には、該置換ポインタが参照する既に復元済みの部分文字列を出力する置換ポインタ分析ステップと、
を行うことを特徴とするサンプル文字列(辞書)を用いた二段階置き換えによる圧縮及び復元方法。
A string compression and decompression method using a replacement method,
Frequent pattern analysis means, frequent pattern storage means, sample character string generation means, sample character string storage means, dynamic dictionary storage means, and encoding means having replacement pointer generation means, and replacement pointer analysis means And a decryption means comprising:
The frequent pattern analysis unit of the encoding unit extracts a partial character string from the input character string N, counts the number of appearances of the partial character string in the input character string N, and determines the partial character string and the number of appearances. A frequent pattern analysis step stored in the frequent pattern storage means;
The sample character string generating means of the encoding means rearranges the number of appearances of the partial character strings stored in the frequent pattern storage means in descending order, stores them in the frequent pattern storage means, and the frequent pattern storage means A sample character string generation step for storing the top N of the above as sample character strings in the sample character string storage means;
The replacement pointer generating means of the encoding means includes a partial character string starting from a start position i of the input character string N, a maximum matching length L M of the sample character string M read from the sample character string storage means, and the The appearance position P M of the partial character string is obtained, and the partial character string starting from the start position i-th of the input character string N and the partial character string appearing from the 0th to the (i−1) th of the input character string N maximum matching length L N, obtains the appearance position P N of the emerging partial string, when said maximum matching length L N is greater than said maximum matching length L M is the last replacement pointer of the input string N If the maximum match length L M is equal to or greater than the maximum match length L N , the replacement pointer indicates the position on the sample character string M, and [i. + L + 1] is stored in the dynamic dictionary storage means as a partial character string that has already appeared. A replacement pointer generation step for outputting a replacement pointer string and the sample character string;
When the replacement pointer analysis means of the decoding means acquires the replacement pointer string and the sample character string from the encoding means, and the replacement pointer indicates a position on the sample character string M, the replacement pointer Outputs a partial character string on the sample character string M referred to by and if the replacement pointer indicates the past position of the input character string N, outputs the already restored partial character string referred to by the replacement pointer A replacement pointer analysis step to
A compression and decompression method using two-stage replacement using a sample character string (dictionary).
前記サンプル文字列記憶手段を、前記入力文字列Nに対して1%以下程度の領域とする
請求項3記載のサンプル文字列(辞書)を用いた二段階置き換えによる圧縮及び復元方法。
The compression and decompression method by two-step replacement using the sample character string (dictionary) according to claim 3, wherein the sample character string storage means is an area of about 1% or less with respect to the input character string N.
JP2013080293A 2013-04-08 2013-04-08 String compression and decompression system and method Active JP5808361B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013080293A JP5808361B2 (en) 2013-04-08 2013-04-08 String compression and decompression system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013080293A JP5808361B2 (en) 2013-04-08 2013-04-08 String compression and decompression system and method

Publications (2)

Publication Number Publication Date
JP2014204358A JP2014204358A (en) 2014-10-27
JP5808361B2 true JP5808361B2 (en) 2015-11-10

Family

ID=52354419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013080293A Active JP5808361B2 (en) 2013-04-08 2013-04-08 String compression and decompression system and method

Country Status (1)

Country Link
JP (1) JP5808361B2 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2954749B2 (en) * 1991-07-19 1999-09-27 富士通株式会社 Data compression method
JP3241788B2 (en) * 1992-02-28 2001-12-25 富士通株式会社 Data compression method
JP3231105B2 (en) * 1992-11-30 2001-11-19 富士通株式会社 Data encoding method and data restoration method
JPH06202844A (en) * 1993-01-05 1994-07-22 Fujitsu Ltd Data compression/restoration processing device
JP3277792B2 (en) * 1996-01-31 2002-04-22 株式会社日立製作所 Data compression method and apparatus
JP3695045B2 (en) * 1996-10-01 2005-09-14 ソニー株式会社 Encoder
JP2000269822A (en) * 1999-03-12 2000-09-29 Fujitsu Ltd Data compressor and data restoring device
JP4479530B2 (en) * 2004-12-28 2010-06-09 カシオ電子工業株式会社 Data compression apparatus and data restoration apparatus

Also Published As

Publication number Publication date
JP2014204358A (en) 2014-10-27

Similar Documents

Publication Publication Date Title
JP6319740B2 (en) Method for speeding up data compression, computer for speeding up data compression, and computer program therefor
US20160112062A1 (en) Parallel dictionary-based compression encoder
US8692696B2 (en) Generating a code alphabet of symbols to generate codewords for words used with a program
KR20130062889A (en) Method and system for data compression
CN103326732A (en) Method for packing data, method for unpacking data, coder and decoder
US20200294629A1 (en) Gene sequencing data compression method and decompression method, system and computer-readable medium
US11551785B2 (en) Gene sequencing data compression preprocessing, compression and decompression method, system, and computer-readable medium
JP4077409B2 (en) Fast longest match search method and apparatus
US9137336B1 (en) Data compression techniques
JP2019036810A (en) Data compression device, data recovery device, data compression program, data recovery program, data compression method, and data recovery method
Kumar et al. Bitstream compression for high speed embedded systems using separated split look up tables (LUTs)
JP6609404B2 (en) Compression program, compression method, and compression apparatus
TW201643757A (en) Hardware data compressor that maintains sorted symbol list concurrently with input block scanning
JP5808359B2 (en) String compression and decompression system and method
JP5808361B2 (en) String compression and decompression system and method
JP5808360B2 (en) String compression and decompression system and method
Culpepper et al. Revisiting bounded context block‐sorting transformations
US8270742B1 (en) Data compression for computer-aided design systems
Chakraborty et al. A Dictionary based Efficient Text Compression Technique using Replacement Strategy
Ozsoy Culzss-bit: A bit-vector algorithm for lossless data compression on gpgpus
Bharathi et al. A plain-text incremental compression (pic) technique with fast lookup ability
Rahman et al. Text compression based on an alternative approach of run-length coding using Burrows-Wheeler transform and arithmetic coding
Sharma et al. Design and Data Compression Techniques to Reduced Time in Data Warehouse with Tested Algorithms
JP6555259B2 (en) Information processing apparatus, data storage method, and program
CN115033381A (en) Compressed file processing method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150422

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150817

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150908

R150 Certificate of patent or registration of utility model

Ref document number: 5808361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150