圧縮アルゴリズムとは何ですか?
コンピューターファイルは、ハードドライブ上の大量のスペースと、送信するための多くの帯域幅を占有します。 特に頻繁にアクセスされないファイルや送信されるファイルの帯域幅などのスペースを節約するために、何らかの方法でデータを圧縮することでデータを小さなパッケージに保存するストレージ方法が開発されました。 いずれの場合も、圧縮アルゴリズム(データサイズを減らす方法)が使用されます。 圧縮アルゴリズムにはいくつかの一般的なカテゴリとタイプがあり、それぞれが異なる方法で動作し、重要な点で結果が異なるものもあります。 一般に、さまざまな圧縮アルゴリズムを使用して、テキストファイルを元のサイズの半分未満に減らすことができます。 グラフィックファイルの場合、結果は大きく異なります。 圧縮の結果として生成されるファイルは、異なる形式か、保存、送信、および配布によく使用されるアーカイブファイルのいずれかです。
圧縮アルゴリズムを分類する1つの方法は、データを圧縮するために辞書方式と統計方式のどちらを使用するかです。 辞書方式は、繰り返し可能なフレーズに焦点を当てており、GIF画像やJARおよびZIPアーカイブで使用されます。 統計的方法は、使用頻度に基づいて変換を行います。これは2つのパスで実行されます。 例は、一部のファックス機で使用される修正ハフマン(mh)です。
圧縮アルゴリズムを分類する2番目の方法、およびプロではないプログラマーが最も頻繁に遭遇する方法は、それらが可逆であるか非可逆であるかによるものです。 ロスレスデータ圧縮アルゴリズムは、データが圧縮解除されたときに元のファイルとまったく同じになるようにデータを圧縮するアルゴリズムです。 ロスレスデータ圧縮アルゴリズムの1つの例は、lzw(Lempel-Ziv-Welchアルゴリズム)です。 1977年にLempelとZivによって開発され、1984年にWelchによって改良され、GIF、TIF、PDFなどのファイル、および特定のモデムで使用されています。
非可逆データ圧縮アルゴリズムには、データを可逆圧縮よりも小さいサイズに縮小する能力がありますが、元のデータの一部が犠牲になります。 つまり、非可逆データ圧縮後の復元では、元のファイルの同一のコピーは得られません。 ただし、圧縮アルゴリズムは、損失が耳や目に見えないように損失を制限するように設計されています。 非可逆圧縮は、AAC、JPEG、MPEG、MP3などのファイル形式で使用されます。