JP2018147143A - Information processing apparatus, information processing program and information processing method - Google Patents
Information processing apparatus, information processing program and information processing method Download PDFInfo
- Publication number
- JP2018147143A JP2018147143A JP2017040160A JP2017040160A JP2018147143A JP 2018147143 A JP2018147143 A JP 2018147143A JP 2017040160 A JP2017040160 A JP 2017040160A JP 2017040160 A JP2017040160 A JP 2017040160A JP 2018147143 A JP2018147143 A JP 2018147143A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- compressed
- processing unit
- information processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、情報処理装置,情報処理プログラムおよび情報処理方法に関する。 The present invention relates to an information processing apparatus, an information processing program, and an information processing method.
文字列のデータ量を削減するデータ圧縮方法の一つとして文法圧縮が知られている。 Grammar compression is known as one of data compression methods for reducing the amount of character string data.
図11は従来の文法圧縮手法を説明するための図である。 FIG. 11 is a diagram for explaining a conventional grammar compression method.
文法圧縮においては、連続する2つの文字(2文字)を1文字に置換(変換,圧縮置換)することを繰り返し行ない、最終的に残った1文字と、変換の履歴を示す辞書とを記録する。 In grammar compression, two consecutive characters (2 characters) are repeatedly replaced (converted and compressed) with one character, and finally the remaining one character and a dictionary indicating the conversion history are recorded. .
図11においては、文字列“abcabc”を圧縮する例を木構造で表している。この木構造において、ノード(節点,頂点)が置換された文字を示す。 In FIG. 11, an example of compressing the character string “abcabc” is represented by a tree structure. In this tree structure, the characters in which nodes (nodes, vertices) are replaced are shown.
以下、木構造における上位(上層)を、単に、上といい、下位(下層)を、単に、下というものとする。 Hereinafter, the upper (upper layer) in the tree structure is simply referred to as the upper, and the lower (lower) is simply referred to as the lower.
先ず、文字列“ab”を文字“X”に置換することで、文字列“abcabc”を文字列“XcXc”に変換する。 First, the character string “abcabc” is converted to the character string “XcXc” by replacing the character string “ab” with the character “X”.
次に、文字列“Xc”を文字“Y”に置換することで、文字列“XcXc”を文字列“YY”に変換する。 Next, the character string “Xc” is converted to the character string “YY” by replacing the character string “Xc” with the character “Y”.
さらに、文字列“YY”を文字“Z”に置換することで、文字列“YY”を文字“Z”に変換する。 Further, the character string “YY” is converted to the character “Z” by replacing the character string “YY” with the character “Z”.
そして、文字列“abcabc”を“Z”に変換するまでに行なった置換の情報を辞書として、最終的に残った1文字“Z”とともに記録する。 Then, information on replacement performed until the character string “abcabc” is converted to “Z” is recorded as a dictionary together with the finally remaining one character “Z”.
また、圧縮された文字“Z”は、上記と逆の処理を行なうことで、圧縮前の文字列“abcabc”に展開(伸長)される。 In addition, the compressed character “Z” is expanded (expanded) into the character string “abcabc” before compression by performing the reverse process.
また、文法圧縮では、個々のノードに対して、その下にいくつの文字が存在するかを示す情報(以下、ラベルという)を付記することで、特定の範囲の文字列を少ない工程で伸長することができる。ノードにラベルを付して示す木構造をラベル付き木構造という場合がある。 In grammar compression, information indicating how many characters exist below each node (hereinafter referred to as a label) is added to expand a character string in a specific range with a small number of steps. be able to. A tree structure with a label attached to a node may be referred to as a labeled tree structure.
図12はラベル付き木構造を例示する図であり、図11に示した木構造にラベルを付したものである。 FIG. 12 is a diagram illustrating a labeled tree structure, in which a label is attached to the tree structure shown in FIG.
図12に例示するラベル付き木構造において、文字“X”の下には、文字“a”,“b”の2つの文字があるので、この文字“X”にはラベル“2”が付されている。同様に、文字“Y”の下には、文字“a”,“b”,“c”の3つの文字があるので、この文字“Y”にはラベル“3”が付されている。なお、ラベルには置換に用いられる文字“X”,“Y”は計数しないものとする。 In the labeled tree structure illustrated in FIG. 12, since there are two characters “a” and “b” under the character “X”, the label “2” is attached to the character “X”. ing. Similarly, under the character “Y”, there are three characters “a”, “b”, and “c”, and the label “3” is attached to the character “Y”. Note that the characters “X” and “Y” used for replacement are not counted in the label.
この図12に例示するラベル付き木構造の辞書を、以下のように表すことができる。辞書は、文法圧縮の過程において行なわれる文字の置換を表す。 The labeled tree structure dictionary illustrated in FIG. 12 can be expressed as follows. The dictionary represents character substitution performed in the process of grammar compression.
“Z”:“Z(6) -> YY”,“Y(3) -> Xc”,“X(2) -> ab”
なお、辞書中において、符号“->”は、置換による対応関係を表す。また、辞書中においてはラベルをカッコ付きの数字(例えば、“(6)”)を用いて示す。また、ラベル付き木構造において、最上位の文字(図12に示す例では文字“Z”)と、最下位の文字(図12に示す例では文字“abcabc”)との間にあるノードを中間ノードという場合がある。
“Z”: “Z (6)-> YY”, “Y (3)-> Xc”, “X (2)-> ab”
In the dictionary, the symbol “->” represents a correspondence relationship by replacement. In the dictionary, labels are indicated using numbers with parentheses (for example, “(6)”). Further, in the labeled tree structure, a node between the uppermost character (character “Z” in the example shown in FIG. 12) and the lowermost character (character “abcabc” in the example shown in FIG. 12) is intermediate. Sometimes called a node.
ここで、図12に例示するラベル付き木構造で表される文字列“abcabc”において、例えば5文字目から6文字目を参照(伸長)する場合には、下記の手順により行なう。 Here, in the character string “abcabc” represented by the labeled tree structure illustrated in FIG. 12, for example, when the fifth to sixth characters are referred to (expanded), the following procedure is performed.
なお、以下、例えば、文字“X”のa文字目からb文字目までの文字列を、“X[a,b]”と表す。a,bはいずれも自然数である。 Hereinafter, for example, a character string from the a-th character to the b-th character of the character “X” is represented as “X [a, b]”. Both a and b are natural numbers.
以下に、Z[5,6]を伸長する手法を示す。 A method for expanding Z [5,6] is shown below.
図12に示すラベル付き木構造において、Zは、Y(3)とY(3)とに伸長できるので、Z[5,6]は、Y[2,3]と表すことができる。すなわち、Yにおける2文字目と3文字目とが、Zにおける5文字目と6文字目に相当する。 In the labeled tree structure shown in FIG. 12, Z can be expanded to Y (3) and Y (3), so Z [5,6] can be represented as Y [2,3]. That is, the second and third characters in Y correspond to the fifth and sixth characters in Z.
同様に、YはX(2)とc(1)とに伸長できるので、Y[2,3]は、X[2,2]およびcとなる。また、Xはa(1)とb(1)とに伸長できるので、Y[2,2]はbと表すことができる。 Similarly, Y can be expanded to X (2) and c (1), so Y [2,3] becomes X [2,2] and c. Further, since X can be expanded to a (1) and b (1), Y [2,2] can be represented as b.
従って、文法圧縮されたX[5,6]は、bcと求めることができる。 Therefore, the grammar-compressed X [5,6] can be obtained as bc.
なお、図12に示すラベル付き木構造において、上述の如くZ[5,6]を伸長するために参照されるノードを破線で表している。 In the labeled tree structure shown in FIG. 12, the nodes referred to for extending Z [5,6] are represented by broken lines as described above.
一般に、文法圧縮されたデータを伸長する際にアクセス対象となる中間ノードは、記憶領域内において散在している。従って、上述の如く、木構造における一部のノードに対してのみアクセスすることでデータの伸長を行なうということは、データの記憶領域におけるアドレスで考えると、いくつかの領域にランダムアクセスが生じることを意味する。 Generally, intermediate nodes to be accessed when decompressing grammar-compressed data are scattered in a storage area. Therefore, as described above, data decompression by accessing only a part of nodes in the tree structure means that random access occurs in some areas when considering addresses in the data storage area. Means.
一方で、近年、高速なデータアクセスを実現するストレージ製品として、SSD(Solid State Drive)を用いたAFA(All Flash Array)が開発されている。SSDにおいては、ページといわれる領域単位でデータアクセスが行なわれるという特性を有する。 On the other hand, in recent years, AFA (All Flash Array) using SSD (Solid State Drive) has been developed as a storage product for realizing high-speed data access. The SSD has a characteristic that data access is performed in units of areas called pages.
従って、文法圧縮されたデータがSSDに格納されている場合に、データの伸長時に、記憶領域を成す多数のページのリードを行なう必要があり、これにより、SSDにおいて多くの領域のデータをリードする必要がある。これにより、SSDの寿命を縮めることになる。 Therefore, when grammar-compressed data is stored in the SSD, it is necessary to read a large number of pages constituting the storage area when the data is decompressed. As a result, data in many areas is read in the SSD. There is a need. This shortens the life of the SSD.
1つの側面では、本発明は、半導体記憶装置を効率的に使用できるようにすることを目的とする。 In one aspect, an object of the present invention is to enable efficient use of a semiconductor memory device.
このため、この情報処理装置は、圧縮対象文字列データを、複数の部分領域に区画する分割処理部と、前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する圧縮処理部と、生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる格納処理部とを備える。 For this reason, this information processing apparatus compresses the compression target character string data into a plurality of partial areas and the area data included in each of the plurality of partial areas up to an access unit size or less. A compression processing unit that generates compressed partial data, and a storage processing unit that stores the generated compressed partial data in an access unit area in a semiconductor storage device.
一実施形態によれば、半導体記憶装置を効率的に用いることができる。 According to one embodiment, a semiconductor memory device can be used efficiently.
以下、図面を参照して本情報処理装置,情報処理プログラムおよび情報処理方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。 Hereinafter, embodiments of the information processing apparatus, an information processing program, and an information processing method will be described with reference to the drawings. However, the embodiment described below is merely an example, and there is no intention to exclude application of various modifications and techniques not explicitly described in the embodiment. In other words, the present embodiment can be implemented with various modifications (combining the embodiments and modifications) without departing from the spirit of the present embodiment. Each figure is not intended to include only the components shown in the figure, and may include other functions.
(A)構成
図1は実施形態の一例としての情報処理装置1の構成を模式的に示す図である。
(A) Configuration FIG. 1 is a diagram schematically illustrating a configuration of an
情報処理装置1は、例えば、ストレージシステムにおけるCM(Controller Module)やパーソナルコンピュータである。
The
情報処理装置1は、例えば、図1に示すように、CPU(Central Processing Unit)11,RAM(Random Access Memory)12,ROM(Read Only Memory)13,SSD14,グラフィック処理装置20,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11〜18,20は、バス19を介して相互に通信可能に構成される。
For example, as shown in FIG. 1, the
情報処理装置1は、文字列で構成されるデータ(文字列データ,圧縮対象文字列データ)を圧縮してデータサイズを削減した状態でSSD14格納するデータ圧縮機能を備える。
The
SSD14は、半導体メモリを記憶媒体として用いた記録装置であり、種々のデータやプログラムを格納する。
The
以下、半導体メモリとしてフラッシュメモリを備えるSSD14について示す。
Hereinafter, an
フラッシュメモリの記憶領域は、複数個(例えば、4200個)のブロックを備え、各ブロックには、複数個(例えば256個)のページが形成されている。各ページはそれぞれ、例えば4KB(KiloByte)の記憶容量を有する。以下、1つのページのサイズをページサイズもしくはアラインメントサイズという。本例においては、ページサイズ=4KBである。 The storage area of the flash memory includes a plurality of (for example, 4200) blocks, and a plurality of (for example, 256) pages are formed in each block. Each page has a storage capacity of 4 KB (KiloByte), for example. Hereinafter, the size of one page is referred to as a page size or an alignment size. In this example, the page size is 4 KB.
フラッシュメモリにおいては、データのリードおよびライトはページ単位で行なわれるが、消去はブロック単位で行なわれる。 In the flash memory, data reading and writing are performed in units of pages, but erasing is performed in units of blocks.
例えば、情報処理装置1において実行されるファイルシステムが、SSD14に格納されたデータに対する操作やアクセス,検索を制御し、SSD14に対するデータのリードやライトを制御する。
For example, a file system executed in the
SSD14の記憶領域に対するリードやライトの入出力アクセスは、上述の如くページ単位で行なわれるので、ページをアクセス単位ということができる。また、ページサイズをアクセス単位サイズということができる。
Since read / write input / output access to the storage area of the
ROM13は、種々のデータやプログラムを格納する記憶装置である。RAM12はCPU11が演算処理等を行なう際に、データやプログラム等を一時的に格納する記憶装置である。
The
また、このRAM12には、SSD14に格納するデータやSSD14から読み出したデータを一時的に記憶してもよい。
The
CPU11は、ROM13やSSD14に格納されたOS(Operating System)や各種プログラムを実行することにより、種々の演算や制御を行なう。本情報処理装置1においては、このCPU11がSSD14等に格納されたプログラム(圧縮処理プログラム,情報処理プログラム)を実行することにより、図1に示す、分割処理部21,圧縮処理部22,伸長処理部23および格納処理部25として機能する。
The
なお、これらの分割処理部21,圧縮処理部22,伸長処理部23および格納処理部25としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(Compact Disc;CD−ROM,CD−R(Recordable),CD−RW(ReWritable)等),DVD(Digital Versatile Disc;DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
A program for realizing the functions as the
分割処理部21,圧縮処理部22,伸長処理部23および格納処理部25としての機能を実現する際には、内部記憶装置(本実施形態ではRAM12やROM13)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
When realizing the functions as the
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、情報処理装置1がコンピュータとしての機能を有している。
In the present embodiment, the computer is a concept including hardware and an operating system, and means hardware that operates under the control of the operating system. Further, when an operating system is unnecessary and hardware is operated by an application program alone, the hardware itself corresponds to a computer. The hardware includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium. In the present embodiment, the
なお、CPU11はマルチプロセッサであってもよい。また、CPU11に代えて、例えばMPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つを備えてもよい。また、CPU11に代えて、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素を組み合わせ用いてもよい。
The
グラフィック処理装置20には、モニタ20aが接続されている。グラフィック処理装置20は、CPU11からの命令に従って、画像をモニタ20aの画面に表示させる。モニタ20aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
A
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をCPU11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
A
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD,DVD−RAM,CD−ROM,CD−R/RW)等が挙げられる。
The
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
The
ネットワークインタフェース18は、図示しないネットワークに接続される。ネットワークインタフェース18は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信を行なう。
The
分割処理部21は、文字列として記載された圧縮対象のデータ(圧縮対象文字列データ)を、複数のリージョン(領域)に区切る。以下、圧縮対象のデータを、メッセージもしくは圧縮対象メッセージという場合がある。また、以下、圧縮対象メッセージを複数のリージョンに区切ることを、分割するもしくは区画すると表現する場合がある。
The
個々のリージョンには、1つ以上のページが含まれる。すなわち、分割処理部21は、メッセージを1つ以上のページが含まれるリージョンに分割する。なお、1つのリージョンには2つ以上のページを含むことが望ましく、リージョンのサイズ(リージョンサイズ)はページサイズの倍数であることが望ましい。また、各リージョンに含まれるページ数は同数であることが望ましい。
Each region contains one or more pages. In other words, the
以下、リージョンに含まれるデータをリージョンデータという場合がある。また、後述する圧縮処理部22および伸長処理部23が処理を行なう対象のリージョンをターゲットリージョンもしくは、単にターゲットという場合がある。また、複数のリージョンをターゲット群という場合がある。
Hereinafter, data included in a region may be referred to as region data. In addition, a region to be processed by the
また、分割処理部21により複数のリージョンに区切られたメッセージを区画済みメッセージという場合がある。
In addition, a message divided into a plurality of regions by the
図2は実施形態の一例としての情報処理装置1における分割処理部21による処理を説明するための図である。
FIG. 2 is a diagram for explaining processing by the
図2中において符号(a)は分割処理部21による分割前のメッセージを示しており、8ページ分の長さを有するメッセージを示している。
In FIG. 2, a symbol (a) indicates a message before division by the
以下、図に示すメッセージ中において、圧縮前の状態で個々のページに対応する部分にP1〜P8の符号を付して表す。 Hereinafter, in the message shown in the figure, portions corresponding to individual pages in the state before compression are denoted by reference numerals P1 to P8.
また、図2中において、符号(b)は分割処理部21により複数のリージョンに分割された状態のメッセージを示しており、この図2に示す例においては、分割処理部21は、メッセージを、連続する2ページ毎に分割することで複数(図2に示す例では4つ)のリージョンR1〜R4を生成している。
In FIG. 2, reference numeral (b) indicates a message that is divided into a plurality of regions by the
図2に示す例において、リージョンR1にはリージョンデータとしてページP1,P2のデータが含まれている。同様に、リージョンR2にはページP3,P4のデータが、リージョンR3にはページP5,P6のデータが、リージョンR4にはページP7,P8のデータが、それぞれリージョンデータとして含まれている。 In the example shown in FIG. 2, the region R1 includes data of pages P1 and P2 as region data. Similarly, region R2 includes data of pages P3 and P4, region R3 includes data of pages P5 and P6, and region R4 includes data of pages P7 and P8 as region data.
分割処理部21は、メッセージを、その先頭から順番にリージョンに割り当てる。メッセージのデータサイズがページの倍数でない場合には、最後尾のリージョンにメッセージの端数部分を格納してもよい。
The
個々のリージョンのリージョンデータは、それぞれページの整数倍のデータサイズを有するものであるので、メッセージにおいて、隣り合うリージョン間の境界はページ間の境界と一致する。従って、各リージョンデータは、SSD14の記憶領域におけるページにアラインメントされているといえる。
Since the region data of each region has a data size that is an integral multiple of the page, the boundary between adjacent regions matches the boundary between pages in the message. Accordingly, it can be said that each region data is aligned with a page in the storage area of the
圧縮処理部22は、分割処理部21によって分割(生成)された各リージョンのデータを、それぞれ圧縮する。
The
圧縮処理部22は、各リージョンのリージョンデータを、文法圧縮の手法を用いて、それぞれページサイズ以下になるまで圧縮する。
The
すなわち、圧縮処理部22は、圧縮対象メッセージにおいて最も多く表れる連続する2文字を置換対象文字列として抽出し、この置換対象文字列に対して置換後文字を設定する。そして、圧縮処理部22は、圧縮対象メッセージ全体に対して、置換対象文字列を置換後文字を用いて置換することで、圧縮処理(文法圧縮処理)を行なう。
That is, the
以下、圧縮処理部22によりリージョンデータを圧縮することにより生成されたデータを、圧縮済部分データという場合がある。また、圧縮済部分データを圧縮データという場合がある。
Hereinafter, the data generated by compressing the region data by the
図3は実施形態の一例としての情報処理装置1における圧縮処理部22による処理を説明するための図である。
FIG. 3 is a diagram for explaining processing by the
図3中において、符号(a)は圧縮処理部22による圧縮前のメッセージ(圧縮対象メッセージ)を、符号(b)は圧縮処理部22による圧縮後のメッセージを、それぞれ示している。図3においては、符号(b)に示すように、圧縮済部分データに符号S1〜S4を付して示し、辞書情報に符号D1を付して示す。
In FIG. 3, the code (a) indicates a message before being compressed by the compression processing unit 22 (message to be compressed), and the code (b) indicates a message after being compressed by the
圧縮処理部22は、各リージョンのデータに対して、連続する2つの文字(2文字)を1文字に置換(圧縮置換,変換)することを繰り返し行なうことで、データのサイズを圧縮する文法圧縮を行なう。
The
圧縮処理部22は、各リージョンのデータを、それぞれページサイズ以下になるまで圧縮を行ない、ページサイズ以下となった時点でそのリージョンデータの圧縮置換を中止する。
The
図3に示す例においては、符号(a)に示すように、圧縮前のメッセージ(圧縮対象メッセージ)には、リージョンR1に文字列“abcabc”が、リージョンR2に文字列“bcbcaa”が、リージョンR3に文字列“aabbcc”が、リージョンR1に文字列“abccba”が、それぞれ含まれている。 In the example shown in FIG. 3, as indicated by reference numeral (a), the message before compression (message to be compressed) includes the character string “abcabc” in the region R1, the character string “bcbcaa” in the region R2, The character string “aabbcc” is included in R3, and the character string “abccba” is included in the region R1.
圧縮処理部22は、文字列“bc”を文字“P”に、文字列“aP”を文字“Q”に、文字列“aa”を文字“R”に、文字列“Pc”を文字“S”に、文字列“cb”を文字“T”に、それぞれ置換する。
The
これにより、例えばリージョンR1の文字列“abcabc”が、符号(b)に示すように、文字列“QQ”に変換される(符号S1参照)。圧縮済部分データである変換後の文字列“QQ”のデータサイズはページサイズ以下であり、1つのページ内に収まっている。 Thereby, for example, the character string “abcabc” in the region R1 is converted into the character string “QQ” as shown in the code (b) (see the code S1). The data size of the converted character string “QQ”, which is compressed partial data, is equal to or smaller than the page size and fits in one page.
同様に、リージョンR2の文字列“bcbcaa”が、符号(b)に示すように、文字列“PPR”(圧縮済部分データ)に変換される(符号S2参照)。変換後の文字列“PPR”(圧縮済部分データ)のデータサイズもページサイズ以下であり、1つのページ内に収まっている。他のリージョンR3,R4の文字列についても同様に、変換後の圧縮済部分データのデータサイズは1つのページ内に収まっている。 Similarly, the character string “bcbcaa” in the region R2 is converted into the character string “PPR” (compressed partial data) as shown in the code (b) (see the code S2). The data size of the converted character string “PPR” (compressed partial data) is also equal to or smaller than the page size and fits in one page. Similarly for the character strings of the other regions R3 and R4, the data size of the compressed partial data after conversion is within one page.
圧縮処理部22は、リージョン毎にデータ圧縮を行なうものであり、個々のリージョン内でそれぞれデータ圧縮を行なう。すなわち、圧縮処理部22は、リージョン間の境界(アラインメント)を超えてデータ圧縮を行なうことはない。
The
すなわち、圧縮処理部22は、各リージョンのデータに文字圧縮を行なう。
That is, the
後述する格納処理部25は、圧縮処理部22が生成した各圧縮済部分データを、それぞれSSD14の記憶領域における1つのページ内に収まるように格納する。これにより、1つ分のリージョンのデータは、圧縮されて圧縮済部分データとして、SSD14の1つのページ内に格納される。
The
従って、各リージョンのデータにより生成された圧縮済部分データは、SSD14に格納された状態において、隣接するページ間の境界を跨ぐことがない、いわゆるアラインメントが揃った状態となる。
Therefore, the compressed partial data generated by the data of each region is in a state in which the so-called alignment is aligned without crossing the boundary between adjacent pages in the state stored in the
また、上述した圧縮処理部22による各リージョンのデータの置換に関して、置換前の文字列と置換後の文字列との対応を表す情報(生成規則)が、後述する格納処理部25により、辞書要素として辞書情報D1として格納される。この辞書情報D1は、図3の符号(b)に示すように、例えば、複数の圧縮済部分データの先頭位置にまとめて格納される。図3において符号(b)に示す例では、複数の圧縮済部分データに先行する2ページ分の領域に辞書情報D1が格納されている。
In addition, regarding the replacement of the data in each region by the
圧縮対象メッセージが圧縮処理部22によって圧縮されたものを圧縮済メッセージといい、符号E1を付して示す。圧縮済メッセージE1は、辞書情報D1および複数の圧縮済部分データS1〜S4を備える。
A message to be compressed that has been compressed by the
格納処理部25は、圧縮処理部22によって生成された圧縮済部分データを、SSD14の記憶領域を構成するページにそれぞれ格納する。
The
上述の如く、各圧縮済部分データはページサイズ以下のデータサイズであるので、個々の圧縮済部分データは、それぞれページにはみ出すことなく格納される。 As described above, since each compressed partial data has a data size equal to or smaller than the page size, each compressed partial data is stored without protruding onto the page.
格納処理部25は、圧縮処理部22が生成した各圧縮済部分データを、それぞれ1つのページ内に収まるように格納する。例えば、格納処理部25は圧縮済部分データの先頭をページの先頭位置に揃えて格納する。これにより、1つ分のリージョンのデータは、圧縮されて圧縮済部分データとして1つのページ内に格納される。
The
従って、各リージョンのデータにより生成された圧縮済部分データは、SSD14に格納された状態において、隣接するページ間の境界を跨ぐことがない、いわゆるアラインメントが揃った状態となる。すなわち、SSD14において、各圧縮済部分データは記憶領域を構成するページにそれぞれアラインメントされた状態で格納される。
Therefore, the compressed partial data generated by the data of each region is in a state in which the so-called alignment is aligned without crossing the boundary between adjacent pages in the state stored in the
また、格納処理部25は、上述した圧縮処理部22による各リージョンのデータの置換に関して、置換前の文字列と置換後の文字列との対応を表す情報(生成規則)を辞書要素として辞書情報D1として格納する。この辞書情報D1は、図3の符号(b)に示すように、例えば、複数の圧縮済部分データの先頭位置にまとめて格納される。
Further, the
格納処理部25は、圧縮済部分データを、SSD14の記憶領域において、同一の圧縮対象メッセージから生成される他の圧縮済部分データや辞書情報と近接する位置に格納することが望ましい。
The
伸長処理部23は、圧縮処理部22によって圧縮されたデータの伸長(展開,復元)を行なう。
The
伸長処理部23は、辞書情報D1を読み出し、この読み出した辞書情報を用いて、各ページに格納された圧縮済部分データをそれぞれ伸長する。
The
伸長処理部23は、例えば、圧縮処理部22がリージョンのデータを圧縮済部分データに圧縮した工程とは逆の工程を辞書情報を用いて行なうことで、圧縮済部分データを伸長してリージョン毎にデータを復元する。
For example, the
図4は実施形態の一例としての情報処理装置1における伸長処理部23による処理を説明するための図である。
FIG. 4 is a diagram for explaining processing by the
図4中において、符号(a)は圧縮処理部22により圧縮された圧縮済メッセージを、符号(b)は伸長処理部23により伸長されたメッセージの一部を、それぞれ示している。
In FIG. 4, symbol (a) indicates a compressed message compressed by the
伸長処理部23は、辞書情報D1を参照して辞書要素(生成規則)を読み出し、この辞書要素を用いて各圧縮済部分データSを伸長する。
The
図4に示す例においては、伸長処理部23が圧縮済部分データS3を伸長する例を示している。この図4に示す例においては、1ページサイズ以下に圧縮され、1つのページに格納された圧縮済部分データS3が伸長されることにより、2ページサイズのリージョンR3のデータ(リージョンデータ)が復元された状態を示す。
In the example illustrated in FIG. 4, an example in which the
例えば、圧縮済部分データS3を伸長してリージョンR3のデータを復元する際に、伸長処理部23は、SSD14に格納された辞書情報D1(辞書要素)と圧縮済部分データS3とにアクセスを行なう。
For example, when decompressing the compressed partial data S3 and restoring the data of the region R3, the
すなわち、伸長処理部23は、伸長対象の圧縮済部分データS3と辞書情報D1とが格納された記憶領域(ページ)に対してのみアクセスすることで、この圧縮済部分データS3の伸長を実現する。すなわち、伸長対象以外の圧縮済部分データS3の格納領域にアクセスしない。
That is, the
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1におけるメッセージの圧縮処理を、図5に示すフローチャート(ステップA1〜A7)に従って説明する。以下に示す例においては、分割処理部21が、メッセージを連続する2ページ毎に分割している。
(B) Operation Message compression processing in the
以下の処理においては、圧縮対象のメッセージ(圧縮対象メッセージ)がオペレータ等によって入力される。オペレータは、リージョンサイズおよびページサイズを指定してもよい。なお、これらのリージョンサイズおよびページサイズには、予め設定された規定値を用いてもよい。圧縮対象メッセージは符号語としてRAM12等の記憶領域に記録される。
In the following processing, a message to be compressed (compression target message) is input by an operator or the like. The operator may specify the region size and page size. Note that predetermined values set in advance may be used for these region sizes and page sizes. The compression target message is recorded in a storage area such as the
ステップA1において、分割処理部21が、処理対象メッセージを、ページサイズの2倍毎に区切り、複数のリージョン(ターゲット群)を生成する。これにより、各リージョンには隣り合う2つのページが含まれる。
In step A1, the
ステップA2において、圧縮処理部22は、複数のリージョンの中から1つのリージョン(ターゲット)を選択する。そして、圧縮処理部22は、このターゲットリージョンに格納されているデータ(リージョンデータ)がページサイズ以下である場合には、そのデータ(圧縮データ,圧縮済部分データ)を、SSD14の記憶領域の1つのページ内に格納する。
In step A2, the
ステップA3において、圧縮処理部22は、ターゲット群において、リージョンデータがページサイズ以下まで圧縮が完了していないリージョン(ターゲット)があるかを確認する。
In step A <b> 3, the
ページサイズ以下までの圧縮が完了していないリージョン(ターゲット)がある場合には(ステップA3のYESルート参照)、ステップA4に移行する。以下のステップA4〜A6の処理において、圧縮処理部22は処理対象メッセージに対する圧縮(文法圧縮)処理を行なう。
If there is a region (target) that has not been compressed to the page size or less (see YES route in step A3), the process proceeds to step A4. In the processing of steps A4 to A6 below, the
ステップA4において、圧縮処理部22は、圧縮が完了していないリージョン(ターゲット)のリージョンデータを圧縮対象データとして、この圧縮対象データにおいて最も多く表れる連続する2文字を置換対象文字列として抽出する。圧縮処理部22は、この置換対象文字列に対して、置換後の文字(置換後文字)を設定する。本例においては、置換後文字を“X”とする。
In step A4, the
ステップA5において、圧縮処理部22は、置換対象文字列と置換後文字(例えばX)を対応付けた辞書要素(生成規則)を辞書情報D1に登録する。
In step A5, the
ステップA6において、圧縮処理部22は、圧縮対象メッセージ全体に対して、置換対象文字列を置換後文字“X”を用いて置換することで、圧縮処理を行なう。その後、処理はステップA2に戻る。なお、置換後文字は適宜変更して実施される。
In step A <b> 6, the
また、ステップA3における確認の結果、ページサイズ以下までの圧縮が完了していないリージョンがない場合、すなわち、全てのリージョンのリージョンデータの圧縮済部分データが、いずれもページサイズ以下まで圧縮された場合には(ステップA3のNOルート参照)、ステップA7に移行する。 In addition, as a result of the confirmation in step A3, when there is no region that has not been compressed to the page size or less, that is, when all the compressed partial data of the region data of all regions is compressed to the page size or less. (Refer to the NO route in step A3), the process proceeds to step A7.
ステップA7においては、圧縮処理部22は、辞書情報D1および各圧縮済部分データを圧縮済メッセージ(符号語)として出力する。すなわち、圧縮対象メッセージを圧縮した圧縮済メッセージが出力される。その後、処理を終了する。
In step A7, the
次に、実施形態の一例としての情報処理装置1における伸長処理を、図6に示すフローチャート(ステップB1〜B5)に従って説明する。
Next, decompression processing in the
以下の処理においては、圧縮されたメッセージ(符号語ともいう)と伸長対象の圧縮済部分データを示すブロック番号が入力され、伸長されたメッセージの一部(2ページ分)が出力される。 In the following processing, a compressed message (also referred to as a code word) and a block number indicating the compressed partial data to be decompressed are input, and a part of the decompressed message (for two pages) is output.
ステップB1において、伸長処理部23は、圧縮済メッセージから伸長対象の圧縮済部分データを取り出し、伸長ターゲットとする。
In step B1, the
ステップB2において、伸長処理部23は、辞書情報D1において、伸長ターゲットに対して未処理の辞書要素があるかを確認する。
In step B2, the
未処理の辞書要素がある場合には(ステップB2のYESルート参照)、ステップB3に移行する。 If there is an unprocessed dictionary element (see YES route in step B2), the process proceeds to step B3.
ステップB3において、伸長処理部23は、辞書情報D1から圧縮状態のデータに対応する、データ伸長にまだ用いていない辞書要素を1つ取り出し、辞書要素Xとする。
In step B3, the
ステップB4において、伸長処理部23は、辞書要素Xを用いて伸長ターゲットの圧縮済部分データの伸長を行なう。その後、ステップB2に戻る。
In step B4, the
また、ステップB2における確認の結果、未処理の辞書要素がない場合には(ステップB2のNOルート参照)、ステップB5に移行する。 If there is no unprocessed dictionary element as a result of the confirmation in step B2 (see NO route in step B2), the process proceeds to step B5.
ステップB5において、伸長処理部23は伸長済みのデータ(2ページ分)を出力し、その後、処理を終了する。
In step B5, the
(C)効果
このように、実施形態の一例としての情報処理装置1によれば、分割処理部21が圧縮対象メッセージを1つ以上のページを含む複数のリージョンに区切り、圧縮処理部22が、各リージョンのデータを、それぞれページサイズ以下となるまで圧縮する。
(C) Effect As described above, according to the
これにより、各リージョンデータを圧縮して生成される圧縮済部分データは、それぞれページ内に収まり、ページ毎にアラインメントされた状態となる。 As a result, the compressed partial data generated by compressing each region data fits within the page and is aligned for each page.
従って、特定の圧縮済部分データを伸長する際には、伸長処理部23は、伸長対象の圧縮済部分データが格納されたページと、辞書情報D1に対してのみアクセスすることで、伸長対象の圧縮済部分データを伸長させることができる。
Therefore, when decompressing specific compressed partial data, the
これにより、圧縮済メッセージの一部の圧縮済メッセージを伸長する際に、SSD14の記憶領域においてアクセスするページ範囲を少なくすることができ、SSD14の寿命を延ばすことができる。従って、SSD14を効率的に用いることができる。
As a result, when decompressing a part of the compressed message, the page range accessed in the storage area of the
圧縮対象メッセージを文法圧縮手法を用いて圧縮することによっても、SSD14におけるデータの記憶領域を効率的に用いることができる。
The data storage area in the
分割処理部21が、各リージョンがそれぞれ同数のページを含むよう圧縮対象メッセージを区画することで、圧縮処理部22が生成する圧縮済部分データのサイズをほぼ均等にして均質化することができる。また、これにより、圧縮済部分データをページに容易にアラインメントすることができる。
The
また、圧縮済メッセージの一部の圧縮済メッセージを伸長する際に、SSD14においてアクセスするページ範囲が少ないので、処理速度を向上させることができる。
Further, when decompressing a part of the compressed message, the page range accessed in the
図7は実施形態の一例としての情報処理装置1におけるデータ圧縮方法を従来の文法圧縮手法と比較して示す図である。
FIG. 7 is a diagram showing a data compression method in the
図7において、符号(a)は従来の文法圧縮手法によるデータ圧縮例を木構造で示し、符号(b)は本願の情報処理装置1の圧縮処理部22によるデータ圧縮例を木構想で示す。
In FIG. 7, code (a) shows a data compression example by a conventional grammar compression method in a tree structure, and code (b) shows a data compression example by the
従来の文法圧縮手法により行なったデータ圧縮においては、符号(a)に示すように、最終的に1文字(図7に示す例では“G”)になるまで圧縮置換を繰り返し行なわれる。こにより、辞書要素が多く、辞書情報サイズが大きくなる。 In data compression performed by a conventional grammar compression method, compression and replacement are repeatedly performed until one character ("G" in the example shown in FIG. 7) is finally obtained, as indicated by symbol (a). Thereby, there are many dictionary elements and the dictionary information size becomes large.
これに対して、本情報処理装置1においては、圧縮処理部22は、リージョン毎に、各リージョンデータに対して、ページサイズ以下となるまで圧縮置換を繰り返し行ない、ページサイズ以下となった時点で、圧縮置換を終了する。
On the other hand, in the
例えば、図7中において、符号(b)に示す圧縮済部分データS1(R1)は、文字列“QQ”の状態で圧縮が終了している。 For example, in FIG. 7, the compressed partial data S1 (R1) indicated by reference numeral (b) has been compressed in the state of the character string “QQ”.
これにより、従来の文法圧縮手法に比べて、圧縮置換に伴う辞書要素の数が少なく、辞書情報D1のデータサイズが小さくなる。これにより、圧縮済メッセージを伸長する際に、アクセスするページ範囲をさらに少なくすることができる。 As a result, compared to the conventional grammatical compression method, the number of dictionary elements accompanying compression replacement is small, and the data size of the dictionary information D1 is small. Thereby, when decompressing the compressed message, the page range to be accessed can be further reduced.
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
(D) Others The disclosed technology is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present embodiment. Each structure and each process of this embodiment can be selected as needed, or may be combined suitably.
例えば、上述した実施形態においては、分割処理部21が、予め規定されたサイズ(ページ数)のリージョンで圧縮対象メッセージを区切り、圧縮処理部22が、各リージョンのリージョンデータをページサイズ以下になるまで圧縮を行なっているが、これに限定されるものではない。
For example, in the above-described embodiment, the
図8は実施形態の一例としての情報処理装置1の機能構成の変形例を示す図である。
FIG. 8 is a diagram illustrating a modification of the functional configuration of the
この図8に示すように、本変形例においては、CPU11は、上述した分割処理部21,圧縮処理部22,伸長処理部23および格納処理部25としての機能に加えて、確認部24としての機能を実現する。
As shown in FIG. 8, in this modification, the
なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。 In the figure, the same reference numerals as those already described indicate the same parts, and detailed description thereof is omitted.
確認部24は、圧縮処理部22が圧縮対象メッセージおよび圧縮済メッセージに対して行なう各データ圧縮処理について、それぞれ圧縮率を算出し、算出した圧縮率をRAM12等の所定の記憶領域に格納する。
The
そして、確認部24は、算出した圧縮率を予め規定された閾値と比較することで、圧縮処理部22によって行われた圧縮処理について、圧縮効果があったか否かの判定を行なう。
Then, the
例えば、確認部24は、算出した圧縮率が閾値以上である場合に、評価要件が満たされており圧縮効果があると判断する。一方、確認部24は、算出した圧縮率が閾値未満である場合に、評価要件が満たされておらず圧縮効果がないと判断する。すなわち、確認部24は、圧縮処理部22により行なわれる圧縮処理の評価を行なう。
For example, when the calculated compression rate is equal to or greater than the threshold value, the
図9は本変形例における圧縮対象メッセージに対する圧縮処理および圧縮効果を説明するための図である。 FIG. 9 is a diagram for explaining a compression process and a compression effect for a compression target message in the present modification.
図9中において、符号(a)は分割処理部21により複数のリージョンに分割されたメッセージを示しており、この図9に示す例においては、分割処理部21は、メッセージを連続する2ページ毎に分割している。以下、リージョンに符号R1〜R4を付して表す。また、図9中においては、符号(b)〜(d)に示すように、圧縮済部分データに符号S01〜S07を付して示し、辞書情報に符号D1を付して示す。
In FIG. 9, the code (a) indicates a message divided into a plurality of regions by the
図9に示す例において、リージョンR1にはリージョンデータとしてページP1,P2のデータが含まれている。同様に、リージョンR2にはページP3,P4のデータが、リージョンR3にはページP5,P6のデータが、リージョンR4にはページP7,P8のデータが、それぞれリージョンデータとして含まれている。 In the example shown in FIG. 9, the data of pages P1 and P2 is included as region data in region R1. Similarly, region R2 includes data of pages P3 and P4, region R3 includes data of pages P5 and P6, and region R4 includes data of pages P7 and P8 as region data.
図9中において、符号(b)は、圧縮処理部22が、符号(a)に示す区画済みメッセージを圧縮して生成した圧縮済メッセージE1−1を示す。
In FIG. 9, a code (b) indicates a compressed message E1-1 generated by the
圧縮処理部22は、圧縮対象メッセージのリージョンR1〜R4の各リージョンデータをページサイズ以下となるまで圧縮することで、圧縮済メッセージE1−1の圧縮済部分データS01〜S04をそれぞれ生成する。圧縮処理の対象である各リージョンのデータ(リージョンデータ)が圧縮処理部22による圧縮ターゲットとなる。
The
本変形例において、圧縮処理部22は、圧縮済メッセージに対して更なる圧縮を行なう、追加圧縮機能を有する。すなわち、圧縮処理部22は、圧縮済メッセージにおいて隣接する複数の圧縮済部分データをまとめて、ページサイズ以下となるまで圧縮(追加圧縮)を行なう。
In this modification, the
図9中において、符号(c)は、圧縮処理部22が、符号(b)に示す圧縮済メッセージE1−1を更に圧縮して生成した圧縮済メッセージE1−2を示す。
In FIG. 9, the code (c) indicates a compressed message E1-2 generated by the
この符号(c)に示す圧縮済メッセージE1−2においては、圧縮処理部22が、符号(b)の圧縮済メッセージE1−1において連続する2つの圧縮済部分データS01,S02をまとめて圧縮ターゲットとする。そして、圧縮処理部22は、この生成した圧縮ターゲットをページサイズ以下となるまで圧縮することで、圧縮済部分データS05を生成している。
In the compressed message E1-2 indicated by the code (c), the
同様に、圧縮処理部22は、符号(b)の圧縮済メッセージE1−1において連続する2つの圧縮済部分データS03,S04をまとめて圧縮ターゲットとする。そして、圧縮処理部22は、この生成した圧縮ターゲットをページサイズ以下となるまで圧縮することで、圧縮済部分データS06を生成している。
Similarly, the
圧縮処理部22は、確認部24が圧縮効果があると判断した場合に、その圧縮後の圧縮済メッセージに対して追加圧縮を行なう。また、圧縮処理部22は、確認部24が圧縮効果がないと判断した場合には、その圧縮後の圧縮済メッセージに対して追加圧縮を行なわない。すなわち、追加圧縮の実施を阻止する。
When the
図9中において、符号(d)は、圧縮処理部22が、符号(c)に示す圧縮済メッセージE1−2を更に圧縮して生成した圧縮済メッセージE1−3を示す。
In FIG. 9, a code (d) indicates a compressed message E1-3 generated by the
圧縮処理部22は、符号(c)の圧縮済メッセージE1−2において連続する2つの圧縮済部分データS05,S06をまとめることで、新たな圧縮ターゲットを生成し、この生成した圧縮ターゲットをページサイズ以下となるまで圧縮する。これにより、圧縮処理部22は、符号(d)に示す圧縮済メッセージE1−3の圧縮済部分データにおける圧縮済部分データS07を生成している。
The
図9に示す例においては、圧縮済メッセージE1−2を圧縮して圧縮済メッセージE1−3を生成する際に、辞書情報D1の容量が増大している。これにより、圧縮済メッセージE1−3については、その圧縮率は予め規定された閾値未満であり、後述する確認部24により圧縮効果がないと判断される。
In the example shown in FIG. 9, when the compressed message E1-2 is compressed to generate the compressed message E1-3, the capacity of the dictionary information D1 is increased. As a result, the compression rate of the compressed message E1-3 is less than a predetermined threshold value, and it is determined by the
圧縮処理部22は、確認部24が圧縮効果がないと判断した場合には追加圧縮を行なわない。
The
圧縮処理部22は、確認部24が圧縮効果があると判断した場合には、先に圧縮を行なった圧縮済メッセージに対する更なる圧縮を行なう。すなわち、先に圧縮を行なった圧縮済メッセージにおいて、連続する2つの圧縮済部分データをまとめて圧縮対象データとする。
When the
そして、圧縮処理部22は、この圧縮対象データにおいて最も多く表れる連続する2文字を置換対象文字列として抽出し、この置換対象文字列に対して置換後文字を設定する。そして、圧縮処理部22は、圧縮対象メッセージ全体に対して、置換対象文字列を置換後文字を用いて置換することで、圧縮処理を行なう。
Then, the
一方、確認部24が圧縮効果がないと判断した場合には、圧縮処理部22は、先に圧縮を行なった圧縮済メッセージに対する更なる圧縮を行なわない。
On the other hand, when the
上述の如く構成された実施形態の変形例としての情報処理装置1におけるメッセージの圧縮処理を、図10に示すフローチャート(ステップC1〜C10)に従って説明する。
A message compression process in the
ステップC1において、分割処理部21が、処理対象メッセージを、ページサイズの2倍毎に区切り、複数のリージョン(ターゲット群)を生成する。
In step C1, the
また、圧縮処理部22は中身が空の辞書情報D1を用意する。圧縮対象メッセージを符号語として記録する。
The
ステップC2において、圧縮処理部22は、複数のリージョンの中から1つのリージョン(ターゲット)を選択する。そして、圧縮処理部22は、このターゲットリージョンに格納されているデータ(リージョンデータ)がページサイズ以下である場合には、そのデータ(圧縮データ,圧縮済部分データ)を、SSD14の記憶領域の1つのページ内に格納する。
In step C2, the
ステップC3において、圧縮処理部22は、ターゲット群において、リージョンデータがページサイズ以下まで圧縮が完了していないリージョン(ターゲット)があるかを確認する。
In step C <b> 3, the
ページサイズ以下までの圧縮が完了していないリージョン(ターゲット)がある場合には(ステップC3のYESルート参照)、ステップC4に移行する。以下のステップC4〜C6の処理において、圧縮処理部22は処理対象メッセージに対する圧縮(文法圧縮)処理を行なう。
If there is a region (target) that has not been compressed to the page size or less (see YES route in step C3), the process proceeds to step C4. In the processing of steps C4 to C6 below, the
ステップC4において、圧縮処理部22は、圧縮が完了していないリージョン(ターゲット)のリージョンデータを圧縮対象データとして、この圧縮対象データにおいて最も多く表れる連続する2文字を置換対象文字列として抽出する。圧縮処理部22は、この置換対象文字列に対して、置換後の文字(置換後文字)を設定する。本例においては、置換後文字を“X”とする。
In step C4, the
ステップC5において、圧縮処理部22は、置換対象文字列と置換後文字(例えばX)を対応付けた辞書要素(生成規則)を辞書情報D1に登録する。
In step C5, the
ステップC6において、圧縮処理部22は、圧縮対象メッセージ全体に対して、置換対象文字列を置換後文字“X”を用いて置換することで、圧縮処理を行なう。その後、処理はステップC2に戻る。なお、置換後文字は適宜変更して実施される。
In step C <b> 6, the
また、ステップC3における確認の結果、ページサイズ以下までの圧縮が完了していないリージョンがない場合、すなわち、全てのリージョンのリージョンデータの圧縮済部分データが、いずれもページサイズ以下まで圧縮された場合には(ステップC3のNOルート参照)、ステップC7に移行する。 In addition, as a result of the confirmation in step C3, when there is no region that has not been compressed to the page size or less, that is, all the compressed partial data of the region data of all regions is compressed to the page size or less. (Refer to the NO route in step C3), the process proceeds to step C7.
ステップC7において、確認部24が、圧縮処理部22が行なったデータ圧縮処理により生成された圧縮済メッセージついて圧縮率を算出し、算出した圧縮率を予め規定された閾値と比較して、圧縮効果があったか否かの判定を行なう。
In step C7, the
例えば、確認部24は、算出した圧縮率が閾値以上である場合に、圧縮効果があると判断する。また、確認部24は、算出した圧縮率が閾値未満である場合に、圧縮効果がないと判断する。すなわち、確認部24は、圧縮処理部22により行なわれる圧縮処理の評価を行なう。
For example, the
確認部24による評価の結果、圧縮効果があると判断された場合には(ステップC7のYESルート参照)、ステップC8に移行する。
As a result of the evaluation by the
ステップC8において、圧縮処理部22は、圧縮に使用した辞書要素を登録した辞書情報D1と、生成した圧縮済メッセージとを符号語として、RAM12等の所定の記憶領域に記録する。
In step C8, the
ステップC9において、圧縮処理部22は、圧縮済メッセージにおいて連続する2つの圧縮済部分データどうしをまとめることで、1つ以上の圧縮ターゲットを生成する。その後、ステップC2に戻る。
In step C9, the
また、ステップC7における、確認部24による評価の結果、圧縮効果がないと判断された場合には(ステップC7のNOルート参照)、ステップC10に移行する。
Moreover, when it is determined that there is no compression effect as a result of the evaluation by the
ステップC10においては、圧縮処理部22は、辞書情報D1および各圧縮済部分データを圧縮済メッセージ(符号語)として出力する。すなわち、圧縮対象メッセージを圧縮した圧縮済メッセージが出力される。その後、処理を終了する。
In step C10, the
このように、実施形態の変形例としての情報処理装置1によれば、上述した実施形態と同様の作用効果を得られる他、リージョンのサイズ、すなわち、リージョンに含めるページのサイズを予め規定する必要がなく利便性が高い。
As described above, according to the
すなわち、予めリージョンのサイズを規定することなく、ページ毎にアラインメントされた状態の圧縮済部分データを生成することができる。 That is, it is possible to generate compressed partial data that is aligned for each page without prescribing the region size.
(E)付記
以上の実施形態に関し、更に以下の付記を開示する。
(E) Supplementary Notes The following supplementary notes are further disclosed regarding the above embodiment.
(付記1)
圧縮対象文字列データを、複数の部分領域に区画する分割処理部と、
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する圧縮処理部と、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる格納処理部と
を備えることを特徴とする、情報処理装置。
(Appendix 1)
A division processing unit that divides compression target character string data into a plurality of partial areas;
A compression processing unit that generates compressed partial data by compressing the area data included in each of the plurality of partial areas to an access unit size or less;
An information processing apparatus comprising: a storage processing unit that stores the generated compressed partial data in an access unit area in a semiconductor storage device.
(付記2)
前記部分領域が、隣り合う複数の前記アクセス単位領域を含む
ことを特徴とする、付記1記載の情報処理装置。
(Appendix 2)
The information processing apparatus according to
(付記3)
前記圧縮処理部が、文法圧縮処理を行なうことで前記圧縮済部分データを生成する
ことを特徴とする、付記1または2記載の情報処理装置。
(Appendix 3)
The information processing apparatus according to
(付記4)
辞書情報を用いて伸長対象の圧縮済部分データを伸長して、前記圧縮対象文字列データの一部を復元する伸長処理部
を備えることを特徴とする、付記1〜3のいずれか1項に記載の情報処理装置。
(Appendix 4)
Any one of
(付記5)
前記圧縮処理部が、生成した前記圧縮済部分データを備える圧縮済文字列データの圧縮率が評価要件を満たしている場合に、連続する複数の圧縮済部分データをアクセス単位サイズ(ページ単位)以下まで圧縮する
ことを特徴とする、付記1〜4のいずれか1項に記載の情報処理装置。
(Appendix 5)
When the compression rate of the compressed character string data including the compressed partial data generated by the compression processing unit satisfies the evaluation requirement, a plurality of continuous compressed partial data is equal to or smaller than an access unit size (page unit). The information processing apparatus according to any one of
(付記6)
圧縮対象文字列データを、複数の部分領域に区画し、
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成し、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる
処理をコンピュータに実行させる情報処理プログラム。
(Appendix 6)
The compression target character string data is divided into a plurality of partial areas,
The area data included in each of the plurality of partial areas is compressed to an access unit size or less to generate compressed partial data,
An information processing program for causing a computer to execute processing for storing the generated compressed partial data in an access unit area in a semiconductor memory device.
(付記7)
前記部分領域が、隣り合う複数の前記アクセス単位領域を含む
ことを特徴とする、付記6記載の情報処理プログラム。
(Appendix 7)
The information processing program according to
(付記8)
文法圧縮処理を行なうことで前記圧縮済部分データを生成する
ことを特徴とする、付記6または7記載の情報処理プログラム。
(Appendix 8)
The information processing program according to
(付記9)
辞書情報を用いて伸長対象の圧縮済部分データを伸長して、前記圧縮対象文字列データの一部を復元する
処理を前記コンピュータに実行させる、付記6〜8のいずれか1項に記載の情報処理プログラム。
(Appendix 9)
The information according to any one of
(付記10)
生成した前記圧縮済部分データを備える圧縮済文字列データの圧縮率が評価要件を満たしている場合に、連続する複数の圧縮済部分データをアクセス単位サイズ以下まで圧縮する
処理を前記コンピュータに実行させる、付記6〜9のいずれか1項に記載の情報処理プログラム。
(Appendix 10)
When the compression rate of the compressed character string data including the generated compressed partial data satisfies the evaluation requirement, the computer is caused to execute a process of compressing a plurality of continuous compressed partial data to an access unit size or less. The information processing program according to any one of
(付記11)
圧縮対象文字列データを、複数の部分領域に区画する処理と、
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する処理と、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる処理と
を備えることを特徴とする、情報処理方法。
(Appendix 11)
A process of dividing the compression target character string data into a plurality of partial areas;
Processing for generating compressed partial data by compressing the area data included in each of the plurality of partial areas to an access unit size or less;
And a process of storing the generated compressed partial data in an access unit area in a semiconductor memory device.
(付記12)
前記部分領域が、隣り合う複数の前記アクセス単位領域を含む
ことを特徴とする、付記11記載の情報処理方法。
(Appendix 12)
12. The information processing method according to
(付記13)
文法圧縮処理を行なうことで前記圧縮済部分データを生成する
ことを特徴とする、付記11または12記載の情報処理方法。
(Appendix 13)
13. The information processing method according to
(付記14)
辞書情報を用いて伸長対象の圧縮済部分データを伸長して、前記圧縮対象文字列データの一部を復元する
処理を備えることを特徴とする、付記11〜13のいずれか1項に記載の情報処理方法。
(Appendix 14)
14. The method according to any one of
(付記15)
生成した前記圧縮済部分データを備える圧縮済文字列データの圧縮率が評価要件を満たしている場合に、連続する複数の圧縮済部分データをアクセス単位サイズ以下まで圧縮する
処理を備えることを特徴とする、付記11〜14のいずれか1項に記載の情報処理方法。
(Appendix 15)
When the compression rate of the compressed character string data including the generated compressed partial data satisfies the evaluation requirement, the processing includes compressing a plurality of continuous compressed partial data to an access unit size or less. The information processing method according to any one of
1 情報処理装置
11 CPU
12 RAM
13 ROM
14 SSD
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
19 バス
20 グラフィック処理装置
20a モニタ
21 分割処理部
22 圧縮処理部
23 伸長処理部
24 確認部
25 格納処理部
1
12 RAM
13 ROM
14 SSD
DESCRIPTION OF
Claims (7)
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する圧縮処理部と、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる格納処理部と
を備えることを特徴とする、情報処理装置。 A division processing unit that divides compression target character string data into a plurality of partial areas;
A compression processing unit that generates compressed partial data by compressing the area data included in each of the plurality of partial areas to an access unit size or less;
An information processing apparatus comprising: a storage processing unit that stores the generated compressed partial data in an access unit area in a semiconductor storage device.
ことを特徴とする、請求項1記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the partial area includes a plurality of adjacent access unit areas.
ことを特徴とする、請求項1または2記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the compression processing unit generates the compressed partial data by performing a grammar compression process.
を備えることを特徴とする、請求項1〜3のいずれか1項に記載の情報処理装置。 The decompression processing unit that decompresses the compressed partial data to be decompressed using the dictionary information and restores a part of the character string data to be compressed is provided. The information processing apparatus described in 1.
ことを特徴とする、請求項1〜4のいずれか1項に記載の情報処理装置。 The compression processing unit compresses a plurality of continuous compressed partial data to an access unit size or less when the compression rate of the compressed character string data including the generated compressed partial data satisfies the evaluation requirement. The information processing apparatus according to claim 1, wherein:
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成し、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる
処理をコンピュータに実行させる情報処理プログラム。 The compression target character string data is divided into a plurality of partial areas,
The area data included in each of the plurality of partial areas is compressed to an access unit size or less to generate compressed partial data,
An information processing program for causing a computer to execute processing for storing the generated compressed partial data in an access unit area in a semiconductor memory device.
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する処理と、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる処理と
を備えることを特徴とする、情報処理方法。 A process of dividing the compression target character string data into a plurality of partial areas;
Processing for generating compressed partial data by compressing the area data included in each of the plurality of partial areas to an access unit size or less;
And a process of storing the generated compressed partial data in an access unit area in a semiconductor memory device.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017040160A JP6756280B2 (en) | 2017-03-03 | 2017-03-03 | Information processing equipment, information processing programs and information processing methods |
PCT/JP2018/002193 WO2018159167A1 (en) | 2017-03-03 | 2018-01-25 | Information processing device, information processing program, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017040160A JP6756280B2 (en) | 2017-03-03 | 2017-03-03 | Information processing equipment, information processing programs and information processing methods |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018147143A true JP2018147143A (en) | 2018-09-20 |
JP6756280B2 JP6756280B2 (en) | 2020-09-16 |
Family
ID=63371245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017040160A Active JP6756280B2 (en) | 2017-03-03 | 2017-03-03 | Information processing equipment, information processing programs and information processing methods |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6756280B2 (en) |
WO (1) | WO2018159167A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382088A (en) * | 2018-12-25 | 2020-07-07 | 瑞萨电子株式会社 | Semiconductor device and method for controlling data access |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06202844A (en) * | 1993-01-05 | 1994-07-22 | Fujitsu Ltd | Data compression/restoration processing device |
JP2007535068A (en) * | 2004-04-26 | 2007-11-29 | ストアウィズ インク | Method and system for file compression and operation of compressed files for storage |
JP2010079535A (en) * | 2008-09-25 | 2010-04-08 | Mitsubishi Electric Corp | Data access device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6243884B2 (en) * | 2015-10-02 | 2017-12-06 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing apparatus, processor, and information processing method |
-
2017
- 2017-03-03 JP JP2017040160A patent/JP6756280B2/en active Active
-
2018
- 2018-01-25 WO PCT/JP2018/002193 patent/WO2018159167A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06202844A (en) * | 1993-01-05 | 1994-07-22 | Fujitsu Ltd | Data compression/restoration processing device |
JP2007535068A (en) * | 2004-04-26 | 2007-11-29 | ストアウィズ インク | Method and system for file compression and operation of compressed files for storage |
JP2010079535A (en) * | 2008-09-25 | 2010-04-08 | Mitsubishi Electric Corp | Data access device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382088A (en) * | 2018-12-25 | 2020-07-07 | 瑞萨电子株式会社 | Semiconductor device and method for controlling data access |
CN111382088B (en) * | 2018-12-25 | 2023-11-21 | 瑞萨电子株式会社 | Semiconductor device and method for controlling data access |
Also Published As
Publication number | Publication date |
---|---|
WO2018159167A1 (en) | 2018-09-07 |
JP6756280B2 (en) | 2020-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107305586B (en) | Index generation method, index generation device and search method | |
US9793920B1 (en) | Computer-readable recording medium, encoding device, and encoding method | |
CN112115068B (en) | Multi-namespace data access method and computer readable storage medium | |
WO2013140530A1 (en) | Program, compressed data generation method, decompression method, information processing device, and recording medium | |
US9882582B2 (en) | Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device | |
KR102198615B1 (en) | Non-volatile memory device using dual program operation, memory system including the same and operating method thereof | |
JP6662169B2 (en) | Encoding program, encoding method, encoding device, search program, search method, and search device | |
JP6801460B2 (en) | Information processing equipment, programs, and information processing methods | |
US8762773B2 (en) | Processing apparatus, data migration method, and computer-readable recording medium having data migration program recorded thereon | |
JP2014186412A (en) | Controller, storage device, and control program | |
US20180102789A1 (en) | Computer-readable recording medium, encoding apparatus, and encoding method | |
US11055328B2 (en) | Non-transitory computer readable medium, encode device, and encode method | |
WO2018159167A1 (en) | Information processing device, information processing program, and information processing method | |
US10103747B1 (en) | Lossless binary compression in a memory constrained environment | |
JP7159557B2 (en) | DYNAMIC DICTIONARY GENERATOR, DYNAMIC DICTIONARY GENERATION METHOD AND DECODER | |
JP2018067264A (en) | Data search program, data search device, and data search method | |
JP7003427B2 (en) | Search program, information processing device and search method | |
US20220199202A1 (en) | Method and apparatus for compressing fastq data through character frequency-based sequence reordering | |
JP6512294B2 (en) | Compression program, compression method and compression apparatus | |
US20170060934A1 (en) | Modifying a compressed block of data | |
JP5219543B2 (en) | Information processing apparatus, information processing method, and program | |
TWI631556B (en) | Device and method for data compression | |
JP7497734B2 (en) | Graph search device, graph search method, and program | |
JP7077762B2 (en) | Register design support equipment, programs, and recording media | |
CN117908758A (en) | Hard disk data clearing method, device and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190607 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200630 |
|
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: 20200728 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200810 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6756280 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |