发明名称 HEVC帧内编码单元快速选择方法
摘要 本发明提供一种HEVC帧内编码单元快速选择方法。由于用绝对误差和SAD近似得到的每个CU的率失真代价与CU的非归一化的梯度直方图有关。两个相等尺度的CU,其非归一化的梯度直方图相似程度越高,分割标识符越有可能相等。本发明使用基于非归一化的梯度直方图的模板匹配方式来实现CU的快速选择,从而提高HEVC帧内预测方法的编码速度的方法。利用非归一化的梯度直方图作为特征来判断每个CU是否需要分割成四个更小的CU。在满足模板匹配的条件下,省去了逐一比较编码率失真代价的步骤。
申请公布号 CN102917225B 申请公布日期 2015.10.28
申请号 CN201210411951.9 申请日期 2012.10.25
申请人 电子科技大学 发明人 李宏亮;熊健
分类号 H04N19/567(2014.01)I 主分类号 H04N19/567(2014.01)I
代理机构 电子科技大学专利中心 51203 代理人 李明光
主权项 HEVC帧内编码单元快速选择方法,其特征在于,包括以下步骤:步骤1、在当前编码帧中依次提取的待预测的最大编码单元LCU中,从最大编码尺度对应的深度对该LCU开始进行编码单元尺度判断;步骤2、计算当前编码帧中在当前深度i下的第k个编码单元<img file="FDA0000724246300000011.GIF" wi="77" he="78" />的非归一化梯度直方图,判断在当前编码帧中当前深度i下已编码的分割标识符为分割split的编码单元数目<img file="FDA0000724246300000012.GIF" wi="65" he="73" />以及分割标识符为不分割unsplit的编码单元数目<img file="FDA0000724246300000013.GIF" wi="68" he="73" />是否均大于等于预设的模板匹配启动门限N,如否,进行基于率失真代价的编码单元尺度判断,即进入步骤3;如是,进行基于模板匹配的编码单元尺度判断,即进入步骤4;步骤3、基于率失真代价的编码单元尺度判断步骤:对当前深度i下的编码单元<img file="FDA0000724246300000014.GIF" wi="76" he="78" />分别进行unsplit方式编码、split方式编码,比较两种编码方式的率失真代价大小,选择率失真代价较小的方式为分割标识符赋值;当编码单元<img file="FDA0000724246300000015.GIF" wi="82" he="76" />的分割标识符赋值为unsplit,则进入步骤5;如编码单元<img file="FDA0000724246300000016.GIF" wi="78" he="81" />的分割标识符赋值为split,则进入步骤6;步骤4、基于模板匹配的编码单元尺度判断步骤:将编码单元<img file="FDA0000724246300000017.GIF" wi="72" he="78" />的非归一化梯度直方图与当前编码帧中当前深度i下已编码的编码单元的非归一化梯度直方图进行匹配,找出与编码单元<img file="FDA0000724246300000018.GIF" wi="78" he="77" />最相似的设定数x个已编码的编码单元;判断x个已编码的编码单元的分割标识符是否全部相同,如否,返回步骤3;如x个已编码的编码单元的的分割标识符均为unsplit,则对编码单元<img file="FDA0000724246300000019.GIF" wi="76" he="78" />进行unsplit方式编码并对应编码方式下的计算率失真代价,再进入步骤5;如x个已编码的编码单元的的分割标识符均为split,对编码单元<img file="FDA00007242463000000110.GIF" wi="68" he="78" />进行split方式编码并计算对应编码方式下的率失真代价,再进入步骤6;其中,x≤N;步骤5、保留以unsplit方式编码的率失真代价以及编码信息,更新当前编码帧中当前深度i下已编码的分割标识符为unsplit的编码单元数目<img file="FDA00007242463000000111.GIF" wi="214" he="77" /><img file="FDA00007242463000000112.GIF" wi="63" he="74" />初值为0;步骤6、保留以split方式编码的率失真代价以及编码信息,更新当前编码帧中当前深度i下已编码的分割标识符为split的编码单元数目<img file="FDA00007242463000000113.GIF" wi="202" he="73" /><img file="FDA00007242463000000114.GIF" wi="67" he="73" />初值为0;判断当前深度i是否为编码尺度8x8对应的深度,如当前深度为编码尺度8x8对应的深度,再进一步判断当前LCU在当前深度下是否还有需要尺度判断的编码单元,如是,更新k=k+1,返回步骤2,如否,进入步骤7;如当前深度不为8x8对应的深度,则更新当前深度i=i+1,返回步骤2;步骤7、判断当前LCU中是否还有未编码完成的编码单元,如是,更新当前深度i为下一个未编码完成的编码单元的尺度对应的深度,如否,当前LCU编码完成,进一步判断是否到达当前编码帧的帧尾,如到达帧尾,则当前编码帧编码结束,如未到达帧尾,返回步骤1。
地址 611731 四川省成都市高新区(西区)西源大道2006号