数字视频技术论文-多视点视频编解码_第1页
数字视频技术论文-多视点视频编解码_第2页
数字视频技术论文-多视点视频编解码_第3页
数字视频技术论文-多视点视频编解码_第4页
数字视频技术论文-多视点视频编解码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、多视点视频编解码吕永超 摘要 与二维视频编码有所不同,多视点视频编码还存在不同视点间 的空间冗余,因此除了进行运动估计和运动补偿外,还需要对立体视频 进行视差补偿预测,来消除视点间的空间冗余,提高视频压缩的效率。 大模块所占比率大,耗时少,小模块所占比例小,但是耗时多。而且, 立体视频编码中,小模块模式相对于平面视频编码所占的比例更少,这 也说明了立体视频编码中模式选择的重要性。JMVC测试模型遍历所有模式然后选择最优编码模式,致使编码速度低下。我们通过快速模式选择, 尽可能的减少小模块模式的预测,在保证图像质量和压缩效率的基础上, 大幅度的提高了立体视频编码速度。CPU单独解码效率较低,最多

2、仅能 支持6个视点1280X720P格式的高清视频实时解码。而基于本文提出的 CPU和GPU混合解码技术,由于IDCT和彩色空间变换这些并行运算均有 GPI完成,充分发掘了当前GPU勺特点,CPU主要负责解码控制类型的 运算,整体解码运算效率较高,可以实时解码 8个视点的1280X720P格 式的高清视频。 关键词 多视点视频 快速帧间模式选择 IDCT 和图像彩色空间变换目录第一章 绪论 1第二章 多视点视频编码 12.1 多视点视频编码原理 12.2 视频编码方案 22.3 立体视频运动估计搜索算法 32.4 快速帧间模式选择 32.5 本章小结 3第三章 基于GPU和CPU昆合运算的解码

3、技术 43.1 IDCT 运算在 GPL上实现的基本原则 43.2图像彩色空间变化在 GPL上的实现 43.3 本章小结 4参考文献 5第一章绪论立体视频压缩与平面视频压缩的主要区别在于立体视频压缩利用了视点间的视差信息进行编码,大幅度的提高了压缩率,从而也解决了立体视频庞大数据信息的存储和传输问题。编码优化包括快速运动估计搜索算法的实现以及快速帧间模式选择算法的实现,它们都是在保证立体视频编码质量的前提下,提高立体视频的编码速度。解码器移植包括PC端和WM手机端实现H.264解码并显示。视频编码框图,主要包括参考帧管理,运动估计,模式选择,变换,量化,重排列和嫡编码 几个部分。JMVC是通过

4、参考帧管理实现进行运动估计和视差估计的,从而确保了视频编码的高 效率。本文主要工作集中在虚线框中的运动估计和模式选择部分,在帧间预测时通过实现SUMHexagon Search算法提高运动搜索的速率,在模式选择部分进行快速模式选择,提前判断最 优模式,降低编码复杂度,从而提高编码速率。变换一般是用来去除图像信号中的相关性并减 少图像编码的动态范围,量化则是用来减少图像编码长度,减少图像恢复中不必要的信息,二 者的目的都是降低码率,实现图像压缩。嫡编码是无损压缩,解码时能够无失真的恢复原数据, 它实现了图像信息到数字信号的转换。第二章多视点视频编码本章首先介绍了多视点视频编码原理方案和立体视频运

5、动估计搜索算法;然后详细介绍了快速帧间模式选择。2.1多视点视频编码原理多视点视频编码原理如下图所示,ME代表运动估计,DE代表视差估计,MD弋表模式选择,T代表变换,Q代表量化,R代表重排列,E代表嫡编码,代表反变换,代表反量化。以两视点为例,进行立体视频编码。(1) 第一视点按照二维视频编码 (H.264的步骤进行编码。(2) 第二视点第一帧,采用帧内预测的同时,以第一视点第一帧为参考进行视差补偿预测,并存 储视差矢量和残差。(3) 第二视点非第一帧,以第二视点己编码帧为参考进行运动补偿预测,遍历所有模式,记录最优预测块的运动矢量 MV 1、残差D开销COST1然后以第一视点同一时间的图像

6、为参考进行视差 补偿预测,遍历所有模式,记录最优块的视差矢量DV2残差D2及开销COST2选择开销最小的模式为最佳编码模式,记录矢量和残差。借鉴单视点视频编码的运动补偿技术来实现视差补偿,消除视点间的冗余信息。具体实现方法 如下:首先将视点间的参考图像和同一视点编码的参考图像统一放入参考图像列表进行管理,然后利用匹配算法搜索得到最佳匹配块,接着将当前编码块和预测块做差值,得到残差和矢量(MV/DV),最后对残差进行压缩编码。这也是JVT推荐的测试模型 JMVC中使用的处理方法。2.2 视频编码方案JMVC测试模型在立体视频压缩方面有着高效的压缩效率及优良的参考帧管理机制。我们选择使用JMVC测

7、试模型进行立体视频压缩,但是其编码速度极其缓慢,我们就必须进行JMVC编码速率优化。本 文主要从运动估计搜索算法和快速模式选择算法两个方面着手,实现编码速率的提高。2.3 立体视频运动估计搜索算法几种常见的搜索算法有 : 全局搜索算法、三步搜索法、菱形搜索法、以及复合搜索算法等。由 于物体的运动千变万化,很难用一种简单的模型去描述,所以实际上大多采用多种搜索算法的 组合方式,即复合搜索算法。采用符合搜索算法可以很大程度上提高预测的编码效率和性能。2.4 快速帧间模式选择在立体视频编码过程中,由于视差估计的存在,使得模式8x8, 8x4, 4x8,4x4 所占比例减少,但是这些小预测块消耗的时间

8、最长。因此我们为了大幅度缩短编码时间,必须进行帧间模式的 快速选择,尽可能的减少小预测块的遍历。视频图像的内容可以粗略分为3 种:平坦背景区域、复杂背景区域、运动区域。背景区域在视频中占有较大的比例,我们选用较大的预测块(如 16x16,16x8,8x16) ,这也意味着用于表示运动矢量和分割区域类型的比特会比较少。而对于运动区域,它所占的比例小,同时我们必须选用 较小的预测块或者 intra 预测,这也意味着用于表示运动矢量和分割区域类型的比特会比较多, 并且搜索过程耗时比较长,视差补偿预测的引用运动区域的“转变”,使得小模块预测比例更 小。如果能够较早的判断当前宏块是较大预测块还是较小预测

9、块,就能够大幅度缩短编码时间。(1) 利用率失真损耗模块越小,搜索时间越长,我们应当尽可能少的遍历小模块模式。1. 对16x16模块进行运动估计,并判断是否为SKIP模式。若为是,则不进行其他模式的预测2. 计算 16x8, 8x16 模块的率失真损耗,若 16x16 模块的率失真损耗小于这两种模式,则认为 采用大模块预测,不进行 8x8, 8x4, 4x8 模块预测 ;3. 计算 8x8, 8x4, 4x8 子块的率失真损耗,若 8x8 的率失真损耗小于 8x4,4x8 模块,则不进 行 4x4 模块预测 ;4. 择率失真损耗最小的模块作为最优模式进行编码。(2) 利用细节块能量通过计算细节

10、块能量,提前判断宏块是采用大尺寸还是小尺寸模式进行编码,能够降低计算 复杂度,缩短编码时间。1. 对16X16模块进行运动估计,并判断是否为SKIP模式。若为是,则不进行其他模式的预测32,2将16x16分成4个8x8的块,通过DCT变化系数计算其细节程度,当高细节块数目大于并且尺 6X16 0.7 时,认为当前宏块要进行小模块模式预测,否则,只进行大模块模式预测(16x16, 16x8, 8x16)3. 计算8x8模块的4个4X4DCT系数块的能量,当细节块数目大于2,并且尺Xs 0.7时,认为要进行 4x4 模块的预测,否则只进行 8x8, 8x4, 4x8 模式预测。4. 选择率失真损耗

11、最小的模块最为最优编码方式进行编码。(3) 利用运动矢量较大预测块预测说明用来表示运动矢量和分割区域的比特比较少,较小预测块预测说明用来 表示运动矢量和分割区域的比特较多。如果两种预测块的运动矢量相等,那么我们就采用较大预测块进行预测。以 16x16, 16x8, 8x16 为例,相同时,我们就可以认为当前块为大模块模式,采用1. 对 16x16 模块进行运动估计,并判断是否为2. 进行 16x16, 16x8, 8x16 模块预测,并比较相等时,则采用 1 6x1 6模式进行编码。否则跳转16x16 的运动矢量和 16x8, 8x16 的运动矢量 16x16 进行编码。SKIP 模式。若为是

12、,则不进行其他模式的预测3种模式的运动矢量,当 3种模式的运动矢量3;43. 进行 8x8, 8x4, 4x8 模块预测,如果运动矢量相等,则不进行 4x4 模块预测 ;4. 选择率失真损耗最小的模块最为最优编码方式进行编码。经过试验测试,这种方法比较适合单一参考帧的情况,对于立体视频编码效果不太理想,只有SKIP 模式判断提高了编码速度,这是因为立体视频编码中绝大部分都是B-Slice ,并且参考帧为视点间参考,利用运动矢量判断约束条件太多,提高的编码速度不理想。2.5 本章小结一般而言,一个编码器主要包括 5 个基本功能模块 : 帧间和帧内预测、变换和反变换、量化和 反量化、环路滤波、熵编

13、码。与二维视频编码有所不同,立体视频编码还存在不同视点间的空间冗余,因此除了进行运动 估计和运动补偿外,还需要对立体视频进行视差补偿预测,来消除视点间的空间冗余,提高视 频压缩的效率。大模块所占比率大,耗时少,小模块所占比例小,但是耗时多。而且,立体视频编码中,小 模块模式相对于平面视频编码所占的比例更少,这也说明了立体视频编码中模式选择的重要性。 JMVC测试模型遍历所有模式然后选择最优编码模式,致使编码速度低下。我们通过快速模式选 择,尽可能的减少小模块模式的预测,在保证图像质量和压缩效率的基础上,大幅度的提高了 立体视频编码速度。第三章 基于GPU和CPU昆合运算的解码技术本章详细介绍了

14、使用于立体视频解码的IDCT和图像彩色空间变换的GPU实现方法。3.1 IDCT运算在GPU上实现的基本原则国内外学者己经研究了很多年基于CPU等通用处理器的快速二维 DCT/IDCT算法。传统的基于CPU的IDCT快速算法中,基本思想是利用加法和移位操作来代替乘法操作。但是这些算法的运 算结构类似于FFT的蝶形运算,它会导致每个参与变换的点都经过不同的计算路径,这与GPU要求对海量的输入数据执行相同的操作是相违背的,对于GPU来说,这种传统的算法都是不合适的。所以本文认为要在GPU上实现IDCT算法,最合适的还是采用类似矩阵相乘的算法。因为基于矩阵乘法的IDCT算法对于每个块中的每个数据来说

15、会经历相同的计算流程,这是相当符合GPU勺工作特性的。Y=K*F* 就是采用矩阵相乘的IDCT变换公式其中,K是变换核矩阵,F是输入数据,Y是输出数据。讣凳分斛图3.2图像彩色空间变化在 GPU上的实现颜色空间变换的算法非常简单,只要按照下式进行计算即可。R=Y+128+1.402CrG=Y+128-0.34414Cr-0.71414CbB=Y+128+1.772Cb这种算法本身对于每个像素的计算都是独立的,因此很适合使用GPU来并行运算。最简单的方法就是利用GPL数据多通道的特性,依次把YCbCr放入同一个像素的不同通道来输入。这样不用做任何额外的纹理访问或纹理坐标变换操作,即可完成颜色空间

16、变换的计算。对于多视角立体视频解码来说,多个视点的图像彩色空间变化是相互独立的,可以并行处理。这里本文提出可以将多个视点解码得到的YUV图像拼接成一幅图像,存入纹理后通过一次渲染运算得到所有视点的图像彩色空间变换结果。由于GPU的并行运算特性,这种方法不但能够减少GPU和CPU的数据互交次数,而且也很大程度的提高了多视角视频图像彩色空间变换的整体效率。3.3本章小结CPU单独解码效率较低,最多仅能支持6个视点1280X720P格式的高清视频实时解码。而基于本文提出的CPU和GPU昆合解码技术,由于IDCT和彩色空间变换这些并行运算均有GPU完成,充分发掘了当前 GPU的特点,CPU主要负责解码

17、控制类型的运算,整体解码运算效率较高,可以 实时解码8个视点的1280X720P格式的高清视频。参考文献1 羊飞帆,多视点视频编码方案及其差错控制技术的研究,科技传播,20122 周晓亮,基于感知的多视点彩色深度视频联合编码方案,宁波大学,20123 占涛,基于 MPEG-2 的多视点编码及对象分割技术研究,安徽工业大学, 20114 袁振,多视点立体视频编解码算法的研究与应用,天津大学, 20105 严恺,多视角立体视频编解码的关键技术研究,上海交通大学, 20106 陈芳民,立体视频编解码及流式传输研究,北京邮电大学, 20137 陈海棠,多视点视频编码和虚拟视点合成技术的研究,南京邮电大学, 20108 陈晶晶,多视点立体视频

温馨提示

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

评论

0/150

提交评论