可逆圧縮
[Wikipedia|▼Menu]

可逆圧縮(かぎゃくあっしゅく)とは、圧縮前のデータと、圧縮・展開の処理を経たデータが完全に等しくなるデータ圧縮方法のこと[1]。ロスレス圧縮[1](ロスレスあっしゅく)、無歪み圧縮(むゆがみあっしゅく)[2]とも呼ばれる。

アルゴリズムとしては連長圧縮ハフマン符号LZWなどが有名。

コンピュータ上でよく扱われるLZHZIPCABや、画像圧縮形式のPNGGIFなどが可逆圧縮である[1]
アルゴリズム「Category:可逆圧縮アルゴリズム」も参照

すべてのデータを効果的に圧縮できる可逆圧縮アルゴリズムは存在しない(可逆圧縮の限界の節を参照)。そのため、データの種類によって多くのアルゴリズムが存在する。下記に主要な可逆圧縮方式を列挙する。
データ全般

算術符号 - エントロピー符号の一種

ハフマン符号 - エントロピー符号の一種

LZ77LZ78 - 辞書式圧縮(英語版)の一種

Lempel-Ziv-Markov chain-Algorithm (LZMA) - 7zxzで使用される

Lempel?Ziv?Storer?Szymanski (LZSS) - WinRARでハフマン符号とともに使用される

Deflate - ZIPgzipPNGで使用される


Lempel?Ziv?Welch (LZW) - GIFUNIX Compressで使用される


ブロックソート - 圧縮の前処理で使用される可逆変換

Prediction by Partial Matching (PPM) - プレーンテキストの圧縮で使用される

連長圧縮

音声

ATRAC Advanced Lossless (AAL)

Apple Lossless (ALAC)

FLAC

Monkey's Audio (APE)

MPEG-4 ALS

MPEG-4 SLS

Shorten (SHN)

TTA

WavPack

Windows Media Audio Lossless

ラスターイメージ

AV1 Image File Format (AVIF)

JPEG XL - ロスレスモードあり

JPEG XR - ロスレスモードあり

Lossless JPEG

Portable Network Graphics (PNG)

QOI

Tagged Image File Format (TIFF)

WebP

可逆圧縮の限界

可逆圧縮アルゴリズムはすべての入力データに対して圧縮後のデータサイズが圧縮前より小さいことを保証できない。すなわち、どのような可逆圧縮アルゴリズムでも圧縮処理後にデータサイズが小さくならない入力データが存在し、また圧縮処理後にデータサイズが小さくなる入力データが存在する場合、圧縮処理後にデータサイズが大きくなる入力データも必ず存在する。前者の証明は下記の通り[3]
すべての入力データを小さくできるアルゴリズムの場合、アルゴリズムを繰り返して適用することでデータサイズを1ビットにできる。

しかし、1ビットでは記録できる情報が2種類しかなく、解凍が明らかに不可能である。

したがって、前提である「すべての入力データを小さくできるアルゴリズムが存在する」が成立しない。

後者の証明は鳩の巣原理を用いたものであり、下記の通りとなっている[3][4]
「圧縮処理後にデータサイズが小さくなる入力データが存在し、圧縮処理後にデータサイズが大きくなる入力データが存在しない」と仮定する。

圧縮処理後にデータサイズが小さくなる入力データのうち、最も小さい入力データをFとし、そのデータサイズをMとする。Fの圧縮処理後のデータサイズをNとする(MとNの単位はビット)。

圧縮処理後にデータサイズが小さくなるため、N < Mである。さらに圧縮処理後にデータサイズが大きくなる入力データが存在しないため、Nビットのデータは圧縮処理後もNビットとなる。

Nビットのデータは2N種類ある。前述のNと合わせ、圧縮処理後にNビットとなるデータは少なくとも2N+1種類存在する。

しかしNビットのデータが2N種類しかないので、鳩の巣原理により少なくとも2種類のデータが圧縮後同じデータになり、解凍が不可能(どちらに戻すべきか判別できない)である。

したがって最初の仮定は誤りであり、「圧縮処理後にデータサイズが小さくなる入力データが存在しない」(可逆圧縮アルゴリズムではない)か「圧縮処理後にデータサイズが大きくなる入力データが存在する」となる。

このようにすべてのデータを圧縮できるアルゴリズムは数学上存在しえないが、インターネット・バブル期にはAdam's Platform(1998年)、NearZero(2001年)などそのようなアルゴリズムを発明したと主張するベンチャーが複数存在した[3]。実際の処理では圧縮を行わず、入力データを別のフォルダにコピーし、「圧縮」された偽ファイルに置き換えただけであり、「解凍」のときは別のフォルダにコピーした入力データを元に戻しただけである[3]

可逆圧縮アルゴリズムのベンチマークにはカルガリーコーパス(英語版)が広く使われている[5][6]。サイズ、速度、メモリ使用量がトレードオフの関係にあり、たとえばデータ圧縮比が高いアルゴリズムはメモリ使用量が多い場合が多い[6]
出典^ a b c .mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}"可逆圧縮". ASCII.jpデジタル用語辞典. コトバンクより2023年9月5日閲覧。
^ "無歪み圧縮". 世界大百科事典. コトバンクより2023年9月5日閲覧。
^ a b c d Bell, Tim (28 September 2015). "Surprising Computer Science". In Brodnik, Andrej; Vahrenhold, Jan (eds.). Informatics in Schools. Curricula, Competences, and Competitions. 8th International Conference on Informatics in Schools: Situation, Evolution, and Perspectives (英語). Vol. 9378. Springer. pp. 8?9. doi:10.1007/978-3-319-25396-1. ISBN 978-3-319-25396-1. S2CID 26313283。
^ Sayood, Khalid, ed. (18 December 2002). Lossless Compression Handbook (Communications, Networking and Multimedia) (英語) (1 ed.). Academic Press. p. 41. ISBN 978-0-12390754-7
^ 岩間大輝、石田崇、後藤正幸「アルファベットサイズが未知の情報源に対する効率的なベイズ符号化法の一考察」『第10回情報科学技術フォーラム』議事録、2011年8月22日、153頁(日本語)。
^ a b Mahoney, Matt (2010). "Data Compression Explained" (PDF) (英語). p. 3. 2023年9月5日閲覧。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:23 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef