JPEG XLって何? − JavaでJPEG XLを読み込む

JPEG XLは、次世代の画像形式として注目を集めています。高画質を維持しつつ、ファイルサイズを大幅に縮小できるのが特徴です。従来のJPEGと比べて圧縮効率が高く、ウェブ上の画像配信やクラウドストレージの最適化、医療や科学分野での高精細画像データの保存など、幅広い分野での活用が期待されています。 この記事では、JPEG XLの技術的特徴や使用例を紹介し、さらにJavaを使ってJPEG XL形式の画像を読み込む方法について解説します。
開発者ブログイメージ

著者 Mark Stephens & Nadir  (IDRsolutions)  翻訳/編集 インターワーク

JPEG XLとは?

JPEG XL (ISO/IEC 18181) は、高い圧縮率と優れた画質を両立した新しい画像形式です。ロスレス圧縮と可逆圧縮の両方に対応しているため、画質を落とさずにファイルサイズを小さくできます。そのため、ウェブサイトでの画像配信の効率化や、レスポンシブウェブ環境向け、クラウドストレージの容量節約に非常に適しています。
JPEG XLはJoint Photographic Experts Group Extra-Largeの略で、従来のJPEGフォーマットから派生した頭字語です。一般的にJPEG XLに関連するファイル名の拡張子は.jxl です。

JPEG XLの主な特徴は以下の通りです:

  • 高圧縮と高画質の両立: JPEG XLは、従来のJPEGやWebPよりも大幅にファイルサイズを削減しつつ、高画質を維持できます。
  • ロスレスと可逆圧縮対応: プロ向けの写真やデザイン用途でも、画質を損なわずに圧縮可能です。
  • 既存JPEGとの互換性: 従来のJPEGファイルをJPEG XLに変換し、サイズを縮小しながら品質を保てます。
  • アニメーション対応: GIFやWebPの代替として、動画像にも対応しています。
  • 幅広い色空間サポート: 色彩豊かな画像や写真に適しており、写真やデザイン分野での活用が期待されています。
  • プログレッシブデコード対応: JPEG XLは、画像を段階的に高解像度へ表示でき、JPEGよりも効率的にプレビューを素早く提供します。これにより、ウェブでの高速表示とスムーズなユーザー体験が実現します。

JPEG XLの普及

2023年、JPEG XLの普及において大きな進展がありました。Googleは一時的にChromiumでのJPEG XLサポートを終了しましたが、AppleがWWDC23でSafari 17での対応を発表しました。これにより、iOSやmacOSを含む全プラットフォームでJPEG XL画像の表示が可能になりました。この動きはJPEG XLの普及を促進し、Googleの再サポートも示唆しています。Appleが採用したことで、JPEG XL画像を扱う機会が増えてくるのではないでしょうか。

 

JavaでJPEG XLを読み込む方法

JPEG XLは比較的新しい画像形式で、現在JavaのImageIOやApache Commons Imagingではサポートされていません。そこで、JavaでJPEG XL画像を読み込むための方法をいくつか紹介します。

JPEG XL画像をJxlatteで読み込む方法

Jxlatte開発中のJPEG XLデコーダーで、JPEG XL形式の画像をPNGなどの一般的な形式に変換できます。以下のコマンドでJPEG XLファイルをPNGに変換できます。

				
					java -jar <a href="https://github.com/Traneptora/jxlatte" target="_blank" title="Java JPEG XL decoder. Contribute to Traneptora/jxlatte development by creating an account on GitHub." hreflang="en">jxlatte</a>.jar samples/art.jxl output.png
				
			

この方法で、JPEG XLを他の形式に変換し、Javaの標準ツールで処理できます。

xpeg-xlラッパーを使ってJPEG XL画像を読む方法

ここには、JPEG-XLライブラリのJavaラッパーがいくつかあります。これらは画像をBufferedImageに読み込むことはできますが、完全なネイティブ・ソリューションを提供するものではありません。

				
					BufferedImage img = ImageIO.read(Paths.get("/foo/bar.jxl").toFile())

				
			

ラッパーを使用すると、JPEG XLを他の画像形式と同様に扱えますが、依存関係の設定が必要です。

JDeliを使用してJPEG XL画像を読み込む方法

JDeliはJPEG XL形式をネイティブにサポートするライブラリで、JPEG XL画像を直接BufferedImageとして読み込めます。JDeliを使用すると、JPEG XL画像を他の形式に変換したり、Javaで直接処理したりできます。

JDeliの使用手順は以下の通りです。

  1. JDeliのトライアル版JARファイルをダウンロードし、クラスパスかモジュールパスに追加します。
  2. JPEG XL画像データを、Fileオブジェクト、InputStream、または byte[]で参照します。
  3. JPEG XL画像をBufferedImageとして読み込みます。

次のコードでJPEG XL画像を読み込めます:

				
					File file = new File("/path/to/image.jxl");
BufferedImage img = <a href="https://www.intwk.co.jp/jdeli/" title="Javaでイメージファイルを安全に扱うJDeliは、HEICやその他のイメージファイル形式をJavaで簡単に読み書き、変換、操作、処理できるようにするJava SDKです。HEIC画像の読み出し/書き込みJDeliは、開発者にHEIC画像フォーマットの包括的なサポートを提供します。また、JPEG/JPEG2000、PNG、TIFFファイルを含む他の画像フォーマットのサポートも強化されています重要なファイルを安全に保管JDeliは、お客様のサーバー上で動作し" hreflang="ja" onover-preload="1">JDeli</a>.read(file);
				
			

JDeliは、JPEG XLを他の画像形式に変換可能です。標準ライブラリより多くの画像形式に対応し、JPEG XL画像を簡単に扱えます。

まとめ

JPEG XLは、その圧倒的な圧縮効率と高画質により、今後の画像フォーマットとして幅広い利用が期待されています。特にAppleのSafariでの対応が発表されたことで、JPEG XLの普及は大きく前進しました。Webサイトの画像配信、クラウドストレージの効率化、プロフェッショナルなフォトグラフィーやデザインの分野でも活用が進む可能性が高まりました。また、Javaでの実装も容易で、開発者にとっても扱いやすいフォーマットです。

JPEG XLは将来的にインターネット全体で標準フォーマットとして広く利用される可能性があり、今後の動向に注目が集まります。JavaでJPEG XL画像を読み込むには、標準ライブラリが対応していないため、Jxlatte、JPEG-XLラッパー、JDeliなどの外部ライブラリが必要です。特にJDeliはJPEG XLをネイティブサポートしており、最も簡単に画像を読み込むことができます。

Javaで画像を扱う開発には多機能・高性能な開発ライブラリー(SDK) JDeliがきっとお役に立つことと思います。JDeliは無料で試用していただけます。画像フォーマット変換の機能や動作速度などを、まずはご自身の環境でご確認のうえ、ぜひ導入をご検討ください。

BuildVuは高機能で実績豊富なPDFソフトウェア開発ツール

PDFソフトウェアの開発ツールをお探しなら、ぜひBuildVuをご検討ください。BuildVuでのPDFソフトウェア開発・提案をサポートしています。BuildVuを利用したシステムやソリューションの開発や提案、企画に役立つ情報を以下にまとめています。不明点やご質問がありましたら、ページ下部のご相談ボタンからお気軽にお問い合わせ下さい。

JDELI – 幅広い画像フォーマットを読み書きするJava SDK

Javaでイメージファイルを安全に扱うJDeliは、HEICやその他のイメージファイル形式をJavaで簡単に読み書き、変換、操作、処理できるようにするJava SDKです。HEIC画像の読み出し/書き込みJDeliは、開発者にHEIC画像フォーマットの包括的なサポートを提供します。また、JPEG/JPEG2000、PNG、TIFFファイルを含む他の画像フォーマットのサポートも強化されています重要なファイルを安全に保管JDeliは、お客様のサーバー上で動作し

画像に透かしを入れる

どんな処理ができますか?ウォーターマークは画像に透かしを追加するもので、テキスト、図形、画像のいずれでも可能です。追加したい透かしに応じて、いくつかのパラメータを受け取ります。すべての透かしは入力として watermark position enum を指定する必要があり、 FitToImage、 Center、 USE_SHAPE_COORDINATES から選べます。JavaでBufferedImageを使ったウォーターマーク処理

JPGからJPEG2000に変換

JDeliは、Javaやその他の言語/スクリプトでJPEGをJPEG2000画像ファイルに簡単に変換します。JavaでJPEGをJPEG2000に変換する方法1.JPEG画像をJavaに読み込むBufferedImage bufferedImage = JDeli.read(new File("jpgImageFile.jpg")); 2.必要に応じて画像を加工します(拡大縮小、シャープネス、ライトニング、透かしなど

Facebook
Twitter
Email
公式ブログロゴ

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

開発チームに最適なJava画像ライブラリとは?

画像処理は現代のJavaアプリケーションにおいて避けて通れない機能の一つです。Webサービスでのサムネイル生成、ドキュメント管理システムでのファイル変換、データ分析での可視化出力など、様々な場面で画像ライブラリの品質がシステム全体の安定性を左右します。

多くの開発チームが最初に手を伸ばすのは、Java標準のImageIOやオープンソースのライブラリでしょう。確かに導入は簡単で、基本的な画像処理には十分に見えます。しかし、プロダクション環境で実際に運用を始めると、思わぬ落とし穴に遭遇することがあります。

開発チームに最適なJava PDFライブラリとは?

「オープンソースで十分じゃない?」
そう考えるエンジニアは少なくありません。確かに無償のライブラリは機能が豊富で、改変も自由です。しかしバグ修正やセキュリティパッチを自分たちで追い続ける労力、サードパーティのパッケージを呼び出すリスク、そしてライセンス条件の判断に迷う時間などを考えると、コードを書かない”隠れコスト”が静かに膨らんでいきます。

「保守や脆弱性対応に追われて本来の開発が進まない!」

そんな声が聞こえてきたら、商用ライブラリへの切り替えどきかもしれません。

開発チームに最適なPDF-HTML変換ツールとは?

開発チームに最適なPDF-HTML変換ツールとは?PDFからHTMLへの変換において開発者が直面する課題と、それを解決するBuildVuの特長を解説。正確な変換品質、スケーラビリティ、セキュリティ、開発者フレンドリーな出力、そしてシンプルな料金体系で、チーム開発の効率を高める方法をご紹介します。

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

開発者向けPDF入門ガイド

開発者向けPDF入門ガイド

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

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

MENU
PAGE TOP