導入
データ圧縮またはソースコーディングは、特定のアルゴリズムを使用して、ビット列 A を同じ情報を含むより短いビット列 B に変換するコンピュータ操作です。これは、圧縮された表現を元の表現よりも短くすることを目的とした、コーディング操作、つまり情報の表現を変更する操作です。解凍は圧縮の逆の操作です。
可逆圧縮アルゴリズムでは、圧縮および解凍操作の後に得られるビットのシーケンスは、元のものと厳密に同一です。可逆圧縮アルゴリズムは、ドキュメント、実行可能ファイル、テキスト ファイルなどのさまざまな種類のデータに使用されます。
非可逆圧縮アルゴリズムでは、圧縮および解凍操作の後に得られるビットのシーケンスは元のものとは異なりますが、情報は本質的に同じままです。非可逆圧縮アルゴリズムは、画像、オーディオ、ビデオに使用されます。
Zip、RAR、gzip、ADPCM、MP3、 JPEGなどのデータ形式では、データ圧縮アルゴリズムが使用されます。

圧縮の種類
可逆圧縮
元の情報にデータ損失がない場合、圧縮は可逆圧縮であると言われます。圧縮後の情報は以前と同じだけあり、より簡潔な方法で書き換えられるだけです (これは、たとえば、あらゆる種類のデータの gzip 圧縮や、Web 向けの合成画像の PNG 形式の場合です)。可逆圧縮はコンパクションとも呼ばれます。
圧縮される情報は、特定の規則に従って完成したテキストを生成するシンボルのソースの出力として見なされます。目標は、元のメッセージを正確に見つける可能性を持ちながら、圧縮後に得られるテキストの平均サイズを削減することです (誤り訂正符号化を指定するチャネル符号化に対して、ソース符号化という名前も見つかります)。
あらゆるファイルを圧縮できる汎用の可逆データ圧縮技術はありません。可逆技術が少なくとも 1 つのファイルを圧縮すると、少なくとも 1 つのファイルも「成長」します。
可逆圧縮ファイル形式は、ファイル名の最後に追加される拡張子 (たとえば、「 filename . zip 」) によって知られるため、非常に短縮された名前になっています。最も一般的な形式は次のとおりです。
- 7z
- エース
- 弓
- arj
- bz、bz2 (tar を使用してこのタイプのアーカイブを作成できます)
- CAB、 Microsoftが使用
- gzip、gz (単一エントリ ファイル、tar を使用してこのタイプのアーカイブを作成できます)
- lzh
- レア
- うーん
- Z (特に Unix 環境)
- ジップ
- 動物園
- APE (オーディオストリーム用)
- FLAC (オーディオ ストリーム用)
最も一般的なオープン標準は、いくつかの RFC で説明されています。
- RFC 1950 (ZLIB、圧縮データ ストリーム)
- RFC 1951 (Zip および gz で使用される「Deflate」ブロック圧縮システム)
- RFC 1952 (gzip 圧縮ファイル形式)

非可逆圧縮
非可逆圧縮は、「知覚可能な」データ (通常は音声または視覚) にのみ適用され、人間には認識されずに、場合によっては重大な変更を受ける可能性があります。情報の損失は元に戻すことができず、圧縮後に元のデータを見つけることは不可能になります。したがって、非可逆圧縮は、非可逆圧縮または非保守的圧縮と呼ばれることもあります。
この手法は単純なアイデアに基づいています。つまり、考えられるすべての画像 (つまり、ランダム ジェネレーターによって各ピクセルの値を描画することによって取得される画像)のうち、ごく一部の画像のみが、悪用可能で有益な性質を持っています。目。したがって、これらの画像を簡単にコーディングしてみます。実際には、目は、隣接するピクセル間に相関関係がある領域、つまり、隣接する色の連続した領域があることを識別する必要があります。圧縮プログラムは、これらの領域を検出し、可能な限りコンパクトにエンコードするように機能します。たとえば、 JPEG 2000標準では、一般に、画面上で目に見える品質の低下を引き起こすことなく、写真画像を 1 ピクセルあたり 1ビットでエンコードできます (つまり、24 対 1 の圧縮)。
目は必ずしも画像の詳細をすべて認識できるわけではないため、データの量を削減して、結果が人間の目には元の画像と非常によく似たもの、さらには同一に見えるようにすることができます。非可逆圧縮の問題は、知覚可能な品質を維持しながらデータ量を削減できる画像または音声の変換を特定することです。
同様に、耳は考えられる音のごく一部のみを利用することができ、それ自体が冗長性を生み出す規則性を必要とします(呼吸ノイズを忠実にコード化することはあまり重要ではありません)。したがって、たとえ再生されたサウンドが元のサウンドと完全に同一ではない場合でも、この冗長性を排除し、到着時に復元するコーディングは引き続き許容されます。
非可逆圧縮の 3 つの主要なファミリーを区別できます。
- ADPCM などの予測による。
- 変身によって。これらは最も効果的で最もよく使用される方法です。 (JPEG、JPEG 2000、すべてのMPEG 標準など);
- パターンのフラクタル反復に基づく圧縮 (フラクタル圧縮)。
MPEG 形式は、ビデオ シーケンスの非可逆圧縮形式です。これらには、独立して使用できる有名な MP3 や AAC などのオーディオ エンコーダや、もちろんビデオ エンコーダ (一般に、依存する標準 (MPEG-2、MPEG-4) によって単に参照される) やソリューションも含まれます。オーディオ ストリームとビデオストリームの同期、およびさまざまな種類のネットワーク上でのトランスポートに使用されます。
ほぼ可逆圧縮
重要な可逆圧縮方式は非可逆圧縮方式のサブセットであり、後者とは区別される場合があります。大幅な損失のない圧縮は、情報の一部を削除しながら、元のデータのすべての意味を保持できるという意味で、保守的圧縮と非保守的圧縮の中間とみなすことができます。
画像圧縮の分野では、可逆圧縮 (ビットパーフェクトまたはビットパーフェクト) と大幅な損失のない圧縮 (ピクセルパーフェクトまたはピクセルパーフェクト) が区別されます。ほぼ可逆圧縮画像 (低損失圧縮画像と混同しないでください) を解凍すると、非圧縮バージョンのピクセルを同様に取得できます。ただし、完全に同一の非圧縮バージョンを取得するために解凍することはできません (メタデータは異なる場合があります)。
