説明

データ圧縮装置、及び方法

【課題】複種類のアルゴリズムの異なる圧縮により最適な圧縮データを得られるようにようにする。
【解決手段】サイズ比較部19は、圧縮処理部14A〜14Dがブロック12aの圧縮により生成した圧縮データの最小サイズ、その最小サイズの圧縮データを生成した圧縮処理部14を表すアルゴリズム名等をアクセス制御部20に通知する。アクセス制御部20は、その通知により、テープ媒体30に書き込むべき圧縮データを選択し、その圧縮データを生成した圧縮処理部14を表すアルゴリズム名を統計情報処理部21に通知する。統計情報処理部21は、通知されたアルゴリズム名から、圧縮データの選択結果に存在する規則性を抽出し、抽出した規則性に沿って、停止すべき圧縮処理部14を特定し停止させる。それにより、最適な圧縮データの生成は確保でき、圧縮処理部14の停止により消費電力もより抑えられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ圧縮装置に関する。
【背景技術】
【0002】
現在、データ圧縮技術は、データの送受信にかかる時間を短縮する、或いは格納に必要な記憶領域を小さくする、といった用途に広く採用されている。このため、データ圧縮を行うデータ圧縮装置は、データの送信が可能な通信システム、及びデータを記憶媒体上に記憶するデータ記憶装置等に幅広く適用されている。
【0003】
データ圧縮を行うアルゴリズムは数多く存在し、圧縮率は、データの内容、及びアルゴリズムによって変化する。そのため、同じ内容のデータを圧縮した際の圧縮率は、アルゴリズムによって異なるのが普通である。ここでは、圧縮率(%)は、以下のように求められる数値を想定する。
圧縮率 = (圧縮前のデータ量/圧縮後のデータ量)×100 ・・・ (1)
【0004】
このようにして求められる圧縮率は、効率的に圧縮が行える程、つまり圧縮効率が高い程、より大きい値となる。圧縮効率(圧縮率)は、データの内容、及びアルゴリズムによって変化することから、従来のデータ圧縮装置のなかには、アルゴリズムの異なる複種類のデータ圧縮機能を搭載したものがある。
【0005】
アルゴリズムの異なる複数のデータ圧縮機能を搭載した従来のデータ圧縮装置は、各データ圧縮機能によりそれぞれ並行してデータ圧縮を行い、そのデータ圧縮により得られた圧縮データのなかから最適な圧縮データを選択する。その選択は、圧縮率、及び処理速度(圧縮に要した処理時間)を参照して行われる。それにより、従来のデータ圧縮装置は、圧縮率、及び処理速度から最適な圧縮データを選択する。そのように最適な圧縮データを選択する従来のデータ圧縮装置は、高い圧縮率を維持しつつ、より速い処理速度を実現させることができる。
【0006】
各データ圧縮機能は、並行してデータ圧縮を行えるように、それぞれ1個の装置(モジュール)として動作可能となっている。そのため、データ圧縮機能を多く搭載するほど、データ圧縮装置の消費電力も大きくなる。このことから、複種類のデータ圧縮機能を搭載したデータ圧縮装置では、高い圧縮率の維持、及び処理速度の高速化の他に、消費電力の抑制も考慮すべきと云える。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平7−210324号公報
【特許文献2】特開2004−13243号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明を適用した1システムは、複種類のアルゴリズムの異なる圧縮により最適な圧縮データを得られるようにすることを目的とする。
【課題を解決するための手段】
【0009】
本発明を適用した1システムでは、圧縮対象のデータを複数の分割ブロックに分割し、分割ブロック毎に圧縮する。そのために、各々異なるアルゴリズムにより分割ブロックを圧縮し、該圧縮により圧縮ブロックを生成する複数の圧縮処理部と、生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択する選択部と、選択部による選択パターンに規則性が存在する場合に、該規則性に基づいて、複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる制御部と、を有する。
【発明の効果】
【0010】
本発明を適用した場合には、複種類のアルゴリズムの異なる圧縮により最適な圧縮データを得ることができる。
【図面の簡単な説明】
【0011】
【図1】本実施形態によるデータ記憶装置の構成を説明する図である。
【図2】統計情報処理部の構成を説明する図である。
【図3】状態判定処理のフローチャートである。
【図4】圧縮装置停止処理のフローチャートである。
【図5】統計処理部により実行される各圧縮処理部の停止制御を説明する図である(その1)。
【図6】統計処理部により実行される各圧縮処理部の停止制御を説明する図である(その2)。
【図7】本実施形態を適用可能なデータ記憶装置のハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態によるデータ記憶装置の構成を説明する図である。このデータ記憶装置1は、サーバ(コンピュータ)2等の外部装置から記憶対象のデータを取得して圧縮を行い、その圧縮により得られたデータを記録媒体であるテープ(以降「テープ媒体」)30上に記憶できるものとして実現されている。そのデータ圧縮を行うために、データ記憶装置1には、本実施形態によるデータ圧縮装置が搭載されている。このことから、本実施形態によるデータ記憶装置1は、本実施形態によるデータ圧縮装置を搭載することで実現されている。
【0013】
データ記憶装置1は、図1に表すように、データ送受信処理部11、データ分割処理部13、4つの圧縮処理部14(14A〜14D)、バッファ部16、アクセス部18、サイズ比較部19、アクセス制御部20、統計情報処理部21、及びテープ媒体30を備えている。それらは、以下のようなものである。図1中の実線の矢印は、データの流れを表し、破線の矢印は、指示、或いは通知の流れを表している。
【0014】
データ記憶装置1は、サーバ2と例えばケーブル、或いはネットワーク(共に図示せず)を介して接続される。データ送受信処理部11は、ケーブル、或いはネットワークを介してサーバ2との間でデータの送受信を行う。データ送受信処理部11によりサーバ2から受信する受信データ12は、記憶対象データと想定する。また、サーバ2とはネットワークを介して接続されていると想定する。
【0015】
サーバ2から送信される記憶対象データは膨大であるのが普通である。このことから、データ分割処理部13は、データ送受信処理部11が受信した受信データ12を、例えば予め定めたサイズ(データ量)のデータであるブロック12aに分割する。
【0016】
図1に表記の「ブロック1」は、受信データ12の先頭に位置するブロック12aを表している。「ブロック1」の「1」は、ブロック12aの識別データであるブロック番号を表している。それにより、例えば「ブロック2」は、ブロック番号が2、つまり受信データ12の先頭から2番目に位置するブロック12aを表している。
【0017】
4つの圧縮処理部14は、それぞれ、互いに異なるアルゴリズムでデータ圧縮を行う。停止/動作を制御できるように、各圧縮処理部14(14A〜14D)は、電源制御部15(15A〜15D)を備えている。この電源制御部15は、搭載された圧縮処理部14への電源の供給/停止(遮断)を外部からの指示に従って行う装置である。この電源制御部15により、各圧縮処理部14のなかで実際に動作させる圧縮処理部14を選択することができる。各圧縮処理部14A〜Dに採用されているアルゴリズムは、圧縮処理部14とアルゴリズムの対応関係の把握を容易とするために、以降、アルゴリズムA〜Dと表記する。
【0018】
アルゴリズムA〜Dは、データ記録装置1の用途に応じて決定すれば良いものであり、特に限定されるものではない。ロスレス型の圧縮アルゴリズムとしては、例えばALDC (Adaptive Lossless Data Compression)、DCLZ(Data Compression according to Lempel and Ziv)、LZMA(Lempel Ziv Markov chain Algorithm)、Deflate等を挙げることができる。
【0019】
各圧縮処理部14は、それぞれブロック12a単位でデータ圧縮を行う。そのデータ圧縮を行った結果として、ブロック12aの圧縮データ(圧縮ブロック)を生成する。バッファ部16は、各圧縮処理部14が生成した圧縮データの格納に用いられる。
【0020】
バッファ部16には、各圧縮処理部14に対し、圧縮データ格納用に2つの格納エリア17が確保されている。図1中に「圧縮データA(1)」「圧縮データA(2)」が表記された2つの矩形枠17(17A1、17A2)は、圧縮処理部14A用に確保された格納エリアである。同様に、「圧縮データB(1)」「圧縮データB(2)」が表記された2つの矩形枠17(17B1、17B2)は、圧縮処理部14B用に確保された格納エリアである。このように各圧縮処理部14に2つの格納エリア17を確保したのは、一方を圧縮データの書き込み用、他方を圧縮データの読み出し用に使用できるようにするためである。圧縮処理部14毎に2つの格納エリア17を確保することにより、同じ格納エリア17に異なるアクセスが並行して行われるのを回避することができる。各格納エリア17には、識別データとして例えばバッファ番号が割り当てられている。
【0021】
各圧縮処理部14は、格納エリア17に、例えば圧縮データと共に、その圧縮データのデータ量(サイズ)を格納する。サイズ比較部19は、各圧縮処理部14が圧縮データを書き込んだ格納エリア17にアクセスして、その格納エリア17に書き込まれた圧縮データのサイズ(データ量)を読み出し、読み出したサイズを比較する。それにより、サイズ比較部19は、サイズが最も小さい圧縮データが格納された格納エリア17を特定する。アクセス制御部20には、例えば最小サイズ、最小サイズの圧縮データが格納された格納エリア17のバッファ番号、及び最小サイズの圧縮データを生成した圧縮処理部14を表す識別データを出力する。ここでは、圧縮処理部14を表す識別データとして、その圧縮処理部14に採用されているアルゴリズム名を表すデータ(以降、単に「アルゴリズム名」と表記」を想定する。
【0022】
アクセス部18は、テープ媒体30に対するアクセスを行う。アクセス制御部20は、アクセス部18によるテープ媒体30へのアクセスを制御する。受信データ12の圧縮データをテープ媒体30に格納させる場合、アクセス制御部20は、テープ媒体30に圧縮データを書き込むべき格納エリア17を決定して、アルゴリズム名、及びバッファ番号をアクセス部18に通知し、圧縮データの書き込みの開始を指示する。アクセス部18は、その開始指示により、バッファ番号で指定された格納エリア17に格納された圧縮データをバッファ部16から読み出し、テープ媒体30に書き込む。アルゴリズム名は、圧縮データを解凍できるように、判定フラグとして、その圧縮データに付す。それにより、テープ媒体30には、1つのブロック12a毎に、そのブロック12aから得られた圧縮データ、及び判定フラグが書き込まれる。図1中、テープ媒体30に書き込まれる圧縮データは、圧縮したブロック12aとの対応関係を表す意味もあり、「ブロック1」「ブロック2」等と表記している。圧縮データの選択方法は後述する。
【0023】
一方、受信データ12の圧縮データをテープ媒体30に格納させない場合、アクセス制御部20は、格納エリア17X1或いは17X2のバッファ番号、及びアルゴリズム名をアクセス部18に通知し、ブロック12aをテープ媒体30に格納させる。このときのアルゴリズム名は、非圧縮を表すものである。それにより、テープ媒体30には、ブロック12aをそのまま書き込む場合も、そのブロック12aに判定フラグが付される。
【0024】
アクセス制御部20は、受信データ12の圧縮データをテープ媒体30に格納させる場合、テープ媒体30に書き込むべき圧縮データの選択を、サイズ比較部19から入力した情報に従って行う。それにより、アクセス制御部20は、最小サイズの圧縮データをテープ媒体30に格納させる。
【0025】
統計情報処理部21は、アクセス制御部20から圧縮データの選択結果を例えばその圧縮データを生成した圧縮処理部14に採用されたアルゴリズム名の形で受け取り、統計的に処理し、アクセス制御部20による圧縮データの選択結果に存在する傾向(規則性)の抽出を行う。その傾向の抽出は、1つの圧縮処理部14、及び複数の圧縮処理部14のそれぞれに予めパターンを定めることにより行っている。それにより、統計情報処理部21は、アクセス制御部20による圧縮データの採用(選択)結果から、採用された圧縮データを生成した圧縮処理部14(アルゴリズム名)の繋がりに一致するパターンを抽出する。
【0026】
パターンの抽出結果は、各圧縮処理部14の停止制御に反映される。それにより、本実施形態では、パターンの抽出は、各圧縮処理部14のなかで圧縮データが選択される可能性が低いと考えられる圧縮処理部14が存在する状況であると見なす。このことから、統計情報処理部21は、抽出されたパターンに応じて、圧縮データが選択される可能性が低いと考えられる圧縮処理部14は停止させる。
【0027】
圧縮データが選択されない圧縮処理部14は、圧縮データの生成に事実上、係わらない。そのため、本実施形態では、圧縮データが選択されない可能性が高いと考えられる圧縮処理部14を停止させ、最適な圧縮データを生成できる確率を高く維持する。その確率を高く維持させても、圧縮処理部14全体では、停止させる圧縮処理部14の存在により、消費電力は低減する。このようなことから、圧縮データが選択される可能性が低いと考えられる圧縮処理部14を停止させた場合、テープ媒体30に書き込む圧縮データとして最適な圧縮データを得られるように維持しつつ、消費電力をより抑えることができる。
【0028】
統計情報処理部21により停止されている圧縮処理部14が存在する状況でも、サイズ比較部19は、動作している圧縮処理部14を対象にした比較を行い、最小サイズ、バッファ番号、及びアルゴリズム名をアクセス制御部20に通知する。そのため、アクセス制御部20による圧縮データの選択に、停止している圧縮処理部14が存在するか否かは事実上、関係しない。
【0029】
アクセス制御部20は、圧縮処理を実行させる圧縮処理部14にその圧縮処理の実行を指示し、圧縮処理を実行した圧縮処理部14から、その圧縮処理が完了した旨の通知(完了通知)を受信する。それにより、アクセス制御部20は、圧縮処理の実行を指示した圧縮処理部14毎に、その指示を行ってから完了通知を受信するまでの時間を圧縮処理に要した圧縮時間として計時する。計時した圧縮時間は、圧縮率と共に、統計情報処理部21に通知する。
【0030】
圧縮率(%)は(1)式から計算される。圧縮前のデータ量はブロック12aのサイズであり、そのサイズは一定である。圧縮後のブロック12aのデータ量(サイズ)は、サイズ比較部19から通知される。このため、アクセス制御部20は、サイズ比較部19から通知された最小サイズを用いて、圧縮率を計算する。
【0031】
パターンが抽出されても、抽出されたパターンが継続し続けるとは限らない。このことから、本実施形態では、抽出されたパターンに沿って1つ以上の圧縮処理部14を停止させている場合、圧縮時間、及び圧縮率は、そのパターンに沿った1つ以上の圧縮処理部14の停止を継続すべきか否かを判定するうえでの情報として用いている。
【0032】
より具体的には、本実施形態では、1つ以上の圧縮処理部14を停止する直前の規定回数分の圧縮時間、及び圧縮率の平均値をそれぞれ算出し、圧縮率の平均値を圧縮時間の平均値で割った値(=圧縮率の平均値/圧縮時間の平均値)を基準値として算出する。基準値の算出に用いる圧縮率、及び圧縮時間は、圧縮データを選択した圧縮処理部14のものである。そのようにした算出した基準値を含む予め定めた範囲を許容範囲とする。それにより、本実施形態では、1つ以上の圧縮処理部14を停止させている場合、圧縮データが採用された圧縮処理部14の圧縮率を圧縮時間で割った値を算出し、算出した値が許容範囲内か否か確認する。算出した値が許容範囲内でないことが確認された場合、停止中の圧縮処理部14は全て動作させる。以降、許容範囲は「基準範囲」と表記する。
【0033】
上記のように算出される基準値は、圧縮するブロック12aのデータ特性が比較的に大きく変化しない限り、大きく変化しないと考えられる。このことから、基準値は、データ特性の変化の大きさを判断するうえでの指標としている。本実施形態では、基準範囲は、基準値の上20%から下10%の間としている。
【0034】
圧縮率を圧縮時間で割った値は、圧縮率が大きいほど、圧縮時間が短いほど、大きくなる。データ圧縮では、圧縮率は大きいことが望まれ、圧縮時間は短いことが望まれる。圧縮率を圧縮時間で割った値は、以降「効率値」と表記する。
【0035】
本実施形態では、効率値を算出することにより、圧縮率、及び圧縮時間の両方を圧縮データ(アルゴリズム)の選択に反映させている。しかし、圧縮データの選択は、圧縮率、及び圧縮時間のうちの一方にのみ着目して行っても良い。或いは、例えば圧縮時間に上限を設け、圧縮時間が上限を越えない圧縮処理部14が生成した圧縮データのなかで最小サイズのものを選択するようにしても良い。これは、データ圧縮に要求される内容は、常に同じではないからである。それにより、圧縮時間が長い圧縮データを選択しないようにする場合、圧縮データの選択結果に存在する傾向(規則性)を抽出するパターンとして、圧縮時間の長さによって圧縮データが連続して選択されなかった回数を採用することもできる。
【0036】
図5及び図6は、統計処理部により実行される各圧縮処理部の停止制御を説明する図である。ここで図5及び図6を参照して、統計処理部21が抽出するパターン、及びパターンの抽出によって実行する各圧縮処理部14の停止制御について具体的に説明する。
【0037】
上記のように、統計処理部21が抽出するパターンには、1つの圧縮処理部14のみを対象にしたパターンと、複数の圧縮処理部14を対象にしたパターンとが存在する。図5には、1つの圧縮処理部14のみを対象にしたパターン、及びそのパターンの抽出により行われる停止制御の実行例を表している。図6には、複数の圧縮処理部14を対象にパターン、及びそのパターンの抽出により行われる停止制御の実行例を表している。
【0038】
図5及び図6では、対象ブロック、圧縮率、圧縮時間、及びアルゴリズムの各項目を有する表により、各圧縮処理部14に対する停止制御の実行例を表している。各項目は、それぞれ以下のような内容を表している。
【0039】
対象ブロックの項目に表記の1〜37の数字は、各ブロック12aに識別データとして割り当てられたブロック番号を表している。それにより、図5及び図6は、ブロック12a毎に、停止させた圧縮処理部14を表している。
【0040】
アルゴリズムの項目のサブ項目に表記のA〜Dはそれぞれアルゴリズムを表している。それにより、Aのアルゴリズムは圧縮処理部14Aに相当する。同様に、Bのアルゴリズムは圧縮処理部14Bに相当する。アルゴリズムの各サブ項目に表記の「○」及び「×」は、対応するアルゴリズムの選択結果を表している。「○」は対応するアルゴリズムが選択されたことを表し、「×」は対応するアルゴリズムが選択されなかったことを表す。圧縮率、及び圧縮時間の各項目に表記の数字は、圧縮データが選択されたアルゴリズムでの実際の圧縮率、及び圧縮時間を表している。
【0041】
アルゴリズムの各サブ項目には、「○」及び「×」の他に、「停止1」〜「停止6」が表記されている。これら「停止1」〜「停止6」は全て、対応するアルゴリズムが採用された圧縮処理部14の停止を表している。「停止1」〜「停止6」における「1」〜「6」の数字は、圧縮処理部14が停止された期間の長さをブロック12a単位で表している。それにより、例えば「停止1」は、圧縮処理部14を1ブロック12a分、停止させたことを表している。「停止2」は、圧縮処理部14を2ブロック12a分、連続して停止させたことを表している。
【0042】
図5に表すように、本実施形態では、連続して6回、圧縮データが選択されなかった圧縮処理部14(アルゴリズム)を停止させるようにしている。それにより、アルゴリズムC及びDがそれぞれ採用された圧縮処理部14B及び14Cは共に、例えばブロック番号が1〜6のブロック12aで圧縮データが選択されなかったことから、ブロック番号が7のブロック12aで停止となっている。また、ブロック番号が24のブロック12aでは、共に直前の6回、連続して圧縮データが選択されなかった圧縮処理部14A、14C及び14Dが停止となっている。
【0043】
本実施形態では、停止期間の上限は6ブロック12a分としている。このように停止期間に上限を設けているのは、データ特性の変化により、停止させている圧縮処理部14が最適な圧縮データを生成できる可能性が考えられるからである。それにより、6ブロック12a分、停止させた圧縮処理部14は、再び動作させることにより、最適な圧縮データを生成できるか否か確認するようにしている。
【0044】
この確認は、2ブロック12a分の期間で行われる。その2ブロック12a分の圧縮処理により、最適な圧縮データを生成しなかったことが確認された圧縮処理部14は、再度、停止させる。このことから、例えばブロック番号が12のブロック12aの圧縮まで停止させていた圧縮処理部14C及び14D(アルゴリズムC及びD)は、ブロック番号が13、14のブロック12aの圧縮を行っている。その2ブロック12aの圧縮により得られた圧縮データは全て選択されなかったことから、圧縮処理部14C及び14Dは、ブロック番号が15のブロック12aの圧縮の際に停止させている。ブロック番号が32のブロック12aの圧縮の際に圧縮処理部14A、14C及び14Dを停止させているのは、同じ理由である。
【0045】
上記のように、本実施形態では、連続して6回、圧縮データが選択されなかったことを条件に、圧縮処理部14を停止させる。それにより、上記基準値を算出するための規定回数は6回として、全ての圧縮処理部14を動作させている間に基準値を確実に算出できるようにしている。
【0046】
本実施形態では、圧縮処理部14の停止期間には、上限を設け、停止期間の上限まで停止させた圧縮処理部14を動作させることにより、停止させていた圧縮処理部14が最適な圧縮データを生成できるか否か確認するようにしている。このため、消費電力を抑えつつ、最適な圧縮データを生成しない可能性もより低く抑えることができる。
【0047】
ブロック番号が17のブロック12aの圧縮時に停止させられていた圧縮処理部14B〜14D(アルゴリズムB〜D)は、次のブロック12aの圧縮時には停止が解除され、全ての圧縮処理部14が動作するようになっている。これは、ブロック番号が17のブロック12aの圧縮を行った圧縮処理部14Aの圧縮率が低く、その低い圧縮率によって効率値が基準範囲外となったためである。このとき、有効な基準値は約20(≒(200+190+200+210+200+120)/(6×10+5)=1120/55≒20)、有効範囲の下限は約18であり、効率値は12(=120/10)である。
【0048】
算出される効率値が基準範囲外となった原因としては、圧縮したブロック12aとその前に圧縮を行ったブロック12aとの間のデータ特性の変化が考えられる。そのデータ特性の変化は、最適な圧縮データを生成する圧縮処理部14(アルゴリズム)を変化させる可能性がある。このことから、算出された効率値が基準範囲外となることで停止させている圧縮処理部14を全て動作させる場合、最適な圧縮データを生成しない可能性をより低減することができる。図5に表すように、ブロック番号が18のブロック12aの圧縮では、圧縮処理部14Bが生成した圧縮データが採用されている。
【0049】
このように、本実施形態では、1つの圧縮処理部14のみを対象にしたパターンとしては、その圧縮処理部14が生成した圧縮データが継続して選択されなかった期間の長さを採用し、採用したパターンを圧縮処理部14の個別な停止制御に用いている。次に、図6を参照して、複数の圧縮処理部14を対象にしたパターンと、そのパターンによる圧縮処理部14全てを対象にした停止制御について具体的に説明する。
【0050】
ブロック番号が1〜6のブロック12aの圧縮では、圧縮処理部14A(アルゴリズムA)と圧縮処理部14B(アルゴリズムB)が生成した圧縮データが交互に選択されている。そのような選択により、ブロック番号が7〜12のブロック12aの圧縮期間、圧縮処理部14Cおよび14D(アルゴリズムC及びD)は停止される。その圧縮期間、ブロック番号が1〜6のブロック12aの圧縮時と同様に、圧縮処理部14A(アルゴリズムA)と圧縮処理部14B(アルゴリズムB)が生成した圧縮データが交互に選択されている。本実施形態では、複数の圧縮処理部14を対象にしたパターンとして、2つの圧縮処理部14の間での圧縮データの交互の選択が規定回数、連続するパターンを採用している。規定回数としては「6」を採用している。それにより、ブロック番号が13〜24のブロック12aの圧縮期間では、圧縮処理部14C及び14Dが連続して停止され、圧縮処理部14A及び14Bは、パターンに沿って、交互に停止される。
【0051】
本実施形態では、パターンに沿った停止制御を行う期間の上限は12ブロック12a分としている。このように期間に上限を設けているのは、データ特性の変化により、停止させている圧縮処理部14が最適な圧縮データを生成できる可能性が考えられるからである。それにより、12ブロック12a分、停止させた後は、全ての圧縮処理部14を動作させることにより、パターンに沿った停止制御を継続すべきか否か確認するようにしている。
【0052】
この確認は、4ブロック12a分の期間により行われる。その4ブロック12a分の圧縮処理により、パターンに沿った圧縮データの選択が行われたことが確認された場合、再度、12ブロック12a分の期間を上限とした停止制御が行われる。一方、パターンに沿った圧縮データの選択が行われなかったことが確認された場合、停止制御の継続は無効とされる。図6に表す例では、ブロック番号が28のブロック12aの圧縮時に、圧縮処理部14Aが生成した圧縮データが選択されている。圧縮処理部14Bが生成した圧縮データが選択されなかったことから、停止制御の継続は無効となり、ブロック番号が29のブロック12aの圧縮は全ての圧縮処理部14が行っている。図6には表していないが、効率値が基準範囲外となった場合、その時点で全ての圧縮処理部14は動作させることになる。
【0053】
このように、本実施形態では、複数の圧縮処理部14を対象にしたパターンとしては、2つの圧縮処理部14が生成した圧縮データの選択パターンを採用し、採用したパターンを圧縮処理部14全体の停止制御に用いている。しかし、採用するパターンは、3つ以上の圧縮処理部14が生成した圧縮データの選択パターンであっても良い。また、規則性が存在するのであれば、より複雑な形のパターンを採用しても良い。
【0054】
複数の圧縮処理部14を対象にしたパターンによる停止制御を実現するために、本実施形態では、全ての圧縮処理部14を対象にした管理を行っている。その管理を行う対象としての状態は“フェーズ”と呼ぶことにする。そのフェーズとしては、パターンに沿って各圧縮処理部14を停止させる“パターンフェーズ”、そのパターンフェーズを継続させるか否か判定するための“パターン継続判定フェーズ”、及びそれら以外の状態である“準備フェーズ”が存在する。
【0055】
図5に表すような圧縮処理部14の個別な停止制御を行うために、本実施形態では、圧縮処理部14の個別な管理も行っている。その管理を行う対象としての状態は“モード”と呼ぶことにする。そのモードは、停止させている停止モード、停止モードを継続させるか否か判定するための停止継続判定モード、パターンフェーズ時に設定される“パターンモード”、及び準備モードが存在する。準備モードは、準備フェーズ時であり、且つ停止モード、及び停止継続判定モードの何れでもない場合のモードである。
【0056】
図2は、統計情報処理部の構成を説明する図である。統計処理部21は、図2に表すように、基準情報保持部110、統計情報保持部120、状態辺底部130、圧縮装置管理部140、及び状態保持部150を備えている。
【0057】
基準情報保持部110は、アクセス制御部20からブロック12a毎に送出された圧縮率、圧縮時間の保存に用いられる。規定回数分の圧縮率、及び圧縮時間から算出された基準値もこの基準情報保持部110に保存される。
【0058】
統計情報保持部120は、アクセス制御部20が圧縮データを選択した圧縮処理部14のアルゴリズム名の保存に用いられる。そのアルゴリズム名は、少なくとも、パターンの抽出に必要な数分、保存される。
【0059】
本実施形態では、上記のように、圧縮処理部14全体をフェーズで管理し、圧縮処理部14の個別な管理にモードを用いている。状態保持部150は、これら管理用のデータの保存に用いられる。パターンフェーズを継続させている継続期間の長さ(実施回数)、各圧縮処理部14を停止させている停止期間の長さ(実施回数)等のデータも状態保持部150に保存される。
【0060】
状態判定部130は、基準情報保持部110、及び統計情報保持部120にそれぞれ保存されたデータを参照し、圧縮処理部14全体に設定すべきフェーズ、及び個別の圧縮処理部14に設定すべきモードを判定し、その判定結果に応じた設定を行う。状態保持部150に保持された各種データの更新は、状態判定部130によって行われる。
【0061】
状態判定部130により、圧縮処理部14のなかで停止させるべき圧縮処理部14が特定(決定)される。圧縮装置管理部140は、状態判定部130の決定に従って、停止すべき圧縮処理部14を停止させる。その停止/動作は、圧縮処理部14毎に、電源制御部15への指示によって実現される。その結果、図5及び図6に表すように圧縮処理部14を停止させる停止制御が実現される。
【0062】
図7は、本実施形態を適用可能なデータ記憶装置のハードウェア構成例を説明する図である。ここで、本実施形態を適用可能なデータ記憶装置70のハードウェア構成例について、図7を参照して具体的に説明する。
【0063】
本実施形態を適用可能なデータ記憶装置70は、図7に表すように、送受信部71、CPU(Central Processing Unit)72、メモリ73、フラッシュメモリ74、データバッファ75、4つのDSP(Digital Signal Processor)76(76−1〜76−4)、及び書き込み装置77を備えている。
【0064】
送受信部71は、ネットワークを介してデータを送受信する通信装置である。図1に表すデータ送受信処理部11は、この送受信部71が対応する。
書き込み装置77は、図1に表すテープ媒体30を例えば着脱自在に搭載できるものであり、CPU71の指示に従って、データバッファ75に格納されたデータをテープ媒体30に格納する。CPU71の指示に従って処理を行うために、書き込み装置77は、書き込み装置77全体を制御するコントローラを備えている。このコントローラは、例えば図1に表すアクセス部18に対応する。
【0065】
メモリ73は、CPU72等がワークに用いるメモリであり、フラッシュメモリ74は、CPU71が実行するプログラムを格納したメモリである。CPU71は、フラッシュメモリ74に格納されたプログラムをメモリ73に読み出して実行する。送受信部71が受信した受信データ12は、例えばCPU72によってメモリ73に格納され、ブロック12aに分割される。それにより、図1に表すデータ分割処理部13は、例えばCPU72、メモリ73、及びフラッシュメモリ74によって実現される。
【0066】
各DSP76−1〜76−4は、それぞれ、圧縮処理部14A〜14Dに相当するものである。各DSP76は、CPU72の指示に従い、例えばメモリ73に格納されたブロック12aを読み出し、圧縮処理を行って、データバッファ75の指定された領域に圧縮データを格納する。このことから、図1に表すバッファ部16は、データバッファ75が対応する。
【0067】
図1に表すサイズ比較部19、アクセス制御部20、及び統計情報処理部21も、例えばCPU72、メモリ73、及びフラッシュメモリ74によって実現される。図2において、基準情報保持部110、統計情報保持部120、及び状態保持部150は共に、例えばメモリ73である。また、状態判定部130、及び圧縮装置管理部140は、CPU72が、フラッシュメモリ74に格納されたプログラムをメモリ73に読み出して実行することで実現される。
【0068】
図7に表すハードウェア構成は、一例であり、本実施形態を適用可能なデータ記憶装置70は、図7に表す構成に限定されるものではない。例えば各DSP76はそれぞれ圧縮処理部14に対応するが、DSP76の代わりに、CPU、或いはCPUを搭載した着脱可能なモジュール装置(例えば1台のコンピュータとして動作するもの)を採用しても良い。
【0069】
状態判定部130、及び圧縮装置管理部140は、例えばCPU72が以下のような処理を実行することで実現される。次に図3及び図4を参照して、状態判定部130、及び圧縮装置管理部140を実現させる処理について、詳細に説明する。
【0070】
図3は、状態判定処理のフローチャートである。この状態判定処理は、圧縮処理部14全体の状態(フェーズ)、及び個別に圧縮処理部14の状態(モード)を判定・設定するための処理であり、図2の状態判定部130は、CPU72がこの状態判定処理を実行することで実現される。
【0071】
状態判定処理は、CPU72が、フラッシュメモリ74に格納されたサブプログラムをメモリ73に読み出して実行することで実現される。状態判定処理は、例えばテープ媒体30に書き込むべき圧縮データの選択が終了した後に実行される。フェーズを管理するためのデータ、モードを管理するためのデータ、フェーズ、及びモードをそれぞれ継続させている期間の長さを管理するためのデータ等は、上記のようにメモリ73に格納されている。
【0072】
先ず、CPU72は、現在パターンフェーズを設定しているか否か判定する(S1)。現在、パターンフェーズを設定していた場合、S1の判定はyesとなってS2に移行する。そのパターンフェーズが設定されていない場合、S1の判定はnoとなってS7に移行する。
【0073】
図6に表すように、パターンフェーズは12ブロック12a分の圧縮期間を上限に、その圧縮期間の経過によりパターン継続判定フェーズに移行させるようになっている。S2では、CPU72は、パターンフェーズを規定回数、実施したか否か判定する。その規定回数は12回(12ブロック12a分)である。このことから、そのパターンフェーズで12ブロック12a分の圧縮を行った場合、S2の判定はyesとなり、パターンフェーズからパターン継続判定フェーズに移行させ、フェーズの設定期間の長さを計数するためのデータである実施回数に0をセットする(S3)。その後、S31に移行する。一方、パターンフェーズで12ブロック12a分の圧縮を行っていない場合、S2の判定はnoとなってS4に移行する。
【0074】
S4では、CPU72は、圧縮率を圧縮時間で割って得られる効率値が基準範囲内か否か判定する。その効率値が基準範囲内であった場合、S4の判定はyesとなり、パターンフェーズを維持させつつ、上記実施回数をカウントアップ、つまりインクリメントする(S5)。その後はS31に移行する。一方、効率値が基準範囲外であった場合、S4の判定はnoとなり、パターンフェーズから準備フェーズに移行させる(S6)。その後はS31に移行する。
【0075】
上記S7では、CPU72は、パターン継続判定フェーズを設定しているか否か判定する。パターン継続判定フェーズを設定していた場合、S7の判定はyesとなってS8に移行する。パターン継続判定フェーズを設定していない場合、つまり準備フェーズを設定していた場合、S7の判定はnoとなってS13に移行する。
【0076】
パターン継続判定フェーズも、パターンフェーズと同様に、予め定めたブロック12a数分の圧縮期間を上限として設定されるフェーズである。このことから、S8では、CPU72は、パターン継続判定フェーズを規定回数、実施したか否か判定する。その規定回数は4回(4ブロック12a分)である。このことから、パターン継続判定フェーズで4ブロック12a分の圧縮を行った場合、S8の判定はyesとなってS10に移行する。一方、パターン継続判定フェーズで4ブロック12a分の圧縮を行っていない場合、S8の判定はnoとなり、パターン継続判定フェーズのまま、上記実施回数をカウントアップする(S9)。その後、S31に移行する。
【0077】
S10では、CPU72は、採用パターンは継続していたか否か判定する。パターン継続判定フェーズ中に圧縮データが選択された圧縮処理部14の変化が採用パターンに沿っていなかった場合、S10の判定はnoとなり、パターン継続判定フェーズから準備フェーズに移行させる(S11)。その後S31に移行する。一方、パターン継続判定フェーズ中に圧縮データが選択された圧縮処理部14の変化が採用パターンに沿っていた場合、S10の判定はyesとなり、パターン継続判定フェーズからパターンフェーズに移行させ、実施回数を0にセットする(S12)。その後S31に移行する。
【0078】
S13では、CPU72は、特定の採用パターンが直前の規定回数、連続しているか否か判定する。図6に表すように、直前の規定回数、つまり12ブロック12a分の圧縮データの選択が2つの圧縮処理部14の間で交互に行われていた場合、S13の判定はyesとなり、パターンフェーズ、及びパターンモードにそれぞれ移行させる(S14)。その後S31に移行する。そのような圧縮データの選択が行われなかった場合、S13の判定はnoとなってS15に移行する。
【0079】
上記S1〜S14は、圧縮処理部14全体を対象にしたフェーズの設定のために行われる。S15以降は、圧縮処理部14を個別にモード設定するために行われる。S15には、準備フェーズの設定時のみ移行する。
【0080】
先ず、CPU72は、圧縮処理部14のなかから一つを処理対象として選択する(S15)。次にCPU72は、選択した圧縮処理部14に設定しているモードが停止モードか否か判定する(S16)。その停止モードが設定されていた場合、S16の判定はyesとなってS17に移行する。その停止モードが設定されていない場合、S16の判定はnoとなってステップS22に移行する。
【0081】
S17では、CPU72は、停止モードでの圧縮を規定回数、実施したか否か判定する。その規定回数は6回(6ブロック12a分)である。このことから、停止モードで6ブロック12a分の圧縮を行った場合、S17の判定はyesとなり、停止モードから停止継続判定モードに移行させ、実施回数を0にセットする(S18)。その後はS31に移行する。一方、停止モードで6ブロック12a分の圧縮を行っていない場合、S17の判定はnoとなってS19に移行する。
【0082】
S19では、CPU72は、効率値が基準範囲内か否か判定する。その効率値が基準範囲内であった場合、S19の判定はyesとなり、停止継続判定モードから停止モードに移行させ、モードが継続している期間を計数するためのデータである実施回数を0にセットする(S20)。その効率値が基準範囲外であった場合、S19の判定はnoとなり、停止継続判定モードから準備モードに移行させる(S21)。S20或いはS21の処理を実行した後はS31に移行する。
【0083】
S22では、CPU72は、停止継続判定モードを設定しているか否か判定する。停止継続判定モードを設定している場合、S22の判定はyesとなってS23に移行する。停止継続判定モードが設定されていない場合、S22の判定はnoとなってS28に移行する。
【0084】
S23では、CPU72は、停止継続判定モードでの圧縮を規定回数、実施したか否か判定する。その規定回数は2回(2ブロック12a分)である。このことから、停止継続判定モードで2ブロック12a分の圧縮を行った場合、S23の判定はyesとなってS25に移行する。停止継続判定モードで2ブロック12a分の圧縮を行っていない場合、S23の判定はnoとなり、停止継続判定モードを維持させつつ、実施回数をカウントアップする(S24)。その後S31に移行する。
【0085】
S25では、CPU72は、採用パターンは継続していたか否か判定する。停止継続判定モードで圧縮データが1回以上、選択された場合、採用パターンは継続していないと見なされる。そのため、S25の判定はnoとなり、停止継続判定モードから準備モードに移行させる(S26)。一方、停止継続判定モードで圧縮データが一度も選択されなかった場合、採用パターンは継続していると見なされる。そのため、S25の判定はyesとなり、停止継続判定モードから停止モードに移行させ、実施回数を0にセットする(S27)。S26及びS27の何れかの処理を実行した後はS31に移行する。
【0086】
S28では、CPU72は、停止モードへの移行に必要な規定回数、圧縮データが採用(選択)されていないか否か判定する。その規定回数は6回(6ブロック12a分)である。このことから、直前の6ブロック12aで圧縮データが1回も採用されていない場合、S28の判定はyesとなり、準備モードから停止モードに移行させ、実施回数を0にセットする(S29)。一方、直前の6ブロック12aで圧縮データが1回以上、採用されていた場合、S28の判定はnoとなり、準備モードの設定を継続させる(S30)。S29及びS30の何れかの処理を実行した後はS31に移行する。
【0087】
S31では、CPU72は、他に処理対象とすべき圧縮処理部14があるか否か判定する。全ての圧縮処理部14を処理対象としていた場合、S31の判定はyesとなり、ここで状態判定処理が終了する。処理対象とすべき圧縮処理部14が残っていた場合、S31の判定はnoとなり、上記S15に戻る。それにより、S15では、処理対象とすべき次の圧縮処理部14の選択が行われる。
【0088】
特には図示していないが、S14の処理の実行時、或いはS31のnoの判定時には、基準値を計算すべき状況か否か判定し、その判定結果に応じて基準値(基準範囲)を計算する処理が行われる。それにより、基準値(基準範囲)は、必要に応じて随時、更新される。
【0089】
このようにして、設定すべきフェーズが判定され、その判定結果に応じてフェーズの設定が行われる。モード判定、その判定結果に応じたモード設定は、必要に応じて行われる。これは、フェーズはモードよりも上位の設定だからである。
【0090】
図4は、圧縮装置停止処理のフローチャートである。この圧縮装置停止処理は、圧縮処理部14のなかで停止すべき圧縮処理部14を停止するための処理であり、図2の圧縮装置管理部140は、CPU72がこの圧縮装置管理処理を実行することで実現される。
【0091】
圧縮装置管理処理は、CPU72が、フラッシュメモリ74に格納されたサブプログラムをメモリ73に読み出して実行することで実現される。圧縮装置管理処理は、上記状態判定処理が終了した後に実行される。
【0092】
先ず、CPU72は、現在パターンフェーズを設定しているか否か判定する(S51)。現在、パターンフェーズを設定していた場合、S51の判定はyesとなり、図6に表すようにパターンに沿って1つの圧縮処理部14のみに動作を指示する(S52)。その後、この圧縮装置管理処理を終了する。現在、パターンフェーズを設定していない場合、S51の判定はnoとなってS53に移行する。
【0093】
S53では、CPU72は、圧縮処理部14のなかから一つを処理対象として選択する。次にCPU72は、選択した圧縮処理部14に設定しているモードが停止モードか否か判定する(S54)。その停止モードが設定されていた場合、S54の判定はyesとなり、処理対象とする圧縮処理部14に停止を指示する(S55)。一方、その停止モードが設定されていない場合、S54の判定はnoとなり、処理対象とする圧縮処理部14に動作を指示する(S56)。S55の処理、或いはS56の処理の実行後はS57に移行する。
【0094】
S57では、CPU72は、他に処理対象とすべき圧縮処理部14があるか否か判定する。全ての圧縮処理部14を処理対象としていた場合、S57の判定はyesとなり、ここで圧縮装置管理処理が終了する。処理対象とすべき圧縮処理部14が残っていた場合、S57の判定はnoとなり、上記S53に戻る。それにより、S53では、処理対象とすべき次の圧縮処理部14の選択が行われる。
【0095】
このようにして、パターンフェーズの設定時には、圧縮処理部14のなかで1つの圧縮処理部14のみ動作が指示され、パターンフェーズの未設定時には、各圧縮処理部14が個別に動作が指示される。それにより、各圧縮処理部14の個別な停止は、パターンフェーズの未設定時に行われる。
【0096】
なお、本実施形態では、停止モードの設定期間、つまり圧縮処理部14に圧縮を行わせないブロック12aの数は固定としているが、設定期間は可変としても良い。例えば圧縮処理部14毎に、それが生成した圧縮データが採用(選択)される頻度を求め、その頻度に応じて設定期間の長さを変更するようにしても良い。そのように設定期間を変更可能にした場合、最適な圧縮パターンの生成を行えるようにしつつ、消費電力をより抑えることが可能になる。パターンフェーズの設定期間も同様な理由から、可変としても良い。
【0097】
また、本実施形態によるデータ圧縮装置は、データ記憶装置に搭載されているが、1つの独立した装置として実現させても良い。搭載させる装置は、データ記憶装置に限定されるものではなく、データ通信を行う装置、或いはデータ通信を行うシステムを構成する装置であっても良い。
【0098】
本実施形態では、圧縮処理部14を4つ備えているが、圧縮処理部14の数は4つでなくとも良い。この4つの圧縮処理部14は各々、異なるアルゴリズムが採用されたものであるが、圧縮処理を行う条件が異なる同じアルゴリズムが2つ以上の圧縮処理部14に採用されていても良い。ロスレス型のアルゴリズムでは、辞書サイズがその条件の一つとなる。
【0099】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
圧縮対象のデータを複数の分割ブロックに分割し、分割ブロック毎に圧縮するデータ圧縮装置であって、
各々異なるアルゴリズムにより分割ブロックの圧縮を行い、該圧縮により圧縮ブロックを生成する、複数の圧縮処理部と、
生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、前記複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択する選択部と、
前記選択部による選択結果に規則性が存在する場合に、該規則性に基づいて、前記複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる制御部と、
を有することを特徴とするデータ圧縮装置。
(付記2)
前記規則性は、前記複数の圧縮処理部のうちの一つが生成した圧縮データが前記選択部により所定回数連続して選択されなかった第1の規則性、及び前記複数の圧縮処理部のうちの二つ以上の圧縮処理部が生成した圧縮データが前記選択部により同一のパターンで順次選択された第2の規則性のうちの何れかを少なくとも含み、
前記制御部は、前記規則性が前記第1の規則性、及び前記第2の規則性のうちの何れかにより、停止すべき圧縮処理部、及び停止すべき期間を決定する
ことを特徴とする付記1に記載のデータ圧縮装置。
(付記3)
前記制御部は、前記第2の規則性が存在する場合、分割ブロックの圧縮を前記複数の圧縮処理部のうちの一つにのみ行わせる
ことを特徴とする付記2に記載のデータ圧縮装置。
(付記4)
前記制御部は、前記第2の規則性により停止させた圧縮処理部が存在する状況となった場合に、予め定めたタイミングで全ての圧縮処理部に分割ブロックの圧縮を行わせ、前記選択部による選択を行わせることにより、当該第2の規則性が継続しているか否かを確認する
ことを特徴とする付記2又は3に記載のデータ圧縮装置。
(付記5)
前記制御部は、前記第1の規則性、及び前記第2の規則性の一方により停止させた圧縮処理部が存在する状況において、前記選択部により選択された圧縮ブロックの生成結果が所定の条件を満たさない場合には、停止させた全ての圧縮処理部による分割ブロックの圧縮を再開させる
ことを特徴とする付記2乃至4のいずれか1項に記載のデータ圧縮装置。
(付記6)
圧縮対象のデータを複数の分割ブロックに分割し、前記分割ブロック毎に圧縮するデータ圧縮装置として用いられるコンピュータが実行するデータ圧縮方法であって、
各々異なるアルゴリズムが採用された複数の圧縮処理部に分割ブロックを圧縮させることにより、該圧縮による圧縮ブロックを生成させ、
生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、前記複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択し、
圧縮ブロックの選択パターンに規則性が存在する場合に、該規則性に基づいて、前記複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる
ことを特徴とするデータ圧縮方法。
(付記7)
共通する圧縮対象データに対して、それぞれ異なるアルゴリズムで圧縮処理を施して複数の圧縮データを生成する複数の圧縮処理部と、
生成された前記複数の圧縮データの各データサイズと、前記複数の圧縮データの生成に要した各処理時間のうちの少なくともいずれかに基づいて、前記複数の圧縮データのうちから圧縮データを選択する選択部と、
あるデータを分割して得られた分割データ群のうちの1又は複数の分割データが前記複数の圧縮処理部によって処理された場合に、該1又は複数の分割データに関する前記選択部の選択パターンに応じて、前記複数の圧縮処理部のうち、いずれかの圧縮処理部の動作を停止させて、前記分割データ群に含まれる、前記1又は複数の分割データ以外の分割データについては、動作を停止した前記圧縮処理部による圧縮処理を回避する制御を行う制御部と、
を備えたことを特徴とするデータ圧縮装置。
【符号の説明】
【0100】
1 データ記憶装置
2 サーバ
11 データ送受信部
12 受信データ
14、14A〜14D 圧縮処理部
15、15A〜15D 電源制御部
16 バッファ部
17、17A1〜17X2 格納エリア
18 アクセス部
19 サイズ比較部
20 アクセス制御部
21 統計情報処理部
30 テープ媒体
71 送受信部
72 CPU
73 メモリ
74 フラッシュメモリ
75 データバッファ
76、76−1〜76−4 DSP
77 書き込み装置
110 基準情報保持部
120 統計情報保持部
130 状態判定部
140 圧縮装置管理部
150 状態保持部

【特許請求の範囲】
【請求項1】
圧縮対象のデータを複数の分割ブロックに分割し、分割ブロック毎に圧縮するデータ圧縮装置であって、
各々異なるアルゴリズムにより分割ブロックの圧縮を行い、該圧縮により圧縮ブロックを生成する複数の圧縮処理部と、
生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、前記複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択する選択部と、
前記選択部による選択パターンに規則性が存在する場合に、該規則性に基づいて、前記複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる制御部と、
を有することを特徴とするデータ圧縮装置。
【請求項2】
前記規則性は、前記複数の圧縮処理部のうちの一つが生成した圧縮データが前記選択部により所定数、連続して選択されなかった第1の規則性、及び前記複数の圧縮処理部のうちの二つ以上の圧縮処理部が生成した圧縮データが前記選択部により同一のパターンで順次、選択された第2の規則性のうちの何れかを少なくとも含み、
前記制御部は、前記規則性が前記第1の規則性、及び前記第2の規則性のうちの何れかにより、停止すべき圧縮処理部、及び停止すべき期間を決定する
ことを特徴とする請求項1に記載のデータ圧縮装置。
【請求項3】
前記制御部は、前記第2の規則性により停止させた圧縮処理部が存在する状況となった場合に、予め定めたタイミングで全ての圧縮処理部に分割ブロックの圧縮を行わせ、前記選択部による選択を行わせることにより、当該第2の規則性が継続しているか否かを確認する
ことを特徴とする請求項2に記載のデータ圧縮装置。
【請求項4】
前記制御部は、前記第1の規則性、及び前記第2の規則性の一方により停止させた圧縮処理部が存在する状況において、前記選択部により選択された圧縮ブロックの生成結果が所定の条件を満たさない場合には、停止させた全ての圧縮処理部による分割ブロックの圧縮を再開させる
ことを特徴とする請求項2又は3に記載のデータ圧縮装置。
【請求項5】
圧縮対象のデータを複数の分割ブロックに分割し、分割ブロック毎に圧縮するデータ圧縮装置として用いられるコンピュータが実行するデータ圧縮方法であって、
各々異なるアルゴリズムが採用された複数の圧縮処理部に分割ブロックを圧縮させることにより、該圧縮による圧縮ブロックを生成させ、
生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、前記複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択し、
圧縮ブロックの選択パターンに規則性が存在する場合に、該規則性に基づいて、前記複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる
ことを特徴とするデータ圧縮方法。
【請求項6】
共通する圧縮対象データに対して、それぞれ異なるアルゴリズムで圧縮処理を施して複数の圧縮データを生成する複数の圧縮処理部と、
生成された前記複数の圧縮データの各データサイズと、前記複数の圧縮データの生成に要した各処理時間のうちの少なくともいずれかに基づいて、前記複数の圧縮データのうちから圧縮データを選択する選択部と、
あるデータを分割して得られた分割データ群のうちの1又は複数の分割データが前記複数の圧縮処理部によって処理された場合に、該1又は複数の分割データに関する前記選択部の選択パターンに応じて、前記複数の圧縮処理部のうち、いずれかの圧縮処理部の動作を停止させて、前記分割データ群に含まれる、前記1又は複数の分割データ以外の分割データについては、動作を停止した前記圧縮処理部による圧縮処理を回避する制御を行う制御部と、
を備えたことを特徴とするデータ圧縮装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−85071(P2013−85071A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−222836(P2011−222836)
【出願日】平成23年10月7日(2011.10.7)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】