(计算机科学与技术专业论文)基于流模型的高清h264编码器优化实现.pdf_第1页
(计算机科学与技术专业论文)基于流模型的高清h264编码器优化实现.pdf_第2页
(计算机科学与技术专业论文)基于流模型的高清h264编码器优化实现.pdf_第3页
(计算机科学与技术专业论文)基于流模型的高清h264编码器优化实现.pdf_第4页
(计算机科学与技术专业论文)基于流模型的高清h264编码器优化实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机科学与技术专业论文)基于流模型的高清h264编码器优化实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院硕十学位论文 摘要 h 2 6 4 作为一种新的视频编码标准,其高图像质量和高压缩比的性能对学术界 和市场都具有极大的诱惑力。但是h 2 6 4 的计算复杂度很高,需要一种高效的实 现方法。虽然可编程处理器比专用的a s i c 设计具有更为强大的优势,但是高清标 准的h 2 6 4 实时编码对于大多数的可编程处理器来说都是一个挑战。 随着流计算、流应用概念的不断涌现,流处理器逐渐成为微处理器研究的热 点之一。另一方面,基于模型的设计已经被广泛地用于处理复杂的媒体程序。流 模型,一个基于模型的显式编程方法,正是伴随着流处理器的出现而产生的一种 设计方法,在许多计算密集领域展现出了令人惊讶的有效性。流模型对媒体处理 的强大支持使得h 2 6 4 的实时编码成为可能。 以此为基础本文提出了h 2 6 4 流化的一般性方法,并实现了基于流模型的高清 h 2 6 4 编码器。这个编码器是一个完全由高级语言编写的纯软件的执行方案,没有 使用任何特定的硬件和算法支持,它可以运行在多个通用可编程计算平台上,包 括通用p c 平台、嵌入式平台、d s p 平台和可编程流处理器平台( s t o 刚) 。结 果显示流化使得h 2 6 4 在多种处理器体系结构上均能取得显著加速,x 8 6c o r e t m 2 e 8 2 0 0 上的加速比为1 8 ,m i p s4 k e c 上的加速比为3 8 ,t m s 3 2 0c 6 4 1 6d s p 上的 加速比达到了5 5 ,而s t o r m s p l 6g 2 2 0 上的加速比达到了6 2 。尤其是流处理器, 对1 0 8 0 p 标准的视频图像可以达到3 0 3 f p s 的编码速率,满足了实时编码的需求, 而且功耗和硬件成本也符合嵌入式应用的要求。本文还对比分析了流化前后的程 序结构特征和执行特征,结合处理器体系结构特征揭示了流化提高性能的根本原 因,分析表明对于h 2 6 4 这样的复杂多媒体程序进行流化是值得的。文章的h 2 6 4 流化方法对其它多媒体应用的流化和专用硬件加速器的设计也具有借鉴意义。 主题词:流模型,h 2 6 4 编码器,实时,可编程,1 0 8 0 p 全高清 第i 页 国防科学技术大学研究生院硕十学位论文 a b s t r a c t h 2 6 4 ,a san e wv i d e oc o d i n gs t a n d a r d ,a i m sa th i g hq u a l i t ya n dh i 曲c o m p r e s s i o n o fv i d e op i c t u r e a n di t sp e r f o r m a n c eh a sa t t r a c t e da c a d e m i aa n db u s i n e s sc i r c l e s h o w e v e r ,h 2 6 4r e q u i r e sl a r g ea n di n t e n s i v ec o m p u t a t i o n t h u s ,i ti se a g e rt of i n da n e f f i c i e n ti m p l e m e n t a t i o nf o rh 2 6 4c o d i n g r e a l t i m ee n c o d i n go fh i g h d e f i n i t i o n ( h d ) h 2 6 4v i d e o ( u pt o10 8 0 p ) i sac h a l l e n g et om o s te x i s t i n gp r o g r a m m a b l ep r o c e s s o r s a l t h o u g hp r o g r a m m a b l ep r o c e s s o r sh a v eg r e a ta d v a n t a g eo v e rd e d i c a t e da s i cd e s i g n u n d e ri n t e n s et i m e - t o m a r k e tp r e s s u r e w i t ht h ea p p e a r a n c eo fs t r e a mc o m p u t i n ga n ds t r e a ma p p l i c a t i o n ,s t r e a mp r o c e s s o r i sb e c o m i n go n eo ft h eh o t s p o t si nm i c r o p r o c e s s o rr e s e a r c h o nt h eo t h e rh a n d , m o d e l b a s e dd e s i g ni sw i d e l ya c c e p t e di nd e v e l o p i n gc o m p l e xm e d i ap r o g r a m 。s t r e a m m o d e l a ne m e r g i n gm o d e l b a s e dp r o g r a m m i n gm e t h o dw h i c ho c c u r st o g e t h e rw i t h s t r e a mp r o c e s s o r ,s h o w ss u r p r i s i n g e f f i c i e n c yo nm a n yc o m p u t e - i n t e n s i v ed o m a i n s e s p e c i a l l yf o rm e d i ap r o c e s s i n g s t r e a mm o d e li sp r o m i s i n gt om a k eh 2 6 4r e a l t i m e e n c o d e rw i t hi t ss t r o n gs u p p o r tf o rm e d i ap r o c e s s i n g o nt h eb a s i s ,t h i sp a p e rp r o p o s e sas e to fs t r e a m i n gt e c h n i q u e sf o rh 2 6 4e n c o d i n g , a n dt h e nd e v e l o p sa l lo ft h ec o d eb a s e do nt h ex 2 6 4r e f e r e n c ec o d e o u rs t r e a m i n g h 2 6 4e n c o d e ri sap u r es o f t w a r ei m p l e m e n t a t i o nc o m p l e t e l yw r i t t e ni nh i g h - l e v e l l a n g u a g ew i t h o u ts p e c i a lh a r d w a r e a l g o r i t h ms u p p o r t r e a le x e c u t i o nr e s u l t ss h o wt h a t o u re n c o d e ra c h i e v e s s i g n i f i c a n ts p e e d u po v e r t h er e f e r e n c ee n c o d e ro i lv a r i o u s p r o g r a m m a b l ea r c h i t e c t u r e s :o nx 8 6c o r e t m 2e 8 2 0 0t h es p e e d u pi s1 8 x ,o nm i p s 4 k e ct h es p e e d u pi s3 8 x ,o nt m s 3 2 0c 6 4 1 6d s pt h es p e e d u pi s5 5 x ,o ns t r e a m p r o c e s s o rs t o r m s p 16g 2 2 0t h es p e e d u pi s6 2 x e s p e c i a l l y ,o ns t o r m p r o c e s s o r , t h es t r e a m i n ge n c o d e ra c h i e v e st h ep e r f o r m a n c eo f30 3f r a m e sp e rs e c o n df o ra10 8 0 p h ds e q u e n c e ,s a t i s f y i n gt h er e a l - t i m er e q u i r e m e n t t h e s ei n d i c a t et h a ts t r e a m i n gi s e x t r e m e l ye f f i c i e n tf o rt h i sk i n do fm e d i aw o r k l o a d o u rw o r ki sa l s oa p p l i c a b l ef o r o t h e rm e d i ap r o c e s s i n ga p p l i c a t i o n s ,a n dp r o v i d e sa r c h i t e c t u r ei n s i g h t si n t od e d i c a t e d as i co rf p g ah dh 2 6 4e n c o d e r s k e yw o r d s :s t r e a mm o d e l 。h 2 6 4e n c o d e r ,r e a l t i m e ,p r o g r a m m a b l e 。10 8 0 p f u l lh d 第i i 页 国防科学技术人学研究生院硕十学位论文 表目录 表2 1x 2 6 4 编码器程序基本参数设置1 1 表2 2p r o f i l e 分析时的程序运行环境1 4 表2 3 原程序框架的流模型契合度指标l9 表3 1 流模型契合度指标变化3 7 表4 1c 语言与s t r e a m c 语言比较表一4 l 表5 1 评测所使用的测试序列5 2 表5 2 四种硬件平台的配置表5 3 表5 3 流化前后的压缩率比较5 7 表5 4 各平台的执行时间和加速比5 9 第1 i i 页 国防科学技术大学研究生院硕十学位论文 图目录 图1 1 视频序列组成3 图1 2 流计算模型示例深度提取【1 7 】一4 图1 3 程序框架的比较5 图2 1x 2 6 4 程序文件组织示意图1 0 图2 2x 2 6 4 程序框架1 2 图2 3p a p i 工具的体系结构框架1 3 图2 4 可视化工具p e r f o m e t e r 1 3 图2 5 宏块问的数据相关性1 5 图2 6c a c h e 失效率统计图1 6 图2 7 程序各部分执行时间分布图1 8 图3 1 关键函数的扁平化过程2 1 图3 2 帧间预测相关性示意图2 3 图3 3c l a i r e 序列的率失真曲线图2 4 图3 4 分割循环体示意图2 6 图3 5 基于函数的程序框架到基于k e r n e l 的程序框架的转变2 7 图3 6 参数化k e r n e l 示例2 9 图3 7 变量的分类和本地化3 0 图3 8h 2 6 4 编码器的初步数据流图3 2 图3 9s t r e a m 规则化示例图3 3 图3 1 0s t r e a m 重用的示例图3 4 图3 1 l 优化后的h 2 6 4 编码器数据流图3 6 图4 1s t o r m s p l 6g 2 2 0 的体系结构框图3 9 图4 2d p u 结构图4 0 图4 3 帧内预测中对原始图像数据的流组织4 2 图4 4 参数化k e r n e l 在s t o r m 上的具体实现4 3 图4 5 运动估计的流组织4 4 图4 61 4 精度亚像素运动估计的搜索窗口4 5 图4 7 变换编码流组织中的图像边界规范化4 6 图4 8 分支过程的映射方法4 7 图4 9c a v l c 中的并行流拼接过程4 9 图4 10 亮度宏块的原有滤波顺序5 0 第1 v 页 国防科学技术大学研究生院硕十学何论文 图4 1 l 去块滤波的k e r n e l 实现和s t r e a m 组织5 0 图5 1k e r n e l 和访存操作的重叠执行5 5 图5 2 在s t o r m 处理上运用各优化方式的性能比较5 8 图5 3 各平台的执行时间分布图6 0 图5 4 流化前后各平台的存储器暂停时间对比图6 1 图5 5 流化前后各平台i p c 对比图。6 1 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意 学位论文题卧基王速搓型盟直遗 ! :! i 墨缉璺墨选丝塞理 学位论文作者签名: 墅 日期: 必。1 7 年p 月日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授机 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学雠文储张鞋 作者指导教师签名:盔垒歪j 日期:2 。了年l l 月灯日 日期:2 良哆年t 2 - 月2 - s e t 国防科学技术大学研究生院硕+ 学位论文 第一章绪论 视频图像压缩算法作为数字媒体的核心技术在当今互联网业务、数字便携设 备中都发挥着非常重要的作用。其中的压缩技术通常包含复杂的数学变换与信号 处理,需要具有实时的编码性能与持续的高吞吐量。但是,当前通用处理器的性 能不足以满足高性能视频应用的需求,而专用处理器又缺少足够的灵活性与可编 程性束处理各种各样的视频应用。 流处理器作为一种新兴的高性能微处理器,正在媒体应用、信号处理、科学 计算等多个领域获得迅速发展。其所依赖的流计算模型为视频应用提供了一种新 的解决方案。是否能够在流计算模型的基础上高效优化的实现视频图像压缩,是 一个值得研究的课题。 本文在国家8 6 3 高技术项目( 2 0 0 7 a a o l z 2 8 6 ) “可重构流数字信号处理器研 究”、国家自然科学基金( 6 0 6 7 3 1 4 8 ) “面向密集计算支持多维流的异构多核流 体系结构研究”和国家自然科学基金( 6 0 7 0 3 0 7 3 ) “基于流模型的面向应用可配 置d s p 关键技术研究”的支持下,关注国内外研究成果,并紧密结合工程实践, 对基于流模型的h 2 6 4 编码器的优化实现进行了深入研究。 1 1 1h 2 6 4 编码标准 1 1 研究背景 i t u t 视频编码专家组( v c e g ) 和i s o i e c 运动图像专家组( m p e g ) 于2 0 0 3 年共同开发出新一代视频编码标准h 2 6 4 t 1 1 1 2 1 。该标准在充分吸取以往成功的编码 标准的基础上,致力于在相同的重建图像质量的前提下,获得比其它现有标准更 高的压缩效率,使之适合于无线或者互连网络中低码率下的实时视频应用。h 2 6 4 标准采用了大量新的技术来获得更好的压缩性能和主观质量。这些新技术包括: 采用多参考帧( m r f ) 和可变块大小( v b s ) 的四分之一像素运动补偿( m e ) 、 帧内预测、基于上下文的自适应变长编码( c a v l c ) 和循环类的解锁滤波器( i n 1 0 0 p d e b l o c k i n gf i l t e r ) 等等【3 1 。总的来说,h 2 6 4 标准具有以下优点【4 1 【5 】: 低码流( l o wb i tr a t e ) :h 2 6 4 在当前图像标准中压缩效率是最高的,在同 等图像质量下,比h 2 6 3 标准提高近一倍,与m p e g 相比则可以节省5 0 一7 0 的比特掣6 i 。 高质量的图像:h 2 6 4 能提供连续、流畅的高质量图像( d v d 质量) 。 第1 页 国防科学技术大学研究生院硕十学位论文 容错能力强:h 2 6 4 提供了用于解决在不稳定网络环境下容易发生的丢包等问 题的必要工具。 网络适应性强:h 2 6 4 提供了网络适应层( n e t w o r ka d a p t a t i o nl a y e r ) ,使得 h 2 6 4 的文件能容易地在不同网络上传输( 例如互联网,c d m a ,g p r s ,w c d m a , c d m a 2 0 0 0 等) 。 但是,h 2 6 4 的编码性能是以计算复杂度为代价的。根据对h d t v l 0 2 4 p ( 2 0 4 8 x 1 0 2 4 ,3 0 f p s ) 规格的指令p r o f i l e 显示,h 2 6 4 a v c 解码需要8 3 g i p s ( g i p s , g i g ai n s t r u c t i o n sp e rs e c o n d ) 的计算性能和7 0 ( g b s ) 的访存性能。对于h d t v 7 2 0 p ( 1 2 8 0 x 7 2 0 ,3 0 f p s ) 规格的编码器,达到了3 6 0 0 g i p s 和5 5 7 0 g b s 的性能需求【7 】0 1 h 2 6 4 编码的算法复杂度高,计算需求大,对于高清标准则更是如此。因此极 大地限制了该技术在实时通讯领域的应用,所以研究相应的优化方法及其高效实 现是当务之急,是h 2 6 4 技术走向市场的重要前提和保证。 1 1 2h 2 6 4 编码器的传统优化实现方式 为了高效地实现h 2 6 4 编码器程序,研究人员们设计了许多优化方法,包括 专用硬件加速、并行处理、核心算法优化等等。专用硬件加速是将h 2 6 4 编码器 的一部分或全部实现为专用的硬件,以期达到加速优化的目的。核心算法优化是 从软件的角度对编码器的一些关键算法进行重新设计或优化,来提高整个编码器 的性能。而并行处理根据并行粒度的不同分为多种方式,在具体介绍之前,有必 要先了解h 2 6 4 视频序列的组成。如图1 1 所示,在h 2 6 4 中一个视频序列是由许 多的图片组( g o p ) 组成的,每个g o p 又包含很多帧,每帧又可分成几个相互独 立的s l i c e ,s l i c e 又能进一步分解成许多作为操作的基本单元的宏块,宏块还可以 再被分成更小的块。所有这些都有可能进行不同级别的并行运算,从而对原有编 码器的执行进行优化,对应的有帧级并行、s l i c e 并行、行波流水、宏块流水和细 粒度的块并行等常见方法。 帧级并行【8 j 是将一帧图像作为并行编码时的一个独立单元,并行处理的帧之间 必须是相互独立的,每一帧的编码还是遵循原有的执行过程。在使用s l i c e 并行【8 】 方式时,编码器将一帧图像划分为有限数目的s l i c e ,由于各个s l i c e 在标准中具有 相对独立的语法结构,并且同一幅图像的不同s l i c e 之间不存在参考关系,因此可 以将s l i c e 作为并行编码的基本调度单位在多线程中并行运算。在对h 2 6 4 编码过 程进行并行加速的几种方案中,s l i c e 并行技术是较为常用的一种。 行波流水【9 j 与宏块流水【8 】都是在宏块级别上进行的并行运算,不同的是行波流 水将同一步操作中没有相关性的宏块进行并行加速,而宏块流水将不同宏块的不 第2 页 国防科学技术= 学研究生院硕十学位论文 同操作阶段进行并行。行波流水得名的原因是其能够并行处理的宏块数是逐渐增 加的,就像水波从原点逐渐向外扩敝一样。老块流水将编码过程中的各操作阶段 设计为一条流水线的各栈,通过流水化的方式来处理一个个宏块。在对编码器进 行硬件实现时,常常利用这种方法束进行加速。而细粒度的块并行【1 ”是咀比宏块 还小的子块为基本调度单位而进行的并行操作,如一个8 x 8 子块或一个4 x 4 子块。 3 流处理器 削1 1 视频序列纽成 从流体系结构原型芯片l m a g i 一。t l 的研究,到首家流处理数字信号处理器公司 s t r e a mp r o c e s s o r si n c ( s p l ) i ”1 的建立,再到各种流处理平台如m e r r i m a c t l ”、c e l l i “i 、 图形处理器( g r a p h i c sp r o c e s s i n gu n i t ,g p u ) 1 1 ”的百家争鸣,流体系结构研究已经 走过了十年的时间,逐渐形成一个重要的体系结构分支。流体系结构日益成熟与 完善,由最初的面向媒体与信号处理应用,正逐渐扩展到科学计算及其它复杂多 媒体或网络应用领域,是新型体系结构研究中极具发展前景的重要领域之一。现 有的流处理器或原型系统,在典型应用领域均达到令人耳目一新的性能流处理 器体系结构也已经成为国际上一种热点高性能体系结构。 流处理器基于流应用中普遍存在的丰富并行、多层次的局域性、数据访问的 可预知性,在程序设计、编译和硬件上直接支持流,从而加速流应用。流处理器 结构瞄准以下三大目标: 高性能:通过使用大量计算功能单元( 1 0 1 0 0 0 数量级) 开发并行性,同时使 得访存和通信能够与计算重叠; 第3 页 国防科学技术土学研究生院硕+ 学位论文 高效率:通过捕捉局域性,使得有限的全局带宽能够与功能单元所需的极高 的本地带宽匹配,并且结合多种并行执行模式提升功能单元的利用效率,使得大 规模功能单元的性能充分发挥。另外还强调面积、功耗、成本有效; 可编程:通过高级语占完全可编程,并允许编译器自动优化,使得流处理器 具有极强的灵活性。 因此,流处理器能够较好的解决现有高性能处理器和d s p 处理器面临的难题 是一种极具发展前景的面向未来超1 0 亿只晶体管时代的并行微处理器。然而,流 应用和v l s i 技术的发展也给流处理器带来了新的机遇和挑战。 4 流计算模型 流处理器是专门针对那些控制结构规整有限、数据并行性丰富的计算密集型 应用而设计的。它的出现促使以流处理为主要思想的流计算模型的生成,流计算 模型( 或k e r n e l s t r e a m 模型) 简称流模型”,是一种新兴的面向媒体的快速处理 模型,它将数据组织成数掘流( s t r e a m ) ,将一个应用分解成一系列对数据流进行 操作的计算核心程序( k e r n e l ) ,流在k e r n e l 之间传递,在k e m e l 内部完成对流中 兀素的处理。图i2 以图像深度提取应用为例给出了一个流计算模型的示例。 德。l 一7 谤、叫 一一7 ,j 翻i2 流计算模型示蜊深度提取1 流计算模型的本质思想可归纳为以下五点:l 计算过程的分解:2 解耦数据的 运算和存取;3 擞据豹分块处理;4 显式通信;5 并行处理。流计算模型是一种高 可预知的结构化模型,可以采用编译技术来指导程序的执行。在流程序级,k e r n e l 和s t r e a m 的生产者消费者关系将任务级并行( t l p ) 显式地暴露出来,包括k e r n e l 和k e r n e l 之剧的,s t r e a m 加载或存储和k e r n e l 执行之问等。同时流的数据成批的特 性和k e r n e l 内部的密集计算分别揭示了丰富的数据缓并行( d l p ) 和指令级并行 ( i l p ) 。 第4 页 警葫 国防科学技术大学研究生院硕十学位论文 遵循流计算模型的程序被称为流程序,其程序框架与普通程序的框架有很大 不同,如图1 3 所示。从图中可以看出,尽管k e r n e l 的结构与传统语言中的函数相 似,从外部定义的形式上看仅仅是用流替代了参数和返回值,但二者还是存在两 方面的主要区别。一是传统的函数是非结构化的,可以互相嵌套、交叉引用;而 k e r n e l 是结构化的,只允许流水、分叉或聚合、反馈环三种结构存在。从机器和编 译的角度来看,k e r n e l 对控制流的限制使得数据和指令的执行更容易预测,局域性 和并行性更强,适合高吞吐率的密集计算,同时也更有利于编译的调度和优化。 二是k e r n e l 只局限于对本地数据进行操作,并且k e r n e l 也不可能产生随机的存储 访问。另外,s t r e a m 是有向的和连续的,并且不能被随机访问,这与普通程序框架 中的全局数据结构也有很大不同。 ( a ) r e g u l a rp r o g r a m( b ) s t r e a mp r o g r a m 图1 3 程序框架的比较 将一个普通程序转化为流程序需要对算法的数据流进行分析,将程序中的数 据组织成s t r e a m ,将计算组织成k e r n e l ,这个过程被称为流化。一个优化的流程序 框架能够完全解耦合计算和存储器访问,从而可以有效地将计算和访存重叠进行, 将访存延迟隐藏起来。 1 2 国内外研究现状 1 2 1 传统优化方式的研究 在国内外的研究中,专门的硬件设计往往是高性能h 2 6 4 编码器的首选方案, 包括局部加速设计【1 7 】【1 8 j 和整体加速设计f 2 0 】,这样可以保证编码系统的高吞吐率 和低功耗,最大限度地加快目标应用的执行速度。硬件编码器多采用宏块级流水 线结构,由于数据流都是单向的,所以通过流水操作处理可以使系统的吞吐率成 第5 页 国防科学技术大学研究生院硕十学倚论文 倍增长。但是其缺点是研发成本高、灵活性较差,不能适应市场的快速变化。 除了直接用专用硬件加速h 2 6 4 编码过程,研究人员们还在前文提到的帧级 并行、s l i c e 并行等方面对h 2 6 4 编码程序进行并行处理,但是所取得的优化效果 并不明显。因为这些优化方法并不能解决原有编码框架中的加速局限性问题,还 各自存在其他不足,如帧级并行会增大带宽压力【蚓、s l i c e 并行会降低压缩率f 8 j 等。 另一方面的研究是改进局部的核心算法,如n o k i ar e s e a r c hc e n t e r 的a n t t i h a l l a p u r o m a r t ak a r c z e w i c z 等人提出了基于1 6 位乘法的整数变换,解决了最初的 h 2 6 4 测试模型中存在的问题,即改进的d c t 变换采用3 2 位乘法而不适合于很多 只能进行1 6 位乘法的d s p 2 i j ;清华大学的研究小组针对高码率、高分辨率的应用 提出了u m h e x a g o n s 算法,进一步降低了运动估计的计算复杂度瞄j ;又如在变换 编码时选择k l 变换f 2 3 】替代传统的d c t 变换等。但这种对局部算法的研究往往更 重视压缩性能而不是执行时间,即使是对降低执行时间而进行的算法改进,也会 因为没有进行全局的优化而大大影响最终的性能。 1 2 2 课题相关研究 国外对流体系结构的研究起步较早且发展较快,主要是一些研究单位针对各 自不同的流执行机制开展体系结构、编译系统与应用支持等方面的研究。其中在 应用方面的研究大部分集中于在某种特定的流处理器上实现某个或某些应用,即 原来我们所理解的狭义上的应用流化。 如在i m a g i n e 流处理器上实现了典型的媒体处理核心或应用,包括2 d d c t 、 卷积、深度提取、m p e g 2 、3 维渲染等,并获得令人瞩目的性能及效率 2 4 1 。文献1 2 5 j 将雷达信号处理中的一些关键k e r n e l 映射到r a w 、i m a g i n e 流处理器上,并比较 它们的性能表现。部分线性几何程序和科学应用程序( 包括流场、分子动力学) 已经被高效地实现于m e r r i m a c 2 6 1 1 2 7 1 。文献【2 8 】讨论了如何将判别梅森素数的算法 l u c a s 映射到y h f t 6 4 2 流处理器系统中。文献【2 9 1 【3 0 1 分别研究了将基于二维拉格 朗f 和欧拉耦合法的y g x 2 和图像边缘识别算法s u s a n 在m a s a 流体系结构上 的实现。本文的研究是对这种流化概念的延伸,希望利用流计算模型的优势高效 地实现高清h 2 6 4 编码器,使之能够在各个平台上获得性能提升。研究的目标是 形成一个基于流模型的编码器框架,而不仅仅将其实现在某个特定的流处理器上。 下面再介绍几篇对本文的研究工作起到指导作用的文章: t u n g c h i e nc h e n 的文章【7 j 引入一种新的h 2 6 4 编解码器的设计方案,使用混 合任务的流水线设计,在块级、宏块级和帧级进行流水化的平衡调度,并且融合 了大量的带宽减低技术和数据重用策略,论证了一种有效的体系结构及其硅片实 第6 页 国防科学技术大学研究生院硕十学何论文 现。这篇文章虽然是介绍h 2 6 4 编解码器的硬件设计方法,但是文中对h 2 6 4 编 解码系统级体系结构的设计困难性进行了分析,并阐述了所采用的解决方法,这 些内容对本课题的研究有较大的启示作用。 s t a n f o r d 大学的j a y a n t hg u m m a r a j u 在0 7 年p a c t 会议上发表的文章 3 h 提出 在通用处理器基础上尽可能增加最小的体系结构特征来有效支持流执行模型,并 提出了具体的映射方法,对本课题研究有一定借鉴意义。但是这篇文章是将已存 在的流程序映射到g p p 上,侧重于映射过程和硬件改进。而本课题侧重于研究 h 2 6 4 编码程序的流化过程,并与各种优化手段相结合,适用的平台也更广。 h y e y o u n gh w a n g 在文章【) 2 j 中以h 2 6 4 为例提出了一种顺序c 代码转换为数据 流描述的系统方法,这种方法可以在d s p 系统的许多设计环境中得到广泛使用。 文章的思想与本课题的优化程序框架这部分研究有相似之处,但是不够全面具体。 1 2 3 研究发展趋势 由于应用需求的不断发展和变化,视频压缩的编码格式会越来越大,未来数 字电影应用的视频分辨率将会达到2 0 4 8 x 1 0 8 0 像素、4 0 9 6 x 2 1 6 0 像素甚至更高。同 时,实时性的要求也会越来越高,这必然带来计算需求的迸一步提高,更需要利 用流化等优化手段来达到理想的性能。 另一方面,流模型在媒体处理、信号处理和科学计算领域都会有广泛的应用 自订景。目前研究表明,流体系结构非常适合于媒体处理和信号处理等领域,这是 传统d s p 的应用领域,而流处理器在性能和效率上都要优于d s p ,流处理器可能 在未来替代d s p 而成为主流的可编程解决方案。同时,流处理器在科学计算上也 逐渐展示出巨大的潜力,已经有大量的研究投入其中,特别是图形处理器性能的 增强,使得流处理器朝着通用计算的方向迅速发展。因此,继续关注流应用的发 展趋势,深入研究程序流化的方法能为更多应用的加速及优化提供指导和帮助, 具有很强的理论价值和实际意义。 1 3 研究内容与创新点 本课题的主要研究内容为: ( 1 ) h 2 6 4 编码器的基准程序代码x 2 6 4 的学习与分析 首先需要对照h 2 6 4 标准学习各部分内容的对应实现,深入了解编码器的各 部分算法,加深对编码过程的理解,为下一步的工作打下基础。通过对程序的执 行时间分布、指令p r o f i l e 信息、c a c h e 失效率等进行详细的分析,更为详尽地说 第7 页 国防科学技术- 人学研究生院硕七学何论文 = = = = = = = = = = = = = = = = = = = = = = -_ _ 22 2 = = = = = = = = = = = = = = = = = = = = = = = = 明原自程序框架存在的不足及带来的影响,并深入研究这些局限性所产生的原因。 ( 2 ) 高清h 2 6 4 编码程序的流化过程 关于流化过程的研究是本课题的关键部分,它需要解决原有程序框架的局限 性,完成将其逐步转化为流模型的过程,同时提炼出几个表示与流模型契合度的 指标用于验证转化的有效性。最终形成的程序框架是基于流模型的、只由必要的 控制程序和计算核心组成,完全由图像数据所驱动,当所需要的数据准备好以后 就可以开始进行一个个计算核心的操作。在转换的过程中,如何无损地解决原有 程序框架的局域性是研究的重点和难点。 ( 3 ) 高清h 2 6 4 编码流模型在s t o r m 流处理器上的映射 完成流化过程以后,首先需要验证的是高清h 2 6 4 编码流模型在流处理器上 的性能。本课题选择s p i 公司的s t o r m 系列处理器为实验平台,将流模型映射其 上并进行相应的性能评测。由于流模型本身已十分适合流体系结构,因此主要工 作是通过s i m d 的方式将计算核心并行化,并且根据s t o r m 处理器的特点采用 诸如软件流水、循环展开等优化技术,尽可能提升程序的性能。 ( 4 ) 高清h 2 6 4 编码流模型的优势 高清h 2 6 4 编码流模型不仅可以在流处理器上发挥出极佳的性能,而且在其 他方面同样具有优势。这部分研究基于高清h 2 6 4 编码流模型完成在g p p 、d s p 等其他平台上的映射,进行性能评测和分析,说明流化后的h 2 6 4 编码程序同样 是适合于其他平台的一种有效的优化实现。在其他平台上进行映射时必须遵循不 改变高清h 2 6 4 编码流模型的框架结构和核心部分计算量的原则。这样才能够保 证在各平台上运行的是流化后的程序,才能保证比较的公平性。这一点是在研究 中需要特别注意的地方。 本课题工作的创新体现在以下几个方面: 对h 2 6 4 编码器程序框架的全面分析; 提出一种对高清h 2 6 4 编码器进行优化的流化方法,形成符合流模型特征 的编码器框架; 流模型契合度指标的提出。 1 4 论文组织结构 本课题研究的论文共分六章,组织结构如下: 第一章为绪论部分,通过对多方面的研究背景和国内外相关研究的分析介绍 了本文的选题意义。 第二章介绍h 2 6 4 编码器的程序框架,并利用指令p r o f i l e 工具对程序框架进 第8 页 国防科学技术入学研究生院硕十学位论文 行分析,指出原有框架在加速优化时将面临的局限性问题。 第三章提出具体的流化过程,阐述如何逐步解决原有程序框架的局限性问题, 并将其转化为符合流模型的框架。 第四章具体介绍将高清h 2 6 4 流模型映射到s t o r m 流处理器上的过程和方 法。 第五章在各平台上对高清h 2 6 4 编码流模型进行了详细的优化和评测,说明 流模型的适用性以及所带来的性能增长。 最后为结束语,总结整个课题的研究工作,并对未来工作进行了进一步展望。 第9 页 国防科学技术人学研究生院硕十学何论文 第二章h 2 6 4 编码器框架的介绍及分析 本章介绍x 2 6 4 ( 一种实现h 2 6 4 标准的编码器程序) 的程序框架,并利用指 令级的p r o f i l e 工具对其进行详尽的分析,找出原有程序框架存在的限制加速和优 化的局限性问题。同时,本章针对存在的这些局限性问题,提出相应的指标用以 表示与流计算模型的契合度,为下一步的流化工作打下基础。 2 1h 2 6 4 编码器的程序框架介绍 2 1 1x 2 6 4 编码器 h 2 6 4 作为最新的视频编码标准,研究领域和产业界都非常看好它,出现了许 多对其实现的软硬件编解码器。其中,j m 和x 2 6 4 的影响力最大。j m 3 3 】是h 2 6 4 的官方编解码器,由德国h h i 组织负责实现,实现了h 2 6 4 的所有特性,但是没 有作任何优化。其程序结构冗长,只考虑引入各种新特性以提高编码性能,忽视 了编码复杂度,其编码复杂度极高,不宜实用。 x 2 6 4 3 4 】是一个开源项目,吸引了大批热爱视频编码的成员共同完成。和j m 相比,x 2 6 4 在不明显降低编码性能的前提下,努力降低编码的计算复杂度,它的 目标是实现一个实用的h 2 6 4 编码器,所以它引入了很多m i n x ,s s e 等汇编指令来 提高编码速度,同时摒弃了一些耗时但对编码性能提高微小的模块,如多参考帧 等。综合考虑,本文选择x 2 6 4 编码器作为流化h 2 6 4 的基础程序,程序文件的组 织如图2 1 所示。 图2 1x 2 6 4 程序文件组织示意图 在x 2 6 4 的根目录下是x 2 6 4 c 等主程序文件,另外还包含了b u i l d 、c o m m o n 、 e n c o d e r 、e x t r a s 和d e c o d e r 文件夹,文件夹罩所包含文件的意义如图2 1 中的说明。 第l o 页 国防科学技术大学研究生院硕士学倚论文 其中,d e c o d e r 是解码器部分的主要文件,因为x 2 6 4 并没有完整包含解码部分, 所以这里面的文件是不参加编译的。 本课题研究是针对h 2 6 4 全高清标准( 1 0 8 0 p ,1 9 2 0 x 1 0 8 0 像素) 的编码过程, 并实现b a s e l i n e 档次上的内容,因此程序运行时输入的视频序列为1 0 8 0 p 格式的 y u v 文件,程序支持帧内和帧间编码( 使用i 帧和p 帧) ,不使用双向预测帧( b 帧) ,并采用自适应上下文的变长编码( c a v l c ) 进行熵编码,运动估计搜索范 围为3 2 x 3 2 像素区域,采用1 4 像素精度的运动矢量估计等等。具体的程序参数设 置如表2 1 所示: 表2 1x 2 6 4 编码器程序基本参数设置 ab a s e l i n ee n e o d e ro fh 2 6 4f o rp r o g r e s s i v ev i d e ow i t har e f e r e n c ef r a m e 扫描方式 p r o g r e s s i v e 分片结构s l i c e 数目可设置,初始为i s l i c e f r a m e 采样格式 y u v4 :2 :0 视频序列分辨率 1 0 8 0 p 帧内预测 i n t r a 4 x 4a n di n t r a _ 1 6 x 1 6 ( 1 3m o d e s ) 参考帧数 1 运动估计块人小 16 xl6 4 x 4 ( 7m o d e s ) 运动估计精度 1 4 - p i x e l 运动估计搜索窗口 3 2 x 3 2p i x e l s 变换块人小 4 x 4 量化u s e r - c o n t r o l l a b l eq u a n t i z a t i o np a r a m e t e r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论