通信の最適化によるお客さま影響について(画像データ圧縮)
マイネ王 運営事務局の気まぐれトラベラーです。
先日の記事に引き続き、通信の最適化の実施内容であります「画像データ圧縮」によるお客さま影響についてお伝えしたいと思います。
本来、最適化の実施前にご説明すべきだったにも関わらず、このようなタイミングで投稿する形となってしまい本当に申し訳ございませんでした。少しでも、お客さまの不安を払拭できるよう詳細についてご説明させていただきます。
〜 本文は省略されました 〜
Pさんのコメント
気まぐれトラベラー@運営事務局様
GIF画像についてですが、圧縮前サンプル画像は8bit(256色)フォーマットですが74色しか使われていません。圧縮後サンプルは7bit(128色)に「減色」していますが元が74色しか使われてないので結果は同じ74色で無劣化なサンプルになっています。圧縮前がフルに256色使われていれば、128色に減色されると見た目の劣化も判別できると思います。
また、画像の付加情報は変更しないとありますが、GIFフォーマットの「Disposal Method」が変更されます。圧縮前サンプルは Disposal Method「0」ですが、圧縮後サンプルは「2」です。静止画GIFでは問題ありませんが、GIFアニメで問題がでます。GIFアニメも圧縮対象になっており、差分最適化されているGIFアニメの表示が壊れるものが実際に出ています。
(GIFアニメの場合は最終フレームが Disposal Method「2」になります。また、差分最適化されている各フレームが背景色によって再透過されてしまい、これによりGIFアニメ表示が壊れる場合があります。)
更に、差分最適化されたGIFアニメが「減色」によっていくらかサイズダウンされても、グローバルカラーテーブルしか持たない場合でも、各フレームにローカルカラーテーブルが付加されてしまい、無駄にサイズを増やしています。結局、減色劣化させても僅かしかサイズダウンできていません。
画像の圧縮ということなら、8bitのまま減色せずにlossy(LZW)圧縮するべきではないかと考えます。減色は劣化の割にサイズダウン率が低いです。
個人的な本心としては強制的な画像の不可逆圧縮はやめて頂きたかったですが、継続して適用されるなら製品の不具合を修正していただきたいと思います。
GIF画像についてですが、圧縮前サンプル画像は8bit(256色)フォーマットですが74色しか使われていません。圧縮後サンプルは7bit(128色)に「減色」していますが元が74色しか使われてないので結果は同じ74色で無劣化なサンプルになっています。圧縮前がフルに256色使われていれば、128色に減色されると見た目の劣化も判別できると思います。
また、画像の付加情報は変更しないとありますが、GIFフォーマットの「Disposal Method」が変更されます。圧縮前サンプルは Disposal Method「0」ですが、圧縮後サンプルは「2」です。静止画GIFでは問題ありませんが、GIFアニメで問題がでます。GIFアニメも圧縮対象になっており、差分最適化されているGIFアニメの表示が壊れるものが実際に出ています。
(GIFアニメの場合は最終フレームが Disposal Method「2」になります。また、差分最適化されている各フレームが背景色によって再透過されてしまい、これによりGIFアニメ表示が壊れる場合があります。)
更に、差分最適化されたGIFアニメが「減色」によっていくらかサイズダウンされても、グローバルカラーテーブルしか持たない場合でも、各フレームにローカルカラーテーブルが付加されてしまい、無駄にサイズを増やしています。結局、減色劣化させても僅かしかサイズダウンできていません。
画像の圧縮ということなら、8bitのまま減色せずにlossy(LZW)圧縮するべきではないかと考えます。減色は劣化の割にサイズダウン率が低いです。
個人的な本心としては強制的な画像の不可逆圧縮はやめて頂きたかったですが、継続して適用されるなら製品の不具合を修正していただきたいと思います。