一种适用于异构视频转码设备的应用层编程框架
一. 选题的背景及意义
- 1 视频转码解决方案
- 视频转码介绍
- 解决方案简介
- 2 当前主流解决方案
- 软件转码
- GPU+CPU
- 异构设备(重点讲解)
- 3. 异构视频转码设备
- 特点
- 优势:
- 可定制,异构视频转码设备主要是针对特定应用场景定制的,一般适用场景不多
- 实现的方案多,可选项多。
- 不足:
- 可移植性差,依赖特定的硬件设备。
- 可编程性差,依赖对应的底层软件接口。整个程序框架规定好了之后,几乎无法更改,除非是硬件提供者,可看到底层代码实现才能改动,用户几无编程的可能,只能在小问题上修改。
- 维护升级困难,可扩展性差。这个是基于上面两个带来的问题。
二 国内外本学科领域的现状和趋势
1. 针对于视频,国内外研究重点
- 硬件实现(开发或改进硬件的体系结构以适用于视频处理)
- 算法改进(如何用更高效的算法来处理视频)
- 提高转码速度相关研究
- 视频质量或其它细节的研究
2. 视频处理异构设备的现状和进展
- 2.1 CPU+GPU模型是主流
- 2.2 其它解决方案
- 2.3 这些研究(异构解决方案)的缺点(重点)
- 各异构解决方案太依赖于硬件提供商,底层接口差异性太大,没有一个通用统一的定义接口,导致异构设备编程因难
- 逻辑层次上,没有一个统一的解决方案,特别是应用层。
- 虽然有众多的异构设备支持OpenCL等类似语言简化编程,但硬件依赖性太大。
三,研究内容和预期目标
- 1. 研究的主要内容
- 1.1 视频转码的一般过程
- 1.2 视频转码分层思想的提出
- 1.3 视频其它处理在分层中的位置和应用 其它处理是包括大小缩放,转置,编码算法的选择,视频截取,嵌入音频等,这些可在分层的层次中指出,并具体到应用场景
- 2. 预期目标
- 2.1归纳总结出视频转码的逻辑结构,提出基于应用层的视频转码框架
- 2.2涉及的点包含主要细节 视频处理有太多的要求和细节,可能无法找到通用统一的归纳,但针对主要的细节,需要有很明确清晰的研究。比如如何处理嵌入音频,如何放大缩小视频,
- 2.3 在主要的异构平台上实现
四. 研究方法,实验方案,技术路线及可行性分析
- 1. 借鉴项目中已有成果
- Intel HD Graphics转码方案,调用的是Intel Media SDK接口,可实现多路视频实时转码。在Intel® Core™ i3-3110M CPU @ 2.40GHz处理器上(显示核心是Intel HD Graphics 4000基本频率650MHz),可实现5路1080p实时转码(h264转h264)
- Ffmpeg开源转码框架,其中H.264格式视频编码,改写成调用Intel HD Graphics硬件编码方案,即为此编写硬件编码器
- Godson-dm芯片,使用的是Coda980编程接口
2. 本文主要作用和创新点
- 2.1 在应用层面上,提出了一种视频转码的通用框架,而在底层及各异构模型的具体实现则不关注
- 2.2 针对应用层的编程框架,定义主要的接口和协议,实现视频转码
3. 主要内容:
- 3.1 归纳出视频处理的一般流程和要点
- 3.2 总结一套类似协议的编程框架,类比于网络中的应用层
- 3.3 定义主要的接口和实现细节
- 3.4 在几种主流异构设备上实现
- 3.5 对比各设备中视频转码的数据,分析并修正各接口与实现
4. 视频转码的一般逻辑
- 异构视频设备初始化
- 资源的初始化
- 视频处理(循环步骤)
- 1.读取源视频
- 2.解封装,分析视频格式,大小,码率等相关信息
- 3.调用对应的解码器,将相关信息存入对应的结构体中,保存下来
- 4.对视频部分解码 (这个步骤重点描述)循环部分
- 5.读入编码信息,设定编码器参数和格式
- 6.调用编码器编码
- 7.封装相关数据,包括音频和文字
- 8.结束
- 资源回收
- 关闭设备
5. 实验方案
- 5.1 归纳实现现在项目中的三种异构设备,得到主要评估数据
- 5.2 通过对三种异构设备提供的底层接口,定义应用层的接口,并实现其中的几种
五,已有的科研基础和科研条件
1.本人已有研究成果
- Intel HD Graphics转码方案,
- Godson-dm芯片,使用的是Coda980
- Ffmpeg视频开源解决方案
2.现有成果需要整理
- 以上三种解决方案的相关数据,包括硬件要求,平台,环境,操作系统,转码速度,格式支持,视频质量相关等
3. 总结归纳
- 针对以上大约四种异构转码解决方案,分别总结出各种解决方案应用层的实现方法
- 定义相关条件和接口要素,并在四种方案中找到对应的接口实现
4. 后续研究
- GPU转码,使用OpenCL编程框架,调用Nvadia的Cuda接口来实现转码
- 其它异构视频解决方案
- 比较异同
六,工作计划和进度
1.几个时间点
- 9月前开题
- 12月中期
- 第二年5月答辩,6月毕业
2.计划安排
- 从开题到中期阶段,总结归纳已有成果,并收集得到相关数据。调研最新技术,大体有论文雏形。
- 中期之后,可根据已有的结论成果,应用于其它异构平台。主要是GPU+OpenCl编程框架中。并研究细节问题,丰富论文内容。
- 撰写论文,参考查阅文献,修改论文
七,参考文献
八,需要制作的图表
(论文中需要用到的并制作的)
- 图:
- 图1: 视频处理层次图(从底层硬件一直到上层应用)
- 图2: 应用层视频处理逻辑层(仅针对应用的逻辑结构,重点)
- 图3-5: 针对具体的某一个实现,比如coda980,Media SDK,ffmpeg的实现,这三个图,需要根据图2的框架,具体到接口和定义上(重点)
- 图6:GPU+OpenCL编程框架,这个图是根据自己的论文来制作
表
- 表1:主流异构视频转码方案和应用场景,平台等
- 表2:三种已有实现方案的对比,主要是接口的对比,以图3-5为依据
- 表3:三种已有实现方案数据的对比,主要是针对影响视频的关键要素
文献中引用的图表