• 欢迎来到论文发表网(www.lunwenchina.cn),我们为您提供专业的论文发表咨询和论文发表辅导!
受“清朗”行动影响,原网站QQ被封,新老作者请联系通过新的QQ:189308598。或者电话微信:15295038855

你的位置:论文发表网 >> 论文库 >> 工学论文 >> 详细内容 在线投稿

的JPEG编码的实现

热度0票  浏览181次 时间:2015年5月04日 15:54

JPEG编码的实现

吴 熙 李相朋 梁 晶 王天喜

武汉纺织大学数学与计算机学院 湖北武汉 430000

【文章摘要】

随着多媒体技术的飞速发展,图像逐渐成为人们获取信息的主要来源。现如今,路边众多的广告牌,还有人们身上的便携式智能设备,都与图像息息相关。由于图像的信息量过于巨大,不便于存储和传输,所以图像的编码解码技术显得尤为重要,其中JPEG 压缩标准以其低复杂度、高压缩比、性能优秀得到广泛地应用。而在当今便携式智能设备普及率极高的情况下,这些智能设备中所使用的JPEG 编解码技术Libjpeg 库也尤为重要。

【关键词】

图像压缩;JPEG Libjpeg

0 引言

随着二十一世纪的到来,个人智能设备的普及达到一个空前的程度,随着智能手机和平板电脑的兴起,造成了手持嵌入式设备的大众化。人们拿这些设备浏览网页、社交软件交互、拍照已成为习惯,这其中图像信息占据了大部分。现阶段,图像信息的格式绝大多数用到了JPEG 格式, 它是一种高效的压缩格式,被广泛应用于很多领域。

1 Libjpeg 介绍

Libjpeg 是一个免费的被广泛应用的库,其函数是用来处理JPEG 格式的图像数据。它是由C 语言编写而成,根据一个自由定制的免费软件许可,作为一个免费软件连同其源代码一起发布。最初的版本由独立JPEG 组(Independent JPEG Group) 维护和发布。JPEG 图像广泛应用在网络上。其压缩率可以调节来达到文件大小和视觉质量之间平衡的需求。

Skia 图形引擎是一个用C++ 编写的紧凑型开源图形库,最初是由Skia 股份有限公司开发,其随后在2005 年被谷歌收购,谷歌随后在新BSD 免费软件许可下发布了其开源软件。

通过查看源码,就会发现安卓并不是直接封装的Libjpeg,而是基于Skia 来作为图形处理引擎,Skia Libjpeg 进行了良好的封装,基于这个引擎可以很方便为操作系统、浏览器等开发图像处理功能。到这里我们就知道了,现有的大部分便携式智能设备都是在用Libjpeg 处理图像的。

2 JPEG 图像压缩标准

2.1 JPEG 标准概述

JPEG Joint Photographic Expert Group,联合图像专家组的缩写,是以实现图像数据库、色彩传真、印刷等方面的彩色静止图像编码的标准方式为目标, 由ISOInternational Organization for Standardization) 和CCITTConsultative Committee for International Telegraph and Telephone)两个组织联合设立的讨论小组。标准方式的正式名称为Digital compression and coding of continuous-tone still images (连续色调静态图像数字压缩和编码)。

2.2 JPEG 编码过程

JPEG 的编码过程基本步骤如图1 所示,其中包括主要的步骤有:前向DCT 变换、量化和熵编码,最后获得压缩后的数据。

2.2.1 色彩空间变换

RGB 是非常常见的彩色图像记录格式,RGB 颜色空间的优点在于直接诉求于人颜色色彩的感应,表述直观,容易理解。有研究表明,人眼对亮度信号的敏感程度远远高于对色度信号的敏感程度,所以考虑将RGB 色彩空间转变到亮度/ 色度空间,如YUVYCbCr,可以对色度信号进行二次取样,去掉一些不必要的色度信号从而提高数据压缩率。

2.2.2 离散余弦变换(DCT

DCT 是将一组空间域的像素点转变成为频域中的系数。人类的视觉系统对高频的信号不是那么敏感,因此略微地对高频信号进行削减,人眼也不会很容易地分辨出来,所以通过DCT 可以有效地减少图像数据量,达到压缩数据的目的。

JPEG DCT 中最初通常是将原始图像数据分割成许多8×8 的数据单元, 再做DCT 处理。DCT 将每个数据单元的值转换为64 个系数,第一个系数称为直流系数(DC coefficient),而其余63 个系数则称为交流系数(AC coefficient)。变换后, 仅左上角的少量低频系数值较大,其余系数的值都很小,这样就能只对少数系数编码和传输而不会严重影响图像质量了。

2.2.3 量化

量化是经过DCT 后的频率系数进行处理,将DCT 系数按比例缩小,并取其最接近的整数值的处理过程称为量化。量化的作用是在保持一定质量的前提下,丢弃图像中对视觉效果影响不大的信息。量化的目的是减小非0系数的幅度以及增加0值系数的数量。

2.2.4 Zig-Zag 扫描

量化后的系数要重新排序,目的是增加连续的0系数的个数,方法是按照Z 字形的样式编排,如图2 所示。因为Z 字形读出连续0的机会比较多,可以节省很多码率。Z 字形扫描后就把一个8×8 的矩阵变成了一个l×64 的矢量,低频系数放在矢量的顶部。

2 Zig-Zag 扫描图

2.2.5 熵编码

JPEG 压缩过程中的熵编码分为2 步: 首先,将系数转换成中间符号序列,然后对符号序列进行哈夫曼编码或算术编码。由于DC AC 系数的统计量不一样,它们采用了不同的哈夫曼表。

1 基于DCT JPEG 编码器构成



中国论文网(www.lunwenchina.cn),是一个专门从事期刊推广、论文发表、论文写作指导的机构。本站提供一体化论文发表解决方案:省级论文/国家级论文/核心论文/CN论文。

投稿邮箱:lunwenchina@126.com

在线咨询:189308598(QQ) 

联系电话:15295038855(徐编辑)  

 

上一篇 下一篇
0

联系我们