Vintion's blog

~夜黑路滑,社会复杂~

开题提纲

| Comments

一种适用于异构视频转码设备的应用层编程框架


一. 选题的背景及意义

  • 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:三种已有实现方案数据的对比,主要是针对影响视频的关键要素
  • 文献中引用的图表


Comments