jfif

王朝百科·作者佚名  2010-03-10
窄屏简体版  字體:   |    |    |  超大  

图片存储格式之一,由JPEG格式衍生而来,后缀为".jfif"。

JPEG本身只有描述如何将一个图像转换为字节的数据串流(streaming),但并没有说明这些字节如何在任何特定的储存媒体上被封存起来。一个由独立JPEG小组(Independent JPEG Group)所建立的额外标准,称为JFIF(JPEG File Interchange Format,JPEG档案交换格式),详细说明如何从一个JPEG串流,产出一个适合于电脑储存和传输(像是在因特网上)的档案。当有人称呼一个"JPEG档案",一般而言他是意指一个JFIF档案,或有时候是一个Exif JPEG档案。然而,也有其他以JPEG为基础的档案格式,像是JNG。

JPEG/JFIF是最普遍在万维网(World Wide Web)上被用来储存和传输图片的格式。它并不适合于线条绘图(drawing)和其他文字或图示(iconic)的图形,因为它的压缩方法用在这些图形的型态上,会得到不适当的结果(PNG和GIF格式通常是用来针对这种目的之图形;GIF每一像素只有8位元,并不很适合于用在彩色照片,PNG可以被用来无失真地储存照片,但是档案太大让它不适合在网页上放照片)。

对于JFIF的MIME媒体型态是image/jpeg(定义在RFC 1341)。

一.简介

微处理机中的数据存放顺序有大端(big endian)小端(little endian)之分。大端顺序是指高字节数据存放在低地址处,低字节数据存放在高地址处,而小端顺序是指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处。例如,十六进制数为A02B,按大端顺序存放就是A02B,按小端顺序存放就是2BA0。摩托罗拉(Motorola)公司的微处理器使用大端顺序存放,而英特尔(Intel)公司的微处理器使用小端顺序。JPEG文件中的字节是按照大端顺序排列的。

JPEG委员会在制定JPEG标准时,定义了许多标记(marker)用来区分和识别图像数据及其相关信息,但笔者没有找到JPEG委员会对JPEG文件交换格式的明确定义。直到1998年12月从分析网上具体的JPG图像来看,使用比较广泛的还是JPEG文件交换格式(JPEG File Interchange Format,JFIF)版本号为1.02。这是1992年9月由在C-Cube Microsystems公司工作的Eric Hamilton提出的。此外还有TIFF JPEG等格式,但由于这种格式比较复杂,因此大多数应用程序都支持JFIF文件交换格式。

JPEG文件使用的颜色空间是YCbCr空间。在JFIF文件格式中,图像样本的存放顺序是从左到右和从上到下。这就是说JFIF文件中的第一个图像样本是图像左上角的样本。

二.文件结构

JFIF文件格式直接使用JPEG标准为应用程序定义的许多标记,因此JFIF格式成了事实上JPEG文件交换格式标准。JPEG的每个标记都是由2个字节组成,其前一个字节是固定值0xFF。每个标记之前还可以添加数目不限的0xFF填充字节(fill byte)。下面是其中的8个标记:

SOI 0xD8图像开始

APP0 0xE0JFIF应用数据块

APPn 0xE1 - 0xEF其他的应用数据块(n, 1~15)

DQT 0xDB量化表

SOF0 0xC0帧开始

DHT 0xC4霍夫曼(Huffman)表

SOS 0xDA扫描线开始

EOI 0xD9图像结束

一般的JFIF文件由下面的9个部分组成:

( 1 ) 图像开始SOI(Start of Image)标记 0h 2字节 0xFFD8

( 2 ) APP0标记(Marker) 0h 2字节 0xFFE0

( 3 ) APPn标记(Markers)

( 4 ) 一个或者多个量化表DQT(Difine Quantization Table) 0h 2字节 0xFFDB

( 5 ) 帧图像开始SOF0(Start of Frame)

( 6 ) 一个或者多个霍夫曼表DHT(Difine Huffman Table)

( 7 ) 定义重新开始间隔DRI(Difine Restart Interval)

( 8 ) 扫描开始SOS(Start of Scan)

( 9 ) 图像结束EOI(End of Image)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航