法律状态公告日
法律状态信息
法律状态
2017-01-25
授权
授权
2014-06-25
实质审查的生效 IPC(主分类):H04N19/96 申请日:20140128
实质审查的生效
2014-05-21
公开
公开
技术领域
本发明涉及视频编码领域,具体涉及一种基于编码单元深度时空相关 性的快速HEVC编码方法。
背景技术
近年来,伴随着高清和超高清(3840×2160或7680×4320)视频的发展, H.264/AVC视频压缩标准的压缩效率已经无法满足这些视频的传输和存储 需求。
为了进一步提高视频压缩效率,MPEG和VCEG组织于2010年成立了 视频编码联合协作小组(JCT-VC),共同开发下一代视频压缩标准。新一 代视频压缩标准称为HEVC,于2013年初正式发布。
作为最新的视频压缩标准,HEVC能够在占用H.264/AVC高级层(high profile,HP)编码一半码率的条件下,提供与其质量相同的码流,新的视 频标准为高清和超高清视频数据的网络传输、存储等铺平了道路。
与以前的视频压缩标准相比,HEVC继承了混合编码的基本框架,同 时还提供了更多高效的视频压缩工具,包括编码单元(coding unit,CU) 中递归式的四叉树块划分结构、更多的帧内预测模式、高效的参考帧管理、 一种新的环内滤波器(sample adaptive offset,SAO)等。这些新的编码工 具在提高编码效率的同时,也极大地增加了编码器的复杂度。根据配置的 不同,HEVC编码器的复杂度为H.264/AVC HP编码器复杂度的2-3倍,其 中编码器为了获得最佳CU四叉树块划分而采用的全深度搜索方法消耗了 大量的计算资源,这严重阻碍了HEVC编码器的的应用。
目前已经有一些研究者针对HEVC编码器中CU四叉树块划分复杂度 过高的问题,提出了快速算法。Kim等通过统计率失真代价在不同量化参 数下的特性,设置每层CU是否向下划分的阈值,当CU的率失真代价小于 设置阈值时,CU不进行划分。Wang等利用当前CU的残差平均值判断CU 是否继续划分,当残差平均值小于设定的阈值时,CU不进行划分。这些 算法都是基于阈值的,算法稳定性不强。Shen等提出了一种利用贝叶斯决 策规则来判断CU是否继续划分的方法,对于某一类视频算法效率高,对 于另外一类视频算法效率低。Kim等提出了一种利用周边SKIP模式CU的 率失真代价提前判断当前CU是否为SKIP模式的方法。Shen等利用CU的深 度时空间相关性以及CU层间信息相关性,跳过当前CU编码过程中很少使 用的块划分方式。
Gweon等通过检查coded_block_flag的情况决定是否提前终止CU编 码。Choi等通过判断当前CU是否为SKIP模式决定是否继续对子CU进行编 码。Yang等提出了一种类似于H.264/AVC参考编码器所采用的SKIP模式检 测算法。这三种算法能够有效的降低编码器复杂度,这些算法都被HEVC 标准编码器采用。
Lee等利用前一帧中同一位置的CU与当前CU的块划分相关性,跳过当 前CU中的某些划分,但是该方法只利用了CU与前一帧同一位置CU时间上 的相关性,若能充分挖掘编码单元的时间和空间的相关性,编码器复杂度 还能进一步降低。
发明内容
本发明提供了一种基于编码单元深度时空相关性的快速HEVC编码方 法,利用编码单元之间深度单一性的特点,缩小编码单元的深度搜索范围, 在保证率失真性能的同时,降低编码复杂度。
一种基于编码单元深度时空相关性的快速HEVC编码方法,包括以下 步骤:
(1)输入原始编码序列;
(2)提取已完成编码的编码单元的深度;
(3)若当前编码单元的深度小于深度阈值,利用前一帧中两相邻编 码单元的深度关系,缩小当前编码单元的深度搜索范围,规则如下:
若前一帧中两相邻编码单元的深度分别为DL_co和DCo,当前帧中位置 对应的两相邻编码单元的深度分别为DL_cr和DCr、,则:
a、若DL_co<DCo,则利用深度单一性特点确定DCr的范围;
b、若DL_co=DCo,则在预定范围内搜索DCr的深度;
c、若DL_co>DCo,则利用深度单一性特点确定DCr的范围;
(4)在步骤(3)所得的深度搜索范围中,按照从小到大的顺序搜索 深度,至最大深度后结束深度搜索;
步骤(3)中依据规则将深度搜索范围缩小,所述步骤(4)中,对于 深度搜索范围中的每个深度,进行当前编码单元的帧内和帧间划分模式评 估,选择最佳的划分模式。
(5)依据步骤(4)搜索得到的深度,确定最佳编码树单元划分,然 后进行HEVC编码。
HEVC的编码树单元(Coding Tree Unit,简称CTU)相比传统的H.264 划分了更大的块,最大划分为64×64的块,本发明中所述的缩小深度搜索 范围的方法适用于64×64的块和32×32的块,分别对应64×64编码单元 (也称编码树单元)和32×32编码单元。
也就是说,所述步骤(2)中的编码单元为64×64编码单元或32×32编 码单元,64×64编码单元的深度范围为0、1、2或3;32×32编码单元的深度 为范围1、2或3。
针对64×64编码单元而言,不进行划分,则深度为0;划分为32×32编 码单元,则深度为1;至少一个32×32编码单元划分为16×16编码单元,则 深度为2;至少一个16×16编码单元划分为8×8编码单元,则深度为3。
针对32×32编码单元而言,不进行划分,则深度为1;划分为16×16编 码单元,则深度为2;至少一个16×16编码单元划分为8×8编码单元,则深 度为3。
由于本发明适用于64×64编码单元和32×32编码单元,因此,所述深 度阈值为2,即深度为0或1时,适用于本发明所述的方法,若深度为2或3, 则采用现有的标准HEVC编码方法。
若DL_co=DCo,可以依据现有技术中的深度搜索策略进行搜索,也可以 依据一定规则,缩小搜索范围,下面对64×64编码单元和32×32编码单元 缩小深度搜索范围的规则分别进行描述。
若编码单元为64×64编码单元,则利用前一帧中两相邻编码单元的深 度关系,缩小当前编码单元的深度搜索范围,规则如下:
若前一帧中两相邻编码单元的深度分别为DL_co和DCo,当前帧中位置 对应的两相邻编码单元的深度分别为DL_cr和DCr、,则:
若DL_co<DCo,DL_cr为1,则在1、2、3中搜索DCr的深度(即跳过深度 为0的搜索);
若DL_co<DCo,DL_cr为2,则在1、2、3中搜索DCr的深度(即跳过深度 为0的搜索);
若DL_co<DCo,DL_cr为3,则在1、2、3中搜索DCr的深度(即跳过深度 为0的搜索);
若DL_co=DCo=0,DL_cr为0、1、2或3,则在0、1、2中搜索DCr的深度;
若DL_co=DCo=1,DL_cr为0、1、2或3,则在0、1、2中搜索DCr的深度;
若DL_co=DCo=3,DL_cr为0、1、2或3,则在1、2、3中搜索DCr的深度;
若DL_co>DCo,DL_cr为0,则在0中搜索DCr的深度;
若DL_co>DCo,DL_cr为1,则在0、1中搜索DCr的深度;
若DL_co>DCo,DL_cr为2,则在0、1、2中搜索DCr的深度。
若编码单元为32×32编码单元,且当前编码单元的深度为1,则利用前 一帧中两相邻编码单元的深度关系,缩小当前编码单元的深度搜索范围, 规则如下:
若前一帧中两相邻编码单元的深度分别为DL_co和DCo,当前帧中位置 对应的两相邻编码单元的深度分别为DL_cr和DCr、,则:
若DL_co<DCo,DL_cr为2,则在2、3中搜索DCr的深度;
若DL_co<DCo,DL_cr为3,则在2、3中搜索DCr的深度;
若DL_co=DCo=1,DL_cr为1、2或3,则在1、2中搜索DCr的深度;
若DL_co=DCo=3,DL_cr为1,则在1、2、3中搜索DCr的深度;
若DL_co=DCo=3,DL_cr为2或3,则在2、3中搜索DCr的深度;
若DL_co>DCo,DL_cr为1,则在1中搜索DCr的深度;
若DL_co>DCo,DL_cr为2,则在1、2中搜索DCr的深度。
本发明中没有特殊说明的部分,均采用现有的HEVC编码方法进行编 码。
本发明基于编码单元深度时空相关性的快速HEVC编码方法能够显著 加速HEVC视频编码的速度,并保证较好的率失真性能,具有较强的实用 性。
附图说明
图1为本发明基于编码单元深度时空相关性的快速HEVC编码方法的 流程图;
图2为本发明中参考帧(前一帧)中两相邻编码单元和当前帧中位置 对应的两相邻编码单元的关系示意图;
图3为DL_co<DCo的情况下,DL_cr与DL_cr的关系分布示意图;
图4为DL_co<DCo的情况下,DL_cr与DL_cr的关系分布示意图;
图5为本发明方法、Lee算法和HM8.0算法在不同编码环境配置下的率 失真表现对比,其中:(a)为LD编码环境配置下,Kimono序列的率失真 表现对比;(b)为RA编码环境配置下,Kimono序列的率失真表现对比; (c)为LD编码环境配置下,PartyScene序列的率失真表现对比;(d)为 RA编码环境配置下,PartyScene序列的率失真表现对比。
具体实施方式
下面结合附图,对本发明基于编码单元深度时空相关性的快速HEVC 编码方法做详细描述。
如图1所示,一种基于编码单元深度时空相关性的快速HEVC编码方 法,包括以下步骤:
(1)输入原始编码序列;
(2)提取已完成编码的编码单元的深度,即将原始编码序列划分为 若干不同大小的块,记录每个块的深度(即图1中深度全搜索);
若编码单元为64×64编码单元,则深度范围为0、1、2或3;
若编码单元为32×32编码单元,则深度范围为1、2或3。
(3)如图2所示,Cr表示当前的编码单元(即64×64编码单元或32×32 编码单元),L_cr为其左侧对应的编码单元;Co为参考帧(即前一帧)中 处在与Cr同一位置的编码单元,L_co为参考帧(即前一帧)中处在与L_Co 同一位置的编码单元,
针对64×64编码单元和32×32编码单元,采用不同的规则缩小深度搜索 范围,分述如下:
3-1、若编码单元的大小为64×64,则利用前一帧中两相邻编码单元的 深度关系,缩小当前编码单元的深度搜索范围,规则如下:
若DL_co<DCo,DL_cr为1,则在1、2、3中搜索DCr的深度;
若DL_co<DCo,DL_cr为2,则在1、2、3中搜索DCr的深度;
若DL_co<DCo,DL_cr为3,则在1、2、3中搜索DCr的深度;
若DL_co=DCo=0,DL_cr为0、1、2或3,则在0、1、2中搜索DCr的深度;
若DL_co=DCo=1,DL_cr为0、1、2或3,则在0、1、2中搜索DCr的深度;
若DL_co=DCo=3,DL_cr为0、1、2或3,则在1、2、3中搜索DCr的深度;
若DL_co>DCo,DL_cr为0,则在0中搜索DCr的深度;
若DL_co>DCo,DL_cr为1,则在0、1中搜索DCr的深度;
若DL_co>DCo,DL_cr为2,则在0、1、2中搜索DCr的深度。
3-2、若编码单元的大小为32×32,则利用前一帧中两相邻编码单元的 深度关系,缩小当前编码单元的深度搜索范围,规则如下:
若DL_co<DCo,DL_cr为2,则在2、3中搜索DCr的深度;
若DL_co<DCo,DL_cr为3,则在2、3中搜索DCr的深度;
若DL_co=DCo=1,DL_cr为1、2或3,则在1、2中搜索DCr的深度;
若DL_co=DCo=3,DL_cr为1,则在1、2、3中搜索DCr的深度;
若DL_co=DCo=3,DL_cr为2或3,则在2、3中搜索DCr的深度;
若DL_co>DCo,DL_cr为1,则在1中搜索DCr的深度;
若DL_co>DCo,DL_cr为2,则在1、2中搜索DCr的深度。
(4)在步骤(3)所得的深度搜索范围中,按照从小到大的顺序搜索 深度,至最大深度后结束深度搜索;对于深度搜索范围中的每个深度(即 编码单元),进行当前编码单元的帧内和帧间划分模式评估,选择最佳的 划分模式。
(5)依据步骤(4)搜索得到的深度,确定最佳编码树单元划分,然 后进行HEVC编码。
本发明方法中,对于DL_co<DCo和DL_co<DCo两种情况,可以跳过的深度 列于表1中,对于DL_co=DCo,可以跳过的深度列于表2中。
表1
表2
关于DL_co<DCo和DL_co>DCo时的深度单一性的验证分别如图3、图4所 示,采用HEVC现有的标准编码器对序列City(704×576)、Harbor (704×576)、BigShips(1280×720)、Vidyo3(1280×720)、Pair(1920×1080)、 Sunse(1920×1080)进行编码后的统计结果,图3中,当DL_co<DCo时,DL_cr≤Dcr的概率约为90%,图4中,当DL_co>DCo时,则DL_cr≥Dcr的概率约为90%, 因此,可以利用这种深度单一性的关系,对当前帧中的编码单元的深度搜 索范围预先进行缩小。
在LD和RA两种编码环境配置下,本发明提供的方法与Lee算法以及 HM8.0算法的对比结果如表3和图5所示,△T为时间缩短率。
表3
由表3和图5可知,本发明方法相对于Lee算法以及HM8.0算法而言, 能够加快编码速度,并保证相当的编码质量。
机译: 基于边缘检测的HEVC帧内编码的快速模式决策方法和基于快速模式决策的HEVC帧内编码方法
机译: 基于HEVC Rext的编码方法和基于HEVC Rext的编码方法
机译: 使用基于以树状结构确定的编码单元为基础的预测单元的视频编码方法和视频编码装置,以及基于以确定的编码为基准的编码单元的预测单元和基于结构的编码单元的预测单元的视频编码方法和视频解码装置