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

技术编号:9960494 阅读:246 留言:0更新日期:2014-04-23 20:31
本发明专利技术公开了一种用于HEVC的残余四叉树编码的快速变换方法,主要解决现有高效视频编码标准HEVC的编码复杂度高,不易实现实时编码的问题。其实现步骤是:将待编码视频划分成L个编码块;进行当前编码块的迭代四叉树:通过一次迭代四叉树将当前编码块细分成四个子编码块;再进行第一个子编码块的残余四叉树编码,获取其最大残余四叉树变换深度Dlu;利用Dlu对第二、三个子编码块的残余四叉树编码进行约束并编码,获取其最大残余四叉树变换深度Dru和Dlb;利用Dlu、Dru和Dlb对第四个子编码块的残余四叉树编码进行约束并编码,结束一次迭代四叉树;对所有迭代四叉树重复以上步骤。本发明专利技术减少了高效视频编码标准HEVC的编码时间,可用于硬件编码器进行实时编码。

【技术实现步骤摘要】
用于HEVC的残余四叉树编码的快速变换方法
本专利技术属于图像处理
,特别涉及高效视频编码标准HEVC中残余四叉树编码RQT的快速变换方法,可用于减少在高效视频编码标准HEVC的编码过程中的计算复杂度以及实现硬件编码器的实时编码。
技术介绍
2010年4月,两大国际视频编码标准组织VCEG和MPEG成立视频压缩联合小组JCT-VC(JointCollaborativeTeamonVideoCoding),共同研发高效视频编码标准HEVC,HEVC也可称为H.265。高效视频编码标准HEVC致力于大幅度提高编码效率,尤其是针对高分辨率视频序列,其目标是在相同视频质量,即相同峰值信噪比PSNR下,将高效视频编码标准HEVC的编码码率降为上一代视频编码标准H.264/AVC的50%。目前,高效视频编码标准HEVC依然沿用H.26x标准,即H.261及其以后的标准,这些标准都采用的混合编码框架,如图1所示出。高效视频编码标准HEVC的编码器架构与H.264/AVC标准所使用的编码器架构大致相同。帧间和帧内预测编码分别消除时间域和空间域的相关性;变换编码是对残差进行变换编码以进一步消除空间相关性;熵编码用于消除统计上的冗余度。高效视频编码标准HEVC将在混合编码框架内,着力研究新的编码工具或技术以提高视频压缩效率。在高效视频编码标准HEVC标准制定过程中,许多编码的新特性被提出并进行验证,最后添加到高效视频编码标准HEVC中。各新特征的具体文献可以从http://wftp3.itu.int获得。高效视频编码标准HEVC于2013年1月被正式制定为国际标准。高效视频编码标准HEVC中的编码块采用迭代四叉树方式进行编码。编码块最大可达64x64像素,这是针对高清视频压缩编码引入的新特征。变换块大小将突破H.264标准中的8x8像素,最大可达32x32像素。对于帧内预测,帧内预测模式由H.264标准中的10种预测模式拓展到35种预测模式,这使得帧内预测更加精确,可以更加高效地消除空间相关性。对于帧间预测,在插值中采用了更多插头的滤波器,以及1/4像素精度,有效地提高了帧间预测的精度。变换编码中采用了残余四叉树编码RQT,使得高效视频编码标准HEVC中的变换编码可依据视频局部特性灵活地选择变换块大小,从而更加高效地消除空间相关性。在熵编码方面,剔除了基于上下文的自适应变长编码CAVLC,只采用适应性更强的基于上下文的自适应二值算术编码CABAC。使用高效视频编码标准HEVC标准的变换编码可更加高效地消除空间相关性,而且选择的变换块越小,说明变换深度越大,变换深度可取0~3。但是,由于在进行残余四叉树编码RQT时需要重复使用率失真优化RDO来确定最佳变换深度,当视频场景较为复杂时需要进行大量的率失真优化RDO运算,这造成高效视频编码标准HEVC的编码器的计算负荷过重,严重影响了高效视频编码标准HEVC的编码器的实时编码性能。为了降低高效视频编码标准HEVC的编码器进行残余四叉树编码RQT时重复使用率失真优化RDO带来的高运算量,许多针对变换编码的残余四叉树编码RQT的快速算法被提出。Tan等人(YihHanTan,ChuohaoYeo,HuiLiTanandZhengguoLi.“OnResidualQuad-treeCodinginHEVC”,MultimediaSignalProcessing(MMSP).pp.1-4,Oct.2011.)提出了帧间和帧内编码方法,这两种编码方法可以减少变换编码中残余四叉树编码RQT的复杂度,操作简单,但自适应能力差,特别是对于场景比较复杂的视频编码效果较差。Teng等人(Su-WeiTeng,Hsueh-MingHangandYi-FuChen.“FastModeDecisionAlgorithmforResidualQuadtreeCodinginHEVC”,VisualCommunicationsandImageProcessing(VCIP).pp.1-4,Nov.2011.)用合并和划分的变换过程代替传统的深度优先的变换过程,提高了变换编码中残余四叉树编码RQT中率失真优化的利用效率。该方法虽然在一定程度上减少了高效视频编码标准HEVC的编码器的计算复杂度,但不能高效地消除编码块之间的空间相关性,因此使编码性能下降。Zhang等人(YongfeiZhangandMingfeiZhao.“AnAdaptiveRQTModeSelectionAlgorithmforHEVC”,20125thInternationalCongressonImageandSignalProcessing(CISP).pp.173-177,Oct.2012.)根据实验经验数据,针对变换编码中的残余四叉树编码RQT提出了可自适应调整变换深度的快速变换算法。由于该快速变换算法利用的是经验数据,因此该方法的应用范围受到限制,不适合编码场景比较复杂的视频。Choi等人(K.ChoiandE.S.Jang.“EarlyTUDecisionMethodforFastVideoEncodinginHighEfficiencyVideoCoding”,ElectronicsLetters.Vol.48,No.12,pp.689-691,2011.)提出了一种利用变换块中的非零系数个数与变换深度之间的关系,在变换编码的初期阶段就能确定变换块中残余四叉树编码RQT的变换深度的新方法。该方法所说可以减少大量不必要的率失真优化RDO运算,大幅度降低高效视频编码标准HEVC的编码器的计算复杂度,但却不适合编码变换块中含有大量非零系数的场景比较复杂的视频。
技术实现思路
本专利技术的目的在于针对上述已有技术的不足,提出一种用于高效视频编码标准HEVC的残余四叉树编码的快速变换方法,以降低复杂场景视频的编码复杂度,提高高效视频编码标准HEVC的硬件编码器的实时编码性能。为实现上述目的,本专利技术的技术方案包括如下步骤:(1)将待编码视频的一帧图像依照光栅顺序划分成L个编码块CTU,其中每个编码块CTU的大小为64x64像素,L取每帧图像分辨率与编码块CTU大小的比值;(2)对当前编码块CTU采取迭代四叉树的方式进行编码,每进行一次迭代四叉树,将当前编码块CTU细分成四个子编码块SCU,这四个子编码块SCU均包含n个像素点;再将每个子编码块SCU作为下一次迭代四叉树的父编码块PCU,进一步细分成四个更小的子子编码块SSCU;(3)对于当前编码块CTU的一次迭代四叉树过程产生的四个子编码块SCU,进行第一个子编码块SCUlu的残余四叉树编码,获取并保存其最大残余四叉树变换深度Dlu;(4)利用第一个子编码块SCUlu的最大残余四叉树变换深度Dlu,对第二个子编码块SCUru和第三个子编码块SCUlb的残余四叉树编码进行约束,确保它们的最大残余四叉树变换深度Dru和Dlb都不大于Dlu,然后在上述约束条件下分别对第二个子编码块SCUru和第三个子编码块SCUlb进行各自的残余四叉树编码,获取并保存这两个子编码块SCUru和SCUlb各自的最大残余四叉树变换深度Dru和Dlb;(5)利用步骤(3)和步骤(4)得到的第一个子编码块SC本文档来自技高网
...
用于HEVC的残余四叉树编码的快速变换方法

【技术保护点】
一种用于HEVC的残余四叉树编码的快速变换方法,包括如下步骤:(1)将待编码视频的一帧图像依照光栅顺序划分成L个编码块CTU,其中每个编码块CTU的大小为64x64像素,L取每帧图像分辨率与编码块CTU大小的比值;(2)对当前编码块CTU采取迭代四叉树的方式进行编码,每进行一次迭代四叉树,将当前编码块CTU细分成四个子编码块SCU,这四个子编码块SCU均包含n个像素点;再将每个子编码块SCU作为下一次迭代四叉树的父编码块PCU,进一步细分成四个更小的子子编码块SSCU;(3)对于当前编码块CTU的一次迭代四叉树过程产生的四个子编码块SCU,进行第一个子编码块SCUlu的残余四叉树编码,获取并保存其最大残余四叉树变换深度Dlu;(4)利用第一个子编码块SCUlu的最大残余四叉树变换深度Dlu,对第二个子编码块SCUru和第三个子编码块SCUlb的残余四叉树编码进行约束,确保它们的最大残余四叉树变换深度Dru和Dlb都不大于Dlu,然后在上述约束条件下分别对第二个子编码块SCUru和第三个子编码块SCUlb进行各自的残余四叉树编码,获取并保存这两个子编码块SCUru和SCUlb各自的最大残余四叉树变换深度Dru和Dlb;(5)利用步骤(3)和步骤(4)得到的第一个子编码块SCUlu、第二个子编码块SCUru和第三个子编码块SCUlb的最大残余四叉树变换深度Dlu、Dru和Dlb,对第四个子编码块SCUrb的残余四叉树编码进行约束,保证它的最大残余四叉树变换深度Drb不大于Dlu、Dru和Dlb这三者的加权和S,然后在上述约束条件下进行第四个子编码块SCUrb的残余四叉树编码,结束当前编码块CTU的一次迭代四叉树过程;(6)若当前编码块CTU还有未处理的迭代四叉树过程,则返回步骤(3)对当前编码块CTU的下一次迭代四叉树过程进行处理;若当前编码块CTU的所有迭代四叉树过程都已处理完毕,并且当前编码块不是第L个编码块CTU,则返回步骤(2)对下一个编码块CTU进行处理;若当前编码块CTU的所有迭代四叉树过程都已处理完毕,并且当前编码块为第L个编码块CTU,则返回步骤(1)对下一帧图像进行处理。...

【技术特征摘要】
1.一种用于HEVC的残余四叉树编码的快速变换方法,包括如下步骤:(1)将待编码视频的一帧图像依照光栅顺序划分成L个编码块CTU,其中每个编码块CTU的大小为64x64像素,L取每帧图像分辨率与编码块CTU大小的比值;(2)对当前编码块CTU采取迭代四叉树的方式进行编码,每进行一次迭代四叉树,将当前编码块CTU细分成四个子编码块SCU,这四个子编码块SCU均包含n个像素点;再将每个子编码块SCU作为下一次迭代四叉树的父编码块PCU,进一步细分成四个更小的子子编码块SSCU;(3)对于当前编码块CTU的一次迭代四叉树过程产生的四个子编码块SCU,进行第一个子编码块SCUlu的残余四叉树编码,获取并保存其最大残余四叉树变换深度Dlu=max{PDi,i=1,2,…,n},其中PDi为第i个像素点的变换深度;(4)利用第一个子编码块SCUlu的最大残余四叉树变换深度Dlu,对第二个子编码块SCUru和第三个子编码块SCUlb的残余四叉树编码进行约束,确保它们的最大残余四叉树变换深度Dru和Dlb都不大于Dlu,然后在上述约束条件下分别对第二个子编码块SCUru和第三个子编码块SCUlb进行各自的残余四叉树编码,获取并保存这两个子编码块SCUru和SCUlb各自的最大残余四叉树变换深度Dru和Dlb;(5)利用步骤(3)和步骤(4)得到的第一个子编码块SCUlu、第二个子编码块SCUru和第三个子编码块SCUlb的最大残余四叉树变换深度Dlu、Dru和Dlb,对第四个子编码块SCUrb的残余四叉树编码进行约束,保证它的最大残余四叉树变换深度Drb不大于Dlu、Dru和Dlb这三者的加权和S,然后在上述约束条件下进行第四个子编码块SCUrb的残余四叉树编码,结束当前编码块CTU的一次迭代四叉树过程;所述加权和为:S=α1·Dlu+α2·Dru+α3·Dlb其中权值αi,i=1,2,3由第四个子编码块SCUrb分别与第一个子编码块SCUlu、第二个子编码块SCUru和第三个子编码块SCUlb之间的空间相关性而定,由于第四个子编码块SCUrb在空间上距离第二个子编码块SCUru和第三个子编码块SCUlb较近,而距离第一个子编码块子编码块SCUlu较远,因此取第二个子编码块SCUru和第三个子编码块SCUlb对应的权值α2和α3比第一个子编码块SCUlu对应的权值α1大,权值取α1=0.2,α2=0.4,α3=0.4;(6)若当前编码块CTU还有未处理的迭代四叉树过程,则返回步骤(3)对当前编码块CTU的下一次迭代四叉树过程进行处理;若当前编码块CTU的所有迭代四叉树过程都已处理完毕,并且当前编码块不是第L个编码块CTU,则返回步骤(2)对下一个编码块CTU进行处理;若当前编码块CTU的所有迭代四叉树过程都已处理完毕,并且当前编码块为第L个编码块CTU,则返回...

【专利技术属性】
技术研发人员:郭宝龙吴进福闫允一赵丹宁伟康
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1