基于众核平台的HEVC高清实时编码器的优化与实现——毕业论文_第1页
基于众核平台的HEVC高清实时编码器的优化与实现——毕业论文_第2页
基于众核平台的HEVC高清实时编码器的优化与实现——毕业论文_第3页
基于众核平台的HEVC高清实时编码器的优化与实现——毕业论文_第4页
基于众核平台的HEVC高清实时编码器的优化与实现——毕业论文_第5页
免费预览已结束,剩余90页可下载查看

下载本文档

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

文档简介

上海交通大学硕士学位论文 基于众核平台的 HEVC 高清实时编码器 的优化与实现 硕士研究生: 学号: 导 师 : 副导师: 申请学位:工学硕士 学科:电子与通信工程 所 在 单 位:图像通信与网络工程研究所 答 辩 日 期: 年 月 授予学位单位 :上海交通大学 上海交通大学硕士学位论文 I 基于众核平台的 HEVC 高清实时编码器的优化与实现 摘 要 视频是重要的数字信息载体,视频传输已经渗透到我们生活的方 方面面。随着视频内容增长和视频产业的迅速发展,4K 视频和 3D 视频逐渐走向商用,视频产业链面临更大压力,未来视频市场面临更 高分辨率更高要求,超出了 H.264/AVC 的编码能力范围。在此背景 下,新一代视频编码标准 HEVC(High Efficiency Video Coding)应运而 生。HEVC 标准的目标是在相同主观质量下压缩效率提升一倍,压缩 效率提升的代价是计算复杂度急剧提升,而 HEVC 主要面向高清以 上分辨率视频的编码,这给 HEVC 实时编码器的实现带来了很大的 困难。视频编码有大量的数据密集型计算,即多个数据执行相同的算 数运算,可以视为矢量计算,具有很强的并行计算特性。单指令多数 据(SIMD, Single Instruction Multiple Data)技术则是 CPU 用来处理 并行数据的计算,本文深入研究了 SIMD 技术,在 TILE-GX36 平台 上针对 HEVC 的亚像素插值和变换模块这两个核心计算模块进行 SIMD 优化实现,大幅提升编码速度。针对 HEVC 亚像素插值滤波器 复杂度很高的问题,本文设计了简化抽头数的插值滤波器,在运动估 计中使用简化的插值滤波器并通过 SIMD 优化实现, 能有效提升编 码速度同时压缩效率损失很小。针对 HEVC 的 DCT 变换复杂度高且 数据位宽较大影响数据并行度的问题,本文提出了舍入低位数据压缩 数据位宽的 SIMD 优化实现方法,能显著提升计算速度同时压缩效率 损失可以忽略不计。 本文先介绍了 HEVC 的关键技术和主要模块,分析了 HEVC 沿 用的基于块的混合编码框架(Block-based Hybrid Video Coding 上海交通大学硕士学位论文 II Framework)。在本文参与设计的 HEVC 编码代码中,亚像素插值模 块和变换反变换模块占总编码计算量的大部分,本文深入研究这两部 分模块,提出了算法优化和 SIMD 优化实现方法,大幅减少编码计算 量,实现高清 HEVC 实时编码。此外,本文在此基础上基于 TILE- GX36 众核计算平台实现了 HEVC 高清实时编码系统,该系统具有良 好的性能。 关键词:视频编解码,HEVC,SIMD,实时编码 上海交通大学硕士学位论文 III OPTIMIZATION AND IMPLEMENT OF HEVC HIGH DEFINITION REAL-TIME ENCODER BASED ON MULTI-CORE PLATFORM ABSTRACT Video information is a really important type of digital information carrier. Video transmission has permeated in every aspect of our life. With rapid development of video content and video industry, as well as 4K ultra high definition video and 3D video become more and more popular, the video industry chain are suffering more and more pressure. Higher requirements of future video markets has been getting out of H.264/AVC compression capabilities. In this context, new video coding standard HEVC (High Efficiency Video Coding) was born. The target of HEVC is to achieve 50% bitrate reduction compared with predecessor H.264/AVC. The cost of higher compression efficiency is the rapid increase of computing complexity. HEVC is mainly developed for higher definition video. They both contribute to the obstacles of real-time HEVC encoder implement. Video Coding contains lots of data-intensive computing, which means multiple data performs the same arithmetic calculation and can be viewed as a kind of vector calculation. There exits strong parallel characteristics among data. SIMD (Single Instruction Multiple data) is a type of instruction set designed for parallel data processing. In this thesis, we further studied SIMD technology and optimized sub-pixel interpolation and transform modules, which can greatly improve speed. In sub-pixel interpolation, we designed simplified filter in motion estimation by SIMD, which can significantly improve speed with little compression efficiency loss. In transform module, in order to overcome parallel limit caused by large bit width, we proposed an implementation of rounding the low bits of data by SIMD, which can significantly accelerate speed with ignorable 上海交通大学硕士学位论文 IV coding efficiency loss. In this thesis, we first give a brief review of HEVC key technologies and main modules. We study the detail of Blocked-based Hybrid Video Coding Framework of HEVC. In the codes of our implemented HEVC encoder, sub-pixel interpolation and transform module compensates large part of compression complexity. We deeply studied the key modules of high complexity and proposed algorithm optimization and SIMD optimization methods. These methods greatly improved encoding speed and reach real-time encoding requirements. After all, we build a high definition HEVC real-time encoder based on TILE-GX36 multi-core platform. This encoding system has a good performance. KEY WORDS: video coding, HEVC, SIMD, real-time 上海交通大学硕士学位论文 V 目 录 基于众核平台的 HEVC 高清实时编码器的优化与实现I 摘 要I ABSTRACTIII 第一章 绪论1 1.1 引言1 1.2 众核 CPU 简介 1 1.3 HEVC 实时编码器研究现状2 1.4 论文主要内容与章节安排3 第二章 HEVC 编码关键技术以及 TILE 平台介绍4 2.1 引言4 2.2 HEVC 编码主要模块介绍5 2.2.1 编码块的划分7 2.2.2 帧内编码8 2.2.3 帧间预测8 2.2.4 变换量化9 2.2.5 环路滤波10 2.2.6 并行技术10 2.2.7 熵编码11 2.3 HEVC 编码复杂度分析12 2.4 TILE-GX36 平台介绍 13 2.4.1 TILE-GX36 处理器简介 13 2.4.2 TILE-GX36 相关指令集简介 14 2.5 本章小结16 第三章 HEVC 亚像素插值模块的 SIMD 优化17 3.1 引言17 3.2 HEVC 亚像素插值算法简介18 3.2.1 基于离散余弦插值滤波器(DIF, DCT-based Interpolation Filter)原理介 绍18 3.2.2 HEVC 亚像素插值算法的具体实现21 上海交通大学硕士学位论文 VI 3.3 简化的亚像素插值算法26 3.3.1 亚像素插值模块的调用分析26 3.3.2 简化的滤波器系数27 3.3.3 亚像素插值简化测试28 3.4 HEVC 亚像素插值模块的 SIMD 实现28 3.4.1 HEVC 水平方向亚像素插值的 SIMD 实现29 3.4.2 HEVC 竖直方向亚像素插值的 SIMD 实现31 3.4.3 对角方向的亚像素插值的 SIMD 实现34 3.5 简化的亚像素插值滤波器的 SIMD 实现35 3.5.1 4 抽头亚像素插值滤波器 SIMD 设计35 3.5.2 2 抽头亚像素插值滤波器 SIMD 设计36 3.6 测试数据分析37 3.7 本章小结38 第四章 HEVC 变换和反变换模块 SIMD 优化40 4.1 引言40 4.2 HEVC 的变换和反变换模块40 4.2.1 离散余弦变换41 4.2.2 H.264 中的 DCT 变换42 4.2.3 HEVC 的 DCT 变换系数矩阵45 4.2.4 DCT 变换的蝶形算法46 4.3 基于 TILE-GX36 平台的 DCT 和 IDCT 的 SIMD 优化48 4.3.1 HEVC 变换反变换的具体计算流程48 4.3.2 一维 DCT 蝶形计算的 SIMD 实现49 4.3.3 误差处理50 4.3.4 点乘计算和舍入计算55 4.3.5 IDCT 的 SIMD 优化方法57 4.4 实验结果与分析57 4.5 本章小结58 第五章 基于 TILE-GX36 的 HEVC 实时高清编码器系统设计 59 5.1 引言59 5.2 基于 TILE-GX36 众核处理器的 1U 服务器平台简介 59 5.3 基于 TILE-GX36 的高清实时 HEVC 编码器的系统设计 60 上海交通大学硕士学位论文 VII 5.3.1 HDMI 数据采集 62 5.3.2 高清编码器系统框架63 5.3.3 RTP 网络数据打包发送64 5.4 实时系统问题解决及优化66 5.4.1 场景切换与 GOP 动态设置66 5.4.2 数据复制69 5.5 高清编码器测试结果分析70 5.6 本章小结72 第六章 全文总结与展望74 6.1 全文工作总结74 6.2 研究展望75 参 考 文 献76 附录英文缩略语表80 攻读硕士学位期间已发表或录用的论文82 上海交通大学硕士学位论文 VIII 图 录 图 2-1 HEVC 基于块的混合编码框架26 图 2-2 HEVC 的 CU、PU 和 TU 划分47 图 2-3 HEVC 的帧内预测模式28 图 2-4 Slice(a)、TILE(b)和 WPP(c)示意图211 图 2-5 TILE-GX36 处理器硬件架构示意图2314 图 2-6 基于 TILE-GX36 的系统抽象图14 图 3-1 J265 的 C 版本代码 profiling 结果18 图 3-2 离散傅里叶变换的对称周期拓展 19 图 3-3 DCT 重建示意图21 图 3-4 基于 DCT 的亚像素插值示意图21 图 3-5 亮度插值中整像素点和亚像素点位置22 图 3-6 HEVC 色度亚像素插值示意图24 图 3-8 编码器和解码器中调用亚像素插值分析27 图 3-9 非对齐数据装载示意图 30 图 3-10 指令 v1dotpus 示意图30 图 3-11 数据舍入操作示意图 31 图 3-12 byte 交织32 图 3-13 word 交织33 图 3-14 double-word 交织 33 图 3-15 数据转置示意图34 图 3-16 水平和竖直方向亚像素插值 SIMD 实现流程图35 图 3-17 单字节双点乘指令 v1ddotpus36 图 3-18 调用 v1dotpus 指令实现 2 抽头点乘计算 36 图 4-1 H.264 的 DCT 变换蝶形运算示意图 45 图 4-2 HEVC 的一维 DCT4 变换的矩阵计算示意图 46 图 4-3 HEVC 一维 DCT8 变换的蝶形运算图48 图 4-4 一维 HEVC 的 DCT 计算流程49 图 4-5 一维 HEVC 的 IDCT 计算流程49 图 4-6 e/o 耦合变量的计算50 上海交通大学硕士学位论文 IX 图 4-7 ee/eo 耦合变量的计算50 图 4-8 无损 DCT4 数据位宽变化示意图51 图 4-9 有损 DCT4 数据位宽操作示意图52 图 4-10 有损的 DCT 正向变换流程图53 图 4-11 改良后的有损 DCT 正向变换流程图54 图 4-12 一维 DCT 的预处理55 图 4-13 四元矢量的点乘计算 56 图 4-14 二元矢量的点乘计算 56 图 4-15 并行舍入计算56 图 4-16 数据转置57 图 5-1 搭载 TILE-GX36 处理器的 1U 服务器 59 图 5-2 搭载 TILE-GX36 处理器的 1U 服务器硬件架构4260 图 5-3 编码系统框架图61 图 5-4 多核并行计算资源分配 61 图 5-5 缓存数据的状态变化 63 图 5-6 编码器流程图64 图 5-7 RTP 报文65 图 5-8 码流 FIFO65 图 5-9 场景检测与动态 GOP 调整流程图67 图 5-10 SAD 计算的采样位置68 图 5-11 SAD 的 SIMD 并行计算68 图 5-12 SIMD 实现的数据复制70 图 5-13 SIMD 实现的数据复制和系统函数对比70 图 5-14 高清摄像机作为视频源的编码系统71 图 5-15 蓝光播放器作为视频源的编码系统71 图 5-16 调用核数和编码速度关系 72 上海交通大学硕士学位论文 X 表 录 表 2-1 HEVC 相对于 H.264 的压缩效率提升数据列表 5 表 2-2 HEVC 相对于 H.264 已有特性的改进136 表 2-3 TILE-GX36 的寄存器简介2415 表 2-4 Flynn 分类法 15 表 3-1 HM8.0 的主要模块的 profiling 结果, 1080P Basketball, QP=271417 表 3-2 HEVC 亮度亚像素插值滤波器的系数23 表 3-3 HEVC 色度亚像素插值滤波器系数24 表 3-4VC-1亮度亚像素插值滤波器的系数27 表 3-5 4 抽头亮度亚像素插值滤波器的系数27 表 3-6 2 抽头亮度亚像素插值滤波器的系数28 表 3-7 8 抽头亚像素插值 SIMD 优化效率37 表 3-8 4 抽头亚像素插值 SIMD 优化效率38 表 3-9 2 抽头亚像素插值 SIMD 优化效率38 表 3-10 亚像素插值模块在 SIMD 优化前后的编码帧率比较38 表 4-1 HEVC 的 16x16 的 DCT 系数矩阵 45 表 4-2 耦合量的计算50 表

温馨提示

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

最新文档

评论

0/150

提交评论