TIFF圧縮アルゴリズムの比較
TIFFファイル内で使用できる圧縮アルゴリズムについて、ファイルサイズ、出力品質、速度などの指標に基づいて比較しています。JPEGは画質とファイルサイズのバランスが最適で、LZWとDEFLATEは元の画像を保存する必要がある場合に適しています。

著者:Jacob Collins (IDRsolutions) / 翻訳:インターワーク
TIFFファイル内で使用できるさまざまな圧縮アルゴリズムについて説明します。ファイルサイズ、出力品質、速度など、さまざまな指標に対する効果を調査します。サンプル画像の生成には、Javaの画像ライブラリJDeliを使用します。
ベースライン画像
比較のベースラインとして、以下の非圧縮画像を使用します。ファイルサイズは39.3MBです。エンコードにかかる時間は5秒弱です。

JPEG
90年代に初めて導入されたJPEGは、画質とファイルサイズの適切なトレードオフにより、画像の圧縮フォーマットとして広く使われてきました。JPEGは非可逆圧縮であるため、圧縮された画像から元のピクセルデータを復元することはできません。
ファイルサイズは1.2MBと劇的に小さくなりました。この小さなファイルサイズでも、画質はオリジナルよりわずかに悪いだけです。デフォルトの解像度で見ると、違いがわかりにくいですが、拡大すると、ノイズやアーチファクトがわずかに多く、シャープでない画像になっていることに気づくでしょう。JPEG圧縮を使用した場合、エンコードにかかる時間は約5秒で、オリジナルとほとんど変わりません。
LZW
Lempel-Ziv-Welch(作成者の名前にちなんで命名)は1984年に導入され、今日Unixのcompressプログラムで使用されています。また、GIF画像で使用される圧縮アルゴリズムでもあります。
LZW圧縮を使用すると、ファイルサイズは18MBになります。LZWは可逆圧縮なので、画質の低下はありません。JPEGと同様、LZWによるエンコードには約5秒かかります。
LZWの面白い癖は、ファイルサイズを大きくする可能性があるということです。ノイズの多い画像は、LZWで圧縮してもファイルサイズは小さくなりません。オリジナルのファイルサイズが4.7MBの場合、LZWで圧縮するとファイルサイズは5.1MBになります。
DEFLATE
DEFLATEも90年代に設計され、PNG画像やZIPアーカイブフォーマットで人気があります。
DEFLATEを使用すると、ファイルサイズは14.4MBに縮小されます。LZWのように、DEFLATEはロスレスなので、圧縮された画像の品質はオリジナルと変わりません。しかし、DEFLATEの欠点は、エンコードに18秒と非常に時間がかかることです。
結論
すべての問題を解決する究極の圧縮アルゴリズムは存在しません。JPEGは、画質を少し落としてファイルサイズを小さくしたい場合に最適ですが、LZWとDEFLATEは、元の画像を保存したい場合に必要です。LZWはDEFLATEよりわずかに大きくエンコードしますが、はるかに高速なので、その答えはユースケースによって異なります。
Javaで画像を扱う開発には多機能・高性能な開発ライブラリー(SDK) JDeliがきっとお役に立つことと思います。JDeliは無料で試用していただけます。

開発者向けPDF入門ガイド
PDFの仕様や活用方法など、開発者に必要な情報をコンパクトにまとめました。初めてPDFを扱う開発者にも分かりやすく、基礎から応用までカバーしているため、PDFのポテンシャルを最大限に引き出し、アプリケーション開発やドキュメント管理の効率化を図るための手引きとなるでしょう。