著者 Jacob Collins (IDRsolutions) 翻訳 インターワーク
TIFFファイル内で使用できるさまざまな圧縮アルゴリズムについて説明します。ファイルサイズ、出力品質、速度など、さまざまな指標に対する効果を調査します。サンプル画像の生成には、Javaの画像ライブラリJDeliを使用します。
比較のベースラインとして、以下の非圧縮画像を使用します。ファイルサイズは39.3MBです。エンコードにかかる時間は5秒弱です。
ファイルサイズは1.2MBと劇的に小さくなりました!この小さなファイルサイズでも、画質はオリジナルよりわずかに悪いだけです。デフォルトの解像度で見ると、違いがわかりにくいですが、拡大すると、ノイズやアーチファクトがわずかに多く、シャープでない画像になっていることに気づくでしょう。JPEG圧縮を使用した場合、エンコードにかかる時間は約5秒で、オリジナルとほとんど変わりません。
オリジナルのファイルサイズは4.7MB。しかし、LZWで圧縮するとファイルサイズは5.1MBになります。
DEFLATE
DEFLATEも90年代に設計され、PNG画像やZIPアーカイブフォーマットで人気があります。
DEFLATEを使用すると、ファイルサイズは14.4MBに縮小されます。LZWのように、DEFLATEはロスレスなので、圧縮された画像の品質はオリジナルと変わりません。しかし、DEFLATEの欠点は、エンコードに18秒と非常に時間がかかることです!
結論
結論として、すべての問題を解決する究極の圧縮アルゴリズムは存在しません。JPEGは、画質を少し落としてファイルサイズを小さくしたい場合に最適ですが、LZWとDEFLATEは、元の画像を保存したい場合に必要です。LZWはDEFLATEよりわずかに大きくエンコードしますが、はるかに高速なので、その答えはユースケースによって異なります。
JDELI – 幅広い画像フォーマットを読み書きするJava SDK
Javaでイメージファイルを安全に扱うJDeliは、HEICやその他のイメージファイル形式をJavaで簡単に読み書き、変換、操作、処理できるようにするJava SDKです。HEIC画像の読み出し/書き込みJDeliは、開発者にHEIC画像フォーマットの包括的なサポートを提供します。また、JPEG/JPEG2000、PNG、TIFFファイルを含む他の画像フォーマットのサポートも強化されています重要なファイルを安全に保管
