用于视频解码的方法、装置、设备及计算机可读存储介质转让专利

申请号 : CN201710243718.7

文献号 : CN107277525B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 钟仁肃马尔塔·卡切维奇

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

摘要 :

本发明涉及多度量滤波。视频编码器或视频解码器的一种滤波器单元可确定像素的一块内的像素的群组的第一度量、确定像素的所述群组的第二度量、基于所述第一度量及所述第二度量确定滤波器,及通过将所述滤波器应用于像素的所述群组来产生经滤波图像。所述第一度量及所述第二度量可分别为活动度量及方向度量,或可为其它度量,例如边缘度量、水平活动度量、垂直活动度量或对角线活动度量。

权利要求 :

1.一种视频解码的方法,所述方法包含:

从视频位串流解码像素块内的像素的第二度量,其中所述第二度量指示水平方向、垂直方向或者无方向中的一者;

通过参考所述第二度量来将所述像素的像素值与所述像素块内的相邻像素的像素值相比较而确定所述像素的第一度量;

基于所述第二度量及所述第一度量确定滤波器;以及将所述滤波器应用于所述像素。

2.根据权利要求1所述的方法,其中所述像素块内的所有像素都与所述第二度量相关联。

3.根据权利要求2所述的方法,其进一步包含:从所述视频位串流解码滤波器系数,其中所述滤波器由滤波器系数的集合定义,且使用所述滤波器系数将所述滤波器应用于所述像素。

4.根据权利要求1所述的方法,其中:

如果所述第二度量指示所述水平方向,所述相邻像素被选择为右边相邻像素和左边相邻像素,以及如果所述第二度量指示所述垂直方向,所述相邻像素被选择为上方相邻像素和下方相邻像素。

5.根据权利要求1所述的方法,其进一步包含:在解码所述像素的所述第二度量之后,确定所述像素的所述第一度量之前,将解块滤波器应用于包括多个像素块的图像。

6.根据权利要求1所述的方法,其中所述滤波器具有关于所述像素的相关联的滤波器支持形状。

7.根据权利要求1所述的方法,其中在所述视频位串流中将所述第二度量译码为语法元素。

8.根据权利要求1所述的方法,其中使用上下文自适应性二进制算术译码从所述视频位串流中解码所述第二度量。

9.根据权利要求1所述的方法,其中确定所述像素的所述第一度量包含:将所述像素与所述像素块内的第一相邻像素比较;

响应于所述像素的像素值大于所述第一相邻像素的像素值,递增边缘度量变量;以及响应于所述像素的像素值小于所述第一相邻像素的像素值,递减所述边缘度量变量。

10.根据权利要求1所述的方法,其中所述第一度量是整数。

11.根据权利要求1所述的方法,其中如果所述第二度量指示无方向,则不将滤波器应用到所述像素。

12.根据权利要求1所述的方法,其中所述解码不使用用于与所述像素块相邻的块的像素值的行缓冲器。

13.根据权利要求1所述的方法,其中将所述滤波器应用于所述像素平滑化所述像素值相对于相邻像素值的强度差异以减少不想要的假影。

14.根据权利要求1所述的方法,其中所述第一度量是活动度量,所述活动度量具有五个类别。

15.根据权利要求1所述的方法,其中所述第一度量是根据下列等式所定义的活动度量var(i,j):其中对于跨越-K到K及-L到L的二维窗,k表示从-K到K的总和的值,且l表示从-L到L的总和的值,其中i及j表示像素数据的像素坐标,且R(i,j)表示在坐标i及j处的给定像素值。

16.一种无线通信装置,其经配置以执行根据权利要求1所述的方法,且所述无线通信装置包括:存储器,其经配置以存储所述第一度量、所述第二度量和所述像素块内的所述像素;

一个或多个处理器,其经配置以执行指令以解码所述第二度量、确定所述第一度量、确定所述滤波器以及将所述滤波器应用于所述像素;

接收器,其经配置以经由信道接收经调制的信息;以及调制解调器,其经配置以解调所述经调制的信息以产生所述视频位串流。

17.根据权利要求16所述的无线通信装置,其中所述无线通信装置为蜂窝电话,并且根据蜂窝通信标准解调所述经调制的信息。

18.一种用于解码视频数据的装置,所述装置包含:存储器,其经配置以存储视频位串流的至少一部分;以及一个或多个处理器,其经配置以:

从所述视频位串流的经存储部分解码像素块内的像素的第二度量,其中所述第二度量指示水平方向、垂直方向或者无方向中的一者;

通过参考所述第二度量来将所述像素的像素值与所述像素块内的相邻像素的像素值相比较而确定所述像素的第一度量;

基于所述第二度量及所述第一度量确定滤波器;以及将所述滤波器应用于所述像素。

19.根据权利要求18所述的装置,其中所述像素块内的所有像素都与所述第二度量相关联。

20.根据权利要求19所述的装置,所述一个或多个处理器进一步经配置以:从所述视频位串流的经存储部分解码滤波器系数,其中所述滤波器由滤波器系数的集合定义,且使用所述滤波器系数将所述滤波器应用于所述像素。

21.根据权利要求18所述的装置,其中:

如果所述第二度量指示所述水平方向,所述相邻像素被选择为右边相邻像素和左边相邻像素,以及如果所述第二度量指示所述垂直方向,所述相邻像素被选择为上方相邻像素和下方相邻像素。

22.根据权利要求18所述的装置,所述一个或多个处理器进一步经配置以:在解码所述像素的所述第二度量之后,确定所述像素的所述第一度量之前,将解块滤波器应用于包括多个像素块的图像。

23.根据权利要求18所述的装置,其中所述滤波器具有关于所述像素的相关联的滤波器支持形状。

24.根据权利要求18所述的装置,其中在所述视频位串流的经存储部分中将所述第二度量译码为语法元素。

25.根据权利要求18所述的装置,其中使用上下文自适应性二进制算术译码从所述视频位串流的经存储部分中解码所述第二度量。

26.根据权利要求18所述的装置,其中所述一个或多个处理器通过进一步经配置以执行以下步骤来确定所述像素的所述第一度量:将所述像素与所述像素块内的第一相邻像素比较;

响应于所述像素的像素值大于所述第一相邻像素的像素值,递增边缘度量变量;以及响应于所述像素的像素值小于所述第一相邻像素的像素值,递减所述边缘度量变量。

27.根据权利要求18所述的装置,其中所述第一度量是整数。

28.根据权利要求18所述的装置,其中如果所述第二度量指示无方向,则不将滤波器应用到所述像素。

29.根据权利要求18所述的装置,其中所述一个或多个处理器进一步经配置以解码所述第二度量而不使用用于与所述像素块相邻的块的像素值的行缓冲器。

30.根据权利要求18所述的装置,其中所述一个或多个处理器进一步经配置以通过平滑化所述像素值相对于相邻像素值的强度差异以减少不想要的假影而将所述滤波应用于所述像素。

31.根据权利要求18所述的装置,所述装置为无线通信装置,其进一步包含:接收器,其经配置以经由信道接收经调制的信息;以及调制解调器,其经配置以解调所述经调制的信息以产生所述视频位串流。

32.根据权利要求31所述的装置,其中所述无线通信装置为蜂窝电话,并且根据蜂窝通信标准解调所述经调制的信息。

33.根据权利要求18所述的装置,其中所述第一度量是活动度量,所述活动度量具有五个类别。

34.根据权利要求18所述的装置,其中所述第一度量是根据下列等式所定义的活动度量var(i,j):其中对于跨越-K到K及-L到L的二维窗,k表示从-K到K的总和的值,且l表示从-L到L的总和的值,其中i及j表示像素数据的像素坐标,且R(i,j)表示在坐标i及j处的给定像素值。

35.一种设备,其包含:

用于从视频位串流解码像素块内的像素的第二度量的装置,其中所述第二度量指示水平方向、垂直方向或者无方向中的一者;

用于通过参考所述第二度量来将所述像素的像素值与所述像素块内的相邻像素的像素值相比较而确定所述像素的第一度量的装置;

用于基于所述第二度量及所述第一度量确定滤波器的装置;以及用于将所述滤波器应用于所述像素的装置。

36.根据权利要求35所述的设备,其中:

如果所述第二度量指示所述水平方向,所述相邻像素被选择为右边相邻像素和左边相邻像素,以及如果所述第二度量指示所述垂直方向,所述相邻像素被选择为上方相邻像素和下方相邻像素。

37.根据权利要求35所述的设备,其进一步包含:用于在解码所述像素的所述第二度量之后,确定所述像素的所述第一度量之前,将解块滤波器应用于包括多个像素块的图像的装置。

38.根据权利要求35所述的设备,其中所述用于确定所述像素的所述第一度量的装置包含:用于将所述像素与所述像素块内的第一相邻像素比较的装置;

用于响应于所述像素的像素值大于所述第一相邻像素的像素值,递增边缘度量变量的装置;以及用于响应于所述像素的像素值小于所述第一相邻像素的像素值,递减所述边缘度量变量的装置。

39.一种存储有指令的非暂时性计算机可读存储介质,所述指令在执行时使一个或多个处理器进行以下操作:从视频位串流解码像素块内的像素的第二度量,其中所述第二度量指示水平方向、垂直方向或者无方向中的一者;

通过参考所述第二度量来将所述像素的像素值与所述像素块内的相邻像素的像素值相比较而确定所述像素的第一度量;

基于所述第二度量及所述第一度量确定滤波器;以及将所述滤波器应用于所述像素。

40.根据权利要求39所述的非暂时性计算机可读存储介质,其中所述指令在执行时使所述一个或多个处理器进行以下操作:如果所述第二度量指示所述水平方向,将所述相邻像素选择为右边相邻像素和左边相邻像素,以及如果所述第二度量指示所述垂直方向,将所述相邻像素选择为上方相邻像素和下方相邻像素。

说明书 :

用于视频解码的方法、装置、设备及计算机可读存储介质

[0001] 分案申请的相关信息
[0002] 本申请是国际申请日为2012年2月22日、国际申请号为PCT/US2012/026154、发明名称为“多度量滤波”的PCT申请进入中国国家阶段申请号为201280009765.0的发明专利申请的分案申请。
[0003] 本申请案主张下列各者的优先权:
[0004] 2011年2月23日申请的第61/445,967号美国临时申请案;
[0005] 2011年3月3日申请的第61/448,771号美国临时申请案;
[0006] 2011年4月8日申请的第61/473,713号美国临时申请案;
[0007] 2011年4月16日申请的第61/476,260号美国临时申请案;
[0008] 2011年4月22日申请的第61/478,287号美国临时申请案;
[0009] 2011年6月30日申请的第61/503,426号美国临时申请案;
[0010] 2011年6月30日申请的第61/503,434号美国临时申请案;
[0011] 2011年6月30日申请的第61/503,440号美国临时申请案;
[0012] 2011年8月25日申请的第61/527,463号美国临时申请案;
[0013] 2011年9月6日申请的第61/531,571号美国临时申请案;
[0014] 所述申请案中的每一者的全部内容以全文引用方式并入本文中。

技术领域

[0015] 本发明涉及用以压缩视频数据的基于块的数字视频译码,且更明确地说涉及用于视频块的滤波的技术。

背景技术

[0016] 数字视频能力可并入广泛各种装置中,包括数字电视机、数字直播系统、例如无线电电话手持机的无线通信装置、无线广播系统、个人数字助理(PDA)、膝上型计算机、桌上型计算机、平板计算机、数字照相机、数字记录装置、视频游戏装置、视频游戏控制台及其类似者。数字视频装置实施视频压缩技术,例如MPEG-2、MPEG-4或ITU-T H.264/MPEG-4第十部分(高级视频译码(AVC)),以更有效率地发射及接收数字视频。视频压缩技术执行空间及时间预测以减少或移除视频序列中固有的冗余。新视频标准(例如,由“视频译码联合开发团队”(JCTVC)开发的高效率视频译码(HEVC)标准,其为MPEG与ITU-T之间的合作成果)继续出现并演进。此新HEVC标准有时也被称为H.265。
[0017] 基于块的视频压缩技术可执行空间预测及/或时间预测。帧内译码依赖于空间预测来减少或移除经译码视频的给定单元内的视频块之间的空间冗余,所述单元可包含视频帧、视频帧的片段或其类似者。对比来说,帧间译码依赖于时间预测来减少或移除视频序列的连续译码单元的视频块之间的时间冗余。对于帧内译码,视频编码器执行空间预测以基于经译码视频的同一单元内的其它数据来压缩数据。对于帧间译码,视频编码器执行运动估计及运动补偿以追踪经译码视频的两个或两个以上邻近单元的对应视频块的移动。
[0018] 经译码视频块可通过可用以产生或识别预测性块的预测信息及指示正被译码的块与所述预测性块之间的差异的残余数据块来表示。在帧间译码的情况下,一个或一个以上运动向量用以从先前或后续译码单元识别预测性数据块,而在帧内译码的情况下,预测模式可用以基于与正被译码的视频块相关联的CU内的数据产生预测性块。帧内译码及帧间译码两者均可定义若干不同预测模式,所述不同预测模式可定义在译码中所使用的不同块大小及/或预测技术。还可包括额外类型的语法元素作为经编码视频数据的部分,以便控制或定义在译码过程中所使用的译码技术或参数。
[0019] 在基于块的预测译码之后,视频编码器可应用变换、量化及熵译码过程以进一步减小与残余块的传达相关联的位速率。变换技术可包含离散余弦变换(DCT)或概念上类似的过程,例如小波变换、整数变换或其它类型的变换。在离散余弦变换过程中,作为一实例,变换过程将像素差值的一集合转换成变换系数,其可表示像素值在频域中的能量。将量化应用于变换系数,且量化通常涉及限制与任何给定变换系数相关联的位的数目的过程。熵译码包含共同压缩经量化的变换系数的一序列的一个或一个以上过程。
[0020] 可应用视频块的滤波作为编码及解码环路的部分,或作为对经重新建构的视频块的后滤波过程的部分。滤波通常用以(例如)减少成块效应或基于块的视频译码所常见的其它假影。滤波器系数(有时称为滤波器分接头)可经定义或选择以便提升可减少成块效应的视频块滤波的所要等级及/或以其它方式改良视频质量。举例来说,滤波器系数的一集合可定义如何沿着视频块的边缘或视频块内的其它位置应用滤波。不同滤波器系数可引起关于视频块的不同像素的不同滤波等级。举例来说,滤波可平滑化或锐化相邻像素值的强度差异以便帮助消除不想要的假影。

发明内容

[0021] 本发明描述与视频编码及/或视频解码过程中的视频数据的滤波相关联的技术。根据本发明,在编码器处应用滤波,且在位串流中对滤波器信息进行编码以使解码器能够识别在编码器处应用的滤波。解码器接收包括滤波器信息的经编码视频数据、对所述视频数据进行解码且基于所述滤波器信息应用滤波。以此方式,解码器应用在编码器处应用的相同滤波。根据本发明的技术,在逐帧、逐片段或逐LCU的基础上,编码器可选择滤波器的一个或一个以上集合,且在逐经译码单元的基础上,编码器可确定是否应用滤波。对于将被滤波的经译码单元(CU),编码器可在逐像素或逐群组的基础上执行滤波,其中群组可(例如)为像素的2×2块或像素的4×4块。
[0022] 在一个实例中,一种视频译码方法包括:确定像素的一块内的像素的群组的第一度量;确定像素的所述群组的第二度量;基于所述第一度量及所述第二度量确定滤波器;及通过将所述滤波器应用于像素的所述群组来产生经滤波图像。
[0023] 在另一实例中,一种视频译码装置包括滤波器单元,所述滤波器单元经配置以:确定像素的一块内的像素的群组的第一度量;确定像素的所述群组的第二度量;基于所述第一度量及所述第二度量确定滤波器;及通过将所述滤波器应用于像素的所述群组来产生经滤波图像;且所述视频译码装置包括存储器,所述存储器经配置以存储所述滤波器单元的经滤波结果。
[0024] 在另一实例中,一种设备包括:用于确定像素的一块内的像素的群组的第一度量的装置;用于确定像素的所述群组的第二度量的装置;用于基于所述第一度量及所述第二度量确定滤波器的装置;及用于通过将所述滤波器应用于像素的所述群组来产生经滤波图像的装置。
[0025] 在另一实例中,一种计算机可读存储媒体存储在执行时使一个或一个以上处理器进行以下操作的指令:确定像素的一块内的像素的群组的第一度量;确定像素的所述群组的第二度量;基于所述第一度量及所述第二度量确定滤波器;及通过将所述滤波器应用于像素的所述群组来产生经滤波图像。
[0026] 随附图式及以下描述中陈述一个或一个以上实例的细节。其它特征、目的及优势将通过所述描述及所述图式以及通过权利要求书显而易见。

附图说明

[0027] 图1为说明示范性视频编码及解码系统的框图。
[0028] 图2A及2B为说明应用于最大译码单元(LCU)的四叉树分割的实例的概念图。
[0029] 图2C及2D为说明对应于图2A及2B的实例四叉树分割的用于一系列视频块的滤波器映射的实例的概念图。
[0030] 图3为说明符合本发明的示范性视频编码器的框图。
[0031] 图4A为说明两个度量的范围到滤波器的映射的概念图。
[0032] 图4B为说明活动度量及方向度量的范围到滤波器的映射的概念图。
[0033] 图5为说明符合本发明的示范性视频解码器的框图。
[0034] 图6A、6B及6C展示像素的4×4块的概念图。
[0035] 图7为说明符合本发明的译码技术的流程图。
[0036] 图8A及8B为说明符合本发明的译码技术的流程图。
[0037] 图9A及9B为说明符合本发明的译码技术的流程图。
[0038] 图10为说明符合本发明的译码技术的流程图。
[0039] 图11为说明符合本发明的译码技术的流程图。

具体实施方式

[0040] 本发明描述与视频编码及/或视频解码过程中的视频数据的滤波相关联的技术。根据本发明,在编码器处应用滤波,且在位串流中对滤波器信息进行编码以使解码器能够识别在编码器处应用的滤波。解码器接收包括滤波器信息的经编码视频数据、对所述视频数据进行解码且基于所述滤波信息应用滤波。以此方式,解码器应用在编码器处应用的相同滤波。根据本发明的技术,在逐帧、逐片段或逐LCU的基础上,编码器可选择滤波器的一个或一个以上集合,且在逐经译码单元的基础上,编码器可确定是否应用滤波。对于将被滤波的经译码单元(CU),编码器可在逐像素或逐群组的基础上执行滤波,其中群组可(例如)为像素的2×2块或像素的4×4块。
[0041] 根据本发明的技术,可以用被称为经译码单元(CU)的单元对视频数据进行译码。可使用四叉树分割方案将CU分割成较小CU或子单元。识别用于特定CU的四叉树分割方案的语法可从编码器发射到解码器。与给定CU的每一子单元相关联的多个输入可在解码及重新建构经编码视频数据的过程期间滤波。根据本发明的技术,滤波器描述语法可描述滤波器的一集合,例如所述集合中有多少个滤波器或所述滤波器采用哪一形状。通过解码器接收的位串流中的额外语法可识别针对一特定子单元在编码器处使用的滤波器(即,滤波器系数)。可基于两个或两个以上度量来选择用于特定输入的滤波器,其中所述两个或两个以上度量的值的特定组合经索引到滤波器的一集合内的特定滤波器。在其它例子中,可组合两个或两个以上度量以形成单一度量。滤波器到度量的映射也可在位串流中用信号发出。
[0042] 不同类型的滤波可基于针对视频数据确定的两个或两个以上度量而应用于像素或像素的块。可基于两个或两个以上度量(例如,活动度量与方向度量的某一组合)来选择用于特定像素的滤波器。举例来说,活动度量可量化与所述视频数据内的像素的一个或一个以上块相关联的活动。活动度量可包含指示像素的一集合内的像素方差的方差度量。活动度量可为方向特定或非方向特定的。举例来说,非方向特定的活动度量可包括改进拉普拉斯能量和的值,如下文中所较详细解释。
[0043] 方向特定的活动度量的实例包括水平活动度量、垂直活动度量、45度活动度量及135度活动度量。对于像素的一块,方向度量可量化一像素或像素的群组的水平活动、垂直活动或对角线活动中的任一者,或方向度量可包括水平活动、垂直活动及/或对角线活动的比较,其中水平活动通常指代像素值在水平方向上的变化,垂直活动通常指代像素值在垂直方向上的变化,且对角线活动通常指代像素值在对角线方向上的变化。
[0044] 根据本发明的技术,当确定用于像素的一块的滤波器时,所述块内的像素的子集可用以减小编码及解码复杂性。举例来说,当确定用于像素的4×4块的滤波器时,可能未必使用所述4×4块的所有十六个像素。另外,根据本发明的技术,可选择来自正被译码的当前块内的像素的子集,以使得仅使用当前块的像素值而不使用相邻块的像素值来计算度量。举例来说,可基于比较正被评估的像素与附近像素来计算所述正被评估的像素的度量。在一些例子中,所述正被评估的像素的附近像素中的一者或一者以上可能在与所述正被评估的像素不同的块中。然而,在其它例子中,所述像素的附近像素中的一者或一者以上可能在与所述像素相同的块中。根据本发明的技术,像素的子集可经选择以包括不具有相邻块中的附近像素的像素。另外或或者,像素的子集可包括具有相邻块中的附近像素的像素,但当确定度量时,可能不使用相邻块中的那些附近像素。通过使特定度量的确定基于当前块内的像素而非基于相邻块的像素,在一些例子中,编码器及/或解码器处对缓冲器的需求可减少或甚至消除。
[0045] 在一些例子中,根据本发明的技术,可选择来自正被译码的当前块内的像素的子集,以使得仅使用当前块及左边相邻块及右边相邻块的像素值而不使用上部相邻块或下部相邻块的像素值来计算度量。由于在对视频块进行译码时使用的光栅扫描次序,用于上部相邻块及下部相邻块的行缓冲器倾向于需要存储比用于存储左边相邻块及右边相邻块的像素值的行缓冲器多得多的像素值。
[0046] 根据本发明的技术,例如自适应性环路内滤波器的滤波器单元可经配置以利用基于多度量滤波器映射的多个滤波器。所述多个滤波器可与单一输入或多个输入结合使用。如下文中将较详细描述,本发明中所描述的多个输入通常指代在编码及解码过程期间产生的中间视频块数据或图像数据。与给定视频块相关联的多个输入可包括(例如)经重新建构的块或图像(RI)、预先解块的经重新建构的块或图像(pRI)、预测块或图像(PI)及/或经量化的预测误差图像(EI)。在单一输入方案中,滤波器可仅应用于以上输入中的一者,例如RI。又,如下文中所较详细解释,本发明的滤波技术可使用四叉树分割方案应用于各种大小的CU。通过将具有多度量滤波器映射的多个滤波器用于使用四叉树分割方案分割的CU,如通过压缩率及经重新建构的视频质量中的一者或两者所测量的视频译码性能可得到改良。
[0047] 为了实施上文所描述的多度量滤波技术,编码器通过产生、更新、存储或其它手段来维持范围的组合到滤波器的映射。作为一个实例,第一度量的第一范围与第二度量的第一范围的组合可映射到第一滤波器。所述第一度量的所述第一范围与所述第二度量的第二范围的组合也可映射到所述第一滤波器或可映射到第二滤波器。如果举例来说,第一度量具有八个范围且第二度量具有四个范围,则所述第一度量及所述第二度量可具有范围的三十二个组合,且所述三十二个组合中的每一者可映射到一滤波器。然而,每一组合未必映射到唯一滤波器。因此,所述三十二个组合可映射到四个滤波器、八个滤波器、十个滤波器或某一其它数目个滤波器。为了应用与编码器相同的滤波器,解码器也可维持范围组合到滤波器的相同映射。
[0048] 本发明描述用于在经编码位串流中将范围组合到滤波器的映射从编码器用信号发出到解码器的技术。所述映射可(例如)使每一范围组合与一滤波器标识(ID)相关联。用信号发出此映射的一种简单方式为针对每一滤波器ID使用一个码字,且接着针对范围的每一组合,发送对应滤波器ID的码字。然而,此技术通常为低效率的。本发明的技术可通过使用差分译码方法来利用映射内的相关。范围的组合(所述组合共享一共同范围)有时使用相同滤波器。作为一个实例,第一度量的第一范围与第二度量的第一范围的组合及所述第一度量的所述第一范围与所述第二度量的第二范围的组合共享一共同范围(所述第一度量的所述第一范围)。因此,在一些例子中,这两个组合可映射到相同滤波器ID。通过利用此相关,本发明的技术可减小将范围组合到滤波器ID的映射从编码器用信号发出到解码器所需的位的数目。
[0049] 除了用信号发出范围组合到滤波器ID的映射之外,本发明还描述用于在经编码位串流中用信号发出滤波器的滤波器系数的技术。本发明的技术包括使用差分译码方法将滤波器系数从编码器用信号发出到解码器。以此方式,可将第二滤波器的滤波器系数传达到解码器作为差异信息,其中差异信息描述如何以产生第二滤波器的滤波器系数的方式修改第一滤波器的滤波器系数。与在第一滤波器及第二滤波器的滤波器系数较不相似时相比,在第一滤波器及第二滤波器的滤波器系数更相似时,差分译码技术可更有效(即,可引起位的较大节省)。本发明的技术包括确定用信号发出滤波器的滤波器系数的顺序次序。使用本发明中所描述的技术确定的定序可引起滤波器系数的经改良差分译码,且因此,在一些例子中可引起当用信号发出滤波器系数时的位的节省。
[0050] 虽然可能时常参考环路内滤波来描述本发明的技术,但所述技术可应用于环路内滤波、环路后滤波及其它滤波方案(例如,切换式滤波)。环路内滤波通常指代经滤波数据为编码及解码环路的部分以使得将经滤波数据用于预测性帧内或帧间译码的滤波。环路后滤波指代在对环路进行编码之后应用于经重新建构的视频数据的滤波。关于环路后滤波,将未经滤波数据(与经滤波数据相反)用于预测性帧内或帧间译码。在一些实施方案中,滤波的类型可在(例如)逐帧、逐片段或其它此类方式的基础上在环路后滤波与环路内滤波之间切换,且针对每一帧、片段等,是使用环路后滤波还是使用环路内滤波的决策可从编码器用信号发出到解码器。本发明的技术不限于环路内滤波或后滤波,且可应用于在视频译码期间所应用的广泛各种滤波。
[0051] 在本发明中,术语“译码”指代编码或解码。类似地,术语“译码器”通常指代任何视频编码器、视频解码器或组合的编码器/解码器(编解码器)。因此,术语“译码器”在本文中用以指代执行视频编码或视频解码的专门计算机装置或设备。
[0052] 另外,在本发明中,术语“滤波器”通常指代滤波器系数的集合。举例来说,3×3滤波器可通过9个滤波器系数的集合定义,5×5滤波器可通过25个滤波器系数的集合定义,9×5滤波器可通过45个滤波器系数的集合定义,依此类推。术语“滤波器的集合”通常指代一个以上滤波器的群组。举例来说,两个3×3滤波器的集合可包括9个滤波器系数的第一集合及9个滤波器系数的第二集合。根据本发明中所描述的技术,对于一系列视频块(例如,帧、片段或最大译码单元(LCU)),在用于所述系列的视频块的标头中,将识别滤波器的集合的信息从编码器用信号发出到解码器。术语“形状”(有时被称为“滤波器支持”)通常指代特定滤波器的滤波器系数的行的数目及滤波器系数的列的数目。举例来说,9×9为第一形状的实例,9×5为第二形状的实例,且5×9为第三形状的实例。在一些例子中,滤波器可采用非矩形形状,其包括钻石形状、类钻石形状、圆形形状、类圆形形状、六边形形状、八边形形状、十字形状、X形状、T形状、其它几何形状,或众多其它形状或配置。
[0053] 图1为说明可实施本发明的技术的示范性视频编码及解码系统110的框图。如图1中所展示,系统110包括源装置112,其经由通信信道115将经编码视频数据发射到目的地装置116。源装置112及目的地装置116可包含广泛多种装置中的任一者。在一些情况下,源装置112及目的地装置116可包含无线通信装置手持机,例如所谓的蜂窝式或卫星无线电电话。然而,更通常适用于视频数据的滤波的本发明的技术未必限于无线应用或设定,且可应用于包括视频编码及/或解码能力的非无线装置。
[0054] 在图1的实例中,源装置112包括视频源120、视频编码器122、调制器/解调器(调制解调器)123及发射器124。目的地装置116包括接收器126、调制解调器127、视频解码器128及显示装置130。根据本发明,源装置112的视频编码器122可经配置以在视频块滤波过程中选择用于多个输入的滤波器系数的一个或一个以上集合,且接着对滤波器系数的所述选定的一个或一个以上集合进行编码。可基于用于一个或一个以上输入的一个或一个以上度量选择来自滤波器系数的所述一个或一个以上集合的特定滤波器,且所述滤波器系数可用以对所述一个或一个以上输入进行滤波。本发明的滤波技术可与用于在经编码位串流中对滤波器系数进行译码或用信号发出滤波器系数的任何技术大体上兼容。
[0055] 根据本发明的技术,一种包括视频编码器122的装置可将用于一系列视频块(例如,帧或片段)的滤波器系数的一个或一个以上集合用信号发出到包括视频解码器128的装置。对于所述系列视频块,视频编码器122可(例如)用信号发出将供所有输入使用的滤波器的一个集合,或可用信号发出将供多个输入使用的滤波器的多个集合(例如,每个输入一个集合)。所述系列视频块内的每一视频块或CU于是可含有额外语法以识别滤波器的所述集合中的哪个或哪些滤波器将用于所述视频块的每一输入,或根据本发明的技术,可基于与所述输入中的一者或一者以上相关联的两个或两个以上度量来确定将使用滤波器的所述集合中的哪个或哪些滤波器。
[0056] 更具体来说,源装置112的视频编码器122可选择用于一系列视频块的滤波器的一个或一个以上集合、在编码过程期间将来自所述集合的滤波器应用于与所述系列视频块的CU相关联的输入的像素或像素的群组,且接着对滤波器的所述集合(即,滤波器系数的集合)进行编码以用于传达到目的地装置116的视频解码器128。视频编码器122可确定与经译码的CU的输入相关联的一个或一个以上度量以便从滤波器的所述集合选择哪个(哪些)滤波器供所述特定CU的像素或像素的群组使用。视频编码器122还可将范围的组合到滤波器的集合内的滤波器的映射用信号发出到视频解码器128,作为经译码位串流的部分。
[0057] 在解码器侧,视频解码器128可基于在位串流语法中接收的滤波器信息确定滤波器系数。视频解码器128可取决于滤波器系数如何编码而基于直接解码或预测性解码来对滤波器系数进行解码,滤波器系数如何编码可作为位串流语法的部分而用信号发出。另外,位串流可包括滤波器描述语法信息以描述滤波器的一集合的滤波器。基于滤波器描述语法,解码器128可基于从编码器122接收的额外信息重新建构滤波器系数。图1的所说明系统110仅为示范性的。本发明的滤波技术可由任何编码或解码装置执行。源装置112及目的地装置116仅为可支持这些技术的译码装置的实例。视频解码器128也可基于在位串流语法中接收的滤波器信息确定范围的组合到滤波器的映射。
[0058] 源装置112的视频编码器122可使用本发明的技术对从视频源120接收的视频数据进行编码。视频源120可包含视频捕获装置,例如,摄像机、含有先前捕获的视频的视频存档或来自视频内容提供者的视频馈送。作为另一替代方案,视频源120可产生基于计算机图形的数据作为源视频,或实况视频、存档视频及计算机产生的视频的组合。在一些情况下,如果视频源120为摄像机,则源装置112及目的地装置116可形成所谓的相机电话或视频电话。在每一种情况下,可由视频编码器122对所捕获、预捕获或计算机产生的视频进行编码。
[0059] 一旦视频数据通过视频编码器122编码,经编码的视频信息可接着通过调制解调器123根据一通信标准(例如,例如码分多址(CDMA)、频分多址(FDMA)、正交频分多址(OFDM)或任何其它通信标准或技术)调制,且经由发射器124发射到目的地装置116。调制解调器123可包括各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器124可包括经设计以用于发射数据的电路,包括放大器、滤波器及一个或一个以上天线。
[0060] 目的地装置116的接收器126经由信道115接收信息,且调制解调器127对所述信息进行解调。由视频解码器128执行的视频解码过程可包括滤波,例如,作为环路内解码的部分或作为解码环路之后的后滤波步骤。不管怎样,用于特定片段或帧的由视频解码器128应用的滤波器的集合可使用本发明的技术解码。经解码滤波器信息可包括识别经译码位串流中的滤波器描述语法。如果举例来说,将预测性译码用于滤波器系数,则可利用不同滤波器系数之间的相似性以减少经由信道115传递的信息的量。确切地说,可对滤波器(即,滤波器系数的一集合)进行预测性译码,作为相对于与不同滤波器相关联的滤波器系数的另一集合的差值。不同滤波器可(例如)与不同片段或帧相关联。在此情况下,视频解码器128可接收经编码位串流,其包含视频块及识别不同帧或片段(不同滤波器为与之相关联的滤波器)的滤波器信息。滤波器信息还包括相对于不同CU的滤波器定义当前滤波器的差值。确切地说,差值可包含相对于用于不同CU的不同滤波器的滤波器系数定义用于当前滤波器的滤波器系数的滤波器系数差值。
[0061] 视频解码器128对视频块进行解码、产生滤波器系数且基于所产生的滤波器系数对经解码视频块进行滤波。视频解码器128可基于从位串流检索的滤波器描述语法产生滤波器系数。经解码且经滤波的视频块可汇编为视频帧以形成经解码视频数据。显示装置128向用户显示经解码视频数据,且可包含各种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0062] 通信信道115可包含任何无线或有线通信媒体(例如,射频(RF)谱或一个或一个以上物理传输线,或无线与有线媒体的任何组合)。通信信道115可形成基于包的网络(例如,局域网络、广域网络,或例如因特网的全球网络)的部分。通信信道115通常表示用于将视频数据从源装置112发射到目的地装置116的任何合适通信媒体或不同通信媒体的集合。同样,图1仅为示范性的且本发明的技术可适用于未必包括编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,可从本机存储器检索数据、经由网络串流传输数据或对数据进行类似处理。
[0063] 或者,经编码数据可从视频编码器122输出到存储装置132。类似地,经编码数据可由视频解码器128从存储装置132存取。存储装置132可包括各种分布式或本机存取的数据存储媒体(例如,硬盘、蓝光盘片、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体)中的任一者。在另一实例中,存储装置132可对应于文件服务器或可保留由源装置112产生的经编码视频的另一中间存储装置。目的地装置116可经由串流传输或下载从存储装置132存取存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置116的任何类型的服务器。实例文件服务器包括网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本机磁盘驱动器。目的地装置14可经由任何标准数据连接(包括因特网连接)存取经编码视频数据。这可包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或两者的适合于存取存储于文件服务器上的经编码视频数据的组合。经编码视频数据从存储装置132的发射可为串流传输发射、下载发射或两者的组合。
[0064] 本发明的技术未必限于无线应用或设定。所述技术可应用于支持各种多媒体应用中的任一者的视频译码,所述多媒体应用例如是空中(over-the-air)电视广播、有线电视发射、卫星电视发射、串流传输视频发射(例如,经由因特网)、待存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统110可经配置以支持单向或双向视频发射以支持例如视频串流传输、视频回放、视频广播及/或视频电话的应用。
[0065] 视频编码器122及视频解码器128可根据一视频压缩标准(例如,ITU-T H.264标准,其或者被称为MPEG-4第十部分(高级视频译码(AVC)),所述标准将在本发明的各部分中使用以用于解释)操作。然而,本发明的技术中的许多技术可容易地应用于各种其它视频译码标准(包括最近新兴的HEVC标准)的任一者。一般来说,供编码器及解码器处的滤波用的任何标准可得益于本发明的教示的各种方面。
[0066] 虽然图1中未展示,但在一些方面中,视频编码器122及视频解码器128可各自与音频编码器及解码器集成,且可包括适当MUX-DEMUX单元或其它硬件及软件,以处置共同数据串流或分开的数据串流中的音频及视频两者的编码。如果适用,则MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
[0067] 视频编码器122及视频解码器128各自可实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器122及视频解码器128中的每一者可包括于一个或一个以上编码器或解码器中,其任一者可集成为相应移动装置、用户装置、广播装置、服务器或其类似物中的组合编码器/解码器(CODEC)的部分。
[0068] 在一些情况下,装置112、116可以用实质上对称的方式操作。举例来说,装置112、116中的每一者可包括视频编码及解码组件。因此,系统110可支持视频装置112、116之间的单向或双向视频发射,例如,用于视频串流传输、视频回放、视频广播或视频电话。
[0069] 在编码过程期间,视频编码器122可执行若干译码技术或步骤。一般来说,视频编码器122对各个视频帧内的视频块进行操作以便对视频数据进行编码。在一个实例中,视频块可对应于宏块或宏块的分区。宏块为由ITU H.264标准及其它标准定义的视频块的一种类型。宏块通常指代数据的16×16块,但所述术语有时也一般地用以指代N×N或N×M大小的任何视频块。ITU-T H.264标准支持各种块大小的帧内预测(例如,亮度分量的16×16、8×8或4×4,及色度分量的8×8)以及各种块大小的帧间预测(例如,亮度分量的16×16、16×8、8×16、8×8、8×4、4×8及4×4,及色度分量的对应经缩放大小。在本发明中,“N×N”从垂直尺寸及水平尺寸方面指代块的像素尺寸,例如,16×16个像素。一般来说,16×16块将在垂直方向上具有16个像素且在水平方向上具有16个像素。同样,N×N块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示正整数值。可按行及列来布置块中的像素。
[0070] 新兴HEVC标准定义用于视频块的新术语。确切地说,视频块(或其分区)可被称为“译码单元”(或CU)。关于HEVC标准,最大经译码单元(LCU)可根据四叉树分割方案划分成较小CU,且在所述方案中定义的不同CU可进一步分割成所谓的预测单元(PU)。在本发明的意义内,LCU、CU及PU全部为视频块。也可使用符合HEVC标准或其它视频译码标准的其它类型的视频块。因此,词组“视频块”指代任何大小的视频块。对于给定像素,可包括分开的CU以用于亮度分量且包括经缩放大小以用于色度分量,但也可使用其它色彩空间。
[0071] 视频块可具有固定或变化大小,且可根据规定译码标准而在大小上不同。每一视频帧可包括多个片段。每一片段可包括多个视频块,所述多个视频块可布置成分区(也被称为子块)。根据上文所提及且下文中将较详细描述的四叉树分割方案,N/2×N/2的第一CU可包含N×N LCU的子块,N/4×N/4的第二CU也可包含所述第一CU的子块。N/8×N/8的PU可包含所述第二CU的子块。类似地,作为另一实例,小于16×16的块大小可被称为16×16视频块的分区或16×16视频块的子块。同样,对于N×N块,小于N×N的块大小可被称为N×N块的分区或子块。视频块可包含在像素域中的像素数据的块,或在变换域中的变换系数的块,例如,在对表示经译码视频块与预测性视频块之间的像素差的残余视频块数据应用变换(例如,离散余弦变换(DCT)、整数变换、小波变换,或概念上类似的变换)之后。在一些情况下,视频块可包含在变换域中的经量化变换系数的块。
[0072] 位串流内的语法数据可定义用于帧或片段的LCU,就所述帧或片段的像素的数目来说,LCU为最大译码单元。一般来说,除了LCU及CU不具有特定大小区别之外,LCU或CU具有类似于根据H.264译码的宏块的用途。实情为,LCU大小可在逐帧或逐片段的基础上来定义,且LCU可分裂成CU。一般来说,本发明中对CU的引用可指代图片的LCU或LCU的子CU。LCU可分裂成子CU,且每一子CU可分裂成子CU。位串流的语法数据可定义LCU可分裂的最大次数,其被称为CU深度。因此,位串流也可定义最小译码单元(SCU)。本发明还使用术语“块”及“视频块”来指代LCU、CU、PU、SCU或TU中的任一者。
[0073] 如上文所介绍,LCU可与四叉树数据结构相关联。一般来说,四叉树数据结构包括每个CU一个节点,其中根节点对应于LCU。如果CU分裂成四个子CU,则对应于CU的节点包括四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节点可提供对应CU的语法数据。举例来说,四叉树中的节点可包括分裂旗标,其指示对应于所述节点的CU是否分裂成子CU。CU的语法元素可递归地定义,且可视CU是否分裂成子CU而定。
[0074] 未分裂的CU可包括一个或一个以上预测单元(PU)。一般来说,PU表示对应CU的全部或一部分,且包括用于检索PU的参考样本的数据。举例来说,当PU是以帧内模式编码时,PU可包括描述用于PU的帧内预测模式的数据。作为另一实例,当PU是以帧间模式编码时,PU可包括定义用于PU的运动向量的数据。定义运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考帧及/或运动向量的参考列表(例如,列表0或列表1)。用于CU的定义PU的数据还可描述(例如)CU分割成一个或一个以上PU。分割模式在CU是否未经译码、以帧内预测模式编码或以帧间预测模式编码之间可不同。
[0075] 具有一个或一个以上PU的CU还可包括一个或一个以上变换单元(TU)。TU包含数据结构,所述数据结构包括通常经量化的残余变换系数。确切地说,在使用PU的预测之后,视频编码器可计算CU的对应于PU的部分的残值。残值可经变换、量化、扫描并存储于TU中,TU可具有对应于所执行的变换的大小的可变大小。因此,TU未必限于PU的大小。因此,对于相同CU,TU可大于或小于对应PU。在一些实例中,TU的最大大小可为对应CU的大小。同样,TU可包含数据结构,所述数据结构包括与给定CU相关联的残余变换系数。
[0076] 图2A及2B为说明实例四叉树250及对应LCU 272的概念图。图2A描绘实例四叉树250,其包括以阶层方式布置的节点。四叉树(例如四叉树250)中的每一节点可为没有子节点或具有四个子节点的叶节点。在图2A的实例中,四叉树250包括根节点252。根节点252具有四个子节点,其包括叶节点256A–256C(叶节点256)及节点254。因为节点254不是叶节点,所以节点254包括四个子节点,在此实例中,所述四个子节点为叶节点258A–258D(叶节点
258)。
[0077] 四叉树250可包括描述对应LCU(在此实例中例如为LCU 272)的特性的数据。举例来说,四叉树250通过其结构可描述LCU分裂成子CU。假设LCU 272具有2N×2N的大小。在此实例中,LCU 272具有四个子CU 276A–276C(子CU 276)及274,每一者具有大小N×N。子CU 274进一步分裂成四个子CU 278A–278D(子CU 278),每一者具有大小N/2×N/2。在此实例中,四叉树250的结构对应于LCU 272的分裂。也就是说,根节点252对应于LCU 272,叶节点
256对应于子CU 276,节点254对应于子CU 274,且叶节点258对应于子CU 278。
[0078] 四叉树250的节点的数据可描述对应于节点的CU是否分裂。如果CU分裂,则四个额外节点可存在于四叉树250中。在一些实例中,四叉树的节点可类似于以下伪码而实施:
[0079]
[0080] split_flag值可为表示对应于当前节点的CU是否分裂的一位值。如果CU未分裂,则split_flag值可为“0”,而如果CU分裂,则split_flag值可为“1”。关于四叉树250的实例,分裂旗标值的阵列可为101000000。
[0081] 在一些实例中,子CU 276及子CU 278中的每一者可使用相同帧内预测模式进行帧内预测编码。因此,视频编码器122可提供根节点252中的帧内预测模式的指示。此外,特定大小的子CU可具有用于特定帧内预测模式的多个可能变换。视频编码器122可提供用于根节点252中的这些子CU的变换的指示。举例来说,大小为N/2×N/2的子CU可具有可用的多个可能变换。视频编码器122可用信号发出在根节点252中使用的变换。因此,视频解码器128可基于根节点252中的用信号发出的帧内预测模式及根节点252中的用信号发出的变换确定适用于子CU 278的变换。
[0082] 因而,视频编码器122不需要用信号发出叶节点256及叶节点258中的适用于子CU 276及子CU 278的变换,而实情为可根据本发明的技术仅用信号发出帧内预测模式,及(在一些实例中)根节点252中的适用于特定大小的子CU的变换。以此方式,这些技术可减少针对LCU(例如,LCU 272)的每一子CU用信号发出变换函数的开销成本。
[0083] 在一些实例中,用于子CU 276及/或子CU 278的帧内预测模式可不同于用于LCU272的帧内预测模式。视频编码器122及视频解码器130可经配置而具有将在根节点252处用信号发出的帧内预测模式映射到用于子CU 276及/或子CU 278的可用帧内预测模式的函数。所述函数可提供用于LCU 272的可用帧内预测模式到用于子CU 276及/或子CU 278的帧内预测模式的多对一映射。
[0084] 片段可划分成视频块(或LCU),且每一视频块可根据关于图2A到2B所描述的四叉树结构来分割。另外,如图2C中所展示,由“开”指示的四叉树子块可由本文中所描述的环路滤波器进行滤波,而由“关”指示的四叉树子块可不进行滤波。是否对给定块或子块进行滤波的决策可在编码器处通过相对于正被译码的原始块比较经滤波结果及未经滤波结果来确定。图2D为表示引起图2C中所展示的四叉树分割的分割决策的决策树。应用于“开”块的任何像素的实际滤波可基于本文中所论述的度量来确定。
[0085] 确切地说,图2C可表示根据四叉树分割方案分割成变化大小的较小视频块的相对较大视频块。每一视频块在图2C中经标记(开或关)以说明对于所述视频块是应应用滤波还是避免滤波。视频编码器可通过比较每一视频块的经滤波及未经滤波版本与正被译码的原始视频块来定义此滤波器映射。
[0086] 同样,图2D为对应于引起图2C中所展示的四叉树分割的分割决策的决策树。在图2D中,每一圆圈可对应于一CU。如果圆圈包括“1”旗标,则所述CU将被进一步分割成四个以上CU,但如果圆圈包括“0”旗标,则所述CU不再被进一步分割。(例如,对应于CU的)每一圆圈还包括一相关联菱形。如果给定CU的菱形中的旗标经设定为1,则针对所述CU“开启”滤波,但如果给定CU的菱形中的旗标经设定为0,则关闭滤波。以此方式,图2C及2D可被个别地或共同地视为滤波器映射,其可在编码器处产生且经编码视频数据的每个片段至少一次地被传达到解码器,以便传达用于给定视频块(例如,LCU)的四叉树分割的层级是否将滤波应用于每一经分割视频块(例如,LCU内的每一CU)。
[0087] 较小视频块可提供较好分辨率,且可用于包括高细节等级的视频帧的位置。较大视频块可提供较好译码效率,且可用于包括低细节等级的视频帧的位置。片段可被视为多个视频块及/或子块。每一片段可为视频帧的视频块的一可独立解码系列。或者,帧本身可为视频块的可解码系列,或帧的其它部分可定义为视频块的可解码系列。术语“视频块的系列”可指代视频帧的任何可独立解码部分,例如整个帧、帧的片段、也被称为序列的图片群组(GOP),或根据可应用译码技术定义的另一可独立解码单元。本发明的方面可参考帧或片段加以描述,但这些参考仅为示范性的。应理解,一般来说,可使用视频块的任何系列来替代帧或片段。
[0088] 语法数据可基于预先经译码单元来定义,以使得每一CU包括相关联的语法数据。本文中所描述的滤波器信息可为用于CU的此语法的部分,但更可能为用于视频块的系列(例如,帧、片段、GOP、LCU或视频帧的序列)而非用于CU的语法的部分。语法数据可指示将与片段或帧的CU一起使用的滤波器的集合。另外,并非所有滤波器信息都必须包括于视频块的共同系列的标头中。举例来说,滤波器描述语法可在帧标头中发射,而其它滤波器信息是在LCU的标头中用信号发出。
[0089] 视频编码器122可执行预测性译码,其中比较正被译码的视频块与预测性帧(或其它CU)以便识别预测性块。将正被译码的当前视频块与预测性块之间的差异译码为残余块,且使用预测语法来识别预测性块。可变换且量化残余块。变换技术可包含DCT过程或概念上类似的过程、整数变换、小波变换或其它类型的变换。在DCT过程中,作为一实例,变换过程将一组像素值转换成变换系数,所述变换系数可表示像素值在频域中的能量。通常将量化应用于变换系数,且量化大体上涉及限制与任何给定变换系数相关联的位的数目的过程。
[0090] 在变换及量化之后,可对经量化及变换的残余视频块执行熵译码。语法元素(例如,在编码期间定义的滤波器信息及预测向量)也可包括于用于每一CU的经熵译码的位串流中。一般来说,熵译码包含共同压缩经量化变换系数的一序列及/或其它语法信息的一个或一个以上过程。对经量化变换系数执行扫描技术(例如,Z字形扫描技术),例如作为熵译码过程的部分,以便定义来自二维视频块的系数的一个或一个以上串行化一维向量。也可使用其它扫描技术(包括其它扫描次序或自适应性扫描),且其它扫描技术可能在经编码位串流中用信号发出。在任何情况下,接着(例如)经由内容自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)或另一熵译码过程将经扫描系数与任何语法信息一起加以熵译码。
[0091] 作为编码过程的部分,可对经编码视频块进行解码以便产生用于后续视频块的后续基于预测的译码的视频数据。在此阶段,可执行滤波以便改良视频质量且(例如)从经解码视频移除成块效应假影。经滤波数据可用于其它视频块的预测,在所述情况下,滤波被称为“环路内”滤波。或者,其它视频块的预测可基于未经滤波的数据,在所述情况下,滤波被称为“后滤波”。
[0092] 在逐帧、逐片段或逐LCU基础上,视频编码器122可选择滤波器的一个或一个以上集合,且在逐经译码单元基础上,编码器可确定是否应用滤波。对于将被滤波的CU,编码器可执行在逐像素或逐群组基础上的滤波,其中群组可(例如)为像素的2×2块或像素的4×4块。可以用提升视频质量的方式进行这些选择。滤波器的这些集合可选自滤波器的预定义集合,或可以用自适应方式定义以提升视频质量。作为一实例,视频编码器122可针对一给定帧或片段选择或定义滤波器的若干集合,以使得将不同滤波器用于所述帧或片段的CU的不同像素或像素的群组。确切地说,针对与CU相关联的每一输入,可定义滤波器系数的若干集合,且与CU的像素相关联的两个或两个以上度量可用以确定来自滤波器的集合的哪个滤波器将供这些像素或像素的群组使用。
[0093] 在一些情况下,视频编码器122可应用滤波器系数的若干集合,且依据经译码块与原始块之间的失真的量及/或最高压缩等级选择产生最佳质量视频的一个或一个以上集合。在任何情况下,一旦经选择,由视频编码器122应用于每一CU的滤波器系数的集合可经编码且传达到目的地装置118的视频解码器128,使得视频解码器128可应用在编码过程期间针对每一给定CU应用的相同滤波。
[0094] 当使用两个或两个以上度量来确定哪个滤波器将供一CU的特定输入使用时,用于所述特定CU的滤波器的选择未必需要传达到视频解码器128。实情为,视频解码器128还可计算所述两个或两个以上度量,且基于先前由视频编码器122提供的滤波器信息,将两个或两个以上度量的组合匹配到特定滤波器。
[0095] 图3为说明符合本发明的视频编码器350的框图。视频编码器350可对应于装置120的视频编码器122或不同装置的视频编码器。如图3中所展示,视频编码器350包括预测模块332、加法器348及351及存储器334。视频编码器350还包括变换单元338及量化单元340,以及逆量化单元342及逆变换单元344。视频编码器350还包括解块滤波器347及自适应性滤波器单元349。视频编码器350还包括熵编码单元346。视频编码器350的滤波器单元349可执行滤波操作且还可包括用于识别将用于解码的所要或优选滤波器或滤波器的集合的滤波器选择单元(FSU)353。滤波器单元349还可产生识别选定滤波器的滤波器信息,使得选定滤波器可作为滤波器信息有效率地传达到将在解码操作期间使用的另一装置。
[0096] 在编码过程期间,视频编码器350接收将进行译码的视频块(例如LCU),且预测模块332对所述视频块执行预测性译码技术。使用上文所论述的四叉树分割方案,预测模块332可分割所述视频块且对不同大小的CU执行预测性译码技术。对于帧间译码,预测模块
332比较所述将被编码的视频块(包括所述视频块的子块)与一个或一个以上视频参考帧或片段中的各种块以便定义预测性块。对于帧内译码,预测模块332基于相同CU内的相邻数据产生预测性块。预测模块332输出预测块,且加法器348从正被译码的视频块减去所述预测块以便产生残余块。
[0097] 对于帧间译码,预测模块332可包含识别指向预测块的运动向量且基于运动向量产生预测块的运动估计及运动补偿单元。通常,运动估计被视为产生运动向量的过程,所述运动向量估计运动。举例来说,运动向量可指示预测性帧内的预测性块相对于当前帧内的正被译码的当前块的位移。运动补偿通常被视为基于由运动估计确定的运动向量提取或产生预测性块的过程。对于帧内译码,预测模块332基于相同CU内的相邻数据产生预测性块。一个或一个以上帧内预测模式可定义帧内预测块可如何定义。
[0098] 在预测模块332输出预测块且加法器348从正被译码的视频块减去预测块以便产生残余块之后,变换单元338将变换应用于所述残余块。所述变换可包含离散余弦变换(DCT)或概念上类似的变换,例如,由例如HEVC标准的译码标准定义的变换。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换单元338将所述变换应用于所述残余块,进而产生残余变换系数的块。所述变换可将残余信息从像素域转换到频域。
[0099] 量化单元340接着量化残余变换系数以进一步减小位速率。量化单元340(例如)可限制用以对所述系数中的每一者进行译码的位的数目。在量化之后,熵编码单元346将经量化系数块从二维表示扫描成一个或一个以上串行化一维向量。扫描次序可经预先编程而以经定义次序(例如,Z字形扫描、水平扫描、垂直扫描、组合,或另一预定义次序)发生,或可能基于先前译码统计数据而自适应性定义。
[0100] 在此扫描过程之后,熵编码单元346根据熵译码方法(例如,CAVLC或CABAC)来对经量化变换系数(与任何语法元素一起)进行编码,以进一步压缩数据。包括于经熵译码的位串流中的语法元素可包括来自预测模块332的预测语法,例如用于帧间译码的运动向量或用于帧内译码的预测模式。包括于经熵译码的位串流中的语法元素还可包括来自滤波器单元349的滤波器信息,其可以用本文中所描述的方式编码。
[0101] CAVLC为由ITU H.264/MPEG4、AVC标准支持的一种类型的熵编码技术,其可基于向量化而由熵编码单元346应用。CAVLC以有效地压缩变换系数及/或语法元素的串行化“轮次”的方式使用可变长度译码(VLC)表。CABAC为由ITU H.264/MPEG4、AVC标准支持的另一类型的熵译码技术,其可基于向量化而由熵编码单元346应用。CABAC涉及若干级,包括二进制化、上下文模型选择及二进制算术译码。在此情况下,熵编码单元346根据CABAC对变换系数及语法元素进行译码。与ITU H.264/MPEG4、AVC标准一样,新兴HEVC标准也可支持CAVLC及CABAC熵译码两者。此外,还存在许多其它类型的熵译码技术,且新的熵译码技术在未来将很可能出现。本发明不限于任何特定熵译码技术。
[0102] 在通过熵编码单元346进行的熵译码之后,可将经编码视频发射到另一装置或加以存档以供稍后发射或检索。同样,经编码视频可包含经熵译码的向量及各种语法,其可由解码器使用以恰当地配置解码过程。逆量化单元342及逆变换单元344分别应用逆量化及逆变换,以在像素域中重新建构残余块。求和器351将经重新建构的残余块加到由预测模块332产生的预测块,以产生预先解块的经重新建构的视频块,其有时被称为预先解块的经重新建构的图像。解块滤波器347可将滤波应用于预先解块的经重新建构的视频块以通过移除成块效应或其它假影来改良视频质量。解块滤波器347的输出可被称为后解块视频块、经重新建构的视频块或经重新建构的图像。
[0103] 滤波器单元349可经配置以接收单一输入或多个输入。在图3的实例中,滤波器单元349接收解块后经重新建构的图像(RI)、预先解块的经重新建构的图像(pRI)、预测图像(PI)及经重新建构的残余块(EI)作为输入。滤波器单元349可个别地或组合地使用这些输入中的任一者以产生经重新建构的图像以存储于存储器334中。另外,如下文中将较详细论述,基于两个或两个以上度量,可选择一个或一个以上滤波器以应用于所述输入。在一个实例中,滤波器单元349的输出可为应用于RI的一个额外滤波器。在另一实例中,滤波器单元349的输出可为应用于pRI的一个额外滤波器。然而,在其它实例中,滤波器单元349的输出可基于多个输入。举例来说,滤波器单元349可将第一滤波器应用于pRI,且接着结合EI及PI的经滤波版本使用pRI的经滤波版本以建立经重新建构的图像。在滤波器单元349的输出为一个额外滤波器正被应用于单一输入的结果的例子中,滤波器单元349可实际上将滤波器应用于其它输入,但这些滤波器可能具有全零系数。类似地,如果滤波器单元349的输出为将三个滤波器应用于三个输入的结果,则滤波器单元349可实际上将一滤波器应用于第四输入,但所述滤波器可能具有全零系数。
[0104] 滤波器单元349也可经配置以接收单一输入。举例来说,虽然图3展示PI、EI、pRI及RI被输入到滤波器单元349中,但在一些实施方案中,RI可为通过滤波器单元349接收的唯一输入。在此实施方案中,滤波器单元349可将滤波器应用于RI,使得RI的经滤波版本比RI的未经滤波版本更类似于原始图像。在其它实施方案中,滤波器单元349及解块滤波器347可组合成将滤波应用于pRI的单一滤波单元。本发明的技术(其通常与基于多度量的滤波器映射相关)可与利用多个滤波器的单输入及多输入滤波方案两者相容。
[0105] 通过滤波器单元349进行的滤波可通过产生比未经滤波的预测性视频块更紧密匹配正被译码的视频块的预测性视频块来改良压缩。在滤波之后,经重新建构的视频块可由预测模块332用作为参考块以对后续视频帧或其它CU中的块进行帧间译码。虽然滤波器单元349经展示为“环路内”,但本发明的技术也可供后滤波器使用,在所述情况下,为了预测后续CU中的数据,可使用未经滤波数据(而非经滤波数据)。
[0106] 对于一系列视频块(例如,片段或帧),滤波器单元349可以用提升视频质量的方式为每一输入选择滤波器的集合。举例来说,滤波器单元349可从系数的预定义集合选择滤波器的集合,或可以用自适应方式定义滤波器以便提升视频质量或经改良压缩。滤波器单元349可针对给定CU选择或定义滤波器的一个或一个以上集合,以使得滤波器的相同集合被用于所述CU的不同视频块的像素。对于特定帧、片段或LCU,滤波器单元349可将滤波器的若干集合应用于多个输入,且FSU 353可选择产生最佳质量视频或最高压缩等级的集合。或者,FSU 353可通过分析多个输入与原始图像之间的自相关及交叉相关来训练新滤波器。滤波器的新集合可(例如)通过基于自相关及交叉相关对维纳-霍普方程式(Wienter-Hopt equation)求解来确定。不管是训练滤波器的新集合还是选择滤波器的现有集合,滤波器单元349均产生供包括于位串流中的使解码器也能够识别将用于特定帧或片段的滤波器的集合的语法。
[0107] 根据本发明,对于视频块的系列内的CU的每一像素,滤波器单元349可基于量化与CU内的像素的一个或一个以上集合相关联的性质的两个或两个以上度量来选择来自滤波器的集合的哪个滤波器将被使用。以此方式,FSU 353可确定用于较高等级的经译码单元(例如,帧或片段)的滤波器的集合,而滤波器单元349基于与较低等级的经译码单元的像素相关联的两个或两个以上度量来确定来自所述集合的哪个(些)滤波器用于所述较低等级的经译码单元的特定像素。
[0108] 可针对每一输入使用M个滤波器的集合。视设计偏好而定,M可(例如)小到2或大到16,或甚至更高。每个输入的大量滤波器可改良视频质量,但也可能会增加与将滤波器的集合从编码器用信号发出到解码器相关联的额外负担。M个滤波器的集合可由FSU353如上所述地确定且针对每一帧或片段用信号发出到解码器。分段映射可用以指示CU如何被分段及所述CU的特定子单元是否将被滤波。对于CU,分段映射可(例如)包括如上所述的分裂旗标的阵列,以及用信号发出每一子CU是否将被滤波的额外位。对于与将被滤波的CU的像素相关联的每一输入,可基于两个或两个以上度量选择来自滤波器的集合的特定滤波器。两个或两个以上度量的值的组合可索引到来自M个滤波器的集合的特定滤波器。
[0109] 图4A为说明索引到来自滤波器的集合的滤波器的两个度量的值的范围的概念图。图4A的特定实例展示八个滤波器(即,滤波器1、滤波器2、……、滤波器8),但可类似地使用更多或更少滤波器。图4A展示可用于根据本发明的技术选择滤波器的两个度量。所述两个度量可(例如)量化与非方向特定活动(例如,改进拉普拉斯能量和的值)及方向、方向特定活动及边缘检测、方向度量及边缘度量、水平活动度量及垂直活动度量或两个其它这些度量相关的像素数据的性质。在一些例子中,可使用三个或三个以上度量,在所述情况下,图
4A的概念图将包括用于将度量的范围映射到来自滤波器的集合的滤波器的第三维度。
[0110] 在图4A的实例中,第一度量(度量1)具有四个范围(范围1-1、1-2、1-3及1-4),且第二度量(度量2)还具有四个范围(范围2-1、2-2、2-3及2-4)。因此,图4A的实例具有度量1及度量2的范围的十六个组合。然而,如从图4A可见,每一组合未必与唯一滤波器相关联。在图4A的实例中,范围1-1与范围2-1的组合以及组合1-1与2-2及1-1与2-3(例如)全部映射到滤波器1。与之相比,滤波器4仅映射到一个组合(1-1与2-4)。虽然图4A的范围经展示为相对相等,但范围的大小可改变。举例来说,在一些实施方案中,范围1-1可涵盖比范围1-2大的值范围。另外,虽然图4A将度量1及度量2展示为具有相同数目个范围,但第一度量的范围的数目与第二度量的范围的数目未必需要相等。如果(例如)度量1为方差度量且度量2为方向度量,则度量1可使用八个范围,而度量2使用三个范围。
[0111] 在一些实例中,度量1及度量2的范围可表示值的连续谱。举例来说,如果度量1为改进拉普拉斯能量和的值,则范围1-2可对应于比范围1-1多的活动,但比范围1-3少的活动,且范围1-4可对应于比范围1-3多的活动。在一范围内,针对特定像素或像素的群组确定的活动的量可类似地沿着度量1轴线增加。在其它实例中,度量1及度量2的范围可不表示实际范围,而是实情为可表示离散确定。举例来说,如果度量2为方向度量,则范围1-1可对应于无方向的确定,范围2-2可对应于水平方向的确定,范围2-3可对应于垂直方向的确定,且范围2-4可表示对角线方向的确定。如下文中将较详细描述,无方向、水平方向、垂直方向及对角线方向可为离散确定,且因此,度量2的范围可不以与度量1的范围相同的方式表示值的连续谱。
[0112] 图4B为说明活动度量及方向度量的值的范围的概念图。在图4B的实例中,方向度量包括三个离散维度(无方向、水平方向及垂直方向)。用于确定无方向、水平方向及垂直方向的技术以及用于确定活动的技术将在下文中较详细地解释。图4B的特定实例展示六个滤波器(即,滤波器1、滤波器2、……、滤波器6),但可类似地使用更多或更少滤波器。如通过图4B可见,所述两个度量(活动及方向)建立识别为组合421到435的15个组合。然而,在一些例子中,还可使用未明确地展示于图4B中的额外组合。举例来说,对应于无活动的组合可为也具有对应滤波器的第16个组合。
[0113] 滤波器单元349可存储滤波器到两个或两个以上度量的范围的组合的映射,例如图4A及4B的实例映射,且使用所述映射确定来自滤波器的集合的哪个滤波器将适用于CU中的特定像素或像素的群组。滤波器到两个或两个以上度量的范围的组合的映射可(例如)由滤波器单元349确定,作为上文所描述的滤波器选择过程的部分。不管映射是如何确定的,滤波器单元349均可产生允许解码器重新建构所述映射的信息。此信息可包括于经译码位串流中以用信号发出范围的组合到滤波器的映射。用信号发出的组合到范围的映射可将范围组合映射到滤波器标识ID。用于特定滤波器的实际系数可单独地用信号发出。
[0114] 为了产生此信息,滤波器单元349首先确定用于所述组合的发射次序。发射次序通常指代将针对范围的组合用信号发出滤波器的次序。使用图4A作为实例,滤波器单元349可使用从左到右、从上到下的发射次序,其中首先用信号发出用于组合401的滤波器,其次用信号发出用于组合402的滤波器,且以如下次序用信号发出剩余组合:403=>404=>405=>406=>407=>408=>409=>410=>411=>412=>413=>414=>415=>416。滤波器单元349还可使用从上到下的Z字形发射次序,其中以如下次序用信号发出用于组合的滤波器:401=>402=>403=>404=>408=>407=>406=>405=>409=>410=>411=>412=>416=>
415=>414=>413。滤波器单元349还可使用从上到下、从左到右的发射次序,其中以如下次序用信号发出用于组合的滤波器:401=>405=>409=>413=>402=>406=>410=>414=>
403=>407=>411=>415=>404=>408=>412=>416。滤波器单元349还可使用从左到右的Z字形发射次序,其中以如下次序用信号发出用于组合的滤波器:401=>405=>409=>413=>414=>410=>406=>402=>403=>407=>411=>415=>416=>412=>408=>404。参看图4B,滤波器单元349可使用从左到右、从下到上的发射次序,以使得发射次序为421=>422=>423=>424=>425=>426=>427=>428=>429=>430=>431=>432=>433=>434=>
435。如可想象,这些发射次序仅为可能的许多发射次序中的几个。
[0115] 根据本发明的技术,滤波器单元349可使用一系列码字将映射用信号发出到解码器。举例来说,滤波器单元349可产生第一码字以指示:正被解码的当前组合是否映射到与共享第一度量的相同范围的最近经解码组合相同的滤波器。如果正被解码的当前组合映射到与共享第二度量的相同范围的最近经解码组合相同的滤波器,则滤波器单元349可产生替代所述第一码字的第二码字。如果正被解码的当前组合未映射到与这些最近经解码组合中的任一者相同的滤波器,则滤波器单元349可产生替代所述第一码字或所述第二码字的第三码字,所述第三码字指示对应于正被解码的当前组合的滤波器。与第三码字相比,当前实例的第一码字及第二码字可相对较短。举例来说,第一码字及第二码字可各自为两个位(例如,分别为00及01),而第三码字具有更多位(第一位为1,加上多个额外位)。在此特定上下文中,正被解码的当前组合或正被解码的先前组合指代编码及解码过程的部分(其中滤波器到范围组合的映射是由编码器用信号发出或由解码器建构),且未必指代组合本身的发射或解码。
[0116] 现在将参看图4A及从上到下、从左到右的发射次序给出上文所描述的技术的实例。如果(例如)组合407为当前正被解码的组合,则组合406为共享度量1的相同范围的最近经解码组合,且组合403为共享度量2的相同范围的最近经解码组合。如果组合407映射到与共享第二度量的相同范围(即,度量2的范围2-3)的最近经解码组合相同的滤波器(图4A中的滤波器7),则滤波器单元349可发射第二码字(例如,01)以指示:正被解码的当前组合(组合407)映射到与共享第二度量的相同范围的最近经解码组合(组合403)相同的滤波器。
[0117] 如果(例如)组合410为正被解码的当前组合,则组合409为共享度量1的相同范围的最近经解码组合,且组合406为共享度量2的相同范围的最近经解码组合。如果组合410映射到与共享第一度量的相同范围(即,度量1的范围1-2)的最近经解码组合相同的滤波器(图4A中的滤波器2),则滤波器单元349可发射第一码字(例如,00)以指示:正被解码的当前组合(组合410)映射到与共享第一度量的相同范围的最近经解码组合(组合409)相同的滤波器(滤波器2)。
[0118] 如果(例如)组合411为正被解码的当前组合,则组合410为共享度量1的相同范围的最近经解码组合,且组合407为共享度量2的相同范围的最近经解码组合。如果组合411未映射到与组合410或组合407中的任一者相同的滤波器,则滤波器单元349可发射第三码字(例如,1+额外位)以指示:正被解码的当前组合(组合411)映射到不同于共享度量1的相同范围的最近经解码组合及共享度量2的相同范围的最近经解码组合两者的滤波器(滤波器3)。
[0119] 对于那些当前组合(其中共享度量1的相同范围的组合或共享度量2的相同范围的组合尚未被解码),则那些选项可被视为不可用或者可由不同组合替换。如果(例如)组合409为将被解码的当前组合,则组合405为共享度量2的相同范围的最近经解码组合,但尚未对共享度量1的范围的组合进行解码。在这些例子中,可假设共享度量1的范围的最近经解码组合未映射到与正被解码的当前组合相同的滤波器。因此,在此情况下,将不把第一码字用于组合409。或者,共享度量1的范围的组合可由另一组合(例如,最近经解码组合或不同的先前经解码组合)替换。在此例子中,组合409之前的最近经解码组合将为组合408。因此,如果组合408映射到与组合409相同的滤波器,则滤波器单元349可产生第一码字。类似技术可用于共享度量1的共同范围的先前组合尚未被解码的那些组合。
[0120] 对于发射次序中的第一组合(例如,图4A的实例中的组合401)(其中共享度量1的相同范围的组合或共享度量2的相同范围的组合均尚未被解码),滤波器单元349可产生指示映射到所述第一组合的滤波器的码字。所述滤波器可(例如)使用第三码字来用信号发出,或可使用不同技术来用信号发出,在所述情况下,本发明中所描述的技术可以从发射次序中的第二组合或稍后组合开始。
[0121] 根据本发明的另一技术,滤波器单元349可使用一系列码字将映射用信号发出到解码器。在一些实施方案中,滤波器单元349可产生第一码字以指示:正被解码的当前组合是否映射到与共享第一度量的相同范围的最近经解码组合相同的滤波器。如果正被解码的当前组合未映射到与共享第一度量的范围的最近经解码组合相同的滤波器,则滤波器单元349可产生第二码字而不是第一码字,所述第二码字指示映射到正被解码的当前组合的滤波器。在此实例中,与第二码字相比,第一码字可相对较短。举例来说,第一码字可为一个位(例如,0),而第二码字具有更多位(例如,第一位为1,加上额外位)。不同于在当前组合映射到与共享度量1或度量2的相同范围的先前经解码组合相同的滤波器的情况下可产生短码字的先前技术,此技术仅包括在当前组合映射到与共享度量1的相同范围的先前经解码组合相同的滤波器的情况下产生短的码字。因此,即使当前组合映射到与共享度量2的相同范围的先前经解码组合相同的滤波器,滤波器单元349仍产生第二码字(例如,1+额外位)。虽然为了解释,本发明使用度量1,但也可仅使用度量2来应用相同技术。
[0122] 根据本发明的又一技术,滤波器单元349可使用不同系列码字将映射用信号发出到解码器。举例来说,滤波器单元349可产生第一码字以指示正被解码的当前组合是否映射到与最近经解码组合相同的滤波器,而不管当前组合与先前经解码组合有哪个共同范围(如果有的话)。如果正经解码的当前组合未映射到与最近经解码组合相同的滤波器,则滤波器单元349可产生识别映射到当前组合的滤波器的第二码字。在此特定实施方案中,与第二码字相比,第一码字可相对较短。举例来说,第一码字可为一个位(例如,0),而第二码字具有更多位(例如,第一位为1,加上额外位)。
[0123] 同样,使用图4A的实例及从上到下、从左到右的发射次序,如果组合402当前正被解码,则组合401将为最近经解码组合,如果组合403为当前组合,则组合402将为最近经解码组合,依此类推。如果组合405为正被解码的当前组合,则404将为最近经解码组合。因此,如果组合402映射到与组合401相同的滤波器,如果组合403映射到与组合402相同的滤波器等等,则滤波器单元349可产生第一码字。否则,滤波器单元349可产生识别映射到当前组合的滤波器的第二码字。
[0124] 根据本发明的又一技术,滤波器单元349可使用两个码字来用信号发出滤波器到组合的映射。第一码字(例如“0”)可用以用信号发出:当前组合使用与先前组合相同的滤波器。第二码字(例如“1”)可用以用信号发出:当前组合具有不同于先前组合的滤波器。然而,第二码字不需要识别新滤波器。实情为,可基于用于类别的发射次序及发射滤波器系数的次序来确定新滤波器。使用上文针对图4B所描述的从左到右、从下到上的发射次序作为一实例,可相应地发射码字:421(0)=>422(0)=>423(1)=>424(0)=>425(0)=>426(0)=>427(0)=>428(1)=>429(0)=>430(0)=>431(0)=>432(1)=>433(0)=>434(0)=>435(0),其中圆括号中的数字表示用于所述组合的码字。在此实例中,组合421-422将映射到第一滤波器,组合423-427将映射到第二滤波器,组合428-431将映射到第三滤波器,且组合
432-435将映射到第四滤波器。用于第一滤波器、第二滤波器、第三滤波器及第四滤波器的系数可对应于用信号发出滤波器系数的集合的次序,其中用信号发出的滤波器系数的第一集合对应于第一滤波器,用信号发出的滤波器系数的第二集合对应于第二滤波器,依此类推。在下文中更详细地论述确定用于发射滤波器系数的集合的次序。
[0125] 本发明中所描述的用于用信号发出滤波器到范围的组合的映射的各种技术并非互相排斥的替代方案,而是可彼此结合使用。举例来说,在一些实施方案中,特定组合可使用第一技术来用信号发出,而其它组合是使用第二技术来用信号发出。作为一个实例,在共享度量1的相同范围的组合或共享度量2的相同范围的组合中的一者尚未经解码(例如,组合402、403、404、405、409及413)的情况下,则滤波器单元349可使用第一技术。在共享度量1的相同范围的组合及共享度量2的相同范围的组合两者已被解码(例如,组合406、407、408、410、411、412、414、415及416)的情况下,则可使用第二技术。另外,用于上文所描述的第一码字、第二码字及第三码字中的任一者的码字可为固定长度码字、可变长度码字或上下文自适应性可变长度码字中的任一者。
[0126] 除产生允许解码器重新建构滤波器到范围的组合的映射的信息外,滤波器单元349还产生允许解码器重新建构滤波器本身的信息。重新建构滤波器包括重新建构滤波器的滤波器系数。如下文中将更详细描述,滤波器单元349可使用差分译码技术来用信号发出滤波器系数。为了使用差分译码技术,滤波器单元349确定用信号发出滤波器系数的集合的次序。
[0127] 作为确定次序的部分,滤波器单元349确定表示用于范围的每一组合的顺序值的组合标识(ID)。使用图4A作为一实例,可以用从左到右、从上到下的次序为所述组合指派表示顺序值的组合ID,在所述情况下,组合401将被指派第一顺序值,组合402将被指派第二顺序值,且将以如下次序为剩余组合指派顺序值:403=>404=>405=>406=>407=>408=>409=>410=>411=>412=>413=>414=>415=>416。滤波器单元349还可使用从上到下的Z字形次序指派组合ID,其中所述组合将被指派具有次序如下的顺序值的组合ID:401=>
402=>403=>404=>408=>407=>406=>405=>409=>410=>411=>412=>416=>415=>414=>413。滤波器单元349也可使用从上到下、从左到右的次序指派组合ID,其中所述组合被指派具有次序如下的顺序值的组合ID:401=>405=>409=>413=>402=>406=>410=>414=>403=>407=>411=>415=>404=>408=>412=>416。滤波器单元349也可使用从左到右的Z字形次序,其中所述组合被指派具有次序如下的顺序值的组合ID:401=>405=>409=>413=>414=>410=>406=>402=>403=>407=>411=>415=>416=>412=>
408=>404。如可想象,这些次序仅为可使用的许多次序中的几个。此外,所描述的所述次序中的任一者可为最低到最高或最高到最低。
[0128] 在滤波器单元349已确定滤波器到范围组合的映射之后,滤波器单元349可识别映射到同一滤波器的范围组合的分组。使用图4A作为一实例,分组将如下。
[0129] 滤波器1群组:组合413、414及415
[0130] 滤波器2群组:组合409、410
[0131] 滤波器3群组:组合411及412
[0132] 滤波器4群组:组合416
[0133] 滤波器5群组:组合401及405
[0134] 滤波器6群组:组合402及406
[0135] 滤波器7群组:组合403及407
[0136] 滤波器8群组:组合404及408。
[0137] 滤波器单元349可接着为每一群组指派一群组ID,且群组ID可表示顺序值。可基于与包含群组的组合相关联的顺序值将群组ID指派给群组。举例来说,具有具基于组合ID的最低相关联顺序值的组合的群组可被指派具有最低顺序值的群组ID。在剩余群组中,具有具最低相关联顺序值的组合的剩余群组可被指派具有下一最低顺序值的群组ID。此过程可重复,直到所有群组已被指派一群组ID为止。在一些实施方案中,可基于具有最高相关联顺序值而非最低相关联顺序值的组合来指派群组ID。在一些实施方案中,具有具基于组合ID的最低相关联顺序值的组合的群组可被指派具有最高顺序值的群组ID,或反之亦然。
[0138] 同样,使用图4A作为一实例,且假设组合401-416被指派具有从左到右、从上到下的次序的顺序值的组合ID,则滤波器单元349可将群组ID指派给滤波器群组,如下表1中所展示。
[0139]
[0140]
[0141] 表1。
[0142] 在表1中所展示的图4A的实例中,滤波器单元349为滤波器5群组指派具有最低顺序值的群组ID,因为滤波器5群组包括具有最低顺序值的范围组合(即,组合401)。滤波器单元349为滤波器6群组指派具有第二最低顺序值的群组ID,因为在剩余滤波器群组(即,除滤波器5群组外的所有群组)中,滤波器6群组包括具有第二最低顺序值的范围组合(即,组合402)。滤波器单元349为滤波器7群组指派具有第三最低顺序值的群组ID,因为在剩余滤波器群组(即,除滤波器5群组及滤波器6群组外的所有滤波器群组)中,滤波器7群组包括具有最低顺序值的范围组合(即,组合403)。滤波器单元349为滤波器8群组指派具有第四最低顺序值的群组ID,因为在剩余滤波器群组(即,除滤波器5群组、滤波器6群组及滤波器7群组外的所有滤波器群组)中,滤波器8群组包括具有第四最低顺序值的范围组合(组合404)。滤波器单元349为滤波器2群组指派具有第五最低顺序值的群组ID,因为在剩余滤波器群组(即,不包括滤波器5群组、滤波器6群组、滤波器7群组及滤波器8群组)中,滤波器2群组包括具有最低顺序值的范围组合(组合409)。滤波器单元349为滤波器3群组指派具有第六最低顺序值的群组ID,因为在剩余滤波器群组(即,不包括滤波器5群组、滤波器6群组、滤波器7群组、滤波器8群组及滤波器2群组)中,滤波器3群组包括具有最低顺序值的范围组合(组合411)。
滤波器单元349为滤波器1群组指派具有第七最低顺序值的群组ID,因为在剩余滤波器群组(即,不包括滤波器5群组、滤波器6群组、滤波器7群组、滤波器8群组、滤波器2群组及滤波器
3群组)中,滤波器1群组包括具有最低顺序值的范围组合(组合413)。最后,滤波器单元349为滤波器4群组(最后的剩余滤波器群组)指派具有最高顺序值(在此特定实例中为8)的群组ID。
[0143] 基于滤波器群组ID,滤波器单元349确定用信号发出滤波器的滤波器系数的次序。同样,使用图4A的实例及表1,滤波器单元349首先用信号发出用于滤波器5的系数,接着为用于滤波器6的系数,接着为用于滤波器7的系数,接着为用于滤波器8的系数,接着为用于滤波器2的系数,接着为用于滤波器3的系数,接着为用于滤波器1的系数,且最后为用于滤波器4的系数。使用差分译码技术,如本发明中所描述,滤波器单元349可基于群组ID的顺序定序而对用于滤波器6的系数进行译码以作为相对于滤波器5的滤波器系数的差异信息,对用于滤波器7的系数进行译码以作为相对于用于滤波器6的滤波器系数的差异信息,依此类推。
[0144] 可以用多种方式实施用于输入的两个或两个以上度量到滤波器的映射。举例来说,在一些实施方案中,每一输入可具有滤波器的唯一集合,而在一些实施方案中,输入共享滤波器的共同集合。另外,在一些实施方案中,用于每一输入的两个或两个以上度量可用以识别用于每一输入的特定滤波器。然而,在其它实施方案中,用于单一输入的两个或两个以上度量可用以识别用于所有输入的滤波器。在另外其它实施方案中,用于第一输入的两个或两个以上度量可用以识别用于第二不同输入的滤波器。
[0145] 根据本发明,滤波器单元349可关于滤波器信息执行译码技术,此可减少对滤波器信息进行编码且将其从编码器350传送到另一装置所需的数据的量。同样,对于每一帧或片段,滤波器单元349可定义或选择将应用于所述帧或片段的CU的像素的滤波器系数的一个或一个以上集合。滤波器单元349应用所述滤波器系数以便对存储于存储器334中的经重新建构的视频帧的视频块进行滤波,所述视频块可用于符合环路内滤波的预测性译码。滤波器单元349可将滤波器系数编码为滤波器信息,所述滤波器信息被转发到熵编码单元346以包括于经编码位串流中。
[0146] 另外,本发明的技术可利用以下事实:由FSU 353定义或选择的滤波器系数中的一些可能非常类似于关于另一帧或片段的CU的像素所应用的其它滤波器系数。相同类型的滤波器可应用于不同帧或片段(例如,相同滤波器支持),但滤波器可在与滤波器支持的不同索引相关联的滤波器系数值方面不同。相应地,为了减少传送这些滤波器系数所需的数据的量,滤波器单元349可基于另一CU的滤波器系数对将用于滤波的一个或一个以上滤波器系数进行预测性地编码,从而潜在地利用滤波器系数之间的相似性。然而,在一些情况下,对所述滤波器系数进行直接编码(例如,不使用任何预测)可能为更理想的。可使用各种技术(例如利用活动度量的使用来定义何时使用预测性译码技术对滤波器系数进行编码及何时不用任何预测性译码而对滤波器系数进行直接编码的技术)将滤波器系数有效地传达到解码器。另外,还可强加对称性,使得解码器所知道的系数的子集(例如,5、-2、10)可用以定义系数的全集(例如,5、-2、10、10、-2、5)。可在直接及预测性译码情境两者中强加对称性。
[0147] 如上所述,视频编码器350表示经配置以进行以下操作的视频编码器的实例:确定用于像素的块内的像素的群组的第一度量;确定用于像素的所述群组的第二度量;基于所述第一度量及所述第二度量确定滤波器;及通过将所述滤波器应用于像素的所述群组来产生经滤波图像。视频编码器350还表示经配置以进行以下操作的视频编码器的实例:确定用于像素的块的第一度量,其中所述第一度量是基于所述块中的所述像素的子集与所述块中的其它像素的比较确定;确定用于像素的所述块的第二度量;基于所述第一度量及所述第二度量确定滤波器;及通过将所述滤波器应用于像素的所述块来产生经滤波图像。
[0148] 如上所述,视频编码器350还表示经配置以进行以下操作的视频编码器的实例:确定范围组合到滤波器的映射,其中范围组合包含第一度量的范围及第二度量的范围,其中每一范围组合具有唯一范围组合标识(ID),其中每一唯一范围组合ID对应于范围组合的顺序值;基于所述范围组合的所述顺序值将唯一群组ID指派给范围组合的群组,其中每一唯一群组ID对应于群组的顺序值;及基于所述唯一群组ID对对应于所述滤波器的滤波器系数的集合进行译码。视频编码器350可通过以基于唯一群组ID的顺序值选择的次序在经译码位串流中用信号发出滤波器系数的集合来对滤波器系数的集合进行译码。视频编码器350可使用差分译码技术用信号发出滤波器系数的集合。
[0149] 如上所述,视频编码器350还表示经配置以进行以下操作的视频编码器的实例:确定范围组合到滤波器的映射,其中范围组合包含第一度量的值的范围及第二度量的值的范围;如果当前范围组合映射到与包含所述第一度量的值的相同范围的先前范围组合相同的滤波器,则产生第一码字;如果当前范围组合映射到与包含所述第二度量的值的相同范围的先前范围组合相同的滤波器,则产生第二码字;及如果所述当前范围组合映射到不同于包含所述第一度量的值的相同范围的所述先前范围组合及包含所述第二度量的值的相同范围的所述先前范围组合的滤波器,则产生第三码字。视频编码器350还表示经配置以进行以下操作的视频编码器的实例:确定范围组合到滤波器的映射,其中范围组合包含第一度量的范围及第二度量的范围;如果当前范围组合映射到与先前范围组合相同的滤波器,则产生第一码字;及如果所述当前范围组合映射到不同于所述先前范围组合的滤波器,则产生第二码字,其中所述第二码字识别映射到所述当前范围组合的滤波器。
[0150] 图5为说明视频解码器560的实例的框图,所述视频解码器对以本文中所述的方式编码的视频序列进行解码。接收到的视频序列可包含图像帧的经编码集合、帧片段的集合、经共同译码的图片群组(GOP),或广泛各种类型的视频块系列,其包括经编码视频块及语法以定义如何对这些视频块进行解码。
[0151] 视频解码器560包括熵解码单元552,其执行由图3的熵编码单元346执行的编码的相反解码功能。确切地说,熵解码单元552可执行CAVLC或CABAC解码,或由视频编码器350使用的任何其它类型的熵解码。一维串行化格式的经熵解码的视频块可经逆扫描以将系数的一个或一个以上一维向量转换回到二维块格式。向量的数目及大小以及对于视频块所定义的扫描次序可定义重新建构二维块的方式。经熵解码的预测语法可从熵解码单元552发送到预测模块554,且经熵解码的滤波器信息可从熵解码单元552发送到滤波器单元559。
[0152] 视频解码器560还包括预测模块554、逆量化单元556、逆变换单元558、存储器及求和器564。另外,视频解码器560还包括对求和器564的输出进行滤波的解块滤波器557。根据本发明,滤波器单元559可接收包括将应用于一个或一个以上输入的一个或一个以上滤波器的经熵解码的滤波器信息。虽然图5上未展示,但解块滤波器557还可接收包括将应用的一个或一个以上滤波器的经熵解码的滤波器信息。
[0153] 由滤波器单元559应用的滤波器可由滤波器系数的集合定义。滤波器单元559可经配置以基于从熵解码单元552接收的滤波器信息产生滤波器系数的集合。滤波器信息可包括识别(例如)滤波器的集合中的滤波器的最大数目及/或滤波器的集合中的滤波器的形状的滤波器描述语法。滤波器描述语法可包括于一系列视频块的标头(例如,LCU标头、帧标头、片段标头、GOP标头、序列标头或其类似者)中。在其它实例中,滤波器描述语法可包括于页尾(footer)或其它数据结构中。基于滤波器描述语法,滤波器单元559可重新建构在编码器处使用的滤波器的集合。
[0154] 滤波器信息还可包括将用于系数的任何给定集合的编码方式用信号发出到解码器的额外信令语法。在一些实施方案中,滤波器信息还可(例如)包括两个或两个以上度量的范围,关于所述范围应使用系数的任何给定集合。在滤波器的解码之后,滤波器单元559可基于滤波器系数的所述一个或一个以上集合及包括范围(关于所述范围应使用滤波器系数的不同集合)的信令语法对经解码视频块的像素值进行滤波。
[0155] 滤波器单元559可在位串流中接收指示用于每一帧或片段的滤波器的集合以及滤波器到两个或两个以上度量的映射的一个或一个以上语法元素。举例来说,如果编码器使用图4A中所展示的度量的范围到滤波器的映射,则编码器将用信号发出此映射或发射数据以允许滤波器单元559重新建构此映射。不管此映射是否被明确地用信号发出,滤波器单元559均可维持与编码器所使用的映射相同的滤波器到范围的组合的映射。
[0156] 如上所述,滤波器单元559基于在位串流中用信号发出的滤波器信息产生映射。基于此映射,滤波器单元559可确定群组且将群组ID指派给群组,其方式与上文关于滤波器单元349所描述的方式相同。使用这些群组ID,滤波器单元559可使接收到的滤波器系数相关联。
[0157] 对于帧或片段内的每一CU,滤波器单元559可计算用于多个输入(即,PI、EI、pRI及RI)的与CU的经解码像素相关联的一个或一个以上度量,以便确定所述集合的哪个(些)滤波器将适用于每一输入。或者,滤波器单元559可计算用于单一输入(例如,pRI或RI)的一个或一个以上度量。滤波器单元559基于针对特定像素或像素的群组确定的度量确定将应用哪个滤波器。使用改进拉普拉斯能量和的值及方向作为度量1及度量2的实例且使用图4A中所展示的映射作为一实例,如果滤波器单元559确定:像素或像素的群组具有在范围1-2中的改进拉普拉斯能量和的值及对应于范围2-3的方向,则滤波器单元559可将滤波器2应用于所述像素或像素的群组。如果滤波器单元559确定:像素或像素的群组具有在范围1-4中的改进拉普拉斯能量和的值及对应于范围2-2的方向,则滤波器单元559可将滤波器6应用于所述像素或像素的群组,依此类推。滤波器通常可采用任何类型的滤波器支持形状或布置。滤波器支持指代关于正被滤波的给定像素的滤波器的形状,且滤波器系数可根据滤波器支持定义应用于邻近像素值的加权。根据本发明的技术,语法数据可包括于位串流中以便将对滤波器进行编码的方式(例如,对滤波器系数进行编码的方式)以及活动度量的范围(关于所述范围应使用不同滤波器)用信号发出到解码器。
[0158] 对于帧或片段内的每一CU,滤波器单元559可计算用于多个输入(即,PI、EI、pRI及RI)的与CU的经解码像素相关联的一个或一个以上度量,以便确定所述集合的哪个(些)滤波器将适用于每一输入。或者,滤波器单元559可计算用于单一输入(例如,pRI或RI)的一个或一个以上度量。滤波器单元559基于针对特定像素或像素的群组确定的度量确定将应用哪个滤波器。使用改进拉普拉斯能量和的值及方向作为度量1及度量2的实例且使用图4A中所展示的映射作为一实例,如果滤波器单元559确定:像素或像素的群组具有在范围1-2中的改进拉普拉斯能量和的值及对应于范围2-3的方向,则滤波器单元559可将滤波器2应用于所述像素或像素的群组。如果滤波器单元559确定:像素或像素的群组具有在范围1-4中的改进拉普拉斯能量和的值及对应于范围2-2的方向,则滤波器单元559可将滤波器6应用于所述像素或像素的群组,依此类推。滤波器通常可采用任何类型的滤波器支持形状或布置。滤波器支持指代关于正被滤波的给定像素的滤波器的形状,且滤波器系数可根据滤波器支持定义应用于邻近像素值的加权。根据本发明的技术,语法数据可包括于位串流中以便将对滤波器进行编码的方式(例如,对滤波器系数进行编码的方式)以及活动度量的范围(关于所述范围应使用不同滤波器)用信号发出到解码器。
[0159] 预测模块554从熵解码单元552接收预测语法(例如,运动向量)。使用预测语法,预测模块554产生被用以对视频块进行译码的预测块。逆量化单元556执行逆量化,且逆变换单元558执行逆变换以将残余视频块的系数改变回到像素域。加法器564组合每一预测块与由逆变换单元558输出的对应残余块以便重新建构视频块。
[0160] 滤波器单元559针对CU的每一输入产生将应用的滤波器系数,且接着应用这些滤波器系数以便对所述CU的经重新建构的视频块进行滤波。举例来说,所述滤波可包含使边缘平滑及/或消除与视频块相关联的假影的额外解块滤波、用以减少量化噪声的去噪声滤波,或可改良译码质量的任何其它类型的滤波。经滤波视频块积聚于存储器562中以便重新建构视频信息的经解码帧(或其它可解码单元)。经解码单元可从视频解码器560输出以用于呈现给用户,但也可经存储以用于后续预测性解码中。
[0161] 在视频译码的领域中,在编码器及解码器处应用滤波以便增强经解码视频信号的质量为普遍的。滤波可经由后滤波器而应用,在所述情况下,经滤波帧不用于将来帧的预测。或者,可在“环路内”应用滤波,在所述情况下,经滤波帧可用以预测将来帧。理想滤波器可通过最小化原始信号与经解码的经滤波信号之间的误差来设计。通常,此滤波已基于将一个或一个以上滤波器应用于经重新建构的图像。举例来说,解块滤波器可在经重新建构的图像被存储于存储器中之前应用于所述图像,或解块滤波器及一个额外滤波器可在经重新建构的图像被存储于存储器中之前应用于所述图像。
[0162] 以类似于变换系数的量化的方式,还可量化滤波器h(k,l)的系数,其中k=-K,...,K,且l=-L,...,L。K及L可表示整数值。滤波器h(k,l)的系数可量化为:
[0163] f(k,l)=round(normFact·h(k,l))
[0164] 其中normFact为正规化因子,且round为经执行以实现到所要位深度的量化的舍入运算。滤波器系数的量化可在编码期间由图3的滤波器单元349执行,且去量化或逆量化可由图5的滤波器单元559对经解码滤波器系数执行。期望滤波器h(k,l)一般地表示任何滤波器。举例来说,滤波器h(k,l)可应用于多个输入中的任一者。在一些例子中,与一视频块相关联的多个输入将利用不同滤波器,在所述情况下,可如上所述地量化及去量化类似于h(k,l)的多个滤波器。
[0165] 经量化的滤波器系数经编码且作为经编码位串流的部分从与编码器350相关联的源装置发送到与解码器560相关联的目的地装置。在上文的实例中,normFact的值通常等于2n,但可使用其它值。normFact的较大值引起更精确量化,使得经量化的滤波器系数f(k,l)提供较好性能。然而,normFact的较大值可产生需要较多位来用信号发出到解码器的系数f(k,l)。
[0166] 在解码器560处,经解码的滤波器系数f(k,l)可应用于适当输入。举例来说,如果经解码滤波器系数将被应用于RI,则滤波器系数可应用于解块后经重新建构的图像RI(i,j)(其中i=0,…,M且j=0,..,N)如下:
[0167]
[0168] 变量M、N、K及L可表示整数。K及L可定义跨越-K到K及-L到L的两个维度的像素的块。可以用类似方式应用应用于其它输入的滤波器。
[0169] 本发明的技术可改良后滤波器或环路内滤波器的性能,且还可减少用信号发出滤波器系数f(k,l)所需的位的数目。在一些情况下,针对每一系列视频块(例如,针对每一帧、片段、帧的部分、帧群组(GOP)或其类似者)将许多不同后滤波器或环路内滤波器用信号发出到解码器。对于每一滤波器,将额外信息包括于位串流中以识别应应用给定滤波器的CU、宏块及/或像素。
[0170] 所述帧可通过帧数目及/或帧类型(例如,I帧、P帧或B帧)识别。I帧指代经帧内预测的帧内帧。P帧指代使视频块基于数据的一个列表(例如,前一个帧)来预测的预测性帧。B帧指代基于数据的两个列表(例如,前一帧及后一帧)预测的双向预测性帧。宏块可通过列出宏块类型及/或用以重新建构宏块的量化参数(QP)值的范围来识别。
[0171] 对于任何输入,滤波器系数f(k,l)可使用根据针对先前CU用信号发出的系数的预测进行译码。对于CU m的每一输入(例如,每一帧、片段或GOP),编码器可对M个滤波器的集合进行编码且发射M个滤波器的所述集合:
[0172] 其中i=0,…,M-1。
[0173] 对于每一滤波器,还可对位串流进行编码以识别两个或两个以上度量的范围的组合,关于所述范围应使用滤波器。
[0174] 滤波器系数可使用先前CU中所使用的经重新建构的滤波器系数进行预测。先前滤波器系数可表示为:
[0175] fin其中i=0,…,N-1,
[0176] 在此情况下,CU n的数目可用以识别用于预测当前滤波器的一个或一个以上滤波器,且数字n可作为经编码位串流的部分被发送到解码器。另外,信息可经编码且发射到解码器以识别两个或两个以上度量的范围组合,关于所述范围使用预测性译码。
[0177] 滤波器系数g(k,l)的幅值取决于k及l值。通常,具有最大幅值的系数为系数g(0,0)。预期具有大幅值的其它系数为k或l的值等于0的系数。可利用此现象来进一步减少用信号发出所述系数所需的位的量。索引值k及l可界定已知滤波器支持内的位置。
[0178] 用于每一帧m的系数:
[0179]
[0180] 可使用根据参数p定义的例如哥伦布码(Golomb code)或指数哥伦布码(exp-Golomb code)的经参数化的可变长度码来译码。通过改变定义经参数化的可变长度码的参数p的值,这些码可用以有效率地表示广泛范围的源分布。系数g(k,l)的分布(即,其具有大值或小值的可能性)取决于k及l的值。因此,为提高译码效率,对于每一帧m,对于每一对(k,l)发射参数p的值。当对如下系数进行编码时,参数p可用于经参数化的可变长度译码:
[0181] 其中k=-K,...,K,l=-L,...,L。
[0182] 如上所述,视频解码器560表示经配置以进行以下操作的视频解码器的实例:确定用于像素的一块内的像素的群组的第一度量;确定用于像素的所述群组的第二度量;基于所述第一度量及所述第二度量确定滤波器;及通过将所述滤波器应用于像素的所述群组来产生经滤波图像。视频解码器560还表示经配置以进行以下操作的视频编码器的实例:确定用于像素的一块的第一度量,其中所述第一度量是基于所述块中的像素的子集与所述块中的其它像素的比较确定;确定用于像素的所述块的第二度量;基于所述第一度量及所述第二度量确定滤波器;及通过将所述滤波器应用于像素的所述块来产生经滤波图像。
[0183] 如上所述,视频解码器560还表示经配置以进行以下操作的视频解码器的实例:确定范围组合到滤波器的映射,其中范围组合包含第一度量的范围及第二度量的范围,其中每一范围组合具有唯一范围组合标识(ID),其中每一唯一范围组合ID对应于范围组合的顺序值;基于所述范围组合的所述顺序值将唯一群组ID指派给范围组合的群组,其中每一唯一群组ID对应于群组的顺序值;及基于所述唯一群组ID对对应于所述滤波器的滤波器系数的集合进行译码。视频解码器560可通过基于在经译码位串流中接收的信息产生滤波器系数的所述集合来对滤波器系数的所述集合进行译码。视频解码器560可使用差分译码技术产生滤波器系数的所述集合。
[0184] 视频解码器560还表示经配置以进行以下操作的视频解码器的实例:将第一范围组合映射到第一滤波器,其中所述第一范围组合包含第一度量的值的第一范围及第二度量的值的第一范围;将第二范围组合映射到第二滤波器,其中所述第二范围组合包含所述第一度量的值的第二范围及所述第二度量的值的第二范围;将当前范围组合映射到滤波器,其中所述当前范围组合包含所述第一度量的值的所述第一范围及所述第二度量的值的所述第二范围。将当前范围组合映射到滤波器可包括:响应于接收第一码字将当前范围组合映射到所述第一滤波器,其中所述第一码字指示当前范围组合映射到与所述第一范围组合相同的滤波器;响应于接收第二码字将当前范围组合映射到所述第二滤波器,其中所述第二码字指示当前范围组合映射到与所述第二组合相同的滤波器;及响应于接收第三码字将当前范围组合映射到第三滤波器,其中所述第三码字识别所述第三滤波器。视频解码器560还表示经配置以进行以下操作的视频解码器的实例:产生范围组合到滤波器的映射,其中范围组合包含第一度量的范围及第二度量的范围;响应于接收第一码字将当前范围组合映射到与先前范围组合相同的滤波器,所述第一码字用信号发出当前范围组合映射到与所述先前范围组合相同的滤波器;及响应于接收第二码字将当前范围组合映射到通过所述第二码字识别的滤波器,所述第二码字用信号发出当前范围组合映射到不同于所述先前范围组合的滤波器。
[0185] 如上文已介绍,可结合本发明中所描述的多度量滤波技术使用若干不同类型的度量。这些度量中的一些为量化与视频数据内的像素的一个或一个以上块相关联的活动的活动度量。活动度量可包含指示像素的集合内的像素方差的方差度量。如将描述,这些活动度量中的一些为方向特定的。举例来说,水平活动度量量化沿着水平轴线的活动,垂直活动度量量化沿着垂直轴线的活动,对角线活动度量量化沿着对角线轴线的活动,依此类推。
[0186] 一些活动度量不为方向特定的。举例来说,改进拉普拉斯能量和的值为基于包围当前像素或像素的当前群组的像素的二维窗的活动度量。对于当前像素(i,j),改进拉普拉斯能量和的值可计算如下:
[0187]
[0188] 其中对于跨越-K到K及-L到L的二维窗,k表示从-K到K的像素值的总和的值,且l表示从-L到L的总和的值,其中i及j表示像素数据的像素坐标,RI(i,j)表示在坐标i及j处的给定像素值,且var(i,j)为活动度量(即,改进拉普拉斯能量和的值)。
[0189] 本发明的技术还可使用用于水平活动、垂直活动及对角线活动的方向特定度量来实施。方程式2及3通过比较当前像素(x,y)的像素值(Rec)(例如,强度)与相邻像素的像素值展示针对当前像素可计算水平活动及垂直活动的方式的实例。
[0190] Hor_act(x,y)=R(2*Rec[x][y]-Rec[x+1][y]-Rec[x-1][y])     (2)[0191] Ver_act(x,y)=R(2*Rec[x][y]-Rec[x][y+1]-Rec[x][y+1])        (3)[0192] 如方程式2所展示,当确定水平活动时,可比较当前像素(x,y)与左边相邻者(x-1,y)及右边相邻者(x+1,y)。如方程式3所展示,当确定垂直活动时,可比较当前像素与上部相邻像素(x,y+1)及下部相邻像素(x,y-1)。
[0193] 方程式4及5通过比较当前像素(x,y)的像素值(Rec)与相邻像素的像素值展示针对当前像素可计算对角线活动的方式的实例。
[0194] 45deg_act(x,y)=R(2*Rec[x][y]-Rec[x+1][y+1]-Rec[x-1][y-1])     (4)[0195] 135deg_act(x,y)=R(2*Rec[x][y]-Rec[x-1][y+1]-Rec[x+1][y-1])      (5)[0196] 如方程式4所展示,可通过比较当前像素(x,y)与右上方相邻像素(x+1,y+1)及左下方相邻像素(x-1,y-1)来计算(例如)45度方向上的对角线活动。如方程式5所展示,也可通过比较当前像素(x,y)与左上方相邻像素(x-1,y+1)及右下方相邻像素(x+1,y-1)来计算135度方向上的对角线活动。
[0197] 以上方程式2-5说明可在逐像素基础上确定水平活动、垂直活动及对角线活动的方式,但在一些实施方案中,可在逐群组基础上来确定水平活动、垂直活动及对角线活动,其中像素的群组为像素的2×2、4×4或M×N块。在此实施方案中,可(例如)以类似于方程式2的方式通过比较当前群组的像素值与左边群组及右边群组的像素值来确定水平活动;且可以用类似于方程式3的方式通过比较当前群组与上部群组及下部群组来确定垂直活动。
同样,可以用类似于方程式4的方式通过比较像素的当前群组与右上方相邻群组及左下方相邻群组来确定45度对角线活动,且可以用类似于方程式5的方式通过比较像素的当前群组与左上方相邻群组及右下方相邻群组来确定135度对角线活动。
[0198] 在一些实施方案中,可通过在仅一个方向上比较当前像素或像素的群组与相邻像素或像素的群组来确定水平活动、垂直活动、45度对角线活动及135度对角线活动。举例来说,替代基于比较当前像素与左边相邻像素及右边相邻像素来确定水平活动,可基于仅左边相邻像素或仅右边相邻像素来确定水平活动。另外,在一些实施方案中,可使用相邻像素的面积的平均值或加权平均值(而非单一相邻像素或像素的单一群组)来确定水平活动、垂直活动、45度对角线活动及135度对角线活动。
[0199] 由方程式2-5产生的值可划分成有限数目个范围(例如,2、4、8或任何其它有限数目),且每一范围可被指派一范围标识。返回参看图4A,例如,范围1-1、范围1-2、范围2-1等全部为范围标识的实例。作为一个实例,水平活动值可划分成四个范围且所述范围可被指派ID范围1-1、范围1-2、范围1-3及范围1-4。水平阈值(即,ThH1、……、ThHP-1)可确定范围在何处开始及结束。下表2展示可将水平ID指派给P个范围的方式的通用情况。
[0200]Hor_act_B的条件 水平ID
Hor_act_BThH1≤Hor_act_B… …
ThHP-1≤Hor_act_B 范围2-P
[0201] 表2:活动度量的索引
[0202] 使用表2的实例,如果当前像素具有大于ThH1但小于ThH2的水平活动值,则当前像素在度量2的范围2-2中。当前像素可被指派给具有垂直ID的垂直范围、具有45度对角线ID的45度对角线范围及具有135度对角线ID的135度对角线范围,其方式类似于如上文在表2中所描述的用于水平范围及水平ID的方式。
[0203] 根据本发明中所描述的多度量滤波器滤波技术,可使用水平活动、垂直活动、45度对角线活动及135度对角线活动中的任一者作为度量。举例来说,再次返回参看图4A,度量1可为垂直活动的测量值,且度量2可为水平活动的测量值。在此实例中,滤波器单元(例如,图4A的滤波器单元349或图5的滤波器559)可基于像素或像素的群组的水平活动及像素或像素的群组的垂直活动确定用于像素或像素的群组的滤波器。如果举例来说,当前像素具有落在范围2-3中的水平活动度量及落在范围1-3中的垂直活动度量,则滤波器单元使用滤波器4对像素进行滤波。以类似方式,45度对角线活动与135度对角线活动、45度对角线活动与水平活动、45度对角线活动与垂直活动、135度对角线活动与水平活动或135度对角线活动与垂直活动的组合也可由滤波器单元用于选择用于像素或像素的群组的滤波器。在一些实施方案中,水平活动、垂直活动、45度对角线活动及135度对角线活动中的三个或全部四个活动可由滤波器单元用于选择像素或像素的群组的滤波器。
[0204] 在上文所描述的实施方案中,水平活动、垂直活动、45度对角线活动及135度对角线活动全部可用作度量,例如作为图4A中的度量1及/或度量2。然而,在一些实施方案中,水平活动、垂直活动、45度对角线活动及135度对角线活动可能本身不是度量,而实情为可用作用于确定总方向度量的中间确定。方向度量通常描述像素在哪个方向上(例如,无方向、水平、垂直、45度对角线或135度对角线)变化最多。
[0205] 在一个实例中,仅使用水平活动及垂直活动(如方程式2及3中所描述),可基于以下条件确定像素的方向:
[0206] 方向1=水平,如果Hor_activity>k1*Ver_activity
[0207] 方向2=垂直,如果Ver_activity>k2*Hor_activity
[0208] 方向0=无方向,其它情况。
[0209] 可选择常数k1及k2,以使得如果水平活动实质上大于垂直活动或垂直活动实质上大于水平活动,则将方向仅视为方向1或方向2。如果水平活动与垂直活动相等或近似相等,则方向为方向0。方向1通常指示像素值在水平方向上比在垂直方向上变化得多,且方向2指示像素值在垂直方向上比在水平方向上变化得多。方向0指示像素值在水平方向上的变化近似等于像素值在垂直方向上的变化。
[0210] 可使用经确定的方向度量(例如,方向0、方向1、方向2)作为本发明中所描述的多度量滤波技术中的度量。再次使用图4A的实例,度量1可为方差度量(例如,改进拉普拉斯能量和的值),而度量2可为如上所述的方向确定。如参看图4A所描述,方向1、方向2及方向0中的每一者可与度量2的一范围相关联,即使方向1、方向2及方向0表示有限确定而非值的谱。
[0211] 除了如上所述仅使用水平活动及垂直活动之外,本发明的技术还包括基于以下条件使用45度对角线活动及135度对角线活动(如方程式4及5中所描述)以确定方向:
[0212] 方向=1,如果45deg_activity>k1*135deg_acctivity
[0213] 方向=2,如果135deg_activity>k2*45deg_activity
[0214] 方向=0,其它情况。
[0215] 可使用基于45度对角线活动及135度对角线活动的方向确定作为关于另一度量(例如,如上所述,改进拉普拉斯能量和的值)的度量。
[0216] 另外,也可基于以下条件确定方向度量:
[0217] 方向=1,如果45deg_activity>k1*135deg_acctivity、k2*Hor_activity及k3*Ver_activity
[0218] 方向=2,如果135deg_activity>>k4*45deg_acctivity、k5*Hor_activity及k6*Ver_activity
[0219] 方向=3,如果Hor_activity>k7*Ver_activity、k8*135deg_activity及k9*45deg_acctivity
[0220] 方向=4,如果Ver_activity>k10*Hor_activity、k11*135deg_activity及k12*45deg_acctivity
[0221] 方向=0,其它情况。
[0222] 如上所述,为了选择一特定方向,k1到k12为经选择以确定水平活动、垂直活动、45度对角线活动及135度对角线活动中的一者需要比其它活动大的程度的常数。可使用基于水平活动、垂直活动、45度对角线活动及135度对角线活动的方向确定作为关于另一度量(例如,如上所述,改进拉普拉斯能量和的值)的度量。
[0223] 可供本发明的技术使用的另一度量包括边缘度量。边缘度量通常量化可指示像素的块中的边缘的存在的活动。如果像素的块含有图像内的对象的边界,则边缘可出现在(例如)像素的所述块中。边缘检测的一个实例包括使用当前像素的四个相邻像素(例如,左边相邻像素、右边相邻像素、顶部相邻像素、底部相邻像素)或使用当前像素的八个相邻像素(左边相邻像素、右边相邻像素、顶部相邻像素、底部相邻像素、右上方相邻像素、左上方相邻像素、右下方相邻像素、左下方相邻像素)。另外,边缘类型检测可包括使用两个相邻像素(例如,顶部像素与底部像素,左边像素与右边像素,左上方像素与右下方像素,或右上方像素与左下方像素)。
[0224] 下面的伪码展示可针对当前像素(x,y)通过比较当前像素的像素值(Rec)(例如,强度)与那些相邻像素(即,4/8个像素)的像素值来计算边缘信息的方式的实例。
[0225] 使EdgeType变量在开始时为0。每当语句为真时,EdgeType变数即递增1(如伪码中通过EdgeType++所展示)或递减1(如伪码中通过EdgeType--所展示)。Rec[x][y]指代位于(x,y)处的像素的像素值,例如,像素强度。“if”语句的第一分组用于比较当前像素与顶部、底部、左边及右边相邻像素。“if”语句的第二分组用于比较当前像素与左上方、右上方、左下方及右下方相邻像素。本发明的技术可使用一个群组或两个群组来实施。
[0226] EdgeType=0;
[0227] if(Rec[x][y]>Rec[x-1][y])EdgeType++;
[0228] if(Rec[x][y]
[0229] if(Rec[x][y]>Rec[x+1][y])EdgeType++;
[0230] if(Rec[x][y]
[0231] if(Rec[x][y]>Rec[x][y-1])EdgeType++;
[0232] if(Rec[x][y]
[0233] if(Rec[x][y]>Rec[x][y+1])EdgeType++;
[0234] if(Rec[x][y]
[0235] if(Rec[x][y]>Rec[x-1][y-1])EdgeType++;
[0236] if(Rec[x][y]
[0237] if(Rec[x][y]>Rec[x+1][y-1])EdgeType++;
[0238] if(Rec[x][y]
[0239] if(Rec[x][y]>Rec[x-1][y+1])EdgeType++;
[0240] if(Rec[x][y]
[0241] if(Rec[x][y]>Rec[x+1][y+1])EdgeType++;
[0242] if(Rec[x][y]
[0243] 如果当前像素为区域最大像素,则像素的像素值将大于其所有相邻像素且将具有边缘类型4(如果使用四个相邻像素)或边缘类型8(如果使用八个相邻像素)。如果当前像素为区域最小像素,则像素的像素值将小于其所有相邻像素且将具有边缘类型-4(如果使用四个相邻像素)或边缘类型-8(如果使用八个相邻像素)。因此,可在确定滤波器时使用上文所描述的用于确定在-4与4之间或-8与8之间的边缘类型的实例技术。可将针对边缘类型(即,值-4到4或值-8到8)确定的值映射到度量(例如,图4A的度量1或度量2)的范围。在一些实施方案中,可将边缘类型确定的绝对值映射到范围,以使得(例如)边缘类型-3及3将映射到同一滤波器。
[0244] 本发明中所描述的各种度量的计算仅期望为实例且并不详尽。举例来说,可使用包括比本发明中所描述的相邻像素多的相邻像素的像素窗或行来确定度量。
[0245] 另外,在一些实施方案中,可使用特定行或窗中的像素的子取样来计算本发明中所描述的度量。举例来说,为了计算像素的4×4块的块活动度量,用于活动及方向的度量可计算如下:
[0246] ●方向度量
[0247] ●Ver_act(i,j)=abs(X(i,j)<<1-X(i,j-1)-X(i,j+1))
[0248] ●Hor_act(i,j)=abs(X(i,j)<<1-X(i-1,j)-X(i+1,j))
[0249] ●HB=∑i=0,2∑j=0,2Hor_act(i,j)
[0250] ●VB=∑i=0,2∑j=0,2Vert_act(i,j)
[0251] ●方向=0,1(HB>k1*VB),2(VB>k2*HB)
[0252] ●活动度量
[0253] ●LB=HB+VB
[0254] ●5个类别(0、1、2、3、4)
[0255] ●度量
[0256] ●活动及方向的组合(例如,如上文在图4B的实例中所解释的15或16个组合)[0257] Hor_act(i,j)通常指代当前像素(i,j)的水平活动,且Vert_act(i,j)通常指代当前像素(i,j)的垂直活动。X(i,j)通常指代像素(i,j)的像素值。HB指代4×4块的水平活动,在此实例中,水平活动是基于像素(0,0)、(0,2)、(2,0)及(2,2)的水平活动的总和确定。VB指代4×4块的垂直活动,在此实例中,垂直活动是基于像素(0,0)、(0,2)、(2,0)及(2,2)的垂直活动的总和确定。“<<1”表示两个运算的相乘。如上文所解释,基于HB及VB的值,可确定方向。使用上文的实例,如果HB的值为VB的值的k倍以上,则方向可经确定为方向1(即,水平的),其可对应于比垂直活动多的水平活动。如果VB的值为HB的值的k倍以上,则方向可经确定为方向2(即,垂直的),其可对应于比水平活动多的垂直活动。否则,方向可经确定为方向0(即,无方向),这意味着水平活动或垂直活动均不显著。用于各种方向的标签及用以确定方向的比率仅构成一个实例,因为也可使用其它标签及比率。
[0258] 4×4块的活动(LB)可经确定为水平活动与垂直活动的总和。如上所述,LB的值也可分类成范围。此特定实例展示五个范围,但可类似地使用更多或更少范围。基于活动与方向的组合,可选择用于像素的4×4块的滤波器。如上所述,可基于活动及方向到滤波器的二维映射来选择滤波器,如参看图4A及4B所描述,或活动及方向可组合成单一度量,且所述单一度量可用以选择滤波器。
[0259] 图6A表示像素的4×4块。使用上文所描述的子取样技术,仅使用十六个像素中的四个像素。所述四个像素为标记为像素601的像素(0,0)、标记为像素602的像素(2,0)、标记为像素603的像素(0,2)及标记为像素604的像素(2,2)。举例来说,像素601的水平活动(即,hor_act(0,0))是基于左边相邻像素及右边相邻像素确定。右边相邻像素标记为像素605。左边相邻像素位于不同于所述4×4块的块中且图6A中未展示。举例来说,像素602的垂直活动(即,ver_act(2,0))是基于上部相邻像素及下部相邻像素确定。下部相邻像素标记为像素606,且上部相邻像素位于不同于所述4×4块的块中且图6A中未展示。
[0260] 通常使用上文中所描述的相同技术,块活动度量也可使用像素的不同子集计算如下:
[0261] ●方向度量
[0262] ●Ver_act(i,j)=abs(X(i,j)<<1-X(i,j-1)-X(i,j+1))
[0263] ●Hor_act(i,j)=abs(X(i,j)<<1-X(i-1,j)-X(i+1,j))
[0264] ●HB=∑i=1,2∑j=1,2H(i,j)
[0265] ●VB=∑i=1,2∑j=1,2V(i,j)
[0266] ●方向=0,1(H>k1*V),2(V>k2*H)
[0267] ●活动度量
[0268] ●LB=HB+VB
[0269] ●5个类别(0、1、2、3、4)
[0270] ●度量
[0271] ●活动及方向的组合(例如,如上文在图4B的实例中所解释的15或16个组合)[0272] 用于计算HB及VB的像素的此不同子集包括像素(1,1)、(2,1)、(1,2)及(2,2),所述像素在图6B上分别展示为像素611、612、613及614。如通过图6B可见,像素611、612、613及614的上部相邻像素、下部相邻像素、右边相邻像素及左边相邻像素全部位于所述4×4块内。在图6B的实例中,与位于块边界上相反,像素611、612、613及614全部位于所述块的内部。图6A中的像素601、602、603及605及图6C中的像素621、624、625及628为位于块边界上的像素的实例。在其它实施方案中,可选择像素的额外不同子集。举例来说,可选择子集以使得子集的像素的上部相邻像素及下部相邻像素在4×4块内,但一些左边相邻像素及右边相邻像素在相邻块中。也可选择子集以使得子集的像素的左边相邻像素及右边相邻像素在4×4块内,但一些上部相邻像素及下部相邻像素在相邻块中。
[0273] 通常使用上文中所描述的相同技术,块活动度量也可使用八个像素的子集计算如下:
[0274] ●方向度量
[0275] ●Ver_act(i,j)=abs(X(i,j)<<1-X(i,j-1)-X(i,j+1))
[0276] ●Hor_act(i,j)=abs(X(i,j)<<1-X(i-1,j)-X(i+1,j))
[0277] ●HB=∑i=0,1,2,3∑j=1,2H(i,j)
[0278] ●VB=∑i=0,1,2,3∑j=1,2V(i,j)
[0279] ●方向=0,1(H>k1*V),2(V>k2*H)
[0280] ●活动度量
[0281] ●LB=HB+VB
[0282] ●5个类别(0、1、2、3、4)
[0283] ●度量
[0284] ●活动及方向的组合(例如,如上文在图4B的实例中所解释的15或16个组合)[0285] 用于计算HB及VB的八个像素的此不同子集包括像素(0,1)、(1,1)、(2,1)、(3,1)、(0,2)、(1,2)、(2,2)及(3,2),所述像素在图6C上分别展示为像素621、622、623及624、625、626、627及628。如通过图6C可见,像素621、622、623及624、625、626、627及628的上部相邻像素及下部相邻像素全部位于4×4块内,但像素621及625各自具有左边相邻块中的左边相邻像素且像素624及628各自具有右边相邻块中的右边相邻像素。像素的此特定选择可通过避免对用于存储上部及/或下部相邻块的像素值的行缓冲器的需要来减小编码器及/或解码器复杂性。归因于从左到右、从上到下的光栅扫描次序,用于上部及下部相邻块的像素值的行缓冲器常常需要存储整个上部或下部行的像素值,在1080P视频的情况下,整个上部或下部行可为(例如)1920个像素。然而,用于左边及右边相邻块的行缓冲器常常仅需要存储一个LCU或两个LCU的像素值,一个LCU或两个LCU可仅为(例如)64或128个像素。因此,用于上部及下部相邻块的像素值的行缓冲器可能需要显著大于用于左边及右边相邻块的像素值的行缓冲器。图6C中所展示的像素的选择可能能够避免使用用于上部及下部相邻块的像素值的行缓冲器,从而降低译码复杂性。
[0286] 图6A到6C的实例仅是所介绍的本发明的技术。预期这些技术可扩展到除仅4×4外的块且可选择像素的不同子集。
[0287] 当计算块活动度量时,替代原始像素,可使用经量化像素(即,X(i,j)>>N)来降低例如加法运算的运算的复杂性。另外,计算可为基于绝对差的而非基于拉普拉斯的。举例来说,当计算Hor_act(i,j)或Ver_act(i,j)时,如下所示,可使用绝对差来替代拉普拉斯值:
[0288] ■方向度量
[0289] ■Ver_act(i,j)=abs(X(i,j)-X(i,j-1))
[0290] ■Hor_act(i,j)=abs(X(i,j)-X(i-1,j))
[0291] ■HB=∑i=0,1,2∑j=0,1,2H(i,j)
[0292] ■VB=∑i=0,1,2∑j=0,1,2V(i,j)
[0293] ■方向=0,1(H>2V),2(V>2H)
[0294] ■活动度量
[0295] ■LB=HB+VB
[0296] ■5个类别(0、1、2、3、4)
[0297] ■度量
[0298] ■活动+方向(例如,如上文在图4B的实例中所解释的15或16个组合)
[0299] 本发明已参考特定度量的有限群组描述子取样技术。然而,预期这些子取样技术大体上可适用于可用于确定滤波器的目的的其它度量,例如本发明中所论述的其它度量。另外,虽然本发明的子取样技术已参考像素的4×4块加以描述,但所述技术也可适用于其它大小的块。
[0300] 图7为说明符合本发明的视频译码技术的流程图。图7中所描述的技术可由视频编码器或视频解码器的滤波器单元(例如,视频编码器350的滤波器单元349或视频解码器560的滤波器单元559)来执行。滤波器单元确定像素的一块内的像素的群组的第一度量(710)。所述第一度量可为(例如)活动度量,例如改进拉普拉斯能量和的值,或所述第一度量可为方向度量。所述第一度量可(例如)基于所述块中的像素的集合或基于所述块中的像素的子集与所述块中的其它像素的比较来确定。滤波器单元进一步确定所述块的第二度量(720)。
所述第二度量可(例如)为基于比较水平活动的测量值与垂直活动的测量值确定的方向度量。基于所述第一度量及所述第二度量,滤波器单元确定滤波器(730)。滤波器单元通过将所述滤波器应用于所述块而产生经滤波图像(740)。如上文所论述,在一些实施方案中,所述块可为像素的2×2、4×4或M×N块,其用于确定所述第一度量或所述第二度量。在一些实施方案中,所述第一度量可为水平活动度量,而所述第二度量为垂直活动度量,或所述第一度量可为边缘度量,而所述第二度量为方向度量。
[0301] 图8A为说明符合本发明的视频译码技术的流程图。图8A中所描述的技术可由视频解码器的滤波器单元(例如,视频解码器560的滤波器单元559)执行。滤波器单元559将第一范围组合映射到第一滤波器(810A)。所述第一范围组合为第一度量的值的第一范围与第二度量的值的第一范围的组合。所述第一度量可为(例如)改进拉普拉斯能量和的值且所述第二度量可为方向度量,但也可使用其它度量。滤波器单元559将第二范围组合映射到第二滤波器(820A)。所述第二范围组合为所述第一度量的值的第二范围与所述第二度量的值的第二范围的组合。滤波器单元559接着基于接收的码字将当前范围组合映射到滤波器。所述当前范围组合包括所述第一度量的值的所述第一范围及所述第二度量的值的所述第二范围。如果所述码字为第一码字(830A,是),则滤波器单元559将当前范围组合映射到所述第一滤波器(840A)。所述第一码字指示当前范围组合映射到与所述第一范围组合相同的滤波器。
如果所述码字为第二码字(850A,是),则滤波器单元559将当前范围组合映射到所述第二滤波器(860A)。所述第二码字指示当前范围组合映射到与所述第二组合相同的滤波器。如果所述码字既非第一码字也非第二码字(850A,否),则滤波器单元559将当前范围组合映射到第三滤波器(870A)。如果响应于接收第三码字,其中所述第三码字识别所述第三滤波器。在图8A的实例中,所述第一码字及所述第二码字可各自包括比所述第三码字少的位。
[0302] 图8B为说明符合本发明的视频译码技术的流程图。图8B中所描述的技术可由视频解码器的滤波器单元(例如,视频解码器560的滤波器单元559)执行。滤波器单元559产生范围组合到滤波器的映射(810B)。举例来说,每一范围组合可包括第一度量的范围及第二度量的范围。响应于接收用信号发出当前范围组合映射到与先前范围组合相同的滤波器的第一码字(820B,是),滤波器单元559将当前范围组合映射到与所述先前范围组合相同的滤波器(830B)。响应于接收用信号发出当前范围组合映射到与所述先前范围组合不同的滤波器(820B,否)的第二码字,滤波器单元559将当前范围组合映射到新滤波器(840B)。如上所述,可基于已知发射次序来确定当前范围组合。在一些实例中,可基于所述第二码字来识别所述新滤波器,而在其它实例中,可基于用信号发出滤波器系数的次序来确定所述新滤波器。
[0303] 图9A为说明符合本发明的视频译码技术的流程图。图9A中所描述的技术可由视频编码器的滤波器单元(例如,视频编码器350的滤波器单元349)执行。滤波器单元349确定范围组合到滤波器的映射(910A)。每一范围组合包括第一度量的值的范围及第二度量的值的范围。对于当前范围组合,如果当前范围组合映射到与包含所述第一度量的值的相同范围的先前范围组合相同的滤波器(920A,是),则滤波器单元349产生第一码字(930A)。如果当前范围组合映射到与包含所述第二度量的值的相同范围的先前范围组合相同的滤波器(940A,是),则滤波器单元349产生第二码字(950A)。如果当前范围组合未映射到所述包含所述第一度量的值的相同范围的先前范围组合或所述包含所述第二度量的值的相同范围的先前范围组合(950A,否),则滤波器单元349产生第三码字(960A)。所述第三码字可识别映射到当前范围组合的滤波器。
[0304] 图9B为说明符合本发明的视频译码技术的流程图。图9B中所描述的技术可由视频编码器的滤波器单元(例如,视频编码器350的滤波器单元349)执行。滤波器单元349确定范围组合到滤波器的一映射(910B)。举例来说,每一范围组合可包括第一度量的范围及第二度量的范围。当正被译码的当前范围组合具有与先前经译码的范围组合相同的滤波器时(920B,是),滤波器单元349可产生第一码字以用信号发出当前范围组合映射到与先前范围组合相同的滤波器(930B)。当正被译码的当前范围组合不具有与先前经译码的范围组合相同的滤波器时(920B,否),滤波器单元349可产生第二码字(940B)。所述第二码字可识别映射到当前范围组合的滤波器。如上所述,可基于已知发射次序来确定当前范围组合。在图9B的实例中,所述第一码字可包括比所述第二码字少的位。
[0305] 在图8A及8B以及图9A及9B的实例中,术语“第一码字”、“第二码字”及“第三码字”用以区分不同码字且不意图暗示码字的顺序定序。
[0306] 图10为说明符合本发明的视频译码技术的流程图。图10中所描述的技术可由视频编码器的滤波器单元(例如,视频编码器350的滤波器单元349)或视频解码器的滤波器单元(例如,滤波器单元559)来执行。滤波器单元确定范围组合到滤波器的映射(1010)。所述范围组合包括第一度量的范围及第二度量的范围。滤波器单元确定用于每一范围组合的唯一范围组合标识(ID)(1020)。所述唯一范围组合ID对应于顺序值。滤波器单元基于范围组合的第一群组中的至少一个范围组合的范围组合ID的顺序值将第一唯一群组ID指派给范围组合的所述第一群组(1030)。范围组合的群组包括映射到相同滤波器的范围组合,唯一群组ID对应于顺序值的集合。滤波器单元基于所述第一唯一滤波器ID的顺序值对对应于相同滤波器的滤波器系数的第一集合进行译码(1040)。在视频编码器的情况下,对滤波器系数的所述第一集合进行译码可包括(例如)使用差分译码技术在经编码位串流中用信号发出所述滤波器系数。在视频解码器的情况下,对滤波器系数的所述第一集合进行译码可包括基于在经编码位串流中接收的信息重新建构所述滤波器系数。
[0307] 图11为说明符合本发明的视频译码技术的流程图。图11中所描述的技术可由视频编码器的滤波器单元(例如,视频编码器350的滤波器单元349)或视频解码器的滤波器单元(例如,滤波器单元559)来执行。滤波器单元确定范围组合到滤波器的映射(1110)。所述范围组合可包括第一度量的范围及第二度量的范围。每一范围组合可具有唯一范围组合标识(ID),且每一唯一范围组合ID可对应于所述范围组合的顺序值。滤波器单元可将唯一群组ID指派给范围组合的每一群组(1120)。滤波器单元可(例如)基于所述范围组合的顺序值来指派所述唯一群组ID。范围组合的群组可包括映射到共同滤波器的范围组合,且唯一群组ID可对应于顺序值的集合。滤波器单元可基于唯一群组ID对滤波器的滤波器系数的集合进行译码(1140)。
[0308] 在图11的实例中,滤波器单元可通过(例如)以下操作来指派唯一群组ID:将对应于唯一群组ID的最低顺序值的唯一群组ID指派给范围组合的群组,所述范围组合群组包含具有对应于范围组合ID的最低顺序值的范围组合ID的范围组合。在另一实例中,滤波器单元可将对应于所述唯一群组ID的最高顺序值的唯一群组ID指派给范围组合的群组,所述范围组合群组包含具有对应于范围组合ID的最高顺序值的范围组合ID的范围组合。
[0309] 在滤波器单元为视频解码器的部分的例子中,滤波器单元可通过基于在经译码位串流中接收的信息产生滤波器系数的集合而对滤波器系数的集合进行译码。滤波器单元可(例如)使用差分译码技术产生滤波器系数的集合。在滤波器单元为视频编码器的部分的例子中,滤波器单元可通过以基于唯一群组ID的顺序值选择的次序在经译码位串流中用信号发出滤波器系数的集合来对滤波器系数的集合进行译码。滤波器单元可(例如)使用差分译码技术用信号发出滤波器系数的集合。
[0310] 前述揭示内容在某种程度上已简化以便传达细节。举例来说,本发明大体上描述正在每个帧或每个片段的基础上用信号发出的滤波器的集合,但滤波器的集合也可在每个序列的基础上、每个图片群组的基础上、每个片段群组的基础上、每个CU的基础上、每个LCU的基础上或其它类似者的基础上来用信号发出。一般来说,可针对一个或一个以上CU的任何分组用信号发出滤波器。另外,在实施方案中,可存在每个CU的每个输入的众多滤波器、每个滤波器的众多系数,及方差的众多不同层级,其中滤波器中的每一者是关于方差的一不同范围而定义。举例来说,在一些情况下,可存在针对CU的每一输入定义的十六个或十六个以上滤波器,及对应于每一滤波器的方差的十六个不同范围。另外,当本发明描述发射波滤器信息时,不应假设所有滤波器信息是在相同译码层级发射。举例来说,在一些实施方案中,例如滤波器描述语法的某一滤波器信息可在逐帧的基础上或逐片段的基础上来用信号发出,而例如滤波器系数的其它滤波器信息是在逐LCU的基础上来用信号发出。还可定义处于译码阶层的其它层级(例如,序列层级、GOP层级或其它层级)的语法以用于传送此滤波器信息的一些或全部。
[0311] 用于每一输入的滤波器中的每一者可包括许多系数。在一个实例中,滤波器包含具有针对在两个维度上延伸的滤波器支持界定的81个不同系数的二维滤波器。然而,在一些情况下,针对每一滤波器用信号发出的滤波器系数的数目可小于81。举例来说,可强加系数对称性以使得在一个维度或象限中的滤波器系数可对应于相对于其它维度或象限中的系数的反转值或对称值。系数对称性可允许81个不同系数由较少系数表示,在所述情况下,编码器及解码器可假设系数的反转值或镜像值定义其它系数。举例来说,系数(5、-2、10、10、-2、5)可经编码且作为系数的子集(5、-2、10)而用信号发出。在此情况下,解码器可获知这三个系数定义系数的更大对称集合(5、-2、10、10、-2、5)。
[0312] 可在广泛各种装置或设备中实施本发明的技术,所述各种装置或设备包括无线手持机及集成电路(IC)或一组IC(即,芯片组)。提供已描述的任何组件、模块或单元以强调功能性方面且未必要求通过不同硬件单元来实现。
[0313] 因此,可以用硬件、软件、固件或其任何组合来实施本文中所描述的技术。如果用硬件来实施,则描述为模块、单元或组件的任何特征可共同实施于集成式逻辑装置中或分开地实施为离散但可共同操作的逻辑装置。如果用软件来实施,则所述技术可至少部分地通过计算机可读媒体来实现,所述计算机可读媒体包含在处理器中执行时执行上述方法中的一者或一者以上的指令。所述计算机可读媒体可包含计算机可读存储媒体且可形成计算机程序产品的一部分,所述计算机程序产品可包括封装材料。所述计算机可读存储媒体可包含随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体,及其类似者。另外或替代地,所述技术可至少部分地通过计算机可读通信媒体来实现,所述计算机可读通信媒体载运或传达呈指令或数据结构的形式且可由计算机存取、读取及/或执行的代码。
[0314] 可由一个或一个以上处理器来执行代码,所述一个或一个以上处理器例如是一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,本文中所使用的术语“处理器”可指代上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置以用于编码及解码的专用软件模块或硬件模块内或并入于组合的视频编解码器中。又,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
[0315] 已描述本发明的各种方面。这些及其它方面在所附权利要求书的范围内。