一种处理视频数据的方法及装置转让专利

申请号 : CN201580053940.X

文献号 : CN106797466B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 克里希纳坎斯·拉帕卡霍埃尔·索赖·罗哈斯谢成郑庞超瓦迪姆·谢廖金马尔塔·卡切维奇

申请人 : 高通股份有限公司

摘要 :

本发明描述用于确定经帧内块复制IBC译码块的边界强度值的技术以及基于图片的一区域是否将用作IBC译码的参考而选择性存储所述区域的未经滤波像素值的技术。

权利要求 :

1.一种处理视频数据的方法,所述方法包括:

确定所述视频数据的图片中的当前块的译码模式和所述视频数据的所述图片中的相邻块的译码模式;

基于所述当前块为经帧内块复制IBC译码块或所述相邻块为经IBC译码块中的至少一者且所述当前块和所述相邻块两者都非经帧内模式译码而执行边界强度值确定过程以确定边界强度值,其中执行所述边界强度值确定过程包括确定经IBC译码的所述当前块或所述相邻块中一者的参考块中的任一像素是否以帧内预测模式或IBC模式译码,以及基于对所述参考块中的任一像素是否以帧内预测模式或IBC模式译码的确定而确定所述边界强度值,且其中所述边界强度值确定过程不同于在所述当前块或所述相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程;以及基于所确定的边界强度值沿所述当前块与所述相邻块之间的边缘进行解块滤波。

2.根据权利要求1所述的方法,其中所述边界强度值确定过程为在所述当前块或所述相邻块中的一者是经IBC译码块且另一块是经帧间译码块时的相同边界强度值确定过程。

3.根据权利要求1所述的方法,其中执行所述边界强度值确定过程包括基于所述参考块中没有像素以帧内模式或IBC模式译码而设定所述边界强度值等于1,以及基于所述参考块中的任一像素以帧内模式或IBC模式译码而设定所述边界强度值等于2。

4.根据权利要求1所述的方法,其进一步包括:

确定是否参考所述图片中的一区域以用于所述图片中至少一个块的使用IBC模式的预测;

基于对参考所述区域以用于使用IBC模式的预测的确定而存储所述图片中所述区域的未经滤波像素值;以及基于对不参考所述区域以用于使用IBC模式的预测的确定而避免存储所述图片中所述区域的未经滤波像素值。

5.根据权利要求4所述的方法,其中每一区域包括以下中的一者:图片、图块、切片、预测单元PU块、译码单元CU、译码树块CTB、一组CTB、N×N的固定大小或M×N的矩形分割区。

6.根据权利要求4所述的方法,其进一步包括:

在视频参数集VPS、序列参数集SPS、图片参数集PPS、切片标头、参数集扩展或辅助增强信息SEI消息中的一或多者中接收信息,其中确定是否参考所述图片中的所述区域以用于所述图片中至少一个块的使用IBC模式的预测包括基于在所述VPS、所述SPS、所述PPS、所述切片标头、所述参数集扩展或所述SEI消息中的一或多者中接收的信息进行确定。

7.根据权利要求4所述的方法,其进一步包括:

在视频参数集VPS、序列参数集SPS、图片参数集PPS、切片标头、参数集扩展或辅助增强信息SEI消息中的一或多者中输出信息,其中所述信息识别是否参考所述图片中的所述区域以用于所述图片中至少一个块的使用IBC模式的预测。

8.一种用于处理视频数据的装置,所述装置包括:

存储器,其经配置以存储所述视频数据的相邻块;以及

视频译码器,其经配置以:

确定所述视频数据的图片中的当前块的译码模式和所述视频数据的所述图片中的所述相邻块的译码模式;

基于所述当前块为经帧内块复制IBC译码块或所述相邻块为经IBC译码块中的至少一者且所述当前块和所述相邻块两者都非经帧内模式译码而执行边界强度值确定过程以确定边界强度值,其中为了执行所述边界强度值确定过程,所述视频译码器经配置以确定经IBC译码的所述当前块或所述相邻块中一者的参考块中的任一像素是否以帧内预测模式或IBC模式译码,且基于对所述参考块中的任一像素是否以帧内预测模式或IBC模式译码的确定而确定所述边界强度值,且其中所述边界强度值确定过程不同于在所述当前块或所述相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程;以及基于所确定的边界强度值沿所述当前块与所述相邻块之间的边缘进行解块滤波。

9.根据权利要求8所述的装置,其中所述边界强度值确定过程为在所述当前块或所述相邻块中的一者是经IBC译码块且另一块是经帧间译码块时的相同边界强度值确定过程。

10.根据权利要求8所述的装置,其中为了执行所述边界强度值确定过程,所述视频译码器经配置以基于所述参考块中没有像素以帧内模式或IBC模式译码而设定所述边界强度值等于1,且基于所述参考块中的任一像素以帧内模式或IBC模式译码而设定所述边界强度值等于2。

11.根据权利要求8所述的装置,其中所述视频译码器经配置以:

确定是否参考所述图片中的一区域以用于所述图片中至少一个块的使用IBC模式的预测;

基于对参考所述区域以用于使用IBC模式的预测的确定而将所述图片中所述区域的未经滤波像素值存储于所述存储器单元中;以及基于对不参考所述区域以用于使用IBC模式的预测的确定而避免存储所述图片中所述区域的未经滤波像素值。

12.根据权利要求11所述的装置,其中每一区域包括以下中的一者:图片、图块、切片、预测单元PU块、译码单元CU、译码树块CTB、一组CTB、N×N的固定大小或M×N的矩形分割区。

13.根据权利要求11所述的装置,其中所述视频译码器包括视频解码器,且其中所述视频解码器经配置以:在视频参数集VPS、序列参数集SPS、图片参数集PPS、切片标头或辅助增强信息SEI消息中的一或多者中接收信息,其中为了确定是否参考所述图片中的所述区域以用于所述图片中至少一个块的使用IBC模式的预测,所述视频解码器经配置以基于在所述VPS、所述SPS、所述PPS、所述切片标头或所述SEI消息中的一或多者中接收的信息进行确定。

14.根据权利要求11所述的装置,其中所述视频译码器包括视频编码器,且其中所述视频编码器经配置以:在视频参数集VPS、序列参数集SPS、图片参数集PPS、切片标头或辅助增强信息SEI消息中的一或多者中输出信息,其中所述信息识别是否参考所述图片中的所述区域以用于所述图片中至少一个块的使用IBC模式的预测。

15.根据权利要求8所述的装置,其中所述装置包括以下中的一或多者:

集成电路IC;

微处理器;或

无线通信装置,其包含用以捕获所述图片的相机或用以显示所述图片的显示器中的至少一者。

16.一种非暂时性计算机可读存储媒体,其上存储有指令,所述指令在经执行时使得用于处理视频数据的装置的一或多个处理器进行以下操作:确定所述视频数据的图片中的当前块的译码模式和所述视频数据的所述图片中的相邻块的译码模式;

基于所述当前块为经帧内块复制IBC译码块或所述相邻块为经IBC译码块中的至少一者且所述当前块和所述相邻块两者都非经帧内模式译码而执行边界强度值确定过程以确定边界强度值,其中使得所述一或多个处理器执行所述边界强度值确定过程的所述指令包括使得所述一或多个处理器进行以下操作的指令:确定经IBC译码的所述当前块或所述相邻块中一者的参考块中的任一像素是否以帧内预测模式或IBC模式译码,以及基于对所述参考块中的任一像素是否以帧内预测模式或IBC模式译码的确定而确定所述边界强度值,且其中所述边界强度值确定过程不同于在所述当前块或所述相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程;以及基于所确定的边界强度值沿所述当前块与所述相邻块之间的边缘进行解块滤波。

17.根据权利要求16所述的非暂时性计算机可读存储媒体,其中所述边界强度值确定过程为在所述当前块或所述相邻块中的一者是经IBC译码块且另一块是经帧间译码块时的相同边界强度值确定过程。

18.根据权利要求16所述的非暂时性计算机可读存储媒体,其中使得所述一或多个处理器执行所述边界强度值确定过程的所述指令包括使得所述一或多个处理器进行以下操作的指令:基于所述参考块中没有像素以帧内模式或IBC模式译码而设定所述边界强度值等于1,以及基于所述参考块中的任一像素以帧内模式或IBC模式译码而设定所述边界强度值等于2。

19.根据权利要求16所述的非暂时性计算机可读存储媒体,其进一步包括使得所述一或多个处理器进行以下操作的指令:确定是否参考所述图片中的一区域以用于所述图片中至少一个块的使用IBC模式的预测;

基于对参考所述区域以用于使用IBC模式的预测的确定而存储所述图片中所述区域的未经滤波像素值;以及基于对不参考所述区域以用于使用IBC模式的预测的确定而避免存储所述图片中所述区域的未经滤波像素值。

20.一种用于处理视频数据的装置,所述装置包括:

用于确定所述视频数据的图片中的当前块的译码模式和所述视频数据的所述图片中的相邻块的译码模式的装置;

用于基于所述当前块为经帧内块复制IBC译码块或所述相邻块为经IBC译码块中的至少一者且所述当前块和所述相邻块两者都非经帧内模式译码而执行边界强度值确定过程以确定边界强度值的装置,其中用于执行所述边界强度值确定过程的所述装置包括用于确定经IBC译码的所述当前块或所述相邻块中一者的参考块中的任一像素是否以帧内预测模式或IBC模式译码的装置,以及用于基于对所述参考块中的任一像素是否以帧内预测模式或IBC模式译码的确定而确定所述边界强度值的装置,且其中所述边界强度值确定过程不同于在所述当前块或所述相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程;以及用于基于所确定的边界强度值沿所述当前块与所述相邻块之间的边缘进行解块滤波的装置。

21.根据权利要求20所述的装置,其中所述边界强度值确定过程为在所述当前块或所述相邻块中的一者是经IBC译码块且另一块是经帧间译码块时的相同边界强度值确定过程。

22.根据权利要求20所述的装置,其中用于执行所述边界强度值确定过程的所述装置包括用于基于所述参考块中没有像素以帧内模式或IBC模式译码而设定所述边界强度值等于1,且基于所述参考块中的任一像素以帧内模式或IBC模式译码而设定所述边界强度值等于2的装置。

23.根据权利要求20所述的装置,其进一步包括:

用于确定是否参考所述图片中的一区域以用于所述图片中至少一个块的使用IBC模式的预测的装置;

用于基于对参考所述区域以用于使用IBC模式的预测的确定而存储所述图片中所述区域的未经滤波像素值的装置;以及用于基于对不参考所述区域以用于使用IBC模式的预测的确定而避免存储所述图片中所述区域的未经滤波像素值的装置。

说明书 :

一种处理视频数据的方法及装置

[0001] 本申请案主张2014年10月7日提交的第62/061,063号美国临时申请案和2014年 10月13日提交的第62/063,330号美国临时申请案的权益,所述申请案中每一者的全部内容以引用的方式并入本文中。

技术领域

[0002] 本发明涉及视频译码,并且更确切地说,涉及用于对视频数据进行滤波的技术。

背景技术

[0003] 数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似物。数字视频装置实施视频压缩技术,例如通过MPEG-2、MPEG-4、 ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)、目前正在开发的高效率视频译码(HEVC)标准及此类标准的扩展部分定义的标准中描述的技术,以便更有效地发射、接收及存储数字视频信息。
[0004] 视频压缩技术包含空间预测和/或时间预测,以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,一视频图片或切片可以分割成多个块。每一块可被进一步分割。使用相对于同一图片或切片中相邻块中的参考样本的空间预测来对经帧内译码(I) 的图片或切片中的块进行编码。经帧间译码(P或B)图片或切片中的块可以使用相对于同一图片或切片中相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。空间或时间预测产生待译码块的预测性块(其也可被称作“预测块”)。残余数据表示待译码原始块与预测块之间的像素差。
[0005] 经帧间译码块是根据指向形成预测块的参考样本块的运动向量和指示经译码块与预测块之间的差的残余数据编码的。根据帧内译码模式和残差数据来对经帧内译码块进行编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。

发明内容

[0006] 一般来说,本发明涉及用于确定块的边界强度值的技术,所述块具有以帧内块复制模式译码(例如,编码或解码)的相邻块或所述块自身以帧内块复制模式译码。以此方式,在使用帧内块复制时,以独立的方式确定边界强度值,而非利用用于帧间或帧内预测的边界强度值计算。根据边界强度值,视频译码器(例如,视频编码器或视频解码器)可确定应用解块滤波的方式。
[0007] 本发明还描述用于确定是否应存储图片内一区域的像素值的实例技术。举例来说,在帧内块复制模式中,从与块在同一图片中的参考块的未经滤波像素值预测所述块。然而,并非所述图片内的所有块或区域都可用于帧内块复制模式。在一些实例中,如果确定了一区域不包含用作帧内块译码的参考块的块,那么视频译码器可不存储所述区域的未经滤波像素值。
[0008] 在一个实例中,本发明描述一种处理视频数据的方法,所述方法包括:确定视频数据的图片中的当前块的译码模式和视频数据的图片中的相邻块的译码模式;基于当前块或相邻块中的一者为经帧内块复制(IBC)译码块且另一块为经帧间译码块而执行边界强度值确定过程以确定边界强度值,其中所述边界强度值确定过程不包含识别经帧间译码块的运动向量,且其中所述边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程;以及基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波。
[0009] 在一个实例中,本发明描述一种用于处理视频数据的装置,所述装置包括:存储器,其经配置以存储视频数据的相邻块;以及视频译码器,其经配置以进行以下操作:确定视频数据的图片中的当前块的译码模式和视频数据的图片中的相邻块的译码模式;基于当前块或相邻块中的一者为经帧内块复制(IBC)译码块且另一块为经帧间译码块而执行边界强度值确定过程以确定边界强度值,其中所述边界强度值确定过程不包含识别经帧间译码块的运动向量,且其中所述边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程;以及基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波。
[0010] 在一个实例中,本发明描述一种处理视频数据的装置,所述装置包括:用于确定视频数据的图片中的当前块的译码模式和视频数据的图片中的相邻块的译码模式的装置;用于基于当前块或相邻块中的一者为经帧内块复制(IBC)译码块且另一块为经帧间译码块而执行边界强度值确定过程以确定边界强度值的装置,其中所述边界强度值确定过程不包含识别经帧间译码块的运动向量,且其中所述边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程;以及用于基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波的装置。
[0011] 在一个实例中,本发明描述一种上面存储有指令的非暂时性计算机可读储存媒体,所述指令在经执行时使得用于处理视频数据的装置的一或多个处理器进行以下操作:确定视频数据的图片中的当前块的译码模式和视频数据的图片中的相邻块的译码模式;基于当前块或相邻块中的一者为经帧内块复制(IBC)译码块且另一块为经帧间译码块而执行边界强度值确定过程以确定边界强度值,其中所述边界强度值确定过程不包含识别经帧间译码块的运动向量,且其中所述边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程;以及基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波。
[0012] 在附图和下文描述中陈述本发明的一或多个实例的细节。其它特征、目标和优点将从所述描述和图式以及权利要求书而显而易见。

附图说明

[0013] 图1是说明可以实施本发明的技术的实例视频编码和解码系统的框图。
[0014] 图2是说明可以实施本发明的技术的实例视频编码器的框图。
[0015] 图3是说明可以实施本发明的技术的实例视频解码器的框图。
[0016] 图4A到4I是说明相邻块的不同译码模式的不同组合的概念图。
[0017] 图5说明可对其执行解块滤波的相邻块。
[0018] 图6是说明帧内块复制(帧内BC)过程的实例的图式。
[0019] 图7说明用于合并模式和AMVP模式的空间相邻运动向量候选者。
[0020] 图8是说明针对图片中的译码单元(CU)的实例帧内块复制(IBC)预测分配的概念图。
[0021] 图9是说明根据本发明的一个实例技术的流程图。
[0022] 图10是说明根据本发明的一个实例技术的流程图。

具体实施方式

[0023] 本发明描述用于解块滤波的边界强度值确定的实例技术。举例来说,本发明描述在启用帧内块复制(IBC)模式(例如用于屏幕内容译码)时使得能够改善解块滤波效果的方法。关于屏幕内容译码描述实例技术,但所述实例技术不应被视为限于屏幕内容译码。
[0024] 在重建块之后,可使用解块滤波过程来检测块边界处的伪影且通过应用所选择的滤波器使块伪影变细。举例来说,一个块包含四个块边界(例如,边缘):顶部边缘、底部边缘、左侧边缘和右侧边缘。因此,一个块可包含至多四个相邻块:顶部相邻块、底部相邻块、左侧相邻块和右侧相邻块。解块滤波过程可以使沿与对应相邻块的边缘的块伪影变细,且针对每一边界单独地作出滤波决策。
[0025] 为易于理解,本发明将所述技术描述为被应用于与相邻块形成边缘的当前块。视频译码器(例如,视频编码器或视频解码器)可重建当前块且检索相邻块的样本或像素值,并且沿由所述当前块与相邻块形成的边缘进行解块滤波。视频译码器可对当前块中接近于所述边缘的像素值执行解块滤波,并且将所得经解块滤波块存储于经解码图片缓冲器 (DPB)中。
[0026] 举例来说,视频编码器可执行解块滤波作为重建的一部分,使得经解块滤波块可用作后一块的参考块。视频解码器可执行解块滤波作为重建的一部分,使得在显示包含当前块的图片时移除视觉伪影。视频解码器还可执行解块滤波,使得在当前块用作后一块的参考块时,视频解码器正使用视频编码器用于编码所述后一块的相同样本或像素值来重建所述后一块。
[0027] 本发明将所述技术描述为用视频译码器加以实施,因为视频编码器和视频解码器两者均执行解块滤波的大体上类似功能。视频译码器一般用于指视频编码器和视频解码器,且与解块滤波有关的技术可为用于处理视频数据的技术的一部分。举例来说,用于处理视频数据的装置包含被配置成执行本发明中所描述的实例技术的视频译码器。
[0028] 解块滤波可并非应用于每一个例。实际上,视频译码器可确定是否沿当前块与相邻块之间的边缘应用解块滤波。举例来说,视频译码器可确定边界强度值,且基于所确定的边界强度值沿边缘进行解块滤波。
[0029] 本发明描述在IBC(帧内块复制)模式用于形成边缘的块中的至少一者时使用的实例技术。在IBC模式中,使用与经预测的块在同一图片中的参考块来预测所述块。这个参考块通过块向量加以识别,所述块向量定义图片内的参考块相对于所述图片中正译码的当前块的位移。
[0030] 在本发明中,视频译码器基于形成边缘的至少一个块是否是使用IBC模式加以译码来确定用于对视频数据图片中的所述边缘进行解块滤波的边界强度值。视频译码器接着可基于所确定的边界强度值来确定对所述边缘进行解块滤波的方式。本发明的滤波技术可用于给定视频块的一些或所有边缘上,例如顶部边缘、右侧边缘、左侧边缘或底部边缘。
[0031] 作为一个实例,如果形成边缘的当前块或相邻块是以IBC模式译码的,那么视频译码器可设定边界强度值等于一特定值(例如,一)。作为另一实例,如果形成边缘的当前块或相邻块是以IBC模式译码的,那么视频译码器可确定以IBC模式译码的这个块的帧内块复制参考块(IBC参考块)。视频译码器接着可确定所述IBC参考块中任一像素是否是以帧内预测模式译码的。如果所述IBC参考块中任一像素是以帧内预测模式译码的,那么视频译码器可确定边界强度值等于第一值(例如,二);否则,视频译码器可确定边界强度等于与第一值不同的第二值(例如,一)。
[0032] 作为另一实例,如果形成边缘的当前块或相邻块是以IBC模式译码的,那么视频译码器可确定以IBC模式译码的这个块的帧内块复制参考块(IBC参考块)。视频译码器接着可确定所述IBC参考块中任一像素是否是以帧内预测模式或IBC模式译码的。如果所述IBC参考块中任一像素是以帧内预测模式或IBC模式译码的,那么视频译码器可确定边界强度值等于第一值(例如,二);否则,视频译码器可确定边界强度等于与第一值不同的第二值(例如,一)。
[0033] 在一些实例中,可存在对解块滤波过程施加的约束条件。举例来说,如果当前块或相邻块是以帧内预测模式译码的,那么无论是当前块还是相邻块以IBC模式加以译码,视频译码器都可设定边界强度值等于一特定值(例如,二)。如果当前块和相邻块都不是以帧内预测模式译码的,当前块或相邻块中的一者以IBC模式加以译码且另一者以帧间预测模式加以译码,那么视频译码器可基于用于当前块或相邻块中的一者以IBC模式加以译码时的上述实例技术来设定边界强度值。
[0034] 经帧内预测块的特性可使得其需要更强力的解块滤波。因此,如果当前块或相邻块中的一者是经帧内预测的,那么即使另一块是以IBC模式译码或以帧间预测模式译码的,视频译码器也可仅基于块中以帧内预测模式译码的一者确定边界强度值。基于经帧间预测块的边界强度确定可为复杂的且包含识别经帧间预测块的运动向量。因此,如果当前块或相邻块中的一者是以IBC模式译码的,那么即使另一块是以帧间预测模式译码的,视频译码器也可仅基于块中以IBC模式译码的一者确定边界强度值。
[0035] 以此方式,本发明中描述的技术提供应用于经帧内预测块与经帧间预测块的边界强度值判定之间的中间过程以用于经IBC预测块的边界强度值判定。举例来说,经IBC译码块(即,以IBC模式译码的块)可不具有与经帧内译码块(即,以帧内预测模式译码的块) 类似的特性。因此,如果相邻块中无一者是经帧内译码的,那么在块中的一者经IBC译码时的边界强度值应小于在块中的一者经帧内译码时的边界强度值。然而,依靠基于用于经帧间译码块(例如,以帧间预测模式译码的块)的技术的边界强度值判定可以是极度复杂的。就本发明中描述的技术来说,保留在块中的一者是经帧内译码时的边界强度值确定,而不一定需要用于经IBC译码块的边界强度确定与用于经帧间译码块的边界强度确定一样复杂。
[0036] 举例来说,视频译码器可确定视频数据图片中的当前块的译码模式和所述视频数据图片中的相邻块的译码模式。视频译码器可基于执行以下技术中的一者来确定边界强度值。视频译码器可基于以帧内预测模式译码且另一块以帧内块复制(IBC)模式译码的当前块或相邻块中的至少一者来执行第一边界强度值确定过程,或基于以IBC模式译码且均未以帧内预测模式译码的当前块或相邻块中的至少一者来执行第二、不同的边界强度值确定过程。第二边界强度值确定过程不包含识别非经IBC译码块(例如,经帧间预测块) 的运动向量。视频译码器可基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波。
[0037] 除用于确定边界强度值的上述实例技术外,本发明还描述用于作为IBC模式的一部分的数据存储的技术。举例来说,当块是以IBC模式译码时,所述块的块向量识别参考块,如上文所描述。然而,视频译码器基于参考块的未经滤波像素值以IBC方式预测(例如,以IBC方式译码)块,而非使用参考块的经滤波(例如,经由解块滤波过程或某一其它滤波进行滤波的)像素值。
[0038] 因此,为了实施IBC,视频译码器可需要将图片的先前经解码区域的未经滤波像素值存储于存储器中,且为了实施帧间预测,视频译码器可需要将图片的先前经解码区域的经滤波像素值存储于存储器中。额外存储和存储器存取可在视频译码过程中产生瓶颈。
[0039] 然而,并非图片的所有区域都可用于IBC译码(例如,IBC预测)。因此,存储图片的所有区域的未经滤波像素值可为不必要的。通过限制需要存储于存储器中的数据的量,所述技术可促进视频处理效率。
[0040] 在一些实例中,视频编码器可确定图片中的一区域将不用于IBC译码,且可在位流中传信指示图片中的所述区域不用于IBC译码的信息。视频解码器可从所述位流接收所述信息且确定图片中的所述区域不用于IBC。对于经确定将不用于IBC译码的区域,视频编码器和视频解码器可分别不将未经滤波像素值存储于存储器中,从而减少存取存储器的次数和存储于存储器中的数据的量。此减少促进存储器带宽利用。
[0041] 图1是说明可利用用于对视频数据进行滤波的技术的实例视频编码和解码系统10 的框图。如图1中所展示,系统10包含源装置12,其提供稍后待由目的地装置14解码的经编码视频数据。确切地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或其类似者。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。
[0042] 目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任一类型的媒体或装置。在一个实例中,计算机可读媒体16可包括通信媒体以使源装置12能够实时地将经编码视频数据直接发射到目的地装置14。可根据通信标准(例如,无线通信协议)调制经编码视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成分组网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换器、基站或任何其它可用于促进从源装置12到目的地装置14的通信的设备。
[0043] 在一些实例中,经编码数据可以从输出接口22输出到存储装置。类似地,经编码数据可通过输入接口从存储装置存取。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码视频数据的合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或另一可存储源装置12产生的经编码视频的中间存储装置。
[0044] 目的地装置14可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含万维网服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置14可以通过任何标准数据连接 (包含因特网连接)来存取经编码视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可能是流式传输发射、下载发射或其组合。
[0045] 本发明的技术未必限于无线应用或设定。所述技术可以应用于支持多种多媒体应用中任一者的视频译码,所述多媒体应用例如空中协议电视广播、有线电视发射、卫星电视发射、因特网串流视频发射(例如动态自适应HTTP串流(DASH))、经编码到数据存储媒体上的数字视频、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
[0046] 在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于在视频译码中执行变换的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如,外部相机)接收视频数据。同样,目的地装置14可与外部显示装置连接,而非包含集成式显示装置。
[0047] 图1的所说明系统10仅为一个实例。用于在视频译码中执行滤波的技术可由任何数字视频编码和/或解码装置执行。尽管大体上本发明的技术通过视频编码装置执行,但是所述技术还可以通过视频编解码器执行。此外,本发明的技术还可由视频预处理器执行。源装置12和目的地装置14仅为此类译码装置的实例,其中源装置12产生经译码视频数据以供发射到目的地装置14。在一些实例中,装置12、14可以基本上对称的方式操作,使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射以例如用于视频流式传输、视频回放、视频广播或视频电话。
[0048] 源装置12的视频源18可以包含视频捕获装置,例如摄像机、含有先前所捕获视频的视频存档和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,捕获、预先捕获或计算机产生的视频可由视频编码器20编码。经编码视频信息可接着由输出接口22输出到计算机可读媒体16上。
[0049] 计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(也就是说,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可从源装置12接收经编码视频数据,且例如经由网络发射将所述经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有所述经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可以理解为包含各种形式的一或多个计算机可读媒体。
[0050] 目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16 的信息可以包含由视频编码器20定义的语法信息,所述语法信息也被视频解码器30使用,所述语法信息包含描述块和其它经译码单元(例如,GOP)的特性和/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0051] 视频编码器20和视频解码器30各自可实施为多种合适的编码器或解码器电路中的任一者(如果适用),例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。当部分地在软件中实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中,且使用一或多个处理器在硬件中执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为组合式视频编码器/解码器(编解码器)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如,蜂窝式电话。
[0052] 尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元或其它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0053] 本发明可大体涉及视频编码器20将某些信息“传信”到例如视频解码器30的另一装置。然而,应理解,视频编码器20可通过使某些语法元素与视频数据的各种经编码部分相关联来传信信息。也就是说,视频编码器20可以通过将某些语法元素存储到视频数据的各种经编码部分的标头来“传信”数据。在一些情况下,这类语法元素可在由视频解码器30接收和解码之前被编码和存储(例如,存储到存储装置24)。因而,术语“传信”可大体上指代用于解码经压缩视频数据的语法或其它数据的通信,不论所述通信是实时或几乎实时发生还是在一段时间中发生,例如可能在编码时将语法元素存储到媒体上的时候发生,接着可以在存储到这个媒体上之后的任何时间由解码装置检索。
[0054] 视频编码器20和视频解码器30可根据视频压缩标准操作,所述标准例如ITU-T H.264标准,或者称为MPEG-4第10部分高级视频译码(AVC),或此类标准的扩展。ITU-T H.264/MPEG-4(AVC)标准是作为被称为联合视频小组(JVT)的集体联盟的产品而由 ITU-T视频译码专家组(VCEG)连同ISO/IEC移动图片专家组(MPEG)制定。在一些方面中,本发明中描述的技术可应用于大体符合H.264标准的装置。H.264标准描述于ITU-T 研究组的日期为2005年3月的“ITU-T推荐H.264,用于通用视听服务的高级视频译码  (ITU-T 
Recommendation H.264,Advanced Video Coding for generic audiovisual services)”中,其在本文中可称为H.264标准或H.264规范或H.264/AVC标准或规范。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
[0055] 视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉和ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。近来,新的视频译码标准(即,高效率视频译码(HEVC))的设计已由ITU-T视频译码专家组(VCEG) 和ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)定案。最新的HEVC 草案说明书(且下文中称为HEVC WD)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC-O1003-v2.zip获得。对HEVC的范围扩展(即HEVC RExt)也正由JCT-VC开发。范围扩展的最新工作草案(WD)(在下文中被称作RExt WD7) 可从http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zip获得。
[0056] 在此文件中,JCTVC-Q1003中的HEVC规范文本常常被称作HEVC版本1。范围扩展规范可变成HEVC的版本2。然而,在很大程度上,对于特定技术(例如,运动向量预测),HEVC版本1和范围扩展规范在技术上是类似的。因此,每当本发明提及基于 HEVC版本1的改变时,所述相同改变可适用于范围扩展规范,且每当本发明描述重用 HEVC版本1模块时,本发明实际上也可是指重用HEVC范围扩展模块(具有相同子条款)。
[0057] 近年来,开始研究用于带有运动的例如文本和图形的屏幕内容材料的新译码工具,并且已经提出了改进屏幕内容的译码效率的技术。因为有证据表明可通过利用屏幕内容的特性用新颖的专用译码工具来获得译码效率的显著改进,所以发出对提议的需要 (CfP),其中HEVC标准的可能开发的未来扩展的目标包含用于屏幕内容译码的特定工具。邀请公司和组织来响应于此需要而提交建议。此CfP的使用情况和要求描述于MPEG 文件N14174中。在第17次JCT-VC会议期间,建立屏幕内容译码测试模型(SCM),其在http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1014-v1.zip处可用。
[0058] 虽然本发明的技术不限于任何特定译码标准,但所述技术可以与HEVC标准相关。 HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的模型。HM根据 (例如)ITU-T H.264/AVC假定视频译码装置相对于现有装置的若干额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是HM可提供多达三十五种帧内预测编码模式。
[0059] 一般来说,HEVC标准描述可将视频图片划分成包含亮度样本和色度样本两者的一系列树块或最大译码单元(LCU)。位流内的语法数据可以定义LCU(其是就像素数目来说的最大译码单元)的大小。切片包含多个连续译码树单元(CTU)。CTU中的每一者可包括亮度样本的译码树块、色度样本的两个对应译码树块,以及用于对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块和用于对所述译码树块的样本进行译码的语法结构。
[0060] 视频图片可被分割成一或多个切片。每一树块可以根据四叉树分裂成译码单元 (CU)。一般来说,四叉树数据结构包含每个CU一个节点,其中一个根节点对应于所述树块。如果一个CU分裂成四个子CU,那么对应于CU的节点包含四个叶节点,其中的每一者对应于所述子CU中的一者。CU可包括具有亮度样本阵列、Cb样本阵列和Cr 样本阵列的图片的亮度样本的译码块和色度样本的两个对应译码块,以及用于对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块及用于对所述译码块的样本进行译码的语法结构。译码块是样本的N×N 块。
[0061] 四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,其指示对应于所述节点的CU是否分裂成子CU。用于CU的语法元素可递归地定义,且可取决于CU是否分裂成子CU。如果CU未进一步分裂,那么将其称作叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,即使不存在原始叶CU的明确分裂时也是如此。举例来说,如果16×16大小的CU不进一步分裂,那么四个8×8子CU也将被称作叶CU,尽管16×16CU从未分裂。
[0062] CU具有与H.264标准的宏块类似的目的,除了CU不具有大小区别。举例来说,树块可分裂成四个子节点(也称为子CU),且每一子节点又可为父节点且可分裂成另外四个子节点。最后未分裂的子节点(被称作四叉树的叶节点)包括译码节点,也被称作叶CU。与经译码位流相关联的语法数据可定义树块可分裂的最大次数,被称作最大CU深度,且还可定义译码节点的最小大小。因此,位流还可定义最小译码单元(SCU)。本发明使用术语“块”来指HEVC上下文中的CU、PU或TU中的任一者或其它标准上下文中的类似数据结构(例如,H.264/AVC中的宏块和其子块)。
[0063] CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小范围可从8×8像素到具有64×64像素或更大像素的最大值的树块的大小。每一CU可以含有一或多个PU和一或多个TU。
[0064] 一般来说,PU表示对应于相对应的CU的全部或一部分的空间区域,并且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,用于PU的数据可以包含在残余四叉树(RQT)中,残余四叉树可以包含描述用于对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可以包含定义PU的一或多个运动向量的数据。预测块可以是其上应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的PU可以包括图片的亮度样本的预测块、色度样本的两个对应预测块,以及用于对预测块样本进行预测的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可以包括单个预测块和用于对预测块样本进行预测的语法结构。
[0065] 因此,在HEVC中,切片中的最大译码单元被称为译码树块(CTB)。CTB含有四叉树,所述四叉树的节点为译码单元。CTB的大小可介于HEVC主规范中的16×16到64×64 的范围内(尽管技术上可支持8×8CTB大小)。尽管译码单元(CU)可以与CTB相同大小,但其可以像8×8一样小。每一译码单元用一种模式译码。当CU经帧间译码(经帧间预测译码或经帧间预测)时,其可进一步分割成两个预测单元(PU)或在不应用进一步分割时仅变成一个PU。当两个PU存在于一个CU中时,其可为一半大小的矩形或具有CU的1/4 或3/4大小的两个矩形大小。当CU经帧间译码时,针对每一PU存在一个运动信息集合。另外,每一PU是以独特帧间预测模式译码以导出所述运动信息集合。在HEVC中,最小PU大小为8×4和4×8。
[0066] 图片次序计数(POC)广泛用于视频译码标准以识别图片的显示次序。尽管存在一个经译码视频序列内的两个图片可具有相同POC值的情况,但其通常不在经译码视频序列内发生。当位流中存在多个经译码视频序列时,具有相同POC值的图片可能在解码次序方面彼此更靠近。图片的POC值通常用于参考图片列表建构、参考图片集的导出,就像HEVC和运动向量按比例调整中一样。
[0067] 在将变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换) 应用于残余视频数据之后,TU可包含变换域中的系数。所述残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可以形成包含用于 CU的残余数据的TU,并且接着变换TU以产生用于CU的变换系数。变换块可为其上应用相同变换的样本的矩形块。CU的变换单元(TU)可包括亮度样本的变换块、色度样本的两个对应变换块和用于对变换块样本进行变换的语法结构。在单色图片或具有三个单独颜色平面的图片中,TU可以包括单个变换块和用于对变换块样本进行变换的语法结构。
[0068] 在变换之后,视频编码器20可以执行变换系数的量化。量化大体上指代对变换系数进行量化以可能地减少用于表示系数的数据的量从而提供进一步压缩的过程。量化过程可以减少与系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间被下舍入到m位值,其中n大于m。
[0069] 在视频编码器20量化系数块之后,视频编码器20可以对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。对于熵译码,视频编码器20根据特定扫描次序(例如,垂直扫描、水平扫描或对角线扫描)扫描经量化变换系数。视频编码器20可在位流中输出经熵编码语法元素。
[0070] 因此,位流可包含形成视频数据的经译码表示的位序列。位流可包含经译码图片和相关联数据。经译码图片是图片的经译码表示。相关联数据可包含视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)和其它语法结构。SPS可含有适用于图片的零或更多序列的参数。PPS可含有适用于零或更多图片的参数。
[0071] 变换和量化残余块造成信息的损耗(例如,经逆量化和逆变换块不同于原始残余块)。因此,残余块经变换且量化的视频译码的实例被称为有损译码。在一些实例中,视频编码器20可跳过残余块的变换,但量化残余块。视频译码的此些实例被称为变换跳过译码。变换跳过译码可为有损译码的一种变化,因为量化造成信息的损耗。为避免混淆,此描述中使用有损译码来指代包含变换和量化两者的视频译码方法,且此描述中使用变换跳过译码来指代跳过变换但仍执行量化的视频译码方法。
[0072] 视频编码器20不需要在所有情况下执行变换跳过译码或有损译码。在一些实例中,视频编码器20可执行无损译码。在无损译码(有时称为跨量绕过)中,视频编码器20不变换残余块且不量化残余块。在此实例中,如由视频解码器30重建的残余块与由视频编码器20产生的残余块相同,而对于有损译码和变换跳过译码,如由视频解码器30重建的残余块可稍微不同于由视频编码器20产生的残余块。
[0073] 换句话说,当应用变换时,变换将残余块的残余值从像素域转换到变换域。在一些实例中,对于变换跳过或变换绕过,残余数据包含来自预测块与当前块之间的差的残余值而无变换应用于残余值,所述变换将残余值从像素域转换到变换域。
[0074] 在获得经译码视频数据后,视频解码器30可即刻执行通常与相对于视频编码器20 描述的编码遍次互逆的解码遍次。举例来说,视频解码器30可获得表示来自视频编码器20的经编码视频切片的视频块和相关联语法元素的经编码视频位流。视频解码器30 可以使用包含于位流中的数据重建原始的未经编码的视频序列(例如,或用于有损译码的原始残余的经量化版本)。举例来说,对于有损译码,视频解码器30可对位流中的语法元素进行熵解码以确定经量化变换系数。视频解码器30可以利用与视频编码器20所利用的相同的扫描次序来构建经量化残余块。视频解码器30可随后对经量化变换系数进行逆量化以确定变换系数。视频解码器30还可以将逆变换应用到变换系数以确定残余块的系数。
[0075] 对于变换跳过译码,视频解码器30可对位流中的语法元素进行熵解码以确定经量化系数,利用与视频编码器20所利用的相同的扫描次序来构建经量化残余块,且随后对经量化系数进行逆量化以确定残余块的系数。不需要逆变换,因为在编码过程中跳过了变换。
[0076] 对于无损译码(例如,变换绕过或仅绕过),视频解码器30可对位流中的语法元素进行熵解码,且可利用与视频编码器20所使用相同的扫描次序来直接确定残余块的系数。不需要逆量化或变换,因为在编码过程中跳过了变换和量化两者。
[0077] 在任何情况下,视频解码器30确定预测块。预测块可以与当前块位于同一图片(例如,用于帧内预测或用于帧内BC预测)或不同图片(例如,用于帧间预测)中。视频解码器30使用预测块中的经重建像素值和残余块中的对应残余值(例如,如从经编码位流中获得)以重建当前块的像素值(例如,以解码当前块)。
[0078] HEVC的范围扩展、屏幕内容译码扩展或其它视频译码工具可支持帧内块复制(帧内 BC或IBC)模式。对于许多应用,例如远程桌面、远程游戏、无线显示器、汽车信息娱乐以及云计算(提供几个实例),这些应用中的视频内容通常是自然内容、文本、人工图形和类似物的组合。在测试和人工图形区域中,通常存在重复模式(例如,字符、图标和符号(提供几个实例))。帧内BC可以被描述为移除这种冗余的专用过程,由此潜在地改进帧内译码效率。
[0079] 解块滤波可应用于以帧间预测模式(例如,经帧间译码)、帧内预测模式(例如,经帧内译码)或IBC模式(例如,经IBC译码)预测的块。在HEVC版本1(例如,JCTVC-Q1003 中的HEVC规范文本)中,在图片重建之后,解块滤波过程可检测经译码块边界处的伪影且通过应用所选择的滤波器使块伪影变细。针对位于将图片划分成8×8样本块的栅格上的四个样本长度的每一边界单独地作出滤波决策。
[0080] 视频编码器20和视频解码器30两者都可经配置以执行解块滤波过程。举例来说,视频编码器20可经配置以执行解块滤波作为重建经编码块的一部分,使得经解块滤波的经重建块可用作待编码的后一块的参考块。解块滤波移除伪影,意味着解块滤波对于将显示视频的视频解码器30侧是有用的。因为视频解码器30将执行解块滤波且这些经解块滤波块将成为视频解码器30侧上的参考块,所以视频编码器20也可在重建期间执行解块滤波,使得视频编码器20侧上的参考块与视频解码器30侧上的对应参考块相同。
[0081] 视频编码器20和视频解码器30也有可能实施后滤波技术。在此情况下,可能不一定在存储像素值之前执行解块滤波。实际上,像素值可在稍后由视频解码器30显示之前被滤波。仅提供后滤波的实例作为一个实例,但可能不包含于所有情况中。
[0082] 在一些实例中,在执行解块滤波过程时,以下三个准则应为真:(1)块边界是预测单元边界或变换单元边界,(2)边界强度大于零,和(3)块边界的两侧上的信号变化低于指定阈值。当特定额外条件成立时,在块边缘上应用强力滤波器而非正常解块滤波。
[0083] 所执行的解块滤波的类型可基于用于解块滤波的两个块之间的(例如,当前块与相邻块之间的)边缘的边界强度值。在一些情况下,在执行用帧内BC译码的块的解块滤波时,可如同所述块是用帧内预测译码一般地处理所述块。也就是说,用于经帧内预测块的解块滤波过程可直接应用于帧内BC块。然而,经帧内BC译码块可不具有与经帧内译码块类似的特性。另外,在对经帧间预测块进行解块滤波时执行的一些计算(例如,确定边界强度(Bs)值,如下文更详细所描述)可为相对复杂的。
[0084] 本发明的技术可包含用于对使用帧内BC译码的视频块进行解块滤波的技术。举例来说,在一些情况下,所述技术可包含用于经帧内BC译码块的解块滤波过程的改变,使得经帧内BC预测块和经帧内预测块不使用相同的解块滤波计算。在一些情况下,本发明的各方面可包含使用(例如)相对于经帧间预测块的经简化解块滤波设计。
[0085] 作为解块滤波过程的一部分,视频编码器20和视频解码器30可分别确定形成将对其执行解块滤波过程的边缘的两个块的边界强度值。边界强度值指示视频编码器20和视频解码器30将进行解块滤波的方式(例如,两个相邻块中每一者中的像素数目和用于滤波的滤波器系数)。
[0086] 下表1说明针对两个相邻亮度块之间的边界确定边界强度(Bs)值的方式。在表1中,针对经帧内译码块和经帧间译码块给出边界强度值(例如,其中两个相邻块中的一者或两者经帧内译码和/或经帧间译码)。
[0087] 表1:两个相邻亮度块之间的边界的BS值的定义
[0088]
[0089]
[0090] 如可从表1看出,如果两个相邻块中的一者(例如,当前块或相邻块中的一者)经帧内译码,那么视频译码器(例如,视频编码器20或视频解码器30)可设定边界强度值等于二。如果两个相邻块都经帧间译码,那么视频译码器可识别所述经帧间译码块的运动向量且执行额外过程(如ID 3和ID 4中所陈列)以确定边界强度值是否为一。否则,边界强度值为零。
[0091] 表1未说明所述块中的一者以IBC模式译码的情形。在当前SCM的解块滤波过程中,如同经帧内译码块一般处理经IBC译码块(例如,如果相邻块中任一块经IBC译码,那么边界强度值为二)。然而,一些其它技术(例如,第2014/0376634A1号美国专利公开案中的技术)提出,用于经IBC译码块的解块滤波过程可通过将经IBC译码块处理为经帧内译码块或将经IBC译码块处理为经帧间译码块来实现。在第14/743,722号美国申请案中,在解块滤波过程之前,用识别RefPicList0或RefPicList1中特定参考索引中的参考块的运动向量将经IBC译码块转换成(例如,处理成)单向预测性经帧间译码块,且解块滤波过程不存在其它改变。
[0092] 在C.Rosewarne的标准提交文件“关于用于帧内块复制的解块(On Deblocking for Intra Block Copy)”(JCTVC-R0126,日本,札幌,6月30日到7月9日)(JCTVC-R0126) 中,JCTVC-R0126提出一个修改,其中以不同方式处理经IBC译码块,而非利用经帧内译码块或经帧间译码块技术。举例来说,在JCTVC-R0126中,如果边界的任一侧(例如,如果两个相邻块中任一者)经IBC译码,那么将边界强度值设定为一。否则,使用上文关于表1所说明的实例。在此情况下,不同于表1中如果任一块经帧内译码那么边界强度值为二的情形,如果当前块或相邻块中的一者经IBC译码且另一者经帧内译码,那么边界强度值将为一。
[0093] 用于关于经IBC译码块的边界强度值确定的这些其它技术中的一些可存在问题。举例来说,经IBC译码块可不具有与经帧内译码块类似的特性,且因此以相同方式处理其可导致不足补偿伪影或过度补偿伪影的解块滤波。当两个块中的一者经IBC译码(且另一者非经帧内译码)时使用较小边界强度值(类似于经帧间译码块的情形)以避免沿块边界的块状伪影将更自然。
[0094] 然而,将经IBC译码块处理为经帧间译码块也可能不足以达成合乎需要的滤波结果。举例来说,如上文关于表1所描述,对于经帧间译码块,边界强度值确定过程包含运动向量识别和比较以及参考图片识别,其为比用于经帧内译码块的过程更复杂的过程。因此,将经IBC译码块处理为经帧间译码块可使得边界强度值减小(相比于将所述经IBC译码块处理为经帧内译码块),但边界强度值确定过程可为过度复杂的。
[0095] 本发明描述用于经帧内块复制译码块(例如,以IBC模式译码的块)的中间边界强度确定过程的实例技术,以桥接用于经帧内译码块的边界强度确定过程与用于经帧间译码块的边界强度确定过程之间的差异。举例来说,视频译码器(例如,视频编码器20或视频解码器30)可基于以帧内预测模式译码的当前块或相邻块中的至少一者来执行第一边界强度值确定过程,且基于以IBC模式译码、另一者以非IBC模式译码(例如,经帧间译码)且均未以帧内预测模式译码的当前块或相邻块中的至少一者来执行第二、不同的边界强度值确定过程。在这个第二边界强度值确定中,可不存在识别非经IBC译码块的运动向量,如当一者为经帧间译码块时将进行的那样。
[0096] 视频译码器可基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波。举例来说,视频译码器可确定对当前块和相邻块中的像素进行解块滤波的方式(例如,滤波器类型、边缘每一侧上使用的像素数目、系数等)。
[0097] 除了用于解块滤波的技术外,本发明中所描述的实例还涉及在IBC模式用于当前图片中的预测时减小平均带宽(例如,对存储器的存取)。这些技术被描述为适用于屏幕内容译码,包含支持可能的高位深度(超过8位)、不同的色度取样格式,例如4:4:4、4:2:2、 4:2:0、4:0:0等。
[0098] 如上文所描述,IBC模式将同一图片内先前经解码的未经滤波样本用于其预测。在当前测试模型中,对于IBC模式,搜索范围是不受限制的且可使用当前图片的任何未经滤波的经解码样本(全量搜索IBC)。此引入存储当前图片的未经滤波的经解码样本(除时间预测所需要的经滤波的经解码样本外)所需要的附加带宽。
[0099] 然而,通常并非当前图片的所有先前经解码的未经滤波样本都用于IBC模式预测,且用量取决于内容的特性(例如,文本的用量峰值和图形序列)且对于相机所捕获的内容最小。因此,始终存储当前图片的先前经解码的未经滤波样本从带宽角度来说是低效的。在一些实例中,视频编码器20可指示先前经解码的译码树块(CTB)中的哪些用于IBC预测,以便视频解码器30可仅存储那些CTB,从而减小平均带宽。
[0100] 举例来说,视频译码器可确定是否参考图片中的一区域以用于所述图片中至少一个块的使用IBC模式的预测。视频译码器可基于对参考所述区域以用于使用IBC模式的预测的确定来存储所述图片中所述区域的未经滤波像素值,且基于对未参考所述区域以用于使用IBC模式的预测的确定来避免存储所述图片中所述区域的未经滤波像素值。
[0101] 在此些实例中,视频译码器仍可存储使用IBC模式的预测不参考的区域的经滤波(例如,经解块滤波、经SAO滤波或其它)像素值。这是因为即使经滤波像素值从不用于IBC 预测,其也可用以形成用于帧间预测目的的参考块。
[0102] 图2是说明可以使用如本发明中所描述的用于变换的技术的视频编码器20的实例的框图。出于说明的目的,将在HEVC译码的上下文中描述视频编码器20,但关于其它译码标准并不限制本发明。
[0103] 视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减少或移除给定视频图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的压缩模式中的任一者。帧内块复制模式可类似帧内模式依赖于同一图片内的块,但类似于帧间模式具有块向量。
[0104] 在图2的实例中,视频编码器20包含视频数据存储器38、模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46、帧内BC单元 47和分割单元48。为了视频块重建,视频编码器20还包含逆量化单元58、逆变换单元 60、求和器62和滤波单元66。
[0105] 视频数据存储器38可存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储在视频数据存储器38中的视频数据。参考图片存储器64可被称为经解码图片缓冲器,其存储参考视频数据以供用于通过视频编码器20例如以帧内、帧间或IBC译码模式编码视频数据。视频数据存储器38和参考图片存储器64可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM)(包含同步DRAM (SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器38和参考图片存储器64可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器38可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
[0106] 在编码过程期间,视频编码器20接收待译码的视频图片或切片。图片或切片可以划分成多个视频块。运动估计单元42和运动补偿单元44相对于一或多个参考图片中的一或多个块执行所接收视频块的帧间预测性译码以提供时间压缩。帧内预测单元46可以替代地相对于作为待译码的块的同一图片或切片中的一或多个相邻像素值执行所接收视频块的帧内预测性译码以提供空间压缩。视频编码器20可执行多个译码遍次,例如以为每一视频数据块选择一种适当的译码模式。
[0107] 此外,分割单元48可以基于先前译码遍次中的先前分割方案的评估将视频数据块分割成子块。举例来说,分割单元48可初始地将图片或切片分割成LCU,且基于速率失真分析(例如,速率失真最佳化)将LCU中的每一者分割成子CU。模式选择单元40 可以进一步产生指示将LCU分割成子CU的四叉树数据结构。四叉树的叶节点CU可以包含一或多个PU和一或多个TU。
[0108] 模式选择单元40可例如基于错误结果选择译码模式中的一者(帧内或帧间),且将所得的经帧内或帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重建用作参考图片的经编码块。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息和其它此类语法信息)提供到熵编码单元56。
[0109] 运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示当前视频图片内的视频块的PU相对于参考图片(或其它经译码单元)内的预测性块相对于当前图片(或其它经译码单元)内正被译码的当前块的位移。
[0110] 预测性块是被发现在像素差方面与待译码块紧密匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的次整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精确度的运动向量。
[0111] 运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算经帧间译码切片中的视频块的PU的运动向量。举例来说,运动信息集合可含有前向和后向预测方向的运动信息。此处,前向和后向预测方向是双向预测模式的两个预测方向,且术语“前向”和“后向”不一定具有几何含义。替代地,前向和后向对应于当前图片的参考图片列表0(RefPicList0)和参考图片列表1(RefPicList1)。当仅一个参考图片列表可用于图片或切片时,仅RefPicList0可用,并且切片的每一块的运动信息始终是前向的。
[0112] 在一些情况下,为简单起见,可以假定其具有相关联参考索引的方式来提起运动向量本身。参考索引可用于识别当前参考图片列表(RefPicList0或RefPicList1)中的参考图片,其中的每一者识别存储在参考图片存储器64中的一或多个参考图片。运动向量具有水平和竖直分量。运动估计单元42将计算出来的运动向量发送到熵编码单元56和运动补偿单元44。
[0113] 在一些情况下,可预测运动信息。举例来说,在HEVC标准中,存在用于PU的被称作合并模式(其中跳过模式被视为合并的一种特殊情况)和高级运动向量预测(AMVP) 模式的两种帧间预测模式,如下文关于图6的实例更详细地所描述。
[0114] 由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来撷取或产生预测性区块。再次,在一些实例中,运动估计单元42与运动补偿单元44 可在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44可在参考图片列表中的一者中定位所述运动向量指向的预测性块。求和器50通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。一般来说,运动估计单元42相对于亮度分量执行运动估计,并且运动补偿单元44针对色度分量和亮度分量两者使用基于亮度分量计算的运动向量。模式选择单元40还可产生与视频块及视频切片相关联的语法元素以供视频解码器30用于解码视频切片的视频块。
[0115] 视频编码器20的帧内BC单元47可使用帧内块复制模式执行视频块的视频压缩。举例来说,帧内BC单元47可基于当前切片中的另一块来确定用于当前切片的一视频块的预测信息。帧内BC单元47可确定识别切片中的所述块的块向量(也可被称作“偏移向量”)。类似于运动向量,块向量可具有水平分量和竖直分量。帧内BC单元47可基于同一切片中的当前块与预测性块之间的差值来确定残余块。视频编码器20可在经编码位流中包含残余和块向量的指示。在一些情况下,可以与运动向量类似的方式预测块向量。
[0116] 作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测。具体来说,帧内预测单元46可以确定用于对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独的编码编次期间使用各种帧内预测模式来对当前块进行编码,并且帧内预测单元46 (或在一些实例中为模式选择单元40)可从受测模式中选择适当的帧内预测模式来使用。
[0117] 举例来说,帧内预测单元46可使用速率失真分析针对各种测试的帧内预测模式计算速率失真值,且从所述测试的模式当中选择具有最好速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可以根据用于各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
[0118] 视频编码器20通过从正译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。
[0119] 变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何状况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域(例如,频域)。
[0120] 变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可以减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化的程度。在一些实例中,量化单元54可以接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
[0121] 在量化后,熵编码单元56对经量化变换系数进行熵译码。举例来说,熵编码单元 56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码 (CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE) 译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可以基于相邻块。在由熵编码单元56进行熵译码之后,可以将经编码位流发射到另一装置(例如,视频解码器30),或者将所述经编码位流存档以用于稍后发射或检索。
[0122] 逆量化单元58和逆变换单元60分别应用逆量化和逆变换以重建像素域中的残余块,例如以供稍后用作参考块。
[0123] 运动补偿单元44可通过将残余块添加到参考图片存储器64的图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重建残余块以计算子整数像素值用于运动估计。求和器62将经重建残余块添加到由运动补偿单元 44产生的经运动补偿的预测块,以产生经重建视频块以用于存储于参考图片存储器64 中。经重建视频块可由运动估计单元42和运动补偿单元44用作参考块以对后续视频图片中的块进行帧间译码。
[0124] 滤波单元66可以执行多种滤波过程。举例来说,滤波单元66可以执行解块滤波。也就是说,滤波单元66可以接收形成经重建视频的切片或帧的多个经重建视频块且对块边界进行滤波,以从切片或帧移除成块伪影。在一个实例中,滤波单元66评估视频块的所谓的“边界强度”,如下文更详细所描述。基于视频块的边界强度,可以相对于邻近视频块的边缘像素而对视频块的边缘像素进行滤波,使得查看者更难以感知从一个视频块到另一个的过渡。
[0125] 根据本发明中描述的技术的各种方面,视频编码器20可执行下文所描述的解块滤波和帧内块复制技术。举例来说,当使用帧内BC单元47对块进行编码时,滤波单元 66可应用本发明的技术来对所述块进行解块滤波和帧内块复制。
[0126] 举例来说,在当前块(例如,正编码的块)和相邻块(例如,经重建且存储于参考图片存储器64中的先前经编码块)中的至少一者以IBC模式译码且都不是以帧内预测模式译码时,视频编码器20可执行边界强度值确定过程。基于正对当前块的哪一边缘进行解块滤波,这个相邻块可以是上方块、下方块、右侧块或左侧块。
[0127] 滤波单元66或有可能模式选择单元40可经配置以基于当前块和相邻块的译码模式而执行不同的边界强度值确定过程。为便于说明,在滤波单元66的情况下描述确定边界强度值的实例。然而,在一些实例中,模式选择单元40可确定边界强度值且输出边界强度值。在这些实例中,滤波单元66可基于所接收的边界强度值进行解块滤波。一般来说,因为模式选择单元40和滤波单元66都是视频编码器20的一部分,所以视频编码器20可被视为利用实例技术来确定边界强度值且基于所确定的边界强度值沿边缘进行解块滤波。
[0128] 模式选择单元40可确定用于当前块和相邻块的译码模式。滤波单元66可基于执行以下实例边界强度确定过程中的一者来确定边界强度值。滤波单元66可基于当前块或相邻块中的一者为经帧内块复制(IBC)译码块(例如,以IBC模式译码)且另一块为经帧间译码块(例如,以帧间预测模式译码)来执行边界强度值确定过程,以确定边界强度值。在这个实例中,边界强度值确定过程不包含识别用于经帧间译码块的运动向量,如表1 的ID 3和ID 4的情况那般。如表1中针对ID 3和ID 4所指示,基于两个块的运动向量分量之间的差值来确定边界强度值,运动向量参考不同图片或运动向量的数目对于两个块不同。
[0129] 此外,运动向量参考通过参考索引识别到参考图片列表中的参考图片中的块。不应混淆运动向量和块向量。块向量用于经IBC译码块且参考与当前块在同一图片中的块。
[0130] 另外,所述边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程。举例来说,这个边界强度值确定过程不同于表1的ID 1。
[0131] 举例来说,在JCTVC-R0126中,在当前块或相邻块中的一者经IBC译码且另一者经帧间译码时,如同当前块或相邻块中的一者经IBC译码且另一者经帧内译码一般,使用相同的过程来确定边界强度值。在JCTVC-R0126中,在两种情况下(例如,一个经IBC 译码且另一者经帧间译码,和一个经IBC译码且另一者经帧内译码),JCTVC-R0126技术使用相同过程以用于边界强度值确定(例如,设定边界强度值等于一)。在本发明中描述的技术中,当一个块经IBC译码且另一者经帧内译码时,滤波单元66可执行与当一个块经IBC译码且另一者经帧间译码时不同的边界强度值确定过程。
[0132] 在本发明中描述的技术中,滤波单元66可基于当前块或相邻块中的至少一者为经 IBC译码块(例如,以IBC模式译码)且另一块为经帧内译码块(例如,以帧内预测模式译码)来执行第一边界强度值确定过程。滤波单元66可基于当前块或相邻块中的一者为经 IBC译码块且另一块为非经IBC译码块来执行第二、不同的边界强度值确定过程。在这个实例中,第二边界强度值确定过程不包含识别用于非经IBC译码块的运动向量。
[0133] 滤波单元66(或模式选择单元40)在一个块经帧间译码且另一块经IBC译码时执行的边界强度确定过程的一个实例为设定边界强度值等于一。滤波单元66(或模式选择单元40)在一个块经帧间译码且另一块经IBC译码时执行的边界强度确定过程的另一实例包含确定经IBC译码块的参考块,以及确定所述参考块中的任一像素是否是以帧内预测模式或IBC模式译码的。在这个实例中,滤波单元66或模式选择单元40可基于所述参考块中的任一像素以帧内预测模式或IBC模式译码而设定边界强度值等于一,或基于所述参考块中没有像素以帧内预测模式或IBC模式译码而设定边界强度值等于一。
[0134] 滤波单元66可基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波。滤波单元66接着可将所得经滤波像素值存储在参考图片存储器64中,使得所述经滤波像素值可用作经帧间译码的后一块的参考像素。
[0135] 除了执行用于在一个块经IBC译码时确定边界强度值的实例技术外,视频编码器 20还可经配置以执行与选择性存储IBC译码将不需要的图片中的区域的未经滤波像素值有关的技术。举例来说,模式选择单元40可确定是否参考图片中的一区域以用于所述图片中至少一个块的使用IBC模式的预测(例如,所述区域是否将用作IBC译码的参考)。
[0136] 模式选择单元40可基于一区域的视频内容或某一其它技术来执行对一区域是否将用于IBC模式的确定。然而,在一些实例中,直到在整个图片经编码之后为止,模式选择单元40可能不能够确定一区域是否将用于IBC模式。在此些实例中,选择性存储未经滤波像素值在视频编码器20侧上可能不适用。在图片在视频编码器20输出图片的信息之前经充分译码的实例中,视频编码器20仍可确定一区域是否将用于IBC模式且将这个信息输出到视频解码器30。视频解码器30接着可利用这个信息以选择性地存储未经滤波像素值,使得视频解码器30需要评估存储器的次数的量减少。
[0137] 如果模式选择单元40确定参考所述区域以用于使用IBC模式的预测(例如,所述区域将用作IBC译码的参考),那么滤波单元66可在不进行滤波的情况下通过所述区域的未经滤波像素值(或模式选择单元40可使得滤波单元66被绕过,如通过虚线所说明),且所述未经滤波像素值可存储于参考图片存储器64中。在一些实例中,滤波单元66也可对所述区域的像素值进行滤波(例如,应用解块滤波和/或某一其它滤波),且将经滤波像素值存储于参考图片存储器64中。因此,如果模式选择单元40确定参考所述区域以用于使用IBC模式的预测,那么参考图片存储器64可存储所述区域的未经滤波像素值和所述区域的经滤波像素值两者。
[0138] 如果模式选择单元40确定不参考所述区域以用于使用IBC模式的预测(例如,所述区域不将用作IBC译码的参考),那么滤波单元66(或模式选择单元40)可避免将未经滤波像素值存储于参考图片存储器64中。然而,滤波单元66仍然可对像素值进行滤波且将所得经滤波像素值存储于参考图片存储器64中。因此,如果模式选择单元40确定不参考所述区域以用于使用IBC模式的预测,那么参考图片存储器64可存储所述区域的经滤波像素值且可不存储所述区域的未经滤波像素值。
[0139] 以此方式,这些技术可减小用以指示IBC预测用量信息的平均带宽,使得视频解码器30(且甚至潜在地视频编码器20)可选择性地仅存储用于使用IBC模式的预测的区域。举例来说,如果不需要未经滤波像素值,那么对参考图片存储器64的存取可受限。参考图片存储器64可在视频编码器20的芯片上或芯片外,且一般来说,限制对参考图片存储器64的存取可促进存储器带宽利用,从而释放时间和空间以用于待存储的其它数据。
[0140] 指示一区域是否将用于IBC译码中的参考的信息可为旗标(例如,针对每一CTB传信以指示是否参考一特定CTB以用于至少一个块的预测单元IBC模式的旗标)。然而,所述区域可不限于CTB。所述区域可为图片、图块、切片、PU块、CU、CTB、一组CTB、N×N(例如,64×64)的固定大小或M×N(例如,16×32或32×16)的矩形分割区中的一者。视频编码器20可针对区域大小的这些实例中的任一者输出旗标。
[0141] 另外,视频编码器20可在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、切片标头、译码树单元标头、译码单元标头或辅助增强信息(SEI)消息或参数集扩展中的一或多者中输出指示所述区域是否将用作用于IBC模式的参考的信息。在一些实例中,视频编码器20可基于是否启用帧内块复制模式而条件性地传信。
[0142] 在一些实例中,视频编码器20可确定且输出另一选通旗标以指示将指示一区域是否将用作参考的旗标的存在。举例来说,如果启用这个选通旗标,那么视频编码器20 可输出指示一区域是否用于IBC模式中的参考的旗标,且如果停用这个选通旗标,那么视频编码器20可不输出指示一区域是否用于IBC模式中的参考的旗标。
[0143] 另外,可需要明确地传信CTU(或通常具有各种粒度水平的块)的数目,以识别指示所述CTB是否用作帧内块复制参考的经译码或经解码旗标的数目。举例来说,当在切片标头中传信旗标时,这个传信操作可为有用的,因为包含到切片中的CTU的数目可能是事先未知的。然而,如果启用波前平行处理(WPP)或图块,那么这类信息(CTU的数目)可为可获得的,且因此可不需要额外地加以传信,因此可仅在使用WPP或图块时传信CTU的数目。
[0144] 虽然在本发明中描述了所述技术的多个不同方面和实例,但是所述技术的各种方面和实例可以一起执行或彼此分开执行。换句话说,所述技术不应严格地限制于上文所述的各种方面和实例,而是可组合使用或一起执行和/或分开执行。另外,虽然某些技术可归于视频编码器20的某些单元(例如,帧内BC单元47和/或滤波单元66),但应理解,视频编码器20的一或多个其它单元也可以负责实行此些技术。
[0145] 图3是说明可以实施如本发明中所描述的用于变换的技术的视频解码器30的实例的框图。同样,出于说明的目的将在HEVC译码的上下文中描述视频编码器30,但关于其它译码标准并不限制本发明。
[0146] 在图3的实例中,视频解码器30包含视频数据存储器68、熵解码单元70、模式选择单元71(其包含运动补偿单元72、帧内预测单元74和帧内BC单元75)、逆量化单元 76、逆变换单元78、参考图片存储器82、求和器80和滤波单元84。
[0147] 视频数据存储器68可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储在视频数据存储器68中的视频数据可例如从计算机可读媒体16获得,例如经由视频数据的有线或无线网络通信从本地视频源(例如相机)或通过存取物理数据存储媒体而获得。视频数据存储器68可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。参考图片存储器82可被称为经解码图片缓冲器,其存储参考视频数据供用于通过视频解码器30例如以帧内、帧间或IBC译码模式解码视频数据。视频数据存储器68和参考图片存储器82可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器68和参考图片存储器 82可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器68 可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
[0148] 在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联语法元素的经编码视频位流。视频解码器30的熵解码单元70对位流进行熵解码以产生经量化系数、运动向量或帧内预测模式指示符和其它语法元素。熵解码单元 70将运动向量和其它语法元素转递到运动补偿单元72。视频解码器30可在视频切片层级和/或视频块层级处接收语法元素。
[0149] 当视频切片被译码为经帧内译码(I)切片时,帧内预测单元74可以基于传信的帧内预测模式和来自当前图片的先前经解码块的数据而产生用于当前视频切片的视频块的预测数据。当视频图片被译码为经帧间译码(即,B或P)切片时,运动补偿单元72基于从熵解码单元70接收到的运动向量和其它语法元素而产生用于当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可以基于存储在参考图片存储器82中的参考图片使用默认建构技术来建构参考图片列表,即RefPicList0和RefPicList1。
[0150] 运动补偿单元72通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正经解码的当前视频块的预测性块。举例来说,运动补偿单元72使用所接收语法元素中的一些来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片或P 切片)、切片的参考图片列表中一或多者的建构信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,以及用于对当前视频切片中的视频块进行解码的其它信息。
[0151] 运动补偿单元72还可以基于内插滤波器执行内插。运动补偿单元72可以使用如视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据接收的语法元素而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
[0152] 视频解码器30的帧内BC单元75可执行帧内块复制。举例来说,帧内BC单元75 可接收用于当前切片的视频块的预测信息,包含(例如)残余块和识别当前正解码的图片中的另一块的块向量。在一些情况下,块向量可相对于块向量预测值加以译码,如下文所描述。帧内BC单元75可通过合并所接收的残余块与由偏移向量识别的块来确定图片的当前块。
[0153] 逆量化单元76对在位流中提供且由熵解码单元70解码的经量化块系数进行逆量化,即解量化。逆量化过程可包含使用由视频解码器30针对视频切片中的每一视频块计算以确定应应用的量化程度以及同样的逆量化程度的量化参数QPY。
[0154] 逆变换单元78将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程) 应用于变换系数以便产生像素域中的残余块。视频解码器30通过对来自逆变换单元78 的残余块与运动补偿单元72产生的对应预测性块进行求和而形成经解码视频块。求和器80表示执行这个求和运算的一或多个组件。
[0155] 在一些实例中,滤波单元84可以配置成类似于视频编码器20(图2)的滤波单元66。举例来说,当从经编码位流解码并且重建视频数据时,滤波单元84可以经配置以执行解块滤波、SAO或其它滤波操作。确切地说,在一些实例中,滤波单元84可执行如关于下方图4的实例所描述的解块滤波。
[0156] 根据本发明中描述的技术的各种方面,视频解码器30可执行下文所描述的解块滤波和帧内块复制技术。举例来说,当使用帧内BC单元75对块进行解码时,滤波单元 84可应用本发明的技术来对所述块进行解块滤波和帧内块复制。
[0157] 举例来说,视频解码器30可执行类似于上文关于视频编码器20所描述的边界强度值确定过程的边界强度值确定过程。举例来说,在当前块(例如,正解码的块)和相邻块(例如,存储于参考图片存储器82中的先前经解码块)中的至少一者以IBC模式译码且两者都不是以帧内预测模式译码时,视频解码器30可确定边界强度值。如上所述,基于正对当前块的哪一边缘进行解块滤波,这个相邻块可以是上方块、下方块、右侧块或左侧块。
[0158] 滤波单元84或有可能模式选择单元71可经配置以基于当前块和相邻块的译码模式而执行不同的边界强度值确定过程。为便于说明,在滤波单元84的情况下描述确定边界强度值的实例。然而,在一些实例中,模式选择单元71可确定边界强度值且输出边界强度值。在这些实例中,滤波单元84可基于所接收的边界强度值进行解块滤波。一般来说,因为模式选择单元71和滤波单元84都是视频解码器30的一部分,所以视频解码器30可被视为利用实例技术来确定边界强度值且基于所确定的边界强度值沿边缘进行解块滤波。
[0159] 模式选择单元71可(例如,基于熵解码单元70提供的信息)确定用于当前块和相邻块的译码模式。滤波单元84可基于执行以下实例边界强度确定过程中的一者来确定边界强度值。滤波单元84可基于当前块或相邻块中的一者为经帧内块复制(IBC)译码块(例如,以IBC模式译码)且另一块为经帧间译码块(例如,以帧间预测模式译码)来执行边界强度值确定过程,以确定边界强度值。在这个实例中,边界强度值确定过程不包含识别用于经帧间译码块的运动向量,如表1的ID 3和ID 4的情况那般。再次,如表1中针对ID 3和ID 4所指示,基于两个块的运动向量分量之间的差值来确定边界强度值,运动向量参考不同图片或运动向量的数目对于两个块不同。
[0160] 为了重申,运动向量参考通过参考索引识别到参考图片列表中的参考图片中的块。不应混淆术语“运动向量”与“块向量”。块向量用于经IBC译码块且指向与当前块在同一图片中的预测性块。相反,运动向量指向在与关联于当前块的图片不同的图片中的预测性块。
[0161] 另外,所述边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程。举例来说,这个边界强度值确定过程不同于表1的ID 1。
[0162] 如上文所描述,在JCTVC-R0126中,在两种情况下(例如,一个经IBC译码且另一者经帧间译码,和一个经IBC译码且另一者经帧内译码),JCTVC-R0126技术使用相同过程以用于边界强度值确定(例如,设定边界强度值等于一)。在本发明中描述的技术中,当一个块经IBC译码且另一者经帧内译码时,滤波单元84可执行与当一个块经IBC译码且另一者经帧间译码时不同的边界强度值确定过程。
[0163] 在本发明中描述的技术中,滤波单元84可基于当前块或相邻块中的至少一者为经 IBC译码块(例如,以IBC模式译码)且另一块为经帧内译码块(例如,以帧内预测模式译码)来执行第一边界强度值确定过程。滤波单元84可基于当前块或相邻块中的一者为经 IBC译码块且另一块为非经IBC译码块来执行第二、不同的边界强度值确定过程。在这个实例中,第二边界强度值确定过程不包含识别用于非经IBC译码块的运动向量。
[0164] 滤波单元84(或模式选择单元71)在一个块经帧间译码且另一块经IBC译码时执行的边界强度确定过程的一个实例为设定边界强度值等于一。滤波单元84(或模式选择单元71)在一个块经帧间译码且另一块经IBC译码时执行的边界强度确定过程的另一实例包含确定经IBC译码块的参考块,以及确定所述参考块中的任一像素是否是以帧内预测模式或IBC模式译码的。在这个实例中,滤波单元84或模式选择单元71可基于所述参考块中的任一像素以帧内预测模式或IBC模式译码而设定边界强度值等于一,或基于所述参考块中没有像素以帧内预测模式或IBC模式译码而设定边界强度值等于一。
[0165] 滤波单元84可基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波。滤波单元84接着可将所得经滤波像素值存储在参考图片存储器82中,使得所述经滤波像素值可被显示且可能用作经帧间译码的后一块的参考像素。
[0166] 除了执行用于在一个块经IBC译码时确定边界强度值的实例技术外,视频解码器 30还可经配置以执行与选择性存储IBC译码将不需要的图片中的区域的未经滤波像素值有关的技术。举例来说,模式选择单元71可确定是否参考图片中的一区域以用于所述图片中至少一个块的使用IBC模式的预测(例如,所述区域是否将用作IBC译码的参考)。
[0167] 模式选择单元71可基于在经编码视频位流中接收的信息来执行对一区域是否将用于IBC模式的确定。举例来说,如上文所描述,视频编码器20可输出指示一区域是否将为IBC译码的参考的信息。在一些实例中,模式选择单元71可有可能基于视频内容来确定一区域是否将用于IBC模式。
[0168] 如果模式选择单元71确定参考所述区域以用于使用IBC模式的预测(例如,所述区域将用作IBC译码的参考),那么滤波单元84可在不进行滤波的情况下通过所述区域的未经滤波像素值(或模式选择单元71可使得滤波单元84被绕过,如通过虚线所说明),且所述未经滤波像素值可存储于参考图片存储器82中。在一些实例中,滤波单元84也可对所述区域的像素值进行滤波(例如,应用解块滤波和/或某一其它滤波),且将经滤波像素值存储于参考图片存储器82中。因此,如果模式选择单元71确定参考所述区域以用于使用IBC模式的预测,那么参考图片存储器71可存储所述区域的未经滤波像素值和所述区域的经滤波像素值两者。
[0169] 如果模式选择单元71确定不参考所述区域以用于使用IBC模式的预测(例如,所述区域不将用作IBC译码的参考),那么滤波单元84(或模式选择单元71)可避免将未经滤波像素值存储于参考图片存储器82中。然而,滤波单元84仍然可对像素值进行滤波且将所得经滤波像素值存储于参考图片存储器82中。因此,如果模式选择单元71确定不参考所述区域以用于使用IBC模式的预测,那么参考图片存储器82可存储所述区域的经滤波像素值且可不存储所述区域的未经滤波像素值。
[0170] 以此方式,这些技术可减小用以指示IBC预测用量信息的平均带宽,使得视频解码器30可选择性地仅存储用于使用IBC模式的预测的区域。举例来说,如果不需要未经滤波像素值,那么对参考图片存储器82的存取可受限。参考图片存储器82可在视频解码器30的芯片上或芯片外,且一般来说,限制对参考图片存储器82的存取可促进存储器带宽利用,从而释放时间和空间以用于待存储的其它数据。
[0171] 视频解码器30可解码作为指示一区域是否将用于IBC译码中的参考的信息的旗标 (例如,针对每一CTB接收以指示是否参考一特定CTB以用于至少一个块的预测单元 IBC模式的旗标)。然而,所述区域可不限于CTB。所述区域可为图片、图块、切片、 PU块、CU、CTB、一组CTB、N×N(例如,64×64)的固定大小或M×N(例如,16×32 或32×16)的矩形分割区中的一者。视频解码器30可针对区域大小的这些实例中的任一者接收旗标。
[0172] 另外,视频解码器30可在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、切片标头或辅助增强信息(SEI)消息或参数集扩展中的一或多者中接收指示所述区域是否将用作用于IBC模式的参考的信息。在一些实例中,视频解码器30可基于是否启用帧内块复制模式而条件性地接收所述信息。
[0173] 在一些实例中,视频解码器30可接收另一选通旗标,其指示用于一区域是否将用作参考的旗标的存在。所述选通旗标可为高层级旗标,其首先指示指示一区域是否将用作参考的旗标是否存在于位流中。举例来说,如果这个选通旗标较高,那么视频解码器 30可接收指示一区域是否用于IBC模式中的参考的旗标,且如果这个选通旗标较低,那么视频解码器30可不接收指示一区域是否用于IBC模式中的参考的旗标。
[0174] 另外,可需要明确地传信CTU(或通常具有各种粒度水平的块)的数目,以识别指示所述CTB是否用作帧内块复制参考的经译码或经解码旗标的数目。举例来说,当在切片标头中传信旗标时,这个传信操作可为有用的,因为包含到切片中的CTU的数目可能是事先未知的。然而,如果启用波前平行处理(WPP)或图块,那么这类信息(CTU的数目)可为可获得的,且因此可不需要额外地加以传信,因此可仅在使用WPP或图块时传信CTU的数目。
[0175] 虽然在本发明中描述了所述技术的多个不同方面和实例,但是所述技术的各种方面和实例可以一起执行或彼此分开执行。换句话说,所述技术不应严格地限制于上文所述的各种方面和实例,而是可组合使用或一起执行和/或分开执行。另外,虽然某些技术可以归于视频解码器30的某些单元,但是应理解,视频解码器30的一或多个其它单元也可以负责实行此类技术。
[0176] 根据本发明的各方面,视频编码器20和/或视频解码器30可执行上文所描述的解块滤波技术。虽然未严格地适用于任一视频译码标准,但所述技术可与HEVC范围扩展、屏幕内容译码扩展或可能的其它规范化或专用视频压缩过程一起使用。
[0177] 上述实例描述视频编码器20或视频解码器30用以确定边界强度值以用于进行解块滤波的技术。因为视频编码器20和视频解码器30两者执行用于处理视频数据的相同技术,所以本发明使用术语“视频译码器”来一般地指代两者。举例来说,下文是针对用于确定边界强度值的解块滤波过程的改变的三个实例技术。可相对于HEVC版本1描述技术1到3中提及的“改变”。
[0178] 作为技术1的一实例,当视频译码器确定使用帧内块复制时,解块滤波过程可如下改变。类似于表1中,如果视频译码器确定一边缘的任一侧(例如,当前块或相邻块中任一者)是经帧内译码块,那么视频译码器可设定边界强度值等于二。否则,如果视频译码器确定一边缘的任一侧是经IBC译码块(且两者都不是经帧内译码的),那么视频译码器可设定边界强度值等于一。否则(例如,块都不是经帧内译码的且块都不是经IBC译码的),视频译码器可应用上文在表1中描述的帧内规则以选择边界强度值等于0或1。
[0179] 作为技术2的一实例,当视频译码器确定使用帧内块复制时,解块滤波过程可如下改变。类似于表1中,如果视频译码器确定一边缘的任一侧(例如,当前块或相邻块中任一者)是经帧内译码块,那么视频译码器可设定边界强度值等于二。否则,如果视频译码器确定一边缘的任一侧是经IBC译码块(且两者都不是经帧内译码的),那么视频译码器可基于所述经IBC译码块的块向量来识别所述经IBC译码块的参考块。如果这个参考块中的任一像素以帧内预测模式译码,那么视频译码器可设定边界强度值等于二。否则,视频译码器设定边界强度值等于1。否则(例如,块都不是经帧内译码的且块都不是经IBC 译码的),视频译码器可应用上文在表1中描述的帧内规则以选择边界强度值等于0或1。
[0180] 作为技术3的一实例,当视频译码器确定使用帧内块复制时,解块滤波过程可如下改变。类似于表1中,如果视频译码器确定一边缘的任一侧(例如,当前块或相邻块中任一者)是经帧内译码块,那么视频译码器可设定边界强度值等于二。否则,如果视频译码器确定一边缘的任一侧是经IBC译码块(且两者都不是经帧内译码的),那么视频译码器可基于所述经IBC译码块的块向量来识别所述经IBC译码块的参考块。如果这个参考块中的任一像素以帧内预测模式或IBC模式译码,那么视频译码器可设定边界强度值等于二。否则,视频译码器设定边界强度值等于1。否则(例如,块都不是经帧内译码的且块都不是经IBC译码的),视频译码器可应用上文在表1中描述的帧内规则以选择边界强度值等于0或1。
[0181] 因此,视频译码器(例如视频编码器20和/或视频解码器30)可处理视频数据,包含基于形成一边缘的至少一个块是否是使用帧内块复制(帧内BC)模式译码而确定用于对视频数据图片中的所述边缘进行解块滤波的边界强度值,以及使用所确定的边界强度值对所述边缘进行解块滤波。边界强度值可为在例如由滤波单元66和/或滤波单元84实施的解块滤波过程期间使用的参数。
[0182] 图4A到4I是说明相邻块的不同译码模式的不同组合的概念图。在图4A到4E中所说明的实例中,相邻块中的至少一者是经帧内译码的。因此,在这些实例中,视频译码器可执行第一边界强度值确定过程(例如,设定边界强度值等于二)。这个第一边界强度值确定过程可与上文表1中的ID 1相同。图4A到4I将相邻者展示为呈并排,但相邻者也可为顶部和底部相邻者。
[0183] 所述第一边界强度值确定过程不同于JCTVC-R0126技术。在JCTVC-R0126中,如果块中的一者经IBC译码,那么边界强度值将为一。举例来说,在JCTVC-R0126中,图4B和4C的边界强度值将为一,因为块中的一者经IBC译码。然而,在本发明中描述的一或多个实例技术中,边界强度值确定过程是不同的且遵循经帧内译码块的边界强度值确定过程。
[0184] 在图4F到4H中,块中的至少一者经IBC译码且两者都不是经帧内译码的。对于图4F到4H中所说明的实例,视频译码器可执行第二边界强度值确定过程。举例来说,当两个块都经IBC译码时或当一个块经IBC译码且另一块经帧间译码时,视频译码器可执行第二边界强度值确定过程。
[0185] 对于第二边界强度确定过程,作为一个实例,视频译码器可确定边界强度值等于一。作为另一实例,视频译码器可识别所述经IBC译码块所参考的参考块,且确定所述参考块中的任何像素是否是以帧内预测模式或IBC模式译码的。视频译码器可基于所述参考块中的任一像素以帧内预测模式或IBC模式译码而设定边界强度值等于二,或基于所述参考块中没有像素以帧内预测模式或IBC模式译码而设定边界强度值等于一。
[0186] 在图4I中,两个块都是经帧间译码的。在此情况下,视频译码器可执行第三边界强度值确定过程。举例来说,视频译码器可执行上表1的ID 3和ID 4中的过程。
[0187] 在本发明中所描述的实例中,视频译码器可基于当前块或相邻块中的一者为经帧内块复制(IBC)译码块且另一块为经帧间译码块而执行边界强度值确定过程,以确定边界强度值。举例来说,视频译码器可执行上文所描述的第二边界强度值确定过程。在这个实例中,所述边界强度值确定过程不包含识别用于经帧间译码块的运动向量,且所述边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程。
[0188] 举例来说,如上文所描述,当块经帧间译码时,接着以整数像素为单位,将两个块的对应空间运动向量分量之间的绝对差与一进行比较以确定边界强度值,如表1的ID 3。在表1的ID 4中,视频译码器需要确定用于两个块的经运动补偿预测是否参考不同参考图片或运动向量的数目对于两个块是否不同。
[0189] 在第二边界强度值确定过程中,不需要确定用于经帧间译码块的这类运动向量。以此方式,第二边界强度值确定过程(例如,其中一个块经IBC译码且另一者经帧间译码) 不同于一些其它技术。
[0190] 上文所描述的其中一个块经帧间译码且另一者经IBC译码的其它技术中的一些包含将经IBC译码块处理为经帧间译码块或将经IBC译码块转换成单向预测性经帧间译码块。在这些实例中,视频译码器必须识别经帧间译码块的运动向量且用于表1的ID 3 和ID 4中所需要的比较。在第二边界强度值确定过程中,确定边界强度值不需要经帧间译码块的运动向量。在一些情况下,视频译码器可使用块向量来识别参考块,但可能不需要经帧间译码块的运动向量。
[0191] 另外,第二边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程。在一些技术中,与经帧内译码块相同地处理经IBC译码块,此意味着如果另一块经帧间译码,那么边界强度值确定将不同于本发明中所描述的实例。另外,在JCTVC-R0126中,如果一个块经IBC译码且另一者经帧内译码,那么边界强度值为一。在本发明中描述的技术中,如果一个块经IBC译码且另一者经帧内译码,那么边界强度值为二。
[0192] 应理解,就本发明中的一或多种技术来说,在一个块经帧内译码且另一者经IBC译码时相对于一个块经IBC译码且另一者经帧间译码的情形,边界强度值确定过程是不同的。虽然在一些情况下,所得边界强度值最终可能碰巧相同,但确定边界强度值的过程是不同的。换句话说,边界强度值不一定必须不同,但经执行以确定边界强度值的过程可为不同的,即使边界强度值不一定不同也是这样。
[0193] 图5说明可对其执行解块滤波的相邻块。举例来说,图5的实例说明由邻近块P和 Q形成的四个像素长的竖直块边界。在图5的实例中,块P和Q形成边缘88,可使用解块滤波技术对所述边缘进行解块。
[0194] 在图5的实例中,视频译码器可利用滤波决策标准来确定是否应用滤波和将应用的滤波的方式。边界强度决策标准可包含表1。
[0195] 在一些实例中,当边界强度(Bs)为正时,用以确定是否启用解块滤波的准则可如下:
[0196] |p2,0-2p1,0+p0,0|+|p2,3-2p1,3+p0,3|+|q2,0-2q1,0+q0,0|+|q2,3-2q1,3+q0,3|<β[0197] 用以确定正常和强力解块滤波器的准则可为(i=0,3):
[0198] |p2,i-2p1,i+p0,i|+|q2,i-2q1,i+q0,i|<β/8
[0199] |p3,i-p0,i|+|q3,i-q0,i|<β/8
[0200] |p0,i-q0,i|<2.5tC
[0201] 可以类似方式处理水平块边界。关于HEVC解块滤波过程的额外细节可在HEVC 章节8.7.2中找到。举例来说,如上文关于图2和3所描述,滤波单元66和/或滤波单元 84可分别经配置以执行解块滤波,包含下文所描述的解块滤波(例如,HEVC章节8.7.2 的解块滤波过程)。另外,滤波单元66和/或滤波单元84可经配置以执行本发明的滤波技术。
[0202] 下文针对解块滤波复制来自HEVC章节8.7.2的用于亮度块边缘的决策过程的解块滤波。在下方文本中,变量BS是指可使用本发明中描述的技术确定的边界强度值。边界强度值可用于确定将对多少像素进行滤波(例如,图5的实例中待进行滤波的像素的数目)和用于进行滤波的系数。
[0203] 亮度块边缘的决策过程
[0204] 这个过程的输入是:
[0205] -亮度图片样本阵列recPictureL,
[0206] -相对于当前图片的左上方亮度样本指定当前亮度译码块的左上方样本的亮度位置(xCb,yCb),
[0207] -相对于当前亮度译码块的左上方样本指定当前亮度块的左上方样本的亮度位置 (xBl,yBl),
[0208] -指定竖直边缘(EDGE_VER)或水平边缘(EDGE_HOR)是否经滤波的变量 edgeType,[0209] -指定边界滤波强度的变量bS。
[0210] 这个过程的输出是:
[0211] -含有决策的变量dE、dEp和dEq,
[0212] -变量β和tC。
[0213] 如果edgeType等于EDGE_VER,那么样本值pi,k和qi,k(其中i=0..3且k=0和3) 导出如下:
[0214] qi,k=recPictureL[xCb+xBl+i][yCb+yBl+k]  (8-284)
[0215] pi,k=recPictureL[xCb+xBl-i-1][yCb+yBl+k]  (8-285)
[0216] 否则(edgeType等于EDGE_HOR),样本值pi,k和qi,k(其中i=0..3且k=0和3)导出如下:
[0217] qi,k=recPictureL[xCb+xBl+k][yCb+yBl+i]  (8-286)
[0218] pi,k=recPictureL[xCb+xBl+k][yCb+yBl-i-1]  (8-287)
[0219] 变量QpQ和QpP分别设定成等于包含含有样本q0,0和p0,0的译码块的译码单元的QpY值。
[0220] 变量qPL导出如下:
[0221] qPL=((QpQ+QpP+1)>>1) (8-288)
[0222] 如表8-11中所指定,基于如下导出的亮度量化参数Q来确定变量β′的值:
[0223] Q=Clip3(0,51,qPL+(slice_beta_offset_div2<<1))  (8-289)
[0224] 其中slice_beta_offset_div2是用于含有样本q0,0的切片的语法元素slice_beta_offset_div2的值。
[0225] 变量β导出如下:
[0226] β=β′*(1<<(BitDepthY-8))   (8-290)
[0227] 如表8-11中所指定,基于如下导出的亮度量化参数Q来确定变量tC′的值。
[0228] Q=Clip3(0,53,qPL+2*(bS-1)+(slice_tc_offset_div2<<1)) (8-291)
[0229] 其中slice_tc_offset_div2是用于含有样本q0,0的切片的语法元素slice_tc_offset_div2 的值。
[0230] 变量tC导出如下:
[0231] tC=tC′*(1<<(BitDepthY-8))   (8-292)
[0232] 取决于edgeType的值,以下适用:
[0233] -如果edgeType等于EDGE_VER,那么以下排序步骤适用:
[0234] 1.变量dpq0、dpq3、dp、dq和d导出如下:
[0235] dp0=Abs(p2,0-2*p1,0+p0,0)   (8-293)
[0236] dp3=Abs(p2,3-2*p1,3+p0,3)   (8-294)
[0237] dq0=Abs(q2,0-2*q1,0+q0,0)   (8-295)
[0238] dq3=Abs(q2,3-2*q1,3+q0,3)   (8-296)
[0239] dpq0=dp0+dq0   (8-297)
[0240] dpq3=dp3+dq3   (8-298)
[0241] dp=dp0+dp3   (8-299)
[0242] dq=dq0+dq3   (8-300)
[0243] d=dpq0+dpq3   (8-301)
[0244] 2.变量dE、dEp和dEq被设定成等于0。
[0245] 3.当d小于β时,以下排序步骤适用:
[0246] a.变量dpq被设定成等于2*dpq0。
[0247] b.对于样本位置(xCb+xBl,yCb+yBl),如子条款8.7.2.5.6中所指定的用于亮度样本的决策过程被样本值pi,0、qi,0(其中i=0..3)调用,变量dpq、β和tC作为输入,且输出被指派到决策dSam0。
[0248] c.变量dpq被设定成等于2*dpq3。
[0249] d.对于样本位置(xCb+xBl,yCb+yBl+3),如子条款8.7.2.5.6中所指定的用于亮度样本的决策过程被样本值pi,3、qi,3(其中i=0..3)调用,变量dpq、β和tC作为输入,且输出被指派到决策dSam3。
[0250] e.变量dE被设定成等于1。
[0251] f.当dSam0等于1且dSam3等于1时,变量dE被设定成等于2。
[0252] g.当dp小于(β+(β>>1))>>3时,变量dEp被设定成等于1。
[0253] h.当dq小于(β+(β>>1))>>3时,变量dEq被设定成等于1。
[0254] -否则(edgeType等于EDGE_HOR),以下排序步骤适用:
[0255] 1.变量dpq0、dpq3、dp、dq和d导出如下:
[0256] dp0=Abs(p2,0-2*p1,0+p0,0)   (8-302)
[0257] dp3=Abs(p2,3-2*p1,3+p0,3)   (8-303)
[0258] dq0=Abs(q2,0-2*q1,0+q0,0)   (8-304)
[0259] dq3=Abs(q2,3-2*q1,3+q0,3)   (8-305)
[0260] dpq0=dp0+dq0   (8-306)
[0261] dpq3=dp3+dq3   (8-307)
[0262] dp=dp0+dp3   (8-308)
[0263] dq=dq0+dq3   (8-309)
[0264] d=dpq0+dpq3   (8-310)
[0265] 2.变量dE、dEp和dEq被设定成等于0。
[0266] 3.当d小于β时,以下排序步骤适用:
[0267] a.变量dpq被设定成等于2*dpq0。
[0268] b.对于样本位置(xCb+xBl,yCb+yBl),如子条款8.7.2.5.6中所指定的用于亮度样本的决策过程被样本值p0,0、p3,0、q0,0和q3,0调用,变量dpq、β和tC作为输入,且输出被指派到决策dSam0。
[0269] c.变量dpq被设定成等于2*dpq3。
[0270] d.对于样本位置(xCb+xBl+3,yCb+yBl),如子条款8.7.2.5.6中所指定的用于亮度样本的决策过程被样本值p0,3、p3,3、q0,3和q3,3调用,变量dpq、β和 tC作为输入,且输出被指派到决策dSam3。
[0271] e.变量dE被设定成等于1。
[0272] f.当dSam0等于1且dSam3等于1时,变量dE被设定成等于2。
[0273] g.当dp小于(β+(β>>1))>>3时,变量dEp被设定成等于1。
[0274] h.当dq小于(β+(β>>1))>>3时,变量dEq被设定成等于1。
[0275] 表8-11——从输入Q导出阈值变量β′和tC′
[0276]
[0277]
[0278] 应理解,解释使用边界强度值的一种方式的上述文字仅作为一个实例提供且不应被视为具限制性。可存在边界强度值可用于解块滤波技术的其它方式。另外,除HEVC的章节8.7.2外,HEVC中可存在使用边界强度值的部分。
[0279] 图6是说明帧内块复制过程的实例的图式。帧内BC已包含于SCM中。图6的实例包含当前译码单元(CU)90、位于搜索区域94中的预测块92和块向量96。在编码期间,视频编码器20可以基于当前CU 90与预测块92(其也可被称作预测信号)之间的差值对当前CU 90的残余进行编码。视频编码器20可以将预测块92定位在搜索区域94 中,所述预测块已经在与当前CU 90相同的图片中经重建。视频编码器20可以使用块向量96(其还可被称作“偏移向量”或“位移向量”)来定位预测块92。在一些情况下,例如预测块92的预测信号可经重建但不经环路内滤波,包含解块和样本自适应偏移 (SAO)。
[0280] 视频编码器20可编码块向量96以及残余传信。举例来说,视频编码器20可在经编码视频位流中包含识别或定义块向量96的水平位移分量和块向量96的竖直位移分量的一或多个语法元素。在一些情况下,如下文所提到,视频编码器20可预测块向量96 且在经编码视频位流中包含指示块向量96与预测值之间的差值的数据。视频编码器20 还可以对残余进行编码,例如当前CU 90的像素值与预测块92的像素值之间的差值。
[0281] 视频解码器30可解码一或多个语法元素以确定块向量96(或指示块向量96与块向量预测值之间的差值的数据),且使用所确定的向量来识别当前CU 90的预测块92。视频解码器30还可以对残余进行解码。视频解码器30可以通过组合经解码残余与预测块 92的经重建像素值(如通过块向量96所识别)来重建当前CU 90。
[0282] 在一些实例中,块向量96的分辨率可以是整数像素,例如,被限制为具有整数像素分辨率。在此类实例中,水平位移分量和竖直位移分量的分辨率是整数像素。在此类实例中,视频编码器20和视频解码器30无需内插预测块92的像素值以确定用于当前 CU 90的预测值。在其它实例中,水平位移分量和竖直位移分量中的一个或两个的分辨率可以是亚像素分辨率。举例来说,竖直分量和水平分量中的一个可具有整数像素分辨率,而另一个具有亚像素分辨率。
[0283] 如上文所提及,块向量96可以整数级经预测且传信。举例来说,在一些情况下,可以类似于本文中所描述的运动向量的预测的方式来预测块向量96。也就是说,视频编码器20可编码(且视频解码器30可解码)块向量96与块向量预测值之间的块向量差的指示,而非在位流中包含块向量96的指示。块向量96可以整数级经预测且传信。在当前 SCM中,可在每一CTB的开始处将块向量预测值设定成(-w,0),其中w是CU的宽度。块向量预测值可被更新为最近经译码CU/PU中的一个,所述最近经译码CU/PU是以帧内BC模式译码的。如果CU/PU不是以帧内BC译码的,那么块向量预测值保持不变。在块向量预测之后,使用如HEVC中的运动向量差译码方法来编码块向量差(例如,当前块向量与块向量预测值之间的块向量差)。因此,虽然本文中所描述的某些技术包含在位流中传信块向量(例如,块向量96)的指示,但应理解,在一些情况下,可替代地传信块向量差的指示。
[0284] 在CU和PU两个层级下启用当前帧内BC模式。对于PU层级帧内BC,针对全部 CU大小支持2N×N和N×2N PU分割区。另外,当CU是最小CU时,支持N×N PU分割区。
[0285] 图7说明用于合并模式和AMVP模式的空间相邻运动向量候选者。举例来说,HEVC 标准包含两种帧间预测模式,包含合并模式和AMVP模式。在AMVP或合并模式中,针对多个运动向量预测符维持运动向量(MV)候选者列表。当前PU的运动向量(以及合并模式中的参考索引)是通过从MV候选者列表获取一个候选者而产生。MV候选者列表含有用于合并模式的多达5个候选者和用于AMVP模式的仅两个候选者。合并候选者可含有运动信息集合,例如对应于参考图片列表(列表0和列表1)和参考索引两者的运动向量。如果通过合并索引来识别合并候选者,那么参考图片用于当前块的预测且相关联的运动向量得以确定。然而,在AMVP模式下,对于从列表0或列表1起的每一潜在预测方向,将参考索引连同对MV候选者列表的MVP索引一起明确地传信,这是因为AMVP 候选者仅含有运动向量。在AMVP模式中,可进一步优化经预测运动向量。因此,合并候选者对应于运动信息的完整集合,而AMVP候选者仅含有用于特定预测方向和参考索引的一个运动向量。以类似方式从相同空间和时间相邻块导出用于两种模式的候选者。
[0286] 在合并模式中,图7中示出五个空间MV候选者的位置。每一候选者位置的可用性可根据以下次序进行检查:{a1,b1,b0,a0,b2}。
[0287] 在AVMP模式中,相邻块可用于建构MV候选者列表。相邻块可划分成两个群组:由块a0和a1组成的左侧群组,以及由块b0、b1和b2组成的上方群组。对于左侧群组,根据次序:{a0,a1}来检查可用性。对于上方群组,根据次序:{b0,b1,b2}来检查可用性。对于每一群组,如由传信的参考索引所指示的参考同一参考图片的相邻块中的潜在候选者具有最高待选优先级,以形成所述群组的最终候选者。有可能所有相邻块均不含有指向同一参考图片的运动向量。在此类情况下,如果无法找到此类候选者,那么可按比例缩放第一可用候选者以形成最终候选者,因此可补偿时间距离差异。
[0288] 一般来说,可针对当前PU/CU的亮度分量导出运动向量。在使用运动向量进行色度运动补偿之前,可基于色度取样格式按比例缩放运动向量。
[0289] 在HEVC中,可将LCU划分成若干并行运动估计区域(MER),且仅允许将属于与当前PU不同的MER的那些相邻PU包含于合并/跳过MVP列表建构过程中。可在图片参数集中将MER的大小传信为log2_parallel_merge_level_minus2。当MER大小大于N×N (其中2N×2N是最小CU大小)时,MER以以下方式起作用:如果空间相邻块在与当前 PU相同的MER内部,那么其被视为不可用。
[0290] 图8是说明针对图片中的译码单元(CU)的实例帧内块复制(IBC)预测分配的概念图。不同于帧间模式,IBC模式将同一图片内已经解码的未经滤波样本用于其预测。在当前测试模型中,对于IBC模式,搜索范围是不受限制的(全量搜索IBC)。
[0291] 如图8中所展示,可从先前经解码的未经滤波样本中的任一者(格纹块)预测当前块 (以黑色填充)。由于在当前图片中的所有块经解码之前,格纹块的用量信息是未知的,因此IBC可引入所有经解码块的未经滤波样本的额外存储。然而,可以观察到,一些区域(以灰色填充)并不用于IBC预测且这个用量取决于内容的特性。因此,从带宽视角来说,始终存储当前图片的先前经解码的未经滤波样本(包含以灰色填充的区域)可为低效的。
[0292] 在本发明中描述的技术中,IBC预测用量信息可经指示(例如,作为一个非限制性实例通过视频编码器20指示),使得解码器(例如,视频解码器30)可选择性地存储用于使用IBC模式的预测的区域(且在一些实例中,仅存储所述区域)。这类存储可减小平均带宽。
[0293] 下文描述根据本发明中描述的技术的实例。以下实例中的每一个可以分别应用或与其它实例中的一或多个共同应用。在以下实例中,术语“传信”用于指示信息的包含。举例来说,在以下实例中视频编码器20可传信(例如,输出)信息,且在以下实例中视频解码器30可接收信息。然而,传信这类信息的视频编码器20和接收这类信息的视频解码器30仅出于说明的目的提供。
[0294] 在一个实例中,可针对每一CTB传信一旗标以指示是否参考一特定CTB以用于至少一个块的使用IBC模式的预测。在一个实例中,可针对每一区域传信一旗标以指示是否参考一特定区域以用于至少一个块的使用IBC模式的预测。区域可处于不同粒度水平,例如图片、图块、切片、PU块、CU、CTB、一组CTB或N×N(例如,64×64)的固定大小,或M×N(例如,16×32或32×16等)的矩形分割区。
[0295] 可在如VPS、SPS、PPS、切片标头或其扩展的各种粒度水平下传信上述信息(每一区域(包含CTB)参考用量的旗标)。替代地或另外,此(上述信息)可在SEI消息中进行传信。在一些实例中,此(上述信息)可基于是否启用帧内块复制模式而条件性地传信。
[0296] 在一些实例中,可传信另一选通旗标以指示上述信息(IBC参考用量)的存在。这个选通旗标可在如VPS、SPS、PPS、切片标头或其扩展的各种粒度水平下进行传信。
[0297] 可需要明确地传信CTU(或通常具有各种粒度水平的块)的数目,以识别指示所述 CTB是否用作帧内块复制参考的经译码或经解码旗标的数目。举例来说,当在切片标头中传信旗标时,这个传信操作可为有用的(且在一些实例中为必要的),因为包含到切片中的CTU的数目可能是事先未知的。然而,如果启用波前平行处理(WPP)或图块,那么这类信息(CTU的数目)可为可获得的,且因此可不需要额外地加以传信,因此可仅在使用WPP或图块时传信(例如,仅传信)CTU的数目。
[0298] 下文描述一个实例实施方案。
[0299] 常用切片段标头语法
[0300]
[0301] num_ctb_in_slice指定切片标头中ibc_ref_usage_info[i]语法元素的数目。当不存在时,推断num_ctb_in_slice的值等于0。
[0302] 等于0的ibc_ref_usage_info[i]指定译码块树i内没有样本用于当前图片中帧内块复制模式的预测。等于0的ibc_ref_usage_info[i]指定译码块树i内的样本可用于当前图片中帧内块复制模式的预测。当ibc_ref_usage_info[i]不存在时,推断其等于1。
[0303] 常用图片参数集RBSP语法
[0304]
[0305] 等于1的pps_ibc_ref_usage_present_flag指定帧内块复制参考用量消息存在于切片的所有经译码树块的切片段标头中。等于0的pps_ibc_ref_usage_present_flag指定帧内块复制参考用量消息不存在于切片段标头中。当pps_ibc_ref_usage_present_flag不存在时,推断其等于0。
[0306] 图9是说明根据本发明的一个实例技术的流程图。图9的实例说明视频编码器20 和视频解码器30两者都可执行的处理视频数据的方法,且因此关于视频译码器描述图9。
[0307] 视频译码器可确定视频数据图片中的当前块的译码模式和所述视频数据图片中的相邻块的译码模式(100)。视频译码器可基于当前块或相邻块中的一者为经帧内块复制 (IBC)译码块且另一者为经帧间译码块而执行边界强度值确定过程,以确定边界强度值 (102)。所述边界强度值确定过程不包含识别经帧间译码块的运动向量。另外,所述边界强度值确定过程不同于在当前块或相邻块中的一者经帧内译码且另一者经IBC译码时的边界强度值确定过程。所述边界强度值确定过程可为在当前块和相邻块两者都为经 IBC译码块时的相同边界强度值确定过程。
[0308] 在一些实例中,为了执行边界强度值确定过程,视频译码器可设定边界强度值等于一。在一些实例中,为了执行边界强度值,视频译码器可(例如,基于块向量)确定经IBC 译码块的参考块,确定所述参考块中任一像素是否是以帧内预测模式或IBC模式译码的。视频译码器可基于所述参考块中的任一像素以帧内预测模式或IBC模式译码而设定边界强度值等于二,或基于所述参考块中没有像素以帧内预测模式或IBC模式译码而设定边界强度值等于一。
[0309] 视频译码器可基于所确定的边界强度值沿当前块与相邻块之间的边缘进行解块滤波(104)。视频译码器可将当前块的所得经解块滤波像素值存储于参考图片存储器(例如,参考图片存储器64或参考图片存储器82)中。
[0310] 图10是说明根据本发明的一个实例技术的流程图。图10的实例说明视频编码器20 和视频解码器30两者都可执行的处理视频数据的方法,且因此关于视频译码器描述图9。
[0311] 视频译码器可确定是否参考所述图片中的一区域以用于所述图片中至少一个块的使用IBC模式的预测(106)。视频译码器可基于对参考所述区域以用于使用IBC模式的预测的确定而将图片中所述区域的未经滤波像素值存储于参考图片存储器中(108)。视频译码器可基于对不参考所述区域以用于使用IBC模式的预测的确定而避免存储图片中所述区域的未经滤波像素值(110)。
[0312] 举例来说,当视频解码器30执行图10的实例技术时,视频解码器30可在VPS、 SPS、PPS、切片标头或SEI消息中的一或多者中接收信息(例如,旗标),且可基于所接收的信息确定是否参考图片中的所述区域以用于所述块的使用IBC模式的预测。当视频编码器20执行图10的实例技术时,视频编码器20可在VPS、SPS、PPS、切片标头或 SEI消息中的一或多者中输出信息(例如,旗标),所述信息识别是否参考图片中的一区域以用于图片中至少一个块的使用IBC模式的预测。
[0313] 应认识到,取决于实例,本文中所描述的技术中任一者的某些动作或事件可以用不同序列来执行,可以添加、合并或全部省略(例如,实践所述技术未必需要所有的所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非顺序地执行动作或事件。
[0314] 出于说明的目的,已经相对于开发HEVC标准而描述本发明的某些方面。然而,本发明中描述的技术可有用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
[0315] 如本发明中所描述,视频译码器可以指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,在适用时,视频译码可指视频编码或视频解码。另外,编码视频数据和/或解码视频数据通常可被称作处理视频数据。
[0316] 在一或多个实例中,所描述的功能可在硬件、软件、固件或其任何组合中实施。如果用软件实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体。
[0317] 数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
[0318] 借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、 CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可以用来存储呈指令或数据结构形式的所要程序代码并且可以由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源发射指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。
[0319] 然而,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
[0320] 可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合式编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
[0321] 本发明的所述技术可在包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)的广泛多种装置或设备中实施。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件及/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
[0322] 描述了各种实例。所述和其它实例属于所附权利要求书的范围内。