用于视频编码的替代变换的方法及装置

文档序号:1395768 发布日期:2020-02-28 浏览:26次 >En<

阅读说明:本技术 用于视频编码的替代变换的方法及装置 (Method and apparatus for alternate transforms for video coding ) 是由 徐志玮 于 2015-11-26 设计创作,主要内容包括:本发明公开了一种根据控制旗标于视频编码系统中进行替代变换的方法及装置。在一个实施例中,确定用于当前PU的控制旗标。如果控制旗标为开,如果当前TU具有第一边界类型,则于编码器侧将第一变换应用到每个当前TU(变换单元)或于解码器侧将第一变换的逆变换应用到每个当前TU。此外,如果当前TU具有第二边界类型,则第二变换被用于每个当前TU。第一变换不同于第二变换。另一方面,如果控制旗标为关,则选择的变换被用于每个当前TU。(A method and apparatus for performing a substitution transform in a video coding system according to a control flag is disclosed. In one embodiment, a control flag for the current PU is determined. If the control flag is on, if the current TU has the first boundary type, a first transform is applied to each current TU (transform unit) at the encoder side or an inverse transform of the first transform is applied to each current TU at the decoder side. Furthermore, if the current TU has the second boundary type, a second transform is used for each current TU. The first transformation is different from the second transformation. On the other hand, if the control flag is off, the selected transform is used for each current TU.)

用于视频编码的替代变换的方法及装置

【相关申请的交叉引用】

本发明主张申请于2014年11月28日,序列号为62/085,358的美国临时专利申请的优先权。将此美国临时专利申请以参考的方式并入本文中。

【技术领域】

本发明关于视频编码。特别地,本发明涉及将替代变换(alternative transform)用于视频编码中的帧间预测编码块。

【背景技术】

高效视频编码(High-Efficiency Video Coding,HEVC)是由视频编码的联合协作小组(Joint Collaborative Team on Video Coding,JCT-VC)开发的一种新的国际视频编码标准。HEVC是以基于混合块的运动补偿的离散余弦变换(discrete cosine transform,DCT)类变换编码架构为基础。用于压缩的基础单元被称为编码单元(coding unit,CU),其为2Nx2N的方块。CU可以从最大CU(largest CU,LCU)开始,其在HEVC中也被称为编码树单元(coded tree unit,CTU),且每个CU可以被递归地分割为四个更小的CU,直到达到预定义的最小尺寸。当CU分层树的分割被执行,根据预测类型以及预测单元(prediction unit,PU)分区,每个CU被进一步分割为一个或多个PU单元。每个CU或每个CU的的残差被分割为变换单元(transform unit,TU)树以应用2D变换(例如:DCT或离散正弦变换(discrete sinetransform,DST))。

类似于许多其它先前的标准,HEVC采用离散余弦变换类型II(DCT-II)作为其核心变换,因为其具有强大的“能量压缩”特性。大多数信号信息倾向于集中在DCT-II的几个低频率分量中,其近似于Karhunen-Loève变换(Karhunen-Loève Transform,KLT)。如本领域中所公知的,KLT是对去相关信号(de-correlate signal)的最佳变换,其可以通过马尔科夫过程(Markov process)来建模。信号f[n]的N点DCT-II可以于式子(1)中定义。

Figure BDA0002314348050000021

对于帧内预测残差,发现具有比DCT-II更有效的其它变换。于JCTVC-B024(Yeo,etal.,“Mode-Dependent Fast Separable KLT for Block-based Intra Coding”,JointCollaborative Team on Video Coding(JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2nd Meeting:Geneva,CH,21-28 July,2010,Document:JCTVC-B024)、JCTVC-C108(Saxena,et al.,“Jointly optimal intra prediction and adaptive primarytransform”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG16 WP3and ISO/IEC JTC1/SC29/WG11,3rd Meeting:Guangzhou,CN,7-15 October,2010,Document:JCTVC-C108)以及JCTVC-E125(Saxena,et al.,“CE7:Mode-dependent DCT/DSTwithout 4*4 full matrix multiplication for intra prediction”,JointCollaborative Team on Video Coding(JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting:Geneva,CH,16-23 March,2011,Document:JCTVC-E125)中,DST被引入以作为用于斜率帧内模式(oblique Intra mode)的DCT的替代。对于帧间预测残差,DCT-II是当前HEVC中使用的唯一变换。然而,DCT-II并不是所有情况下的最佳变换。于JCTVC-G281(An,et al.,“Non-CE7:Boundary-Dependent Transform for Inter-Predicted Residue”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-TSG16 WP3 and ISO/IEC JTC1/SC29/WG11,Document:JCTVC-G281)中,在一些情况下,DST类型VII(Discrete Sine Transform type VII,DST-VII)以及DCT类型IV(Discrete CosineTransform type IV,DCT-IV)被提出来以取代DCT-II。当对PU使用帧间预测时,PU边界附近的预测误差(即,预测残差或残差)通常比PU中间的预测误差更大。图1所示为用于4x4的PU的平方残差值(squared residue value)的示例。如图1所示,PU边界的残差(即,预测误差)倾向于具有较大的平方值。

如图2所示,当PU被分割为多个TU时,PU边界附近的预测误差大于内部(interior)TU(非PU)边界附近的预测误差。于图2中,PU 210被分割为四个TU(即,TU0、TU1、TU2、以及TU3)。块220对应于左上方TU(即,TU0)的平方残差值,其中,PU边界(由粗实线表示)附近的残差通常大于内部TU边界(由虚线表示)附近的残差。对于TU0,可以观察到平方残差值峰值(peak)大致位于左上角附近并沿着右下角减小的趋势。类似地,对于其它TU,平方残差值峰值也大致位于相应PU角附近并沿着PU的中心减小。

这种效果的原因可能是因为两个相邻PU之间的不同运动向量(motion vector,MV)。为了解决这种不均匀的误差分布,可使用替代变换(例如:DST-VII以及DCT-IV)。式子(2)以及式子(3)分别示出了信号f[n]的N点DST-VII以及DCT-IV。

Figure BDA0002314348050000031

Figure BDA0002314348050000032

基于以上观察,在JCTVC-G281中公开了一种方法,如果在水平或垂直方向上的两个TU边界中的一个且仅有一个是PU边界,则使用DST-VII或DCT-IV来替代DCT-II。表1示出了通过使用DST-VII从边界类型到变换类型的映射。表2示出了通过使用DCT-IV从边界类型到变换类型的映射。

表1

Figure BDA0002314348050000033

Figure BDA0002314348050000041

表2

Figure BDA0002314348050000042

表1中的F(DST-VII)表示DST矩阵从左到右翻转。使用F(DST-VII)的情况也可以通过先翻转输入数据再使用DST-VII来实现。F(DCT-IV)的情况也是如此。于表1以及表2中,术语“非PU”以及“PU”分别表示非PU边界以及PU边界。于表1以及表2中,当水平或垂直方向的TU边界都是PU边界或非PU边界时,使用DCT-II。

根据表1,图2中的四个TU将使用如表3所示的变换。

表3

TU 水平变换 垂直变换
TU0 F(DST-VII) F(DST-VII)
TU1 DST-VII F(DST-VII)
TU2 F(DST-VII) DST-VII
TU3 DST-VII DST-VII

虽然在JCTVC-G281中公开的边界依从变换(Boundary Dependent Transform,BDT)方法可以提高编码系统的整体性能。然而,由于单个TU或PU的特性,根据JCTVC-G281的BDT方法对于给定块并不是总能达到最佳性能。希望开发出一种能进一步提高性能的方法。

发明内容

本发明公开了一种根据控制旗标于视频编码系统中进行替代变换的方法及装置。根据本发明的实施例,确定用于当前PU的控制旗标。如果控制旗标具有第一值,则在编码器侧对每个当前TU应用第一变换,或如果当前TU具有第一边界类型,则于解码器侧将第一变换的逆变换应用到每个当前TU。此外,如果当前TU具有第二边界类型,则于编码器侧将第二变换应用到每个当前TU,或于解码器侧将第二变换的逆变换应用到每个当前TU。第一变换不同于第二变换。另一方面,如果控制旗标具有第二值,无论当前TU为何边界类型,于编码器侧对每个当前TU应用选择的变换(selected transform),或于解码器侧对每个当前TU应用所述选择的变换的逆变换。

在一个实施例中,控制旗标可被标识于TU、PU、或CU等级。在另一实施例中,可以仅对于具有第一尺寸的当前PU、TU、或CU显式地标识控制旗标。在另一实施例中,控制旗标是根据序列、图片、或条带标头等级中的其它旗标来被显式地标识。

在一个实施例中,基于当前PU的边界类型隐式地确定控制旗标,且根据被显式地标识的另一旗标确定第一变换、第二变换、选择的变换、或其组合。

在一个实施例中,第二变换对应于第一变换的翻转版本(flipped version)。第一变换可对应于离散正弦变换类型V-II(discrete sine transform type V-II,DST-VII)或离散余弦变换类型IV(discrete cosine transform type IV,DCT-IV)。第一边界类型可包含左PU边界(left PU boundary)加上右非PU边界(right non-PU boundary)以及顶非PU边界(top non-PU boundary)加上底PU边界(bottom PUboundary),且第二边界类型包含左非PU边界加上右PU边界以及顶PU边界加上底非PU边界。此外,第一边界类型还可包括左PU边界加上右PU边界、左非PU边界加上右非PU边界、顶PU边界加上底PU边界、以及顶非PU边界加上底非PU边界。

第一变换、第二变换、选择的变换、或其组合可以取决于当前PU的块尺寸。例如,如果当前PU的块尺寸为4x4,则第一变换可对应于DST-VII,且如果当前PU的块尺寸为8x8或16x16,则第一变换可对应于DCT-IV。选择的变换可对应于离散余弦变换类型II(discretecosine transform type II,DCT-II)。

在另一方面,本发明公开了一种根据控制旗标于视频编码系统中进行替代变换的方法及装置。根据本发明的实施例,确定用于当前PU的控制旗标。如果控制旗标具有第一值,如果当前TU属于第一类型,则于编码器侧将第一变换应用到每个当前TU或于解码器侧将第一变换的逆变换应用到每个当前TU。此外,如果当前TU属于第二类型,则于编码器侧将第二变换应用到每个当前TU或于解码器侧将第二变换的逆变换应用到每个当前TU。第一变换不同于第二变换。另一方面,如果控制旗标具有第二值,无论当前TU为何边界类型,于编码器侧将选择的变换应用到每个当前TU或于解码器侧将所述选择的变换的逆变换应用到每个当前TU。在一个实施例中,当前TU是否属于第一类型或第二类型是根据边界类型、块尺寸、模式信息、或其组合来确定。

【附图说明】

图1所示为用于4x4 PU的平方残差值的示例。

图2所示为PU边界附近的预测误差大于内部TU(非PU)边界附近的预测误差的示例,其中,PU被分区为四个TU。

图3所示为根据本发明实施例的基于控制旗标的结合块特性相关变换(blockcharacteristics-dependent transform)的编码系统的示范性流程图。

具体实施方式

下文的描述是实施本发明的最佳预期模式。这种描述是为了说明本发明的一般原理,而不应被理解成对本发明的限制。本发明的范围可通过参考所附权利要求做最好的确定。

如前所述,观察到PU边界附近的帧间预测误差大于PU中间的帧间预测误差。因此,一种边界依从变换(Boundary Dependent Transform,BDT)方法被公开于JCTVC-G281中,以于单个PU中适应这种不均匀误差分布。BDT方法根据表1以及表2中总结的边界类型(即,非PU边界或PU边界)来选择变换。

然而,对于给定边界类型,BDT方法总是将固定类型的变换(fixed-typetransform)应用到块(例如:DST-VII或DCT-II)。然而,块与块的预测残差的特性可能会非常不同。BDT方法可能不会总是达到最佳性能。因此,为了进一步提高BDT的性能,本发明公开了一种使用控制旗标来控制BDT操作的方法。具有显式的控制旗标,编码器可以使用模式决定方法(例如:速率失真最佳化(Rate Distortion Optimization,RDO))来决定是否开启或关闭BDT。接着编码器标识此控制旗标以通知解码器。例如,控制旗标可被标识于TU、PU、或CU等级。在一个示例中,仅在当前PU、TU、或CU具有特定尺寸时,控制旗标被标识。然而,控制旗标还可被隐式地确定。例如,控制旗标的值可以取决于块尺寸,以使边界依从变换对于一些块尺寸开启且对于其它块尺寸关闭。可选地,控制旗标的值可以取决于模式信息,以使边界依从变换对于一些预测模式开启,且对于其它预测模式关闭。此外,控制旗标可根据序列、图片、或条带标头等级中的其它旗标被显式地标识。例如,其它旗标可对应于序列等级中的present_flag。如果present_flag为1,则控制旗标存在。如果present_flag为0,则控制旗标不存在且其值被推断为0。当控制旗标被隐式地确定时,另一显式的旗标可被标识以选择用于与PU相关联的TU的变换。

显式的控制旗标可被使用如下。如果控制旗标等于0,则HEVC中的原始DCT将被用于TU。如果控制旗标等于1,则BDT将被用于TU。

于另一示例中,显式的控制旗标可被使用如下。如果控制旗标等于0,则HEVC中的原始DCT将被用于TU。如果控制旗标等于等于1,则BDT将被用于TU。然而,此BDT是从JCTVC-G281中修改得到的,以使修改后的BDT仅遵循关于是否使用变换(transform,T)的翻转或非翻转版本的决定。对于每个边界类型,修改后的BDT可使用不同于原始BDT的变换。表4所示为用于每个边界类型的变换选择的示例。变换选择可以基于当前变换单元(或当前预测单元)的块尺寸。例如,DST-VII被用于4点,且DCT-IV被用于8点以及16点。于表4中,Flip-T表示使用T的翻转变换矩阵的变换。于另一示例中,变换选择可以基于当前预测单元的模式信息。

表4

Figure BDA0002314348050000081

于以上示例中,特定变换(例如:DST-VII以及DCT-IV)被用作为实施本发明的示范性变换。然而,本发明不限于所使用的特定变换。无论使用何种变换,控制旗标可被用于控制边界依从变换的使用。

在另一实施例中,控制旗标可根据当前块的边界类型、块尺寸、或运动信息被隐式地确定,且变换选择是根据被显式标识的另一旗标被进一步确定。例如,通过从第一变换类型或基于块边界类型、块尺寸、或模式信息显式标识的类型(explicitly signaling type)中选择,来隐式地确定用于当前块的当前变换类型。如果显式标识的类型被选择,则当前变换类型进一步由显式标识的旗标来确定。

图3所示为根据本发明实施例的基于控制旗标的结合块特性相关变换的编码系统的示范性流程图。于步骤310中,系统接收与在帧间或帧内预测模式编码的当前PU相关联的输入数据,其中,当前PU被分割为一个或多个TU。输入数据可对应于编码器侧的待编码的当前PU的残差或解码器侧的当前PU的已编码残差。当前PU可以从存储器(例如:计算机存储器或缓冲器(RAM或DRAM))中获取。视频比特流还可从处理器(例如:处理单元或数字信号处理器)中接收。于步骤320中,确定用于当前PU的控制旗标。于步骤330中,测试控制旗标是否具有第一值(例如,开)。如果结果为“是”,则执行步骤340以及350。如果结果为“否”,则执行步骤360。于步骤340中,如果当前TU具有第一类型(即,其块特性属于第一类型),则于编码器侧将第一变换应用到每个当前TU或于解码器侧将第一变换的逆变换应用到每个当前TU。于步骤350中,如果当前TU具有第二类型(即,其块特性属于第二类型),则于编码器侧将第二变换应用到每个当前TU或于解码器侧将第二变换的逆变换应用到每个当前TU,其中,第一变换不同于第二变换。在一个实施例中,当前TU是否属于第一类型或第二类型是与当前TU的边界类型相关联的。在另一实施例中,当前TU是否属于第一类型或第二类型是根据边界类型(例如,PU边界或非PU边界)、块尺寸(例如,是否大于预定尺寸)、模式信息(例如,具体预测模式相关的信息)、或其组合来确定。于步骤360中,无论当前TU为何类型,于编码器侧将选择的变换应用到每个当前TU或于解码器侧将所述选择的变换的逆变换应用到每个当前TU。

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

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

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

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

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种网络视频图像编码方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类