国产飞腾处理器的视频解码技术研究
发布时间:2019-09-28 02:27
【摘要】:近年来,随着人们对高清视频产品需求的日益增加,视频编码技术得到了飞速的发展,视频的压缩比率越来越高,画质越来越清晰,但解码所需的数学和逻辑运算量也越来越大。如果使用电脑上的视频播放器直接利用CPU进行解码,那么CPU的占用率将会非常高,播放高清视频的时候画面不流畅,甚至无法播放,系统的也无法进行任何其他操作。为了解决这一问题,人们将CPU的一部分解码工作负载到GPU中去,由GPU来完成解码任务,以此减少CPU的占用率,提高系统性能并降低能耗。本文主要是基于国产化飞腾处理器平台上的高清视频解码播放的相关研究工作。飞腾处理器具有多任务并发处理能力强、单核处理性能偏弱,且无多媒体指令支持的特性。传统的软件视频解码技术并不适用于国产飞腾处理器的计算机平台,解决国产飞腾处理器计算机平台上的高清视频播放问题,有助于国产化飞腾平台应用的推广和提高飞腾视频解码的性能。首先,本文采用软件多线程并行解码方案,针对高码率的高清视频解码,结合FT 1000A系统芯片异构多和特性,将视频串行解码优化为并行解码处理,依据不同的划分方式,将解码过程划分为功能并行和数据并行,实现了国产化飞腾平台上的多线程并行解码优化方案。其次,本文结合UVD视频硬解码通用引擎新技术与VDPAU视频硬解码接口技术,设计出国产化飞腾平台上的GPU高清视频硬件解码方案,通过该方案实现对多格式高清视频硬件解码加速的支持。并基于上述框架设计,以及飞腾平台上视频硬件解码的实现面临的大小端字节序转换与页表长度对齐等问题,实现了飞腾平台上高清视频的低成本、低功耗硬件解码播放。最后,本文基于FT 1000A软硬件环境,对实现的高清视频解码方案的功能和性能进行了评测。实验结果表明:在飞腾平台上采用多线程技术的解码方案,与基于单核处理器的软件解码相比,性能可提升20%以上,但解码23fps的1080P高清视频的CPU占用率仍处于50%以上,性能优化不理想。而采用基于VDPAU的GPU硬件视频解码方案解码1080P高清视频,其CPU占用率可以控制在30%以下,性能大幅提升。
【图文】:
图2.10 FT1000A四核 CPU占用率由上表数据可知,随着计算机核数的增加,当 N=1,2,4 时解码速度依次递减 N=4 时解码速度达到最优值。当 N>=4 时解码速度与 N=4 基本相当,有轻高。多核处理器通过增加执行单元,结合多线程编程的并行处理方法,可以在范围内显著提升系统的运行效率,但是系统的运行效率并不会随着 CPU 的不加而无限提升。在多核 CPU 中,单线程程序的图像处理速度取决于最高速度的 CPU,其在程序运行期间得不到充分的利用;多线程程序的图像处理速度取决于线程核数间的最小值。当核数大于线程数时,图像解码的速度取决于线程数,其使用的核数为线程数值;当线程数大于核数时,系统将各个线程优化到各个,图像解码的速度只取决于核数。将多线程技术应用在高清视频解码中,,可分利用多核计算机的资源,提高视频解码效率。由以上测试结果分析可以得出,多线程并行解码的 CPU 占用率虽有一定,但 CPU 占用率仍在 50%以上,对系统系能的提升并不明显,系统性能处
面例子只写一个寄存器,其值为 0。31~30bit 为包类型标识符,0 型数据包的类型标识符为 0,其 30bit 为 PACKET_TYPE0(0x0)。图4.5 类型 0 命令包结构2)1 型命令包1 型命令包用于写两个寄存器,部分寄存器使命令无法访问到,这个时候需要使用 0 型命令。1 型命令包主体为分别向包头定义的两个寄存器写入的值。1型命令包包头定义如下表 4.4:表4.4 1 型命令包包头定义BITS Field Name Description10:0 REG_INDEX1 第一个寄存器的地址21:11 REG_INDEX2 第二个寄存器的地址29:22 RESERVED 保留位31:30 TYPE 1 型命令包的类型为 0x1由于 1 型命令包可以用 0 型命令包代替,而且 1 型命令包并不能访问到所有寄存器,在本文 3.10 内核 Radeon驱动中没有使用 1 型命令包。图4.6 类型 1 命令包结构3)2 型命令包2 型命令包是一个空命令包,用于填充对齐命令。2 型命令包没有包主体,其
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP332
本文编号:2543044
【图文】:
图2.10 FT1000A四核 CPU占用率由上表数据可知,随着计算机核数的增加,当 N=1,2,4 时解码速度依次递减 N=4 时解码速度达到最优值。当 N>=4 时解码速度与 N=4 基本相当,有轻高。多核处理器通过增加执行单元,结合多线程编程的并行处理方法,可以在范围内显著提升系统的运行效率,但是系统的运行效率并不会随着 CPU 的不加而无限提升。在多核 CPU 中,单线程程序的图像处理速度取决于最高速度的 CPU,其在程序运行期间得不到充分的利用;多线程程序的图像处理速度取决于线程核数间的最小值。当核数大于线程数时,图像解码的速度取决于线程数,其使用的核数为线程数值;当线程数大于核数时,系统将各个线程优化到各个,图像解码的速度只取决于核数。将多线程技术应用在高清视频解码中,,可分利用多核计算机的资源,提高视频解码效率。由以上测试结果分析可以得出,多线程并行解码的 CPU 占用率虽有一定,但 CPU 占用率仍在 50%以上,对系统系能的提升并不明显,系统性能处
面例子只写一个寄存器,其值为 0。31~30bit 为包类型标识符,0 型数据包的类型标识符为 0,其 30bit 为 PACKET_TYPE0(0x0)。图4.5 类型 0 命令包结构2)1 型命令包1 型命令包用于写两个寄存器,部分寄存器使命令无法访问到,这个时候需要使用 0 型命令。1 型命令包主体为分别向包头定义的两个寄存器写入的值。1型命令包包头定义如下表 4.4:表4.4 1 型命令包包头定义BITS Field Name Description10:0 REG_INDEX1 第一个寄存器的地址21:11 REG_INDEX2 第二个寄存器的地址29:22 RESERVED 保留位31:30 TYPE 1 型命令包的类型为 0x1由于 1 型命令包可以用 0 型命令包代替,而且 1 型命令包并不能访问到所有寄存器,在本文 3.10 内核 Radeon驱动中没有使用 1 型命令包。图4.6 类型 1 命令包结构3)2 型命令包2 型命令包是一个空命令包,用于填充对齐命令。2 型命令包没有包主体,其
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP332
【参考文献】
相关期刊论文 前8条
1 刘其军;罗明宇;付燕平;归强;;基于VDPAU的GPU多视频解码[J];计算机系统应用;2013年12期
2 吴玲达;吕雅帅;杨超;赵忠文;;国产基础软硬件集成应用攻关关键技术研究[J];装备学院学报;2013年05期
3 邹彬彬;梁凡;;一种基于CPU+GPU的AVS视频并行编码方法[J];上海大学学报(自然科学版);2013年03期
4 王海峰;陈庆奎;;图形处理器通用计算关键技术研究综述[J];计算机学报;2013年04期
5 朱豪杰;韩俊刚;邓军勇;吴成茂;;GPU命令处理器的存储管理单元设计[J];西安邮电大学学报;2013年01期
6 卢风顺;宋君强;银福康;张理论;;CPU/GPU协同并行计算研究综述[J];计算机科学;2011年03期
7 郑君君;刘连芳;;视频编码标准的发展和研究[J];计算机技术与发展;2007年05期
8 许俊贤;张祥;李童;;SPARC体系结构[J];计算机研究与发展;1990年11期
本文编号:2543044
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2543044.html