JPEGの仕組みと原理 画質劣化とJPEG が非可逆形式の意味

Oda Nobunaga
12 min readJan 4, 2024

--

JPG画像は、画像データーの人間の知覚上無駄な冗長性(redundant)データーを、discrete cosine transforms (DCTs離散コサイン変換)の数字データーに基づき、(Quantization Table, Qtable)に合わせて換算(量子化Quantized)し、Huffman coding(ハフマン符号)でうまく処理して、人間が見る分には無駄なデーターをそぎ取る作業をして、画像ファイルの大きさを減らします。JPEGの再保存で、劣化が生じるとすれば、 discrete cosine transforms (DCTs) の数字が改変されるかなにかした場合で、大抵の場合、画像ソフトでJpegの保存品質を下げて再保存すると 換算量子化を行う(Quantization Table, Qtable) の数字が変わり(品質を下げる場合は数字が大きくなる)、DCTs の数字から、データ量を減らすデータ切り捨て(truncating)が大きく行われ、このことでJpegの画質が劣化することになるわけです。 逆に言うと、discrete cosine transforms (DCTs) の数字が同じであるよう(元画像をいじらない)、Jpegの品質を最高にして再保存する限りは、元データーの discrete cosine transforms (DCTs) と量子化=換算の (Quantization Table, Qtable) の数字は変わらないので、理屈上はJPEGの再保存での劣化は(常識の回数では)「ほぼない」ということになります。

JPEG ‘files’ & Colour (JPEG Pt1)- Computerphile

上の動画で、13:07https://youtu.be/Q2aEzeMDHMA?t=785で、解説者のMike Poundさんは、アドビのフォトショップ(Photoshop)は、Jpegの規格外の (Quantization Table, Qtable) を用いていると話しています。This is the approach that the Jpeg standard uses. In other software, they may have their own Quantization Tables. In fact, as far as I know, photoshop, I think they have 12,14 settings, and they have different Quantization Tables for most of those settings.(上記ビデオより) これが標準のJPEGのやり方です。他のソフトでは、それ独自の Quantization Tablesを使っているかも知れません。私が知る限りでは、【アドビの】フォトショップは、12、14の【品質】設定を持っていますが、大部分のそれらの設定において【アドビのフォトショップの】量子化テーブルは【Jpeg標準規格とは】異なるものを使っていると考えていますよ。

AdobeのPhotoshopで、Jpeg画像の再保存を繰り返すと10~20回くらいで変な劣化が出る原因は、アドビはJpegの規格から外れた、自社独自のQtable=量子化表を用いているため、とも言えそうですね。

AdobeのPhotoshopは、Jpeg画像を読み込んだり書き出す際に、元の画像をよく見せようと変な処理を行って discrete cosine transforms (DCTs) 等の数字を、独自の (Quantization Table, Qtable) 「本来のJPEG規格であるべき数字より変化させている」可能性があるから、10~20回くらいの再保存で目に見える劣化が出ることがあるとも言えます。それ以外にも、Photoshopは再保存の際に変な再サンプリングをしてたりするのが原因かもしれません。

JPEG DCT, Discrete Cosine Transform (JPEG Pt2)- Computerphile

— — —

さて、MITの教授もやっていたことがある、

Fredo Durandさんが、https://fstoppers.com/education/about-jpeg-images-and-their-quality-degradation-435235 のコメント欄で、皆に読むように推奨していたwww.hackerfactor.comのサイトの記事を見ましょう

Resaving Images

Tuesday, 9 February 2010

The second thing that happens with a JPEG is the frequency quantization.JPEG で 2 番目に行われるのは、周波数量子化です。… With JPEG, most of the information is removed from the higher frequencies since the human eye is more sensitive to low frequencies.人間の目は低周波に対してより敏感であるため、JPEG ではほとんどの情報が高周波から除去されます。

… The image will change the most during the first resave. The second resave changes the image a little. The third changes it a little more. And so on. If the first image is saved at 90%, then a resave at 90% creates an image equivalent to 81%. The next resave at 90% is equivalent to 72.9% (90% x 90% x 90%). 画像は【Jpeg形式での】最初の再保存時に最も大きく変化します。 2回目の再保存では画像が少し変わります。 3 番目はもう少し変更します。 等々です。 最初のイメージが 【Jpeg品質】90% で保存された場合、【またJpegの品質】90% で再保存すると【最初の画像の品質からは】 81% に相当する【Jpeg】イメージが作成されます。 90% での次の再保存は、72.9% (90% x 90% x 90%) に相当します(https://www.hackerfactor.com 記事より引用)

逆に言うと、99%設定で、再保存を繰り返すとほぼ劣化はない

また、

How I Met Your Mother Through Photoshop

の記事では、Chris HansonがAdobe Photoshop系の、アドビのソフトで500回JPEG再保存を繰り返すと以下のような酷い劣化が生じるとした

↓の実験動画を,

High Quality JPEG Recompression Artifacts — 500 saves

JPEGの規格からいって、こんな事が起きることはない

使ったソフトがJPEGで定められたこと以外の何かをやっているのだ

と、いうのも、黒い点のような人工のぶつぶつなどのブロックノイズができて画像が劣化するのは、本来のJPEGの規格からはありえない劣化(JPEG規格に従えば、シャープさが再保存ごとに少し緩くなる)

で、正しいJPEG規格での再保存実験をやったところ、

JPEG品質99%では、再保存での劣化は11回で止まり、それ以降は500回再保存繰り返しても画質はおなじになった

JPG画質75%での再保存実験では、54回の再保存まで画質は劣化したが、それ以降の500回までは画質は変化しなくなった

そして、500回再保存した、Jpeg品質99%と、Jpeg品質75%の違いはごく僅かなものだった

オリジナルと比べても、髪の毛とセーターのシャープさがほんの少し失われているだけだ

と、本来のJPEG規格に沿ったソフトを使い、高品質で再保存すれば、Jpegでの再保存の画質劣化は、ほぼわからない

と結論

一方、アドビのフォトショップを使ってJpegで20回ほど再保存をすると目に見える画像の変化が出る(http://lh3.ggpht.com/_Uw91icJn-go/S3YH33P9fsI/AAAAAAAABeY/IqxY3NJWNQo/s800/ah-photoshop.jpg におは、ブロックノイズっぽいものが出ていますね *画像直リンクは金銭目的の為大量に行うと、日本の著作権法上(厳密に言うと、著作権の問題ではなく、ネット管理の迷惑行為となる)は、不法行為を生じる場合があります)

Yes, repeatedly saving a JPEG makes the image worse. But repeatedly saving it with Photoshop makes it much worse.はい、JPEG を繰り返し保存すると画像が劣化します。 しかし、【アドビ】Photoshop で保存を繰り返すと、さらに状況が悪化します。(https://www.hackerfactor.com/blog/index.php?%252Farchives%252F355-How-I-Met-Your-Mother-Through-Photoshop.htmlから引用)

アドビは、Photoshop以外のLightroomやイラストレーターも、フォトショップと同じJPEGアルゴリズムを用いているのは明白なので、アドビ系ソフトでのJPEGでの再保存は注意を要する場合があります

— — -

本ブログの追加実験 アドビPhotoshopでのJpagの繰り返し保存での画質劣化テスト

2024年初頭にアドビのPhotoshopによる、上の女性のJPEG画像の、最高品質12で20回JPEG再保存実験を行いましたが、

注意深く観察すると、ブロック状のノイズがやや目立ち始めていることを確認 相変わらずアドビは独自のJPEG画像処理を行っているので、JPEG標準処理とは異なる画像の劣化をしやすい

というままであると判断

なお、アドビのフォトショップによる、JPEG画像再保存の劣化は、よく見ればわかるということが、画像によってはあるというのが本当で、

https://pixabay.com/photos/racket-padel-ball-padel-tennis-6308994/

の画像で、最高品質12で20回JPEG再保存した場合、劣化を見つけるのは結構難しい

ちなみに元画像566%拡大の一部

The Original downloaded from the PIxabay Pixabayからダウンロードした元画像
The File resaved 20 times at the best quality Jpeg setting of the Adobe Photoshop アドビのフォトショップで最高品質で20回再保存を繰り返した例 566%拡大

全面にピントがガチピン写真というのは、現実社会の立体物の撮影では、ないので、大部分は実際はボケている写真であり、劣化が気になるケースは多くはない(あることはある場合がある)

— — -

記事 「マイクロストック、投稿型ストックフォト、または投稿型素材写真サイトの話」 で初出公開記事を抜粋補筆

JPG vs Raw:
Get it Right the First Time
© 2009 KenRockwell.com. All rights reserved.

Digital Camera File Formats
© 2006 KenRockwell.com

--

--