可逆圧縮と非可逆圧縮

可逆圧縮と非可逆圧縮をすっきり解説

先日、画像形式を問題を取り上げ、「BMPは無圧縮」だと説明したが、平成30年度 第2回のウェブデザイン技能検定3級から、非可逆圧縮についての問題が出題されている。今回は、前回の画像形式と照らし合わせ圧縮について解説していこう。

第8問
非可逆圧縮では、圧縮データを復号しても、圧縮前のデータを完全に復元することはできない。

※ 平成30年度 第2回のウェブデザイン技能検定3級 学科試験より引用

まずは、圧縮と解凍の仕組みから

非可逆圧縮の前に、そもそも圧縮とはどういうことか触れておこう。最近の光回線でウェブサイトを閲覧する際には気にならないが、以前の電話回線を使った通信では、ページが表示されるまでに時間がかかりストレスとなっていた。特に画像の表示は時間がかかるため、画像のデータ容量を減らしてストレスを軽減させる必要があったのだ。

その容量を減らす技術が「圧縮」だ。ギューと押しつぶしてデータを小さくする様子を想像してもらえればいい。圧縮は画像のみならず、音楽や動画などあらゆるものが圧縮されることで容量を軽減することが可能だ。

圧縮技術は一つではなく、多くの種類があるが基本的な考え方は共通している。図解で説明しよう。ここに青い点(ピクセル)が一列に50個並んだ画像があるとしよう。データを文字で表すと「青・青・青・青…」と青の情報が50回繰り返されたものになる。冗長というか、ムダと感じないだろうか。

そう、圧縮はこの冗長性を「青×50」というコンパクトなデータにすることだ。そして、実際にそのデータを見たり、聴いたりするときに元に戻す作業をすればいい。その戻すことを「解凍」と呼んでいる。「圧縮」の反対なので「伸長」と呼ぶ人もいるが、一般的には解凍と呼ぶ方が普及している。

上の画像に「圧縮(符号化)」「解凍(復号化)」と書いてあるが、この点も説明しておこう。問題文には「圧縮データを復号しても~」と書かれている。そう、専門用語で解凍することを復号化と呼んでいるのだ。そして、圧縮することを符号化という。試験ではこのように符号・復号も使われるのでセットで覚えておこう。

可逆圧縮と非可逆圧縮の違い

まず先に、可逆圧縮と非可逆圧縮の違いをいうと、可逆圧縮は解凍して元に戻るもの、非可逆圧縮は完全には元に戻らない圧縮方法だ。上の図では、圧縮前の画像と、解凍後の画像は一致している。これは元に戻っているので可逆圧縮なのだ。

非可逆圧縮は、目に見えない(識別できない)グラデーションの色を間引きしたり、耳で聞き取れないような高音域のデータをバッサリと捨ててしまい、大胆に軽量化する圧縮方法となる。その効果は大きく、非可逆圧縮は可逆圧縮よりもデータの軽量化を期待できる。実際にどのようなものかJPEGの画像で比較してみよう。

JPEGの非可逆圧縮

左上の元画像では、ネコの毛をしっかりと認識できるが、右下の画像では目の上や鼻の毛がぼやけてしまっている。この画像は分かり易くするために、わざと多くのデータを捨てて高い圧縮率にしている。非常にデータを軽量化できるが、元の画像のクオリティではなくなっている。これが非可逆圧縮の特徴だ。

主な画像の圧縮方法

前回の講義で取り上げた画像の圧縮方法をまとめると、

画像形式
圧縮方法
PNG
可逆圧縮
JPEG
非可逆圧縮
SVG
無圧縮
BMP
無圧縮

PNGは可逆圧縮なので上図のネコのように滲んだりはしない。だが、どうしても画像のデータ量が増えてしまうため、大きな写真には不向きだ。ケースバイケースで画像の保存形式を選んでいくことが望ましい。

解答

では、もう一度、問題文を振り返ってみよう。

第8問
非可逆圧縮では、圧縮データを復号しても、圧縮前のデータを完全に復元することはできない。

※ 平成30年度 第2回のウェブデザイン技能検定3級 学科試験より引用

「非可逆圧縮では~」とあるから元には戻らない圧縮方法、つまり、この場合はJPEGのことを思い出して欲しい。続く問題文は「解凍しても完全には戻らない」と言っている。これは正しい。正誤問題なので、正しいものは1を、間違っているものは2と答えることになるが、今回は正しいので1となる。

この問いの答えは、「1. 正しい」で納得してもらえただろうか。