| JPEG | |
|---|---|
圧縮率とそれに伴う損失が左から右に向かって減少しているヨーロッパヤマネコの写真。 | |
| ファイル名拡張子 | .jpg、、、、.jpeg.jpe.jif.jfif.jfi |
| インターネットメディアの 種類 | 画像/JPEG |
| タイプコード | JPEG |
| 統一型識別子 (UTI) | パブリック.jpeg |
| 魔法の数字 | ff d8 ff |
| 開発元 | 合同写真専門家グループ、IBM、三菱電機、AT&T、キヤノン株式会社[ 1 ] |
| 初回リリース | 1992年9月18日 ( 1992-09-18 ) |
| フォーマットの種類 | 非可逆画像圧縮フォーマット |
| 圧縮 | ID |
| 拡張 | JPEG 2000 |
| 標準 | ISO/IEC 10918、ITU-T T.81、ITU-T T.83、ITU-T T.84、ITU-T T.86 |
| Webサイト | jpeg.org/jpeg/ |
JPEG(/ ˈdʒeɪpɛɡ /ジェイペグ、 Joint Photographic Experts Groupの略で、時折JPEG 1と呼ばれる)[ 2 ] [ 3 ]は、デジタル画像、特にデジタル写真で生成された画像の非可逆圧縮によく使われる方法です。圧縮率は調整可能で、ストレージサイズと画質のトレードオフを選択できます。JPEG は通常 10:1 の圧縮率を実現し、画質は低下しますが、知覚できる程度ではあるものの、広く許容範囲内とされています。[ 4 ] 1992 年の導入以来、JPEG は世界で最も広く使われている画像圧縮規格であり、 [ 5 ] [ 6 ]最も広く使われているデジタル画像フォーマットでもあり、2015 年時点で毎日数十億枚の JPEG 画像が生成されています。[ 7 ]
合同写真専門家グループは、 1992 年に離散コサイン変換(DCT) アルゴリズムに基づいて標準を作成しました。 [ 8 ] [ 9 ] [ 10 ] JPEG は、インターネットや後にソーシャルメディアでデジタル画像やデジタル写真が普及する大きな要因となりました。[ 11 ] JPEG 圧縮は、多くの画像ファイル形式で使用されています。JPEG/ Exif は、デジタルカメラやその他の写真画像キャプチャデバイスで使用される最も一般的な画像形式です。JPEG/ JFIFとともに、ワールドワイドウェブ上で写真画像を保存および送信するための最も一般的な形式です。[ 12 ]これらの形式のバリエーションは区別されず、単に JPEG と呼ばれることがよくあります。
JPEG の MIME メディア タイプは「image/jpeg」ですが、古いバージョンの Internet Explorer ではJPEG画像をアップロードする際に「image/pjpeg」という MIME タイプが提供されます。[ 13 ] JPEG ファイルは通常、ファイル名拡張子が「jpg」または「jpeg」です。JPEG/JFIF は最大 65,535×65,535 ピクセルの画像サイズをサポートしており、[ 14 ]アスペクト比1:1 の場合、最大 4 ギガピクセルまで対応しています。2000 年に JPEG グループは後継となることを意図したフォーマットJPEG 2000を発表しましたが、支配的な画像標準として元の JPEG に取って代わることはできませんでした。[ 15 ]
1992年に公開されたオリジナルのJPEG仕様は、CCITT(現在のITU-T )とJoint Photographic Experts Groupが引用したさまざまな以前の研究論文や特許のプロセスを実装しています。[ 1 ]
JPEG の非可逆圧縮アルゴリズムの基礎は、離散コサイン変換(DCT) [ 9 ] [ 10 ]であり、これは1972 年にNasir Ahmedによって画像圧縮技術として初めて提案されました。[ 16 ] [ 10 ] Ahmed は、1974 年の論文でT. Natarajan およびKR Raoと共に DCT アルゴリズムを発表しました。 [ 17 ]この論文は JPEG 仕様で引用されています。[ 9 ]
JPEG仕様では、複数の企業の特許が引用されています。以下の特許は、その算術符号化アルゴリズムの基礎となっています。[ 1 ]
JPEG仕様では、IBMの他の3つの特許も引用されています。特許権者として引用されている他の企業には、AT&T(2つの特許)とキヤノン株式会社が含まれます。 [ 1 ]リストには、 Compression LabsのWen-Hsiung ChenとDaniel J. Klenkeが1986年10月に出願した米国特許第4,698,672号がありません。この特許はDCTベースの画像圧縮アルゴリズムを記述しており、後に2002年に論争の的となりました(下記の特許論争を参照)。[ 18 ]ただし、JPEG仕様では、Wen-Hsiung Chenが1977年と1984年に発表した2つの以前の研究論文を引用しています。[ 1 ]
「JPEG」は、JPEG規格やその他の静止画符号化規格を作成した委員会の名称であるJoint Photographic Experts Groupの略です。「Joint」はISO TC97 WG8とCCITT SGVIIIの略です。1986年に設立されたこのグループは、1980年代後半にJPEG規格を開発しました。グループは1992年にJPEG規格を公開しました。[ 5 ]
1987年にISO TC 97はISO/IEC JTC 1となり、1992年にはCCITTはITU-Tとなった。現在、JTC1側では、JPEGはISO / IEC合同技術委員会1、小委員会29、作業部会1(ISO/IEC JTC 1/SC 29 /WG 1)の2つのサブグループの1つであり、 「静止画の符号化」 というタイトルである。[ 19 ] [ 20 ] [ 21 ] ITU-T側では、ITU-T SG16がそれぞれの組織である。オリジナルのJPEGグループは1986年に組織され、[ 22 ] 1992年に最初のJPEG規格を発行し、1992年9月にITU-T勧告T.81として承認され[ 23 ]、1994年にはISO / IEC 10918-1となった。
JPEG規格は、画像がバイトストリームに圧縮され、再び画像に解凍される方法を定義するコーデックを規定していますが、そのストリームを格納するために使用されるファイル形式は規定していません。[ 24 ] ExifおよびJFIF規格は、 JPEG圧縮画像の交換に一般的に使用されるファイル形式を定義しています。
JPEG規格は正式には「情報技術 -連続階調静止画像のデジタル圧縮および符号化」と命名されています。ISO/IEC 10918は以下の部分から構成されています。
Ecma International TR /98 は JPEG ファイル交換フォーマット (JFIF) を規定しており、初版は 2009 年 6 月に発行されました。[ 28 ]
2002年、Forgent Networksは、1986年10月27日に出願され、1987年10月6日に付与された特許(Compression LabsのWen-Hsiung ChenとDaniel J. Klenkeによる米国特許第4,698,672号)に基づき、JPEG技術の特許権を所有し、行使すると主張した。 [ 18 ] [ 29 ]当時ForgentはCompression Labsを所有していなかったが、Chenは後にCompression LabsをForgentに売却し、その後ChenはCiscoに勤務した。これによりForgentは特許の所有権を取得した。[ 18 ] Forgentの2002年の発表は、 UnisysがGIF画像圧縮規格に対する権利を主張しようとした時を彷彿とさせる騒動を引き起こした。
JPEG委員会は2002年に特許請求を調査し、先行技術によって無効であるとの見解を示した[ 30 ]。この見解は様々な専門家によっても共有されている[ 18 ] [ 31 ] 。
2002年から2004年の間に、Forgentは特許を約30社にライセンス供与することで約1億500万米ドルを得ることができた。2004年4月、Forgentはさらなるライセンス料の支払いを強制するために他の31社を提訴した。同年7月、21の大手コンピュータ企業からなるコンソーシアムが特許の無効化を目的とした反訴を起こした。さらに、Microsoftは2005年4月にForgentに対して別の訴訟を起こした。[ 32 ] 2006年2月、米国特許商標庁は、 Public Patent Foundationの要請により、ForgentのJPEG特許を再審査することに同意した。[ 33 ] 2006年5月26日、USPTOは先行技術に基づいて特許を無効と判断した。USPTOはまた、Forgentが先行技術を知っていたにもかかわらず、意図的に特許庁に知らせなかったことも発見した。これにより、特許の復活を求めるいかなる控訴も成功する可能性は極めて低くなった。[ 34 ]
フォージェントは1994年に欧州特許庁から同様の特許も取得しているが、その効力は不明である。[ 35 ]
2006年10月27日現在、米国特許の20年の有効期間は満了したようで、2006年11月、フォージェントはJPEG規格の使用に対する特許請求の執行を放棄することに同意した。[ 36 ]
JPEG委員会は、ライセンス料を支払うことなく規格(特に基本方式)を実装できることを明確な目標の一つとしており、 20以上の大企業からJPEG 2000規格に関する適切なライセンス権を確保している。
2007年8月、別の会社であるGlobal Patent Holdings, LLCは、1993年に発行された同社の特許(米国特許第5,253,341号)が、ウェブサイトまたは電子メールによるJPEG画像のダウンロードによって侵害されていると主張した。この特許が無効とされなければ、JPEG画像を表示するすべてのウェブサイトに適用される可能性がある。この特許は2000年から2007年まで米国特許商標庁によって再審査されていた。2007年7月、特許庁は特許の元のクレームをすべて取り消したが、Global Patent Holdingsが提案した追加のクレーム(クレーム17)は有効であると判断した。[ 37 ]その後、Global Patent Holdingsは、特許のクレーム17に基づいて多数の訴訟を起こした。
再審査後の最初の2件の訴訟は、いずれもイリノイ州シカゴで提起され、グローバル・パテント・ホールディングスはグリーンベイ・パッカーズ、CDW、モトローラ、アップル、オービッツ、オフィスマックス、キャタピラー、クラフト、ピーポッドを被告として訴えた。3件目の訴訟は2007年12月5日に南フロリダでADTセキュリティサービス、オートネーション、フロリダ・クリスタルズ社、HearUSA、MovieTickets.com、オクウェン・フィナンシャル社、タイヤ・キングダムを相手取って提起され、4件目の訴訟は2008年1月8日に南フロリダでボカラトン・リゾート&クラブを相手取って提起された。5件目の訴訟はネバダ州でグローバル・パテント・ホールディングスに対して提起された。この訴訟は、グローバル・パテント・ホールディングスから脅迫を受けたとされるZappos.com社によって提起され、341特許が無効であり侵害されていないという司法宣言を求めた。
グローバル・パテント・ホールディングスは、グレゴリー・アハロニアン[ 38 ]や「特許トロール・トラッカー」として知られるウェブサイトブログの匿名運営者[ 39 ]など、広範なソフトウェア特許を公然と批判する人々を訴えたり脅迫したりするためにも「341特許」を使用していた。 2007年12月21日、シカゴの特許弁護士ヴァーノン・フランシセンは、新たな先行技術に基づいて「341特許」の唯一残っているクレームを再検討するよう米国特許商標庁に要請した[ 40 ] 。
2008 年 3 月 5 日、米国特許商標庁は、新たな先行技術により特許の有効性に関して重大な新たな疑問が生じたとして、341 特許の再審査に同意した。[ 41 ]再審査を受けて、係属中の 5 件の訴訟のうち 4 件の侵害被告は、米国特許商標庁による 341 特許の審査が完了するまで訴訟を一時停止 (保留) するよう申し立てた。2008 年 4 月 23 日、イリノイ州シカゴの 2 件の訴訟を担当する裁判官は、これらの訴訟における申し立てを認めた。[ 42 ] 2008 年 7 月 22 日、特許庁は、19 の個別の理由に基づいてクレームが無効であると判断し、2 回目の再審査の最初の「オフィス アクション」を発行した。[ 43 ] 2009 年 11 月 24 日、すべてのクレームを取り消す再審査証明書が発行された。
2011年から2013年初頭にかけて、テキサス州東部に拠点を置くプリンストン・デジタル・イメージ・コーポレーション[ 44 ]という団体が、米国特許第4,813,056号の侵害を理由に多数の企業を提訴し始めた。プリンストンは、JPEG画像圧縮規格が「056」特許を侵害していると主張し、多数のウェブサイト、小売業者、カメラおよびデバイスメーカー、再販業者を提訴した。この特許は元々ゼネラル・エレクトリックが所有し、譲渡されていた。特許は2007年12月に失効したが、プリンストンは多数の企業をこの特許の「過去の侵害」で提訴した。(米国の特許法では、特許権者は訴訟提起の6年前まで「過去の侵害」で提訴できるため、プリンストンは理論的には2013年12月まで企業を提訴し続けることができた。)2013年3月現在、プリンストンはニューヨーク州とデラウェア州で55社以上の企業を相手取って訴訟を起こしている。ゼネラル・エレクトリックがこの訴訟に関与しているかどうかは不明だが、裁判記録によると、同社は2009年にプリンストン大学に特許を譲渡し、特許に関する一定の権利を保持している。[ 45 ]
JPEG圧縮アルゴリズムは、色調や色の滑らかな変化を伴う写実的な風景写真や絵画において最高の性能を発揮します。ウェブ用途では、レスポンシブな表示のために画像データ量を削減することが重要であるため、JPEGの圧縮効果は広く利用されています。また、JPEG/ Exifはデジタルカメラで最も一般的に保存されるフォーマットでもあります。
しかし、JPEGは線画やその他のテキストまたはアイコンのグラフィックには適していません。隣接するピクセル間のコントラストが強いため、目立つアーティファクトが発生する可能性があります。[ 46 ]このような画像は、 TIFF、GIF、PNGなどのロスレスグラフィック形式、またはRAW画像形式で保存する方が適しています。JPEG規格にはロスレス符号化モードが含まれていますが、このモードはほとんどの製品でサポートされていません。
JPEGの一般的な使用法は画像の忠実度を低下させる非可逆圧縮方式であるため、画像データの正確な再現(一部の科学および医療画像処理アプリケーションや特定の技術的な画像処理作業など)には不向きである。[ 46 ]
JPEGは、複数回の編集が行われるファイルにも適していません。画像が再圧縮されるたびに画質が劣化するためです。特に、画像がトリミングされたり、移動されたり、エンコードパラメータが変更されたりすると、画質が著しく低下します(詳細は「デジタル世代の劣化」 を参照)。連続的かつ反復的な編集中に画像情報が失われるのを防ぐには、最初の編集をロスレス形式で保存し、その後もその形式で編集を続け、最後にJPEG形式で公開して配布するのが良いでしょう。
JPEGは、離散コサイン変換(DCT)に基づく非可逆圧縮方式を使用します。この数学的演算により、ビデオソースの各フレーム/フィールドが空間(2D)領域から周波数領域(変換領域とも呼ばれる)に変換されます。人間の心理視覚系が高周波情報、つまり強度と色相の急激な変化を破棄する方法にゆるやかに基づいた知覚モデルがあります。変換領域では、情報を削減するプロセスは量子化と呼ばれます。簡単に言うと、量子化とは、大きな数値スケール(各数値の出現回数が異なる)を最適に小さなスケールに縮小する方法であり、変換領域は、他の係数よりも全体的な画像への寄与が少ない高周波係数が、圧縮率の高い小さな値として特徴付けられるため、画像の便利な表現方法です。量子化された係数は、順序付けられ、可逆的に出力ビットストリームにパックされます。JPEGのほぼすべてのソフトウェア実装では、圧縮率(およびその他のオプションパラメータ)をユーザーが制御できるため、ユーザーは画質とファイルサイズのトレードオフを行うことができます。組み込みアプリケーション(同様のDCT圧縮方式を使用するminiDVなど)では、パラメータはアプリケーションに合わせて事前に選択され、固定されています。
圧縮方式は通常、非可逆圧縮であり、元の画像情報の一部が失われ、復元できないため、画質に影響を与える可能性があります。JPEG規格には、オプションとして可逆圧縮モードが定義されています。ただし、このモードは製品で広くサポートされているわけではありません。
また、インターレース方式のプログレッシブJPEG形式もあり、これは、より詳細なデータを複数回に分けて圧縮するものです。これは、低速な接続でダウンロードしながら表示する大きな画像に最適で、データの一部だけを受信した後に適切なプレビューを行うことができます。ただし、プログレッシブJPEGのサポートは普遍的ではありません。プログレッシブJPEGをサポートしていないプログラム(Windows 7より前のバージョンのInternet Explorerなど)[ 47 ]がプログレッシブJPEGを受信すると、ソフトウェアは画像が完全にダウンロードされた後にのみ画像を表示します。
医療画像処理、交通、カメラアプリケーションの中には、グレースケールとカラーの両方の12ビットJPEG画像を生成および処理するものも多数あります。12ビットJPEG形式は、JPEG仕様の拡張部分に含まれています。libjpegコーデックは12ビットJPEGをサポートしており、高性能バージョンも存在します。[ 48 ]
画像サイズが1 MCUブロック(最小符号化単位)(通常、4:2:0クロマサブサンプリングの場合、両方向とも16ピクセル)の倍数である限り、JPEG画像に対するいくつかの変更はロスレス(つまり、再圧縮とそれに伴う品質劣化なし)で実行できます。これを実装するユーティリティには、次のものがあります。
ブロックは90度ずつ回転させたり、水平軸、垂直軸、対角軸で反転させたり、画像内で移動させたりすることができます。元の画像にあるすべてのブロックを修正後の画像で使用する必要はありません。
JPEG画像の上端と左端は8 × 8ピクセルのブロック境界(MCUサイズが大きい場合は16 × 16ピクセル)上になければなりませんが、下端と右端はそうである必要はありません。これにより、ロスレスな切り抜き操作が制限され、下端または右端がすべてのチャンネルのブロック境界上にない画像の反転や回転が防止されます(端が上端または左端に位置してしまうため、 前述のように、 ブロック境界が必須となるためです)。
画像が8または16の倍数でない場合(この値はクロマサブサンプリングによって決まる)、回転はロスレスではない。このような画像を回転させるとブロックが再計算され、品質が失われる。[ 49 ]
ロスレスクロッピングを使用する場合、切り抜き領域の下端または右端がブロック境界上にない場合、部分的に使用されたブロックの残りのデータは切り抜きファイル内に残っており、復元可能です。また、ベースライン形式とプログレッシブ形式の間では、係数がファイル内に配置される順序が異なるだけなので、品質を損なうことなく変換できます。
さらに、複数のJPEG画像は、同じ品質で保存されており、エッジがブロック境界と一致している限り、ロスレスで結合することができます。
「JPEG交換フォーマット」(JIF)として知られるファイル形式は、規格の付属書Bで規定されています。しかし、この「純粋な」ファイル形式は、規格のすべての側面を完全に実装するエンコーダとデコーダのプログラミングの難しさ、および規格のいくつかの欠点のために、ほとんど使用されていません。
これらの問題に対処するために、いくつかの追加規格が開発されました。その最初の規格は、1992年にリリースされたJPEGファイル交換フォーマット(JFIF)で、近年では交換可能画像ファイルフォーマット(Exif)とICCカラープロファイルがそれに続きました。これらのフォーマットはどちらも、異なるマーカーで構成される実際のJIFバイトレイアウトを使用しますが、さらにJIF規格の拡張ポイントの1つ、つまりアプリケーションマーカーを使用します。JFIFはAPP0を使用し、ExifはAPP1を使用します。JIF規格で将来の使用のために残され、JIF規格では読み取られないファイルのセグメント内に、これらの規格は特定のメタデータを追加します。
したがって、JFIF はある意味では、特定の制約 (すべての異なるエンコード モードを許可しないなど) を規定している点で JIF 標準の簡略版ですが、別の意味では、メタデータが追加されているため JIF の拡張版でもあります。オリジナルの JFIF 標準のドキュメントには次のように記載されています。[ 50 ]
JPEGファイル交換フォーマットは、JPEGビットストリームを様々なプラットフォームやアプリケーション間で交換できるようにする最小限のファイルフォーマットです。この最小限のフォーマットには、TIFF JPEG仕様やアプリケーション固有のファイルフォーマットに含まれる高度な機能は一切含まれていません。また、この簡略化されたフォーマットの唯一の目的はJPEG圧縮画像の交換を可能にすることであるため、それらを含める必要もありません。
JPEG圧縮を使用する画像ファイルは一般的に「JPEGファイル」と呼ばれ、JIF画像フォーマットのバリアントで保存されます。JPEGを出力するほとんどの画像キャプチャデバイス(デジタルカメラなど)は、実際にはカメラ業界がメタデータ交換のために標準化したフォーマットであるExifフォーマットでファイルを作成しています。一方、Exif規格ではカラープロファイルが許可されていないため、ほとんどの画像編集ソフトウェアはJPEGをJFIFフォーマットで保存し、ExifファイルからAPP1セグメントを含めて、ほぼ準拠した方法でメタデータを含めます。JFIF規格は、ある程度柔軟に解釈されます。[ 51 ]
厳密に言えば、JFIF規格とExif規格は互換性がありません。なぜなら、それぞれがマーカーセグメント(APP0またはAPP1)が最初に現れることを規定しているからです。実際には、ほとんどのJPEGファイルにはExifヘッダーの前にJFIFマーカーセグメントが含まれています。これにより、古い形式のJFIFセグメントは正しく処理され、新しい形式のExifセグメントもデコードされるため、Exifセグメントが最初に現れるという要件はそれほど厳しくありません。
JPEG圧縮を使用するファイルの最も一般的なファイル名拡張子は.jpgとです.jpegが、.jpe、.jfif、.jifも使用されます。[ 52 ] JPEGデータは他のファイルタイプに埋め込むことも可能です 。TIFFエンコードされたファイルには、メイン画像のサムネイルとしてJPEG画像が埋め込まれていることが多く、 MP3ファイルにはID3v2タグにカバーアートのJPEG画像が含まれている場合があります。
多くのJPEGファイルにはICCカラープロファイル(カラースペース)が埋め込まれています。一般的に使用されるカラープロファイルには、sRGBとAdobe RGBがあります。これらのカラースペースは非線形変換を使用するため、8ビットJPEGファイルのダイナミックレンジは約11ストップです(ガンマ曲線を参照)。
画像にカラープロファイル情報が指定されていない場合(タグなし)、ウェブページでの表示の目的でカラースペースはsRGBであると想定されます。[ 53 ] [ 54 ]
JPEG 画像は、セグメントのシーケンスで構成され、各セグメントはマーカーで始まります。各セグメントは 0xFF バイトで始まり、その後にマーカーの種類を示す 1 バイトが続きます。マーカーの中には、この 2 バイトのみで構成されるものもあれば、マーカー固有のペイロード データの長さを示す 2 バイト (高位と低位) が続くものもあります (長さには長さを示す 2 バイトが含まれますが、マーカーを示す 2 バイトは含まれません)。マーカーの中には、エントロピー符号化データが続くものもあります。このようなマーカーの長さには、エントロピー符号化データは含まれません。連続する 0xFF バイトはパディング用のフィル バイトとして使用されますが、このフィル バイトによるパディングは、エントロピー符号化スキャン データの直後のマーカーに対してのみ行われるべきであることに注意してください (詳細は JPEG 仕様のセクション B.1.1.2 および E.1.2 を参照してください。特に「圧縮データの後にマーカーが追加されるすべてのケースで、オプションの 0xFF フィル バイトがマーカーの前に付加される場合があります」)。
エントロピー符号化データ内では、任意の 0xFF バイトの後に、エンコーダによって次のバイトの前に 0x00 バイトが挿入されます。これにより、意図しない場所にマーカーが存在するように見えなくなり、フレーミング エラーが防止されます。デコーダはこの 0x00 バイトをスキップする必要があります。この手法はバイト スタッフィングと呼ばれ(JPEG 仕様のセクション F.1.2.3 を参照)、マーカー ペイロード データではなく、エントロピー符号化データにのみ適用されます。ただし、エントロピー符号化データには独自のマーカーがいくつかあります。具体的には、リセット マーカー (0xD0 ~ 0xD7) があり、これは並列復号を可能にするために独立したエントロピー符号化データのチャンクを分離するために使用され、エンコーダはこれらのリセット マーカーを一定間隔で挿入することができます (ただし、すべてのエンコーダがこれを行うわけではありません)。
他にも、別の種類のJPEGエンコーディングを導入するフレーム開始マーカーが存在します。
複数のベンダーが同じAPP nマーカータイプを使用する可能性があるため、アプリケーション固有のマーカーは、多くの場合、標準またはベンダー名(例:「Exif」または「Adobe」)またはその他の識別文字列で始まります。
再起動マーカーでは、ブロック間予測変数がリセットされ、ビットストリームがバイト境界に同期されます。再起動マーカーは、信頼性の低いネットワーク経由の送信やファイルの破損など、ビットストリームエラー発生後の復旧手段を提供します。再起動マーカー間のマクロブロックの連続は独立して復号できるため、これらの連続は並列に復号できます。
JPEGファイルは様々な方法でエンコードできますが、最も一般的なのはJFIFエンコードです。エンコード処理はいくつかのステップで構成されています。
復号化プロセスは、量子化を除くこれらの手順を逆に行います。量子化は不可逆的なプロセスであるため、例外となります。このセクションの残りの部分では、符号化および復号化プロセスについてさらに詳しく説明します。
JPEG規格のオプションの多くは一般的に使用されておらず、前述のとおり、ほとんどの画像ソフトウェアはJPEGファイルを作成する際に、エンコード方式などを指定するよりシンプルなJFIF形式を使用します。ここでは、1ピクセルあたり24ビット(赤、緑、青がそれぞれ8ビット)の入力に適用する場合の、より一般的なエンコード方式の1つについて簡単に説明します。このオプションは、非可逆データ圧縮方式です。これらは以下のマトリックスで表されます。
まず、画像を RGB (デフォルトでは sRGB、[ 53 ] [ 54 ]ただし他の色空間も可能)からY′C B C R (または非公式には YCbCr) と呼ばれる別の色空間に変換する必要があります。Y′、C B、C Rの 3 つのコンポーネントがあります。Y′ コンポーネントはピクセルの明るさを表し、C Bと C Rコンポーネントは色度(青と赤のコンポーネントに分割) を表します。これは基本的に、デジタル カラー テレビやビデオ DVDを含むデジタル ビデオで使用される色空間と同じです。Y′C B C R色空間への変換により、知覚的な画像品質に大きな影響を与えることなく、より高い圧縮率 (または同じ圧縮率でより高い知覚的な画像品質) が可能になります。画像の最終的な知覚品質にとってより重要な明るさ情報が単一のチャネルに限定されるため、圧縮効率が向上します。これは人間の視覚系における色の知覚により近いものです。色変換は統計的デコヒーレンスによって圧縮率も向上させます。
JFIF規格では、Y′C B C Rへの特定の変換が規定されており、生成されるJPEGファイルの互換性を最大限に高めるためにはこの変換を行う必要があります。しかし、「最高品質」モードの一部のJPEG実装では、この手順を適用せず、代わりにRGBカラーモデルで色情報を保持します。この場合、画像は赤、緑、青の輝度成分ごとに別々のチャンネルに格納されます。このため圧縮効率が低下し、ファイルサイズが特に重要な場合には使用されない可能性が高いです。
人間の目には色と明るさに敏感な受容体が密集しているため、人間は画像の明るさ(Y'成分)において、色相や彩度(Cb成分とCr成分)よりもはるかに細かいディテールを識別できます。この知識を利用することで、画像をより効率的に圧縮するエンコーダを設計できます。
Y′C B C Rカラーモデルへの変換により、次の一般的なステップである、Cb および Cr コンポーネントの空間解像度を下げる処理(「ダウンサンプリング」または「クロマサブサンプリング」と呼ばれる)が可能になります。JPEG 画像で通常行われるダウンサンプリングの比率は、4:4:4(ダウンサンプリングなし)、4:2:2(水平方向で 2 分の 1 に縮小)、または(最も一般的な)4:2:0(水平方向と垂直方向の両方で 2 分の 1 に縮小)です。圧縮プロセスの残りの部分では、Y'、Cb、および Cr は個別に、非常によく似た方法で処理されます。
サブサンプリング後、各チャンネルは8×8ブロックに分割されます。クロマサブサンプリングに応じて、これにより、8×8(4:4:4 - サブサンプリングなし)、16×8(4:2:2)、または最も一般的な16×16(4:2:0)サイズの最小符号化単位(MCU)ブロックが生成されます。ビデオ圧縮では、MCUはマクロブロックと呼ばれます。
チャネルのデータが整数個のブロックを表していない場合、エンコーダは不完全なブロックの残りの領域を何らかのダミーデータで埋める必要があります。境界を固定色(例えば黒)で塗りつぶすと、境界の可視部分に沿ってリンギングアーティファクトが発生する可能性があります。境界ピクセルを繰り返すことは、このようなアーティファクトを軽減する(ただし必ずしも完全に除去するわけではない)一般的な手法であり、より高度な境界塗りつぶし手法を適用することもできます。

次に、各成分(Y、Cb、Cr)の8×8ブロックを、正規化された2次元タイプII離散コサイン変換(DCT)を使用して周波数領域表現に変換します(離散コサイン変換の文献1を参照)。DCTは、離散コサイン変換のように変換のファミリーの文脈では「タイプII DCT」と呼ばれることがあり、対応する逆変換(IDCT)は「タイプIII DCT」と表記されます。
例えば、8×8ピクセルの8ビットサブイメージは次のようになります。
8×8ブロックのDCTを計算する前に、その値は正の範囲からゼロを中心とした範囲にシフトされます。8ビット画像の場合、元のブロックの各エントリは次の範囲に収まります。範囲の中間値(この場合は値 128)を各エントリから減算して、ゼロを中心とするデータ範囲を作成します。したがって、修正された範囲はこのステップにより、後続のDCT処理段階におけるダイナミックレンジの要件が軽減されます。
この手順の結果、以下の値が得られます。

次のステップは、2次元DCTを取得することです。これは次のように表されます。
どこ
上記の行列にこの変換を適用すると、次のようになります(小数点以下2桁に四捨五入)。
左上隅の、かなり大きな値を持つエントリに注目してください。これはDC係数 (定数成分とも呼ばれる) であり、ブロック全体の基本色相を定義します。残りの 63 個の係数は AC 係数 (交互成分とも呼ばれる) です。[ 57 ] DCT の利点は、上記のように、結果の片隅にほとんどの信号を集約する傾向があることです。次の量子化ステップでは、この効果を強調すると同時に、DCT 係数の全体的なサイズを縮小し、エントロピー段階で効率的に圧縮しやすい信号が得られます。
DCTは、8ビット/コンポーネント画像のDCT係数を格納するのに最大11ビット以上(DCT計算の精度による)を要するため、一時的にデータのビット深度を増加させます。これにより、コーデックはこれらの係数を保持するために一時的に16ビットの数値を使用する必要が生じ、この時点で画像表現のサイズが2倍になります。これらの値は通常、量子化ステップで8ビット値に戻されます。この段階でのサイズの一時的な増加は、ほとんどのJPEG実装ではパフォーマンス上の問題にはなりません。なぜなら、画像のエンコードまたはデコード処理中に、一度に完全なDCT形式で格納されるのは画像のごく一部に過ぎないからです。
人間の目は比較的広い領域における明るさのわずかな違いを識別することには長けていますが、高周波の明るさの変化の正確な強さを識別することにはそれほど長けていません。そのため、高周波成分の情報量を大幅に削減することができます。これは、周波数領域の各成分をその成分に対応する定数で割り、最も近い整数に丸めることで実現されます。DCT計算が十分な精度で行われる場合、この丸め処理は(クロマサブサンプリングを除いて)全処理の中で唯一の損失のある処理となります。この結果、通常は高周波成分の多くがゼロに丸められ、残りの多くは小さな正または負の数となり、表現に必要なビット数が大幅に少なくなります。
量子化行列の要素は圧縮率を制御し、値が大きいほど圧縮率が高くなります。典型的な量子化行列(元のJPEG規格で規定されている50%の品質の場合)は以下のとおりです。
量子化されたDCT係数は、
どこは量子化されていないDCT係数です。上記の量子化行列は、これは量子化されたDCT係数です。
上記のDCT係数行列にこの量子化行列を適用すると、次のようになります。

例えば、−415(DC係数)を使用し、最も近い整数に丸める
サブブロックの高周波要素のほとんど(つまり、xまたはyの空間周波数が4より大きいもの)は、ゼロ値に量子化されていることに注意してください。

エントロピー符号化は、可逆データ圧縮の一種です。これは、類似した周波数をグループ化するランレングス符号化(RLE)アルゴリズムを用いて画像コンポーネントを「ジグザグ」順に並べ、長さ符号化ゼロを挿入し、残りの部分にハフマン符号化を適用するものです。
JPEG規格では、デコーダが算術符号化の使用をサポートすることも許可されていますが、必須ではありません。算術符号化は数学的にハフマン符号化よりも優れています。しかし、この機能は、歴史的にロイヤリティを支払うライセンスを必要とする特許で保護されていたこと、およびハフマン符号化と比較してエンコードとデコードに時間がかかることから、ほとんど使用されていません。算術符号化を使用すると、通常、ファイルサイズが約5~7%小さくなります。[ 58 ]
前回の量子化DC係数を用いて、現在の量子化DC係数を予測します。実際の値ではなく、両者の差分が符号化されます。63個の量子化AC係数の符号化では、このような予測差分は使用されません。
上記の量子化係数に対応するジグザグシーケンスを以下に示します。(表示されている形式は、理解・閲覧を容易にするためのものです。)
i番目のブロックが次のように表される場合各ブロック内の位置は、どこそしてすると、DCT画像内の任意の係数は次のように表すことができます。したがって、上記の方式では、( i番目のブロックの)ピクセルをエンコードする順序は次のようになります。、、、、、、、等々。

このエンコードモードはベースラインシーケンシャルエンコードと呼ばれます。ベースラインJPEGはプログレッシブエンコードもサポートしています。シーケンシャルエンコードは一度に1つのブロックの係数をエンコードしますが(ジグザグ方式)、プログレッシブエンコードはすべてのブロックの類似した位置の係数のバッチを一度にエンコードし(スキャンと呼ばれます)、続いてすべてのブロックの次の係数のバッチをエンコードし、これを繰り返します。たとえば、画像がN個の8×8ブロックに分割されている場合次に、3スキャンプログレッシブエンコーディングでDC成分をエンコードし、すべてのブロック、つまりすべての最初のスキャンで。これに続いて、2回目のスキャンが行われ、さらにいくつかのコンポーネントがエンコードされます(さらに4つのコンポーネントがあると仮定すると、それらはに(依然としてジグザグ状に)すべてのブロックの係数(したがって、シーケンスは次のようになります。)に続いて、最後のスキャンで残ったすべてのブロックの係数がすべて続きます。
位置が類似する係数がすべてエンコードされると、次にエンコードされる位置は、上の図に示すように、ジグザグ走査で次に現れる位置になります。ベースラインプログレッシブJPEGエンコードは、各「スキャン」または「パス」(位置が類似する係数を含む)で異なる周波数に合わせて調整された異なるハフマンテーブル(下記参照)を使用できることから、ベースラインシーケンシャルJPEGと比較して圧縮率が向上することがわかっていますが、その差はそれほど大きくありません。
この記事の残りの部分では、生成された係数パターンはシーケンシャルモードによるものと仮定する。
上記で生成された係数パターンをエンコードするために、JPEGはハフマン符号化を使用します。JPEG規格は汎用ハフマンテーブルを提供していますが、エンコーダはエンコード対象画像の実際の頻度分布に合わせて最適化されたハフマンテーブルを生成することもできます。
ジグザグ量子化データの符号化プロセスは、以下で説明するランレングス符号化から始まります。
ランレングス符号化は、各非ゼロAC係数xを調べ、その前のAC係数の前にいくつのゼロがあったかを判断することによって機能します。この情報に基づいて、2つのシンボルが生成されます。
RUNLENGTHとSIZEはどちらも同じバイトに格納されているため、それぞれ4ビットの情報しか含まれていません。上位ビットはゼロの数を表し、下位ビットはxの値をエンコードするために必要なビット数を表します。
これは、シンボル 1が非ゼロ AC 係数の前の最初の 15 個のゼロに関する情報しか格納できないことを直接意味します。ただし、JPEG は 2 つの特別なハフマン符号語を定義します。1 つは残りの係数がゼロの場合にシーケンスを途中で終了するため (「ブロックの終了」または「EOB」と呼ばれます)、もう 1 つは非ゼロ AC 係数に到達する前にゼロの連続が 15 を超える場合です。特定の非ゼロ AC 係数の前に 16 個のゼロが見つかるような場合、シンボル 1 は(15, 0)(0) のように「特別に」エンコードされます。
全体のプロセスは、 「EOB」 (0, 0で表される)に到達するまで続きます。
これを踏まえると、先ほどのシーケンスは次のようになる。
(行列の最初の値である-26はDC係数であり、他の値とは異なる方法で符号化されています。上記を参照してください。)
ここからは、係数の出現頻度に基づいて頻度計算が行われます。この例のブロックでは、量子化された係数のほとんどは、直前にゼロ係数が続かない小さな数値です。これらの出現頻度の高いケースは、より短いコードワードで表されます。



結果として得られる圧縮率は、量子化段階で使用する除数を調整することで、必要に応じて変更できます。10対1の圧縮では、通常、元の画像と肉眼で区別できない画像が得られます。100対1の圧縮率も通常は可能ですが、元の画像と比べて明らかにアーティファクトが発生します。適切な圧縮レベルは、画像の用途によって異なります。
| 外部イメージ | |
|---|---|
ワールドワイドウェブを利用する人は、JPEG画像に現れる圧縮アーティファクトと呼ばれる不規則性に馴染みがあるかもしれません。これは、コントラストのあるエッジ(特に曲線や角)の周りのノイズや、「ブロック状」の画像として現れることがあります。これらは、JPEGアルゴリズムの量子化ステップに起因します。これらは、コントラストのある色の間の鋭い角の周りで特に目立ちます(テキストは、このような角がたくさんあるので良い例です)。MPEGビデオにおける同様のアーティファクトは、結果として生じる「エッジの混雑」と、時間の経過とともに変化する偽のドットが、対象物の周りを群がる蚊に似ていることから、モスキートノイズと呼ばれています。 [ 59 ] [ 60 ]
これらのアーティファクトは、圧縮レベルを低くすることで軽減できます。ロスレスファイル形式で画像を保存すれば完全に回避できますが、ファイルサイズは大きくなります。レイトレーシングプログラムで作成された画像では、地形に目立つブロック状の形状が見られます。低強度の圧縮アーティファクトは、画像を見るだけなら許容範囲内かもしれませんが、その後の画像処理では強調され、通常は許容できない品質になります。以下の例を考えてみましょう。これは、エッジ検出処理ステップにおける非可逆圧縮の影響を示しています。
一部のプログラムでは、ユーザーが個々のブロックの圧縮率を調整できます。アーティファクトが少ない画像領域には、より高い圧縮率が適用されます。このようにして、画質の劣化を最小限に抑えながら、JPEGファイルのサイズを手動で縮小することが可能です。
量子化の段階では必ず情報が失われるため、JPEG規格は常に非可逆圧縮コーデックです。(浮動小数点数の量子化と丸めの両方で情報が失われます。)量子化行列がすべて1の行列であっても、丸めの段階で情報が失われます。
画像を表示するためのデコードとは、上記の手順を逆に行うことである。
DCT係数行列(DC係数の差分を再度加算した後)
そして、上記の量子化行列との要素ごとの積を取ると、次のようになる。
これは、左上部分の元のDCT係数行列と非常によく似ている。
次のステップは、2次元逆DCT(2DタイプIII DCT)を実行することです。これは次のように表されます。
どこ
出力を整数値に丸めると(元の値は整数値だったため)、(128だけ下にシフトされた)値を持つ画像が得られます。
そして各項目に128を加える
これは解凍されたサブイメージです。一般的に、解凍プロセスでは、元の入力範囲外の値が生成される可能性があります。この場合、デコーダは出力値をクリップしてその範囲内に収め、元のビット深度で解凍した画像を保存する際のオーバーフローを防ぐ必要があります。
解凍されたサブイメージを元のサブイメージ(右側の画像も参照)と比較し、差分(オリジナル-非圧縮)を取ると、次の誤差値が得られます。
平均絶対誤差は約 5 ピクセルあたり (つまり、)
このエラーは左下隅で最も顕著で、左下のピクセルがすぐ右隣のピクセルよりも暗くなっています。
JPEG コーデックに必要な実装精度は、JPEG 規格への準拠のために策定された要件によって暗黙的に定義されます。これらの要件は、ITU.T 勧告 T.83 | ISO/IEC 10918-2 に規定されています。[ 61 ] MPEG 規格や多くの後続の JPEG 規格とは異なり、上記の文書では、参照テスト ストリームによって決定される DCT 領域での順方向および逆方向 DCT の最大許容誤差によって、JPEG コーデックのエンコードおよびデコード プロセスの必要な実装精度の両方を定義しています。たとえば、デコーダ実装の出力は、上記の規格の一部として提供される参照テスト コード ストリームに適用した場合、DCT 領域で 1 量子化単位の誤差を超えてはなりません。珍しいことですが、他の多くのより新しい規格とは異なり、ITU.T T.83 | ISO/IEC 10918-2 では画像領域での誤差範囲は規定されていません。
JPEG圧縮によるアーティファクトは、詳細で不均一なテクスチャを持つ写真によく馴染むため、より高い圧縮率が可能になります。圧縮率が高くなると、まず画像の左上隅の高周波テクスチャに影響が出て、コントラストのある線がぼやけていく様子に注目してください。非常に高い圧縮率は画像の品質に深刻な影響を与えますが、全体的な色と画像の形状は依然として認識可能です。ただし、色の精度は(人間の目にとって)輪郭の精度(輝度に基づく)よりも低下しにくいです。このことから、輝度と色情報を分離するカラーモデルで画像を最初に変換し、その後、色プレーンをサブサンプリング(低品質の量子化を使用する場合もあります)して、より多くの情報ビットで輝度プレーンの精度を維持することが正当化されます。

参考までに、以下の非圧縮 24 ビット RGB ビットマップ画像 (73,242 ピクセル) は、219,726 バイト (他のすべての情報ヘッダーを除く) を必要とします。以下に示すファイル サイズには、内部 JPEG 情報ヘッダーと一部のメタデータが含まれます。最高品質画像 (Q=100) の場合、カラー ピクセルあたり約 8.25 ビットが必要です。グレースケール画像では、ピクセルあたり最低 6.5 ビットで十分です (同等の Q=100 品質のカラー情報には、エンコードされたビットが約 25% 多く必要です)。以下の最高品質画像 (Q=100) は、カラー ピクセルあたり 9 ビットでエンコードされ、中品質画像 (Q=25) はカラー ピクセルあたり 1 ビットを使用します。ほとんどのアプリケーションでは、低品質画像で示されているように、品質係数はピクセルあたり 0.75 ビット (Q=12.5) を下回るべきではありません。最低品質の画像は、ピクセルあたり 0.13 ビットしか使用せず、非常に劣悪な色を表示します。これは、画像が大幅に縮小されたサイズで表示される場合に役立ちます。Minguillón & Pujol (2001) では、Q ファクターの代わりにPSNRを使用して、特定の画像品質に対してより良い量子化行列を作成する方法が説明されています。 [ 62 ]
中程度の画質の写真は、非圧縮画像に必要なストレージ容量のわずか 4.3% しか使用しませんが、ディテールの損失や目に見えるアーティファクトはほとんどありません。しかし、圧縮率が一定の閾値を超えると、圧縮画像にはますます目立つ欠陥が現れます。この閾値効果の数学的な説明については、レート歪み理論に関する記事を参照してください。この点で JPEG の特に制限となるのは、重複しない 8×8 ブロック変換構造です。JPEG 2000やJPEG XRなどのより新しい設計では、ビット使用量が減少するにつれて画質がより緩やかに劣化します 。これは、低周波係数に対してより広い空間範囲の変換を使用したり、重複する変換基底関数を使用したりすることによって実現されます。
2004年から2008年にかけて、表現される画像を変更せずにJPEG画像に含まれるデータをさらに圧縮する方法に関する新しい研究が登場しました。[ 63 ] [ 64 ] [ 65 ] [ 66 ]これは、元の画像がJPEG形式でしか入手できず、アーカイブや送信のためにそのサイズを小さくする必要があるシナリオで応用できます。標準的な汎用圧縮ツールでは、JPEGファイルを大幅に圧縮することはできません。
通常、このような方式は、DCT係数を符号化する単純な方式の改良を利用しますが、単純な方式では以下の点が考慮されていません。
JPEGには、DCT係数の符号化効率を向上させるための標準的だがあまり使用されていないオプションが既にいくつか存在します。算術符号化オプションとプログレッシブ符号化オプション(各係数の値が独立して符号化され、各係数の分布が大きく異なるため、ビットレートが低くなります)。現代の手法では、係数を並べ替えてより大きな値の係数をグループ化する[ 63 ] 、隣接する係数とブロックを使用して新しい係数値を予測する[ 65 ]、統計と隣接する値に基づいてブロックまたは係数を少数の独立して符号化されたモデルに分割する[ 64 ] [ 65 ] 、そして最近では、ブロックを復号し、空間領域で後続のブロックを予測し、それらを符号化してDCT係数の予測を生成する[ 66 ]ことによって、これらの技術が改良されています。
通常、このような方法では既存のJPEGファイルを15~25パーセント圧縮でき、低品質設定で圧縮されたJPEGの場合は最大65パーセントの改善が得られます。[ 65 ] [ 66 ]
JPEGファイルを可逆圧縮で再圧縮するためのプログラムはいくつか存在する。しかし、これらのプログラムで生成されたファイルはJPEG規格と互換性がないため、デコードするには専用のソフトウェアが必要となる。

JPS は、2D 画像から 3D 効果を作成するために使用される立体視 JPEG 画像です。左目用と右目用の 2 つの静止画像が含まれており、単一の JPEG ファイルに 2 つの画像を並べてエンコードします。JPEG 立体視 (JPS、拡張子 .jps) は、立体視画像の JPEG ベースのフォーマットです。[ 75 ] [ 76 ] JPEG APP3 マーカー フィールドにはさまざまな構成が格納されていますが、通常は、クロスアイ (つまり、画像の右半分に左フレーム、その逆) の並べて配置された同じサイズの 2 つの画像を表す、幅が 2 倍の画像が 1 つ含まれています。このファイル形式は、特別なソフトウェアなしで JPEG として表示することも、他のモードでレンダリングするために処理することもできます。
| JPEGマルチピクチャー | |
|---|---|
| ファイル名拡張子 | .mpo |
| 統一型識別子 (UTI) | public.mpo-image [ 77 ] |
JPEG マルチピクチャフォーマット (MPO、拡張子 .mpo) は、複数の画像を 1 つのファイルに保存するための JPEG ベースのフォーマットです。 2 つ以上の JPEG ファイルが連結されています。[ 78 ] [ 79 ]また、画像の説明のために JPEG APP2 マーカーセグメントも定義しています。Fujifilm FinePix Real 3D W1、HTC Evo 3D、JVC GY-HMZ1U AVCHD/MVC 拡張カムコーダー、Nintendo 3DS、Panasonic Lumix DMC-TZ20、DMC-TZ30、DMC-TZ60 、 DMC -TS4 (FT4)、Sony DSC-HX7V など、さまざまなデバイスが 3D 画像の保存にこれを使用しています。他のデバイスは、テレビに表示できる「プレビュー画像」を保存するためにこれを使用しています。
近年、立体画像の利用が増加したことにより、科学界は立体画像圧縮アルゴリズムの開発に多大な努力を注いできた。[ 80 ] [ 81 ]
JPEG コーデックの非常に重要な実装は、Independent JPEG Group のフリー プログラミング ライブラリlibjpegです。これは 1991 年に初めて公開され、標準の成功の鍵となりました。このライブラリは無数のアプリケーションで使用されました。 [ 3 ] 1998 年に開発は休止状態になりました。libjpeg が 2009 年にバージョン 7 で再登場したとき、以前のバージョンとのABI 互換性が失われました。2010 年のバージョン 8 では非標準の拡張機能が導入されましたが、これは元の IJG リーダーである Tom Lane によって批判されました。[ 82 ]
libjpeg-turbo は、1998 年の libjpeg 6b からフォークされたもので、SIMD最適化により libjpeg を改良しています。当初は libjpeg の維持されたフォークと見なされていましたが、2009 年の互換性のない変更の後、より人気が高まりました。[ 83 ] [ 84 ] 2019 年に、ISO/IEC 10918-7 および ITU-T T.873 として ITU|ISO/IEC の参照実装になりました。[ 85 ]
ISO/IEC Joint Photographic Experts Group は、 JPEG XT の見出しの下に他の参照ソフトウェア実装を維持しています。これは、基本 JPEG (ISO/IEC 10918-1 および 18477-1) とJPEG XT拡張 (ISO/IEC 18477 パート 2 および 6-9) の両方、およびJPEG-LS (ISO/IEC 14495) をエンコードできます。[ 86 ] 2016 年に、「強化版 JPEG」が ISO JPEG XT 参照実装のオプションとして導入されました。[ 87 ]
ファイルサイズが一定の場合に画質を最大化する、従来とは異なる方法でJPEGをエンコードすることへの関心は根強くあります。2014年、Mozillaはlibjpeg-turboから、Web画像向けに設計された低速ながら高品質のエンコーダーであるMozJPEGを作成しました。 [ 88 ] 2017年3月、GoogleはオープンソースプロジェクトGuetzliをリリースしました。これは、エンコード時間が大幅に長くなる代わりにファイルサイズが小さくなるというトレードオフを採用しています(PNGやその他のロスレスデータ形式に対するZopfliと同様です)。[ 89 ]
2024年4月、GoogleはJPEGエンコードライブラリであるJpegliを発表しました。これは、強化された機能と、高品質圧縮設定での35%の圧縮率向上を提供し、エンコード速度はMozJPEGと同等です。[ 90 ]
合同写真専門家グループは、オリジナルのJPEGフォーマットの機能を補完または代替することを目的とした、いくつかの新しい規格を開発しました。
1993年に開発され、ISO-14495-1/ITU-T.87として公開されたJPEG LSは、JPEGのオリジナルのロスレス実装よりも効率的な、低複雑度のロスレスファイル形式を提供します。また、ロスレスに近いロッシーモードも備えています。その機能は主にロッシーモードに限定されており、その他の点ではオリジナルのJPEGとほぼ同じ制限があります。
JPEG 2000 は、2000 年 12 月に ISO/IEC 15444 として発行されました。離散ウェーブレット変換(DWT) に基づいており、元の JPEG 規格を完全に置き換え、あらゆる面でそれを超えるように設計されています。カラー チャンネルごとに最大 38 ビット、16384 チャンネルをサポートし、これは他のどのフォーマットよりも多い数です。また、多数の色空間と高ダイナミック レンジ (HDR) を実現しています。さらに、アルファ透明度符号化、数十億×数十億ピクセルの画像 (これも他のどのフォーマットよりも多い)、および可逆圧縮をサポートしています。圧縮率が大幅に改善され、圧縮率が高い場合でも目に見えるアーティファクトが大幅に減少しています。[ 91 ]
JPEG XT (ISO/IEC 18477) は 2015 年 6 月に公開されました。これは、より高い整数ビット深度 (最大 16 ビット)、高ダイナミックレンジイメージング、浮動小数点符号化、ロスレス符号化、およびアルファチャンネル符号化のサポートにより、基本 JPEG フォーマットを拡張したものです。拡張機能は、基本 JPEG/JFIF ファイルフォーマットおよび 8 ビットの非可逆圧縮画像との下位互換性があります。JPEG XT は、JFIF に基づく拡張可能なファイルフォーマットを使用します。拡張レイヤーは、JPEG 8 ビット基本レイヤーを変更して高解像度画像を復元するために使用されます。既存のソフトウェアは上位互換性があり、JPEG XT バイナリ ストリームを読み取ることができますが、基本 8 ビット レイヤーのみをデコードします。[ 92 ]
JPEG XL (ISO/IEC 18181) は 2021 ~ 2022年に公開されました。これは、JPEG フォーマットを新しい DCT ベースのロイヤリティフリーのフォーマットに置き換え、従来の JPEG 画像の保存オプションとして効率的なトランスコーディングを可能にします。[ 93 ]この新しいフォーマットは、 HEIF HM、Daala、WebPで示された静止画圧縮性能を超えるように設計されています。10 億×10 億ピクセルの画像、適切な転送関数 ( PQおよびHLG ) を使用したコンポーネントあたり最大 32 ビットの高ダイナミックレンジ、ビットマップ フォントやグラデーションなどの合成画像のパッチ エンコーディング、アニメーション画像、アルファ チャネル コーディング、および RGB/YCbCr/ ICtCp色エンコーディングの選択をサポートしています。[ 94 ] [ 95 ] [ 96 ] [ 97 ]
この研究では、JPEG静止画像圧縮レベルは5:1から120:1という広い範囲であっても、同様に高い許容性を示した。
{{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク){{cite web}}: CS1 maint: 数値名: 著者リスト (リンク){{cite web}}: CS1 maint: 数値名: 著者リスト (リンク){{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク)