fbpx

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 jxlatte.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 = JDeli.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は無料で試用していただけます。画像フォーマット変換の機能や動作速度などを、まずはご自身の環境でご確認のうえ、ぜひ導入をご検討ください。

    Facebook
    Twitter
    Email
    公式ブログロゴ

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

    PDF用語集

    この記事ではPDF関連の一般的な用語を網羅し、それぞれの定義を解説します。

    PDFメタデータとは?開発者が知っておくべき基礎知識

    PDFファイルを扱う際、「メタデータ」という言葉を耳にすることが多いでしょう。メタデータとは、ドキュメントに関する情報を指し、ファイルの作成者や作成日、使用されたソフトウェアなど、ドキュメントを説明する情報が含まれています。この記事では、開発者向けにPDFメタデータの基本からその利用方法までをわかりやすく解説します。

    PDFを最適化して軽量化!使われないオブジェクト削除で得られる驚きの効果

    Javaでシステム開発を行う中で、PDFファイルのサイズが予想以上に大きくなり困った経験はありませんか?その原因の一つに「使われないオブジェクト」の存在があります。今回は、Javaの開発者でJPedalのプロダクトマネージャーのJacob氏の記事を元に、使われないオブジェクトとは何か、その削除方法、削除によるファイルサイズの削減効果、そしてその他のメリットについて解説します。

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

    開発者向けPDF入門ガイド

    開発者向けPDF入門ガイド

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

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

    MENU
    PAGE TOP