版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于JPEG 静态图像压缩算法的研究- 1 -摘要:本文主要论述了基本JPEG 标准的编码方法。其中包括采样、离散余弦变换、量化和熵编码等几个主要步骤,最后,用Visual C+编程实现把一幅BMP格式的图像转换为JPEG 格式图像,进一步显示JPEG 标准在图像压缩中的优越性。关键词:JPEG 标准;采样;离散余弦变换;量化;熵编码1.引言随着多媒体技术的快速发展,静态图像的应用越来越广泛,但存在一个主要问题就是数据量过于庞大。例如,一张A4(210mm297mm幅面的照片,若用中等分辨率(300dpi的扫描仪按真彩色扫描,其数据量共有(300210/25.4(300297/25.4个像素,
2、每个像素占3 个字节,其数据量为26M 字节。这样大容量的图像信息会给存储器的存储容量、通信干线信道的带宽以及计算机的处理速度增加了极大的压力。因此,图像必须进行压缩。2.图像编码压缩算法JPEG1是“联合图像专家小组”(Joint Photographic Experts Group的简称,是由ISO 和CCITT 于1986 年底联合制定的连续色调的静止图像压缩标准。它是一个适用范围广泛的通用标准,不仅适用于静止图像的压缩,也适用于电视图像序列的帧内图像的压缩。1992 年正式成为国际标准(ISO10918。JPEG 算法流程如图1 所示。 JPEG 压缩算法基本过程可分为如下几个步骤实现
3、。 颜色模式转化及取样。 离散余弦变换(DCT。 量化(quantization。 Z 字形编码(zigzag scan。 使用差分脉冲编码调制(DPCM对直流系数(DC进行编码。 使用行程长度编码(RLE对交流系数(AC进行编码。 熵编码(entropy coding。2.1 颜色模式转化及取样RGB 色彩系统是我们最常用的表示颜色的方式,JPEG 采用的是YC b Cr 色彩系统,想要用JPEG 基本压缩法处理全彩色图像,得先把RGB 颜色模式图像数据转化为YC b Cr 颜色模式数据。其中Y 代表明视度,C b 和Cr 则代表色度和饱和度。其转化公式如下: 因为JPEG 里的数据都是无符
4、号8 比特数据,因此C 值在这里都加上了128。因为人眼对图片上亮度Y 的变化远比色彩C 的变化敏感,所以采用部分取样可达到图像压缩但几乎不影响图像质量。目前在市面上支持JPEG 的应用软件,通常提供两种部分取样的方法:YUV411 和YUV422(YC b Cr 是从YUV衍生来的,它们代表的意义是Y,C b,Cr 3 个数据取样比例。比如:YUV411 取样,原来用RGB 模型,4 个点需要43=12 字节,而现在仅需要4+2=6 字节,具有50%的压缩比例。2.2 离散余弦变换(DCT离散余弦变换(discrete cosine transform简称DCT,是指将一组光强数据转化为频率
5、数据,以便得知强度变换的情形。对Y,C b,Cr 分别做DCT 变换,把整个分量图像分成88 的图像块,如果原始图片的长宽不是8 的倍数,都需要先补成8 的倍数。DCT 变换使用下式计算: 其中:u, v代表DCT 变换后矩阵内某个数值的坐标位置F(u,v代表矩阵内的(u,v位置上DCT 变换后的频率系数i, j 代表图像数据内某个数值的坐标位置f (i, j代表图像数据内的(i, j位置上的像素值u = 0且v = 0时,C(uC(v = 1 ;u 或v 时,C u C v =1/2经过DCT 变换后的矩阵数据自然数为频率系数,这些系数以F(0,0的值最大,称为DC,其余的63 个频率系数则
6、多半是一些接近于0 的正负浮点数,一概称之为AC。2.3 量化(quantization量化的作用是在保持一定图像质量的前提下,丢弃图像中对视觉效果影响不大的信息,就是减少非“0”系数的幅度以及增加“0”值系数的数目。量化是图像下降的最主要原因3。JPEG 标准中采用线性均匀量化器,对64 个DCT 系数除以量化步长并四舍五入取整,量化步长由量化表决定。JPEG 标准中使用了两种量化表:亮度量化表和色度量化表。 2.4 Z 字形编码(zigzag scan量化后的AC 系数通常会有许多零值,以Z 字形路径编排,增加了连续“0”系数的个数,这为下一步编码提供了很大方便,节省了码率。如图2 所示。
7、经过Z 字形编排后,就把一个88 的矩阵变成一个164 的矢量,频率较低的系数放在矢量的顶部。2.5 使用差分脉冲编码调制(DPCM对直流系数(DC进行编码在同一个图像分量中取得每一个DC 值与前一个DC 值的差值来编码。如图3 所示。 原因是由于在连续色调的图像中,其差值多半比原值小,对差值进行编码所需的位数,会比对原值进行编码所需的位数少许多。2.6 使用行程长度编码(RLE对交流系数(AC进行编码量化AC 系数的特点是164 矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(RLE对它们进行编码。JPEG 使用一个字节的高4 位来表示连续“0”的个
8、数,而使用它的低4 位来表示编码下一个非“0”系数所需要的位数,跟在它后面的是量化AC 系数的数值。如下图4 所示 格式为(符号1(符号2符号1 表示了两条信息,称为“行程”和“长度”。“行程”是在Z 字形矩阵中位于非零AC系数前的连续零值AC 系数的个数,“长度”是对AC 系数的幅度进行编码所用的位数。符号2 表示了AC 系数幅度值。2.7 熵编码(entropy codingJPEG 标准具体规定了Huffman 编码4和算术编码两种熵编码方式。JPEG 基本顺序编码解码器具体规定用Huffman 编码,但JPEG 并没有限制对任何JPEG 算法用Huffman 编码方式或算术编码方式。熵
9、编码可以分成两步进行,首先把DC 码和行程码转换成中间序列(2.5 和2.6 已做,然后给这些符号赋以变长码字。霍夫曼编码器可以使用很简单的查表方法进行编码。编码时,每个矩阵数据的DC 值与63 个AC 值,将分别使用不同的Huffman 编码表,而亮度与色度也需要不同的Huffman 编码表,所以一共需要4 个编码表,才能顺利地完成JPEG 编码工作。实现上述几个步骤,即完成一幅图像的JPEG 压缩。3.Visual C+下BMP 转换为JPEG 算法实现用Visual C+编写了一个把BMP5图像转换为JPEG 图像的程序,该程序名称为RWJpegExp,步骤为:打开程序,加载一幅BMP
10、图片,利用“文件”/“另存为”菜单,可以将此BMP 文件存储为JPEG 文件,并能通过对话框控制JPEG 文件的压缩图像质量和色彩。3.1 程序实现的主要代码CRWJpegExpDocOnOpenDocument(LPCTSTR lpszPathName/显示要打开的文件; CRWJpegExpDocOnSaveDocument(LPCTSTR lpszPathName/保存变换后的图像; CFormatJpeg JpegDlg/创建Dialog 对话框;CJpeg jpeg/创建CJpeg 类,实现JPEG 文件转换;Jpeg.Save(lpszPathName.m_pDib,JpegDlg
11、.m_bColor,JpegDlg.m_nQuality/将文件存储为JPEG 格式。3.2 程序结果及分析RWJpegExp 程序实现对JPEG 文件压缩编码的过程如图5 所示 图5 对JPEG文件压缩编码的过程图本文通过实验,如果选择75%的图像质量,可得到20:1 的压缩率;选择55%的图像质量,可得到30:1 的压缩率;选择35%的图像质量,可得到40:1 的压缩率,只要压缩率不大于40 倍,图像压缩后的效果质量用肉眼无法区别。可见JPEG 标准的优越性(限于篇幅,这里就不给出压缩后的效果图。从以上测试结果看,设计实现的JPEG 压缩算法较好地实现了对于24 位bmp 图像的压缩,压缩比较高,且压缩图像与原始图像相比差异几乎无法察觉。4.结束语本文系统的对JPEG 编码的基本原理进行了阐述,并给出了BMP 格式图像与JPEG 格式图像之间转换的软件实现,使读者对JPEG 的压缩效果有了一个更直观的了解。虽然图像压缩了很多,但图像视觉效果没有什么差异。JPEG 标准的优点是在自然景观与再现图片方面表现很出色,且其图像文件比较小,目前WEB 上80%的图像都是JPEG 格式。缺点是只能处理静态图像,不能处理活动景物。随着技术的进步,JPEG 标准将会得到更进一步的发展和应用。参考文献1 张益贞,刘滔. Visual C+实现MPEG/JPEG 编解码技术M. 北京
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北第二师范学院《体育Ⅳ》2021-2022学年第一学期期末试卷
- 《生理学医学医药》课件
- 心肌梗死护理诊断及措施
- 湖北大学知行学院《图形创意》2022-2023学年第一学期期末试卷
- 湖北大学知行学院《食品安全学》2023-2024学年第一学期期末试卷
- 湖北大学知行学院《谷物品质分析》2021-2022学年第一学期期末试卷
- 小儿鼻炎的健康教育
- 《手部防护培训》课件
- 2024待签样本兰州市土地储备中心土地储备项目审计服务合同
- 开放性手外伤的护理
- 13.1 在劳动中创造人生价值 课件-2024-2025学年统编版道德与法治七年级上册
- 2023-2024学年沪科版数学八年级上册期中测试题附答案(共2套)
- 高三一轮复习+化学反应速率及其影响因素+课件
- 五年级上册解方程练习100题及答案
- 北京市东城区2023-2024学年高三上学期期末统一测试英语试卷 含解析
- 2024年中科院心理咨询师官方备考试题库-上(单选题)
- 【S村剩余劳动力转移的情况调查报告4000字(论文)】
- 《“119”的警示》教学设计+学习任务单道德与法治2024-2025学年三年级上册统编版
- 2024年海南省中考数学试题卷(含答案解析)
- 油气开发地质学智慧树知到答案2024年中国地质大学(武汉)
- 腰椎术后脑脊液漏的护理
评论
0/150
提交评论