基于宏块运动信息的快速模式选择算法.pdf
《基于宏块运动信息的快速模式选择算法.pdf》由会员分享,可在线阅读,更多相关《基于宏块运动信息的快速模式选择算法.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、http:/-1-基于宏块运动信息的快速模式选择算法基于宏块运动信息的快速模式选择算法1 李鹏飞,刘文予,韦耿,周刚 华中科技大学电子与信息工程系,武汉(430074)E-mail: 摘摘 要:要:H.264 对变块大小运动估计采用全模式搜索的方法,极大地增加了编码的计算复杂度,针对这一问题本文提出一种快速帧间宏块模式选择算法。首先搜索当前帧间宏块内 16个 44 块的运动矢量,获取当前宏块的运动信息,再据此确定分块模式,完成后续编码。该算法通过计算率失真代价函数,有效地利用了当前宏块的运动信息,能更简单有效地选择分块模式。实验结果表明,该算法结合快速运动估计算法,在保持与全模式搜索相近编码性
2、能的同时,可节省编码时间 70%以上。关键词:关键词:模式选择,H.264,运动信息,几何结构 1引言引言 最新视频编码标准H.264采用了很多新的编码技术来提高编码性能。和以前的标准相比,在同等编码质量条件下,H.264可以节约大约50%的码率1。但这些技术也极大地增加了编码的计算复杂度,特别是在帧间宏块的模式选择和运动估计模块。对帧间宏块,H.264定义了7种编码模式,包括SKIP模式、4种帧间预测模式、以及2种帧内预测模式。如图1所示,在JM参考软件中,编码器依次遍历7种编码模式,并对其中的4种帧间模式进行精确地运动估计,选出率失真代价函数最小的模式作为最优分块模式,从而导致整个编码的计
3、算量非常大。虽然JM参考软件提供了一种快速运动估计算法(FME)来提高单个运动估计的搜索速度,但模式选择仍需遍历7种模式,整体的计算量仍很大。因此,研究模式选择的快速算法成为了一个热点问题。图 1 H.264 模式选择算法 Fig 1 the mode decision algorithm of H.264 1 本课题得到国家自然科学基金无线移动环境下复杂度可分级联合功率率失真模型(No:60572063);教育部博士点基金广义率失真理论及在无线通信中的应用(No:20040487009)的资助。http:/-2-目前,针对H.264快速模式选择方法已有不少的研究成果25。总体而言,这些方法可
4、以分为两类,一是用周围已编码宏块的模式来预测,二是用当前宏块的内部信息来判断。用周围宏块预测的方法2,只能减少候选模式的个数,并不能有效地降低计算量,不是本文研究的重点。用宏块内部信息判断的方法345,由于考虑了当前宏块的运动和纹理特征,因而能够更准确地判断分块模式。其思想主要有:预先判断是否选用SKIP模式,判断是否将大块分裂或者将小块合并,剔除部分可选模式等。上述方法通常设定了多个分支,根据相应的阈值来选择分块模式。但预先设定的阈值却很难适应变化的视频内容,判断容易出错,进而影响编码性能。本文提出一种帧间宏块的快速模式选择算法,将当前宏块内44块的运动矢量作为候选运动矢量,采用率失真代价函
5、数而非阈值作为判断准则,先选出最优的大分块方式(1616、168、816、以及88),再根据需要计算最优的小分块方式。由于代价函数综合反映了当前宏块内部的运动和纹理信息,因此模式选择更准确;而采用44块的运动矢量作为候选运动矢量来计算代价函数,避免了对每种帧间预测模式的运动估计,大大降低了编码的计算复杂度。本文内容安排如下:第 2 节介绍并分析本文提出的算法;第 3 节给出并解释实验结果;第 4 节是结论。图 2 文献6算法流程图 Fig 2 the flowchart of the reference paper 6 2提出算法提出算法 文献6指出宏块内 16 个 44 块运动矢量的分布与最
6、优分块模式间有很强的对应关系,并且最优分块模式所对应的运动矢量有很大概率出现在这 16 个运动矢量中,据此提出了一种通过 44 块的运动矢量直接判断分块模式的方法,其算法流程如图 2 所示。但文献6认为http:/-3-只在大分块方式选择了 88 模式时才计算小分块方式,而 88 模式不一定是最优的小分块方式,因此会造成分块模式的误判,影响编码性能;文献6还认为在计算小分块方式时不需再计算 88 模式的代价函数,而实际上在大分块方式选择时,88 模式的代价函数只是由少数几个候选的 44 块运动矢量计算得到,并非 88 模式最小的代价函数,故仍需通过运动估计得到。2.1 理论分析理论分析 针对文
7、献6中存在的不足,本文从分块模式的几何结构出发,提出一种改进的模式选择算法。首先将帧间预测模式分为大分块方式(1616、168、816、以及 88)和小分块方式(88、48、84、以及 44)两组。从几何结构上看,在大分块方式下各子块的分割方式都相同,组合结构简单,适合平缓运动和纹理较少的宏块;在小分块方式下允许各子块的分割方式不同,组合结构复杂,适合剧烈运动和纹理较多的宏块。如图 3 所示,88 模式可分别对应两种分块方式。两种分块方式适合不同的视频内容,因而相应率失真代价函数差别明显,可作为区分两种分块方式的准则。图 3 大小分块方式的区别 图 4 大小分块方式的联系 Fig 3 the
8、difference between big and small mode Fig 4 the relation between big and small mode 从几何结构上,小分块方式还可看作是大分块方式的细分。如图 4 所示,假设大分块方式(a)为 816 模式,小分块方式(b)为任意分割。任意小分块方式都分别将两个 816 子块进一步细分,表明其内部仍存在相对运动,不能作为整体编码。因此,判断是否需考虑小分块方式,只需判断最优的大分块方式内是否还存在明显的相对运动,也就是将最优的大分块方式和小分块方式比较。由于小分块方式可任意选择,而大分块方式内部的运动情况未知,因而选择最细小分块
9、方式(将一个宏块分为 16 个 44 小块)与最优的大分块方式比较。因此本文采用分步处理策略:首先选出最优的大分块方式,再根据需要对大分块方式进行细分。如果判断出当前宏块采用大分块方式更适合,则不需计算小分块方式,有效地减少了编码的计算量。2.1.1 大分块方式模式选择大分块方式模式选择 由于大分块方式仅有 4 种分割方式,可通过遍历方式选出最优的大分块方式。判断最优分块模式,首先需要得到各模式下最优的运动矢量。实验结果表明,最优分块模式对应的运动矢量有很大概率出现在 16 个 44 块的运动矢量中6,因此,可以用这 16 个运动矢量作为候选运动矢量来选择最优的大分块方式。选定一种模式就假定了
10、该模式下各子块内运动是一致的,而各子块间运动有差别。因此,只需选取当前子块内各 44 块的运动矢量作为该子块的候选运动矢量,参与模式选择。另外,当前子块内相等的运动矢量都对应同一个预测位置,为避免重复计算,只需选取当前子块内http:/-4-不等的运动矢量作为该子块的候选运动矢量,参与模式选择。那么,对于大分块方式的模式选择,可公式化为:)1()()(minmin1,=+=jjkkNkkMkMmvjmvdRmvSADT 其中,T 代表最优的帧间预测模式;j 代表候选帧间预测模式,j(1,2,3,4);Nj代表分块模式 j 中子块的个数;k 代表分块模式 j 中各子块的序号;Mk,j代表分块模式
11、 j 中第 k 个子块内所有 44 块中不等的运动矢量 mvk组成的集合。公式(1)的含义是:遍历候选帧间预测模式 j(1616,168,816,88),对当前分块模式 j 下第 k 个子块,将其区域内代价函数最小的 mvk作为当前子块的最优运动矢量,将其相应的代价函数作为当前子块最小的代价函数,并将各子块代价函数的和最小的分块方式作为最优的分块方式。2.1.2 大分块方式和小分块方式的选择大分块方式和小分块方式的选择 若最优大分块方式为 88 模式,表明当前宏块内存在明显相对运动,直接计算最优的小分块方式。否则,将最优大分块方式的代价函数和最细小分块方式代价函数比较。若最细小分块方式的代价函
12、数较小,则继续计算最优的小分块方式;否则,最优帧间预测模式的选择结束,用最优的大分块模式完成后续编码。由公式(1)选出的最优大分块方式,其率失真代价函数为:)2()()(minbest_modemod1=+=NkkMkMmvbigmvdRmvSADJe,kbest_k 最细的小分块方式作为小分块组合方式的代表,其率失真代价函数为:)3()()(161kMkksmallmvdRmvSADJ+=即是 16 个 44 块率失真代价函数的和,而 44 块的代价函数在搜索 44 块运动矢量时已经计算出来,此处只是简单的求和运算。由于小分块组合方式只采用一个典型小分块方式作为代表,判决存在风险。若大小分块
13、方式的代价函数差别明显,则风险可以避免;若差别不大,则可能出现误判,但由于大小分块方式的区别不明显,误判对编码性能造成的影响也是有限的。2.1.3 小分块方式模式选择小分块方式模式选择 若需要继续计算小分块方式,对每一个 88 子块,还需从 88、84、48、以及 44模式中选出一个最优的分块模式。44 模式对应的运动矢量和代价函数在搜索 16 个 44 块运动矢量时已经得到,故不再计算;而 84、48 在几何结构上相互对立,仍可用其内部 44块的运动矢量作为候选运动矢量从两种分块模式中去掉一个。两种模式的率失真代价函数分别为:)4()()(min214848,=+=kkMkMmvmvdRmv
14、SADJkk)5()()(min218484,=+=kkMkMmvmvdRmvSADJkk 将代价函数大的分块模式舍去,则每个 88 子块只需对两种小分块模式进行运动估计,http:/-5-从余下的三种模式中选出最优模式,从而有效地减少了小分块模式的计算量。2.1.4 帧间模式与帧内模式选择帧间模式与帧内模式选择 帧间宏块还需将选出的帧间预测模式与帧内预测模式比较。帧间宏块的帧内预测模式有44 大小和 1616 大小两种。若帧间预测模式选择小分块方式,表明当前宏块内部存在明显的相对运动,只需检验 44 大小的帧内预测模式;反之,若帧间预测模式选择大分块方式,则只需检验 1616 大小的帧内预测
15、模式。从而有效地减少了帧内模式选择的计算量。图 5 本文建议算法流程图 Fig 5 the flowchart of the proposed algorithm 为进一步降低计算量,在搜索得到 16 个 44 块运动矢量后,首先统计其中不等运动矢量的个数。若绝大部分运动矢量都不等,表明当前宏块内部相对运动明显,则直接计算最优的小分块模式,节省大分块模式选择的计算量。本算法设置不等的运动矢量个数大于 11 个,http:/-6-则直接计算最优小分块模式。根据上面的分析,得到算法流程图如图 5 所示。2.2 算法步骤算法步骤 step1 搜索 16 个 44 块的运动矢量。step2 统计 16
16、 个运动矢量中不等运动矢量的个数。若大于 11,直接计算最优小分块模式,转到 step5,否则转到 step3;step3 选出最优的大分块方式。其判决公式如下:)1()()(minmin1,=+=jjkkNkkMkMmvjmvdRmvSADT step4 完成大分块方式与小分块方式的选择。对于大分块,其代价函数计算公式为:)2()()(minbest_modemod1=+=NkkMkMmvbigmvdRmvSADJe,kbest_k 对于小分块,其代价函数计算公式为:)3()()(161kMkksmallmvdRmvSADJ+=if(Jsmall Jbig),转到 step5;if(Jsma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 运动 信息 快速 模式 选择 算法
限制150内