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
    公式ブログロゴ

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

    PDFが引き起こす、ウェブサイトにおける5つの深刻な課題

    PDFの悩みを一気に解決!BuildVu(ビルドビュー)が実現する、次世代のドキュメント戦略とは?
    レイアウトを保ったまま、検索性やモバイル対応を実現。社内の膨大な情報資産を、誰もがアクセスしやすいHTMLに自動変換。BuildVuで、ビジネスに眠れる情報の力を呼び覚ましましょう!

    PDFってこうなってる? 実践でPDFの内部構造を学ぼう Part 7:色を操るグラフィックスステート

    今回は、画面に色を付けてみましょう。その過程で、グラフィックスステート(グラフィックス状態)について説明します。PDFファイルには、グラフィックスステートというデータ構造が関連付けられています。このデータ構造には、グラフィックスの描画方法を記述する情報が格納されます。現在の色や使用可能な色などの値がグラフィックスステートに保存されます。また、現在のクリップ、変換行列、線に対して行える面白い操作、ユーザー空間(PDFの座標系)からデバイス空間(モニター)へのグラフィックスの描画方法を変更するその他の命令など、様々な要素が含まれます。

    PDFってこうなってる? 実践でPDFの内部構造を学ぼう Part 6:パスで図形を描こう

    「Part 4: 白紙のPDFページを自作する」で示したように、PDFはストリームオブジェクト内にある一連のコマンドを使って描画されます。これらのコマンドを通じて、PDFビューアーはページ上に表示される全コンテンツを描画する方法を理解できます。この記事では、グラフィックコマンドを探究し、ページ上に数本の線を描画するPDFをテキストエディタで作成します。

    PDFファイルを扱うシステム開発・ウェブ開発に役立つ

    開発者向けPDF入門ガイド

    開発者向けPDF入門ガイド

    PDFの基礎から応用まで開発者のための入門ガイド2024年版

    PDF の仕様や活用方法など、開発者に必要な情報がコンパクトにまとめました。初めてPDFを扱う開発者にも分かりやすく、基礎から応用までカバーしているため、PDF のポテンシャルを最大限に引き出し、アプリケーション開発やドキュメント管理の効率化を図るための手引きとなるでしょう。技術的な側面に興味がある開発者だけでなく、ビジネスでPDFを有効活用したい方にもおすすめの一冊です。

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