複数のpngを全部pdfに結合する処理を書いていて、その中でJPEG圧縮について興味が湧いた。JPEG圧縮全体はまだ全く理解出来てなかったけど、その工程の中のクロマ・サブサンプリングについて調べたのでメモしておく。 そもそもJPEGの圧縮の流れ ChatGPTに聞いたら次の流れのようだ。逆順をたどれば復元できるが、量子化で捨てた分は戻らない。 色を人間の感じ方に合わせて変換(RGB → YCbCr) 色差成分を間引き(サブサンプリング) 画像を 8×8 ピクセルの小さなブロックに分割 各ブロックに離散コサイン変換(DCT)をかけて「周波数成分」に分解 高い周波数ほど粗く丸める(量子化)=ここが“劣化”ポイント ゼロが並びやすい順に並べ直し(ジグザグスキャン) ゼロの連続を短い記号で表現し、ハフマン符号でさらに圧縮 これの2でクロマ・サブサンプリングをしている。 YCbCr RGBからの可逆
