1 概要
圧縮とは、情報、データ、あるいは物質を、より小さな空間や少ない容量に収めるために、密度を高めたり冗長さを減らしたりする操作である。情報技術では、主としてデータを効率よく保存・伝送するための技法を指し、ファイルサイズの縮小や通信量の抑制に役立つ。
圧縮は、対象の性質に応じて多様な方法が用いられる。文書、画像、音声、動画のいずれでも、共通するのは「同じ内容を、より少ない表現で扱う」点にある。
1.1 圧縮の定義
圧縮は、情報の重複や予測しやすさを利用して表現を短くすること、またはデータの占有領域を減らすことを意味する。物理的な密度向上を指す場合もあるが、一般にはデジタルデータの最適化を指すことが多い。
1.2 圧縮の目的
圧縮の主な目的は、保存効率の改善、通信の軽量化、処理全体の効率化にある。用途によって重視される点は異なり、品質の維持が重要な場合もあれば、速度や容量の節約が優先されることもある。
1.2.1 保存容量の削減
圧縮により、同じ装置により多くのデータを保存できる。大規模な文書群やメディアファイルでは、ストレージ使用量の低減が大きな利点となる。
1.2.2 通信効率の向上
データ量が減ると、送受信に必要な帯域が小さくなる。これにより転送時間の短縮や通信コストの抑制が期待できる。
1.2.3 処理負荷の最適化
データが小さくなることで、読み書きの回数や転送量が減り、場合によっては処理系全体の負荷が下がる。ただし、圧縮と展開の計算自体が追加の負荷を生むため、全体の効率は方式次第である。
1.3 圧縮と展開
圧縮されたデータを元の形式に戻す操作を展開という。可逆圧縮では完全復元が可能だが、非可逆圧縮では元の情報を厳密には再現できない。実用上は、保存時や送信時に圧縮し、利用時に展開する流れが広く用いられる。
2 圧縮の種類
圧縮は、大きく可逆圧縮と非可逆圧縮に分けられる。前者は元のデータを損なわずに復元でき、後者は知覚上の違いが小さい範囲で情報の一部を省く。
2.1 可逆圧縮
可逆圧縮は、展開後に元のデータを完全に一致させられる方式である。文書や実行ファイル、記録性の高い画像など、内容の正確さが重要な場面で使われる。
2.1.1 特徴
情報の欠落がないため、復元結果は元データと同一になる。圧縮率は非可逆方式より控えめな傾向があるが、信頼性が高い。
2.1.2 利用例
代表例として、ZIP形式の書庫、PNG画像、FLAC音声、可逆圧縮付きのバックアップなどが挙げられる。
2.2 非可逆圧縮
非可逆圧縮は、知覚や実用上の影響が小さいと判断される情報を削減する方式である。画像、音声、動画で広く用いられ、高い圧縮率を得やすい。
2.2.1 特徴
元データを厳密には再現できないが、人間の感覚では差が目立ちにくいよう設計される。データ量を大きく減らせる一方、過度に圧縮すると劣化が目立つ。
2.2.2 利用例
JPEG画像、MP3やAAC音声、H.264やHEVCなどの動画圧縮が典型である。
2.3 可逆圧縮と非可逆圧縮の比較
可逆圧縮は完全性を優先し、非可逆圧縮は効率と品質の均衡を重視する。前者は記録や再利用に向き、後者は配信や保存容量の節約に適する。選択は、用途、許容できる劣化、処理資源によって決まる。
3 圧縮の仕組み
圧縮は、データの冗長性を減らし、統計的な偏りを利用して短い表現へ置き換えることで成立する。非可逆方式では、さらに人間の知覚特性を踏まえて近似を導入する。
3.1 冗長性の削減
冗長性とは、同じ情報が繰り返し現れたり、予測可能な形で重複したりする性質をいう。これを減らすことで、データは小さくなる。
3.1.1 繰り返しの利用
連続する同一要素や似た要素をまとめて表すと、データ量を抑えられる。テキストの繰り返しや連続画素のような場合に有効である。
3.1.2 パターンの置換
長い並びを、より短い記号や参照に置き換える手法がある。辞書参照型の圧縮では、この考え方が中心になる。
3.2 統計的性質の活用
データには、よく現れる要素とまれな要素がある。この偏りを利用し、頻出要素を短く、稀な要素を長く表現することで平均長を下げる。
3.2.1 頻出データの短縮表現
出現頻度の高い記号に短い符号を割り当てると、全体の符号長を縮められる。文字列圧縮や符号化で広く使われる発想である。
3.2.2 符号化の最適化
情報量に応じて表現長を調整することで、平均的なデータサイズを減らす。理論的な限界に近づけることが、符号化方式の重要な目的となる。
3.3 量子化と近似
非可逆圧縮では、連続値や高精度な値を、少数の段階にまとめる量子化が用いられる。これにより細部は失われるが、視覚や聴覚で気づきにくい範囲に抑えれば実用的な品質を保てる。
4 圧縮の対象
圧縮の対象は、文字主体の文書から、視覚・聴覚情報を含むメディアまで広い。対象ごとに、重視される性質や適した方式が異なる。
4.1 文書の圧縮
文書では、文字列の反復や記号の偏りが圧縮の手がかりになる。可逆方式が中心で、内容の正確性が保たれることが重要である。
4.1.1 文字データの最適化
同じ語句や記号の反復、空白や制御情報の整理によって、文書データは縮小できる。プレーンテキストでは特に効果が出やすい。
4.1.2 書庫形式
複数のファイルをまとめて圧縮し、単一のアーカイブとして扱う形式がある。保存や配布の整理に便利で、メタデータの管理にも向く。
4.2 画像の圧縮
画像は空間的な類似性が強く、隣接画素の差が小さいことが多い。そのため、予測や変換を利用する圧縮が有効である。
4.2.1 可逆画像圧縮
PNGなどは、画質を落とさずにデータを縮める。図表、文字を含む画像、編集を繰り返す素材に向いている。
4.2.2 非可逆画像圧縮
JPEGのように、人間の視覚で目立ちにくい成分を抑えて圧縮する。写真の保存や配信用途で広く利用される。
4.3 音声の圧縮
音声は時間方向の連続性と、聴覚の感度差を利用して圧縮される。会話、音楽、放送などで方式の使い分けが行われる。
4.3.1 音声符号化
音声符号化では、波形やスペクトルの特徴を表すデータへ変換し、必要な情報だけを残す。再生品質とビットレートの調整が重要になる。
4.3.2 聴覚特性の利用
人間の耳が感じにくい成分や、強い音に隠れる弱い音を減らすことで、知覚上の損失を小さくしつつ圧縮率を高める。
4.4 動画の圧縮
動画は、画像の連続と音声を組み合わせた複合的なデータである。空間方向だけでなく時間方向の重複も多く、強い圧縮効果が得られる。
4.4.1 フレーム間圧縮
連続する映像では、前後のフレームが大きく変わらないことが多い。その差分だけを記録することで、データ量を抑えられる。
4.4.2 動き予測
物体の移動を推定して、次のフレームの内容を先読みする方法である。ずれを見積もって補正することで、効率よく符号化できる。
5 圧縮方式
圧縮方式は、辞書を使うもの、統計に基づくもの、変換を行うもの、予測を利用するものなどに分類できる。実装では、単独よりも複数方式を組み合わせることが多い。
5.1 辞書方式
辞書方式は、すでに現れた文字列やパターンを参照に置き換える手法である。反復が多いデータで効果を発揮する。
5.1.1 繰り返し文字列の置換
長い繰り返しを短い参照情報に変えることで、同じ内容を簡潔に表せる。文字列が多い文書では特に有効である。
5.1.2 代表的な方式
LZ77、LZ78、LZWなどが代表例として知られる。これらは多くのファイル形式や書庫形式の基礎になっている。
5.2 統計符号化方式
統計符号化方式は、出現頻度に応じて符号長を変える。頻出する要素ほど短く表し、平均的な長さを抑える。
5.2.1 ハフマン符号
ハフマン符号は、頻度の高い記号に短い符号を割り当てる可変長符号である。実装が比較的容易で、広く利用されてきた。
5.2.2 算術符号
算術符号は、データ列全体を区間として表す方式で、理論的に高い圧縮効率を得やすい。計算の精度管理が重要になる。
5.3 変換方式
変換方式は、元のデータを別の空間に移し、そこで不要成分を整理する。画像や音声、動画の圧縮で重要な役割を持つ。
5.3.1 周波数変換
時間領域や空間領域のデータを周波数成分へ写像し、変化の少ない成分や重要度の低い成分を扱いやすくする。
5.3.2 離散コサイン変換
離散コサイン変換は、画像圧縮でよく使われる変換の一つである。低周波成分に情報が集まりやすく、量子化と相性がよい。
5.4 予測方式
予測方式は、次の値を前後の値から推定し、その差だけを記録する。変化が小さいデータで特に有効である。
5.4.1 差分符号化
隣接する値との差分を保存する方法で、値そのものより小さな数値になりやすい。滑らかなデータ系列で効果が高い。
5.4.2 予測誤差の圧縮
予測値と実際の値のずれを圧縮対象にすることで、情報の分布を狭められる。誤差が小さいほど、符号化の効率は上がる。
6 圧縮率と品質
圧縮率はデータがどれだけ小さくなったかを示し、品質は元データとの近さや利用時の見やすさ、聞きやすさを表す。両者はしばしば相反するため、適切な折り合いが必要である。
6.1 圧縮率の考え方
圧縮率は、元のサイズに対する圧縮後サイズの比率や削減割合として表される。数値が小さいほどデータは小さくなり、保存や通信の面で有利になる。
6.2 品質劣化の評価
非可逆方式では、圧縮後の劣化をどの程度許容できるかが重要である。客観的な指標に加え、人間の感覚に基づく評価も用いられる。
6.2.1 視覚的評価
画像や動画では、ぼやけ、ブロック状の乱れ、輪郭のにじみなどが確認される。用途に応じて、細部の保持と圧縮率の均衡が求められる。
6.2.2 聴覚的評価
音声では、雑音感、こもり、金属的な響きなどが評価対象になる。再生環境や聴取条件によって印象が変わることもある。
6.3 実用上の最適化
最適な設定は、保存容量、再生品質、処理時間のどれを優先するかで変わる。実務では、用途別に複数の条件を試し、適切な妥協点を探る。
7 圧縮と展開の実装
圧縮処理の実装では、理論上の効率だけでなく、実行速度、資源消費、互換性も重要である。運用環境に応じた設計が求められる。
7.1 アルゴリズムの選択
データの種類に合った方式を選ぶことが、性能を左右する。一般に、テキスト、画像、音声、動画では有効な手法が異なる。
7.2 処理速度と計算資源
高い圧縮率を得る方式ほど、計算量が増える場合がある。リアルタイム処理では速度を優先し、保存用途では圧縮効率を重視することが多い。
7.3 メモリ使用量
辞書や中間表現を保持する方式では、メモリ消費が増える。小規模機器や大量処理では、使用量の見積もりが重要になる。
7.4 並列化と高速化
複数の処理単位に分けて並列実行すると、圧縮や展開の速度を高められることがある。ハードウェア支援や専用命令を活用する場合もある。
8 応用
圧縮は、日常的なファイル管理から、通信、保存、解析まで幅広く使われる。データの扱いが増えるほど、その重要性は高まる。
8.1 ファイル保存
圧縮ファイルは、保管スペースを節約し、複数のファイルを整理して扱うのに便利である。配布や移送の簡略化にも役立つ。
8.2 通信プロトコル
Web通信や各種ネットワークでは、圧縮によって転送量を抑えられる。回線状況に応じて、効率向上の手段として組み込まれることがある。
8.3 データベース
データベースでは、保存領域の節約や読み出し効率の改善を目的に圧縮が利用される。検索との両立を考えた設計が必要である。
8.4 バックアップ
バックアップでは、長期保存のために圧縮が有効である。変更差分と組み合わせることで、さらに容量を抑えられる。
9 関連技術
圧縮は、暗号化や文字コード、誤り訂正などと併用されることがある。ただし、それぞれの目的は異なり、役割を混同しないことが重要である。
9.1 暗号化との違い
圧縮はデータ量を減らす技術であり、暗号化は内容を読み取れない形に変える技術である。機密性と容量削減は別の目的である。
9.2 文字コードとの関係
文字コードは文字を数値として表現する規則であり、圧縮の前提となる。符号化の選択によって、圧縮効率に差が出ることがある。
9.3 エラー訂正との関係
エラー訂正は、通信や記録で生じた誤りを検出・修正するための技術である。圧縮とは別機能だが、通信システムでは併用される。
10 歴史
圧縮技術は、手作業の省略表記から始まり、通信技術と計算機の発展に伴って高度化した。デジタル化の進展によって、用途は急速に広がった。
10.1 初期の圧縮技術
初期の方法には、電信や記録媒体での省略表記、文字列の簡略化などがあった。後に、情報理論の発展が理論的基盤を与えた。
10.2 デジタル時代の発展
計算機の普及により、可逆圧縮と非可逆圧縮の双方が実用化された。ファイル交換、通信、画像配信の拡大が技術改良を促した。
10.3 現代の圧縮技術
現代では、画像、音声、動画の各分野で高効率な方式が使われている。処理の高速化や低消費電力化も重視され、端末から大規模サービスまで広く応用されている。