ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
C-Cube Microsystems、Xing Technology、Digital Origin(Radius)の3社によって提唱された静止画像ファイルの規格。
圧縮に関するアルゴリズムはJPEGによって策定されたものを利用する。
一般にJPEGファイルと呼ばれる画像ファイルは、このJFIFを指している。
実際にはJPEGの画像データに加え、カラーモデルやコンポーネント(部品)の格納順など、画像に関する各種情報が格納できるようになっている。
MIMEタイプ名はimage/jpeg、拡張子は.jpgや.jpegが使われている。
データと構造を区別するため、JFIFでは0xFFに続く1バイト(0xC0〜0xFE)を合わせた2バイトをマーカーとして扱っている。
JPEGファイルは0xFF 0xD8というSOIマーカーから始まり、0xFF 0xD9というEOIマーカーで終わる。
SOI/EOIなどの例外を除き、このマーカーの後には2バイトでサイズが続いているため、未対応の情報を読み飛ばすことが可能。
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C0 | SOF0 | SOF1 | SOF2 | SOF3 | DHT | SOF5 | SOF6 | SOF7 | JPG | SOF9 | SOF10 | SOF11 | dAC | SOF13 | SOF14 | SOF15 |
D0 | RST0 | RST1 | RST2 | RST3 | RST4 | RST5 | RST6 | RST7 | SOI | EOI | SOS | DQT | DNL | DRI | DHP | EXP |
E0 | APP0 | APP1 | APP2 | APP3 | APP4 | APP5 | APP6 | APP7 | APP8 | APP9 | APP10 | APP11 | APP12 | APP13 | APP14 | APP15 |
F0 | JPG0 | JPG1 | JPG2 | JPG3 | JPG4 | JPG5 | JPG6 | JPG7 | JPG8 | JPG9 | JPG10 | JPG11 | JPG12 | JPG13 | COM | ‐ |
SOFは13種類あるが、用いているアルゴリズムごと分けられたもので、次のものが用意されている。
一般的なJPEGファイルではSOF0で、一般的なプログレッシブJPEGファイルがSOF2である。
ごく基本的な構造は、次のようになる。SOIとEOIは固定だが、それ以外の領域に他の項目が挿入されたり、削られたり、順番が変わっていることもある。
JPEGデータ領域を表わすマーカーの後にはサイズ情報が付かず、JFIFの他の領域とは書式が異なる。
マーカーによって書式は異なる可能性があるが、判明している範囲では、SOF0とSOF2は同じ。パラメーターの値は一例である。
0xFF 0xExのAPPxマーカーが、様々な拡張に利用できる。
マーカーの後にサイズが続き、その後にアプリケーションを表わすマジックナンバーの文字列がASCIIZで続くのが基本的な書式のようである。
APPxマーカーは16種類あり、しかもマジックナンバーがあるので、拡張はいかようにでも出来ることになる。
主な使用例は次の通り。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます