1、本科毕业设计(20届)显微视频图像的编码与压缩所在学院专业班级电子信息科学与技术学生姓名学号指导教师职称完成日期年月摘要【摘要】显微视频图像是通过数码显微镜采集的高清图像序列,该图像序列具有高分辨率,数据量大等特点,因此对显微视频图像进行有效的压缩以节省存储空间,方便网络传输是目前图像编码压缩领域的研究热点。本文首先通过分析介绍传统的静态图像编码压缩方案的压缩性能,以及各个方案在压缩显微视频图像方面的优缺点,然后分析了H264的编码框架与算法结构,分析判断H264诸多新功能在编码压缩显微视频图像的实效,最后结合显微视频图像的特点,简化H264编码器,提出了一种基于H264的低复杂度的面向网络传
2、输的显微视频图像编码压缩方案。通过实验测试验证,在保证视频图像质量的前提下该方案能够实现2031的压缩比,同时编码压缩好是比传统H264编码节约33的时间,基本满足网络传输实时性的要求。【关键词】显微视频图像;H264;低复杂度;编码压缩ABSTRACT【ABSTRACT】THEMICROSCOPEVIDEOPICTURESARESAMPLEDBYTHEDIGITALMICROSCOPE,WHICHHAVETHEFEATUREOFHIGHRESOLUTIONANDHUGEDATAVOLUMETHUSCODINGANDCOMPRESSIONTHEMICROSCOPEVIDEOPICTURESEF
3、FICIENTLY,INORDERTOSAVETHESTORESPACEANDFACILITATENETWORKTRANSMISSION,ISONEOFTHEPOPULARRESEARCHDIRECTIONOFTHEIMAGECODINGANDCOMPRESSIONAREAINTHISTHESISWEFIRSTINTRODUCETHETRADITIONALSTILLIMAGECOMPRESSIONARITHMETICSPERFORMANCEWHENTHEYWORKONTHEMICROSCOPEVIDEOPICTURES,THENWEANALYZETHEENCODERANDARITHMETICS
4、STRUCTURETOJUDGETHEACTUALINFLUENCEOFTHEH264NEWADDEDFEATURESONCODINGANDCOMPRESSIONMICROSCOPEVIDEOPICTURES,LASTWECOMBINETHEMICROSCOPEVIDEOPICTURESCHARACTERISTICSTOSIMPLIFYTHEH264CODECANDPROPOSEAH264BASEDLOWCOMPLEXITYNETWORKORIENTEDMICROSCOPEVIDEOPICTURESCODINGANDCOMPRESSIONSCHEMEVIATHEEXPERIMENTSTESTI
5、NG,INTHEPREMISEOFENSURINGTHEVIDEOPICTURESQUALITY,THESCHEMECANREALIZETHE2031COMPRESSIONRATIO,SAVEAPPROXIMATELY33OFTHEH264CODINGTIMEANDBASICALLYMEETTHEREQUIREMENTSOFREALTIMENETWORKTRANSMISSION【KEYWORDS】MICROSCOPEVIDEOPICTURESH264LOWCOMPLEXITYCODINGANDCOMPRESSIONII目录第一章绪论111引言112显微视频图像压缩技术的发展213论文主要工作及
6、章节安排3第二章传统图像压缩方案421JPEG编码压缩算法422JPEG2000编码压缩算法623其他编码压缩算法8231JPEGLS8232MPEG4VTC9233PNG924本章小结9第三章新一代编码标准H2641031H264概述1032H264编码器12321H264编码器结构12322H264算法结构1333本章小结16第四章面向网络传输的显微视频图像压缩方案1841采样方法研究18411下采样18412上采样1942差值图像编码2043码流合成2144实验与分析21441显微视频图像序列21442图像数据类型转换23443H264配置文件设置23444PSNR比较23445码率比较
7、24446压缩比比较25447编码耗时2545本章小结26第五章总结与展望27参考文献28致谢错误未定义书签。附录301第一章绪论11引言世界上第一台显微镜由列文虎克,ANTONIEVANLEEUWENHOEK1632102417230826,荷兰显微镜学家、微生物学的开拓者制作完成。显微镜的出现向世人打开了微观世界的大门,成为人类探索微观领域的有力工具。显微镜发明之初,其目的是用于细胞和微生物等微观世界生命的观测和描述,随着科技水平的不断进步以及其交叉学科的迅猛发展,显微镜的应用领域和其制作水平及观测深度都发生翻天覆地的改变。目前,显微镜已经广泛应用于材料检测、地质和考古等多个方面,显微镜的
8、种类从普通的光学显微镜发展到如今的电子显微镜、数码显微镜、体视显微镜、金相显微镜、超高分辨率显微镜等更加精密、更加智能、更加专业化的显微镜种类。显微镜中涉及的原理技术也由简单的光学原理拓宽到现在的电子、物理、材料等多个学科1。由于计算机技术的迅速发展和普及,一台普通显微镜配以相应的硬件和软件系统即可实现对显微图像的数字化处理。显微图像的数字化处理技术方便了显微图像的分析,使分析处理过程变得自动化,分析结果容易量化、可视化。显微图像分析作为图像分析领域中重要的研究内容,数字化技术对于理论和实践均有重要价值2。显微图像数字化必然涉及到显微图像的存储和传输问题。一般地,显微图像具有高分辨率的特点,这
9、就给显微图像的存储与传输提出了一个亟待解决的问题。对于一幅12801024分辨率的显微图像,以8为灰度级进行数字化采集就需要375MB的存储容量。如何快速高效地编码压缩显微图像序列已经成为当前的热点之一。目前,对显微图像压缩还没有性能非常好的算法,因此生物显微图像的压缩技术已成为生物显微图像应用领域的一项挑战性技术3。数码显微镜,即视频显微镜是目前广泛应用于科学研究的高科技显微镜,它将显微镜看到的实体实物图片通过模数转换,使其成像在显微镜自带的显示屏或者计算机上。数码显微镜改变了人们传统的使用肉眼观测显微图像的方式,通过显示器再现显微图像,这不仅使人们能够更加细致的观测显微图像,提高了人们工作
10、的效率,也方便了显微图像的数字化处理4。本课题通过数码显微镜采集动物组织的显微图像,即生物显微图像作为研究的对象。长期以来,人们对显微图像压缩一直局限于静态图像的压缩编码方案上的探索,虽然静态图像压缩方案能够较大程度的压缩图像,但高清显微图像经静态图像压缩方案压缩后的数据量仍然是巨大的,这一方面耗费了较大的存储空间,另一方面也不适合在网络上传输,实时性能差。H264视频编码压缩标准以其优异的压缩性能,超高的压缩比而闻名,被视为目前最先进的视频图像编码压缩标准。因此,本课题提出了基于H264视频图像压缩编码算法的显微视频图像编码压缩方案,旨在利用H264强大的压缩性能在保证图像质量的前提下实现显
11、微视频图2像最大程度的压缩,以适合网络传输。12显微视频图像压缩技术的发展显微图像区别于一般数字图像具有分辨率高,纹理细节丰富等特点,所以除了完成图像大小的压缩外,还要考虑重建图像在纹理细节方面的恢复。早期对显微图像压缩的思路是采用静态图像编码压缩标准,该方案能够实现对显微图像的一定程度上的压缩,但对于显微视频图像序列,采用该压缩方法仍存在较大的压缩冗余。随着视频压缩编码技术的发展以及先进高效的编码标准H264的出现,采用H264编码标准来提高显微视频图像的压缩效率是如今该领域的研究方向和热点问题。图像编码压缩技术发展至今可以划分为两个阶段第一代图像编码技术和第二代图像编码技术。第一代图像编码
12、技术主要是指20世纪90年代以前研究的技术范畴。这些图像编码压缩技术主要划分为预测编码,统计编码,变化编码三大类,技术特点是以信息论为框架,以像素或者宏块作为编码对象。1992年,国际准化组织ISO和国际电工委员会IEC制定的JPEG标准,即连续色调静态图像编码压缩标准,作为对第一代图像编码压缩技术中主要技术的概括总结,是适用于当时大多数应用的规范标准。JPEG是以离散余弦变换为核心的图像压缩算法,其编码框架简洁,在中等码率下能够获得很高的压缩比和高质量的重建图像质量,至今仍广泛应用于图像压缩的各个领域。随着网络技术和多媒体技术的发展,互联网迎来了信息爆炸的时代,图像、视频等多媒体文件信息量的
13、增长速度远远快于网络通信技术的发展,因此,如何在现有网络带宽资源的环境下更快更好的传输高质量的多媒体文件,成为图像编码压缩算法研究的方向。而JPEG在低码率情况下的压缩质量已难以满足要求,而且JPEG基于块的编码思想以及不考虑人类视觉系统的特性已经难以使图像压缩技术进一步的发展。20世纪80年代开始,图像编码压缩技术开始进入基于小波变换的第二代技术的研究。第二代图像压缩编码技术更多的考虑了人类视觉系统在图像上产生的冗余。随着分形理论,人工神经网络理论,视觉仿真理论在图像压缩上应用的发展,图像压缩技术更多的考虑了人类的视觉特性,通过对图像信号的分析和描述,用图像合成和识别的方法压缩数据。2000
14、年3月,ISO发布了JPEG2000静态图像编码压缩标准。JPEG2000是基于小波变换的高性能静态图像压缩算法,它弥补了JPEG算法在低码率情况下的缺陷,增强了算法适应图像类型的能力,是JPEG的升级版。2003年3月,ITUT(国际电信联盟)和ISO/IEC正式公布了H264视频压缩标准,它是由JVT(联合视频组)制定的最新的高性能的视频编码标准。H264最大的优势就是强大的数据压缩能力。根据统计,在同等图像质量的条件下,H264的压缩比是MPEG2的2倍以上,是MPEG4的152倍。例如,原始文件的大小为88GB,采用MPEG2压缩标准压缩后变成35GB,压缩比为251,而采用H264压
15、缩标准压缩后变为879MB,压缩比达到1021。鉴于H264优异的压缩性能,采用它来编码压缩高清的显微视频图像序列是当前的首选方案,但高效压缩性能的代价是巨大的计算时间的花费。因此,如何在保证高压缩比和图像质量的3前提下,降低H264在编码压缩显微视频图像时的复杂度是目前显微视频图像压缩编码领域的研究热点。13论文主要工作及章节安排论文的主要工作是提出一个面向网络传输的显微视频图像编码压缩方案,该方案以H264编码压缩算法为核心,以降低H264算法复杂度,达到网络传输实时性为目标。该方案旨在利用H264的高效压缩性能,在保证显微视频图像质量的前提下,最大限度的压缩显微视频图像,以实现显微图像数
16、据在网络上的实时传输。论文章节安排如下第二章回顾传统的显微图像压缩方案;第三章概述H264编码标准,分析其编码结构和算法结构,为后续方案提出准备理论基础;第四章提出面向网络传输的显微视频图像编码方案,并分析实验结果;第五章总结本次课题的工作,展望后续工作方向。4第二章传统图像压缩方案21JPEG编码压缩算法JPEG编码压缩标准是由国际电信联盟(ITU)和国际标准组织(ISO)合作制定的灰度和彩色静止图像压缩算法的国际标准。从上个世纪80年代开始,ITU和ISO就开始合作,组成联合图像专家小组JOINTPHOTOGRAPHICEXPERTSGROUP。在对当时主流的一系列的编码方案进行比较后,联
17、合小组选择了DCT变换作为标准的基础编码方案,从1988年到1990年,JPEG联合小组对JPEG编码压缩算法进行测试、修改和完善,最终于1991年通过了国际标准草案,在1992年,发布正式JPEG成为国际标准5。JPEG是第一个彩色、灰度和静止图像的国际编码标准,它不仅适用于静止图像的编码压缩,也适用于视频图像序列的帧内图像编码压缩,因此,直至今日,JPEG标准仍在广泛应用中。JPEG编码压缩标准规定了有损压缩和无损压缩2种编码处理方案。有损压缩编码压缩是基于离散余弦变换(DCT)的编码,通过损失一些数据量实现图像数据很大程度的压缩,同时还能够保证图像解码后具有很高的视觉逼真度。最简单的基于
18、DCT的编码处理叫做顺序处理,它提供了大部分应用所需要的性能指标,我们把这种编码处理以及编码系统叫做JPEG基本系统,如图21所示。第二种编解码处理是为了满足无损压缩的应用要求,采用空间域的无量化DPCM(旨在去除相邻像素间的相关性)取代有量化损失的DCT变换,然后对预测误差进行HUFFMAN编码或者算术编码,以保证重建图像质量与原始数据完全一样。其编码框图如图22所示。为适应不同应用环境的需求,JPEG对像素处理有4中模式可供选择,分别是基于DCT的顺序处理模式、基于DCT的累进处理模式、无失真工作模式和分等级处理模式。顺序处理模式即JPEG基本系统,对输入图像的每个图像分量按从上到下,从左
19、到右的顺序进行处理。累进处理模式,是将图像分量进行多次扫描,第一次扫描只进行粗略的压缩,并快速的发送第一次扫描得到的粗糙的图像,随后的几次扫描则处理图像做细致的压缩处理,发送时只发送增加的信息,如此,接收端可逐渐提高图像的质量,直到图像质量达到接收端的要求。这种模式适用于网络传输,实现可伸缩性编码。无失真工作模式是采用DPCM预测编码取代DCT变换编码实现无损压缩。分等级处理模式对一幅原始图像的空间分辨率,分成多个低分辨图像进行锥形编码的方法。在信道传送速率较慢,接收端显示器分辨率也不高的情况下,只需要做低分辨率图像解码6。5预处理DCT量化量化表差分脉冲编码(DPCM)DCHUFFMAN编码
20、Z字形编码行程长度编码ACHUFFMAN编码文件头数据段码表图像数据88图像区域DCAC图21JPEG基本编码系统预测器熵编码器编码器输入的原始图像数据压缩编码后的图像数据图22JPEG无失真编码器框图文献7对基于DCT的JPEG编码压缩算法对中等复杂程度的彩色图像的压缩效率和重建图像的质量做了相关的研究,得到如表21所示的结果表21JPEG算法压缩性能压缩效率(位/像素)重建图像质量02505中至好,满足某些应用05075好至很好,满足多数应用075150极好,满足大多数应用150200与原始图像基本没有差别从表21中我们可知,JPEG编码压缩算法在压缩效率大于200位/像素时,重建图像与压
21、缩前的图像用肉眼无法区别。当压缩效率小于025位/像素时,重建图像将产生很大失真,主要原因是在小于025位/像素低压缩码率时,重建图像出现了明显6的方块效应。JPEG编码压缩算法除了在低压缩码率时不佳的性能表现,文献8中还概括了其在其他方面的缺陷1JPEG编码压缩算法不能够同时提供高性能的有损压缩和无损压缩,且无损压缩模式复杂,效率不高;2JPEG编码压缩算法对自然图像有较好的压缩性能,但对于计算机产生的图像,如二值图像,却性能不佳;3JPEG编码压缩算法的网络适应能力差,如当在噪声环境中传输时,比特误码会使JPEG压缩图像质量急剧下降;4JPEG支持的图像类型有限,如JPEG由于对二值图的压
22、缩性能不佳而很少用于复合文件。采用JPEG编码压缩算法来编码压缩显微视频图像,在保证图像质量的前提下,压缩得到的图像数据仍然是比较大的,而且JPEG压缩算法在压缩比为50左右时,方块效应明显,压缩后的重建图像几乎难以辨认。因此JPEG算法只能对高分辨率的显微视频图像进行一定程度上的压缩,压缩后的数据量仍比较大,不适合网络传输。所以JPEG算法不是压缩显微视频图像的最佳方案。22JPEG2000编码压缩算法20世纪90年代初,小波变换理论迅猛发展,由于其在时频分析方面独有的特点和在信号分析方面的优势,使得它在图像压缩处理领域得到广泛的应用。在图像压缩领域同时期也出现了许多新颖的思想和技术,如人工
23、神经网络在图像处理上的应用,分形编码技术等。加之JPEG编码标准在不同领域性能上的缺憾,有关方面认为有必要开发一种新的静态图像压缩标准来弥补以适应时代发展的需要。在1996年瑞士日内瓦会议上ISO提出了JPEG2000的草案,其目的是创建一个以小波变换为基础的新的图像编码系统,这个系统除了要适用于具有各种特征的静止图像,如自然图像、计算机合成图像、文本图像、透视图像等,同时也要适用不同类型的图像包括二值图像、灰度图像、彩色图像以及多分量图像,并且应适应不同的图像应用模型,如实时传输、图像库文档、有限缓冲和带宽的资源等9。在2000年3月推出了JPEG2000的基本编码系统的最终草案,JPEG2
24、000的标准号为ISO1544410。JPEG2000标准是和JPEG标准兼容的,是JPEG的升级版本。JPEG2000编码压缩系统不仅能偶在失真率低和主观图像质量优于现有标准的情况下,能够实现对图像的低码率压缩,并且在速率畸变的情况下,主观图像质量性能上优于目前广泛应用的JPEG标准。JPEG2000编码压缩算法的性能之所以优于JPEG编码压缩算法,就是因为它放弃了JPEG算法采用的以离散余弦变换(DCT)算法为基础的区块编码方式,而改用以离散小波变换(DISCRETEWAVELETTRANSFORM,DWT)算法为基础的多解析编码方式。JPEG2000的基本编码系统7如图23所示。图像分片
25、直流电平平移分量间变换小波变换量化块编码(T1)分层组织(T2)数据打包压缩码流码速率控制图像源数据预处理分层码流量化系数小波系数熵编码图23JPEG2000基本编码系统框图JPEG2000支持无损和有损2中编码模式,同时也支持随机访问码流,任意形状感兴趣区域编码,错误修复等功能11。DIEGOSANTACRUZ等人对JPEG2000的编码性能与JPEG,JPEGLS,MPEG4VTC,PNG,SPIHT等图像编码算法做了对比与评估,得到了如下结果121)无损压缩性能的比较如图24所示,从图中可知JPEGLS在无损压缩方面表现出优异的性能,JPEG2000在压缩比方面略高于其他的算法,但相比较
26、其他图像压缩算法,JPEG2000表现出了良好的图像类型适应能力;图24JPEG2000与其他图像压缩算法在无损压缩方面性能比较2)有损压缩性能比较如图25所示,其实JPEG2000R和JPEG2000NR分别代表采用可逆DWT和不可逆DWT的JPEG2000算法。测试通过输入2BPP(位/像素)比特流数据,各压缩算法分别以025BPP、050BPP、100BPP、200BPP重建图像,然后计8算各重建图像的PSNR比较性能。从图中的数据可以看出JPEG2000在低压缩码率下,相比较当前其他的算法,表现出优异的性能。图25JPEG2000与其他图像压缩算法在有损压缩方面的性能比较综上所述,JP
27、EG2000是一个性能优异的静态图像压缩算法,它不仅保持了JPEG在中等压缩码率时高效的压缩性能与高品质的重建图像质量,而且其在低码率情况下重建图像的质量较以往的图像压缩算法有明显的提高。同时JPEG2000压缩算法支持多种的图像类型,具有较强的图像类型适应性。采用JPEG2000压缩显微视频图像能过获得比JPEG算法更高的压缩比,同时高压缩比下重建图像的质量更加细腻平滑。因此,JPEG2000是处理静态图像的理想方案,对于显微视频图像,在单帧处理时可考虑采用。23其他编码压缩算法为满足不同应用的环境的需求,各种具有各自特色的图像压缩编码算法被不断的提出,研究,最终制定为国际标准。其实比较有代
28、表性的有JPEGLE、MPEG4VTC、PNG等。231JPEGLSJPEGLS是最新的关于静态图像的无损或近无损图像压缩标准。JPEGLS的目的是提出一个低复杂度的静态图像压缩方案。JPEGLS是基于LOCOI算法的图像压缩算法,它包括2部分13第一部分是其基本编码系统,满足大部分应用的要求;第二部定义了针对提高特定图像编码效率的拓展功能,但相应的,需要增加复杂度作为代价。JPEGLS是目前性能最佳的静态图像压缩编码算法,在图24中已充分体现其在无损压缩方面的性能。9232MPEG4VTCMPEG4VTCMPEG4VISUALTEXTURECODING,即可视纹理编码是MPEG4标准中用于压
29、缩可视纹理和静态图像的算法。MPEG4VTC算法由离散小波变换DWT,标量量化,零树编码和算术编码构成。其最大特点是支持任意形状对象编码,这是通过形状自适应的DWT和MPEG4的形状编码技术实现的。不同的图形对象独立编码,各图像对象根据在图像中的重要程度被编码成不同质量的码流,最终通过在接收端组合成一副完整的图像。MPEG4VTC算法继承了MPEG4基于对象编码的思路,将该思想应用于静态图像的编码压缩,同样也取得了非常好的压缩效果。233PNGPNGPORTABLENETWORKGRAPHICS,即流式网络图像,是W3C建议中用于编码静态图像的格式,其目的是取代有专利限制的GIF图像格式,同时
30、增加GIF所没有的新功能。PNG使用从LZ77派生的无损数据压缩算法,当PNG用来存储灰度图像时,灰度图像的每个像素可多到16位,当存储彩色图像时,彩色图像的每个像素可多到48位。PNG因为它压缩比高,生成文件容量小。一般应用于JAVA程序中,或网页或S60程序中。24本章小结本章着重介绍了JPEG和JPEG2000图像压缩编码标准,以及两者在图像压缩性能方面的表现。JPEG是第一个关于连续色调的静态图像编码压缩的国际标准,其编码框架简单,在中等压缩码率下能够实现高质量的压缩性能,但JPEG支持的图像类型有限,且在低压缩码率下重建图像严重失真,方块效应明显。JPEG2000是JPEG的升级版本
31、,其同时具备高效的无损和有损压缩编码模式,支持多种类型的图像格式,在低压缩码率下仍具备较高的压缩性能和重建图像质量,且压缩比相对JPEG进一步提高。本章的最后还介绍了其他不同领域广泛应用的图像压缩算法JPEGLS、MPEG4VTC、PNG。10第三章新一代编码标准H26431H264概述2003年3月,ITUT(国际电信联盟)和ISO/IEC正式公布了H264视频压缩标准,它是由JVT(联合视频组)制定的最新的高性能的视频编码标准。H264标准的主要目标是与其它现有的视频编码标准相比,在相同的带宽下提供更加优秀的视频图象质量14。H264与以往的视频编码标准相比,新增了许多特点和优势1)在编码
32、结构上,H264返璞归真,回归了编码编码加预测编码的混合编码模式。编码结构上的简单化反而使其获得了比H263更加优异的编码压缩性能。2)在技术特点上,H264吸取了以往标准的优点和实践经验,同时也新增了其自己特有的新技术,如多参考帧技术,更加精细的宏块划分模式等。因此,技术上的改进使H264能够在保证低失真率和主观视频图像质量与以往视频编码标准相当的条件下,能够实现比以往视频编码标注节省50的码率。同时H264有较强的应用环境适应能力,其在所以码率下都能够连续提供较高质量的视频图像。3)在系统层面上,H264分为视频编码层VCL,VIDEOCODINGLAYER和网络提取层NAL,NETWOR
33、KABSTRACTIONLAYER。前者规定了视频编码压缩的核心系统框架,后者是通过特定类型网络进行递送的表述,这样的结构便于信息的封装和对信息进行更好的优先级控制15。4)在支持的帧类型方面,H264除了支持P帧、B帧外,还支持新的流间传送帧SP/SI帧。码流中包含SP帧后,能实现在有相似内容但有不同码率的码流之间快速切换,包含SI帧的码流中支持随机接入和快速回放模式。H264系统编码框图如图31所示。为了满足不同应用的要求,H264规定了三个档次1)基本档次利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(CAVLC)。主要用于可视电话、会议电视、无线通信
34、等实时视频通信;2)主要档次支持隔行视频,采用B片的帧间编码和采用加权预测的帧内编码;支持利用基于上下文的自适应的算术编码(CABAC)。主要用于数字广播电视与数字视频存储;3)扩展档次支持码流之间有效的切换(SP和SI片)、改进误码性能(数据分割),但不支持隔行视频和CABAC。扩展档次包括了基本档次的所有功能,但不包括主要档次的。每一档次设置不同参数(如取样速率、图像尺寸、编码比特率等),得到性能编解码器16。由于最初发布的H264标准只支持8比特采样率,420格式的数据输入源,不能适应一些特殊应用的环境,因此,在2004年9月,JVT发布了H264的增补方案FREXT。该方案中扩展了H2
35、64支持的数据源格式和类型,新增了3个档次以满足高清视频应用的要求。11H264最显著的特点是具有很高的数据压缩比率,在同等图像质量的条件下,H264的压缩比是MPEG2的2倍以上,是MPEG4的152倍。例如,原始视频文件的大小为100GB,采用MPEG2压缩标准压缩后变成4GB,压缩比为251,而采用H264压缩标准压缩后变为1000MB,压缩比达到1021。H264压缩技术不仅极大的节省网络用户的下载视频文件时间和数据流量,而且使网络用户享受到的是高质量的流畅图像17。H264高效的压缩性能与其采用了许多新的技术不无相关,但采用繁多的新技术的同时势必带来了巨大的计算法复杂度。如一帧130
36、万像素的高清显微图像大小就达375MB,H246虽然能够实现高压缩比的压缩,但其耗费的时间也是不容小觑的。因此,在保证H264对显微视频图像的高压缩比的情况下,如何降低H264的计算复杂度,节省编码压缩时间,是课题研究的重点。4X4FORWARDTRANSFORMFORWARDQUANTIZER,SCALERANDFORWARDSCANVLC/CAVLC/CABACCODERANDBITSTREAMFORMATTERBUFFERRATECONTROLLERINVERSESCAN,SCALERANDINVERSEQUANTIZER4X4INVERSETRANSFORMDEBLOCKINGFILT
37、ERROWSIZE1MBSSTOREINTRAPREDICTORMULTIPLEPAST/FUTUREREFERENCEPICTURESSTOREMBPARTITIONSMOTIONCOMPENSATEDMCPREDICTORMULTIBLOCKMULTIFRAMEMOTIONESTIMATORINTRA/MBPARTITIONSMCMODEDECISIONSELPTYPE,MBTYP,DQP,DMV,DBLFPARMVMBTYPEVIDPRE图31H264编码系统框图1232H264编码器通过对H264编码器的分析,了解各个编码的环节的功能,判断分析各个功能模块在实际编码显微视频图像是的效用
38、强弱,精简优化H264对显微图像的压缩编码,降低计算复杂度,从而达到保证高效压缩,节省时间开支的目的。321H264编码器结构H264在处理视频时是以帧为单位进行,根据GOP设置的不同,每帧可以被处理为I帧、P帧、B帧3种不同类型。在编码帧时又是以片为单位,每个片被划分为不同类型的宏块,宏块有像素构成,像素是H264编码时的最小数据单位。H264编码时,视频图像数据等级划分如下帧片宏块子块像素H264编码系统结构如图31所示,它是在MPEG4技术的基础之上建立起来的,其编解码流程主要包括5个部分帧间和帧内预测(ESTIMATION)、变换(TRANSFORM)和反变换、量化(QUANTIZAT
39、ION)和反量化、环路滤波(LOOPFILTER)、熵编码(ENTROPYCODING)18。在变换方面,H264使用了基于44像素块的整数DCT变换,是不可逆的,因为取舍而存在误差的问题。与浮点运算相比,整数DCT变换会引起一些额外的误差,但因为DCT变换后的量化过程也存在量化误差,与其相比,整数DCT变换引起的误差影响可以忽略不计。此外,整数DCT变换有利于减少运算量和复杂度。在量化方面,H264中规定了32种不同的量化步长可供选择,这些量化步长是以1/8的复合率递进,不是一个固定常数。在H264中,变换系数的读出方式也有两种之字形ZIGZAG扫描和双扫描,如图32所示。大多数情况下使用简
40、单的之字形扫描;双扫描一般仅使用较小量化级的块内,有助于提高编码效率。图32H264变换系数扫描方式A之字形扫描;B双扫描在熵编码方面,H264中采用了两种不同的熵编码方法通用可变长编码(UVLC)和基于文本的自适应二进制算术编码(CABAC)。在帧内和帧间预测方面,帧内预测模式中,预测块P是基于已编码重建块和当前块形成的。对亮度像素而言,P块用于44子块或者1616宏块的相关操作。44亮度子块有9种可选预测模式,独立预测每一个44亮度子块,适用于带有大量细节的图像编码;1616亮度块有4种13预测模式,预测整个1616亮度块,适用于平坦区域图像编码;色度块也有4种预测模式,类似于1616亮度
41、块预测模式。编码器通常选择使P块和编码块之间差异最小的预测模式。此外,还有一种帧内编码模式称为I_PCM编码模式。该模式下,编码器直接传输图像像素值,而不经过预测和变换。在一些特殊的情况下,特别是图像内容不规则或者量化参数非常低时该模式比起常规操作(帧内预测变换量化熵编码)效率更高。I_PCM模式用于以下目的1允许编码器精确的表示像素值2)提供表示不规则图像内容的准确值,而不引起重大的数据量增加。3)严格限制宏块解码比特数,但不损害编码效率。帧间预测编码利用连续帧中的时间冗余来进行压缩,主要包括运动估计和补偿环节。在帧间预测编码方面,H264除了支持原来视频编码标准的功能外还灵活的增加了许多功
42、能,如采用不同大小的宏块进行预测、更加精细的像素精度,多参考帧等19。帧间和帧内预测编码是H264压缩编码的核心部分,其间包含了许多功能,而这些功能并不是每种应用处理所必须的。例如课题研究的显微视频图像序列,由于采集时的低帧率,导致时间相关性差,B帧技术和多参考帧技术对显微图像序列已经不适用,而这些技术恰恰又是非常消耗时间的。因此,通过对H264编码器各个功能模块的分析,同时结合课题研究对象的特性,从而为后续编码方案的提出提供理论依据。322H264算法结构课题的研究的压缩编码算法是以H264压缩编码算法为核心,旨在利用H264高效的压缩性能,同时降低其计算复杂度,提出有利于网络传输的显微视频
43、图像的压缩方案。因此,研究了解H264算法的结构是提出和实现方案的理论基础。图32所示的是H264编码压缩算法核心部分的流程图。14片头和宏块语法编码速率控制模式抉择宏块编码宏块重建是否启动去块滤波去块滤波帧缓存是否为片中的最后一个宏块是否为最后一片YESYESNONONOYES压缩比特流图32H264一帧图像编码流程图片头信息和宏块语法编码环节决定编码器采用何种方式编码片头信息,有2种编码方法EXPGOLOMB编码和固定长度编码。这个环节最重要的功能是判断当前编码的宏块是编码为帧内宏块还是帧内宏块。速率控制和模式抉择环节主要决定每个宏块编码时的比特分配和速率控制。宏块编码环节是H264算法的
44、核心环节。根据前面环节判断的当前宏块的类型选择不同的编码方案。如果当前宏块为帧内宏块,编码流程如图33所示;如果当前宏块为帧间宏块,编码流程如图34所示。15IPCM输出像素值帧内预测变换量化CABACCABAC编码CAVLC编码码流整合YESNOYESNO图33帧内宏块编码流程图SKIPPEDMB对P帧计算MB_1616的运动矢量或者B帧为直接模式直接模式导出直接运动矢量编码差分运动矢量运动补偿/运动估计变换量化是否为编码块CABACCABAC编码CAVLC编码重建帧间宏块像素图34帧间宏块编码流程图16ENCODE_ONE_MACROBLOCK函数是整个H264编码的核心函数,也是H264
45、编码主要耗时的环节。函数首先判断宏块的类型,是帧间编码的宏块还是帧内编码的宏块,然后再搜索寻找最佳的编码模式,其流程图35所示。ENCODE_ONE_MACROBLOCKSTARTINTRABSLICENGET_DIRECT_MOTION_VECTORS获取直接运动矢量,推测当前宏块的参考帧索引。YFORMIN_COSTINT_MAX,MODE1MODEC_IPRED_MODEDC_PRED_8CURRMBC_IPRED_MODEC_IPRED_MODEFORCTR16X160,INDEX0INDEXYUV/BMP_TO_YUVCPPDEFINESTHEENTRYPOINTFORTHECONS
46、OLEAPPLICATIONINCLUDE“STDAFXH“INCLUDE“CONVERTH“INCLUDE“STRINGH“DEFINEBITCOUNT8INTRGB2YUV_YR256,RGB2YUV_YG256,RGB2YUV_YB256INTRGB2YUV_UR256,RGB2YUV_UG256,RGB2YUV_UBVR256INTRGB2YUV_VG256,RGB2YUV_VB256/CONVERSIONFROMYUV420TORGB24STATICLONGINTCRV_TAB256STATICLONGINTCBU_TAB256STATICLONGINTCGU_TAB256STATI
47、CLONGINTCGV_TAB256STATICLONGINTTAB_76309256STATICUNSIGNEDCHARCLP1024/FORCLIPINCCIR601/TABLEUSEDFORRGBTOYUV420CONVERSIONVOIDINITLOOKUPTABLEINTIFORI0I16URGB2YUV_URRRGB2YUV_UGGRGB2YUV_UBVRB838860816VRGB2YUV_UBVRRRGB2YUV_VGGRGB2YUV_VBB838860816R3G3B3/NOWSAMPLETHEUVUWH/4/FORUPU1UUPU2PU11PU3PU1WPU4PU31/FO
48、RVPV1VVPV2PV11PV3PV1WPV4PV31/DOSAMPLINGFORI0I2VPV1PV2PV3PV42PU12PU22PU32PU4232PV12PV22PV32PV42PU1WPU2WPU3WPU4WPV1WPV2WPV3WPV4WDELETEUUDELETEVVRETURN1/INITIALIZECONVERSIONTABLEFORYUV420TORGB/VOIDINITCONVERTTABLELONGINTCRV,CBU,CGU,CGVINTI,INDCRV104597CBU132201/FRAMATRISEIGLOBALH/CGU25675CGV53279FORI0I
49、16D1CLP384Y1C2C316D1CLP384Y1C416/DOWNLEFTY2TAB_76309PY2D2CLP384Y2C116D2CLP384Y2C2C316D2CLP384Y2C416/UPRIGHTY1TAB_76309PY1D1CLP384Y1C116D1CLP384Y1C2C316D1CLP384Y1C416/DOWNRIGHTY2TAB_76309PY2D2CLP384Y2C116D2CLP384Y2C2C316D2CLP384Y2C416D13WIDTHD23WIDTHPY1WIDTHPY2WIDTHINTMAININTARGC,CHARARGVINTWIDTH1280INTHEIGHT1024INTYUVSIZEWIDTHHEIGHT234INTRGBSIZEWIDTHHEIGHT3INTPICNUMBER20INTPICNBYTEYUVNEWBYTEYUVSIZEBYTERGBDATANEWBYTERGBSIZEMEMSETYUV,0,YUVSIZEMEMSETRGBDATA,0,RGBSIZEINTSIZEOFHEADSSIZEOFBITMAPFILEHEADERSIZEOFHEADSSIZEOFBITMAPINFOHEADERBITMAPFILEHEADERFILE