著者 Amy Pearson (IDRsolutions) 翻訳 BuildVu日本チーム
明らかな改善点は、HEICやGIFの読み書き、JPEG2000の書き込み、WMFやEMFの読み出しといったフォーマットの追加サポートです。しかし、私たちは、フォーマットの取り扱いに関するスピードの改善も見てみたいと思っています。
速度比較テストはどのように行われたのでしょうか?
Java Microbenchmark Harnessを使用して、ImageIOとJAIに対するライブラリのパフォーマンスをテストすることで、より正確なテストができることがわかりました。どのようにテストを行うか知りたい場合は、JMHとIDEA IDEを使ったJavaライブラリの画像性能テスト方法(英語)という記事があります。
テストに使用したコードはGitHubにありますし、テストは試用版でも問題なく運用できますので、ご自身でテストを行いたい方はぜひお試しください。ぜひ、あなた自身の画像ファイルのデータセットやハードウェアでテストを実行し、結果を教えてください。
テスト方法について
まず、JDeliとImageIO/DJIの両方でサポートされているフォーマットをテストしていることを確認しておきます。そのため、DICOM、EMF、HEIC、PSD、SGI、WebP、WMFは含めないことにしています。
HEICは現在他のライブラリがサポートしていないにもかかわらず、読み出しと書き出しの両方で分けて入れています。私たちのチームが苦労して作った新しいフォーマットの速度を見ることに興味がありますし、皆さんも興味を持たれるのではないかと思いました。
速度を比較したいので、平均時間モードを採用します。これは、1回の操作の平均秒数を取るものです。これらのテストではすべて、50ファイルのディレクトリを使用して、画像をBufferedImageとしてJavaにロードすることにします。各テストについて、最良の結果を緑色でハイライトしています。
スコアを見てみましょう:
読み込み
ファイルタイプ | ImageIO | ImageIO/JAI | JDeli |
---|---|---|---|
PNG | 0.168 ± 0.001 | 非対応 | 0.483 ± 0.001 |
JPEG | 6.159 ± 0.013 | 非対応 | 10.464 ± 0.005 |
GIF | 0.063 ± 0.001 | 非対応 | 0.027 ± 0.001 |
BMP | 0.099 ± 0.001 | 非対応 | 0.026 ± 0.001 |
TIFF | 0.014 ± 0.001 | 非対応 | 0.015 ± 0.001 |
JPEG2000 | 非対応 | 24.855 ± 0.044 | 17.528 ± 0.032 |
HEIC | 非対応 | 非対応 | 0.085 ± 0.001 |
書き出し
ファイルタイプ | ImageIO | ImageIO/JAI | JDeli |
---|---|---|---|
PNG | 0.623 ± 0.006 | 非対応 | 0.216 ± 0.001 |
JPEG | 10.600 ± 0.0.077 | 非対応 | 5.809 ± 0.011 |
TIFF | 非対応 | 11.738 ± 0.050 | 6.379 ± 0.013 |
GIF | 1.078 ± 0.004 | 非対応 | 0.027 ± 0.001 |
HEIC | 非対応 | 非対応 | 0.297 ± 0.001 |
JDeliにはPNGとTIFFの圧縮オプションがいくつかあるので、圧縮は速度に最適化したオプションに設定しました。両ライブラリとも、速度や画質を優先するオプションが異なるため、テストでは同等の画質設定で速度を比較しています。
まとめ
JDeliはImageIOの多くのバグを修正し、より多くのファイルやファイルフォーマットを扱えるようになった。テストの際、ImageIOで例外が発生するファイルがありましたので、テストを公正に行うため、これらのファイルを削除し、両方のライブラリで処理できるファイルに置き換えることにしました。
あなたのユースケースに最適なJava画像ライブラリを選択することは重要ですが、ここでは比較可能な画像品質に対して速度のみを比較しています。ファイルサイズ、品質、サポートされているフォーマットなど、比較できる指標はたくさんあります。
一行のJavaコードで画像の読み取りと書き込みが可能
画像の読み込み:
BufferedImage image = JDeli.read(streamOrFile);
画像の書き出し:
JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile)
取り扱い製品について
PDF規格は複雑なうえに、過去からの積み重ねで非常にわかりにくくなっています。PDF連携ソフトウェアの開発では、英国IDRsolutions 社のPDF関連製品(変換ツール、ライブラリ、ソフトウェア部品など)を、ぜひご検討ください。
IDRsolutions はPDF関連ツールを20年以上に渡って開発・提供し続けています。PDF分野の老舗企業として、世界中の企業や公的機関にご活用いただいています。
日本では株式会社インターワークがIDRsolutions社の日本総代理店として取り扱っていますので、お気軽にご相談ください。
VIEWING PRODUCTS
PDFをHTML5やSVGに変換
PDFのフォームをHTML5に変換
SDK PRODUCTS
PDFファイルの表示、変換、抽出
多くの画像ファイル形式を読み書き、変換、操作、処理