视频编码中自适应内插滤波的方法与流程

文档序号:12290209阅读:228来源:国知局
视频编码中自适应内插滤波的方法与流程

本发明主张申请于2014年4月1日,序列号为61/973,407的美国临时专利申请的优先权。本发明也相关于2014年12月5日,序列号为PCT/CN2014/093148的PCT专利申请。将以上美国临时专利申请以及PCT专利申请以参考的方式并入本文中。

【技术领域】

本发明涉及视频信号处理。特别地,本发明涉及视频编码中用于运动补偿的自适应内插滤波。



背景技术:

于使用具有分数像素精度(fractional pixel accuracy)的运动估计(Motion Estimation,ME)/运动补偿(Motion Compensation,MC)的视频编码系统中,需要内插(interpolation)来导出分数像素位置的参考像素。例如,用于分数运动补偿的基于DCT(Discrete Cosine Transform based)的8抽头以及4抽头内插滤波器组已经被采用于H.265/HEVC视频编码标准中,以分别用于亮度以及色度分量。图1所示为用于运动补偿的8抽头内插滤波器的示例。粗线框100对应于当前8x8块。8x8块的8抽头滤波需要由图案区域(patterned area)来指示的相邻样本以执行8抽头滤波。用于位置A、B、以及C的样本的水平内插由粗线小方块所指示。当允许分数运动向量时,生成与每个现存的样本(即,整数像素位置)相关联的一组分数样本。例如,如果1/4像素精度被用于运动向量,则于1/4像素(pel)、1/2像素、以及3/4像素位置内插的样本将生成。内插可通过在垂直方向以及水平方向使用两个单独的一维滤波器来实现。对于1/4像素、1/2像素以及3/4像素位置,具有单独滤波器系数的三个滤波器被使用。如图1所示,样本的总数包括当前块,且与内插滤波相关的相邻样本为15x15=225。而固定的内插滤波器组可由较低计算复杂性或者更低硬件成本来实现,然而,编码性能不太好。

为了提高与分数像素运动补偿的内插滤波器相关的编码效率,一种自适应内插滤波器(adaptive interpolation filter,AIF)的方法已经于HEVC标准的发展过程中被揭露。基于区域的AIF(region-based AIF,RNAIF)已经由Matsu等作者(Matsu,et al.)于JCTVC-B051(Region-based adaptive interpolation filter,Joint Collaborative Team on Video Coding(JCT-VC),of ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG11,2nd Meeting:Geneva,CH,21-28July,2010.Document:JCTVC-B051)中揭露。根据JCTVC-B051,图片被分为多个区域,且滤波器系数以逐区域为基础被优化。已经发现基于区域的内插滤波器能在BD率上提高5%到6%的性能。

虽然各种AIF方法已经显示了显著的性能改进,但还是希望能进一步提高编码效率,而不增加所需的带宽。



技术实现要素:

本发明揭露了一种用于运动补偿的具有分数像素精度的自适应内插滤波器的方法及装置。本发明的实施例基于参考块的现存的参考样本,通过根据像素位置和/或像素特性适应性地使用内插滤波器组于非整数位置产生内插的参考样本。接着,当前块使用包括内插参考样本的时间预测子被编码或解码。自适应内插滤波器可被应用于预测单元(prediction unit,PU)。

在一个实施例中,内插滤波器组包括较长抽头滤波器(longer-tap filter)以及较短抽头滤波器(shorter-tap filter)。在一个示例中,较长抽头滤波器被应用以产生第一内插参考样本,较短抽头滤波器被应用以产生第二内插参考样本,且第一内插参考样本与相关块边界的距离大于第二内插参考样本。于另一示例中,当前块对应于用于重叠运动补偿(overlapped motion compensation,OBMC)的两个邻近块,且较短抽头滤波器可被用于产生两个邻近块之间重叠区域(overlapped area)的内插参考样本,以及较长抽头滤波器可被用于产生两个邻近块的非重叠区域的内插参考样本。此外,较短抽头滤波器可对应于4抽头滤波器,且较长抽头滤波器可对应于8抽头滤波器。于又一示例中,一个或多个当前块可对应于用于运动边界增强(motion boundary enhancement,MBE)的一个当前块。较短抽头滤波器可被应用以产生当前块的边界内插参考样本,且较长抽头滤波器可被应用以产生当前块的内插参考样本。

当前图片可被分区为多个区域,且单独内插滤波器组被决定以用于每个区域。区域可对应于一个条带、一个区块、一个编码树单元、一个编码树块、一个编码单元、或一个预测单元。与用于每个区域的单独内插滤波器组相关的信息被显式地传送或于解码器侧被隐式地导出。在显式传送的情况下,与用于每个区域的单独内插滤波器组相关的语法元素可被传送以指示被选择用于当前区域的单独内插滤波器组。在隐式导出的情况下,于解码器侧,基于编码单元大小、预测单元大小、参考像素的特性、预测模式、运动向量、或任何其组合,与用于每个区域的单独内插滤波器组相关的信息可被导出。

【附图说明】

图1所示为用于8x8块的分数像素运动补偿的8抽头内插滤波器的示例。

图2所示为结合本发明实施例的自适应内插滤波器的示例,其中,滤波器抽头长度被增加以产生离块边界较远的内插样本,以提高编码性能。

图3所示为结合本发明实施例的自适应内插滤波器的另一示例,其中,滤波器抽头长度被缩短以产生更接近块边界的内插样本,以减少所需的参考数据。

图4A所示为用于2NxN预测单元的示范性重叠块运动补偿。

图4B所示为用于Nx2N预测单元的示范性重叠块运动补偿。

图5所示为根据本发明实施例的用于产生重叠块运动补偿中重叠区域的内插参考样本的内插的示例。

图6所示为根据本发明实施例的用于产生用于运动边界增强的边界区域的边界内插参考样本的内插的示例。

图7所示为结合根据本发明的实施例的自适应内插滤波器的示范性流程图,其中,内插滤波器组基于像素位置和/或像素特性被适应性地应用到块。

【具体实施方式】

对于内插,具有较长抽头长度的滤波器通常可以取得更佳的性能。然而,具有较长滤波器抽头的滤波器需要更多计算以及更多的数据存储/访问。例如,如果4抽头内插滤波器被应用于8x8块,则相关的样本总数将为11x11=121。另一方面,对于8抽头滤波器,样本的总数将变为225(=15x15)。本发明的实施例可在不增加数据存储/访问的情况下增加性能,或在不会导致显著性能影响的情况下减少数据存储/访问。用于内插的较大数据存储意味着较大的缓冲器将被需要。另一方面,更多的数据访问意味着数据访问需要更高的系统带宽。

对于如图1所示的现有方法,由HEVC标准使用的8抽头内插滤波器组需要(3+8+4)x(3+8+4)的参考块来执行一个8x8当前块110上的运动补偿。对于当前块的每个像素,8x1像素行或1x8像素列被用于执行8抽头水平或垂直内插。然而,如图1所示,多于8个像素可被用于当前块的这些内部像素(即,非块边界像素)的内插过程。作为如图2所示的示例,对于8x8当前块210,10抽头内插滤波器可被用于当前块中的样本C,且12抽头内插滤波器可被用于当前块中的样本B。如果像素离当前块的块边界较远,更多的像素可被用于内插过程,而不需要比现有方法中那些已经可用的参考样本更多的参考样本。因此,本发明的实施例对这些像素应用具有较长滤波器抽头的内插滤波器组,以提高编码性能。

如先前所提及的,内部像素具有更多像素以使用于内插,而不需要比现有方法中那些已经可用的参考样本更多的参考样本。因此,以上实施例虽然增加了用于内部样本的滤波器抽头长度,但是没有增加所需的带宽。如图3所示,另一实施例利用此特性来减少运动补偿中所需的带宽。对于当前块中接近块边界310的那些像素,具有较短滤波器抽头的内插滤波器组被应用以执行内插过程。例如,8抽头内插滤波器组被应用于样本B,6抽头内插滤波器组被应用于样本C,且4抽头内插滤波器组被应用于样本A。因此,访问一个8x8当前块所需的像素的总数从(3+8+4)x(3+8+4)=225减少到(1+8+2)x(1+8+2)=121,其中,当前块外部的参考像素是由图3中的斜线来指示。换句话说,通过将具有较短滤波器抽头的内插滤波器组应用到接近块边界的那些像素,对于8x8块的运动补偿可获得46%的带宽减小。

内插滤波器的适应(adaptation)还可基于像素特性。与一个或多个像素相关联的特性可被决定,且一个或多个内插滤波器可根据已导出的特性被选择。特性可对应于方差(variance)、边缘方向、或文献中已知的其它已知像素特性。此外,内插滤波器的适应可基于像素的位置以及特性两者。

于HEVC的发展过程中,除了固定内插滤波器组,切换内插滤波器以及偏置(switching interpolation filters and offset,SIFO)也已经被提出。于SIFO中,多个内插滤波器组可于条带头被使用以及被切换。此适应可获得一些区域化(localization)以适应视频序列的特性且提供更佳的编码效率。然而,所需的带宽以及计算复杂性是取决于所选择的内插滤波器组。因为并不是一个图片中所有纹理都是类似的,所以根据SIFO的适应可能并不充分。因此,本发明的另一实施例于区域水平应用自适应内插滤波器组。区域可对应于图片、编码树单元、编码树块、叶编码单元、或预测单元的一部分。内插滤波器组的选择可被显式地导出或被隐式地传送至解码器。对于显式地传送,用于每个区域的语法元素可被编码以指示被选择用于当前区域的内插滤波器组。对于隐式地传送,内插滤波器组的选择可根据块大小、参考像素的特性、预测模式、由解码器导出的信息、或以上任何组合来决定。

以上提到的多系数组内插(multi-coefficient-set interpolation)可与其他内插技术相结合以进一步提高性能或降低数据访问/系统带宽要求。例如,于HEVC发展过程中,重叠块运动补偿技术于JCTVC-C251(Chen,et al,“Overlapped block motion compensation in TMuC”,in Joint Collaborative Team on Video Coding(JCT-VC),of ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG113rd Meeting:Guangzhou,CN,7-15October,2010,Document:JCTVC-C251)中被揭露,其中,OBMC被应用于几何形状分区。另一个于HEVC标准发展过程中的OBMC提议于JCTVC-F299(Guo,et al,“CE2:Overlapped Block Motion Compensation for 2NxN and Nx2N Motion Partitions”,in Joint Collaborative Team on Video Coding(JCT-VC),of ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG11,6th Meeting:Torino,14-22July,2011,Document:JCTVC-F299)中被揭露,其中,OBMC被应用于对称运动分区。根据JCTVC-F299,如果编码单元(coding unit,CU)被分区为两个2NxN或Nx2N分区单元,OBMC被应用于两个2NxN预测块的水平边界,以及两个Nx2N预测块的垂直边界。

图4A至图4B所示为用于2NxN(图4A)以及Nx2N块的(图4B)示范性OBMC。阴影区域的像素属于分区0,空白区域的像素属于分区1。亮度分量的重叠区域被定义为水平(或垂直)PU边界的每个侧的2行(或列)像素。对于离分区边界1行(或列)的像素,即,图4A至图4B中被标注为A的像素,OBMC权重因子为(3/4、1/4)。对于离分区边界2行(或列)的像素,即,图4A至图4B中被标注为B的像素,OBMC权重因子为(7/8、1/8)。对于色度分量,重叠区域被定义为水平(或垂直)PU边界的每个侧的1行(或列)像素,且权重因子为(3/4、1/4)。

在与OBMC过程结合的编码系统中,由于重叠区域的像素需要额外的处理,因此与数据访问相关的系统带宽将增加。图5所示为用于具有OBMC的系统的自适应内插滤波器的示例。框510表示左侧的块,框520表示右侧的块。如果其不重叠,线530对应于重叠块之间的原始边界。当左侧块510被处理时,原始边界的区域(即,边界530的左侧区域)可使用8抽头内插滤波器组被处理。另一方面,块510与块520重叠的区域(即,块510中且位于边界530右侧的区域)可使用4抽头内插滤波器组被内插。类似地,8抽头内插滤波器组可被应用于块520的非重叠区域,且4抽头内插滤波器组可被应用于块520的重叠区域。由于重叠区域使用更短的滤波器,对附加参考样本的需求可减小。

于还在审理中的申请于2014年12月5日,序列号为PCT/CN2014/093148,相同受让人受让的PCT专利申请中,揭露了运动边界处理,其中,根据与对应于当前运动向量以及两个相邻运动向量的三个运动向量相关联的三个预测子的权重和,来计算用于当前块的边界像素的时间预测子。再次说明,运动边界处理需要更多处理的样本并会导致系统带宽的增加。可应用上述的自适应内插滤波器组来减少额外的带宽要求。图6所示为用于产生边界区域中内插像素的内插过程的示例。邻近当前块610右侧的两列相邻像素620必须被重建及内插以用于分数运动向量。用于样本D的水平滤波将需要来自相邻块的两个附加参考样本622以及624。因此,附加参考样本的两个列630将被需要以用于处理当前块右侧的重叠区域。自适应内插滤波器可被应用于减少额外的带宽。例如,4抽头滤波器可被应用于重叠区域中的像素(例如,样本E),以取代现有方法中的8抽头滤波器。因此,除了现有系统中所需的参考像素外,用于样本E的内插不需要任何附加的参考像素。

本发明不限于水平方向的滤波器。在其它实施例中,内插滤波器组可对应于垂直方向或倾斜方向的滤波器。

图7所示为根据本发明的一个实施例的自适应内插滤波器的示范性流程图。如步骤710所示,系统接收与当前图片中一个或多个当前块相关联的输入数据。当前块可以从存储器(例如,计算机存储器,缓冲器(RAM或DRAM)或其它媒体)或处理器中得到。于步骤720中,决定与所述一个或多个当前块相关联的一个或多个当前运动向量(motion vector,MV)。于步骤730中,根据所述一个或多个当前MV定位参考图片中的一个或多个参考块。于步骤740中,对于所述一个或多个当前MV中的每个MV,测试是关于当前MV是否对应于分数像素位置。如果结果为“是”,则执行步骤750以及760。如果步骤为“否”,则步骤750以及760被略过。于步骤750中,基于参考块中现存的参考样本,通过根据像素位置和/或像素特性适应性地使用内插滤波器组产生非整数位置的内插参考样本。内插滤波器组包括多个内插滤波器。接着,使用包括内插参考样本的时间预测子编码或解码当前块。当运动向量对应于像素间位置(inter-pixel location),不需要产生分数像素位置的内插参考样本。整数像素位置的参考样本可用作时间预测子,而不需要内插过程。

根据本发明的实施例,以上所示的流程图旨在说明自适应内插滤波器的示例。本领域技术人员可以在不脱离本发明的精神实质的情况下修改每个步骤,重新排列所述步骤,分割步骤,或合并步骤来实施本发明。

以上描述可使本领域的普通技术人员如特定应用及其要求的上下文提供的来实践本发明。对本领域技术人员来说,对所描述的实施例的各种修改是显而易见的,且本文定义的一般原理可被应用于其它实施例。因此,本发明并非意在限定于以上所示及所描述的特定实施例,而是要符合与此公开揭露的原理和新颖特征相一致的最宽范围。在以上详细描述中,各种具体细节被示出以便提供本发明的彻底理解。然而,本领域技术人员应知晓本发明是可被实践的。

如上所述,本发明的实施例可以由各种硬件,软件代码,或两者的组合来实现。例如,本发明的实施例可以对应于被集成到视频压缩芯片的一个或多个电子电路,或被集成于视频压缩软件的程序代码以执行本文所描述的处理过程。本发明的实施例还可以是执行于数字信号处理器上的程序代码,以执行本文所描述的处理过程。本发明还可包含由计算机处理器,数字信号处理器,微处理器,或现场可编程门阵列执行的多个功能。根据本发明,通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码,这些处理器可被配置为执行特定任务。软件代码或固件代码可被开发为不同的编程语言以及不同的格式或风格。软件代码还可被编译以用于不同的目标平台。然而,根据本发明的不同的软件代码的代码格式、风格及语言,以及用于配置代码以执行任务的其他方式,均不会背离本发明的精神以及范围。

在不脱离其精神或本质特征的情况下,本发明可以其它特定形式来体现。所描述的示例在所考虑的所有的方面都只是说明性的而不是限制性的。因此,本发明的范围是由其所附的权利要求来指示的,而不是由上文的描述来指示的。在权利要求的等效范围及含义内的所有改变均包含于本发明范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1