可逆圧縮(カギャクアッシュク)とは | 意味や読み方など丁寧でわかりやすい用語解説
可逆圧縮(カギャクアッシュク)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
可逆圧縮 (カギョウアッシュク)
英語表記
lossless compression (ロスレス圧縮)
用語解説
可逆圧縮とは、データ圧縮技術の一種であり、圧縮前のデータを完全に復元できる方式のことである。元のデータと復元後のデータが完全に同一であることが保証されるため、テキストファイル、プログラムコード、画像データ(特にアーカイブ用途や加工を前提とする場合)など、データのわずかな変化も許容できない場合に用いられる。
可逆圧縮の仕組みは、データ内の冗長性(同じパターンや規則性の繰り返し)を利用することにある。例えば、テキストファイルにおいて、同じ単語やフレーズが何度も出現する場合、それらを短い符号に置き換えることでデータ量を削減する。復元時には、符号と元の単語やフレーズの対応表を参照することで、元のデータを正確に再現する。
代表的な可逆圧縮アルゴリズムとしては、連長圧縮(RLE)、ハフマン符号化、LZ77、LZ78、Lempel-Ziv-Welch(LZW)などがある。
連長圧縮は、同じデータが連続して出現する場合に、そのデータと連続回数を記録することで圧縮する。例えば、「AAAAABBBCC」というデータを連長圧縮すると、「A5B3C2」となる。この方式は、単純だが、同じデータが連続して出現する頻度が高い場合に効果を発揮する。
ハフマン符号化は、データの出現頻度に基づいて、出現頻度の高いデータには短い符号を、出現頻度の低いデータには長い符号を割り当てることで圧縮する。これにより、平均符号長を短くすることができ、効率的な圧縮が可能となる。
LZ77とLZ78は、辞書式圧縮と呼ばれる方式であり、過去に出現したデータを辞書として利用し、同じデータが再び出現した場合に、辞書内の参照情報に置き換えることで圧縮する。LZ77は、スライディングウィンドウと呼ばれる可変長の辞書を使用し、LZ78は、累積的に辞書を構築する。
Lempel-Ziv-Welch(LZW)は、LZ78を改良したアルゴリズムであり、GIF画像フォーマットなどで広く利用されている。LZWは、初期状態である程度の辞書をあらかじめ用意しておくことで、圧縮率を向上させている。
可逆圧縮のメリットは、元のデータを完全に復元できることである。そのため、データの正確性が重要な場合に安心して利用できる。また、圧縮・解凍処理が比較的単純なアルゴリズムも多く、高速な処理が可能である。
一方、デメリットとしては、圧縮率が非可逆圧縮に比べて低いことが挙げられる。非可逆圧縮は、データの一部を削減することで高い圧縮率を実現しているが、可逆圧縮は元のデータを完全に保持するため、圧縮率には限界がある。
可逆圧縮は、zip形式やgzip形式などのファイル圧縮形式や、PNG形式の画像フォーマットなどで利用されている。これらの形式は、アーカイブ用途やソフトウェアの配布など、データの完全性が求められる場合に広く利用されている。
システムエンジニアは、データの特性や用途に応じて、適切な圧縮方式を選択する必要がある。データの正確性が重要な場合には可逆圧縮を選択し、高い圧縮率が求められる場合には非可逆圧縮を検討するなど、状況に応じた判断が求められる。また、圧縮・解凍処理にかかる時間やCPU負荷も考慮する必要がある。