JFIF
読み:ジェイフィフ
外語:JFIF: JPEG File Interchange Format

 C-Cube Microsystems、Xing Technology、Digital Origin(Radius)の3社によって提唱された静止画像ファイルの規格。
 圧縮に関するアルゴリズムはJPEGによって策定されたものを利用する。
目次

概要
 一般にJPEGファイルと呼ばれる画像ファイルは、このJFIFを指している。
 実際にはJPEGの画像データに加え、カラーモデルやコンポーネント(部品)の格納順など、画像に関する各種情報が格納できるようになっている。
 MIMEタイプ名image/jpeg、拡張子は.jpgや.jpegが使われている。

特徴
 カラーモデルにはディジタルテレビ用のエンコーディングパラメーターであるITU-R BT.601が採用されている。
 色情報は256階調(8ビット)で、テレビで使われるものと同様、輝度と2つの色差の3コンポーネント(YCbCr)で構成されている。但しガンマ補正のパラメーターは持てない(通常1.0)。
 画像の解像度情報(1インチまたは1cmあたりのピクセル数)と縮小画像(サムネイル)などの拡張情報を格納する機能がある。
 また、拡張性もあり、このフォーマットを拡張したExifなどのフォーマットがある。

技術

マーカー
 データと構造を区別するため、JFIFでは0xFFに続く1バイト(0xC0〜0xFE)を合わせた2バイトをマーカーとして扱っている。
 JPEGファイルは0xFF 0xD8というSOIマーカーから始まり、0xFF 0xD9というEOIマーカーで終わる。
 SOI/EOIなどの例外を除き、このマーカーの後には2バイトでサイズが続いているため、未対応の情報を読み飛ばすことが可能。
 x0x1x2x3x4x5x6x7x8x9xAxBxCxDxExF
C0SOF0SOF1SOF2SOF3DHTSOF5SOF6SOF7JPGSOF9SOF10SOF11dACSOF13SOF14SOF15
D0RST0RST1RST2RST3RST4RST5RST6RST7SOIEOISOSDQTDNLDRIDHPEXP
E0APP0APP1APP2APP3APP4APP5APP6APP7APP8APP9APP10APP11APP12APP13APP14APP15
F0JPG0JPG1JPG2JPG3JPG4JPG5JPG6JPG7JPG8JPG9JPG10JPG11JPG12JPG13COM
 SOFは13種類あるが、用いているアルゴリズムごと分けられたもので、次のものが用意されている。
 一般的なJPEGファイルではSOF0で、一般的なプログレッシブJPEGファイルがSOF2である。

基本構造
 ごく基本的な構造は、次のようになる。SOIとEOIは固定だが、それ以外の領域に他の項目が挿入されたり、削られたり、順番が変わっていることもある。
 JPEGデータ領域を表わすマーカーの後にはサイズ情報が付かず、JFIFの他の領域とは書式が異なる。

SOFxマーカー
 マーカーによって書式は異なる可能性があるが、判明している範囲では、SOF0とSOF2は同じ。パラメーターの値は一例である。

拡張情報
 0xFF 0xExのAPPxマーカーが、様々な拡張に利用できる。
 マーカーの後にサイズが続き、その後にアプリケーションを表わすマジックナンバーの文字列がASCIIZで続くのが基本的な書式のようである。
 APPxマーカーは16種類あり、しかもマジックナンバーがあるので、拡張はいかようにでも出来ることになる。
 主な使用例は次の通り。

再検索