JPEG
コンピューティングにおいて、JPEGファイル形式は、デジタル画像を圧縮するために使用されるファイル形式である。圧縮量は変更することができます。画像が高画質であれば、大量のストレージを使用し、低画質であれば、少量のストレージを使用します。低画質の場合は、ストレージの小さな量を取ることになります。JPEGファイル形式は、WWWでよく見かける形式です。JPEGという単語は、このフォーマットを作成したJoint Photographic Experts Groupの略称です。JPEGファイルの拡張子は、.jpg
、.jpeg
、.
jpeなどです。
左から右へ圧縮量が減少していくワイルドキャットの写真。
仕組み
YPb Pr
JPEG圧縮でまず注目すべきは、各画素の色を保存する方法です。画像の各ピクセルには、その色を定義するために3バイトが割り当てられています。3 つのバイトはすべて 0 から 255 までの任意の値を持つことができ、3 つのバイトの可能な組み合わせはすべて別の色を表します。ほとんどのファイル形式では、色の定義にRGB形式が使用されています。RGBは、Red Green Blueの略です。3バイトのうち最初のバイトで、画素の色に含まれる赤の量がわかるので、このように名付けられました。2バイト目には緑、3バイト目には青が入ります。1バイト目の値が大きいほど、その画素はより赤く見えます。
JPEGも各ピクセルに3バイトを使いますが、YPb Pr (YCb Cr とも呼ばれます) フォーマットを使っています。この場合、1バイト目はそのピクセルの明るさを表します。2 バイト目には、その画素がどのくらい青いかが示されます。3バイト目には、その画素がどの程度赤いかが示されます。このカラーフォーマットでは、明るさは色とは別に保存されます。これは、画像を圧縮するときに便利な機能です。人間の目は色よりも明るさを見るのが得意なので、カラーバイト(Pb -バイトとPr -バイト)にはより大きな圧縮を適用することができます。人間の目は明るさを見る方が得意なので、Yバイトにはあまり圧縮をかけず、圧縮後の画像の見栄えをよくします。
画像はRGB形式で保存されていることがほとんどなので、JPEG圧縮の最初のステップは、通常、RGB形式をYPb Pr 形式に正しく変更することです。
離散コサイン変換
JPEGでは、画像を表現するためにコサイン関数を使用しています。そこで、コサイン関数について少しお話します。コサイン関数はこのような形になります。
コサイン関数が画素の色を表すには、コサイン関数の値が大きいほど、その画素は明るいと言うことになります。もし、明-暗-明の画素があれば、上の関数を使って定義することができます。
また、この機能は、より高い周波数を持つことも可能です。こんな風にね。
しかし、ここからが面白いところです。異なるコサイン関数の平均をとることで、異なる関数を作ることもできるのです。上の2つの関数の平均をとるとどうなるかというと、こうなります。
JPEGでは、8×8画素のブロックにDCTを適用しています。
量子化
ここまでは、画像を圧縮する過程で失われた情報ではありません。このステップでは、情報をフィルタリングしているのです。そのため、画質が低下するステップとなる。8×8画素のブロックごとに、周波数の高いコサイン関数を0にすることで、解凍したときの画像の見え方に影響を与えることができなくなる。
多くの値が0になるので、非常に簡単に圧縮できることになります。これはハフマン符号化を用いて行われます。ハフマンコーディングは、JPEG圧縮の最後のステップです。また、実際にデータが圧縮されるのはこのステップだけです。
コサイン
コサイン(2x)
(cos(x) + cos(2x))/ 2
質問と回答
Q: JPEGファイルフォーマットとは何ですか?
A:JPEGファイル形式は、デジタル画像を圧縮するために使用されるファイル形式です。
Q:圧縮率はどのように変えるのですか?
A:画質に応じて圧縮率を変更することができます。
Q:高画質な画像はどうなるのか?
A:高画質な画像は、ストレージを大量に消費します。
Q:JPEGファイルフォーマットはどこにあるのですか?
A:JPEGファイルフォーマットは、WWW上で一般的に使用されています。
Q: "JPEG "という言葉は何の略ですか?
A: 「JPEG」という言葉は、このフォーマットを作成したJoint Photographic Experts Group(ジョイント・フォトグラフィック・エキスパート・グループ)の略です。
Q:JPEGファイルの一般的な拡張子は何ですか?
A: JPEGファイルの一般的な拡張子は、.jpg、.jpeg、.jpeなどです。