H.264编码器关键算法的实现和优化研究

来源 :浙江大学 | 被引量 : 0次 | 上传用户:rilson
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
H.264/AVC是视频编码专家组ITU-T和运动图像专家组MPEG共同制定的视频编码标准。与现有的标准相比,H.264获得了更高的压缩性能,同时具有更好的网络适应性。但这些优势的取得都是以增加运算开销为代价的。对硬件的存储空间和处理能力提出了更高的要求。因此如何设计高性能的编解码器成为学术领域和工业领域研究的重点问题。在H.264编码器中运动估计是其关键的一项技术,通过运动估计能很好的消除帧间的相关性,由于H.264采用了多种块划分模式和1/4像素精度的运动估计,这极大的提高了运动估计模块的计算复杂度,其计算时间占整个编码器的60%(单帧参考)到80%(5帧参考),为了降低快速运动估计的计算复杂度,同时避免采用小菱形搜索算法可能带来的局部最优点问题,本文提出了自适应搜索模板的估计算法。本算法在搜索时根据SAD(sum of absolutedifferences)值的变化快慢和相邻帧之间时间相关性自适应选择搜索模板。实验表明,使用本算法编码,码流大小与使用菱形搜索算法和六边形搜索算法差距为±0.6%,搜索点数为菱形算法的72%-77%,六边形算法的83%-86%,在减少搜索点数的情况下有效地避免了局部最优点问题。在H.264的编码器中每个块的编码都离不开量化,变换,反量化,反变换,1/2 1/4像素插值,滤波和SAD求值的过程,且在这些计算中大量的过程可以并行处理,于是本文利用MD64的64位和128位的SIMD指令进行算法的优化并提出了利用128位SIMD(SingleInstruction Multiple Data)指令并行处理2个4x4块变换的算法,同时提出了利于并行处理的滤波算法,该算法通过增加单个滤波计算的计算量换取了利于并行处理的计算形式,有利于采用SIMD指令编程处理,从而在通过SIMD指令优化后提升了滤波速度。这些算法使得以往H.264编码中耗时很大的模块的速度得到3-8倍的提升从而大大提高了编码速度。最后,本文对基于MD64的H.264编码器的存储结构优化作了研究,在一个基于DSP的软件编码器中数据的访问量是很大的,如何安排这些数据的存储结构直接影响了数据的访问速度,所以存储结构设计成为了编码器设计的重要组成部分,合理的存储结构设计不但利于提高数据的访问速度同时利于不同平台的移植。本文考虑了MD64的片内存储空间的大小问题同时考虑到其DMA带来的数据传输和数据计算并行化的可能性,提出了一种精简的片上存储空间的分配方法,利用MD64的DMA实现了片上与片外间数据的调度和DSP上数据的处理完全并行化。
其他文献
<正>福州市委、市政府出台推进安全生产领域改革发展的实施意见,明确了福州市安全生产领域改革发展工作的指导思想、目标任务以及重点改革任务,针对全市安全生产工作亟须破解
在本文中,笔者认为党报民生新闻的出路在于实现五个转变,即从"人民"(老百姓、群众)到"公民"的转变;从"小民生"到"大民生"转变;从物质生活到物质生活与精神生活并重的转变;从
利用水生植物净化水质的研究从20世纪70年代就开始了,具体针对单个植物或植物组合搭配对污水的处理效果进行了诸多实验研究,本文立足于水生植物组合注意事项及水生植物净水的
建设和培育特色小镇作为我国一项重要的发展战略,是我国拉动内需、扶贫攻坚、全民奔小康、实现中国梦的重要举措。然而,在国内特色小镇紧锣密鼓的建设过程中,特色小镇基础设
文章首先提出侗族“民族作家”这一概念,其含义是突出近二十多年来侗族写作在“民族意识”方面的觉醒与表达。所选取的三位作家分别来自三个著名的侗族聚居区,其中张泽忠可以
日前,2017年达索系统SIMULIA中国区用户大会在深圳召开,多位达索系统SIMULIA高层、技术专家及合作伙伴参加了会议,与来自能源、汽车、高科技和医疗等多个行业的近600名用户分
随着现代工业的发展,能源危机和大气污染问题日益严重。利用光伏原理制作的光伏电池作为理想清洁能源受到越来越多的重视。在这之中,有机/聚合物光伏电池正得到越来越多的关
我国高等教育虽然已经走过了123年的历史,但我国近代大学产生以来,只有过去的40年是稳定、发展和没有“断裂”的40年,是难得的“黄金”发展期。作为改革开放后的第一批大学生
原子钟是集量子物理学和电子学为一体的高科技产品,自20世纪50年代发明以来,不但成为了当今的时间频率基准,而且在科学研究、国民经济和国防建设等领域获得广泛的应用,是一个
<正>一、肉羊养殖品种的介绍目前在我国,肉羊品种较多,同时产量很高,根据技术人员统计,现阶段当地共有肉羊品种130种,主要有这几种品种:湖羊,小尾寒羊、波尔山羊、杜泊羊、无