多标准视频编码器下的运动估计评估.pdf
《多标准视频编码器下的运动估计评估.pdf》由会员分享,可在线阅读,更多相关《多标准视频编码器下的运动估计评估.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 基金项目基金项目基金项目基金项目:国家自然科学基金资助项目(60970023);国家“973”计划基金资助项目(2011CB302501);国家“863”计划基金资助项目(2012AA010902,2012AA010901)。作者简介作者简介作者简介作者简介:孙公瑾(1983),男,硕士研究生,主研方向:微处理器体系结构;安 虹,教授;范东睿,副研究员。收稿日期收稿日期收稿日期收稿日期:2013-03-07 修回日期修回日期修回日期修回日期:2013-04-03 E-mail: 多标准视频编码器下的多标准视频编码器下的多标准视频编码器下的多标准视频编码器下的运动估计运动估计运动估计运动估计评
2、估评估评估评估 孙公瑾孙公瑾孙公瑾孙公瑾1,安安安安 虹虹虹虹1,范东睿范东睿范东睿范东睿2(1.中国科学技术大学计算机科学与技术学院,合肥 230027;2.中国科学院计算技术研究所计算机体系结构国家重点实验室,北京 100190)摘摘摘摘 要要要要:运动估计是视频编码过程中最为复杂和耗时的阶段。为分析和优化其性能,从多个流行的开源视频编码器中提取出单独的运动估计算法模块,根据视频分辨率和视频内容的不同建立程序输入集,从而构成一套完整的测试程序集合。利用性能分析工具对算法性能和微体系结构性能进行量化分析,给出这些算法在当今主流处理器体系结构上的性能差异。实验结果表明,复杂视频和高分辨率视频下
3、的运动估计算法耗时最长,且大部分算法的指令级并行性没有太大差异。算法最后一级高速缓存的缺失率和分支误预测率都较低,分别在 0.01%和 7%以下。关键词关键词关键词关键词:视频编码;运动估计;钻石搜索;六边形搜索;视频内容;分辨率;微结构 Evaluation of Motion Estimation for Multi-standard Video Encoder SUN Gong-jin1,AN Hong1,FAN Dong-rui2(1.School of Computer Science and Technology,University of Science and Technolo
4、gy of China,Hefei 230027,China;2.State Key Laboratory of Computer Architecture,Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100190,China)【Abstract】The Motion Estimation(ME)in the video coding is the most complex and time-consuming one of all the processing stages.This paper
5、extracts all the ME modules from multiple popular open source video codecs in order to evaluate and optimize their performance.In addition,a comprehensive input data set is constructed for these ME algorithms considering different video contents and resolutions.A quantitative analysis of runtime eff
6、iciency and microarchitecture characteristics are made for these algorithms by means of the profiling tool based on hardware performance counter,and the analysis exposes their performance difference on current mainstream processor architecture.The evaluation results show that for the input of comple
7、x and high-resolution video,the ME will consume the most time,while there are little difference between their low Instruction Level Parallelism(ILP).But the Last Level Cache(LLC)miss rate and branch misprediction rate of these algorithms are all rather low,which are respectively under 0.01%and 7%.【K
8、ey words】video coding;Motion Estimation(ME);diamond search;hexagon search;video content;resolution ratio;microarchitecture DOI:10.3969/j.issn.1000-3428.2014.04.058 计 算 机 工 程 Computer Engineering 第 40 卷 第 4 期 Vol.40 No.4 2014 年 4 月 April 2014 开发研究与工程应用开发研究与工程应用开发研究与工程应用开发研究与工程应用 文章编号文章编号文章编号文章编号:1000
9、-3428(2014)04-0295-06 文献标识码文献标识码文献标识码文献标识码:A 中图分类号中图分类号中图分类号中图分类号:TP181 概述概述概述概述 视频编码技术一直被广泛应用于多个重要领域,如媒体播放器、视频会议、在线视频点播等。编码器的性能特征也一直是视频领域的研究热点。通常一个经典的视频编码过程包括多个关键的阶段:视频预处理,运动估计,离散余弦变换和量化(包括反变化和反量化),熵编码,视频后处理(去块滤波等)。在编码的多个阶段中,运动估计(Motion Estimation,ME)因涉及到太多复杂的计算而成为最耗时的部分1。该阶段的主要功能是对于当前的编码单元(片、帧或宏块)
10、通过一些有效的图像搜索算法找到一个最优的运动向量和参考图像。它需要很多的计算和数值比较操作。运动估计的精度将直接影响到最终的码流文件(被压缩后的文件)质量。因 此,单独对编码器中的运动估计算法进行观察和研究将会提供更多的性能提升空间,这些算法已经被广泛用于很多流行的编码器中2-4,比如钻石搜索算法、六边形搜索算法、UMH搜索算法等。但是对它们的分析不能通过分析完整的编码器进行,因为编码器的编码效果不仅由运动估计部分决定,而且还与其他一些因素相关。如果仅通过配置跟运296 计 算 机 工 程 2014 年 4 月 15 日 动估计相关的运行参数然后再去评估编码效果,这样不会给出关于运动估计部分任
11、何精确而有深度的结论。更有效的办法是从现有的编码器中提取出跟搜索算法有关的关键模块,使它们变为可独立运行的程序,这样就可以单独地分析其行为特征和性能表现。另一方面,虽然现在有一些多媒体benchmark包,比如Berkeley Multimedia5、Mediabench6、Mediabech II7、EEMBC8、HD-VideoBench9等,但它们都只包含完整的编码器,没有所需要的独立算法模块和程序片段。而且,它们中的大部分程序都是基于一些比较老的视频编码标准,比如MPEG-2和MPEG-4,没有包含最新的标准,如VP810。因此,不能直接拿这些已有的Benchmark包进行研究。本文从
12、已有的编码器中将运动估计的算法模块(程序片段)提取出来,并构成可独立运行的程序。2 运动估计算法提取运动估计算法提取运动估计算法提取运动估计算法提取 2.1 编码器选择编码器选择编码器选择编码器选择 每个视频编码器都有自己的设计原理,要考虑自己的需求,如目标压缩率、编码算法的选择和实现、数据格式的定义、输入视频序列的特征以及编码器最适于运行的微结构平台等。不同的编码器有不同的性能表现和应用领域,比如有的适合于实时编码,有的则更擅于离线压缩;有的适合于嵌入式平台,有的则更适合于大型数据中心。因此,必须首先选择合适的候选编码器,这样提取出的算法才更具适应性和代表性。可以作为候选的视频编码器应该满足
13、以下条件:(1)被选择的应该是视频处理领域中的主流编码器,有广泛的代表性。(2)该编码器包含主流的运动估计算法。(3)如果编码器是按照某个标准(比如H.264)来实现的,那它应该实现该标准定义和描述的全部特征,或者至少是标准中某一个层次所描述的全部特征。(4)考虑到移植性,编码器应该包含体系结构无关代码。(5)编码器的性能不能太低。不仅要考虑到编码器的编码质量,而且也要考虑到其可用性以及效率。如果一个视频编码标准的参考软件仅仅只是为了验证该标准但却有很差的运行效率,那么它就没有太大的实用性,更不适合拿来作为一个评估对象。(6)需要有一组完整的视频测试序列,包含多个典型的视频场景和图像分辨率。每
14、个序列都有自己独特的运动特征,诸如剧烈运动、镜头晃动、场景切换、静止图像、波动图像等。分辨率要包括低分辨率(比如cif(352288)、4cif(704576)和高清视频(比如720P和1080P)。(7)编码器应该是开源的,这样其他的研究人员可以根据自己的需要访问、修改并分发这些源代码。根据以上条件,选择了流行的视频编解码器来提取其中的运动估计算法模块。表1列出了这些编码器以及相应的描述。表表表表1 用用用用于于于于提取运动估计模块的候选编码器提取运动估计模块的候选编码器提取运动估计模块的候选编码器提取运动估计模块的候选编码器 候选编码器 描述 xvid(版本:1.3.2)一个优秀的MPEG
15、-4开源视频编码器11 x264(版本:core 116)一个被广泛应用的H.264开源编码器,其性能超过了很多同类的其他编码器12-13 vp8(版本:1.0.0)VP8是一个由Google发布的新视频编码规范,目前实现的软件版本是1.0.010 2.2 运运运运动估计程序的提取动估计程序的提取动估计程序的提取动估计程序的提取 将原始编码器中的算法模块连同其调用的子函数及相应的头文件全部提取成单独的程序文件,然后编译成可独立执行的程序文件。表2列出了所提取的运动估计算法模块及其相应的特征描述。表表表表2 提取出的运动估计算法提取出的运动估计算法提取出的运动估计算法提取出的运动估计算法 候选编
16、码器 运动估计搜索算法 特征 xvid xivd_me_advdia 高级钻石搜索 xvid_me_square 正方形搜索 xvid_me_dia 钻石搜索 x264 x264_dia 钻石搜索,半径为1 x264_hex 六边形搜索,半径为2 x264_umh 非对称十字多层六边形(UMH)搜索 vp8 vp8_diamond 钻石搜索 3 经典运动估计算法描述经典运动估计算法描述经典运动估计算法描述经典运动估计算法描述 程序集包含7个搜索算法模块,其中一些在原理上是类似的。下面对一些重要的算法进行简单描述。3.1 搜索算法描述搜索算法描述搜索算法描述搜索算法描述 3.1.1 钻石搜索 图
17、1给出了钻石搜索算法的原理。01111222 图图图图1 钻石搜索算法原理钻石搜索算法原理钻石搜索算法原理钻石搜索算法原理 以图1为例描述搜索过程:图中的每一个圆圈代表一个像素,圆圈0表示其实搜索像素。(1)计算起始像素0周围4个像素(标号为1)的代价,然后和像素0的代价进行比较。(2)如果0的代价最小,那么搜索结束;否则选择标号1中代价最小的像素(如图中圆圈)作为新的起始搜索像素。(3)重复以上步骤直到找到最匹配的像素。3.1.2 六边形搜索 和钻石搜索相比,六边形搜索有更高的效率和精确性。其搜索原理和搜索过程分别如图2和图3所示。第40卷 第4期 297 孙公瑾,安 虹,范东睿:多标准视频
18、编码器下的运动估计评估 图图图图2 六边形搜索原理六边形搜索原理六边形搜索原理六边形搜索原理 图图图图3 六边形六边形六边形六边形搜索搜索搜索搜索算法过程算法过程算法过程算法过程 3.1.3 非对称十字多层六边形搜索 非对称十字多层六边形(Uneven-cross Multi-Hexagon-grid,UMH)搜索算法混合了钻石搜索和六边形搜索的特征,是目前搜索效率最高的快速运动估计搜索算法。图4给出了原理图,不同的数字代表不同的搜索步骤。图图图图4 非对称非对称非对称非对称十字多层六边形十字多层六边形十字多层六边形十字多层六边形搜索原理搜索原理搜索原理搜索原理 3.1.4 全搜索 全搜索是对
19、参考帧图像中的每一个像素进行搜索匹配,因此,必然可以找到最优的运动向量,精确度相对其他搜索算法也最高,但是也最为耗时。全搜索算法一般用硬件实现,本研究不涉及该算法的评估。3.2 输入集设计输入集设计输入集设计输入集设计 除了编码器自身的算法特征外,编码过程还受到输入视频序列的极大影响,比如视频的内容或者分辨率。视频内容代表着具体的图像运动特征,这些特征对编码器的执行路径和最终产生的码流文件有关键性的影响。如画面呈现剧烈运动的视频意味着要花更多时间在运动估计模块上面。另一方面,视频的分辨率也和编码的效率有直接关系,高分辨率视频通常要求运动估计算法搜索更大的像素范 围,进行更多次的计算和比较,使得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 标准 视频 编码器 运动 估计 评估
限制150内