- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JPEG图片格式简单分析
对于花花绿绿色彩斑斓的图片,也许里面包含了艺术家的许多心血,但归根结底它就是一个文件,里面写满了16进制代码的一个文件,这些代码的前面一部分可能是介绍了这张图片的一些简单的信息,后面一大部分是它的图像数据。这个文件的原理简单的就像是一篇小论文,题目,摘要,关键词,正文,参考文献等,那么这篇小论文的具体格式到底是什么呢?其实很简单,用ultraEdit随便打开一张jpg格式的图片就可以看到,但是要看懂里面的内容也不是一件很容易的事情,那么先看下面转载的这篇文章吧,看完它就会很容易理解JPG的文件格式了。?JPEG 图片格式简单分析1、基本常识微处理机中的存放顺序有正序(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文件使用的颜色空间是CCIR 601推荐标准进行的彩色空间(参看第7章)。在这个彩色空间中,每个分量、每个像素的电平规定为255级,用8位代码表示。从RGB转换成YCbCr空间时,使用下面的精确的转换关系: Y = 256 * Ey Cb = 256 * [ECb] + 128 Cr = 256 * [ECr] + 128其中亮度电平Ey和色差电平ECb和ECb分别是CCIR 601定义的参数。由于Ey的范围是0~1,ECb和ECb的范围是-0.5~+0.5,因此Y, Cb和Cr的最大值必须要箝到255。于是RGB和YCbCr之间的转换关系需要按照下面的方法计算。 (1) 从RGB转换成YCbCr YCbCr(256级)分量可直接从用8位表示的RGB分量计算得到: Y = 0.299 R + 0.587 G + 0.114 B Cb = - 0.1687R - 0.3313G + 0.5 B + 128 Cr = 0.5 R - 0.4187G - 0.0813 B + 128 需要注意的是不是所有图像文件格式都按照R0,G0,B0,…… Rn,Gn,Bn的次序存储样本数据,因此在RGB文件转换成JFIF文件时需要首先验证RGB的次序。 (2) 从YCbCr转换成RGB RGB分量可直接从YCbCr(256级)分量计算得到: R = Y + 1.402 (Cr-128) G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128) B = Y + 1.772 (Cb-128) 在JFIF文件格式中,图像样本的存放顺序是从左到右和从上到下。这就是说JFIF文件中的第一个图像样本是图像左上角的样本。 ?2 文件结构 JFIF文件格式直接使用JPEG标准为应用程序定义的许多标记,因此JFIF格式成了事实上JPEG文件交换格式标准。JPEG的每个标记都是由2个字节组成,其前一个字节是固定值0xFF。每个标记之前还可以添加数目不限的0xFF填充字节(fill byte)。下面是其中的8个标记: SOI 0xD8 图像开始 APP0 0xE0 JFIF应用数据块 APPn 0xE1 - 0xEF 其他的应用数据块(n, 1~15) DQT 0xDB 量化表 SOF0 0xC0 帧开始 DHT 0xC4 霍夫曼(Huffman)表 SOS 0xDA 扫描线开始 EOI 0xD9 图像结束 为使读者对JPEG定义的标记一目了然,现将JPEG的标记码列于表6-05,并保留英文解释。 表6-05 JPEG定义的标记Symbol (符号)Code As
文档评论(0)