用于内插视频译码的子像素的值的自适应支持转让专利
申请号 : CN201610134216.6
文献号 : CN105704492B
文献日 : 2019-09-27
发明人 : 拉胡尔·P·潘查尔 , 马尔塔·卡切维奇 , 陈培松
申请人 : 高通股份有限公司
摘要 :
权利要求 :
1.一种用于解码视频数据的方法,所述方法包括:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及将残余块应用于所述预测块以重构原始块。
2.根据权利要求1所述的方法,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
3.根据权利要求1所述的方法,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
4.根据权利要求1所述的方法,还包括:
基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
5.一种用于编码视频数据的方法,所述方法包含:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及从正编码的视频块中减去所述预测块以产生残余块。
6.根据权利要求5所述的方法,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
7.根据权利要求5所述的方法,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
8.根据权利要求5所述的方法,还包括:
基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持的所述集合。
9.一种用于解码视频数据的装置,所述装置包含:
存储器,经配置以存储所述视频数据;及
一个或多个处理器,其经配置以:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且其中作为产生所述预测块的一部分,所述一个或多个处理器根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及将残余块应用于所述预测块以重构原始块。
10.根据权利要求9所述的装置,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
11.根据权利要求9所述的装置,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
12.根据权利要求9所述的装置,其中所述一个或多个处理器经配置以:基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
13.一种用于编码视频数据的装置,所述装置包含:
存储器,经配置以存储所述视频数据;以及
一个或多个处理器,其经配置以:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且其中作为产生所述预测块的一部分,所述一个或多个处理器根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及从正编码的视频块中减去所述预测块以产生残余块。
14.根据权利要求13所述的装置,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
15.根据权利要求13所述的装置,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
16.根据权利要求13所述的装置,其中所述一个或多个处理器经配置以:基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
17.一种用于解码视频数据的设备,所述设备包含:
用于基于内插子整数像素值产生预测块的装置,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及用于将残余块应用于所述预测块以重构原始块的装置。
18.根据权利要求17所述的设备,其中,针对与所述全整数像素有关的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
19.根据权利要求17所述的设备,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
20.根据权利要求17所述的设备,其进一步包含:
用于基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合的装置。
21.一种用于编码视频数据的设备,所述设备包含:
用于基于内插子整数像素值产生预测块的装置,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及用于从正编码的视频块中减去所述预测块以产生残余块的装置。
22.根据权利要求21所述的设备,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状置。
23.根据权利要求21所述的设备,其中与所述全整数像素相关的所述子整数像素位置中的每一者使用不同的内插滤波器。
24.根据权利要求21所述的设备,还包括:
用于基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合的装置。
25.一种其上存储有指令的非瞬时性计算机可读存储媒体,所述指令经执行以致使视频解码装置的处理器:基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及将残余块应用于所述预测块以重构原始块。
26.根据权利要求25所述的非瞬时性计算机可读存储媒体,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
27.根据权利要求25所述的非瞬时性计算机可读存储媒体,其中与所述全整数像素相关联所述子整数像素位置中的每一者使用不同的内插滤波器。
28.根据权利要求27所述的非瞬时性计算机可读存储媒体,其中所述指令进一步致使所述处理器:基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
29.一种其上存储有指令的非瞬时性计算机可读存储媒体,所述指令经执行以致使视频编码装置的处理器:基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及从正编码的视频块中减去所述预测块以产生残余块。
30.根据权利要求29所述的非瞬时性计算机可读存储媒体,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
31.根据权利要求29所述的非瞬时性计算机可读存储媒体,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
32.根据权利要求31所述的非瞬时性计算机可读存储媒体,其中所述指令进一步致使所述处理器:基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
说明书 :
用于内插视频译码的子像素的值的自适应支持
申请案。
技术领域
背景技术
算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台等。数字视频装置实施例如
MPEG-2、MPEG-4或H.264/MPEG-4第10部分高级视频译码(AVC)等视频压缩技术以更有效地
发射和接收数字视频。视频压缩技术执行空间和时间预测以减少或移除视频序列中固有的
冗余。
发明内容
性,且在一些情况下,可增加译码增益。本发明存在若干方面,包含基于将内插滤波器应用
于全像素位置的各种组合来内插子像素位置的值的技术。内插滤波器所应用于的值通常被
称作“支持”。这些技术还包含基于例如先前经编码的帧或当前编码的帧等因素选择用于子
像素位置的内插滤波器所应用于的支持。
算所述全整数像素位置中的一者的第一子整数像素的值。另外,所述方法还包含将所述内
插滤波器应用于所述全整数像素位置的所述值的第二不同集合,以计算所述全整数像素位
置中的所述一者的第二不同子整数像素的值。所述方法还包括使用指向所述第一子整数像
素和所述第二子整数像素中的一者的运动向量来编码像素块。
位置的所述值的第一集合,以计算所述全整数像素位置中的一者的第一子整数像素的值。
类似地,所述视频译码器经配置以将所述内插滤波器应用于所述全整数像素位置的所述值
的第二不同集合,以计算所述全整数像素位置中的所述一者的第二不同子整数像素的值。
所述视频译码器经进一步配置以使用指向所述第一子整数像素和所述第二子整数像素中
的一者的运动向量来编码像素块。
的值,且将内插滤波器应用于所述全整数像素位置的所述值的第一集合,以计算所述全整
数像素位置中的一者的第一子整数像素的值。所述指令还使所述装置将所述内插滤波器应
用于所述全整数像素位置的所述值的第二不同集合,以计算所述全整数像素位置中的所述
一者的第二不同子整数像素的值。所述指令进一步使所述装置使用指向所述第一子整数像
素和所述第二子整数像素中的一者的运动向量来编码像素块。
的第一集合以计算所述全整数像素位置中的一者的第一子整数像素的值的装置。而且,所
述装置包括用于将所述内插滤波器应用于所述全整数像素位置的所述值的第二不同集合
以计算所述全整数像素位置中的所述一者的第二不同子整数像素的值的装置及用于使用
指向所述第一子整数像素和所述第二子整数像素中的一者的运动向量来编码像素块的装
置。
数像素位置的集合的指示。另外,所述方法还包含将内插滤波器应用于所述全整数像素位
置的所述集合以计算所述参考样本的所述子整数像素的所述值。所述方法进一步包括相对
于所述子整数像素的所述计算出的值解码像素块。
像素的值的所述参考样本的所述全整数像素位置的集合的指示。类似地,所述视频解码器
经配置以将内插滤波器应用于所述全整数像素位置的所述集合以计算所述参考样本的所
述子整数像素的所述值。所述视频解码器经进一步配置以相对于所述子整数像素的所述计
算出的值解码像素块。
样本,且接收用以内插所述参考样本的子整数像素的值的所述参考样本的所述全整数像素
位置的集合的指示。所述指令还使所述装置将内插滤波器应用于所述全整数像素位置的所
述集合以计算所述参考样本的所述子整数像素的所述值。所述指令进一步使所述装置相对
于所述子整数像素的所述计算出的值解码像素块。
集合的指示的装置。所述装置进一步包括用于使用所述全整数像素位置的所述集合计算所
述参考样本的所述子整数像素的所述值的装置。所述装置进一步包含用于相对于所述子整
数像素的所述计算出的值解码像素块的装置。
集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)或其它等效集成或离
散逻辑电路。最初可将包括用以执行所述技术的指令的软件存储于计算机可读媒体中且由
处理器加载及执行。
制造商和/或用于装置中的计算机程序产品的部分。所述计算机程序产品可包含计算机可
读媒体,且在一些情况下,还可包含封装材料。
中所描述的技术的装置产生或由所述装置发射。在其它实例中,本发明可适用于可在实施
本文中所描述的技术的装置处接收的信号。
附图说明
具体实施方式
性,且在一些情况下,可增加译码增益。本发明可互换地使用术语“子像素”、“子整数像素”、
“分数像素”和“子像元”。本发明存在若干方面,包含用以基于任何数目个全像素位置的任
何组合来内插子像素位置的技术,以及用于基于经先前编码的帧或当前编码的帧来选择用
于子像素位置的内插滤波器的支持的技术。下文详细描述这些和其它技术。
或经编码视频块的另一定义单元。对于帧间译码,视频编码器执行运动估计和运动补偿来
估计两个或两个以上邻近的经译码单元的视频块之间的运动。使用运动估计的技术,视频
编码器产生运动向量,所述运动向量可指示视频块相对于一个或一个以上参考帧或其它经
译码单元中的对应预测视频块的位移。使用运动补偿的技术,视频编码器可使用运动向量
来从一个或一个以上参考帧或其它经译码单元产生预测视频块。在运动补偿之后,视频编
码器可通过从正被译码的原始视频块减去预测视频块来计算残余视频块。
变换、整数变换或其它类型的变换。作为实例,在DCT过程中,可将一组像素值转换为变换系
数,所述变换系数可表示频域中的像素值的能量。视频编码器还可量化变换系数,其通常可
涉及减少与对应变换系数相关联的位的数目的过程。熵译码可包含共同地压缩数据以用于
输出到位流的一个或一个以上过程,其中经压缩数据可包含(例如)译码模式的序列、运动
信息、译码块样式,和经量化的变换系数。熵译码的实例包含(但不限于)上下文自适应可变
长度译码(CAVLC)和上下文自适应二进制算术译码(CABAC)。
动向量。使用运动向量,解码器可能够重构用以对残余块译码的预测块。因此,在给定一组
残余块和一组运动向量(以及可能一些额外语法)的情况下,解码器可重构最初被编码的视
频帧。基于运动估计和运动补偿的帧间译码可实现相对高的压缩量而无过度数据损耗,这
是因为连续视频帧或其它类型的经译码单元经常为类似的。经编码视频序列可包括残余数
据块、运动向量(在被帧间预测编码时)、用于帧内预测的帧内预测模式的指示,以及可能其
它数据(例如,语法的类型)。
数像素,子整数像素的值可从参考视频帧或运动向量所指代的其它经译码单元的视频块的
全像素的值内插。视频编码器可使用内插技术来计算子整数像素位置的值,例如,通过将内
插滤波器应用于支持集合,例如全整数像素的值和/或其它子整数像素位置的先前经译码
的值。子整数像素位置在各种实例中可具有各种分辨度,例如二分之一像素、四分之一像
素、八分之一像素、十六分之一像素或其它分辨率。因此,视频编码器可在运动估计期间计
算具有子像素精度的运动向量。
发射到目的地装置16。源装置12和目的地装置16可包括各种各样的装置中的任一者。在一
些情况下,源装置12和目的地装置16中的任一者或两者可包括无线通信装置,例如无线手
持机、所谓的蜂窝式或卫星无线电电话,或可经由通信信道15(在此情况下,通信信道15为
无线的)传达视频信息的任何无线装置。然而,涉及在预测译码期间预测数据的滤波和产生
的本发明的技术不必限于无线应用或设置。所述技术还可用于各种各样的其它设置和装置
中,包含经由物理线、光纤或其它物理或无线媒体通信的装置。另外,编码或解码技术还可
应用于不必与任何其它装置通信的独立装置中。
示装置30。根据本发明,源装置12的视频编码器22可经配置以应用本发明的技术中的一者
或一者以上以作为视频编码过程的一部分。类似地,目的地装置16的视频解码器28可经配
置以应用本发明的技术中的一者或一者以上以作为视频解码过程的一部分。
地装置16仅为这些译码装置的实例,其中源装置12产生用于发射到目的地装置16的经译码
的视频数据。在一些情况下,装置12、16可以大体上对称的方式操作,以使得装置12、16中的
每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视
频发射,例如用于视频串流传输、视频重放、视频广播或视频电话。
20可产生基于计算机图形的数据作为源视频,或直播视频、存档视频和/或计算机产生的视
频的组合。在一些情况下,如果视频源20为摄像机,那么源装置12和目的地装置16可形成所
谓的相机电话或视频电话,或经配置以操纵视频数据的其它移动装置(例如,平板计算装
置)。在每一情况下,可由视频编码器22来编码经俘获的、经预先俘获的或计算机产生的视
频。经编码的视频信息接着可由调制解调器23根据通信标准(例如,码分多址(CDMA)或另一
通信标准)来调制,且经由发射器24和通信信道15发射到目的地装置16。调制解调器23可包
含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设
计以用于发射数据的电路,包含放大器、滤波器及一个或一个以上天线。
器及一个或一个以上天线。在一些例子中,发射器24和/或接收器26可并入于包含接收和发
射电路两者的单一收发器组件内。调制解调器27可包含各种混频器、滤波器、放大器或经设
计以用于信号解调制的其它组件。在一些例子中,调制解调器23和27可包含用于执行调制
和解调制两者的组件。
28执行的视频解码过程也可在解码过程的运动补偿阶段期间执行此些技术。术语“译码器”
在本文中用以指执行视频编码或视频解码的专用计算机装置或设备。术语“译码器”通常指
任何视频编码器、视频解码器或组合式编码器/解码器(编解码器)。术语“译码”指编码或解
码。显示装置30向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如阴
极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一
类型的显示装置。
局域网、广域网或例如因特网等全球网络的基于包的网络的部分。通信信道15通常表示用
于将视频数据从源装置12发射到目的地装置16的任何合适的通信媒体或不同通信媒体的
集合。通信信道15可包含可用于促进从源装置12到目的地装置16的通信的路由器、交换器、
基站或任何其它设备。
特定视频译码标准。尽管图1中未展示,但在一些方面中,视频编码器22和视频解码器28可
各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单
元或其它硬件及软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如
果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等
其它协议。
或其任何组合。当本发明的技术中的任一者或全部用软件实施时,实施装置可进一步包含
用于存储和/或执行软件的指令的硬件,例如,用于存储指令的存储器和用于执行指令的一
个或一个以上处理单元。视频编码器22和视频解码器28中的每一者可包含在一个或一个以
上编码器或解码器中,视频编码器22和视频解码器28中的任一者可集成为组合式编解码器
的一部分,组合式编解码器在相应移动装置、订户装置、广播装置、服务器等中提供编码和
解码能力。
据指定的译码标准而大小不同。每一视频帧包含一系列切片。举例来说,在ITU-T H.264标
准中,每一切片可包含一系列宏块,其可布置成子块。H.264标准支持各种块大小的帧内预
测,例如用于亮度分量的16乘16、8乘8或4乘4和用于色度分量的8乘8,以及各种块大小的帧
间预测,例如用于亮度分量的16乘16、16乘8、8乘16、8乘8、8乘4、4乘8及4乘4和用于色度分
量的对应的按比例缩放的大小。视频块可包括像素数据块,或(例如)在变换过程(例如,离
散余弦变换(DCT)或概念上类似的变换过程)之后的变换系数块。
和/或子块。每一切片可为视频帧的可独立解码单元。或者,帧自身可为可解码单元,或可将
帧的其它部分定义为可解码单元。术语“经译码单元”指视频帧的任何可独立解码单元,例
如整个帧、帧的切片、视频数据块,或根据所使用的译码技术定义的另一可独立解码单元。
与预测块之间的逐像素差异。视频编码器22可对残余块执行变换以产生变换系数块。遵照
基于帧内或帧间的预测译码和变换技术,视频编码器22可量化变换系数。量化通常指代系
数经量化以可能减少用以表示所述系数的数据的量的过程。在量化之后,可根据例如上下
文自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC)等熵译码方法来
执行熵译码。下文参看图2描述由视频编码器22执行的编码过程的额外细节。
频译码装置优于根据(例如)ITU-T H.264/AVC的装置的若干能力。举例来说,H.264提供九
个帧内预测编码模式,而HM提供多达三十三个帧内预测编码模式。
的,不同之处在于CU不具有大小差别。因此,CU可分裂为若干子CU。一般来说,本发明中对CU
的参考可指图片的最大译码单元或LCU的子CU。LCU可分裂为若干子CU,且每一子CU可分裂
为若干子CU。用于位流的语法数据可定义LCU可被分裂的最大次数,称作CU深度。因此,位流
还可定义最小译码单元(SCU)。本发明还使用术语“块”来指CU、预测单元(PU)或变换单元
(TU)中的任一者。
个叶节点,所述叶节点中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节点
可提供用于对应CU的语法数据。举例来说,在四叉树中的节点可包含指示对应于节点的CU
是否分裂为若干子CU的分裂旗标。用于CU的语法元素可递归地定义,且可取决于CU是否分
裂为子CU。
式编码时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当对PU进行帧间模
式编码时,PU可包含定义用于PU的运动向量的数据。定义运动向量的数据可描述(例如)运
动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或
八分之一像素精度)、运动向量指向的参考帧和/或用于运动向量的参考列表(例如,列表0
或列表1)。CU的定义PU的数据还可描述(例如)将CU分割成一个或一个以上PU。在CU未经译
码、经帧内预测模式编码还是经帧间预测模式编码之间,分割模式可不同。
余值。TU不必限于PU的大小。因此,TU可大于或小于用于相同CU的对应PU。在一些实例中,TU
的最大大小可对应于对应CU的大小。
器可配置有多达三十三个帧内预测模式。因此,为了支持定向帧内预测模式与定向变换之
间的一对一映射,HM编码器和解码器将需要针对每一所支持的变换大小存储66个矩阵。此
外,支持所有三十三个帧内预测模式的块大小可为相对大的块,例如32×32像素、64×64像
素或甚至更大。
码器28应用反量化(解量化)和反变换功能以在像素域中重构残余块。视频解码器28还基于
经编码的视频数据中所包含的控制信息或语法信息(例如,译码模式、运动向量、定义滤波
系数的语法等)来产生预测块。视频解码器28可计算预测块与经重构的残余块的总和以产
生经重构的视频块以供显示。下文参看图10描述由视频解码器28执行的实例解码过程的额
外细节。
发明的技术可指代相对于一个维度的预测。就相对于一个维度中的像素值描述技术来说,
可将类似技术扩展到其它维度。
器28可获得像素块,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素
值。视频编码器22和/或视频解码器28可基于整数像素值来计算与像素块相关联的子像素
位置的值,其中计算子像素值包括将内插滤波器应用于滤波器支持的各种集合,其中滤波
器支持集合中的每一者对应于像素块中的一个或一个以上整数像素位置的集合。视频编码
器22和/或视频解码器28还可基于子像素值中的至少一些来产生预测块以对像素块编码或
解码。
相关联的数个(例如,十五个)不同子像素位置的滤波系数的多个集合,且将滤波系数的十
五个集合作为经编码位流的部分而输出到另一装置。以此方式,滤波系数的多个集合可定
义所有十五个二分之一像素和四分之一像素位置的所有滤波系数。在一些实例中,与全整
数像素位置相关联的每一二分之一像素和四分之一像素的滤波系数的集合可为唯一的。在
其它实例中,与全整数像素位置相关联的二分之一像元和四分之一像元的滤波系数集合中
的一些或全部可为相同的。
素位置的滤波系数的十五个集合。视频解码器28还可基于滤波系数的多个集合中的一者来
产生用于视频解码的子像元值,其中内插的预测数据对应于十五个不同子像素位置中的一
者,且基于内插的预测数据对一个或一个以上视频块解码。
置中的一者的第一子整数像素的值,将同一内插滤波器应用于多个全整数像素位置的值的
第二不同集合,以计算全整数像素位置中的一者的第二不同子整数像素的值,且使用指向
第一子整数像素和第二子整数像素中的一者的运动向量来对当前像素块编码。在一些实例
中,内插滤波器为第一内插滤波器,且视频编码器22可进一步将第二不同内插滤波器应用
于多个全整数像素位置的值的第三集合,以计算多个全整数像素位置中的一者的第三子整
数像素的值。在其它实例中,多个全整数像素位置的额外滤波器或值的集合用以计算子整
数像素位置的额外值。
可对应于索引或其它识别符。指示可在预测单元层级、译码单元层级、帧层级、切片层级或
序列层级中的一者中提供,其中每一层级与当前像素块有关。在一些实例中,指示可在序列
参数集(SPS)或图片参数集(PPS)中提供。视频编码器22可将指示作为经编码的位流的部分
输出到另一装置。在一些实例中,内插滤波器为ITU-T H.264内插滤波器、固定内插滤波器
(例如,选自内插滤波器的集合)或自适应内插滤波器。此外,视频编码器22可使用与上文描
述的技术类似的技术来提供用于全像素的子整数像素中的每一者的支持的指示。
可取决于另一滤波步骤的滤波器。举例来说,在双线性滤波中,可首先在水平方向上应用滤
波器以产生第一子像元位置的值。接着,可转置滤波器且在垂直方向上越过第一子像元位
置应用所述滤波器以产生第二子像元位置的值。
用于全整数像素位置的集合以计算参考样本的子整数像素的值,及相对于子整数像素的计
算出的值来对当前像素块解码。
或设备的一个实例。如图2所示,视频编码器22对应于装置20的视频编码器22。然而,在其它
实例中,视频编码器22可对应于不同装置。在其它实例中,其它单元(例如,其它编码器/解
码器(CODEC))也可执行与视频编码器22类似的技术。
冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧内的视频中的时间冗余。
帧内模式(I模式)可指代基于空间的压缩模式。帧间模式(例如,预测(P模式)或双向(B模
式))可指代基于时间的压缩模式。本发明的技术应用于帧间译码期间,且因此,为了说明的
简单性及简易性起见而在图2中未说明例如空间预测单元等帧内译码单元。
码单元46。为了视频块重构,视频编码器22还包含反量化单元42、反变换单元44和加法器
51。在一些实例中,还可包含解块滤波器以对块边界进行滤波以从经重构的视频移除成块
性假影。必要时,解块滤波器通常将对加法器51的输出进行滤波。在一个实例中,如图2所
示,根据HEVC,变换单元38可为功能块,而不是“TU”。
元35和MC单元37中的一者或两者调用以执行内插作为运动估计和/或运动补偿的部分。可
包含其它技术,其中基于相邻全像素的值和/或相邻子像素的先前计算出的值来计算子像
素的值。滤波器39可实际上表示用以促进如本文中描述的众多不同类型的内插及内插型滤
波的多个不同滤波器。因此,预测单元32可包含多个内插或内插类滤波器。在编码过程期
间,视频编码器22接收待译码的视频块(图2中标注为“视频块”),且预测单元32执行帧间预
测译码以产生预测块(图2中标注为“预测块”)。具体来说,ME单元35可执行运动估计以识别
存储器34中的预测块,且ME单元37可执行运动补偿以产生预测块。
前帧(或其它经译码单元)内待译码的块的位移。根据本发明的技术,运动向量可具有子整
数像素精度。举例来说,运动向量的水平分量和垂直分量两者可具有相应全整数分量和子
整数分量。参考帧(或帧的部分)可在时间上位于当前视频块所属于的视频帧(或视频帧的
部分)之前或之后。运动补偿通常被视为从存储器34获取或产生预测块的过程,其可包含基
于运动估计确定的运动向量来内插或以其它方式产生预测数据。
单元35可执行具有分数像素精度的运动估计,有时称作分数像素、分数像元、子整数或子像
素运动估计。因而,术语分数像素、分数像元、子整数和子像素运动估计可互换地使用。在分
数像素运动估计中,ME单元35可计算指示与除整数像素位置以外的位置的位移的运动向
量。因此,运动向量可具有分数像素精度,例如二分之一像素精度、四分之一像素精度、八分
之一像素精度或其它分数像素精度。以此方式,分数像素运动估计允许预测单元32估计具
有比整数像素(或全像素)位置高的精度的运动,且因此预测单元32可产生较准确的预测
块。分数像素运动估计可具有二分之一像素精度、四分之一像素精度、八分之一像素精度或
任何更精细子像素精度。ME单元35可调用滤波器39以用于在运动估计过程期间的任何必要
的内插。在一些实例中,存储器34可存储用于子整数像素的内差值,所述内差值可由(例如)
求和器51使用滤波器39来计算。举例来说,求和器51可应用滤波器39来重构待存储于存储
器34中的块。
此内插。预测单元32可使用本文中描述的技术执行内插(或整数像素的内插类滤波)。以此
方式,预测单元32可计算参考块的子整数像素位置的值,参考块可接着用以产生视频数据
的预测块。
预测块。在具有分数像素精度的运动向量的情况下,MC单元37可对来自存储器34的数据滤
波以将此数据内插到子像素分辨率,例如调用滤波器39以用于此过程。在一些情况下,可将
对应于用以将此数据内插到子像素分辨率的滤波系数的全整数像素位置作为一个或一个
以上内插语法元素向熵译码单元46指示以用于包含在经译码的位流中。类似地,也可将用
以产生子像素预测数据的内插滤波技术或模式作为一个或一个以上内插语法元素向熵译
码单元46指示以用于包含在经译码的位流中。
个或一个以上组件。变换单元38将变换(例如,离散余弦变换(DCT)或概念上类似的变换)应
用于残余块,从而产生包括残余变换块系数的视频块。举例来说,变换单元38可执行其它变
换,例如,通过H.264标准所定义的变换,其概念上类似于DCT。这些变换可包含(例如)定向
变换(例如,卡洛(Karhunen-Loeve)定理变换)、小波变换、整数变换、子频带变换或其它类
型的变换。在任何情况下,变换单元38将变换应用于残余块,从而产生残余变换系数块。变
换可将残余信息从像素域转换为频域。
来说,熵译码单元46可执行CAVLC、CABAC或另一熵译码方法。
一个或一个以上运动向量的数据(例如,水平和垂直分量、参考列表识别符、列表索引,和/
或运动向量分辨率信令信息)、用以产生子像素数据的内插技术的指示、滤波系数的集合或
子集、用作滤波器支持的全整数或子整数像素位置的集合,或与预测块的产生相关联的其
它信息。在由熵译码单元46进行的熵译码之后,经编码的视频和语法元素可发射到另一装
置或存档(例如,在存储器34中)以用于稍后发射或检索。
表示提供到变换单元38的残余块的经重构版本。经重构的残余块可不同于求和器48产生的
残余块,这归因于由量化和反量化操作引起的细节的遗漏。求和器51将经重构的残余块加
到由预测单元32产生的经运动补偿的预测块以产生用于存储于存储器34中的经重构的视
频块。经重构的视频块可由预测单元32用作参考块,其可用以随后对后续视频帧或后续经
译码单元中的块译码。
像素分辨率的数据(例如,子像素或分数像素值)。换句话说,内插运算可用以计算整数像素
位置之间的位置处的值。位于整数像素位置之间的距离一半处的子像素位置可称作二分之
一像素(二分之一像元)位置,位于整数像素位置与二分之一像素位置之间的距离一半处的
子像素位置可称作四分之一像素(四分之一像元)位置,位于整数像素位置(或二分之一像
素位置)与四分之一像素位置之间的距离一半处的子像素位置称作八分之一像素(八分之
一像元)位置,等等。
32可将滤波器39中的一者应用于支持的第一集合以计算全像素的第一子整数像素的值,且
将同一内插滤波器应用于支持的第二不同集合以计算相同全像素的第二子整数像素的值。
此外,支持的集合可具有各种形状,例如线性(水平、垂直、从左上向右下倾斜的对角线、从
右上向左下倾斜的对角线等)、在全像素处交叉的X形状、圆形(例如,绕着全像素的圆形中
的像素)、矩阵(例如,多行全像素中的两个或两个以上像素),或其它形状。
一集合,以计算多个全整数像素位置中的一者的第一子整数像素的值,将同一内插滤波器
应用于多个全整数像素位置的值的第二不同集合,以计算全整数像素位置中的一者的第二
不同子整数像素的值,使用指向第一子整数像素和第二子整数像素中的一者的运动向量来
对当前像素块编码。
的像素和子像素位置。带数字的大写字母(在实线框中)表示整数像素位置,而小写字母(在
点线框中)表示子像素位置。明确地说,像素位置A1-A6、B1-B6、C1-C6、D1-D6、E1-E6和F1-F6
表示帧、切片或其它经译码单元内的整数像素位置的6乘6阵列。子像素位置“a”到“o”表示
与整数像素C3相关联的(例如,整数像素位置C3、C4、D3与D4之间的)十五个子像素位置。对
于每一整数像素位置,类似的子像素位置可存在。子像素位置“a”到“o”表示与整数像素C3
相关联的二分之一像元和四分之一像元像素位置。如下文更详细地描述,同一内插滤波器
可用以计算子像素a到o中的两者或两者以上的值,例如,通过将同一内插滤波器应用于支
持的不同集合。
相关联。再次,每一整数像素位置可具有十五个子像素位置(或可能更多或更少)的相关联
的集合。与整数像素位置相关联的子像素位置的数目可取决于所要精度。在图3中说明的实
例中,所要精度为四分之一像素精度,在这种情况下,整数像素位置中的每一者与十五个不
同子像素位置有关。可基于所要精确度使更多或更少的子像素位置与每一整数像素位置相
关联。举例来说,对于二分之一像素精度,每一整数像素位置可对应于三个子像素位置。作
为另一实例,对于八分之一像素精度,整数像素位置中的每一者可对应于六十三个子像素
位置。每一像素位置可定义一个或一个以上像素值,例如,一个或一个以上亮度及色度值。
同分数位置中的一者或一者以上的像素位置以外)。子像素位置“b”、“h”和“j”可称作二分
之一像素位置,且子像素位置“a”、“c”、“d”、“e”、“f”、“g”、“i”、“k”、“l”、“m”、“n”和“o”可称作四分之一像素位置。
“o”的像素值。预测单元32可针对子像素位置中的每一者将内插滤波器应用于所有36个全
整数像素位置。在其它实例中,全整数像素位置的子集用作滤波器支持以内插子像素位置
的值。
ITU-T H.264标准一致,例如,预测单元32可使用6分接头内插滤波器(例如维纳滤波器)来
确定二分之一像素位置的像素值。在H.264标准的情况下,用于6分接头内插滤波器的滤波
系数通常为[1,-5,20,20,-5,1],但可使用其它系数。预测单元32可将内插滤波器应用于六
个全整数像素位置的任何集合。在一个实例中,对于二分之一像素位置“b”,6分接头滤波器
的分接头可对应于B3、B4、C3、C4、D3和D4。在其它实例中,二分之一像素位置“b”的6分接头
滤波器的分接头可为六个全整数像素位置的另一集合。同样,在一个实例中,对于二分之一
像素位置“h”,6分接头滤波器的分接头可对应于C2、C3、C4、D2、D3和D4。举例来说,子像素位
置“j”的像素值可使用等式(1)或(2)来计算:
系数。在一个实例中,用于子像素位置的滤波器支持中的最接近子像素位置的全整数像素
位置被给予滤波器的较高加权系数,而距子像素位置较远的全整数像素位置被给予较低权
重。在其它实例中,使用其它用于确定哪一全整数像素位置对应于哪些系数的方法。
不同子集来计算,但子像素位置可基于其它子像素位置而确定。举例来说,也与全像素位置
C3相关联的二分之一像素位置“j”可使用取决于子像素位置的双线性内插滤波器来计算。
对于二分之一像素位置“j”,6分接头滤波器的分接头自身对应于水平地内插于位置C1-C6
与D1-D6之间,或垂直地内插于位置A3-F3与A4-F4之间。可通过使用二分之一像素位置的先
前内插的像素值的6分接头滤波器计算二分之一像素位置“j”,例如,根据等式(3)或(4)中
的一者:
jj对应于F3与F4之间的内插。在等式4中,cc对应于C1与D1之间的内插,dd对应于C2与D2之
间的内插,h对应于C3与D3之间的内插,ee对应于C4与D4之间的内插,ff对应于C5与D5之间
的内插,且gg对应于C6与D6之间的内插。
等等。
经内插的值。ITU-T SG16/Q.6/VCEG(视频译码专家组)委员会已在探索提供比H.264高的译
码效率的译码技术,且明确地说AIF。AIF提供优于H.264标准中使用的内插滤波的大译码增
益,尤其在具有高分辨率(例如,720i/p或1080i/p)的视频序列方面。在AIF中,通过最小化
预测误差能量来针对每一视频帧用分析方式计算用于每一子像素位置的内插滤波器。这有
助于寻址混叠、量化和运动估计误差、相机噪声或原始和参考视频帧中含有的其它假影。可
接着预测、量化、译码且在视频位流中发送用于每一帧的用分析方式得出的自适应滤波系
数。本发明的技术中的一些可在AIF方案以及许多其它内插方案内起作用。
AIF)。尽管这些AIF方案中的每一者使用不同内插技术和支持,但所有三种AIF方案可使用
类似的分析过程来得出滤波系数,下文使用不可分AIF作为实例来对其进行解释。对于任何
给定子像素位置,这些AIF方案中的任一者可供不同全整数像素位置使用。
数据。子像素位置“a”、“b”、“c”、“d”、“h”和“l”在其位于两个整数像素位置之间的水平或垂直线中的意思上来说是1D。而且,假设参考帧中的整数像素位置(图3中的A1到F6)处的预测
像素取像素值Pi,j,其中i,j=0...5。也就是说,A1取值P0,0,……,A6取值P5,0,……,F1取值
P5,0,……,且F6取值P5,5。接着,子像素位置SP,SP∈{a,…,o}处的经内插的值pSP可通过预测
单元32使用以下等式来计算
6/2-1=2。对于每一子像素位置SP,当前帧中的实际像素值与经内插的值之间的预测误差
能量(eSP)2可由预测单元32针对具有对应于子像素位置SP的运动向量精度的所有像素而累
积。预测误差能量(eSP)2可由预测单元32使用以下等式计算:
波系数的数目。对于每一子像素位置,预测单元32可使用6乘6分接头1D内插滤波器(例如,
1D 6分接头滤波器)。在其它实例中,预测单元32可使用不同分接头内插滤波器(例如,1D
12分接头滤波器)。在1D 6分接头滤波器的情况下,六个等式的系统可由MC单元37求解。
像素位置SP的自适应滤波系数
佳运动预测。
器支持(例如用以内插子像素位置的至少一部分的整数像素位置)。在这些方案中的每一者
中,全整数像素位置的不同集合可用于不同子像素位置。
“c”、“d”、“h”和“l”,所述1D 6分接头内插滤波器需要六个系数。用以内插子像素的6位置滤波器的六个系数各自对应于图3中说明的整数像素位置中的一者。举例来说,对于子像素位
置“a”,对应于系数的六个整数像素位置可为C1、C2、C3、C4、C5和C6。在其它实例中,全整数
像素位置的任何六个成员的子集可用以计算子像素位置“a”的值。这些整数像素位置表示
内插滤波器的“滤波器支持”的实例。在一些实例中,滤波器支持可包含用于其它子整数像
素的先前计算的值。
像素位置,预测单元32(例如,预测单元32的MC单元37)取决于子像素位置而应用仅水平定
向滤波器、仅垂直定向滤波器、仅对角线滤波器(见图4和5)、仅组合式水平和垂直定向滤波
器(见图5)、仅矩形滤波器(见图7和8),或滤波器支持的任何其它组合。在一个实例中,对角
线滤波器包括6位置(或6分接头)滤波器。预测单元32针对子像素位置“e”、“j”和“o”与整数
像素位置A1、B2、C3、D4、E5和F6应用对角线滤波器(见图4)作为滤波器支持,且针对子像素
位置“d”、“h”和“l”与整数像素位置A3、B3、C3、D3、E3和F3应用垂直定向滤波器(见图6)作为滤波器支持。对于剩余子像素位置(即,2D子像素位置),预测单元32可应用对角线滤波,继
之以垂直滤波,或应用垂直滤波,继之以对角线滤波。再次,在针对自适应内插滤波的实例
中,用于可分对角线和垂直滤波器的滤波系数可根据上文的等式(7)计算。在其它实例中,
滤波器支持的任何子集和形状可用以计算子像素位置的值。
器支持的可变性。本发明在下文更详细地描述可用于内插的滤波器支持(例如,对角线支持
或具有放射状的十二像素滤波器支持)的集合的其它实例。另外,还描述了用于在内插滤波
器之间进行选择的技术、用于选择滤波器支持的技术以及用于预测地对滤波系数编码的技
术。
在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器使用对应于
与如图4中说明的子像素位置相关联的全整数像素位置成对角线的六个(或可能更多)整数
像素位置的集合的滤波器支持位置的对角线阵列。滤波器支持位置用阴影和大写字母来展
示,且子像素位置展示为具有点线和小写字母的框。MC单元37可针对仅视频块中的像素的
子集以此方式内插像素,且可基于内插子像素值来产生预测块。在其它实例中,MC单元37可
针对视频块的每一像素以此方式内插像素。
的六个或六个以上整数像素位置的集合。滤波器支持可包含在子像素位置周围的四个整数
位置中的两者C3和D4,以及沿着对角线穿过C3和D4的四个整数像素位置A1、B2、E5和F6。此
滤波可形成由视频编码器22(图2)进行的视频编码过程期间或由视频解码器28(图10)进行
的视频解码过程期间的运动补偿的部分。在视频编码过程期间,预测单元32可将系数值的
多个集合作为预测语法元素的部分转发到熵译码单元46。
和D3,以及沿着对角线穿过C4和D3的四个整数像素位置A6、B5、E2和F1。在一些实例中,使用
对角线滤波器支持确定仅子像素位置“a”到“o”的子集。在其它实例中,使用对角线滤波器
支持确定子像素位置“a”到“o”的全部。
置而定义的系数值的多个集合中的每一者可定义六个或六个以上整数像素位置的不同权
重。熵译码单元46还可对滤波器支持的集合编码且将滤波器支持的集合输出作为经编码的
位流的部分,经编码的位流接着可发射到另一装置。子整数像素位置的不同集合可具有滤
波器支持的不同集合。此外,滤波器支持的不同集合可应用于相同或不同内插滤波器。
在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器定义对应于
与如图5中说明的子像素位置周围的四个全整数像素位置成对角线的十二个(或可能更多)
整数像素位置的集合的滤波器支持位置的x形状阵列。滤波器支持位置用阴影和大写字母
来展示,且子像素位置展示为具有点线和小写字母的框。MC单元37可针对仅视频块中的像
素的子集以此方式内插像素,且可基于内插子像素值来产生预测块。在其它实例中,MC单元
37可针对视频块的每一像素以此方式内插像素。
过子像素位置的十二个或十二个以上整数像素位置的集合。滤波器支持可包含在子像素位
置周围的四个整数位置C3、C4、D3和D4,以及沿着对角线穿过C3和D4的四个整数像素位置
A1、B2、E5和F6,和沿着对角线穿过C4和D3的四个整数像素位置A6、B5、E2和F1。此滤波可形
成由视频编码器22(图2)进行的视频编码过程期间或由视频解码器28(图10)进行的视频解
码过程期间的运动补偿的部分。在视频编码过程期间,预测单元32可将系数值的多个集合
作为预测语法元素的部分转发到熵译码单元46。
而定义的系数值的多个集合中的每一者可定义十二个或十二个以上整数像素位置的不同
权重。熵译码单元46还可对滤波器支持的集合编码且输出滤波器支持的集合作为经编码的
位流的部分,经编码的位流接着可发射到另一装置。
的子像素值。在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器
定义对应于十二个(或可能更多)整数像素位置的集合的滤波器支持位置的t形阵列,所述
整数像素位置可包含子像素位置周围的四个全整数像素位置(例如,C3、C4、D3和D4),以及
垂直整数像素位置(例如,A3、B3、E3和F3)和水平整数像素位置(例如,C1、C2、C5和C6)。滤波
器支持位置用阴影和大写字母来展示,且一些子像素位置被展示为具有点线和小写字母的
框。MC单元37可仅针对视频块中的像素的子集以此方式内插像素,且可基于内插子像素值
来产生预测块。在其它实例中,MC单元37可针对视频块的每一像素以此方式内插像素。
滤波器支持来预测与全像素位置(例如,图6所示的C3)相关联的任何子像素位置。
素位置而定义的系数值的多个集合中的每一者可定义十二个或十二个以上整数像素位置
的不同权重。熵译码单元46还可对滤波器支持的集合编码且将滤波器支持的集合输出作为
经编码的位流的部分,经编码的位流接着可发射到另一装置。
子像素位置的子像素值。在此情况下,计算子像素值包括应用内插滤波器,所述内插滤波器
定义对应于在如图7中说明的子像素位置周围的十二个(或可能更多或更少)整数像素位置
的集合的滤波器支持位置的二维阵列。滤波器支持位置用阴影和大写字母来展示,且子像
素位置展示为具有点线和小写字母的框。MC单元37可针对视频块的任何像素以此方式内插
像素,且可基于内插的子像素值来产生预测块。12位置滤波器支持具有放射状,且具有与
NS-AIF中使用的36位置滤波器支持类似的频率响应,但具有降低的内插复杂性。
和D4,以及在四个整数像素位置周围的八个整数像素位置B3、B4、C2、C5、D2、D5、E3和E4。图7
所示的滤波器支持位置的二维阵列中的滤波器支持位置中的每一者相对于子像素位置在
两个整数像素位置内。此滤波可形成由视频编码器22(图2)进行的视频编码过程期间或由
视频解码器28(图16)进行的视频解码过程期间的运动补偿的部分。在视频编码过程期间,
预测单元32将系数值的多个集合作为预测语法元素的部分转发到熵译码单元46。
集合。在其它实例中,图7所示的放射状可(例如)向左或向右移动一个全像素。在又其它实
例中,任何数目个全整数像素位置的任何集合用以用内插滤波器预测子像元位置。
置的子像素值。在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波
器定义对应于四个整数像素位置的集合的滤波器支持位置的正方形阵列。在图8所示的实
例中,四个整数像素位置包含在子像素位置周围的四个全整数像素位置,即C3、C4、D3和D4。
滤波器支持位置用阴影和大写字母来展示,且一些子像素位置展示为具有点线和小写字母
的框。
MC单元37可使用任何适当类型的内插滤波器来使用这四个整数像素位置预测子像素位置。
在其它实例中,MC单元37可使用四个全整数像素位置的任何集合来内插子像素位置。
值。滤波器支持位置用阴影和大写字母来展示,且一些子像素位置展示为具有点线和小写
字母的框。在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器定
义对应于六个整数像素位置的集合的滤波器支持位置的矩形阵列。在图8所示的实例中,六
个整数像素位置包含子像素位置周围的四个全整数像素位置,以及邻近子像素位置周围的
四个全整数像素位置的两个额外全整数像素位置。当在图9中预测子像素位置“f”时,滤波
器支持包含位于子像素位置“f”周围的四个全像素位置C3、C4、D3和D4,以及邻近的全像素
位置B3和B4。
接头内插滤波器可用以预测子整数像素位置。
置而定义的系数值的多个集合中的每一者可定义十二个或十二个以上整数像素位置的不
同权重。熵译码单元46还可对滤波器支持的集合编码且将滤波器支持的集合输出作为经编
码的位流的部分,经编码的位流接着可发射到另一装置。
应用于单一预测单元内的滤波器支持的不同集合。举例来说,可使用如图4所示的六个对角
线支持来预测子像素位置“e”。用于子像素“e”的滤波器支持可包含全整数像素位置A1、B2、
C3、D4、E5和F6。用于子像素“e”的内插滤波器可为六分接头维纳滤波器。在同一预测单元
内,可使用如图5所示的具有x形状的十二个全整数像素位置的集合来预测子像素位置“j”。
用于子像素“j”的滤波器支持可包含全整数像素位置A1、A6、B2、B5、C3、C4、D3、D4、E2、E5、F1和F6。用于子像素“e”的内插滤波器可为十二分接头维纳滤波器。
示来预测另一子像元位置“k”。用于子像素“k”的圆形滤波器支持可包含十二个全整数像素
位置,其包含B3、B4、C2、C3、C4、C5、D2、D3、D4、D5、E3和E4。用于预测子像素“h”的内插滤波器可为十二分接头滤波器。
一起使用。作为另一实例,可使用如图9所示的矩形支持来预测子整数像素位置“f”。用于子
像素“f”的滤波器支持可包含六个全整数像素位置,其包含B3、B4、C3、C4、D3和D4。用于预测
子像素“f”的内插滤波器可为十二分接头可分或不可分滤波器。
“e”和“f”都可使用六分接头维纳滤波器来预测。其它子像素位置可使用与其它子像素位置
不同的内插滤波器来预测。
像素位置的集合。在此实例中,重复全整数像素位置中的一者或一者以上。在一个实例中,
最靠近子像素位置的那些全整数像素位置为重复的全整数像素位置。同样,在一个实例中,
对于二分之一像素位置“e”,6分接头滤波器的分接头可对应于B3、C3、C4、D3和D4。举例来
说,子像素位置“e”的像素值可使用等式(8)来计算:
用于每一子像素位置的内插滤波器的任何选择的任何组合。根据子像元滤波,可使用许多
其它滤波器大小和形状。
设备的一个实例。如图10中所示,视频解码器28对应于装置20的视频解码器28。然而,在其
它实例中,视频解码器28可对应于不同装置。在其它实例中,其它单元(例如其它编码器/解
码器(CODEC))也可执行与视频解码器28类似的技术。
像素数据的内插技术的信息、用于内插滤波的系数,和/或与预测块的产生相关联的其它信
息。
实际系数。而且,如果将量化应用于预测语法中的任一者,那么系数预测和反量化单元53还
可移除此类量化。举例来说,可根据本发明预测性地译码及量化滤波系数,且在此情况下,
系数预测和反量化单元53可由视频解码器28使用,以预测性地解码及解量化此些系数。
预测数据。明确地说,预测单元55可在运动补偿期间执行本发明的内插滤波技术中的一者
或一者以上,以产生具有特定精度(例如四分之一像素精度)的预测块。因此,本发明的技术
中的一者或一者以上可由视频解码器28用于产生预测块。预测单元55可包含运动补偿单
元,所述运动补偿单元包括用于本发明的内插和内插类滤波技术的滤波器。为了说明的简
单性及简易性起见,运动补偿组件在图10中未展示。
类似的反变换过程)应用于变换系数,以便在像素域中产生残余块。求和器64对残余块与由
预测单元55产生的对应预测块求和,以形成由视频编码器22编码的原始块的经重构的版
本。如果需要的话,还可应用解块滤波器以对经解码块进行滤波,以便移除成块性假影。接
着将经解码的视频块存储于存储器62中,存储器62提供用于后续运动补偿的参考块且还产
生经解码的视频以驱动显示装置(例如,图1的装置28)。
术使用36位置滤波器支持(即,如图3中所示的2D 6×6滤波器支持)来计算子像素的像素
值。作为另一实例,S-AIF可使用可分整数像素位置作为用于内插滤波的滤波器支持。在又
一实例中,D-AIF使用具有六位置滤波器支持或十二位置对角线滤波器支持的内插滤波器
来计算子像素位置。例如任何ITU-T H.264内插滤波器等其它内插滤波器可用以计算子像
素位置。现在已知或稍后预期的任何合适的内插滤波器可用以译码或解码子像素位置。此
外,视频解码器28可使用内插滤波器,所述内插滤波器是固定内插滤波器、切换式内插滤波
器或自适应内插滤波器,或其组合。内插滤波器可进一步为可分的或不可分的。在一个实例
中,视频解码器28可在所接收位流(例如,来自视频编码器22)中接收将应用的滤波器的指
示,以及滤波器将应用于的滤波器支持的集合的指示。
的当前位置。随着待内插的当前位置与用作滤波器支持的像素的位置之间的距离增加,空
间像素相关减小。因此,用于D-AIF中的对角线滤波器支持较不适用于形成准确预测。
更合适的滤波器支持集合可用于子像素(例如,图8中所示的四位置滤波器支持可用于内
插)。用于本发明中所描述的四位置滤波器支持中的整数像素位置包含在子像素位置周围
的四个整数像素位置,即,整数像素位置C3、C4、D3和D4,所述整数像素位置可被称作“角落”
整数像素位置,这是因为其位于子像素位置的角落附近。除了角落整数像素位置之外,紧邻
于角落整数像素位置的一个或一个以上整数像素位置还可用于滤波器支持,如图9中所示。
紧邻于角落整数像素位置的整数像素位置可包含在角落整数像素位置正上方(朝上或朝
北)或正下方(朝下或朝南)的整数像素位置以及在角落整数像素位置的正左(或西)或正右
(或东)的整数像素位置。在这些特定实例中,所有这些整数像素位置位于待内插的子像素
的两个整数像素位置内。
置。另外,滤波器支持可包含位于子像素位置的四个或四个以上整数像素位置内的整数像
素位置。在一些实例中,滤波器支持可包含给定经译码的块中的全整数像素位置的任何子
集。
择。以此方式,本发明的滤波器支持技术提供使用与待内插的位置具有较高相关的整数像
素的较佳内插预测。另外,可预测或解码任何子像元而不必预测或解码其所依附的另一子
像元。
频编码器22可接收参考样本的多个全整数像素位置的值(102)。
插滤波器应用于多个全整数像素位置的值的第二不同集合,以计算全整数像素位置中的一
者的第二不同子整数像素的值(106)。基于这些计算出的值,视频编码器22可使用指向第一
子整数像素和第二子整数像素中的一者的运动向量来编码当前像素块。类似于关于图11所
描述的视频编码器22的实例操作的技术将在图12和13中进一步解释。
术。如图所示,在图12中,预测单元32的MC单元37从存储器34获得包含对应于整数像素位置
的整数像素值的像素块(112)。对于每一子像素位置,编码器22确定包括像素块中的全整数
像素位置的子集的滤波器支持(114)。下文关于图12和13描述用于确定滤波器支持的方法。
用于确定滤波器支持的方法可取决于所使用的编码器(例如视频编码器22)的特定特性。
子像素内插。
基于内插的预测块来编码当前视频块(120),例如,通过从正被编码的视频块减去内插的预
测块以产生残余块。残余块接着可分别由变换单元38和量化单元40变换及量化。在由熵译
码单元46进行熵译码之后,视频编码器22可输出经编码的视频位流和滤波器信息(122)。如
本文中所描述的滤波器信息可包括对使用何种滤波器支持来编码每一子像素位置的指示。
滤波器信息还可包含对何种内插滤波器用于特定子像素位置的指示。每一经译码的单元可
输出滤波器信息一次,或如果经译码的单元的不同区域使用不同类型的子像元内插,那么
每一经译码的单元可能输出滤波器信息若干次。
视频编码器22可使用多遍次技术来确定对于像素块中的每一子像素位置使用哪一滤波器
支持。
来计算运动向量。如上文所描述,任何形状或数目的全整数像素位置可用以预测子像元位
置。视频编码器22可计算第一运动向量的第一误差值(134)。在一个实例中,编码器22可使
用对子像元位置的预测的均方误差来计算第一误差值。
二集合。视频编码器22可计算第二运动向量的第二误差值(138)。类似地,第二误差值可使
用均方误差计算来计算。
持,这是因为全整数像素位置的所述集合导致子像素位置的较小误差。对于像素块中的每
一子像素位置可应用图13中所示的技术。在其它实例中,图13中所示的技术对于单一子像
素位置可为每一像素块一次。
定因素(例如提供最小误差)来选择。
对应于给予最小误差的子像元“b”的预测的全整数像素位置的集合。视频编码器22可针对
每一子像素位置重复这个过程。在其它实例中,视频编码器22将滤波器支持的类似集合应
用于类似定位的子像素位置。
(152)。在一个实例中,针对如关于图13所描述的第一帧确定滤波器支持。在将滤波器支持
的集合应用于先前帧中的对应子像素时,视频编码器22可将滤波器支持的相同集合应用于
第二后续帧中的每一子像素(154)。实例方法避免执行多遍次技术。
因素包含待预测的子像素位置的位置、全整数像素位置与子像素位置的相关或全整数像素
位置与子像素位置的接近性。
39基于如图4到7和9中所示的包括包含与子像素位置相关联的全整数像素位置的六个或六
个以上位置的滤波器支持的集合,计算子像素值。在又一实例中,滤波器39基于如图8中所
示的包括在子像素位置周围的四个全整数像素位置的滤波器支持的集合,计算子像素值。
的角度来描述图14,但其它装置也可执行类似技术。
样本的全整数像素位置的集合的指示(174)。可已使用全整数像素位置的集合来内插参考
样本的子整数像素的值。
块(178)。类似于关于图15所描述的视频解码器28的实例操作的技术将在图16中进一步解
释。
器28的角度来描述图14,但其它装置也可执行类似技术。
地说,预测单元55从存储器62获得包含对应于整数像素位置的整数像素值的像素块(204)。
预测单元55可使用所接收运动向量来确定如何执行内插。
的。在一个实例中,在预测单元层级、译码单元层级、帧层级、切片层级或当前像素块的序列
层级中的至少一者中将用以编码当前像素块的全整数像素位置的集合的指示提供到解码
器28。以此方式,预测单元55使用内插来产生预测块(208)。预测块可用以通过调用加法器
64将预测块与残余块相加(210)来解码残余视频块。包含用于子像素位置的滤波器支持的
不同集合的使用的本文中所描述的内插的各种方面可通过提供比常规技术更佳质量的内
插数据来改进视频编码。
装置。如果以软件来实施,那么可至少部分由包括当执行时执行上述方法中的一者或一者
以上的指令的计算机可读媒体来实现所述技术。所述计算机可读媒体可形成可包含封装材
料的计算机程序产品的部分。计算机可读媒体可包括例如同步动态随机存取存储器
(SDRAM)等随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电
可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。另外或或
者,所述技术可至少部分由载运或传送呈指令或数据结构的形式的代码且可由计算机存
取、读取和/或执行的计算机可读通信媒体来实现。
理器来执行所述代码。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施
本文中所描述的技术的任一其它结构中的任一者。此外,在一些方面中,本文中所描述的功
能性可提供于经配置以用于编码和解码的专用软件单元或硬件单元内,或并入于组合式视
频编码器-解码器(CODEC)中。将不同特征描绘为单元希望突出所说明的装置的不同功能方
面,且未必暗示此类单元必须由单独的硬件或软件组件实现。事实上,与一个或一个以上单
元相关联的功能性可集成于共同或单独的硬件或软件组件内。