fbpx

TIFF圧縮アルゴリズムの比較

TIFFファイル内で使用できる圧縮アルゴリズムについて、ファイルサイズ、出力品質、速度などの指標に基づいて比較しています。JPEGは画質とファイルサイズのトレードオフが最適で、LZWとDEFLATEは元の画像を保存する必要がある場合に適しています。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は無料で試用していただけます。画像フォーマット変換の機能や動作速度などを、まずはご自身の環境でご確認のうえ、ぜひ導入をご検討ください。

    Facebook
    Twitter
    Email
    公式ブログロゴ

    製品に関する記事や開発者のブログ

    robot

    PDFソフトウェアの開発に役立つ情報をメールでお届けします

    PDFに最適な圧縮形式は?

    Portable Document Format(PDF)には、ファイルサイズと品質の最適なバランスを実現するための複数の圧縮オプションが用意されています。圧縮の選択は、PDF内のコンテンツの種類や希望する出力品質など、さまざまな要因によって異なります。この記事では、こうした要素についてご紹介します。

    LZW圧縮とは?

    LZWは可逆データ圧縮です。Abraham Lempel、Jacob Ziv、Terry Welchによって開発されたLZWアルゴリズムは、動的に作成される辞書を使用してデータ文字列をコードに変換します。LWZは、GIF画像形式、特定のTIFF画像形式、PDFファイルで一般的に使用されています。

    CCITT圧縮とは?

    CCITTは、2色の画像(通常は白黒)を圧縮するために使用される可逆圧縮フォーマットです。これは、TIFF圧縮に使用されます。

    JavaでマルチTIFFファイルを表示する方法

    TIFF(タグ・イメージ・ファイル・フォーマット)ファイルは、複数の画像を含むことができます。これがマルチTIFFファイルと呼ばれるものです。この記事では、JavaでマルチTIFFファイルを読み込んで表示する方法を紹介します。

    MENU
    PAGE TOP
    ロボット
    PDFソフトウェアの開発に役立つ情報をメールでお届けします