第37卷 第10期2019年 10月数字技术与应用Digital Technology &ApplicationVol.37 No.10October 20192019年第 10 期应用研究DOI:10.19695/j.cnki.cn12-1369.2019.10.61基于S3C6410的JPEG图像编码与解码的研究与实现*蓝丽金 江勇捷(福州大学至诚学院,福建福州 350002)摘要:为了提高图片的传输速度和质量,需对图片信息先压缩后传输,从而数据的储存减少,传输速度提高,传输时间缩短,传输质量大大提高。本文采用ARM作为主控芯片充分利用了它的硬件资源和软件资源,实现图像对图像的编码和解码过程。本研究根据要求设计了一套实验样机,最后的测试结果表明,该方案设计基本合理,具有一定的可行性。实验调试效果不错,基本能满足设计要求,且经过处理过后的图像能清晰的显示。关键词:JPEG;图像压缩;图像编码;图像解码中图分类号:TP302文献标识码:A文章编号:1007-9416(2019)10-0105-020 引言随着多媒体技术的高速发展,静态图像的应用越来越广泛,图像的存储和图像的传输是静态图像应用的两个重要方面;但根据现实应用情况来看,静态图像的存储过程中占用了我们越来越多的存储空间[1]。因此,对静态图像的压缩成为了一个研究热点。由于图像文件传输占用大量带宽,同时图像文件存储也占用了大量内存空间,故近年来,研究人员对图像压缩技术越来越重视,而大部分信息行业依赖于图像压缩技术来解决图像传输占用大量带宽和浪费大量内存空间的问题,这就进一步推动了图像压缩技术的发展。有了图像压缩技术,人们不再因移动存储设容量不足而无法拷贝图像等资料的困扰。此外,很多新的图像处理技术也随着数字化媒体技术的发展而逐步优化,如图像的建档和远程诊断以及通信系统等应用场合。本文采用JPEG标准对图像进行编、解码的研究。图像的解码是编码的逆过程,由于本文是对已压缩的JPEG图像进行再次压缩(有损压缩),因此,只需要先熵解码,反量化,然后进行新的表量化,删除了冗余图像数据,并再编码,省去了DCT和IDCT、颜色转换,使得让转换速度大大提高。图形图像的平滑缩放、翻转等动作。它集成了128M DDR RAM,256M/1GB SLC Nand Flash存储器。本文的图片获取采用天敏mini眼摄像头,ARM采用Linux系统,图形界面使用QT。2 图像解码2.1 读入图像的标志信息根据JPEG专家组定义的JFIF交换格式,JPEG文件的组成有8个部分[2]:图像开始SOI标记、APP0标记、APPn标记(其中n=1~15任选)、一个或者多个量化表DQT、帧图像开始SOF0、一个或者多个霍夫曼表DHT、扫描开始SOS、压缩图像数据、图像结束EOI。通过这些标志,把要解码的文件的相关信息都读出来,做好解码工作的准备。不同的的变量结构体首先被定义出来,该变量结构体对应各个标记,用来存储标记内表示的信息。其中有以下几项信息是比较重要的,即图像长宽、水平/垂直采样因子、哈夫曼表和多个量化表等多项信息。(1)根据标志位读入图像信息;(2)确定字的高低位;(3)扫描并读出出哈夫曼表;(4)通过哈夫曼表建立哈夫曼树。2.2 熵解码由于8*8数据块是JPEG图片格式的一般结构,图像数据是存储信息的单位是位,同时,内部数据实际是在编码过程中实现时域到频域的变换,从而得到结果。所以,1个直流分量与63个交流分量构成了每个单元颜色分量。而查找哈夫曼树的思路其实就是解码的步骤。各个颜色分量所相应的直流和交流分量使用的哈夫曼树编号是通过先获取标记段SOS中的各个颜色分量的信息而获取的,如表1所示,为各个颜色分量对应的编号。以下为解析一个颜色分量单元的步骤:(1)从需要的颜色分量单元数据流的开头开始一位一位的读取,然后再查直流哈夫曼树,直到该分量直流哈夫曼树的某个码字与读入的编码进行比较而一致时获得该码字对应的权值。通过8个1 系统硬件组成Tiny6410是一款以ARM11作为主处理器的核心控制器,该CPU设计是基于ARM1176JZF-S核,大量的多媒体处理单元集成在内部,支持多种格式的视频文件硬件编码和解码,可在LCD和TV端显示;它同时带有3D图形加速器,以实现加速渲染功能,它支持2D表1 各颜色分量对应的哈夫曼树编号名称 Y分量 Cr分量 Cb分量 直流分量 直流0号哈夫曼树 直流1号哈夫曼树 直流1号哈夫曼树 交流分量 交流0号哈夫曼树 交流1号哈夫曼树 交流1号哈夫曼树 收稿日期:2019-09-07*基金项目:福建省教育厅科技(JAT170845);全国大学生创新创业训练计划项目(201813470001)作者简介:蓝丽金(1987—),女,畲族,福建福州人,硕士,讲师,研究方向:电气自动化、电力电子变流技术。105第 37 卷 数字技术与应用 www.szjsyyy.com位的位数来表示权值直流分量数值,这也是作为接下来所读入的解码位数。(2)再继续的一位位的读入数据,直到该分量交流哈夫曼树的某个码字(叶子结点)与读入的编码一致,然后用交流哈夫曼树取得该码字的权值。权值的低4位表示该交流分量数值的二进制位数,高4位表示当前数值前面有多少个连续的零,因此,第低4位就是接下来要读入的位数。(3)连续不断重复以上第2个步骤,直到满足两个交流分量数据结束条件其中一个即可,两个结束条件为:第一,当读入码字的权值为零时表示接下来的交流分量全部为零;第二,已经读入63个交流分量。2.3 直流系数的差分解码把所有单元的颜色分量分别按Y分量、Cr分量、Cb分量进行分类。每种分量内,两个相邻的颜色分量的直流变量的编码方式为差分方式,意味着,熵解码出来的直流变量数值只是当前颜色分量单元的相邻两个单元的差值。所以当前得到的变量值需要加上他们的差分变量[3]进行校正,即如公式(1)所示。DCnDCn1Diff (1)式中的Diff为当前解码出来的直流变量。如果改变量中当前颜色分量单元是第一个单元,那该分量就是真正的分量。2.4 反量化从获取的JPEG的文件信息中,在标记段SOF中的信息字段可 表2 亮度量化表(左) 色度量化表(右)图1 实物(左图为处理后图像、右图为原图)图2 图像大小106以查出亮度和色度各自使用不同的量化表。图像的所有图片数据都要进行反量化,反量化的过程相对比较简单,只需要对8*8的颜色分量单元里的64个值一一对应的乘以所对应的量化表内相同位置的值即可。3 图像编码3.1 量化由于人眼视觉特性,JPEG针对此特性设计了相应的量化表。量化对于前面得到的64个空间频率振幅值按比例缩小,并取四舍五入的整数值的处理过程称为量化。JPEG标准中推荐的量化表[5]如表2所示。共有64个元素,按照从上到下,从左到右的顺序与FDCT变换后的幅值对应,每一元素记为Q(u,v),u和v对应行和列,量化公式[4]为式(2):FQ(u,v)IntegerRoundF(u,v)Q(u,v) (2)解码时反量化公式为式(3):FQ'(u,v)FQ(u,v)Q(u,v) (3)FQ(u,v)代表量化后的幅值,FQ(u,v)代表还原(反量化)后的幅值。本设计采用有损压缩,亮度量化表采用Q=100,色彩量化表Q=50。这样,图像看起来就跟灰度图像差不多,把色度都过滤掉。大大压缩了图片。3.2 熵编码熵编码也可以说是哈夫曼编码,其编码步骤是重复使用的数据采取较短的代码代替,较长的代码代替较少使用的数据,每个数据的代码各不相同。由于这些代码都是二进制码,同时代码的长度是可变的,所以就实现了代码压缩的目的[5]。以下为具体的哈夫曼编码步骤:第一步,每个符号出现频率首先被统计出来;第二步,按从小到大的顺序排列上述得到的从左到右的频率;第三步, 每一次选出最小的两个值就是二叉树的两个叶子节点,这就是它们的根节点,该节点不再参与比较,而新的根节点参与比较。(4)重复(3),直到最后得到和为1的根节点。产生哈夫曼编码需要对原始数据扫描两遍。第一遍扫描要精确地统计出原始数据中每个值出现的频率,第二遍是建立哈夫曼树并进行编码。需要建立二叉树并遍历二叉树生成编码,因此数据压缩和还原速度都较慢,但简单有效,因而得到广泛应用。4 实验测试及结果分析图1中左边为经过解码之后再编码的的图像,右边为摄像头直接获取的图片。可以从图片看出,经过处理后的图像色彩已经失真的,是由于本设计采用的是有损压缩,而且为了达到更大的压缩比,把原始图像里面的色度给剔除。图2为处理前后的图片的大小,abc.jpg为处理后的图像,bac.jpg为原始图像。可以看出,把原始图像从19.3K压缩到4.7K左右。剔除色彩后,可以再次压缩4倍。这使得网络传输的速度大大提高了。参考文献[1] 陈雪松,王海巍.JPEG压缩编码算法应用及发展前景研究[J].计算机应用与数字工程,2009,1:57-90.······下转第108页第 37 卷 数字技术与应用 www.szjsyyy.com降品量等产品质量关键指标信息的统计性报表,在QMS系统中设定指标计算规则,系统可以按设定日期自动计算出关键质量指标,便于技术人员灵活跟踪质量关键指标信息,掌握生产过程中质量问题情况。以及铁水、原料检验信息。3 结语QMS报告系统的投入使用,高强汽车板、一钢轧厂、不锈钢公司各产线板坯、钢卷生产质检系统更加完善,一次检验合格率、废次降品率、关键工艺过程达成率等质量绩效指标已实现在系统中自动采集、生成,大大提高了统计工作的准确性和及时性,同时为精益生产电子化生产质量管控KPI指标库的建设提供了强有力的数据支撑。系统投入使用,基本实现了用数据去评判产品的整个生产过程、用数据评价产品质量的优劣,2017年废次降品率下降0.06%,钢卷一次检验合格率提升至94.5%以上。准确的质量决策依靠基础数据,该系统通过收集工艺数据、缺陷数据、设备数据、人工检测数据、异常事件数据,从各个维度对产品的内在结构、表观品质、内在性能进行多维度评价,以达到保证产品出厂完全满足用户需求,支撑公司逐步从“标准符合型质量”管理向“用户适用型质量”管理模式转型。参考文献[1] 赵金元,佘元冠,顾小军.唐钢全过程质量跟踪管理系统的研究及应用[J].冶金自动化,2013,37(1):17-21.[2] 龚家强.企业QMS的设计研究[J].企业科技与发展,2013(14):113-114.[3] 胡敏主编.饭店服务质量管理[M].北京:清华大学出版社,2008.1.3 交互式自定义报表交互式自定义报表模块通过许多不同的分析和可视化功能对数据进行合并和调整,可以根据用户需求对不同的信息进行强大的分析。以产线级查询报表作为基础数据源,根据使用需求将不同报表中的信息合并和调整在一起形成用于数据分析的查询和图形化报表。2 优化报告数据通过收集报告使用业务需求以及数据核对的方式不断优化QMS报告系统报表结构与数据集成,目前已从最初的300多张报表经仔细筛选与整合后删减至180个左右;依据业务需求不断完善现有产线级查询报告报表内容以及报表逻辑,相比上线之初增加40余项QMS报告修改需求;相比最初报表系统中增加了监督产品检验情况的钢卷一检及时率与终检及时率报表、自动统计废降品信息的钢卷废次降报表、查看表检缺陷信息的表检缺陷统计报表、热轧到冷轧工序全流程收得率报表、统计钢卷一检不合与终检不合信息的自动图形化报表、监测数据更新报表等20个报表。持续优化现有数据集成结构以及完善数据缺失内容,QMS报告系统下一步将扩充集成一冷轧、二钢轧、中厚板、型钢产线质量信息Application Practice ofQMS Reporting System in TangSteel CompanyDU Xiu-zhen, XUE Jun-an, LI Chang-hai(Tangshan Steel ofHBIS Group,Tangshan Hebei 063000)Abstract:The paper introduces the function and application practice of QMS reporting system, and the system is continuously optimized thecontent data and data accuracy of the system by collecting the need of key users and reporting system problems , and the system is promoted to widelyuse. QMS reporting system , as a large data platform of quality information in the whole process, provides powerful data support for technicians toanalyze and make decision to improve product quality.Key words:QMS reporting system;data analysis;decision-making;data support······上接第106页[2] 许刚,廖斌,李承毅.JPEG图象文件格式分析[J].计算机系统应用,1998(10):37-39.[3] 刘方敏,等.JPEG2000图像压缩过程厦原理概述[J].计算机辅助设计与图形学报,2002:3-6.[4] 吴乐南.数据压缩[M].电子工业出版社,2005.[5] 严剑.Huffman算法及其在数据压缩中的应用[J].计算机与现代化,1996(48):15-20.Research and Implementation ofJPEG Image Encoding and Decoding Based onS3C6410LAN Li-jin,JIANG Yong-jie(Zhicheng College ofFuzhou University,Fuzhou Fujian 350002)Abstract:In order to improve the transmission speed and quality of the picture, it is necessary to compress the picture information first and thentransmit, so as to reduce the storage of the data, improve the transmission speed, shorten the transmission time and greatly improve the transmissionquality. In this paper, ARM is adopted as the main control chip to make full use of its hardware resources and software resources to realize the processof image encoding and decoding. In this study, a set of experimental prototype is designed according to the requirements. The final test results show thatthe design of the scheme is basically reasonable and feasible. Experimental debugging effect is good, basically can meet the design requirements, and afterprocessing the image can be clearly displayed.Key words:JPEG;image coding;image compression;image decoding108