質問: dct変換の圧縮について 画像をdct変換すると、左上の方に重要な成分が集まりますよね。 なので右下の方をカットして復元しても元画像に大きな影響を与えない。つまり少ない劣化で圧縮できた。 と言うのがdct変換の圧縮であると認識しています。 (これが間違いだったらすみません。勉強不足でした。) でもこれって復元画像の画素数(ピクセル数?)は変わりませんよね?変わるのは各画素の数値だけ。この場合、元画像に比べて復元画像のファイルサイズは減少するんでしょうか?ファイルサイズは画素数に依存すると思うんですが... (もしかして、圧縮=ファイルサイズの減少、って訳ではない?)
回答: >と言うのがdct変換の圧縮であると認識しています。 違います。 が、それはひとまず置いておいて、疑問に対して答えておくと、 その方法で保存するのはdct結果のデータであって、復元した画像データではありません。 たとえば元画像が8×8の64個の数値からなっているとして、dctをかけると同じく64個の数値になります。これを保存するときはそのうち左上16個だけを保存します。 保存した画像を見る時にはその16個のデータから逆dctによって画像を復元します。 もちろん復元した状態を保存しようとしたら元と同じデータ量になります。bmp→jpg→bmpと変換したようなものです。 で、これが圧縮かということですが、 この例は圧縮の説明に必ずといっていいほど出てくるのですが、jpgなどの実際の圧縮方式とは全く別物です。似ているところはdctを使っているところだけ。これはあくまでdctの概念の説明だと考えてください。 例えば上の例で挙げた「64個のdctデータから左上16個を保存(の後逆dctをかける)」というのは、「画像を1/2に縮小(の後2倍に拡大)」と同じことです。これを圧縮とは普通呼びません。