用于hevc的残余四叉树编码的快速变换方法

文档序号:7794878阅读:433来源:国知局
用于hevc的残余四叉树编码的快速变换方法
【专利摘要】本发明公开了一种用于HEVC的残余四叉树编码的快速变换方法,主要解决现有高效视频编码标准HEVC的编码复杂度高,不易实现实时编码的问题。其实现步骤是:将待编码视频划分成L个编码块;进行当前编码块的迭代四叉树:通过一次迭代四叉树将当前编码块细分成四个子编码块;再进行第一个子编码块的残余四叉树编码,获取其最大残余四叉树变换深度Dlu;利用Dlu对第二、三个子编码块的残余四叉树编码进行约束并编码,获取其最大残余四叉树变换深度Dru和Dlb;利用Dlu、Dru和Dlb对第四个子编码块的残余四叉树编码进行约束并编码,结束一次迭代四叉树;对所有迭代四叉树重复以上步骤。本发明减少了高效视频编码标准HEVC的编码时间,可用于硬件编码器进行实时编码。
【专利说明】用于HEVC的残余四叉树编码的快速变换方法
【技术领域】
[0001]本发明属于图像处理【技术领域】,特别涉及高效视频编码标准HEVC中残余四叉树编码RQT的快速变换方法,可用于减少在高效视频编码标准HEVC的编码过程中的计算复杂度以及实现硬件编码器的实时编码。
【背景技术】
[0002]2010年4月,两大国际视频编码标准组织VCEG和MPEG成立视频压缩联合小组JCT-VCCJoint Collaborative Team on Video Coding),共同研发高效视频编码标准HEVC,HEVC也可称为H.265。高效视频编码标准HEVC致力于大幅度提高编码效率,尤其是针对高分辨率视频序列,其目标是在相同视频质量,即相同峰值信噪比PSNR下,将高效视频编码标准HEVC的编码码率降为上一代视频编码标准H.264/AVC的50%。
[0003]目前,高效视频编码标准HEVC依然沿用H.26x标准,即H.261及其以后的标准,这些标准都采用的混合编码框架,如图1所示出。高效视频编码标准HEVC的编码器架构与
H.264/AVC标准所使用的编码器架构大致相同。帧间和帧内预测编码分别消除时间域和空间域的相关性;变换编码是对残差进行变换编码以进一步消除空间相关性;熵编码用于消除统计上的冗余度。高效视频编码标准HEVC将在混合编码框架内,着力研究新的编码工具或技术以提高视频压缩效率。在高效视频编码标准HEVC标准制定过程中,许多编码的新特性被提出并进行验证,最后添加到高效视频编码标准HEVC中。各新特征的具体文献可以从http://wftp3.1tu.1nt获得。高效视频编码标准HEVC于2013年I月被正式制定为国际标准。
[0004]高效视频编码标准HEVC中的编码块采用迭代四叉树方式进行编码。编码块最大可达64x64像素,这是针对高清视频压缩编码引入的新特征。变换块大小将突破H.264标准中的8x8像素,最大可达32x32像素。对于帧内预测,帧内预测模式由H.264标准中的10种预测模式拓展到35种预测模式,这使得帧内预测更加精确,可以更加高效地消除空间相关性。对于帧间预测,在插值中采用了更多插头的滤波器,以及1/4像素精度,有效地提高了帧间预测的精度。变换编码中采用了残余四叉树编码RQT,使得高效视频编码标准HEVC中的变换编码可依据视频局部特性灵活地选择变换块大小,从而更加高效地消除空间相关性。在熵编码方面,剔除了基于上下文的自适应变长编码CAVLC,只采用适应性更强的基于上下文的自适应二值算术编码CABAC。
[0005]使用高效视频编码标准HEVC标准的变换编码可更加高效地消除空间相关性,而且选择的变换块越小,说明变换深度越大,变换深度可取O?3。但是,由于在进行残余四叉树编码RQT时需要重复使用率失真优化RDO来确定最佳变换深度,当视频场景较为复杂时需要进行大量的率失真优化RDO运算,这造成高效视频编码标准HEVC的编码器的计算负荷过重,严重影响了高效视频编码标准HEVC的编码器的实时编码性能。
[0006]为了降低高效视频编码标准HEVC的编码器进行残余四叉树编码RQT时重复使用率失真优化RDO带来的高运算量,许多针对变换编码的残余四叉树编码RQT的快速算法被提出。
[0007]Tan 等人(Yih Han Tan, Chuohao Yeo, Hui Li Tan and Zhengguo L1.“OnResidual Quad-tree Coding in HEVC,,,Multimedia Signal Processing (MMSP).pp.1-4, Oct.2011.)提出了帧间和帧内编码方法,这两种编码方法可以减少变换编码中残余四叉树编码RQT的复杂度,操作简单,但自适应能力差,特别是对于场景比较复杂的视频编码效果较差。
[0008]Teng 等人(Su-Wei Teng, Hsueh-Ming Hang and Y1-Fu Chen.“Fast ModeDecision Algorithm for Residual Quadtree Coding in HEVC,,,Visual Communicationsand Image Processing(VCIP).pp.1-4, Nov.2011.)用合并和划分的变换过程代替传统的深度优先的变换过程,提高了变换编码中残余四叉树编码RQT中率失真优化的利用效率。该方法虽然在一定程度上减少了高效视频编码标准HEVC的编码器的计算复杂度,但不能高效地消除编码块之间的空间相关性,因此使编码性能下降。
[0009]Zhang 等人(Yongfei Zhang and Mingfei Zha0.“An Adaptive RQT ModeSelection Algorithm for HEVC,,, 20125th International Congress on Image and SignalProcessing (CISP).pp.173-177, Oct.2012.)根据实验经验数据,针对变换编码中的残余四叉树编码RQT提出了可自适应调整变换深度的快速变换算法。由于该快速变换算法利用的是经验数据,因此该方法的应用范围受到限制,不适合编码场景比较复杂的视频。
[0010]Choi 等人(K.Choi and E.S.Jang.“Early TU Decision Method for FastVideo Encoding in High Efficiency Video Coding,,,Electronics Letters.Vol.48,N0.12,pp.689-691,2011.)提出了一种利用变换块中的非零系数个数与变换深度之间的关系,在变换编码的初期阶段就能确定变换块中残余四叉树编码RQT的变换深度的新方法。该方法所说可以减少大量不必要的率失真优化RDO运算,大幅度降低高效视频编码标准HEVC的编码器的计算复杂度,但却不适合编码变换块中含有大量非零系数的场景比较复杂的视频。

【发明内容】

[0011]本发明的目的在于针对上述已有技术的不足,提出一种用于高效视频编码标准HEVC的残余四叉树编码的快速变换方法,以降低复杂场景视频的编码复杂度,提高高效视频编码标准HEVC的硬件编码器的实时编码性能。
[0012]为实现上述目的,本发明的技术方案包括如下步骤:
[0013](I)将待编码视频的一帧图像依照光栅顺序划分成L个编码块CTU,其中每个编码块CTU的大小为64x64像素,L取每帧图像分辨率与编码块CTU大小的比值;
[0014](2)对当前编码块CTU采取迭代四叉树的方式进行编码,每进行一次迭代四叉树,将当前编码块CTU细分成四个子编码块SCU,这四个子编码块SCU均包含η个像素点;再将每个子编码块SCU作为下一次迭代四叉树的父编码块PCU,进一步细分成四个更小的子子编码块SSCU ;
[0015](3)对于当前编码块CTU的一次迭代四叉树过程产生的四个子编码块S⑶,进行第一个子编码块SCUlu的残余四叉树编码,获取并保存其最大残余四叉树变换深度Dlu ;
[0016](4)利用第一个子编码块SCTlu的最大残余四叉树变换深度Dlu,对第二个子编码块SCUra和第三个子编码块SCUlb的残余四叉树编码进行约束,确保它们的最大残余四叉树变换深度Dra和Dlb都不大于Dlu,然后在上述约束条件下分别对第二个子编码块SCUru和第三个子编码块SCUlb进行各自的残余四叉树编码,获取并保存这两个子编码块SCUn^P SCUlb各自的最大残余四叉树变换深度Dra和Dlb ;
[0017](5)利用步骤(3)和步骤(4)得到的第一个子编码块SCTlu、第二个子编码块SCUra和第三个子编码块SCUlb的最大残余四叉树变换深度Dlu、Dra和Dlb,对第四个子编码块SCUrt的残余四叉树编码进行约束,保证它的最大残余四叉树变换深度Da不大于Dlu、Dra和Dlb这三者的加权和S,然后在上述约束条件下进行第四个子编码块SCUrt的残余四叉树编码,结束当前编码块CTU的一次迭代四叉树过程;
[0018](6)若当前编码块CTU还有未处理的迭代四叉树过程,则返回步骤(3)对当前编码块CTU的下一次迭代四叉树过程进行处理;若当前编码块CTU的所有迭代四叉树过程都已处理完毕,并且当前编码块不是第L个编码块CTU,则返回步骤(2)对下一个编码块CTU进行处理;若当前编码块CTU的所有迭代四叉树过程都已处理完毕,并且当前编码块为第L个编码块CTU,则返回步骤(1)对下一帧图像进行处理。
[0019]本发明具有如下优点:
[0020]1.本发明由于利用了高效视频编码标准HEVC的迭代四叉树过程,因此无需更多的操作即可与高效视频编码标准HEVC无缝整合;
[0021]2.本发明由于将针对残余四叉树编码的快速变换方法与编码块CTU的迭代四叉树过程相结合,能够更加高效地消除视频像素点之间的空间相关性;
[0022]3.本发明由于对每个编码块CTU的每次迭代四叉树都进行三个子编码块SCUra、SCUlb和SCUrt的残余四叉树编码的快速变换,减少了高效视频编码标准HEVC中大量不必要的率失真优化RDO运算,降低了高效视频编码标准HEVC的编码复杂度,提高了高效视频编码标准HEVC的编码器的实时编码性能;
[0023]4.本发明由于对场景越复杂的视频进行了越多的快速变换方法,降低了更多的编码复杂度,因此本发明对于编码场景复杂的视频具有优势,能广泛应用于视频压缩、视频编解码等领域。
[0024]下面结合附图及【具体实施方式】对本发明再作进一步详细的说明:
【专利附图】

【附图说明】
[0025]图1为高效视频编码标准HEVC的编码器框图;
[0026]图2为高效视频编码标准HEVC的光栅编码顺序图解;
[0027]图3为高效视频编码标准HEVC中变换编码的残余四叉树编码;
[0028]图4为本发明的实现流程图;
[0029]图5为分别用本发明和高效视频编码标准HEVC的参考软件HM10.0的编码器对视频序列“PeopleOnStreet,2560x1600”在随机存储配置下进行编码的编码性能、编码时间和编码主观视觉质量对比结果;
[0030]图6为分别用本 发明和高效视频编码标准HEVC的参考软件HM10.0的编码器对视频序列“PartyScene,832x480”在低延时配置下进行编码的编码性能、编码时间和编码主观视觉质量对比结果。【具体实施方式】
[0031]本发明提出的残余四叉树的快速变换方法是针对高效视频编码标准HEVC的编码器中的变换编码的残余四叉树编码,利用残余四叉树编码,编码块CTU可选择出具有最小率失真优化代价的变换深度,从而提高高效视频编码标准HEVC的编码效率。
[0032]图1为高效视频编码标准HEVC的视频编码器的结构图,其中的变换编码是本发明的研究内容。高效视频编码标准HEVC中的编码块CTU按照光栅顺序,即采取从左到右,从上到下的编码顺序进行编码,光栅顺序如图2所示,图2中箭头方向表示编码顺序。残余四叉树编码采用深度优先的方式进行编码,如图3所示,编码顺序与图3中的小写字母顺序一致。本发明提出的针对残余四叉树编码的快速变换方法可以使每个编码块CTU的每次迭代四叉树过程产生的四个子编码块中的其中三个子编码块SCUra、SCUlb和SCUrb更快地寻找到各自的最佳变换深度,有效地减少当前编码块CTU的残余四叉树编码中大量不必要的率失真优化RDO运算,从而降低高效视频编码标准HEVC的编码复杂度。
[0033]参照图4,本发明的具体实现步骤包含如下:
[0034]步骤一,将视频帧图像按编码块CTU进行划分。
[0035]1.1)将待编码视频的每一帧图像输入到高效视频编码标准HEVC的编码器中,每一帧图像由高效视频编码标准HEVC的编码器按照光栅顺序划分成L个编码块CTU,光栅顺序为如图2箭头所示的从左到右,从上到下的编码顺序,其中每个编码块CTU大小为64x64像素,L取每帧图像分辨率与编码块CTU大小的比值;
[0036]1.2)将编码块CTU作为高效视频编码标准HEVC中进行迭代四叉树过程的基本单
J Li ο
[0037]步骤二,对编码块CTU进行迭代四叉树。
[0038]迭代四叉树是指对编码块CTU进行迭代划分,其具体步骤如下:
[0039]2.1)对当前编码块CTU进行一次迭代四叉树:将当前编码块CTU细分成四个子编码块S⑶,这四个子编码块SCU均包含η个像素点,第一个子编码块SCUlu位于当前编码块CTU的左上角,第二个子编码块SCUra位于当前编码块CTU的右上角,第三个子编码块SCTlb位于当前编码块CTU的左下角,第四个子编码块SCUi于当前编码块CTU的右下角,这四个子编码块SCU之间的空间分布关系表示为:
[0040]SCUlu SCUru
[0041]SCUlb SCUrb
[0042]2.2)进行编码块CTU的下一次迭代四叉树:将步骤2.1)产生的四个子编码块SCU都分别作为下一次迭代四叉树的父编码块PCU,再进一步细分成四个更小的子子编码块SS⑶,高效视频编码标准HEVC规定可对当前编码块CTU进行最多3次迭代四叉树过程,获得的最小子子编码块SS⑶的大小为8x8像素;
[0043]2.3)将步骤2.1)和步骤2.2)中获得的子编码块SCU和子子编码块SS⑶都统一作为子编码块SCU进行后续的处理工作,这是由于子编码块SCU和子子编码块SSCU都是由一次迭代四叉树过程产生的,它们之间除了大小不同之外并没有本质的区别。
[0044]步骤三,对于步骤二中当前编码块CTU的一次迭代四叉树过程产生的四个子编码块SCU,进行第一个子编码块SCUlu的残余四叉树编码,获取其最大残余四叉树变换深度Dlu。[0045]3.1)对第一个子编码块SCTlu进行预测后得到预测图像,将其原始图像与预测图像相减,得到第一个子编码块SCUlu的残余图像,对其残余图像进行残余四叉树编码,得到该子编码块SCUlu中所有像素点的变换深度,其中,第i个像素点的变换深度为F1Di, i =
I,2,...,η, η为子编码块SCTlu中的像素点总个数;
[0046]3.2)求取第一个子编码块SCTlu中所有像素点的变换深度的最大值,该最大值即为第一个子编码块SCUlu的最大残余四叉树变换深度Dlu,其表达公式如下:
[0047]D lu = max (PDi, i = 1,2,...,η}。〈1>
[0048]步骤四,对第二个子编码块SCUra和第三个子编码块SCTlb的残余四叉树编码进行约束并执行,获取这两个子编码块SCUn^P SCUlb各自的最大残余四叉树变换深度0?和Dlb。
[0049]4.1)分别对第二个子编码块SCUra和第三个子编码块SCUlb进行预测后得到它们各自的预测图像,将它们的原始图像与它们各自的预测图像相减,得到第二个子编码块SCUra和第三个子编码块SCTlb的残余图像;
[0050]4.2)对第二个子编码块SCUra和第三个子编码块SCTlb的残余四叉树编码进行约束,确保第二个子编码块SCUra的最大残余四叉树变换深度Dra和第三个子编码块SCUlb的最大残余四叉树变换深度Dlb都不大于第一个子编码块SCUra的最大残余四叉树变换深度Dlu,其表达公式如下:
[0051]Dru ≤ Dlu <2>
[0052]Dlb ( Dlu <3>
[0053]4.3)在步骤(4.2)所述的约束条件下进行第二个子编码块SCUra和第三个子编码块SCUlb的残余图像的残余四叉树编码,获取第二个子编码块SCUra的最大残余四叉树变换深度Dra和第三个子编码块SCUlb的最大残余四叉树变换深度Dlb,其表达公式如下:
[0054]Dru = max (PDi/ , i ' = I, 2,..., η} <4>
[0055]Dlb = max (PDi/ , , i1 1 = I, 2,..., η} <5>
[0056]其中,PDi,表示第二个子编码块SCUra进行残余四叉树编码后第i'个像素点的变换深度,PDi,丨表示第三个子编码块SCUlb进行残余四叉树编码后第i',个像素点的变换深度。
[0057]步骤五,对第四个子编码块SCUrt的残余四叉树编码进行约束并执行,结束当前编码块CTU的一次迭代四叉树过程。
[0058]5.1)获取第一个子编码块SCTlu、第二个子编码块SCUra和第三个子编码块SCTlb的最大残余四叉树变换深度Dlu、Dru和Dlb的加权和S:
[0059]S=O1* Dlu+ α 2.Dru+ α 3.Dlb<6>
[0060]其中权值a i,i = 1,2,3由第四个子编码块SCUrt分别与第一个子编码块SCTlu、第二个子编码块SCUra和第三个子编码块SCUlb之间的空间相关性而定,由于第四个子编码块SCTa在空间上距离第二个子编码块SCUra和第三个子编码块SCTlb较近,而距离第一个子编码块子编码块SCUlu较远,因此取第二个子编码块SCUra和第三个子编码块SCUlb对应的权值α 2和α 3比第一个子编码块SCTlu对应的权值a i大,表1为权值α ,,i = 1,2,3的典型取值;
[0061]表1典型权值取值
【权利要求】
1.一种用于HEVC的残余四叉树编码的快速变换方法,包括如下步骤: (O将待编码视频的一帧图像依照光栅顺序划分成L个编码块CTU,其中每个编码块CTU的大小为64x64像素,L取每帧图像分辨率与编码块CTU大小的比值; (2)对当前编码块CTU采取迭代四叉树的方式进行编码,每进行一次迭代四叉树,将当前编码块CTU细分成四个子编码块SCU,这四个子编码块SCU均包含η个像素点;再将每个子编码块SCU作为下一次迭代四叉树的父编码块PCU,进一步细分成四个更小的子子编码块 SSCU ; (3)对于当前编码块CTU的一次迭代四叉树过程产生的四个子编码块S⑶,进行第一个子编码块SCUlu的残余四叉树编码,获取并保存其最大残余四叉树变换深度Dlu ; (4)利用第一个子编码块SCUlu的最大残余四叉树变换深度Dlu,对第二个子编码块SCUra和第三个子编码块SCUlb的残余四叉树编码进行约束,确保它们的最大残余四叉树变换深度Dra和Dlb都不大于Dlu,然后在上述约束条件下分别对第二个子编码块SCUra和第三个子编码块SCUlb进行各自的残余四叉树编码,获取并保存这两个子编码块SCUn^P SCUlb各自的最大残余四叉树变换深度Dra和Dlb ; (5)利用步骤(3)和步骤(4)得到的第一个子编码块SCTlu、第二个子编码块SCUra和第三个子编码块SCUlb的最大残余四叉树变换深度Dlu、Dra和Dlb,对第四个子编码块SCUrt的残余四叉树编码进行约束,保证它的最大残余四叉树变换深度Da不大于Dlu、Dra和Dlb这三者的加权和S,然后在上述约束条件下进行第四个子编码块SCUa的残余四叉树编码,结束当前编码块CTU的一次迭代四叉树过程; (6)若当前编码块CTU还有未处理的迭代四叉树过程,则返回步骤(3)对当前编码块CTU的下一次迭代四叉树过程进行处理;若当前编码块CTU的所有迭代四叉树过程都已处理完毕,并且当前编码块不是第L个编码块CTU,则返回步骤(2)对下一个编码块CTU进行处理;若当前编码块CTU的所有迭代四叉树过程都已处理完毕,并且当前编码块为第L个编码块CTU,则返回步骤(1)对下一帧图像进行处理。
2.根据权利要求1所述的用于HEVC的残余四叉树编码的快速变换方法,其特征在于步骤(2)所述的对当前编码块CTU采取迭代四叉树的方式进行编码,按如下步骤进行: (2a)将当前编码块CTU细分成大小相同,即包含的像素点个数相同的四个子编码块SCU,它们之间的空间分布关系表示为:
SCUlu SCUru
SCUlb SCUrb 其中,第一个子编码块SCU1Ji于当前编码块CTU的左上角,第二个子编码块SCUra位于当前编码块CTU的右上角,第三个子编码块SCUlb位于当前编码块CTU的左下角,第四个子编码块SCUrb位于当前编码块CTU的右下角; (2b)将每个子编码块SCU作为下一次迭代四叉树的父编码块PCU,再进一步细分成四个更小的子子编码块SS⑶。
3.根据权利要求1所述的用于HEVC的残余四叉树编码的快速变换方法,其特征在于步骤(3)所述的对于当前编码块CTU的一次迭代四叉树过程产生的四个子编码块SCU,进行第一个子编码块SCUlu的残余四叉树编码,获取并保存其最大残余四叉树变换深度Dlu,按如下步骤进行:(3a)对第一个子编码块SCUlu进行残余四叉树编码,得到该子编码块SCUlu中所有像素点的变换深度,其中,第i个像素点的变换深度为I3Di, i = 1,2,...,η,η为子编码块SCTlu中的像素点总个数; (3b)求取第一个子编码块SCUlu中所有像素点的变换深度的最大值,该最大值即为第一个子编码块SCUlu的最大残余四叉树变换深度Dlu,其表达公式如下:
Dlu = max (PDi, i = 1,2,…,η}。
4.根据权利要求1所述的用于HEVC的残余四叉树编码的快速变换方法,其特征在于步骤(4)所述的对第二个子编码块SCUra和第三个子编码块SCUlb的残余四叉树编码进行约束,获取并保存它们各自的最大残余四叉树变换深度,按如下步骤进行: (4a)对第二个子编码块SCUra和第三个子编码块SCUlb的残余四叉树编码进行约束,确保第二个子编码块SCUra的最大残余四叉树变换深度Dra和第三个子编码块SCUlb的最大残余四叉树变换深度Dlb都不大于第一个子编码块SCUra的最大残余四叉树变换深度Dlu,其表达公式如下:
Dru ≤ Dlu
Dib≤ Dlu (4b)在步骤(4a)所述的约束条件下进行第二个子编码块SCUra和第三个子编码块SCTlb的残余四叉树编码,获取第二个子编码块SCUra的最大残余四叉树变换深度Dra和第三个子编码块SCUlb的最大残余四叉树变换深度Dlb,其表达公式如下:
Dru = max (PDi/ , i ' = 1,2,…,η}
Dlb = max(PDi/ , , i' 1 = I, 2,..., η} 其中,PDi,表示第二个子编码块SCUra进行残余四叉树编码后第i'个像素点的变换深度,PDi,,表示第三个子编码块SCTlb进行残余四叉树编码后第i',个像素点的变换深度。
5.根据权利要求1所述的用于HEVC的残余四叉树编码的快速变换方法,其特征在于步骤(5)所述的对第四个子编码块SCUrt的残余四叉树编码进行约束后进行其残余四叉树编码,按如下步骤进行: (5a)获取第一个子编码块SCUlu、第二个子编码块SCUra和第三个子编码块SCTlb的最大残余四叉树变换深度Dlu、Dru和Dlb的加权和S:
S — a l Dlu+ ct 2 * Dru+ α 3 * Dlb
其中,a i = 0.2, α 2 = 0.4, α 3 = 0.4。 (5b)设定第四个子编码块SCUrt的残余四叉树编码的最大残余四叉树变换深度Drt的约束条件为=Drb ( S ; (5c)在(5b)所设定的约束条件下进行第四个子编码块SCUrt的残余四叉树编码。
【文档编号】H04N19/61GK103747272SQ201410009705
【公开日】2014年4月23日 申请日期:2014年1月9日 优先权日:2014年1月9日
【发明者】郭宝龙, 吴进福, 闫允一, 赵丹, 宁伟康 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1