- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像格式转换实验报告图像格式转换实验报告
实验1 图像格式转换实验报告
学 号
姓 名:陈振辉
班 级:5班
一、实验目的
掌握两种以上图像的格式,重点掌握BMP图像格式。
二、实验原理:
1、JPEG文件的解码过程。?
.读入文件的相关信息
按照上述的JPEG文件数据存储方式,把要解码的文件的相关信息一一读出,为接下来的解码工作做好准备。参考方法是,设计一系列的结构体对应各个标记,并存储标记内表示的信息。其中图像长宽、多个量化表和哈夫曼表、水平/垂直采样因子等多项信息比较重要。以下给出读取过程中的两个问题。1)整个文件的大体结构
JFIF格式的JPEG文件(*.jpg)的一般顺序为:
SOI(0xFFD8)
APP0(0xFFE0)
[APPn(0xFFEn)]可选
DQT(0xFFDB)
SOF0(0xFFC0)
DHT(0xFFC4)
SOS(0xFFDA)
压缩数据
EOI(0xFFD9)2)字的高低位问题
JPEG文件格式中,一个字(16位)的存储使用的是?Motorola?格式,?而不是?Intel?格式。也就是说,?一个字的高字节(高8位)在数据流的前面,?低字节(低8位)在数据流的后面,与平时习惯的Intel格式不一样。.3)读出哈夫曼表数据
在标记段DHT内,包含了一个或者多个的哈夫曼表。?不同位数的码字数量JPEG文件的哈夫曼编码只能是1~16位。这个字段的16个字节分别表示1~16位的编码码字在哈夫曼树中的个数。编码内容这个字段记录了哈夫曼树中各个叶子结点的权。所以,上一字段(不同位数的码字数量)的16个数值之和就应该是本字段的长度,也就是哈夫曼树中叶子结点个数。?4)建立哈夫曼树读出哈夫曼表的数据后,就要建立哈夫曼树。
.初步了解图像数据流的结构
?a)??在图片像素数据流中,信息可以被分为一段接一段的最小编码单元(Minimum CodedUnit,MCU)数据流。所谓MCU,是图像中一个正方矩阵像素的数据。矩阵的大小是这样确定的:查阅标记SOF0,可以得到图像不同颜色分量的采样因子,即Y、Cr、Cb三个分量各自的水平采样因子和垂直采样因子。大多图片的采样因子为4:1:1或1:1:1。其中,4:1:1即(2*2):(1*1):(1*1));1:1:1即(1*1):(1*1):(1*1)。记三个分量中水平采样因子最大值为Hmax,垂直采样因子最大值为Vmax,那么单个MCU矩阵的宽就是Hmax*8像素,高就是Vmax*8像素。
如果,整幅图像的宽度和高度不是MCU宽度和高度的整数倍,那么编码时会些数值填充进去,保证解码过程中MCU的完整性(解码完成后,可直接忽视图像宽度和高度外的数据)。在数据流中,MCU的排列方法是从左到右,从上到下。b)????????每个MCU又分为若干个数据单元。数据单元的大小必定为8*8,所以每个MCU的数据单元个数为Hmax*Vmax。另外JPEG的压缩方法与BMP文件有所不同,它不是把每个像素的颜色分量连续存储在一起的,而是把图片分成Y,Cr,Cb三张子图,然后分别压缩。而三个颜色分量的采样密度(即采样因子)可能一样(例如1:1:1)也可能不一样(例如4:1:1)。每个MCU内部,数据的顺序是Y、Cr、Cb。如果一个颜色分量有多个数据单元,则顺序是从左到右,从上到下。
.颜色分量单元的内部解码
1)理论说明
“颜色分量单元”是笔者为说明问题而建立的概念,指的是MCU中某个颜色分量的一个8*8数据块,例如上面提到的Y1?、Cr1、Cb1?都是一个颜色分量单元。图像数据流是以位(bit)为单位存储信息的。并且内部的数据都是在编码时通过正向离散余弦变换(FDCT)进行时空域向频率域变换而得到的结果,所以对于每个颜色分量单元都应该由两部分组成:1个直流分量和63个交流分量。解码的过程其实就是哈夫曼树的查找过程。
?颜色分量单元内部综合运用了RLE行程编码和哈夫曼编码来压缩数据。每个像素的数据流由两部分构成:编码和数值,并且两者基本以互相隔开方式出现(除非该编码的权值为零)。具体读入单个颜色分量单元的步骤如下:
a)从此颜色分量单元数据流的起点开始一位一位的读入,直到读入的编码与该分量直流哈夫曼树的某个码字(叶子结点)一致,然后用直流哈夫曼树查得该码字对应的权值。权值(共8位)表示该直流分量数值的二进制位数,也就是接下来需要读入的位数。b)继续读入位数据,直到读入的编码与该分量交流哈夫曼树的某个码字(叶子结点)一致,然后用交流哈夫曼树查得该码字对应的权值。权值的高4位表示当前数值前面有多少个连续的零,低4位
您可能关注的文档
- 初中英语中考近意词辨析题 二(51-100小题)初中英语中考近意词辨析题 二(51-100小题).doc
- 初二历史下册复习题初二历史下册复习题.pdf
- 初中英语阅读理解解析与答题方法初中英语阅读理解解析与答题方法.doc
- 初探小学语文综合性学习初探小学语文综合性学习.doc
- 初中语文作业设计探究初中语文作业设计探究.doc
- 初级通讯设计人员基础知识培训(管道)初级通讯设计人员基础知识培训(管道).doc
- 利用AB测试原理优化推广创意利用AB测试原理优化推广创意.doc
- 利用远教提高小学生实验操作技能初探利用远教提高小学生实验操作技能初探.doc
- 剑杆织机的引纬机构剑杆织机的引纬机构.doc
- 初中语文人教版七年级上册第三单元第15课:《古代诗歌四首》课件初中语文人教版七年级上册第三单元第15课:《古代诗歌四首》课件.doc
文档评论(0)