データ圧縮 【data compression】 圧縮符号化 / compression coding
概要
データ圧縮(data compression)とは、データを一定の計算手順で加工し、実質的な内容を損なわずにより短い符号列で表すこと。原則として得られた圧縮符号は逆の計算手順により元のデータに復元することができ、データの一部を損なって容量を減らす削減や間引きとは異なる。同じ情報を短いデータ長で表現することで、記憶装置上で占有する領域を小さくすることができ、また、機器間をより短い時間や少ない回線の占有度で伝送することができる。ただし、圧縮後の符号列は元のデータを扱う処理系では利用できないため、使用前に必ず元の状態に戻す処理(解凍、伸長、展開などと呼ばれる)が必要となる。
圧縮処理や解凍処理に費やされる計算量や計算時間などと引き換えにデータ量の縮減という成果を得ており、両者が見合わなければ圧縮を行う意義は失われる。例えば、データ伝送を高速化するためにデータ圧縮を導入したのに、圧縮、伝送、解凍の合計時間が元データの伝送時間を上回ってしまっては元も子もない。
圧縮の逆変換の呼称
圧縮(compress)後の符号列から元のデータを復元する逆方向の変換処理のことを英語では “decompress” (compressに否定の接頭辞de-を付したもの)というが、日本語では定まった訳がなく、解凍、伸長、展開などの用語が用いられる。
ファイルのアーカイバでは複数のファイルを一つの圧縮ファイルにまとめることが多いため、その中から指定されたものを取り出して元の状態に戻すことを「抽出」ということもある(英語でもこの文脈では “extract” を用いる)。
日本では1980年代にパソコン通信やファイル圧縮ソフトの付属文書などを通じて「解凍」という用語が広まった(対応して圧縮のことを凍結と呼ぶこともあったがこれは広まらなかった)ため、慣用的に解凍と呼ぶことが多いが、本来の語義として圧縮と解凍では意味が対応しておらず、解凍には容積の増減の意味はないことなどから批判も多い。
一方、伸長や展開は、伸ばす、広げるという意味は合っているが、圧縮の逆の動作としての元に戻すという意味合いは薄いとの批判もあり、あまり定着していない。
圧縮率と圧縮比
どのくらい圧縮できたかを圧縮率という用語で表すことがある。より小さい量に圧縮できたことを「圧縮率が高い」という。
実際には二つの異なる指標が圧縮率と呼ばれており、一つは圧縮後のデータ量の元のデータ量に対する比率、もう一つは削減量の元の量に対する比率である。いずれを指すのかは文脈により異なる。圧縮後にデータ量が元の10分の1になったことを、前者の指標では圧縮率10%、後者では90%と表現する。
一方、圧縮前と後のデータ量の比や倍率で圧縮の程度を表すこともあり、データ圧縮比と呼ばれる。10分の1に圧縮したことを10:1あるいは10倍と言い表す。
可逆圧縮と非可逆圧縮
完全に元のデータに戻せる符号列に変換する方式を「可逆圧縮」、元のデータの一部を削除・変形することで高い圧縮率を得る代わりに完全には元に戻せなくなる方式を「非可逆圧縮」あるいは「不可逆圧縮」という。
可逆圧縮はわずかでもデータの一部が異なれば元とはまったく違う意味になってしまう文字(テキスト)データやコンピュータプログラムの圧縮や汎用のファイル圧縮などで用いられ、通常単にデータ圧縮といえば可逆圧縮を指す。
非可逆圧縮は主に画像や音声、映像など元のデータに大きな情報の冗長性が含まれる対象に用いられる。人間の視覚や聴覚の特性を利用して、人間が気づきにくい形でデータの一部を改変・削除することで、劇的な高圧縮率を得ることができる。
元の情報を損なう変換を伴うため、非可逆圧縮は厳密にはデータ圧縮手法の一部ではないとする立場もある。また、非可逆圧縮アルゴリズムの中には、元データの形式変換や加工(この段階ではデータ長の縮減は伴わない)を行った後、データ圧縮自体は連長圧縮などの可逆圧縮により行う(すなわち、「非可逆」の工程では圧縮していない)ものも多い。
関連用語
他の辞典による解説 (外部サイト)
- ウィキペディア 「データ圧縮」
- 日経 xTECH Linuxコマンド集 「compress」
- ケータイ用語の基礎知識 「データ圧縮」
- Linux入門 コマンドリファレンス 「compress」
- Programming Place Plus 用語集 「データ圧縮」
- TechTerms.com (英語) 「Compression」
- Computer Hope (英語) 「Data compression」
- WhatIs.com (英語) 「data compression」
- Techopedia (英語) 「Data Compression」
- PC Magazine (英語) 「data compression」