




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Visual C 的JPEG编解码技术.txt爱情是艺术,结婚是技术,离婚是算术。这年头女孩们都在争做小“腰”精,谁还稀罕小“腹”婆呀?高职不如高薪,高薪不如高寿,高寿不如高兴。 本文由backet2004贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 毕 业 设 计 基于 Visual C+ 的 JPEG 编解码技术 学 专 院 业 物理与光电工程学院 电子科学与技术(光电子) 2002 级(2)班 杨 贤 年级班别 学 号 学生姓名 指导教师 周冬跃 2006 年 05 月 21 日 1 绪论 4 1.1 JPEG 编解码技术发展的背景 4
2、1.2 JPEG 编解码技术的发展前景 5 2 JPEG 标准基本原理 6 2.1JPEG 压缩标准的简单介绍 6 2.2 JPEG 编解码总流程 7 3 JPEG 标准的算法流程 7 3.1 颜色系统的转换 7 3.2 离散余弦变换 8 3.3 量化 9 3.4 编码 10 3.5 熵编码 12 3.6 哈夫曼编码 17 4 JPEG 的文件格式 19 5.JPEG 编解码的程序实现 24 6 总结 30 致 谢 32 参考文献 32 附录 32 摘要 本论文主要介绍了 JPEG 编解码技术以及在 VC+平台上的具体实现。同时也介绍了许 多图像压缩编码技术的基本算法和实现方法, 如离散余弦变
3、换、 量化、 熵编码及 Huffman 编码。 具体实现程序的编码部分能把一张 BMP 格式的 24 位真彩色图象进行 JEPG 编码,压缩成 以二进制形式保存的文件;通过相应的解码程序又可以把图象解压缩出来。在图象传送 过程中, 我们经常采用 JPEG 格式对静态图象进行编码。 JPEG 基本系统是一种有损编码, 无法完全恢复出原图象,信息有一定的丢失,称为有损压缩。尽管我们希望能够无损压 缩,但是通常有损压缩的压缩比(即原图象占的字节数与压缩后图象占的字节数之比, 压缩比越大,说明压缩效率越高)比无损压缩的高。JPEG 编码先把图象色彩 RBG 变成亮 度 Y 和色度 Cr、Cb,它利用人
4、的视觉对色度不敏感的特点,减少一部分色度数据,以达 到压缩。 JPEG 采取多种编码方式,包含有行程编码(Run Length Coding)和哈夫曼(Huffman) 编码,有很高的压缩比。在编码前,先对数据进行分块,离散余弦变换(DCT)及量化, 保留能量大的低频信号,丢弃高频信号以达到压缩。解码时,进行熵解码,反量化,反 离散余弦变换(IDCT) 。 关键字:JPEG DCT 行程编码 量化 熵编码 Abstract This paper introduce JPEG compress compiled technology code and at VC + platform mainl
5、y concrete to realize. Recommended a lot of pictures to compress the basic algorithm of the technology of the code and implementation method at the same time , such as Discrete Cosine Transform , quantization , entropy code and Huffman code. The encoding part of this program can encode a picture who
6、se format is 24-bits-turecolor BMP and save relevant data as binary system。 The decoding program can decode the compression data and reconstruct the origin image。 While conveying pictures we often encode still pictures into the style of JPEG。 JPEG is of lossy compression which can not recover all th
7、e image data, some data are losed。 Although we refer to non-lossy compression, however, the compression ratio of lossy compression( the times that data bytes before compression to that after compression )is bigger than that of non-lossy compression。 JPEG encoding translate image color from RBG to lu
8、minance Y and chroma Cr、Cb。 Because people eyes are less sensitive to chroma comparing with luminance , some of chroma data are abandoned to reduce data size。 JPEG envolves some kinds of ways of encoding including Run Length Coding and Huffman Coding, so it has high compression ratio。 Before Coding
9、,we divide data into blocks , DCT and quantify each block 。 The low-frequency signals that have more energy are maintained and others are rejected 。 While decoding , data stream are readed , decoded , inverse-quantified and then IDCT 。 Keyword: JPEG DCT Run Length Coding Quantization Entropy code 1
10、1.1 绪论 JPEG 编解码技术发展的背景 随着数字媒体技术的发展,Internet 的越来越流行,网络的承载量变得越来越大,形式也 越来越多样化.传统的字符界面的应用早已经不能够满足人们的需要了.以音频和视频 等出现的形式越来越受人们的青睐.人们在这个数字时代里面,尽情的浏览图片,听音乐. 看电影.上传还有下载文件.但是这里面同时存在着一个难以克服的问题:图象等信息的 数据量太大了,本来就已经非常紧张的网络带宽变得更加不堪重负,现在我们以一张图 片为例子:一张 A4(210mm297mm) 幅面的照片,若用中等分辨率(300dpi)的扫描仪按 真 彩 色 扫 描 , 其 数 据 量 为 多
11、 少 ? 让 我 们 来 计 算 一 下 : 共 有 (300210/25.4) (300297/25.4)个象素,每个象素占 3 个字节,其数据量为 26M 字节,其数据量之 大可见一斑。 提高带宽,这固然是一个行之有效的办法.但是作为一个物理硬件.有其本身的局限性 大数据量的图象信息会给存储器的存储容量,通信干线信道的带宽,以及计算机的处理 速度增加极大的压力。单纯靠增加存储器容量,提高信道带宽以及计算机的处理速度等 方法来解决这个问题是不现实的.这就需要我们从另外一个出发点去考虑.那就是从软 件上去实现它. 于是我们就用到了压缩. 压缩的理论基础是信息论。从信息论的角度来看,压缩就是去掉
12、信息中的冗余,即保留 不确定的信息,去掉确定的信息(可推知的),也就是用一种更接近信息本质的描述来代 替原有冗余的描述。这个本质的东西就是信息量(即不确定因素)。 压缩可分为两大类:第一类压缩过程是可逆的,也就是说,从压缩后的图象能够完全恢 复出原来的图象,信息没有任何丢失,称为无损压缩;第二类压缩过程是不可逆的,无 法完全恢复出原图象,信息有一定的丢失,称为有损压缩。选择哪一类压缩,要折衷考 虑,尽管我们希望能够无损压缩,但是通常有损压缩的压缩比(即原图象占的字节数与 压缩后图象占的字节数之比,压缩比越大,说明压缩效率越高)比无损压缩的高。 图象压缩一般通过改变图象的表示方式来达到,因此压缩
13、和编码是分不开的。图象 压缩的主要应用是图象信息的传输和存储,可广泛地应用于广播电视、电视会议、计 算机通讯、传真、多媒体系统、医学图象、卫星图象等领域。 压缩编码的方法有很多,主要分成以下四大类:(1)象素编码;(2)预测编码;(3)变 换编码;(4)其它方法。 1.2 JPEG 编解码技术的发展前景 目前在因特网上应用最广泛的图片格式就是 GIF 和 JPEG 了,查看一下网上各种照 片的属性,我们会发现它们几乎全是 JPEG 格式。. 5 目前,JPEG 已开发三个图像标准 。第一个直接称为 JPEG 标准,正式名称叫“连续 色调静止图像的数字压缩编码”(Digital Compress
14、ion and Coding of Continuous-tone still Images), 1992 年正式通过。 JPEG 开发的第二个标准是 JPEG-LS(ISO/IEC 14495, 1999)。JPEG-LS 仍然是静止 图像无损编码,能提供接近有损压缩压缩率。 JPEG 的最新标准是 JPEG 2000(ISO/IEC 15444, 等同的 ITU-T 编号 T.800),于 1999 年 3 月形成工作草案,2000 年底成为正式标准(第一部分)。根据 JPEG 专家组的 目标,该标准将不仅能提高对图像的压缩质量,尤其是低码率时的压缩质量,而且还将 得到许多新功能,包括根据
15、图像质量,视觉感受和分辨率进行渐进传输,对码流的随机 存取和处理,开放结构,向下兼容等. 尽管我们知道,JPEG 格式的图片采用的是一种有损压缩算法,压缩后的图像会出现 一定程度上的失真(即“毛边”现象) 。但我们还是喜欢用它,这是因为 JPEG 在目前的 静止图像格式中的压缩比是最高的仅为其 BMP 原图像大小的十分之一左右!这使得 我们通过因特网传送图片不再那么困难,浏览图片较多的网页时等待的时间也不再那么 漫长。 但是, 即使 JPEG 现在的标准已经很好了,我们也还是不禁要问. 还能不能对 JPEG 图像再作进一步的压缩呢?通常的看法是认为 JPEG 图像的压缩比已经较高,进一步的 压
16、缩容易使图像产生严重的失真而丧失其使用价值。 其实不然, JPEG 图像的再压缩还有 很长的路可走. 理论上讲,现有的图像压缩包括 JPEG 标准和理论上压缩极限还有一点距离.这就使 得 JPEG 还有继续发展的空间. 实际上,现有的 JPEG 格式的文件还可以再压缩多 50%甚至更多.下面我简单介绍一下 现在网络上比较流行的几种 JPEG 图像压缩工具. JPEG Optimizer V3.06: JPEG Optimizer 能够在压缩比到达 50时,使优化后的 JPEG 图像与原图像在观感上基本没有区别。 CyberView Image Pro v4.5: CyberView Image
17、 Pro 不仅可对图像进行局部压缩, 而且还可利用独立的压缩参数控制滑块分别对画面的亮度和色彩进行补偿和校正,从而 获得较好的图像压缩效果。 JPEG Wizard v1.12 , JPEG Imager v0.7b 等等 2 JPEG 标准基本原理 标准基本原理 2.1JPEG 压缩标准的简单介绍 JPEG 是联合图象专家组(Joint Picture Expert Group)的英文缩写,是国际标准化组织 (ISO)和 CCITT 联合制定的静态图象的压缩编码标准。和相同图象质量的其它常用文件 格式(如 GIF,TIFF,PCX)相比,JPEG 是目前静态图象中压缩比最高的。我们给出具体
18、的数据来对比一下。例图采用 Windows95 目录下的 Clouds.bmp,原图大小为 640*480, 256 色。用工具 SEA(version1.3)将其分别转成 24 位色 BMP、24 位色 JPEG、GIF(只能转 成 256 色)压缩格式、 位色 TIFF 压缩格式、 位色 TGA 压缩格式。 24 24 得到的文件大小(以 字节为单位)分别为:921,654,17,707,177,152,923,044,768,136。可见 JPEG 比其 它几种压缩比要高得多,而图象质量都差不多(JPEG 处理的颜色只有真彩和灰度图)。 正是由于 JPEG 的高压缩比,使得它广泛地应用于
19、多媒体和网络程序中,例如 HTML 语法 中选用的图象格式之一就是 JPEG(另一种是 GIF)。这是显然的,因为网络的带宽非常宝 贵,选用一种高压缩比的文件格式是十分必要的。 2.2 JPEG 编解码总流程6 Image RGB YCrCb DCT 量化 编码 Image YCrCb RGB IDCT 解量化 解码 3 JPEG 标准的算法流程 准的算法流程 本章中,我将详细介绍如何将一张 BMP 格式的图片压缩为 JPEG 格式.在压缩过程中所用 到的算法和原理我也一并一一介绍.至于解压缩,由于其过程跟压缩过程大致相同,只是 简单的逆过程而已.所以我把解压缩过程只是在压缩过程中稍做解释.由
20、上一章中的 JPEG 编解码的流程图可看出,只要我们依照流程图按相同的方法就可以很容易的得出解 压缩过程. 3.1 颜色系统的转换 因为 JPEG 的图片使用的是 YCrCb 颜色模型, 而不是计算机上最常用的 RGB. 这是由 于 YCrCb 模型更适合图形压缩. 由于人眼对图片上的亮度 Y 的变化远比色度 C 的变化敏感. 因此我们将每个像素点 保存为一个 8bit 的亮度值, 每 2x2 个点保存为一个 Cr Cb 值, 而图象在肉眼中的感 觉不会起太大的变化. 所以, 原来用 RGB 模型, 4 个点需要 4x3=12 字节. 而现在仅 需要 4+2=6 字节; 平均每个点占 12bi
21、t. 下面我们以一幅 BMP 格式的照片”my photo”为例.首先,将其转换为 YCrCb 格式.其转 换公式如下所示: R G B 转换为 Y Cb Cr (R,G,B 都是 8bit unsigned)5 Y = 0.299*R + 0.587*G + 0.114*B Cb = - 0.1687*R - 0.3313*G + 0.5 *B + 128 Cr = 0.5 *R - 0.4187*G - 0.0813*B + 128 Y,Cb,Cr 转换为 R,G,B (3.1.1) R = Y + 1.402 *(Cr-128) G = Y - 0.34414*(Cb-128) - 0.
22、71414*(Cr-128) B= Y + 1.772 *(Cb-128) (3.1.2) 一般, C 值 (包括 Cb Cr) 应该是一个有符号的数字, 但这里被处理过了, 方法是加 上了 128. JPEG 里的数据都是无符号 8bit 的. 3.2 离散余弦变换 在转换了颜色模型系统后, 就开始进行 DCT 变换.这是在对图象数据压缩之前要做的. 经过 DCT 变换, 就把图片里点和点间的规律呈现出来了, 这更方便压缩. 根据 JPEG 编解码标准. 我们取”my photo”里的每 8x8 个像素点为一个单位来处理. 所以如果原始图片的长宽不是 8 的倍数, 都需要先补成 8 的倍数,
23、 好一块块的处理. 下面是 8*8 图像块排序 另外, 因为 Cr Cb 都是 2x2 记录一次的.所以大多数情况, 是要补成 16x16 的整数块. 按从左到右, 从上到下的次序排列. JPEG 里是对 Y Cr Cb 分别做 DCT 变换的. 这里 进行 DCT 变换的 Y, Cr, Cb 值的范围都是 -128127. (Y 被减去 128) JPEG 编码时使用的是 Forward DCT (FDCT) 解码时使用的 Inverse DCT (IDCT). 下面是算法公式2: DCT F (u, v) = IDCT 7 7 1 (2i + 1)u (2 J + 1)v C (u )C
24、(v) f (i, j ) cos cos 4 16 16 i =0 j =0 (3.2.1) f (i, j ) = 1 7 7 (2i + 1)u (2 j + 1)v C (u)C (v) F (u, v) cos 16 cos 16 4 i =0 j =0 当x = 0 其它 (3.2.2) 1 ? 2 其中: C (x) = ? ?1 ? 其中 f ( i , j ),表示位于( i , j )坐标处的像素函数(如亮度),这样经过正变换所得 到的结果就是 DCT 系数.我们把 F( 0 , 0 )称为 DC(直流系数).其它的称为 AC(交流系数). DCT 变化解释:DCT 是目前
25、最佳的图像变换,它有很多优点.首先 DCT 是正交变化,可以将 8*8 图像的空间表达式转化为频率域.只需要少量的数据点表示图像;其次,DCT 产生的系 数很容易被量化.一次能获得好的块压缩;再次,DCT 算法性能很好.有快速算法,在硬件 和软件中都容易实现;最后,DCT 算法是对称的.可以利用逆算法来解压缩图像. 3.3 量化 88 的图象经过 DCT 变换后, 其低频分量都集中在左上角, 高频分量分布在右下角(DCT 变换实际上是空间域的低通滤波器)。由于该低频分量包含了图象的主要信息(如亮度), 而高频与之相比, 就不那么重要了, 所以我们可以忽略高频分量, 从而达到压缩的目的。 如何将
26、高频分量去掉,这就要用到量化. JPEG 采用线性均匀量化器,分别对 Y,C 的不 同系统有不同量化间隔.同时,量化会产生信息损失,它是信息损失的根源. 这里的量化操作, 就是将某一个值除以量化表中对应的值。 由于量化表左上角的值较小, 右上角的值较大,这样就起到了保持低频分量,抑制高频分量的目的。JPEG 使用的颜色 是 YCrCb 格式。我们提到过,Y 分量代表了亮度信息,C 分量代表了色差信息。相比而 言,Y 分量更重要一些。我们可以对 Y 采用细量化,对 C 采用粗量化,可进一步提高压 缩比。所以上面所说的量化表通常有两张,一张是针对 Y 的;一张是针对 C 的。 下面是量化的公式和量化表5: C (u , v) = ( F (u , v) + Q (u , v) / 2) / Q (u , v) C (u , v) = ( F (u , v) ? Q (u , v) / 2) / Q (u , v) F(u, v) 0 F(u, v)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医舌诊测试题及答案
- 中医书写病例试题及答案
- 2025年事业单位工勤技能-安徽-安徽经济岗位工二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-安徽-安徽公路养护工三级(高级工)历年参考题库含答案解析
- IRAB-B-生命科学试剂-MCE
- 直播人才选拔面试题及答案解析
- 道德审计专员:企业道德风险控制面试题
- 衍生:数据分析师职位面试题及答案
- 厨师职业技能等级考试试题
- 护理表格书写培训课件
- 职业病危害因素检测与评价-工作场所空气中粉尘浓度的测定
- 四川省广安市2024-2025学年高一下学期期末考试数学试题(含答案)
- 展台搭建施工管理办法
- 政协大走访活动方案
- 个人养老金课件
- 儿科穴位贴敷治疗讲课件
- 2025年湖北省中考英语试题(附答案)
- udi追溯管理制度
- 三一研发项目管理制度
- 轮胎公司中长期发展战略规划纲要(2025-2030年)
- 浙江省衢州市2023-2024学年高二下学期6月教学质量检测数学试题(含答案)
评论
0/150
提交评论