版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、收稿日期:2009-01-17作者简介:冯彦辉(19802,男,硕士,助理工程师。文章编号:167424578(20090120038202基于J PEG 图像文件格式的研究冯彦辉1高洁1徐晔1陈海军2(1.中国兵器工业第二八研究所,北京102202;2.太原铁路局,山西太原030001摘要:针对最常见的J PEG 图像格式的压缩数据进行分析,介绍了J PEG 图像格式中的大部分典型且必要的标记;接着详细给出J PEG 数据R G B 与YUV 之间转化的算法;最后,阐述了J PEG 图像数据块内的编码方法。关键词:J PEG;存储方式;段格式;编码中图分类号:TP806.1文献标识码:A0引
2、言图像和动画的存储方式是一个很重要的问题。幸好有了数据压缩,有了J PEG 等多种压缩存储图像的文件格式,我们今天才能够拿着小小的一个存储器,却存上许多张色彩鲜艳的图片。如果没有图像压缩算法,也许我们的多媒体时代就会晚到来许多年。J PEG 是联合图象专家组(Joint Pic 2ture Expert Group 的英文缩写,是国际标准化组织(ISO 和CCITT 联合制定的静态图象的压缩编码标准。和相同图象质量的其它常用文件格式(如GIF ,TIFF 相比,J PEG 是目前静态图象中压缩比最高的。正是由于J PEG 的高压缩比,使得它广泛地应用于多媒体和网络程序中,如HTML 语法中选用
3、的图象格式之一就是J PEG 。这是显然的,因为网络的带宽非常宝贵,选用一种高压缩比的文件格式是十分必要的。1J PEG 文件格式概述J PEG 图像存储格式一个比较成熟的图像有损压缩格式,虽然一个图片经过转化为J PEG 图像后,一些数据会丢失,但是,人眼是很不容易分辨出来这种差别的。也就是说,J PEG 图像存储格式既满足了人眼对色彩和分辨率的要求,又适当的去除了图像中很难被人眼所分辨出的色彩,在图像的清晰与大小中J PEG 找到了一个很好的平衡点。虽然图像转化为J PEG 格式会减小很多,但是并不是文件就变得简单了,相反,J PEG 文件的格式是比较复杂的。不经过认真地分析,是不容易弄懂
4、它的。1.1J PEG 文件的存储方式J PEG 文件的格式是分为一个一个的段来存储的(但并不是全部都是段,段的多少和长度并不是一定的。只要包含了足够的信息,J PEG 文件就能够被打开。J PEG 文件的每个段都一定包含两部分,一个是段的标识,它由两个字节构成:第一个字节是十六进制0xFF ,第二个字节对于不同的段,这个值是不同的。紧接着的两个字节存放的是这个段的长度(除了前面的两个字节0xFF 和0xXX ,(X 表示不确定。他们是不算到段的长度中的。J PEG /J FIF 文件格式使用Motorola 格式,这种表示方法是按照高位在前低位在后的,与Intel 的表示方法不同。比方说一个
5、段的长度是0x12AB ,那么它会按照0x12,0xAB 的顺序存储。但是如果按照Intel 的方式:高位在后低位在前的方式会存储成0xAB ,0x12,这样的存储方法对于J PEG 是不对的。1.2J PEG 文件组成结构J FIF 文件格式直接使用J PEG 标准为应用程序定义的许多标记,因此J FIF 格式成了事实上J PEG 文件交换格式标准。J PEG 文件大体上可以分成以下两个部分:标记码(Tag 加压缩数据。这里详细说明标记码部分。标记码部分给出了J PEG 图象的所有信息(有点类似于BMP 中的头信息,但要复杂的多,如图象的宽、高、Huffman 表、量化表等等。J PEG 的
6、每个标记都是由2个字节组成,其前一个字节是固定值0xFF 。每个标记之前还可以添加数目不限的0xFF 填充字节(fill byte 。标记码有很多,但绝大多数的J PEG 文件只包含几种。下表是J PEG 图像中常用的8个标记:段名标识码(Tag 说明SOI FFD8图像开始APP0FFE0J FIF 应用数据块APPn FFE12FFEn 其他的应用数据块(n ,115DQ T FFDB 量化表SOF0FFC0帧开始DHT FFC4霍夫曼(Huffman 表SOS FFDA 扫描线开始EOIFFD9图像结束1.3J PEG 文件中段的介绍(1APP0段中主要存储的是图片的识别信息(字符串“J
7、 FIF 0”、一些分辨率的信息以及缩略图的信息。在我的实际测试中,发现并不是所有的J PEG 文件都有APP0段的,有的仅是有APP2之类的其他段,但是每个文件中肯定是包含APPX 的段。(2DQ T 段的内容是量化表的信息。众所周知,一个颜色可以分为R G B (红、绿、兰三个分量,这三色光组成了我们可以见到的所有色彩。但是,在J PEG 文件中,R G B 色彩格式需要先转化为YUV 的格式。Y 分量代表了亮度信息,UV 分量代表了色差信息。相比之下,人眼对于Y 分量更为敏感。量化表的作用就是对于一些不需要的量进行去除,这也是J PEG 有损压缩损失数据的关键。上面的输出可以看到两个量化
8、表,一个给Y 分量,另一个给UV 分量。其实,他们也可以共用一个量化表。下面为8×8的亮度(Y 山西电子技术2009年第1期应用实践图象子块经过量化后的系数150-100000-2-1000000-1-100000000000000000000000000000000000000000000003SOF0段的内容是图像的大小信息,每个像素的位数信息,以及YUV 每个分量分别得的采样信息。J PEG 文件图像的编码是一个方块一个方块进行的,每块的大小为8x8大小(如果图像不是整数个方块的大小那么就对图像补齐为整数个大小。简略地说采样信息,就是如何按组记录YUV 的信息,即若干个Y 方块
9、,若干个U 方块,若干个V 方块经过量化的数据再次经过编码后组成一组记录,保存在SOS 段结束后。(4DHT 段的内容是最重要的,如果没有它,J PEG 压缩效率就不会那么高。它内部定义的是一个Huffman 表,不同的DHT 段定义不同的Huffman 表,有的是直流量的表,有的是交流量的表。其中直流量是经过量化后的系数表中左上角的值,直流量用直流Huffman 表来单独编码的,不与块内部一同编码。交流量是经过量化后的系数表中除左上角的值之外的其余值,交流量用交流Huffman 表来单独编码的。最多的Huffman 表有几个呢?YUV 各一个,直流交流各一个,因为YUV 每个分量都有直流和交
10、流,所以最多时,Huffman 表有3x2个,也就是可以有6个DHT 段。一般的J PEG 文件中有4个DHT 表,Y 的直流和交流各一个Huff 2man 表,UV 合起来直流和交流各一个Huffman 表。(5SOS 段的内容是关于YUV 每个分量的直流和交流各使用那个Huffman 表来编码的。2R G B 格式和YCbCr 格式之间的转换关系J PEG 的图片使用的是YCrCb 颜色模型,而不是计算机上最常用R G B 。J PEG 文件使用的颜色空间是CCIR 601推荐标准进行的彩色空间。在这个彩色空间中,每个分量、每个像素的电平规定为255级,用8位代码表示。从R G B 转换成
11、YCbCr 空间时,使用下面的精确的转换关系:Y =2563E y Cb =2563E Cb+128Cr =2563E Cr +128其中亮度电平E y 和色差电平E Cb 和E Cr 分别是CCIR 601定义的参数。由于E y 的范围是01,E Cb 和E Cr 的范围是-0.5+0.5,因此Y ,Cb 和Cr 的最大值必须要到255。于是R G B 和YCbCr 之间的转换关系需要按照下面的方法计算。(1从R G B 转换成YCbCrYCbCr (256级分量可直接从用8位表示的R G B 分量计算得到:Y =0.299R +0.587G +0.114BCb =-0.1687R -0.3
12、313G +0.5B +128Cr =0.5R -0.4187G -0.0813B +128注意:不是所有图像文件格式都按照R0,G 0,B0,Rn ,Gn ,Bn 的次序存储样本数据,在R G B 文件转换成J FIF 文件时需要首先验证R G B 的次序。(2从YCbCr 转换成R G BR G B 分量可直接从YCbCr (256级分量计算得到:R =Y + 1.402(Cr -128G =Y -0.34414(Cb -128-0.71414(Cr -128B =Y + 1.772(Cb -1283图像数据块内数据的编码图像数据块的编码涉及到了行程编码,Huffman 编码等编码方式。我
13、们还是使用那刚才那个包含很多0的量化后的8x8的数据块来说明。把块内剩余的63个数据用行程编码来编码。经过行程编码后的数据的格式是:(x ,y 。x 表示的是从当前位置开始有多少个连续的零,y 表示这些连续的0的后面的第一个非零的数是多少。但是为了解决存储的问题和进行进一步的压缩。最后的压缩格式变为:(x ,y z 。xy 占有一个字节的长度。z 的长度不固定,需要根据y 的值来判断。x 仍代表从当前位置开始有几个连续的零,但是因为x 只能占有四位的长度,也就是它的最大值是15,所以,当多于16个连续的零的时候。会用一个字节的(15,0来代替前面的16个0,然后继续编码(注意:这时候没有z 部
14、分。当块结束或者当前块后面剩余的都是零的时候,就用(0,0即EOB 代替(同样也是没有z 部分。前面说到z 的长度不固定,在115的范围内。需要根据y 的值来判断。y 的作用简单的来说表示的是z 的二进制位数(115,也正好是4位二进制的值能够表示的。然后,把xy 合成的一个字节单独提取出来,利用DHT 里面的Huffman 表来进行编码。这样,编码的长度又能够被压缩了。4结束语J PEG 文件格式采用有损数据压缩,去除了冗余的图像和彩色数据,获得极高的压缩率的同时能展现十分丰富生动的图像。同时J PEG 还是一种很灵活的格式,压缩率和图像质量都是可选的。由于J PEG 优异的品质和杰出的表现
15、,在相关领域取得了广泛的应用。目前,基于有损、无损压缩的J PEG 2000格式已经诞生,它与J PEG 格式相比不仅可实现无损压缩,在有损压缩方面其压缩率比J PEG 高约30%左右,而且还可实现渐进传输。希望广大爱好者一起来研究、探讨参考文献1全子一.图像信源压缩编码及信道传输理论与新技术M .北京工业大学出版社,2006.2于兆明.图像编码标准M .人民邮电出版社,2006.3.3邢赛鹏.J PEG 图像数据格式简明分析J .微计算机信息,2005.36.The R esearch B ased on JPEG Image File FormatFeng Y an 2hui 1G ao
16、Jie 1Xu Y e 1Chen Hai 2jun 2(1.No.208Research Institute of China South Industies Group ,Beijing 102202,China ;2.Taiyuan Rail road B ureau ,Taiyuan S hanxi 030001,China Abstract :This paper analyses the compression data of the common J PEG image format ,it introduces the most typical and neces 2sary tags of J PEG ima
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年青岛黄海学院单招职业适应性考试题库及答案详解1套
- 2026年河南中医药大学单招综合素质考试题库及参考答案详解
- 2026年宁夏工商职业技术学院单招职业倾向性考试题库参考答案详解
- 2026年郑州信息工程职业学院单招职业适应性考试题库及参考答案详解1套
- 2026年山西金融职业学院单招职业技能测试题库及完整答案详解1套
- 2026年西昌民族幼儿师范高等专科学校单招职业倾向性测试题库及答案详解一套
- 2026年东营科技职业学院单招职业适应性考试题库及参考答案详解1套
- 2026年四川幼儿师范高等专科学校单招职业适应性测试题库参考答案详解
- 2026年西藏昌都地区单招职业适应性考试题库参考答案详解
- 2026年镇江市高等专科学校单招职业技能考试题库及参考答案详解
- 反诈劝阻预警课件
- 【《麦弗逊式独立悬架主要参数的确定计算案例》2000字】
- 邵东县特色中药材玉竹规范化栽培技术推广及产业化实施方案
- 长安福特5S管理
- 军品价格管理办法原文
- 2025北京高三二模英语汇编:阅读理解C篇
- 2024年第一次广东省普通高中数学学业水平合格性考试真题卷含答案
- 2025年中医健康管理服务合同模板
- 《红军重走长征路》课件
- 机械加工工艺过程卡片
- 2企业安全生产标准化建设咨询服务方案
评论
0/150
提交评论