29

ハフマン符号化はロスレスデータ圧縮アルゴリズムとして使用されていると言われていますが、実際のデータ圧縮ソフトウェアはハフマン符号化を採用していないと言われています。キーが十分に分散化されていない場合、圧縮ファイルは元のファイルよりもさらに大きくなる可能性があるためです。ファイル。

これは、ハフマン符号化の実際のアプリケーションがあるのだろうかと私に疑問を残します。

4

6 に答える 6

39

Huffmanは、GZIP、PKZIP(winzipなど)、BZIP2から、JPEGやPNGなどの画像形式まで、遭遇する可能性のあるすべての主流の圧縮形式で広く使用されています。

すべての圧縮スキームには、意味のある圧縮ができない病理学的データセットがあります。上にリストしたアーカイブ形式は、そのようなファイルが見つかったときに圧縮せずに単に「保存」します。

特許の問題があるため、新しい算術およびレンジコーディング方式はしばしば回避されます。つまり、ハフマンは依然として圧縮業界の主力製品です。

于 2010-02-04T12:04:03.517 に答える
5

このテーマに関するウィキペディアの記事を参照してください。

今日のハフマン符号化は、他の圧縮方法の「バックエンド」としてよく使用されます。DEFLATE(PKZIPのアルゴリズム)およびJPEGやMP3などのマルチメディアコーデックには、フロントエンドモデルと量子化、それに続くハフマン符号化があります。

于 2010-02-04T11:57:33.410 に答える
3

ハフマン符号化の実際のアプリケーションはかなりたくさんあります。ZIPは、おそらくハフマン符号化をベースとして使用する最も広く使用されている圧縮ツールです。先月Googleがリリースした最新の最も効率的なロスレス圧縮アルゴリズムであるBrotliCompressionも、ハフマン符号化を使用しています。それとは別に、BrotliはLZ77と他のいくつかの基本的なロスレス圧縮アルゴリズムも使用しています。Brotliを参照してください。

于 2015-10-15T09:30:25.547 に答える
2

圧縮アルゴリズムを検討する場合、それぞれに長所と短所があります。一連の入力が与えられた場合、そのデータにはより良い圧縮アルゴリズムとより悪い圧縮アルゴリズムが存在するのは圧縮の性質です。

ハフマンは本当に、本当にいくつかのことが得意です。最も顕著なのは、順序を何度も繰り返し、文字スペースのサブセットを含むデータの場合です。たとえば、英語のテキストファイル。英語は同じ文字の後に同じ他の文字が続く傾向があります。

あなたの教授や本があなたにハフマンが使われていないという印象を与えたなら、それらは間違っています。たとえば、インターネットとのほとんどすべての通信は、ある時点でハフマンによってエンコードされます。(多くの通信プロトコルがそれを使用します。)ほとんどの画像ファイル(jpeg)はハフマンでエンコードされています。ほとんどの音楽ファイル(mp3)はハフマンでエンコードされています。他にも多くの例があります。

ハフマンが使用される理由の1つは、適応形ハフマンと呼ばれるわずかに異なるアルゴリズムを介して「発見」できるためです。ファイルを読むと、ハフマンコードを学習し、「必要に応じて圧縮」します。これは簡略化された概要ですが、あなたはその考えを理解しています。

状況の問題に最適なアルゴリズムの使用を解決するために、zipファイルでは、特定のファイルに最適な圧縮に応じて、さまざまな圧縮を使用できます。

于 2010-02-04T12:06:09.610 に答える
2

非常に普及しているアプリケーションは、 http/2のヘッダー圧縮技術であるHPACKでの文字列のエンコードです。

RFCは、HTTPヘッダーの圧縮用に最適化されたハフマンコードテーブルを直接提供します。

于 2019-04-02T18:43:34.220 に答える
0

ハフマンコードは、固定長コードを可変長コードに変換するために使用されます。これにより、可逆圧縮が実現します。可変長コードは、JPEGおよびMPEG技術を使用してさらに圧縮し、目的の圧縮率を得ることができます。

于 2015-07-30T15:54:01.693 に答える