首页> 中国专利> 用于视频译码中的子像素分辨率的内插滤波器支持

用于视频译码中的子像素分辨率的内插滤波器支持

摘要

本发明描述在视频编码及/或解码过程的预测阶段期间由编码器及解码器应用的滤波技术。所述滤波技术可增强在分数内插期间所使用的预测性数据的准确性,且可改进整数像素块的预测性数据。本发明存在若干方面,包括可用于内插的有用十二像素滤波器支持、使用系数对称性及像素对称性来减少为了配置用于内插的滤波器支持而需要在编码器与解码器之间发送的数据量的技术及用于以类似于子像素内插的方式来对整数像素位置处的数据进行滤波的技术。本发明的其它方面关于用于对位流中的信息进行编码以传达所使用的滤波器的类型且可能传达所使用的滤波器系数的技术。本发明还描述滤波器系数的预测性译码。

著录项

  • 公开/公告号CN102017629A

    专利类型发明专利

  • 公开/公告日2011-04-13

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN200980115286.5

  • 发明设计人 叶琰;马尔塔·卡切维奇;

    申请日2009-04-10

  • 分类号H04N7/26;H04N7/36;

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人宋献涛

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 02:05:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-03-18

    授权

    授权

  • 2011-06-01

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20090410

    实质审查的生效

  • 2011-04-13

    公开

    公开

说明书

本申请案主张2008年4月10日申请的第61/044,020号美国临时申请案、2008年4月10日申请的第61/044,023号美国临时申请案、2008年4月11日申请的第61/044,240号美国临时申请案及2008年5月30日申请的第61/057,373号美国临时申请案的优先权,所述申请案的全部内容以引用的方式并入本文中。

技术领域

本发明涉及数字视频编码及解码,且更明确地说,涉及应用于产生视频编码及解码中所使用的预测性数据的滤波技术。

背景技术

数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话及其类似者。数字视频装置实施视频压缩技术(例如由高级视频译码(AVC)第10部分的MPEG-2、MPEG-4或ITU-TH.264/MPEG-4定义的标准中所描述的视频压缩技术)以较有效地发射及接收数字视频信息。视频压缩技术可执行空间预测及/或时间预测以减少或移除视频序列中固有的冗余。

基于块的帧间译码为非常有用的译码技术,其依赖于时间预测以减少或移除视频序列的连续经译码单元的视频块之间的时间冗余。所述经译码单元可包含视频帧、视频帧切片、图片群组或另一经定义单元的经编码视频块。对于帧间译码,视频编码器执行运动估计及运动补偿以追踪两个或两个以上邻近经译码单元的对应视频块的移动。运动估计产生运动向量,其指示视频块相对于一个或一个以上参考帧或其它经译码单元中的对应预测视频块的位移。运动补偿使用所述运动向量以根据所述一个或一个以上参考帧或其它经译码单元产生预测视频块。在运动补偿之后,通过从正被译码的原始视频块减去预测视频块来形成残余视频块。

视频编码器还可应用变换、量化及熵译码过程来进一步减少与残余块的通信相关联的位速率。变换技术可包含离散余弦变换(DCT)或概念上类似的过程。或者,可使用小波变换、整数变换或其它类型的变换。在DCT过程中,作为实例,将像素值集合转换成变换系数,其可表示所述像素值在频域中的能量。量化被应用于所述变换系数,且通常涉及减少与任何给定变换系数相关联的位的数目的过程。熵译码包含共同地压缩一序列译码模式、运动信息、经译码块模式及经量化变换系数的一个或一个以上过程。熵译码的实例包括但不限于内容自适应可变长度译码(CAVLC)及上下文自适应二进制算术译码(CABAC)。

经译码视频块可通过可用以创建或识别预测性块的预测信息及指示正被译码的块与所述预测性块之间的差的残余数据块来表示。所述预测信息可包含用以识别所述预测性数据块的一个或一个以上运动向量。给定所述运动向量,解码器能够重构已用以对残余数据块进行译码的预测性块。因此,给定残余块集合及运动向量集合(且可能给定某种额外语法),解码器可重构原始编码的视频帧。基于运动估计及运动补偿的帧间译码可实现极好的压缩,因为连续的视频帧或其它类型的经译码单元通常非常类似。经编码视频序列可包含残余数据块、运动向量且可能包含其它类型的语法。

已开发出内插技术以便改进可在帧间译码中实现的压缩的级别。在此情况下,可从运动估计中所使用的视频帧或其它经译码单元的视频块的像素来内插在运动补偿期间产生的预测性数据(其用以对视频块进行译码)。通常执行内插以产生预测性半像素值及预测性四分之一像素值。半像素及四分之一像素值与子像素位置相关联。分数运动向量可用于以子像素分辨率来识别视频块以便捕获视频序列中的分数移动,且进而提供比整数视频块更类似于正被译码的视频块的预测性块。

发明内容

一般来说,本发明描述在视频编码及/或解码过程的预测阶段期间由编码器及解码器应用的滤波技术。所描述的滤波技术可增强在分数内插期间所使用的预测性数据的准确性,且在一些情况下,可改进整数像素块的预测性数据。本发明存在若干方面,包括可用于内插的有用十二像素滤波器支持、使用系数对称性及像素对称性来减少为了配置用于内插的滤波器支持而需要在编码器与解码器之间发送的数据量的技术及用于以类似于子像素内插的方式来对整数像素位置处的数据进行滤波的技术。本发明的其它方面关于用于对位流中的信息进行编码以传达滤波器的类型且可能传达所使用的滤波器系数的技术。本发明还描述用于滤波器系数的预测性编码技术。本发明的这些及其它方面将从下文的描述而变得显而易见。

在一个实例中,本发明提供一种方法,其包含:获得像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;基于所述整数像素值而计算与所述像素块相关联的子像素位置的子像素值,其中计算所述子像素值包含应用内插滤波器,所述内插滤波器定义对应于以放射状形状围绕所述子像素位置的十二个或十二个以上整数像素位置的集合的二维滤波器支持位置阵列;及基于所述子像素值中的至少一些而产生预测块。

在另一实例中,本发明提供一种包含视频译码器的设备,所述视频译码器:获得像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;基于所述整数像素值而计算与所述像素块相关联的子像素位置的子像素值,其中所述视频译码器应用内插滤波器,所述内插滤波器定义对应于以放射状形状围绕所述子像素位置的十二个或十二个以上整数像素位置的集合的二维滤波器支持位置阵列;及基于所述子像素值中的至少一些而产生预测块。

在另一实例中,本发明提供一种装置,其包含:用于获得像素块的装置,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;用于基于所述整数像素值而计算与所述像素块相关联的子像素位置的子像素值的装置,其中用于计算所述子像素值的装置包含用于应用内插滤波器的装置,所述内插滤波器定义对应于以放射状形状围绕所述子像素位置的十二个或十二个以上整数像素位置的集合的二维滤波器支持位置阵列;及用于基于所述子像素值中的至少一些而产生预测块的装置。

可以硬件、软件、固件或其任何组合来实施本发明中所描述的技术。如果以软件来实施,则可在一个或一个以上处理器(例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP))中执行软件。执行所述技术的软件最初可存储于计算机可读媒体中且加载于处理器中并在处理器中执行。

因此,本发明还涵盖一种计算机可读存储媒体,其包含当由处理器执行时致使所述处理器进行以下操作的指令:获得像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;基于所述整数像素值而计算与所述像素块相关联的子像素位置的子像素值,其中在计算所述子像素值中,所述指令致使所述处理器应用内插滤波器,所述内插滤波器定义对应于以放射状形状围绕所述子像素位置的十二个或十二个以上整数像素位置的集合的二维滤波器支持位置阵列;及基于所述子像素值中的至少一些而产生预测块。

本发明的一个或一个以上方面的细节陈述于附图及下文的描述中。本发明中所描述的技术的其它特征、目标及优点将从所述描述及图式中且从权利要求书中显而易见。

附图说明

图1为说明可实施本发明的技术的一个示范性视频编码及解码系统的框图。

图2为说明与本发明一致的可执行滤波技术的视频编码器的实例的框图。

图3为说明与预测数据相关联的整数像素位置及与经内插预测数据相关联的子像素位置的概念图。

图4为说明关于九个子像素位置的12像素滤波器支持的概念图。

图5为说明关于三个水平子像素位置的水平6像素滤波器支持及关于三个垂直子像素位置的垂直6像素滤波器支持的概念图。

图6为说明用于对整数像素位置进行滤波的五像素×五像素滤波器支持的概念图。

图7为说明与本发明一致的四个整数像素位置及十五个子像素位置的概念图,其中阴影用以对可使用滤波器系数的像素对称性的像素位置进行分组。

图8为说明相对于子像素的六个水平线性像素支持位置的概念图,其中阴影展示系数对称性。

图9为说明相对于子像素的六个水平线性像素支持位置的概念图,其中阴影展示任何系数对称性的缺少。

图10为说明相对于子像素的六个垂直线性像素支持位置的概念图,其中阴影展示系数对称性。

图11为说明相对于子像素的六个垂直线性像素支持位置的概念图,其中阴影展示任何系数对称性的缺少。

图12为说明相对于子像素的十二个二维像素支持位置的概念图,其中阴影展示任何系数对称性的缺少。

图13为说明相对于子像素的十二个二维像素支持位置的概念图,其中阴影展示系数对称性。

图14为说明相对于子像素的十二个二维像素支持位置的概念图,其中阴影展示系数对称性。

图15为说明相对于子像素的十二个二维像素支持位置的概念图,其中阴影展示系数对称性。

图16为说明视频解码器的实例的框图,所述视频解码器可对以本文所描述的方式编码的视频序列进行解码。

图17为说明与本发明一致的利用十二像素滤波器支持的视频编码器的实例操作的流程图。

图18为说明与本发明一致的利用十二像素滤波器支持的视频解码器的实例操作的流程图。

图19为说明与本发明一致的利用系数对称性及像素对称性的视频编码器的实例操作的流程图。

图20为说明与本发明一致的利用系数对称性及像素对称性的视频解码器的实例操作的流程图。

图21为说明与本发明一致的利用对整数像素位置的滤波来产生经调整整数像素值的视频编码器的实例操作的流程图。

图22为说明与本发明一致的利用对整数像素位置的滤波来产生经调整整数像素值的视频解码器的实例操作的流程图。

图23为说明用于基于固定滤波器或自适应滤波器的用于视频译码的由速率失真定义的内插的技术的流程图。

图24为说明用于使用预测性译码来对滤波器系数进行编码的技术的流程图。

图25为说明用于使用预测性译码来对滤波器系数进行编码的技术的另一流程图。

图26为说明用于使用预测性译码来对滤波器系数进行解码的技术的流程图。

图27及图28为说明可经预测性译码的滤波器系数的概念图。

图29为可使用预测技术来编码的整数像素滤波器系数阵列的说明性实例。

具体实施方式

本发明描述在视频编码及/或解码过程的预测阶段期间由编码器及解码器应用的滤波技术。所描述的滤波技术可增强在分数内插期间所使用的预测性数据的准确性,且在一些情况下,可改进整数像素块的预测性数据。本发明存在若干方面,包括可用于内插的有用十二像素滤波器支持、使用系数对称性及像素对称性来减少为了配置用于内插的滤波器支持而需要在编码器与解码器之间发送的数据量的技术及用于以类似于子像素内插的方式来对整数像素位置处的数据进行滤波的技术。在下文中详细描述这些及其它技术。

图1为说明可用于实施本发明的技术中的一者或一者以上的一个示范性视频编码及解码系统10的框图。如图1所示,系统10包括经由通信信道15而将经编码视频发射到目的地装置16的源装置12。源装置12及目的地装置16可包含广泛范围的装置中的任一者。在一些情况下,源装置12及目的地装置16包含无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话或可经由通信信道15而传送视频信息的任何无线装置,在此情况下,通信信道15为无线的。然而,本发明的技术(其关于滤波及在预测性译码期间的预测性数据的产生)不必限于无线应用或设置。所述技术还可在广泛范围的其它设置及装置中有用,所述其它设置及装置包括经由物理线、光纤或其它物理或无线媒体来通信的装置。另外,所述编码或解码技术还可应用于未必与任何其它装置通信的独立装置中。

在图1的实例中,源装置12可包括视频源20、视频编码器22、调制器/解调器(调制解调器)23及发射器24。目的地装置16可包括接收器26、调制解调器27、视频解码器28及显示装置30。根据本发明,源装置12的视频编码器22可经配置以应用本发明的技术中的一者或一者以上作为视频编码过程的一部分。类似地,目的地装置16的视频解码器28可经配置以应用本发明的技术中的一者或一者以上作为视频解码过程的一部分。

同样,图1的所说明的系统10仅为示范性的。本发明的各种技术可由支持基于块的预测性编码的任何编码装置或由支持基于块的预测性解码的任何解码装置来执行。源装置12及目的地装置16仅为此些译码装置的实例,其中源装置12产生经译码视频数据以供发射到目的地装置16。在一些情况下,装置12、16可以大体上对称的方式来操作,使得装置12、16中的每一者包括视频编码及解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发射,例如,用于视频串流、视频重放、视频广播或视频电话。

源装置12的视频源20可包括视频捕获装置,例如摄像机、含有先前捕获的视频的视频档案或来自视频内容提供者的视频馈入。作为另一替代方案,视频源20可产生基于计算机图形的数据作为源视频,或产生直播视频、存档视频及计算机产生的视频的组合。在一些情况下,如果视频源20为摄像机,则源装置12及目的地装置16可形成所谓的相机电话或视频电话。在每一情况下,可由视频编码器22对所捕获、预捕获或计算机产生的视频进行编码。可接着由调制解调器23根据通信标准(例如,码分多址(CDMA)或另一通信标准)来对所述经编码视频信息进行调制并经由发射器24及通信信道15将所述经编码视频信息发射到目的地装置16。调制解调器23可包括各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包括经设计以用于发射数据的电路,包括放大器、滤波器及一个或一个以上天线。

目的地装置16的接收器26经由通信信道15来接收信息,且调制解调器27对所述信息进行解调。如同发射器24,接收器26可包括经设计以用于接收数据的电路,包括放大器、滤波器及一个或一个以上天线。在一些情况下,发射器24及/或接收器26可并入于包括接收电路及发射电路两者的单一收发器组件内。调制解调器27可包括各种混频器、滤波器、放大器或经设计以用于信号解调的其它组件。在一些情况下,调制解调器23及27可包括用于执行调制及解调两者的组件。

同样,由视频编码器22执行的视频编码过程可在运动补偿期间实施本文所描述的技术中的一者或一者以上。由视频解码器28执行的视频解码过程也可在其解码过程的运动补偿阶段期间执行此些技术。术语“译码器”在本文中用于指代执行视频编码或视频解码的专门计算机装置或设备。术语“译码器”大体上指代任何视频编码器、视频解码器或组合的编码器/解码器(编解码器)。术语“译码”指代编码或解码。显示装置30向用户显示经解码视频数据,且可包含多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

在图1的实例中,通信信道15可包含任何无线或有线通信媒体(例如射频(RF)频谱或一个或一个以上物理发射线)或无线及有线媒体的任何组合。通信信道15可形成基于包的网络(例如局域网、广域网或例如因特网等全球网络)的一部分。通信信道15大体上表示用于将视频数据从源装置12发射到目的地装置16的任何合适通信媒体或不同通信媒体的集合。通信信道15可包括路由器、交换器、基站或可用于促进从源装置12到目的地装置16的通信的任何其它设备。

视频编码器22及视频解码器28可根据视频压缩标准(例如ITU-T H.264标准,替代地描述为高级视频译码(AVC)第10部分的MPEG-4)来操作。然而,本发明的技术不限于任何特定视频译码标准。虽然图1中未展示,但在一些方面中,视频编码器22及视频解码器28可各自与音频编码器及解码器集成,且可包括适当MUX-DEMUX单元或其它硬件及软件以处置共同数据流或单独数据流中的音频及视频两者的编码。如果适用,则MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。

视频编码器22及视频解码器28各自可实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器22及视频解码器28中的每一者可包括于一个或一个以上编码器或解码器中,所述编码器或解码器中的任一者可集成为在相应移动装置、订户装置、广播装置、服务器或其类似者中提供编码及解码能力的组合式编解码器的一部分。

视频序列通常包括一连串视频帧。视频编码器22对个别视频帧内的视频块进行操作以便对视频数据进行编码。视频块可具有固定或变化大小,且可根据指定译码标准而在大小方面有所不同。每一视频帧包括一连串切片。每一切片可包括一连串宏块,其可布置成子块。作为实例,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及用于色度分量的对应经按比例缩放的大小)的帧间预测。(例如)在例如离散余弦变换(DCT)或概念上类似的变换过程等变换过程之后,视频块可包含像素数据的块或变换系数的块。

较小视频块可提供较好分辨率,且可用于包括高细节级别的视频帧的位置。一般来说,可将宏块及各种子块视为视频块。另外,可将切片视为一连串视频块,例如宏块及/或子块。每一切片可为视频帧的可独立解码单元。或者,帧自身可为可解码单元,或帧的其它部分可被定义为可解码单元。术语“经译码单元”指代视频帧的任何可独立解码单元,例如整个帧、帧的切片或根据所使用的译码技术而定义的另一可独立解码单元。

为了对视频块进行编码,视频编码器22执行帧内或帧间预测以产生预测块。视频编码器22从待编码的原始视频块减去所述预测块以产生残余块。因此,残余块指示正被译码的块与预测块之间的差。视频编码器22可对残余块执行变换以产生变换系数的块。在基于帧内或帧间的预测性译码及变换技术之后,视频编码器22执行量化。量化大体上指代对系数进行量化以可能地减少用于表示所述系数的数据量的过程。在量化之后,可根据熵译码方法(例如上下文自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC))来执行熵译码。下文将在图2中更详细地描述由视频编码器22执行的编码过程的每一步骤的更多细节。

在目的地装置16中,视频解码器28接收经编码视频数据。视频解码器28根据熵译码方法(例如CAVLC或CABAC)来对所接收视频数据进行熵解码以获得经量化系数。视频解码器28应用逆量化(解量化)及逆变换功能以在像素域中重构残余块。视频解码器28还基于经编码视频数据中所包括的控制信息或语法信息(例如,译码模式、运动向量、定义滤波器系数的语法及其类似者)来产生预测块。视频解码器28将预测块与经重构残余块求和以产生经重构视频块以供显示。下文将在图16中更详细地描述由视频编码器22执行的编码过程的每一步骤的更多细节。

根据本发明的技术,视频编码器22及视频解码器28可在运动补偿期间使用所述一个或一个以上内插滤波技术。明确地说,根据本发明的一个方面,视频编码器22及/或视频解码器28可:获得像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;基于所述整数像素值来计算用于与所述像素块相关联的子像素位置的子像素值,其中计算所述子像素值包含应用内插滤波器,所述内插滤波器定义对应于以放射状形状围绕所述子像素位置的十二个或十二个以上整数像素位置的集合的二维滤波器支持位置阵列;及基于所述子像素值中的至少一些来产生预测块。下文更详细地解释对应于十二个或十二个以上整数像素位置的集合的二维滤波器支持位置阵列的实例。

根据本发明的另一方面,视频编码器22及/或视频解码器28可利用对称性的方面以便减少为了传送内插中所使用的滤波器系数而需要在源装置12与目的地装置16之间传送的数据量。视频编码器22可:确定用于十五个不同子像素位置的八个滤波器系数集合,其中所述八个滤波器系数集合是基于十五个子像素位置当中的系数对称性及像素对称性来产生的;及将所述八个滤波器系数集合作为经编码位流的一部分而输出到另一装置。以此方式,所述八个集合连同像素对称性及系数对称性的方面可定义用于所有十五个半像素及四分之一像素像素位置的所有滤波器系数。此外,在所述十五个子像素位置中的不同者之间在垂直维度上及在水平维度上可存在像素对称性,但针对所述十五个子像素位置集合中的至少一些在对角维度上可能不存在像素对称性。此针对所述十五个位置中的至少一些在对角维度上缺少像素对称性可改进视频编码及解码中的内插及视频质量。

目的地装置16的视频解码器28可:将所述八个滤波器系数集合作为经编码视频位流的一部分来接收;基于所述八个滤波器系数集合来产生对应于十五个不同子像素位置的十五个滤波器系数集合;基于所述十五个滤波器系数集合中的一者来产生用于视频解码的经内插预测性数据,其中所述经内插预测性数据对应于所述十五个不同子像素位置中的一者;及基于所述经内插预测性数据来对一个或一个以上视频块进行解码。

根据本发明的另一方面,视频编码器22及/或视频解码器28可相对于整数像素位置使用似内插滤波以便产生经调整整数像素值。所述似内插滤波可具体来说在照度改变、场景淡入或淡出期间改进压缩,可移除噪声且促进图像帧锐化,且可尤其在未对滤波器系数强加对称性时帮助改进连续视频帧之间的精细对象移动的编码。

视频编码器22及/或视频解码器28的似内插滤波技术可包括:获得像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;基于所述像素块内的其它整数像素值来对所述整数像素值进行滤波以产生经调整整数像素值,其中所述经调整整数像素值对应于所述整数像素位置;及基于所述经调整整数像素值来产生预测块。

根据本发明的另一方面,视频编码器22可:基于第一内插滤波器来产生用于编码视频数据的第一经内插预测性数据;基于第二内插滤波器来产生用于所述视频数据的视频编码的第二经内插预测性数据;基于速率失真分析来在所述第一经内插预测性数据与所述第二经内插预测性数据之间进行选择;基于所述选择来对所述视频数据进行编码;及对用以指示所述选择的语法进行编码。所述第一内插滤波器可包含固定内插滤波器,且所述第二内插滤波器可包含自适应内插滤波器,但本发明不必限于这些实例。

此外,还可应用额外内插滤波器以产生额外经内插预测性数据,在速率失真分析中还可考虑所述额外经内插预测性数据。换句话说,本发明的技术不限于仅基于两个内插滤波器来产生第一及第二经内插预测性数据,而是可应用于基于任何数目的内插滤波器来产生任何多个经内插预测性数据。重要的是,使用速率失真分析内插预测性数据来识别选择哪一滤波器。

在一个实例中,一种方法可包含:基于多个不同内插滤波器来产生用于编码视频数据的多个不同预测性数据版本;基于速率失真分析来在所述多个不同预测性数据版本当中进行选择;基于所述选择来对所述视频数据进行编码;及对用以指示所述选择的语法进行编码。

本发明还预期用于对滤波器系数进行编码的技术。举例来说,视频编码器22可:识别用于在视频编码中内插预测性数据的滤波器系数集合;基于所述滤波器系数集合相对于与固定内插滤波器相关联的滤波器系数的预测性译码而产生与所述滤波器系数集合相关联的残余值;将量化应用于所述残余值;及将所述经量化残余值作为经编码位流的一部分来输出。

视频解码器28可:接收与滤波器系数集合相关联的残余值;基于所述残余值集合及与固定内插滤波器相关联的滤波器系数而使用预测性解码产生所述滤波器系数集合;及应用所述滤波器系数集合来内插用于视频块的预测性解码的预测性数据。

图2为说明与本发明一致的可执行滤波技术的视频编码器50的实例的框图。视频编码器50为在本文中被称为“译码器”的专门视频计算机装置或设备的一个实例。视频编码器50可对应于装置20的视频编码器22或不同装置的视频编码器。视频编码器50可执行视频帧内的块的帧内及帧间译码,但为了说明的简易起见而未在图2中展示帧内译码组件。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧内的视频的时间冗余。帧内模式(I模式)可指代基于空间的压缩模式,且例如预测(P模式)或双向(B模式)等帧间模式可指代基于时间的压缩模式。本发明的技术在帧间译码期间适用,且因此,为了说明的简单及简易起见,未在图2中说明例如空间预测单元等帧内译码单元。

如图2所示,视频编码器50接收待编码的视频帧内的视频块。在图2的实例中,视频编码器50包括预测单元32、存储器34、加法器48、变换单元38、量化单元40及熵译码单元46。对于视频块重构,视频编码器50还包括逆量化单元42、逆变换单元44及加法器51。还可包括去块滤波器(未图示)以对块边界进行滤波以从经重构视频中移除成块性假影。如果需要,所述去块滤波器将通常对加法器51的输出进行滤波。

预测单元32可包括运动估计(ME)单元35及运动补偿(MC)单元37。根据本发明,滤波器37可包括于预测单元32中且可由ME单元35及MC单元37中的一者或两者调用以执行内插或似内插滤波作为运动估计及/或运动补偿的一部分。滤波器37实际上可表示多个不同滤波器以促进如本文所描述的无数不同类型的内插及内插类滤波。因此,预测单元32可包括多个内插或似内插滤波器。在编码过程期间,视频编码器50接收待译码的视频块(在图2中标记为“视频块”),且预测单元32执行帧间预测译码以产生预测块(在图2中标记为“预测块”)。具体来说,ME单元35可执行运动估计以识别存储器34中的预测块,且MC单元37可执行运动补偿以产生所述预测块。

通常将运动估计视为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示预测或参考帧(或其它经译码单元,例如,切片)内的预测块相对于当前帧(或其它经译码单元)内的待译码的块的位移。所述参考帧(或所述帧的一部分)在时间上可位于当前视频块所属的视频帧(或所述视频帧的一部分)之前或之后。通常将运动补偿视为从存储器34获取或产生预测块或可能基于由运动估计确定的运动向量来内插或以其它方式产生经滤波预测性数据的过程。

ME单元35通过将所述待译码的视频块与一个或一个以上参考帧(例如,先前帧及/或后续帧)的视频块进行比较来选择用于所述视频块的适当运动向量。ME单元35可以分数像素精度执行运动估计,其有时被称为分数像素或子像素运动估计。因而,可互换地使用术语分数像素及子像素运动估计。在分数像素运动估计中,ME单元35可选择指示与不同于整数像素位置的位置的位移的运动向量。以此方式,分数像素运动估计允许预测单元32以比整数像素(或全像素)位置高的精度来追踪运动,因此产生较准确的预测块。分数像素运动估计可具有半像素精度、四分之一像素精度、八分之一像素精度或任何更精细的精度。ME单元35可调用滤波器39以用于运动估计过程期间的任何必要内插。

为了执行分数像素运动补偿,MC单元37可执行内插(有时被称为内插滤波)以便以子像素分辨率产生数据(本文中被称为子像素或分数像素值)。MC单元37可调用滤波器39以用于此内插。预测单元32可使用本文所描述的技术来执行所述内插(或整数像素的似内插滤波)。

一旦由ME单元35选择了用于待译码的视频块的运动向量,MC单元37便产生与所述运动向量相关联的预测视频块。MC单元37可基于由MC单元35确定的运动向量而从存储器34获取预测块。在具有分数像素精度的运动向量的情况下,MC单元37对来自存储器34的数据进行滤波以内插所述数据达到子像素分辨率,例如,调用滤波器39以用于此过程。在一些情况下,已用以产生子像素预测数据的内插滤波技术或模式可被指示为用于熵译码单元46的一个或一个以上内插语法元素以供包括于经译码位流中。确实,本发明的一些方面关于使用像素对称性及系数对称性来减少需要传达的语法的量。

一旦预测单元32已产生预测块,视频编码器50便通过从正被译码的原始视频块减去所述预测块来形成残余视频块(在图2中标记为“残余块”)。加法器48表示执行此减法运算的组件。变换单元38将变换(例如离散余弦变换(DCT)或概念上类似的变换)应用于所述残余块,进而产生包含残余变换块系数的视频块。举例来说,变换单元38可执行概念上类似于DCT的其它变换,例如由H.264标准定义的变换。还可使用小波变换、整数变换、子频带变换或其它类型的变换。在任何情况下,变换单元38将所述变换应用于所述残余块,进而产生残余变换系数块。所述变换可将残余信息从像素域转换到频域。

量化单元40对所述残余变换系数进行量化以进一步减少位速率。所述量化过程可减少与所述系数中的一些或所有相关联的位深度。在量化之后,熵译码单元46对经量化变换系数进行熵译码。举例来说,熵译码单元46可执行CAVLC、CABAC或另一熵译码方法。

熵译码单元46还可对从预测单元32或视频编码器50的其它组件获得的一个或一个以上预测语法元素进行译码。所述一个或一个以上预测语法元素可包括译码模式、一个或一个以上运动向量、已用以产生子像素数据的内插技术、滤波器系数集合或子集,或与预测块的产生相关联的其它信息。根据本发明的一些方面,系数预测及量化单元41可对预测语法(例如滤波器系数)进行预测性编码及量化。在由熵译码单元46进行熵译码之后,可将经编码视频及语法元素发射到另一装置或存档以供稍后发射或检索。

逆量化单元42及逆变换单元44分别应用逆量化及逆变换以在像素域中重构残余块(例如)以供稍后用作参考块。所述经重构残余块(在图2中标记为“经重构的残余块”)可表示提供到变换单元38的残余块的经重构版本。归因于由量化及逆量化运算造成的细节的损失,所述经重构残余块可不同于由求和器48产生的残余块。求和器51将所述经重构残余块相加到由预测单元32产生的经运动补偿的预测块以产生经重构视频块以供存储于存储器34中。所述经重构视频块可由预测单元32用作可用以随后对后续视频帧或后续经译码单元中的块进行译码的参考块。

如上所述,预测单元32可以分数像素(或子像素)精度执行运动估计。当预测单元32使用分数像素运动估计时,预测单元32可使用本发明中所描述的内插运算来以子像素分辨率产生数据(例如,子像素或分数像素值)。换句话说,使用所述内插运算来计算在整数像素位置之间的位置处的值。位于整数像素位置之间的距离的一半处的子像素位置可被称为半像素位置,位于整数像素位置与半像素位置之间的距离的一半处的子像素位置可被称为四分之一像素位置,位于整数像素位置(或半像素位置)与四分之一像素位置之间的距离的一半处的子像素位置被称为八分之一像素位置,依此类推。

图3为说明与预测数据相关联的整数像素(或全像素)位置及与经内插预测数据相关联的子像素(或分数像素)位置的概念图。在图3的概念说明中,不同方框表示帧或帧块内的像素及子像素位置。大写字母(在具有实线的方框中)表示整数像素位置,而小写字母(在具有虚线的方框中)表示子像素位置。明确地说,像素位置A1-A6、B1-B6、C1-C6、D1-D6、E1-E6及F1-F6表示帧、切片或其它经译码单元内的整数像素位置的6×6阵列。子像素位置“a”到“o”表示(例如)整数像素位置C3、C4、D3及D4之间的与整数像素C3相关联的十五个子像素位置。每个整数像素位置可存在类似子像素位置。子像素位置“a”到“o”表示与整数像素C3相关联的每个半像素及四分之一像素像素位置。

在最初产生视频数据时,整数像素位置可与物理传感器元件(例如光电二极管)相关联。所述光电二极管可测量在所述传感器的位置处的光源的强度且将像素强度值与所述整数像素位置相关联。同样,每一整数像素位置可具有相关联的十五个子像素位置(或可能更多)的集合。与整数像素位置相关联的子像素位置的数目可取决于所要精度。在图3所说明的实例中,所要精度为四分之一像素精度,在此情况下,整数像素位置中的每一者与十五个不同子像素位置对应。可基于所要精度使更多或更少子像素位置与每一整数像素位置相关联。对于半像素精度,举例来说,每一整数像素位置可与三个子像素位置对应。作为另一实例,对于八分之一像素精度,整数像素位置中的每一者可与六十三个子像素位置对应。每一像素位置可定义一个或一个以上像素值(例如,一个或一个以上亮度及色度值)。

Y可表示亮度,且Cb及Cr可表示三维YCbCr色空间的两个不同色度值。对于三维色空间来说,每一像素位置实际上可定义三个像素值。然而,出于简单的目的,本发明的技术可指代关于一个维度的预测。就关于一个维度中的像素值来描述技术而论,可将类似技术扩展到其它维度。

在图3的实例中,针对四分之一像素精度说明与整数像素“C3”相关联的子像素位置。将与像素C3相关联的十五个子像素位置标记为“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”及“o”。为了简单起见,未展示与其它整数像素位置相关联的大部分其它分数位置(除了用以产生与像素位置C3相关联的15个不同分数位置中的一者或一者以上的分数位置以外,如下文进一步详细描述)。子像素位置“b”、“h”及“j”可被称为半像素位置,且子像素位置“a”、“c”、“d”、“e”、“f”、“g”、“i”、“k”、“l”、“m”及“o”可被称为四分之一像素位置。

视频编码器40的预测单元32可使用由MC单元37进行的内插滤波来确定子像素位置“a”到“o”的像素值。与ITU-T H.264标准一致,举例来说,预测单元32可使用6分接头内插滤波器(例如维纳(Wiener)滤波器)来确定半像素位置的像素值。在H.264标准的情况下,6分接头内插滤波器的滤波器系数通常为[1,-5,20,20,-5,1],但可使用其它系数。预测单元32可首先在水平方向上应用内插滤波器且接着在垂直方向上应用内插滤波器,或反之亦然。对于半像素位置“b”及“h”,每一分接头可分别在水平方向及垂直方向上对应于整数像素位置。明确地说,对于半像素位置“b”,6分接头滤波器的分接头对应于C1、C2、C3、C4、C5及C6。同样,对于半像素位置“h”,6分接头滤波器的分接头对应于A3、B3、C3、D3、E3及F3。举例来说,可使用方程式(1)及(2)来计算子像素位置“b”及“h”的像素值:

b=((C1-5*C2+20*C3+20*C4-5*C5+C6)+16)/32                (1)

h=((A3-5*B3+20*C3+20*D3-5*E3+F3)+16)/32                (2)

对于半像素位置“j”,6分接头滤波器的分接头使其自身对应于在位置C1-C6与D1-D6之间水平内插或在位置A3-F3与A4-F4之间垂直内插。可(例如)根据方程式(3)或(4)中的一者通过使用半像素位置的先前内插的像素值的6分接头滤波器来计算半像素位置“j”:

j=((aa-5*bb+20*b+20*hh-5*ii+jj)+16)/32                 (3)

j=((cc-5*dd+20*h+20*ee-5*ff+gg)+16)/32                (4)

其中(如图3所说明)aa对应于A3与A4之间的内插,bb对应于B3与B4之间的内插,b对应于C3与C4之间的内插,hh对应于D3与D4之间的内插,ii对应于E3与E4之间的内插,且jj对应于F3与F4之间的内插。在方程式4中,cc对应于C1与D1之间的内插,dd对应于C2与D2之间的内插,h对应于C3与D3之间的内插,ee对应于C4与D4之间的内插,ff对应于C5与D5之间的内插,且gg对应于C6与D6之间的内插。

与H.264标准一致,预测单元32可使用双线性内插滤波器及周围整数像素位置及半像素位置的像素值来确定四分之一像素位置“a”、“c”、“d”、“e”、“f”、“g”、“i”、“k”、“l”、“m”、“n”及“o”处的像素值。举例来说,预测单元32可使用C3及“b”的像素值来确定与子像素位置“a”相关联的像素值,使用“b”及C4的像素值来确定与子像素位置“c”相关联的像素值,依此类推。

由MC单元37应用以产生子像素位置处的经内插数据的实际滤波器可经受广泛多种实施方案。作为一个实例,预测单元32可使用如下文所述的自适应内插滤波器(AIF)来定义所述经内插值。ITU-T SG16/Q.6/VCEG(视频译码专家小组)委员会一直在研究提供比H.264高的译码效率的译码技术且明确地说为AIF。AIF提供优于H.264标准中所使用的内插滤波的大译码增益,尤其是对具有高分辨率(例如,720i/p或1080i/p)的视频序列。在AIF中,通过最小化预测误差能量来针对每一视频帧分析计算每一子像素位置的内插滤波器。这帮助解决原始及参考视频帧中含有的混叠、量化及运动估计误差、相机噪声或其它假影。用于每一帧的经分析导出的自适应滤波器系数接着经预测、量化、译码且在视频位流中发送。本发明的技术中的一些可在AIF方案以及许多其它内插方案内工作。

存在与本发明的方面一致的许多不同类型的AIF方案。举例来说,第一方案为二维非可分离AIF(NS-AIF),第二方案为可分离AIF(S-AIF),且第三方案为具有方向性滤波器的AIF(D-AIF)。虽然这些AIF方案中的每一者使用不同内插技术及支持,但所有三个AIF方案可使用类似分析过程来导出滤波器系数,在下文中使用非可分离AIF作为实例来对此进行解释。

假定6×6二维非可分离滤波器具有系数其中i,j=0…5且SP表示图3所示的15个子像素位置(“a”到“o”)中的一者。应注意,所述15个子像素位置中的6个位置(即,“a”、“b”、“c”、“d”、“h”及“l”)为一维(1D)子像素位置,且预测单元32可使用6分接头内插滤波器来内插所述数据。子像素位置“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。接着,可由预测单元32使用以下方程式来计算子像素位置SP(SP∈{a,…,o})处的经内插值pSP

pSP=Σi=05Σj=05Pi,jhi,jSP.---(5)

令Sx,y为位置(x,y)处的当前视频帧中的像素值。

其中(mvx,mvy)为运动向量,为运动向量的整数分量,且FO为滤波器偏移。值为参考帧中的对应像素位置。举例来说,在6分接头滤波器的情况下,FO=6/2-1=2。对于每一子像素位置SP,可由预测单元32针对具有对应于子像素位置SP的运动向量精度的所有像素累积当前帧中的实际像素值与经内插值之间的预测误差能量(eSP)2。可由预测单元32使用以下方程式来计算预测误差能量(eSP)2

(eSP)2=ΣxΣy(Sx,y-px,ySP)2=ΣxΣy(Sx,y-Σi=05Σj=05hi,jSPPx~+i,y~+j)2---(6)

对于子像素位置a到o中的每一者,MC单元37可通过计算(eSP)2相对于滤波器系数的导数来设定个别方程式集合。在此情况下,方程式的数目等于用于当前子像素位置SP的滤波器系数的数目。对于每一二维(2D)子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”,预测单元32可使用6×6分接头2D内插滤波器。子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”在其不位于两个整数像素位置之间的垂直线或水平线中的意义上来说为2D的。在此情况下,可由MC单元37来对具有三十六个未知数的三十六个方程式的方程组求解。剩余的1D子像素位置“a”、“b”、“c”、“d”、“h”及“l”可仅需要1D内插滤波器(例如,1D 6分接头滤波器)。在1D 6分接头滤波器的情况下,可由MC单元37来对六个方程式的方程组求解。

0=(eSP)2hk,lSP

=hk,lSP(ΣxΣy(Sx,y-ΣiΣjhi,jSPPx~+i,y~+j)2)---(7)

=ΣxΣy(Sx,y-ΣiΣjhi,jSPPx~+i,y~+j)Px~+k,y~+l

k,l{0;5}

滤波器39可表示可由MC单元37用以产生预测性数据的一个滤波器或许多个不同滤波器的集合。

因此,导出及应用AIF滤波器的一个实例过程可具有以下步骤,其可由预测单元32执行:

1.估计每个待译码的视频块的运动向量(mvx,mvy)。在运动估计期间,可应用固定内插滤波器(例如,H.264/AVC的内插过程)。

2.使用这些运动向量,累积当前视频帧内的每一子像素位置SP的预测误差能量。接着,通过如在上述两个预测能量方程式中最小化预测误差能量来独立地计算每一子像素位置SP的自适应滤波器系数

3.估计新的运动向量。在此运动估计过程期间,可应用在步骤2中计算出的自适应内插滤波器。使用所述自适应内插滤波器,减少由混叠、相机噪声等造成的运动估计误差且实现更好的运动预测。

不同AIF方案可使用如上文给出的相同分析过程。所述不同方案之间的差异主要存在于所使用的唯一滤波器系数的数目(无论内插滤波器是可分离的还是不可分离的)及所使用的滤波器支持(即,用于内插子像素位置的至少一部分的整数像素位置)。在这些方案中的每一者中,可对AIF滤波器强加特定对称性约束以减少需要编码且在视频位流中发送的滤波器系数的数目。

对于NS-AIF,举例来说,预测单元32的MC单元37可使用1D 6分接头内插滤波器(还被称为6位置滤波器,因为每一分接头与一整数像素位置对应)来内插1D子像素位置“a”、“b”、“c”、“d”、“h”及“l”,所述1D 6分接头内插滤波器需要六个系数。用于内插1D子像素的6位置滤波器的六个系数各自与图3所说明的整数像素位置中的一者对应。举例来说,对于子像素位置“a”、“b”及“c”,对应于所述系数的六个整数像素位置为C1、C2、C3、C4、C5及C6,且对于子像素位置“d”、“h”及“l”,对应于所述系数的六个整数像素位置为A3、B3、C3、D3、E3及F3。这些整数像素位置表示内插滤波器的“滤波器支持”。

预测单元32可使用2D 6×6内插滤波器来内插2D子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”,所述2D 6×6内插滤波器需要三十六个滤波器系数。用于内插2D子像素的2D 6×6内插滤波器的三十六个系数各自与整数像素位置A1-A6、B1-B6、C1-C6、D1-D6、E1-E6及F1-F6对应。这些整数像素位置表示内插滤波器的“滤波器支持”。如果不强加额外限制(例如,无系数或像素对称性),则视频编码器50可对用于2D子像素位置的九个具有三十六个系数的集合及用于1D子像素位置的六个具有六个系数的集合(总共360个系数)进行编码及发射。对所述数目的系数进行编码及在视频位流中发送可导致昂贵的位开销。对于给定失真级别,高位开销又可能增加位速率,这是不合需要的。

为了减少与发送滤波器系数相关联的位开销,可将特定对称性限制强加于内插滤波器以减少需要发送到解码器28的唯一滤波器系数的数目。可单独地或组合地强加两种类型的对称性(即,像素对称性及系数对称性)。像素对称性针对不同子像素位置强制实行相同的滤波器系数集合(及所述集合的经镜射、倒转及/或旋转版本)。像素对称性还可被称为子像素对称性,只要所述像素对称性适用于与两个或两个以上子像素位置相关联的滤波器系数。另一方面,系数对称性强制给定内插滤波器针对各个滤波器支持位置相对于待内插的给定子像素值的其它滤波器支持位置在特定方向(例如,水平方向、垂直方向或两者)上对称。

像素对称性可用于NS-AIF中。再次参看图3,令为用于子像素位置“a”的滤波器系数集合,则用于子像素位置“c”的滤波器系数集合为即,呈逆序或经水平倒转的相同系数。也就是说,可分别使用(8)及(9)来计算子像素位置“a”处的预测像素值pa及子像素位置“c”处的预测像素值pc

pa=h0a·C1+h1a·C2+h2a·C3+h3a·C4+h4a·C5+h5a·C6---(8)

pc=h5a·C1+h4a·C2+h3a·C3+h2a·C4+h1a·C5+h0a·C6---(9)

可分别使用与子像素位置“a”及“c”相同的内插滤波器系数集合来内插子像素位置“d”及“l”。因而,子像素位置“a”及“c”可具有相对于子像素位置“d”及“l”的像素对称性。

本发明的一个方面为实际上移除子像素位置“a”及“c”相对于子像素位置“d”及“l”之间的像素对称性。另外,可避免子像素位置“f”相对于子像素位置“i”的像素对称性。另外,可避免子像素位置“k”相对于子像素位置“n”的像素对称性。在此些情况下,对角相关可为低的,进而使得在这些情况下强加对角对称性为效率低或无效的。

作为另一实例,令为用于子像素位置“e”的6×6 2D滤波器系数集合。于是,用于位置“g”的滤波器系数集合为(经水平倒转的版本)。类似地,用于子像素位置“m”的滤波器系数集合为(经垂直倒转的版本),且用于子像素位置“o”的滤波器系数集合为(首先经水平倒转且接着经垂直倒转)。因而,子像素位置“e”、“g”、“m”及“o”具有像素对称性。以与上文给出的实例类似的方式来强加子像素位置“b”与“h”之间及位置“f”、“i”、“k”及“n”之间的对称性。在此像素对称性约束下,仅剩下五个唯一滤波器集合群组,即,用于子像素群组“a”、“c”、“d”及“l”的第一滤波器系数集合、用于子像素群组“b”及“h”的第二滤波器系数集合、用于子像素群组“e”、“g”、“m”及“o”的第三滤波器系数集合、用于群组“f”、“i”、“k”及“n”的第四滤波器系数集合及用于子像素群组“j”的第五滤波器系数集合。

此外,NS-AIF可将系数对称性限制单独地或与上述子像素对称性组合地强加于这些滤波器集合中的一些。在一些情况下,可特意地避免对角系数对称性,例如,消除任何对角系数对称性约束。在一个例子中,无系数对称性强加于用于第一子像素位置群组的滤波器,所述第一子像素位置群组包括子像素位置“a”、“c”、“d”及“l”。然而,根据方程式(10),第二子像素位置群组(其包括系数“b”及“h”)可具有系数对称性。

h0b=h5b,h1b=h4b,h2b=h3b---(10)

同样,如分别在方程式(11)、(12)及(13)中所给出,用于第三、第四及第五子像素位置群组(其分别包括子像素位置“e”、“f”及“j”)的内插滤波器的系数可具有系数对称性。

其中i,j=0…5,i≠j                        (11)

其中i,j=0…5                              (12)

在上述的此些像素对称性及系数对称性约束下,唯一滤波器系数的数目可从360个(无对称性约束)减少到6(a)+3(b)+21(e)+18(f)+6(j)=54个系数,即,用于包括子像素位置“a”的群组的6个系数、用于包括子像素位置“b”的群组的3个系数、用于包括子像素位置“e”的群组的21个系数、用于包括子像素位置“f”的群组的18个系数及用于包括子像素位置“j”的群组的6个系数。因此,在NS-AIF中,视频编码器22可对五十四个系数而非对在无对称性约束的情况下的360个系数进行编码及发射。如上所述,可基于上述方程式(7)来对所述五十四个系数分析求解。视频编码器50可接着预测、量化、译码(例如,使用带正负号的指数哥伦布(Exp-Golomb)码)所述系数且在位流中发送所述系数。下文更详细地论述关于滤波器系数的预测性译码的额外细节。与本发明一致,系数预测及量化单元41可用于滤波器系数的预测性译码及量化。

在另一AIF方案(即,S-AIF)中,预测单元32可在水平方向上及在垂直方向上使用可分离内插滤波器,而非如NS-AIF中所使用的非可分离内插滤波器。对于1D子像素位置,预测单元32(例如,预测单元32的MC单元37)取决于子像素位置而仅应用水平方向性滤波器或仅应用垂直方向性滤波器。在一个实例中,水平及垂直方向性滤波器包含6位置(或6分接头)滤波器。预测单元32在整数像素位置C1、C2、C3、C4、C5及C6(见图3)作为滤波器支持的情况下将水平方向性滤波器应用于子像素位置“a”、“b”及“c”,且在整数像素位置A3、B3、C3、D3、E3及F3(见图3)作为滤波器支持的情况下将垂直方向性滤波器应用于子像素位置“d”、“h”及“l”。对于剩余子像素位置(即,2D子像素位置),预测单元32首先应用水平滤波,随后是垂直滤波,或首先应用垂直滤波,随后是水平滤波。同样,可根据上述方程式(7)来计算用于可分离水平及垂直滤波器的滤波器系数。在无任何对称性的情况下,S-AIF可将需要译码且发送的系数的数目从在无对称性的NS-AIF的情况下的360个系数减少到144个系数。

S-AIF可进一步将一个或一个以上对称性限制强加于所述内插滤波器中的至少一些。不同于NS-AIF的子像素对称性,在S-AIF的情况下,用于子像素位置“a”及“c”的滤波器集合不是对称的,即,彼此的经水平倒转的版本。而是,用于子像素位置“a”及“c”的滤波器集合的系数分别彼此独立地导出为及对于具有垂直移动的每一子像素位置,子像素对称性类似于NS-AIF。也就是说,用于子像素位置“d”及“l”的系数、用于子像素位置“e”及“m”的系数、用于子像素位置“f”及“n”的系数及用于子像素位置“g”及“o”的系数分别为彼此的经垂直倒转的版本。举例来说,如果用于子像素位置“d”的垂直滤波器的系数为则用于子像素位置“l”的垂直滤波器的系数为因此,S-AIF中所使用的子像素对称性仅在一个维度中具有垂直子像素对称性。然而,S-AIF不具有水平子像素对称性。S-AIF中的子像素对称性可将需要编码并发送的系数的数目从144个系数减少到102个系数。

如同NS-AIF,S-AIF还可使用系数对称性来进一步减少需要由视频编码器50编码并发送的系数的数目。S-AIF中所使用的系数对称性可与NS-AIF中相同,不同之处在于在S-AIF中仅存在1D(水平或垂直)6分接头滤波器。换句话说,不存在6×6 2D滤波器。在S-AIF中,对于每一子像素位置SP(SP∈{b,h,i,j,k},),如方程式(14)中所指示,滤波器系数可具有对称性。

h0SP=h5SP,h1SP=h4SP,h2SP=h3SP---(14)

因此,在具有子像素对称性及系数对称性两者的情况下,S-AIF滤波器可具有十一个唯一1D 6分接头滤波器集合,其中的五个集合为各自具有三个唯一系数的对称滤波器。剩余六个滤波器可各自具有六个唯一系数。在此情况下,视频编码器22可量化、预测、译码总共五十一个唯一滤波器系数并在视频位流中发送所述五十一个唯一滤波器系数。

在另一AIF方案(D-AIF)中,预测单元32将方向性滤波器用于2D子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”。所述方向性滤波器可包含六分接头滤波器,且系数可具有对称性,使得仅需要发射所述系数的子集。如本文所描述,滤波器支持指代来自用于内插子像素位置的参考帧的像素位置。MC单元37可用具有整数像素位置A1、B2、C3、D4、E5及F6作为滤波器支持的6位置(或6分接头)对角内插滤波器来计算子像素位置“e”及“o”。预测单元32可用具有整数像素位置A6、B5、C4、D3、E2及F1作为滤波器支持的6位置对角内插滤波器来计算子像素位置“g”及“m”。预测单元32可用具有整数像素位置A1、B2、C3、D4、E5、F6、A6、B5、C4、D3、E2及F1作为滤波器支持的12位置对角内插滤波器来计算子像素位置“f”、“i”、“j”、“k”及“n”。

D-AIF可使用与上文关于NS-AIF描述的子像素及系数对称性相同的子像素及系数对称性。在子像素对称性的方面,存在用于内插十五个子像素位置的五个唯一滤波器系数集合,其中子像素位置“a”、“c”、“d”及“l”共享相同滤波器系数(例如,经镜射、倒转及/或旋转版本),子像素位置“e”、“g”、“m”及“o”共享相同滤波器系数(例如,经镜射、倒转及/或旋转版本),子像素位置“b”及“h”共享相同滤波器系数(“b”为水平滤波器且“h”为垂直滤波器),子像素位置“f”、“i”、“k”及“n”共享相同滤波器系数(例如,经镜射、倒转及/或旋转版本),且子像素位置“j”具有其自身的滤波器系数集合。

在系数对称性的方面,用于包括“a”、“c”、“d”及“l”的第一子像素群组的滤波器系数使用具有六个唯一系数的1D 6位置滤波器(即,所述第一群组为非对称的),用于第二子像素群组“b”及“h”的滤波器系数使用具有三个唯一系数的1D 6位置滤波器(即,b为对称的),且用于子像素群组“e”、“g”、“m”及“o”的第三滤波器系数集合使用具有六个唯一系数的方向性6位置滤波器。用于群组“f”、“i”、“k”及“n”的第四滤波器系数集合使用具有6个唯一系数的12分接头滤波器,且用于群组“j”的第五滤波器系数集合具有三个唯一系数。D-AIF方案中的唯一系数的总数为6(a)+3(b)+6(e)+6(f)+3(j)=24个系数。这些滤波器系数可经预测、量化、译码且在视频位流中发送。

预测单元32的MC单元37可使用本文所描述的内插技术中的一者或一者以上来增强子像素位置的内插的准确性及/或减少需要编码并发射的内插滤波器系数的数目。下文更详细地描述可用于内插的具有放射状形状的有用十二像素滤波器支持、使用系数对称性及像素对称性来减少为了配置用于内插的滤波器支持而需要在编码器与解码器之间发送的数据量的技术、用于相对于常规技术移除对称性的一些方面的技术及用于以类似于子像素内插的方式来对整数像素位置处的数据进行滤波的技术。还描述偏移技术。另外,还描述用于在内插滤波器之间进行选择的技术及用于对滤波器系数进行预测性编码的技术。

图4为说明关于九个子像素位置的十二像素滤波器支持的概念图。根据本发明,MC单元37可基于有阴影的整数像素值来计算子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”的子像素值。在此情况下,计算子像素值包含应用内插滤波器,所述内插滤波器如图4所说明定义对应于围绕子像素位置的十二个(或可能更多个)整数像素位置的集合的二维滤波器支持位置阵列。滤波器支持位置被展示为具有阴影及大写字母,且子像素位置被展示为具有虚线及小写字母的方框。MC单元37可以此方式针对视频块的每个像素内插像素,且可基于经内插的子像素值来产生预测块。所述12位置滤波器支持具有放射状形状,且具有与NS-AIF中所使用的36位置滤波器支持类似的频率响应但具有大量减少的内插复杂性。

如可从图3中了解到,子像素值可包含十五个半像素值及四分之一像素值。如图4所示,将定义二维滤波器支持位置阵列的内插滤波器应用于定义所述十五个半像素值及四分之一像素值中的九个值。

围绕子像素位置的十二个或十二个以上整数像素位置的集合在图4中被展示为具有阴影,且可包括围绕所述九个半像素值及四分之一像素值的四个整数像素位置C3、C4、D3及D4以及围绕所述四个整数像素位置的八个整数像素位置B3、B4、C2、C5、D2、D5、E3及E4。图4所示的二维滤波器支持位置阵列中的滤波器支持位置中的每一者是在相对于所述子像素位置的两个整数像素位置内。在由视频编码器50(图2)进行的视频编码过程期间或在由视频解码器60(图16)进行的视频解码过程期间,此滤波可形成运动补偿的一部分。在视频编码过程期间,预测单元32将多个系数值集合作为预测语法元素的一部分转发到熵译码单元46。如图4所示,围绕子像素位置的十二个或十二个以上整数像素位置的集合具有放射状形状且可包含在空间上最接近于由内插滤波器(例如,图2中的滤波器39)定义的九个半像素值及四分之一像素值的整数像素位置的集合。

熵译码单元46可对所述系数值集合进行编码且将所述内插滤波器的系数值作为经编码位流的一部分来输出,可接着将所述经编码位流发射到另一装置。关于图4所示的每一不同子像素位置所定义的所述多个系数值集合中的每一者可针对所述十二个或十二个以上整数像素位置定义不同权数。可存在像素对称性,使得M个系数值集合针对所述十二个或十二个以上整数像素位置定义N个不同权数,其中M及N为正整数且N大于M。换句话说,像素对称性可允许像素位置中的一些依赖于其它像素位置的经镜射、反转或旋转权数,使得不需要针对与其它子像素位置具有像素对称性的位置而对系数进行译码。

图5为说明关于三个水平子像素位置的水平六像素滤波器支持及关于三个垂直子像素位置的垂直六像素滤波器支持的概念图。滤波器支持位置有阴影且具有大写字母,且子像素位置无阴影且具有小写字母及虚线。MC单元37可通过应用线性内插滤波器来计算位置“a”、“b”及“c”的子像素值,所述线性内插滤波器定义滤波器支持位置C1-C6的一维阵列。MC单元37还可通过应用线性内插滤波器来计算位置“d”、“h”及“l”的子像素值,所述线性内插滤波器定义滤波器支持位置A3-F3的一维阵列。以此方式,可将线性内插滤波器用于图3所示的十五个半像素值及四分之一像素值中的六个值。

图6为说明用于对整数像素位置进行滤波的五像素×五像素滤波器支持的概念图。在此情况下,可相对于整数像素位置应用似内插滤波以便产生经调整整数像素值。在图6中,举例来说,可基于五×五像素阵列A1-A5、B1-B5、C1-C5、D1-D5及E1-E5来对位置C3处的整数像素值进行滤波。可针对整数滤波定义其它滤波器支持。在此情况下,如果ME单元35识别整数像素块,则MC单元37可基于图6所示的五×五像素阵列(或其它滤波器支持)来对每一像素进行滤波以产生经滤波整数像素值。以此方式,可将似内插滤波应用于整数像素,这可在照度改变或场景淡入或淡出时改进编码。另外,整数滤波可移除噪声且促进图像帧锐化,且可尤其在未对滤波器系数强加对称性时帮助改进连续视频帧之间的精细对象移动的编码。整数像素滤波也可极有用于改进具有焦点改变的视频序列的质量及/或压缩。

因此,视频编码器22及/或视频解码器28可相对于整数像素位置使用似内插滤波以便产生经调整整数像素值。视频编码器22或视频解码器28可(例如)获得像素块,其中所述像素块包括对应于像素块内的整数像素位置的整数像素值。视频编码器22或视频解码器28可:基于所述像素块内的其它整数像素值来对整数像素值进行滤波以产生经调整整数像素值,其中所述经调整整数像素值对应于整数像素位置;及基于所述经调整整数像素值来产生预测块。接着,取决于所述过程是在编码期间执行还是在解码期间执行,可使用所述预测块来对视频块进行编码或解码。

如果所述技术是在编码过程期间执行,则视频编码器22可将残余视频块产生为正被编码的当前视频块与所述预测块之间的差。视频编码器22还可针对整数滤波而每经译码单元对一个滤波器系数集合进行编码,或可能针对在经译码单元内的不同位置处的整数滤波而每经译码单元对两个或两个以上滤波器系数集合进行编码。在图6的实例中,用于整数滤波的滤波器支持可定义二维滤波器,例如,具有偏移的5×5滤波器。此外,用于所述滤波的至少一些系数之间可存在系数对称性,使得仅需要所述25个不同系数的子集来确定所述滤波器的所有25个系数。可根据整数像素滤波而使用许多其它滤波器大小及形状。

如果在解码过程期间执行所述整数像素滤波,则所述技术可包含将经重构视频块产生为与正被解码的当前视频块相关联的残余视频块与所述预测块的和。在此情况下,解码装置(例如,目的地装置16)可针对整数滤波而每经译码单元接收一个滤波器系数集合,或可针对在经译码单元内的不同位置处的整数滤波而每经译码单元接收两个或两个以上滤波器系数集合。每一经译码单元可具有一个或一个以上整数像素滤波系数集合以及多个子像素滤波系数集合,例如,可用于产生用于半像素位置及四分之一像素位置的所有十五个集合的八个集合。

同样,整数像素值的似内插滤波可具体来说在照度改变、场景淡入或淡出期间改进压缩,可移除噪声且促进图像帧锐化,且可尤其在未对滤波器系数强加对称性时帮助改进连续视频帧之间的精细对象移动的编码。此外,还发现整数像素滤波在具有焦点改变的视频序列中极有用(例如,以改进压缩)。

常规上,在AIF中不对整数像素位置执行似内插滤波。而是,仅“按原样地”使用参考帧中的对应整数像素位置。然而,根据本发明,可以类似于内插的方式来将滤波器用于整数像素位置。整数像素位置上的内插滤波在技术上为误称,因为整数像素位置的像素值已经存在。因此,整数像素位置的滤波在本文中被称为似内插滤波,且可被视为仅对整数像素值进行滤波以产生新的经调整像素值。

不同于用于子像素位置的内插滤波(其中目标是获得在参考帧中不存在的值),在参考帧中的整数位置处的像素已经存在。然而,在参考帧中的整数像素位置上应用滤波提供许多益处。举例来说,当整数像素位置含有偏移时,所述整数像素位置的滤波可允许更好地捕获帧之间的照度改变。另外,整数像素位置上的滤波可允许整数像素位置捕获例如淡入及淡出等特效。整数像素位置上的滤波还可移除特定信号噪声(例如相机噪声)及/或执行锐化(如果需要)。此外,如果无对称性强加于整数像素滤波器,则整数像素滤波器可帮助捕获精细对象移动,例如并非为四分之一像素的倍数的对象移动。最后,整数像素滤波还可有用于在发生焦点改变时改进视频序列的压缩。

在一些例子中,整数像素位置的内插滤波可取决于运动向量。换句话说,预测单元32的MC单元37可基于由ME单元35识别的运动向量来自适应地应用内插滤波。举例来说,在运动向量指向整数像素位置时,可执行整数像素位置的内插滤波。所述内插滤波可导致用于整数像素位置的经调整像素值。当运动向量指向子像素位置时,不相对于整数像素值执行整数像素位置的滤波,但可将滤波用于子像素值的内插。以此方式,可将整数像素滤波视为基于运动向量而自适应的。

对于整数像素位置,可使用用于导出子像素位置滤波器的相同分析过程来导出呈方程式(15)的形式的5×5内插滤波器。

pFP=Σi=04Σj=04Pi,jhi,jFP+oFP,---(15)

其中pFP为经滤波整数像素值,Pi,j为位置(i,j)处的整数像素值,hFPi,j为用于位置(i,j)的系数,且oFP为滤波器偏移。在一些例子中,用于整数像素位置的内插滤波器可不具有滤波器偏移(即,oFP=0)。在其它例子中,滤波器偏移oFP可使用许多技术中的任一者。

可针对每一子像素位置定义不同偏移,例如,可针对图3所示的每一子像素位置定义十五个不同偏移。可针对整数像素定义另一偏移,进而使总偏移数为十六。为卡兹维茨(Karczewicz)等人申请且标题为“具有子像素分辨率的偏移(OFFSETS AT SUB-PIXELRESOLUTION)”的具有档案号081399U2的共同待决且共同转让的第___号美国专利申请案提供关于针对不同像素及子像素位置使用许多偏移的许多额外细节,所述专利申请案与本申请案在同一天申请且以引用的方式并入本文中。

为了减少待发射的滤波器系数的数目,可将如方程式(16)中的系数对称性强加于整数像素滤波器。

其中i,j=0…4                        (16)

还可使用其它形式的系数对称性。是否强加系数对称性可由编码器来决定且用信号通知解码器。如果在整数像素滤波器上使用如(16)中的对称性,则可需要将9个滤波器系数及1个偏移发送到解码器。

可通过首先对整数偏移进行译码且接着对每一分数偏移进行译码来进行偏移的译码。在此情况下,以不同方式来对整数偏移及分数偏移进行译码。可使用带正负号的指数哥伦布码来对整数偏移进行译码。取决于整数偏移的量值,可以与整数偏移不同的方式来对分数偏移进行量化。举例来说,当整数偏移具有大量值时,可将较粗级别的量化应用于分数偏移。在量化之后,可使用固定长度码来对分数偏移进行译码。作为实例,以下伪码可说明可如何使用基于整数偏移值而定义的不同固定长度码来对给定分数偏移进行译码。

Let offsetI be the integer offset

Let offsetF be the fractional offset

Let offsetFbits be the number of bits used to quantize offsetF

Let abs(a)be the absolute value of a

       if(abs(offsetI)=0)

                offsetFbits=5

       else if(abs(offsetI)<3)

                offsetFbits=4

       else if(abs(offsetI)<7)

                offsetFbits=2

       else

                offsetFbits=0

在此情况下,视频编码器50可使用系数预测及量化单元41,所述系数预测及量化单元41针对偏移值中的每一者将第一数目的位指派给给定偏移值的整数部分且将第二数目的位指派给所述给定偏移值的分数部分,其中所述第一及第二位数目是基于所述整数部分的量值来确定的。在此情况下,在与上述伪码一致地执行偏移值的量化之后,可将偏移值的经量化版本作为预测语法元素从预测单元32转发。在任何情况下,视频编码器50可以与第二数目的位不同的方式来对第一数目的位进行编码。

图7为说明与本发明一致的四个整数像素位置及十五个子像素位置的概念图,其中阴影用以对可使用滤波器系数的像素对称性的像素位置进行分组。明确地说,图7说明对应于整数像素位置C3的子像素位置“a”到“o”。图7所示的子整数像素位置对应于图4及图5所示的子整数像素位置。也就是说,子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”可具有由如图4所示的十二像素支持来确定的值,而子像素位置“a”、“b”及“c”以及子像素位置“d”、“h”及“l”可具有由图5所示的水平及线性像素支持来确定的值。

在此情形下,可强加像素对称性,使得用于像素位置“a”的滤波器系数相对于用于像素位置“c”的滤波器系数对称。类似地,可强加像素对称性,使得用于像素位置“d”的滤波器系数相对于用于像素位置“l”的滤波器系数对称。可强加像素对称性,使得用于像素位置“e”的滤波器系数相对于用于像素位置“g”、“m”及“o”的滤波器系数对称,且可强加像素对称性,使得用于像素位置“i”的滤波器系数相对于用于像素位置“k”的滤波器系数对称,且可强加像素对称性,使得用于像素位置“f”的滤波器系数相对于用于像素位置“n”的滤波器系数对称。因此,可仅需要将八个系数值集合作为视频位流的一部分来传送,以便使解码器能够产生用于所有十五个像素位置的完整系数值集合。此外,对于任一给定系数集合,系数对称性可允许仅发送所述系数值的子集,且解码器可基于所述子集及系数对称性来产生用于给定像素位置的完整系数值集合。

本发明的一个方面为实际上移除子像素位置“a”及“c”相对于子像素位置“d”及“l”之间的任何像素对称性。另外,可避免子像素位置“f”相对于子像素位置“i”的像素对称性。另外,可避免子像素位置“k”相对于子像素位置“n”的像素对称性。在此些情况下,对角相关可为低的,进而使得强加对角对称性为效率低或无效的。以此方式,用于产生所有十五个系数集合的八个系数集合可为比一些常规技术大的集合,只要避免所述像素位置中的一些在对角维度上的对称性。在一些情况下,可消除或避免对角像素对称性及对角系数对称性以允许垂直维度上的变化。

再次参看图1,视频编码器22可确定八个滤波器系数集合且使用所述八个滤波器系数集合以基于系数对称性及像素对称性来产生对应于十五个不同子像素位置的所有十五个滤波器系数集合,且将所述八个滤波器系数集合作为经编码位流的一部分来输出。可针对所述经编码位流的每个经译码单元输出八个滤波器系数集合,或可能可针对经译码单元的不同区域输出所述八个滤波器系数集合的若干次出现。

所述十五个集合对应于图3所示的每个半像素及四分之一像素子像素位置,且所述八个集合、所述系数对称性及所述像素对称性定义每个半像素及四分之一像素子像素位置的滤波器支持。目的地装置16的视频解码器28可:将八个滤波器系数集合作为经编码视频位流的一部分来接收;基于所述八个滤波器系数集合来产生对应于十五个不同子像素位置的十五个滤波器系数集合;基于所述十五个滤波器系数集合中的一者来产生用于视频解码的经内插预测性数据,其中所述经内插预测性数据对应于所述十五个不同子像素位置中的一者;及基于所述经内插预测性数据来对一个或一个以上视频块进行解码。

所述八个滤波器系数集合中的至少一些可具有系数对称性,使得具有系数对称性的给定集合包含与用于与所述给定集合相关联的给定子像素位置的滤波器支持相关联的滤波器系数的子集。因此,视频解码器28可至少部分基于两个或两个以上不同子像素位置之间的像素对称性来产生所述十五个滤波器系数集合。此外,视频解码器28可至少部分基于两个或两个以上不同子像素位置之间的像素对称性且至少部分基于针对给定集合定义的系数对称性来产生所述十五个滤波器系数集合,其中针对给定集合定义系数对称性以使得具有系数对称性的所述给定集合包含与用于与所述给定集合相关联的给定子像素位置的滤波器支持相关联的滤波器系数的子集。

同样,所述十五个集合可对应于每个半像素及四分之一像素子像素位置。在所述十五个滤波器系数集合中的不同者之间在垂直维度上及在水平维度上可存在像素对称性,但所述十五个滤波器系数集合中的至少一些在对角维度上可不存在像素对称性。如下文更详细地解释,所述八个集合中的两个集合可定义所述十五个集合中的用于水平滤波器支持的三个集合,所述八个集合中的两个集合可定义所述十五个集合中的用于垂直滤波器支持的三个集合,且所述八个集合中的四个集合可定义所述十五个集合中的用于二维滤波器支持的九个集合。所述二维支持可包含以放射状形状来围绕九个子像素位置的有用12位置滤波器支持。

具体来说,经内插预测性数据可包含十五个半像素值及四分之一像素值(例如,展示于图7中),其中内插滤波器定义十二个滤波器支持位置的二维阵列(例如,展示于图4中),所述十二个滤波器支持位置应用于定义所述十五个半像素值及四分之一像素值中的九个值且(例如)也展示于图4中。产生所述经内插预测性数据可进一步包含应用定义用于所述十五个半像素值及四分之一像素值中的六个值的一维滤波器支持位置阵列(例如,如图5所示)的线性内插滤波器。

可相对于子像素位置“a”与“c”或相对于子像素位置“i”与“k”看出水平对称性及缺少对角对称性。在此情况下,子整数像素位置“a”与“c”沿着水平X轴对称,但这些像素沿着对角轴不存在对称性,使得子像素位置“d”及“l”分别不相对于子像素位置“a”及“c”对称。类似地,子像素位置“i”与“k”沿着水平X轴对称,但这些像素沿着对角轴不存在对称性,使得子像素位置“f”及“n”分别不相对于子像素位置“i”及“k”对称。

像素对称性意味着关于第一子像素位置的第一系数集合相对于关于第二子像素位置的第二系数集合对称。举例来说,像素位置“a”相对于像素位置“c”具有像素对称性,且像素位置“d”相对于像素位置“l”具有像素对称性。像素位置“f”相对于像素位置“n”具有像素对称性,且像素位置“i”相对于像素位置“k”具有像素对称性。像素位置“e”相对于像素位置“g”、“m”及“o”具有像素对称性。图7中所示的阴影演示此像素对称性,例如,其中共同阴影对应于相对于其它像素位置对称的像素位置。在此情况下,用于八个像素位置的系数(连同像素对称性的方面)可定义用于所有十五个像素位置的系数。另外,在给定系数集合内,可存在系数对称性,使得仅需要用位流传送所述系数集合中的所述系数的子集。

视频编码器22可基于经内插预测性数据来产生经编码视频数据,其中所述经内插预测性数据包含十五个半像素值及四分之一像素值,其中内插滤波器定义十二个滤波器支持位置的二维阵列,所述十二个滤波器支持位置应用于定义所述十五个半像素值及四分之一像素值中的九个值。基于经内插预测性数据而产生经编码视频数据可进一步包含应用定义用于所述十五个半像素值及四分之一像素值中的六个值的一维滤波器支持位置阵列的线性内插滤波器。

图8为说明相对于子像素位置“b”的六个水平线性像素支持位置C1-C6的概念图,其中阴影展示系数对称性。在此情况下,系数对称性意味着仅需要用于C1、C2及C3的三个滤波器系数以便定义用于滤波器支持位置C1-C6的整个系数集合。C1与C6对称,C2与C5对称,且C3与C4对称。因此,仅需要将三个系数作为经编码视频位流的一部分来传送以便定义内插子像素位置“b”所需要的六个系数的集合。

图9为说明相对于子像素的六个水平线性像素支持位置的概念图,其中阴影展示任何系数对称性的缺少。因此,需要所有六个系数以便定义关于子像素位置“a”的滤波器支持的系数集合。然而,如上所注明,像素对称性意味着关于子像素位置“a”的这些相同系数还可用于导出子像素位置“c”的滤波器支持(见图7)。因此,仅需要将六个系数作为经编码视频位流的一部分来传送以便定义内插子像素位置“a”及“c”所需要的两个具有六个系数的不同集合。

图10为说明相对于子像素“h”的六个垂直线性像素支持位置A3、B3、C3、D3、E3及F3的概念图,其中阴影展示系数对称性。在此情况下,系数对称性意味着仅需要用于A3、B3及C3的三个滤波器系数以便定义用于滤波器支持位置A3、B3、C3、D3、E3及F3的整个系数集合。A3与F3对称,B3与E3对称,且C3与D3对称。因此,仅需要将三个系数作为经编码视频位流的一部分来传送以便定义内插子像素位置“h”所需要的六个系数的集合。

图11为说明相对于子像素的六个垂直线性像素支持位置的概念图,其中阴影展示任何系数对称性的缺少。

因此,需要所有六个系数以便定义关于子像素位置“d”的滤波器支持的系数集合。然而,如上所注明,像素对称性意味着关于子像素位置“d”的这些相同系数还可用于导出子像素位置“l”的滤波器支持(见图7)。因此,仅需要将六个系数作为经编码视频位流的一部分来传送以便定义内插子像素位置“d”及“l”所需要的两个具有六个系数的不同集合。

图12为说明相对于子像素位置“e”的十二个二维像素支持位置(被展示为具有大写字母及阴影的整数像素位置)的概念图。阴影展示任何系数对称性的缺少。因此,需要所有十二个系数以便定义关于子像素位置“e”的滤波器支持的系数集合。然而,如上所注明,像素对称性意味着关于子像素位置“e”的这些相同系数还可用于导出子像素位置“g”、“m”及“o”的滤波器支持(见图7)。因此,12个系数定义子像素位置“e”的滤波器支持,且这些相同系数可用于导出子像素位置“g”、“m”及“o”的系数集合。

图13为说明相对于子像素“i”的十二个二维像素支持位置(被展示为具有大写字母的整数像素位置)的概念图,其中阴影展示系数对称性。在此情况下,系数对称性意味着滤波器支持位置B3、B4、C2、C3、C4及C5的滤波器系数可用于定义滤波器支持位置E3、E4、D2、D3、D4及D5的滤波器系数。B3与E3对称,B4与E4对称,C2与D2对称,C3与D3对称,C4与D4对称,且C5与D5对称。因此,仅需要将六个系数作为经编码视频位流的一部分来传送以便定义内插子像素位置“i”所需要的十二个系数的集合。此外,如上所注明,子像素位置“i”可相对于子像素位置“k”具有像素对称性。因此,具有六个系数的相同子集可定义子像素位置“i”及“k”的整个具有十二个滤波器系数的集合。

图14为说明相对于子像素“f”的十二个二维像素支持位置(被展示为具有大写字母的整数像素位置)的概念图,其中阴影展示系数对称性。在此情况下,系数对称性意味着滤波器支持位置C2、D2、B3、C3、D3及E3的滤波器系数可用于定义滤波器支持位置C5、D5、B4、C4、D4及E4的滤波器系数。C2与C5对称,D2与D5对称,B3与B4对称,C3与C4对称,D3与D4对称,且E3与E4对称。因此,仅需要将六个系数作为经编码视频位流的一部分来传送以便定义内插子像素位置“f”所需要的十二个系数的集合。此外,如上所注明,子像素位置“f”可相对于子像素位置“n”具有像素对称性。因此,具有六个系数的相同子集可定义子像素位置“f”及“n”的整个具有十二个滤波器系数的集合。

图15为说明相对于子像素“j”的十二个二维像素支持位置(被展示为具有大写字母的整数像素位置)的概念图,其中阴影展示系数对称性。在此情况下,系数对称性意味着仅需要用于B3、C2及C3的三个滤波器系数以便定义用于滤波器支持位置B3、B4、C2、C3、C4、C5、D2、D3、D4、D5、E3及E4的整个具有十二个系数的集合。C3与C4、D3及D4对称,C2与D2、C5及E4对称,且B3与B4、E3及D5对称。因此,仅需要将三个系数作为经编码视频位流的一部分来传送以便定义内插子像素位置“j”所需要的十二个系数的集合。

图16为说明视频解码器的实例的框图,所述视频解码器可对以本文所描述的方式进行编码的视频序列进行解码。视频解码器60为在本文中被称为“译码器”的专门视频计算机装置或设备的一个实例。视频解码器60包括熵解码单元52,所述熵解码单元52对所接收的位流进行熵解码以产生经量化系数及预测语法元素。所述预测语法元素可包括译码模式、一个或一个以上运动向量、识别用以产生子像素数据的内插技术的信息、供在内插滤波中使用的系数及/或与预测块的产生相关联的其它信息。

将预测语法元素(例如,系数)转发到预测单元55。如果使用预测来相对于固定滤波器的系数或相对于彼此对所述系数进行译码,则系数预测及逆量化单元53可对所述语法元素进行解码以定义实际系数。并且,如果将量化应用于预测元素中的任一者,则系数预测及逆量化单元53还可移除此量化。举例来说,可根据本发明对滤波器系数进行预测性译码及量化,且在此情况下,系数预测及逆量化单元53可由视频解码器60用以对此些系数进行预测性解码及解量化。

预测单元55可基于预测语法元素及存储于存储器62中的一个或一个以上先前解码的块以与上文关于视频编码器50的预测单元32详细描述的方式大致相同的方式来产生预测数据。明确地说,预测单元55可在运动补偿期间执行本发明的内插滤波技术中的一者或一者以上以在特定精度(例如四分之一像素精度)下产生预测块。因而,本发明的技术中的一者或一者以上可由视频解码器60用于产生预测块。预测单元55可包括运动补偿单元,所述运动补偿单元包含用于本发明的内插及似内插滤波技术的滤波器。为了说明的简单及简易起见,运动补偿组件未展示于图16中。

逆量化单元56对经量化系数进行逆量化(即,解量化)。逆量化过程可为针对H.264解码所定义的过程。逆变换单元58将逆变换(例如,逆DCT或概念上类似的逆变换过程)应用于变换系数以便在像素域中产生残余块。求和器64将所述残余块与由预测单元55产生的对应预测块求和以形成由视频编码器50编码的原始块的经重构版本。如果需要,则还可应用去块滤波器来对经解码块进行滤波以便移除成块性假影。接着将所述经解码视频块存储于参考帧存储装置62中,所述参考帧存储装置62针对后续运动补偿提供参考块且还产生经解码视频以驱动显示装置(例如图1的装置28)。

NS-AIF技术可使用具有36位置滤波器支持(即,2D 6×6滤波器支持)的内插滤波器来计算2D子像素位置的像素值。S-AIF使用可分离整数像素位置作为滤波器支持以用于首先在水平方向上进行内插滤波且接着在垂直维度上进行内插滤波。D-AIF使用与NS-AIF相比较不复杂的内插滤波器来计算2D子像素位置。在D-AIF中,使用具有6位置滤波器支持或12位置对角滤波器支持的内插滤波器来计算2D子像素位置。

使用如D-AIF中的对角滤波器支持的一个缺点为滤波中所使用的整数像素位置远离待内插的当前位置。随着待内插的当前位置与用作滤波器支持的像素的位置之间的距离增加,空间像素相关性减小。因而,D-AIF中所使用的对角滤波器支持较不适于形成准确预测。

为了使用与待内插的位置具有较高相关性的像素(即,更接近于待内插的位置或与待内插的位置相距较短距离的像素位置)来提供较好预测,同时维持由D-AIF提供的相同低复杂性,可使用图4所示的12位置滤波器支持来进行内插。本发明中所描述的12位置滤波器支持中所使用的整数像素位置包括围绕子像素位置的四个整数像素位置(即,整数像素位置C3、C4、D3及D4),所述四个整数像素位置被称为“角落”整数像素位置,因为其位于2D子像素位置的角落附近。除了所述角落整数像素位置外,紧邻于所述角落整数像素位置的一个或一个以上整数像素位置还可用于滤波器支持中。紧邻于角落整数像素位置的整数像素位置可包括紧靠在角落整数像素位置上方(朝着顶部或北侧)或紧靠在其下方(朝着底部或南侧)的整数像素位置以及紧靠在角落整数像素位置的左方(或西侧)或紧靠在其右方(或东侧)的整数像素位置。在图4所说明的实例中,12位置滤波器支持可包括整数像素位置B3、B4、C2、C3、C4、C5、D2、D3、D4、D5、E3及E4。所有这些整数像素位置均位于待内插的子像素的两个整数像素位置内。

然而,根据本发明的技术的滤波器支持可包括额外整数像素位置。举例来说,滤波器支持可包括位于待内插的子像素位置的形成放射状形状的三个整数像素位置内的整数像素位置。

可基于位于至少两个整数像素位置内的整数像素位置来内插甚至四分之一像素位置或较精细分辨率。以此方式,本发明的滤波器支持技术使用与待内插的位置具有较高相关性的整数像素来提供较好内插预测,同时维持由D-AIF提供的相同低复杂性。

如上所述,子像素对称性可针对一个或一个以上子像素位置的群组强制实行相同滤波器系数集合(及所述集合的经镜射、反转及/或旋转版本)。使用分析过程(例如方程式(5)中的分析过程)可用以导出所有子像素位置(例如,在四分之一像素精度的情况下为十五个子像素位置)的内插滤波器系数。对十五个内插滤波器系数集合当中的相关性的分析揭露了在相同维度(例如,垂直维度或水平维度)上的子像素位置(1D及2D子像素位置两者)的滤波器系数之间的相对较强的相关性。相反,在不同对角方向上的子像素位置的滤波器系数之间的相关性可显著较弱。

举例来说,子像素位置“a”与“c”(其均在水平维度上)的滤波器系数之间可存在高相关性。作为另一实例,子像素位置“d”与“l”(其均在垂直维度上)的滤波器系数之间可存在高相关性。然而,在水平维度上的子像素位置“a”与在垂直维度上的子像素位置“d”的滤波器系数之间可存在很少相关性(如果存在的话)。基于对相关性的这些观测,子像素对称性可经设计以使得不对在对角维度上的子像素位置的滤波器系数强加子像素对称性。如本文所描述,这产生八个系数集合,其可为比一些常规过程所需要的集合多的集合。通过消除一些像素位置的对角像素对称性,如本文所描述,可改进视频编码及压缩。

同样,图7展示属于具有子像素对称性的子像素位置群组的具有相同阴影(或影线)的像素位置。明确地说,子像素位置“a”及“c”形成具有子像素对称性的第一群组,子像素位置“d”及“l”形成具有子像素对称性的第二群组,子像素位置“e”、“g”、“m”及“o”形成具有子像素对称性的第三群组,子像素位置“f”及“n”形成具有子像素对称性的第四群组,且子像素位置“i”及“k”形成具有子像素对称性的第五群组。子像素位置“b”、“h”及“j”不与任何其它子像素位置具有子像素对称性。因而,子像素位置“b”、“h”及“j”可被视为属于其自身的群组;分别为第六群组、第七群组及第八群组。每一系数群组(其可归因于系数对称性而为子集)可每经译码单元传送一次,或可能在针对经译码单元的不同区域或特征定义不同类型的滤波的情况下每经译码单元传送多次。用于整数像素似内插滤波的系数还可每经译码单元发送一次或若干次。

在NS-AIF及D-AIF中,在相同维度上的子像素位置(例如,在垂直维度上的两个子像素位置或在水平维度上的两个子像素位置)之间存在子像素对称性。在一些常规NS-AIF及D-AIF中,在不同维度上的子像素位置之间在对角方向上也存在对称性。举例来说,在一些常规NS-AIF及D-AIF中,在垂直维度上的子像素位置“a”与在水平方向上的子像素位置“d”之间存在子像素对称性。在水平、垂直及对角维度上具有子像素对称性的情况下,可针对四分之一像素精度使用少达五个唯一内插滤波器系数集合。

另一方面,对于一些类型的S-AIF,在垂直方向(或维度)上的子像素位置之间存在子像素对称性,但在水平维度上的子像素位置之间不存在子像素对称性。换句话说,在相同维度上的子像素位置不始终存在子像素对称性。在对角维度上也不存在子像素对称性。因此,一些S-AIF方案的对称性需要更多个内插系数集合。明确地说,对于四分之一像素精度,一些S-AIF方案需要十一个唯一内插系数集合。

本发明中所描述且图7中所说明的子像素对称性方案可产生比上文针对一些类型的NS-AIF及D-AIF所描述的子像素对称性更准确的预测。明确地说,图7的子像素对称性方案在一个维度上(例如,在水平方向或垂直方向上)强加子像素对称性,但不同时在两个维度上(例如,对角方向上)强加子像素对称性。

通过不在对角方向上对子像素位置强加子像素对称性,不将在不同维度上的内插滤波器系数及子像素位置之间的弱相关性集成到内插中。虽然可能需要更多个内插系数集合(例如,八个集合而非五个集合),但所得的经内插预测数据可更准确。以大致相同的方式,还可避免或消除对角系数对称性。

预测单元32还可如上所述地强加系数对称性。明确地说,对在一个维度(例如,水平方向或垂直方向)上的滤波器系数强加系数对称性,但不以对角方式对两个维度强加系数对称性。举例来说,不迫使子像素位置“e”的滤波器系数如在上文所述且在方程式(11)中所表示的NS-AIF方案中在对角方向上对称。下文在方程式(17)到(21)中总结系数对称性。

h0b=h5b,h1b=h4b,h2b=h3b---(17)

h0h=h5h,h1h=h4h,h2h=h3h---(18)

其中i,j=0…3                        (19)

其中i,j=0…3                        (20)

其中i,j=0…3                        (21)

应注意,对于子像素位置“f”、“i”及“j”,在可使用关于图4详细描述的12位置滤波器的例子中,一些滤波器系数(即,)等于零。因而,本发明所描述的子像素对称性及系数对称性可与滤波器支持技术结合使用或与滤波器支持技术分开使用。当与图4所描述的12位置滤波器支持结合使用时,存在需要发送到解码器的用于这些子像素位置的6(a)+3(b)+6(d)+3(h)+12(e)+6(f)+6(i)+3(j)=45个唯一系数,即,用于包括子像素位置“a”的群组的6个系数、用于包括子像素位置“b”的群组的3个系数、用于包括子像素位置“d”的群组的6个系数、用于包括子像素位置“h”的群组的3个系数、用于包括子像素位置“e”的群组的12个系数、用于包括子像素位置“f”的群组的6个系数、用于包括子像素位置“i”的群组的6个系数及用于包括子像素位置“j”的群组的3个系数。

图17为说明与本发明一致的利用十二像素滤波器支持的视频编码器的实例操作的流程图。将从图2的视频编码器50的观点来描述图17的技术,但其它装置可执行类似技术。如图所示,在图17中,预测单元32的MC单元37从存储器34获得包括对应于整数像素位置的整数像素值的像素块(171)。滤波器39基于包含围绕子像素位置的十二个或十二个以上位置的滤波器支持来计算子像素值(172)。如上文更详细地解释,十二位置滤波器支持可用以产生十五个可能子像素内插中的九个,而线性水平滤波及线性垂直滤波可用以产生十五个可能子像素内插中的六个。

MC单元37接着基于所计算的子像素值来产生预测块(173)。明确地说,MC单元37可产生并输出包含经内插子像素值的经内插预测块。加法器48可接着基于所述经内插预测块对当前视频块进行编码(174),例如,通过从正被编码的视频块减去所述经内插预测块以产生残余块。可接着分别由变换单元38及量化单元40对所述残余块进行变换及量化。在由熵译码单元46进行熵译码之后,视频编码器50可输出经编码视频位流及滤波器信息(175)。如本文所描述,所述滤波器信息可包含用于产生用于十五个子像素位置的所有十五个系数集合的八个系数集合。所述滤波器信息可每经译码单元输出一次,或可能在经译码单元的不同区域使用不同类型的子像素内插的情况下每经译码单元输出若干次。

图18为说明与本发明一致的利用十二像素滤波器支持的视频解码器的实例操作的流程图。因此,图18的过程可被视为与图17的编码过程互逆的解码过程。将从图16的视频解码器60的观点来描述图18,但其它装置可执行类似技术。如图18所示,视频解码器60接收经编码视频块及滤波器信息(181)。熵解码单元52可对此所接收信息进行熵解码。预测单元55根据本发明的技术来执行内插运动补偿。明确地说,预测单元55从存储器62获得包括对应于整数像素位置的整数像素值的像素块(182)。预测单元55可使用所接收运动向量来确定如何执行内插。基于所述运动向量,预测单元55可基于包含围绕子像素位置的十二个或十二个以上位置的滤波器支持来计算子像素(183)。以此方式,预测单元55使用内插来产生所述预测块(184)。所述预测块可用以通过调用加法器64以将所述预测块相加到残余视频块来对所述残余视频块进行解码(185)。本文所描述的内插的各种方面(包括以放射状形状围绕子像素位置的十二位置滤波器支持的使用)可通过提供质量比常规技术好的内插数据来改进视频编码。

图19为说明与本发明一致的利用系数对称性及像素对称性的视频编码器的实例操作的流程图。将从图2的视频编码器50的观点来描述图19的技术,但其它装置可执行类似技术。如图所示,在图19中,如本文所描述,视频编码器50的预测单元32基于系数对称性及像素对称性来定义十五个子像素位置的八个滤波器系数集合(201)。明确地说,预测单元32可使用像素对称性来将所述系数集合从十五个集合减少到八个集合,且可基于给定集合的系数之间的系数对称性来进一步减少所述八个集合中的一些或所有集合的系数数目。预测单元32可接着使用内插滤波器(例如滤波器39)及所述八个滤波器系数集合来对视频数据进行编码(202)。视频编码器50可输出经编码视频数据及所述八个滤波器系数集合(203)。所述八个系数集合(其经编码且在位流中输出)可与每一经译码单元(例如,每一帧或切片)一起发送,使得解码装置可被告知待用于内插的滤波器系数。或者,八个系数集合的不同群组可经编码且与每一经译码单元一起发送以在经译码单元内的不同位置处实现不同类型的内插。

图20为说明与本发明一致的利用系数对称性及像素对称性的视频解码器的实例操作的流程图。在此情况下,视频解码器60的预测单元55接收八个滤波器系数集合(191),且基于所述八个集合、系数对称性及像素对称性来产生十五个滤波器系数集合。预测单元60可接着编程其内插滤波器且应用此些内插滤波器以便适当地产生经内插预测性数据(193)。视频解码器60可接着基于所述预测性数据来对视频块进行解码(194),例如,调用加法器64以将由预测单元55内插的正确预测性数据相加到待解码的残余块。

图21为说明与本发明一致的利用整数像素位置的滤波来产生经调整整数像素值的视频编码器的实例操作的流程图。这在上文中被论述为似内插滤波,只要其类似于内插,但不产生子整数值。实际上,此过程产生基于原始整数值及围绕原始整数值的其它整数值来滤波的新整数值。

将从图2的视频编码器50的观点来描述图21,但其它装置可执行类似技术。如图所示,在图21中,预测单元32的MC单元37从存储器34获得包括对应于整数像素位置的整数像素值的像素块(211)。预测单元32的滤波器39基于所述像素块的其它整数像素值来对所述整数像素值进行滤波以产生经调整整数像素值(212)。预测单元32基于所述经调整整数像素值来产生预测块(213),且视频编码器50基于所述预测块来对视频块进行编码(214),例如,调用加法器48以从正被编码的视频块减去所述预测块以产生残余块。在由变换单元38及量化单元40对所述残余块进行变换及量化之后,且在由熵译码单元46进行熵译码之后,视频编码器50输出经编码视频块及滤波器信息(215)。如同子像素内插,关于整数像素位置的似内插滤波可涉及每经译码单元输出并传送滤波器信息一次或可能在经译码单元的不同区域使用不同类型的整数似内插滤波的情况下每经译码单元输出并传送滤波器信息若干次。

图22为说明与本发明一致的利用整数像素位置的滤波来产生经调整整数像素值的视频解码器的实例操作的流程图。视频解码器60的预测单元55接收经编码视频块,且还接收滤波器信息(例如,每经译码单元一次)(221)。预测单元55从存储器62获得包括对应于整数像素位置的整数像素值的像素块(222)。预测单元55作为运动补偿的一部分来调用滤波器(未图示)以基于所述像素块的其它整数像素值来对整数像素值进行滤波以产生经调整整数像素值(223)。预测单元55基于所述经调整整数像素值来产生预测块(224)。视频解码器60可接着基于所述预测块来对视频块进行解码,例如,调用加法器64以将由预测单元55内插的预测性块相加到待解码的残余视频块(225)。

图23为说明用于基于两个候选滤波器集合的用于视频译码的由速率失真定义的内插的技术的流程图。在此情况下,预测单元32的MC单元37可产生两个或两个以上不同预测性数据集合,其中一个集合是基于第一候选内插滤波器集合且另一集合是基于第二候选内插滤波器集合。MC单元37可接着使用基于速率失真的分析以便选择从速率及失真的观点哪一内插滤波器将产生最佳结果。以此方式,MC单元37不仅考虑哪一预测性数据集合将产生最佳结果(即,最少失真),而且还将以下事实作为考虑因素:一个候选滤波器集合可能需要较少位开销以便将其滤波器系数传达到解码器。

如图23所示,预测单元32的MC单元37基于第一内插滤波器来产生用于编码视频数据的第一经内插预测性数据(231)。在一个实例中,所述第一内插滤波器包含对应于由特定视频译码标准定义的滤波器的固定内插滤波器,例如对应于ITU-T H.264内插滤波器的滤波器。对于增加的精度,在一些情况下,所述固定内插滤波器可对应于不具有用以产生四分之一像素值的半像素值的中间舍入的ITU-T H.264内插滤波器。在此情况下,所述固定内插滤波器可产生半像素值且可向上舍入此些值以实现达到半像素分辨率的内插的目的。然而,就此些半像素值还将用于达到四分之一像素分辨率的内插而论,MC单元37可存储所述半像素值的未经舍入版本且使用所述半像素值的未经舍入版本来进行达到四分之一像素分辨率的任何内插。为卡兹维茨(Karczewicz)等人申请且标题为“用于在视频译码中进行运动补偿的高级内插技术(ADVANCED INTERPOLATION TECHNIQUES FOR MOTION COMPENSATION IN VIDEO CODING)”的具有档案号081399U1的共同待决且共同转让的第___号美国专利申请案提供关于不具有用以产生四分之一像素值的半像素值的中间舍入的内插滤波的许多额外细节,所述专利申请案与本申请案在同一天申请且以引用的方式并入本文中。

接下来,预测单元32的MC单元37基于第二内插滤波器来产生用于视频数据的视频编码的第二经内插预测性数据(232)。在一个实例中,所述第二内插滤波器可包含自适应内插滤波器。在此情况下,与自适应内插一致,MC单元37可定义待使用的滤波器系数。明确地说,MC单元37可执行自适应内插过程,其中MC单元37以预设滤波器系数开始,产生初步预测性数据,且接着在自适应过程中调整所述滤波器系数,使得此些滤波器系数定义较合意的预测性数据。

一旦预测单元32的MC单元37已产生第一及第二经内插预测性数据两者,MC单元37便可基于速率失真分析来在所述第一经内插预测性数据与所述第二经内插预测性数据之间进行选择(233)。以此方式,MC单元37不仅考虑哪一预测性数据集合将产生最佳结果(即,最少失真),且MC单元37还考虑第一内插滤波器相对于第二内插滤波器将需要的不同数据量(即,不同位速率)。值得注意的是,如果使用固定内插滤波器(例如,作为第一内插滤波器),则视频编码器50将不需要在位流中对滤波器系数进行编码,而如果使用自适应内插滤波器(例如,作为第二内插滤波器),则视频编码器50将需要对滤波器系数进行编码。因此,速率失真分析可通过考虑以下事实来确定哪一预测性数据集合将产生最佳结果(即,最少速率失真成本):固定内插滤波器的使用不需要额外位以便将滤波器系数传达到解码器。

更具体来说,基于速率失真分析来在所述第一经内插预测性数据与所述第二经内插预测性数据之间进行选择(233)可包含:计算在经由所述第一经内插预测性数据对视频数据进行编码的情况下与视频数据相关联的第一速率失真成本;计算在经由所述第二经内插预测性数据对视频数据进行编码的情况下与视频数据相关联的第二速率失真成本;及基于所述第一及第二速率失真成本来在所述第一经内插预测性数据与所述第二经内插预测性数据之间进行选择。

在经由所述第一经内插预测性数据对视频数据进行编码的情况下与视频数据相关联的速率失真成本可包含指示视频数据与所述第一经内插预测性数据之间的差的第一差量度(例如,像素值的均方差(MSE)或像素值的绝对差和(SAD)或像素值的平方差和(SSD))加上对与滤波器系数的编码相关联的成本进行量化的第一值。在此情况下,如果所述第一内插滤波器为固定内插滤波器,则可将对成本进行量化的第一值定义为零。类似地,所述第二速率失真成本可包含指示视频数据与所述第二经内插预测性数据之间的差的第二差量度(MSE、SAD或SSD)加上对与滤波器系数的编码相关联的成本进行量化的第二值。在所述第二内插滤波器为自适应内插滤波器的情况下,对与滤波器系数的编码相关联的成本进行量化的第二值可包含对自适应内插滤波器系数进行编码所需要的位数目(r)或(可能)此数目(r)乘以拉格朗日(Lagrangian)乘数(λ)。

在基于速率失真分析来在所述第一经内插预测性数据与所述第二经内插预测性数据之间进行选择(233)之后,预测单元32的MC单元37基于所述选择来对视频数据进行编码(234)且对用以指示所述选择的语法进行编码(235)。所述语法可包含定义解码器应使用所述第一内插滤波器还是所述第二内插滤波器的一位旗标或多位旗标。可针对视频序列的每一经译码单元的多个子像素位置中的每一者重复图23的过程以指示解码器针对所述多个子像素位置中的每一者应使用所述第一内插滤波器还是所述第二内插滤波器。所述子像素位置可包含与达到四分之一像素分辨率的内插一致的十五个可能子像素位置或可包含不同数目的子像素位置。还可针对视频序列的每一经译码单元的整数像素位置重复图23的过程以指示解码器针对所述整数像素位置应使用所述第一内插滤波器还是所述第二内插滤波器。

一旦视频编码器50(图2)已基于所述选择来对视频数据进行编码(234)且对用以指示所述选择的语法进行编码(235),调制解调器23及发射器24(图1)便可调制所述经编码视频数据及所述语法并将其发射到目的地装置17。在所述第一内插滤波器为固定内插滤波器且所述第二内插滤波器为自适应内插滤波器的情况下,在所述语法指示已使用所述第二经内插预测性数据来产生所述经编码视频数据时,发射器24可发射滤波器系数,但在所述语法指示已使用所述第一经内插预测性数据来产生所述经编码视频数据时,发射器24可不发射滤波器系数。以此方式,当所述第一内插滤波器为固定内插滤波器且所述第二内插滤波器为自适应内插滤波器时,仅在所述语法指示已使用自适应内插滤波的情况下发送滤波器系数,且是否使用自适应内插滤波的决定不仅考虑预测性视频质量,而且还考虑位速率,位速率受所发射位流中的滤波器系数的存在的影响。然而,在其它实例中,第一及第二内插滤波器可均为固定内插滤波器,或可均为自适应内插滤波器。

本发明的技术可应用于许多情形中,包括在编码器选择两个以上滤波器集合时的情形。换句话说,还可应用额外内插滤波器以产生额外经内插预测性数据,在速率失真分析中还可考虑所述额外经内插预测性数据。换句话说,所述方法不限于仅基于两个内插滤波器来产生第一及第二经内插预测性数据,而是可应用于基于任何数目的内插滤波器来产生任何多个经内插预测性数据。重要的是,使用速率失真分析内插预测性数据来识别选择哪一滤波器。在一个实例中,由视频编码器50执行的方法可包含:基于多个不同内插滤波器来产生用于编码视频数据的多个不同预测性数据版本;基于速率失真分析来在所述多个不同预测性数据版本当中进行选择;基于所述选择来对所述视频数据进行编码;及对用以指示所述选择的语法进行编码。

除了基于速率失真分析来选择内插滤波器及产生用以指示所述选择的语法外,预测单元32的MC单元37还可相对于整数像素滤波进行类似的速率失真分析,上文对此进行更详细解释。明确地说,预测单元32的MC单元37可针对整数像素位置产生两个或两个以上不同预测性数据集合(例如,一个集合具有整数像素滤波且一个集合不具有整数像素滤波),且可相对于这两个不同集合进行速率失真分析以便确定整数像素滤波是否为所要的。因此,预测单元32的MC单元37可基于与两个不同整数预测性数据集合相关联的速率失真分析来产生另一语法元素以指示是否应将整数像素滤波应用于经译码单元,其中所述整数预测性数据的第一集合为未经滤波的且所述整数预测性数据的第二集合为经滤波的。以此方式,尤其在整数像素滤波将涉及用于执行此整数像素滤波的整数像素滤波器系数的编码及发送时,是否进行整数像素滤波的决定可不仅基于视频译码的质量,而且还基于与整数像素滤波相关联的可能位开销。整数滤波还可考虑N个整数滤波器(例如,其中N为任何正复整数)。与N个整数滤波器的使用一致,上述实例将对应于N为二且所述滤波器中的一者不应用任何滤波的情况。

只要内插滤波器系数实际上经编码且从源装置12发送到目的地装置16,本发明还涵盖用于对此些内插滤波器系数进行译码的技术。用于滤波器系数的所述编码可改进数据压缩。明确地说,本发明涵盖用于滤波器系数(例如,相对于固定滤波器系数)的预测技术。另外,本发明涵盖用于相对于第一滤波器系数集合预测第二滤波器系数集合的预测技术。以这些方式,不同滤波器系数之间的不完全对称性可用以允许数据压缩。除了将此些预测技术用于内插滤波器系数外,本发明还提供有用量化技术及基于前缀及后缀译码来对内插滤波器系数进行的熵译码。以下论述内容提供关于本发明的这些方面的更多细节。

图24为说明用于使用预测性译码来对滤波器系数进行编码的技术的流程图。在此情况下,可相对于固定滤波器的滤波器系数来对由视频编码器50使用的滤波器系数进行预测性编码,这可在将滤波器系数作为经编码位流的一部分来发送时进一步改进数据压缩。

如图24所示,预测单元32的MC单元37识别用于在视频编码中内插预测性数据的滤波器系数集合(241)。举例来说,MC单元37可通过执行自适应内插滤波过程来识别所述滤波器系数集合。在此情况下,MC单元37可经由所述自适应内插滤波过程来确定所述滤波器系数集合且基于在所述自适应内插滤波过程中识别的滤波器系数来产生预测性数据。在自适应内插滤波中,如本文中更详细地解释,MC单元37可执行两遍式做法,其中基于固定滤波器来产生预测性数据,且接着调整滤波器系数,使得所述预测性数据更类似于正被译码的视频数据。接着,所述经调整滤波器系数定义所使用且编码到位流中的滤波器系数。

为了对滤波器系数进行编码以使得可将此些滤波器系数作为位流的一部分来发射,系数预测及量化单元41可基于所述滤波器系数集合相对于与固定内插滤波器相关联的滤波器系数的预测性译码而产生与所述滤波器系数集合相关联的残余值(242)。明确地说,系数预测及量化单元41可从与固定滤波器(例如ITU-T H.264内插滤波器或不具有半像素值的中间舍入的ITU-T H.264内插滤波器)相关联的对应滤波器系数减去在所述自适应内插滤波过程中确定的滤波器系数。通过对残余值进行编码及发射而非发射实际滤波器系数,可减少在位流中传送的数据量。在此情况下,解码器可经编程以获知对滤波器系数进行编码的方式。

视频编码器50可调用系数预测及量化单元41以对残余系数进行预测及量化两者,且熵译码单元46可对经量化残余进行熵译码(243)。视频编码器50可接着将残余值作为经编码位流的一部分来输出(244)。与滤波器系数相关联的残余值的量化可涉及对残余值进行量化,其中与不同滤波器系数相关联的所述残余值中的至少一些残余值被指派不同量化级别。以此方式,系数预测及量化单元41可将较多量化指派给较大残余系数,且可将较少量化指派给较精细的残余系数,以便实现量化与准确性的合意平衡。当使用较多量化时,消除更多数据,但可实现较多压缩。熵译码单元46可通过在残余值的量化之后向残余值指派前缀码、指派后缀码且指派正负号值来对残余值进行熵译码。视频编码器50可接着将残余值作为经编码位流的一部分来输出(244)。

图27为说明可经预测性译码的一些说明性滤波器系数的概念图。在此情况下,滤波器系数O1、O2、O3及O4可定义与固定内插滤波器相关联的滤波器系数。滤波器系数X1、X2、X3及X4可定义所要滤波器系数,其可相当类似于固定内插滤波器的滤波器系数。因此,可分别基于滤波器系数O1、O2、O3及O4来预测滤波器系数X1、X2、X3及X4。明确地说,可将第一残余形成为X1与O1之间的差。类似地,可将第二残余形成为X2与O2之间的差,可将第三残余形成为X3与O3之间的差,且可将第四残余形成为X4与O4之间的差。所述残余可包含比原始滤波器系数少的数据,进而促进数据压缩。

在一些情况下,所述滤波器系数集合包含定义与自适应内插滤波器相关联的整个滤波器系数集合的仅一部分的第一滤波器系数集合,其中可由解码器基于所述第一滤波器系数集合及系数对称性来确定第二滤波器系数集合。举例来说,可分别基于O1及O2来对滤波器系数X1及X2进行预测性编码。然而,在此情况下,X3及X4可与X1及X2对称,且解码器可经编程以获知强加此对称性。因此,通过使用对称性,在此简单实例中,可从位流消除系数X3及X4,且一旦对系数X1及X2进行预测性解码,便可基于已知系数对称性来在解码器处计算系数X3及X4

图25为说明用于使用预测性译码来对滤波器系数进行编码的技术的另一流程图。然而,在此情况下,使用两种不同类型的预测。如图25所示,预测单元32的MC单元37识别用于在视频编码中内插预测性数据的滤波器系数集合(251)。如同图24的过程,在图25中,MC单元37可通过执行自适应内插滤波过程来识别所述滤波器系数集合。在此情况下,MC单元37可经由所述自适应内插滤波过程来确定所述滤波器系数集合且基于在所述自适应内插滤波过程中识别的滤波器系数来产生预测性数据。在自适应内插滤波中,MC单元37可执行两遍式做法,其中基于固定滤波器来产生预测性数据,且接着调整滤波器系数,使得所述预测性数据更类似于正被译码的视频数据。接着,所述经调整滤波器系数定义所使用且编码到位流中的滤波器系数。

为了对滤波器系数进行编码以使得可将此些滤波器系数作为位流的一部分来发射,系数预测及量化单元41可基于相对于与固定内插滤波器相关联的滤波器系数的预测性译码而产生与所述滤波器系数的第一集合相关联的第一残余值集合(252)。明确地说,系数预测及量化单元41可从与固定滤波器(例如ITU-T H.264内插滤波器或不具有半像素值的中间舍入的ITU-T H.264内插滤波器)相关联的对应滤波器系数减去所述第一滤波器系数集合。接下来,系数预测及量化单元41可基于相对于所述第一滤波器系数集合的预测性译码而产生与所述滤波器系数的第二集合相关联的第二残余值集合(253)。明确地说,系数预测及量化单元41可从所述第一系数集合的经镜射或旋转值减去所述第二滤波器系数集合。因此,基于固定滤波器的系数来对所述第一系数集合进行预测性译码,且基于所述第一系数集合来对所述第二系数集合进行预测性译码。通过产生残余值而非使用实际滤波器系数,可减少在位流中传送的数据量。此外,通过使用固定滤波器来预测所述第一系数集合且接着使用所述第一系数集合来预测所述第二系数集合,可相对于仅依赖于固定滤波器的预测来实现进一步数据压缩。

如同图24的过程,在图25中,视频编码器50可调用系数预测及量化单元41以对残余系数进行预测性译码及量化两者,且熵译码单元46可对经量化残余进行熵译码(254)。视频编码器50可接着将残余值作为经编码位流的一部分来输出(254)。同样,与滤波器系数相关联的残余值的量化可涉及对残余值进行量化,其中与不同滤波器系数相关联的残余值中的至少一些残余值被指派不同量化级别。以此方式,系数预测及量化单元41可将较多量化指派给较大残余系数,且可将较少量化指派给较精细残余系数,以便实现量化与准确性的合意平衡。熵译码单元46可通过在残余值的量化之后向残余值指派前缀码、指派后缀码且指派正负号值来对残余值进行熵译码。视频编码器50可接着将残余值作为经编码位流的一部分来输出(255)。

图28为说明与图25的过程一致的可经预测性译码的一些说明性滤波器系数的概念图。在此情况下,滤波器系数O1及O2可定义与固定内插滤波器相关联的滤波器系数。滤波器系数X1及X2可定义所要滤波器系数的第一集合,其可相当类似于固定内插滤波器的滤波器系数。因此,可分别基于滤波器系数O1及O2来预测滤波器系数X1及X2。明确地说,可将第一残余形成为X1与O1之间的差,且可将第二残余形成为X2与O2之间的差。所述残余可包含比原始滤波器系数少的数据,进而促进数据压缩。所述残余接着由系数预测及量化单元41进行量化且由熵译码单元46进行熵译码。及可指代通过将经解量化残余相加到预测滤波器系数O1及O2来产生的经修改滤波器系数。

接下来,可基于第一系数集合X1及X2(例如,具体来说,从基于系数X1及X2而定义的系数及)来对第二滤波器系数集合Z1及Z2进行预测性译码。明确地说,可将第三残余形成为Z1与之间的差,且可将第四残余形成为Z2与之间的差。及可比O1及O2更类似于Z1及Z2,且因此,通过使用及来对Z1及Z2进行预测性编码,可促进进一步数据压缩。

图26为说明用于使用预测性译码来对滤波器系数进行解码的技术的流程图。将从图16的视频解码器60的观点来描述图26。如图所示,视频解码器60接收与滤波器系数集合相关联的残余值(261)。视频解码器60可经由熵解码单元52来对所述残余值进行熵解码,且可调用系数预测及逆量化单元53来对所述残余值进行解量化(262),所述残余值接着被发送到预测单元55。预测单元56使用所述残余值的预测性解码而产生所述滤波器系数集合(263)。

明确地说,预测单元56可基于所述残余值及与固定内插滤波器相关联的滤波器系数来产生整个滤波器系数集合(例如,如在图27中概念性地说明且上文在编码的上下文中所解决)。在一些情况下,可基于所述残余值及与固定内插滤波器相关联的滤波器系数来产生第一滤波器系数集合,且可基于对称性来产生第二滤波器系数集合。在其它情况下,可基于所述残余值及与固定内插滤波器相关联的滤波器系数来产生第一滤波器系数集合,且可基于额外残余值及所述第一滤波器系数集合来产生第二滤波器系数集合(例如,如在图28中概念性地说明且上文在编码的上下文中所解决)。在任何情况下,视频解码器60的预测单元56应用所述滤波器系数集合来内插用于视频块的预测性解码的预测性数据(264)。明确地说,预测单元56对数据进行滤波以使用经预测性解码的滤波器系数来产生经内插预测性数据,使得可基于此经内插预测性数据来对视频块进行解码。

同样,所述经预测性解码的滤波器系数集合可包含定义与自适应内插滤波器相关联的整个滤波器系数集合的仅一部分的第一滤波器系数集合。在此情况下,视频解码器60的系数预测及逆量化单元53可基于所述第一滤波器系数集合及系数对称性而产生第二滤波器系数集合,且应用所述第一及第二滤波器系数集合来内插所述预测性数据。

在另一情况下,所述经预测性解码的滤波器系数集合可包含定义与自适应内插滤波器相关联的整个滤波器系数集合的仅一部分的第一滤波器系数集合。在此情况下,视频解码器60可接收与所述整个滤波器系数集合相关联的额外残余值。系数预测及逆量化单元53可基于额外残余值及所述第一滤波器系数集合使用预测性解码而产生第二滤波器系数集合,且预测单元55可应用所述第一及第二滤波器系数集合来内插所述预测性数据。

在一些情况下,基于H.264/AVC滤波器的固定内插滤波器可用以预测1D滤波器(其可包括用于图8、图9、图10及图11中所示的子像素位置a、b、d、h的滤波器)。对于2D滤波器(其包括用于图12、图13、图14及图15所示的子像素位置e、f、i及j的滤波器),可使用以下预测方案中的一者:

1.将预测设定为零(无预测),SP∈{e,f,i,j}

2.使用固定滤波器预测,例如在训练集合内聚集的平均滤波器,即,SP∈{e,f,i,j},其中为用于子像素位置SP的平均滤波器的第(i,j)个滤波器系数。

3.采用所述系数中的可能对称性且使用已经被译码的系数来预测剩余系数。

对于1D滤波器,也可应用这三种预测方法中的任一种。

对于预测,图29提供可使用预测技术来编码的整数像素滤波器系数的阵列的实例。在此实例中,可假定无对称性强加于整数像素滤波器。首先可对系数(h0,0)、(h0,1)、(h1,0)、(h1,1)、(h2,0)、(h2,1)、(h0,2)、(h1,2)及(h2,2)进行量化及译码。接着,可使用已经被译码的左上部系数(h0,0)、(h0,1)、(h1,0)、(h1,1)及(h2,0)来预测右上部系数(h0,3)、(h1,3)、(h2,3)、(h0,4)、(h1,4)及(h2,4)。接下来,一旦对滤波器系数的上半部(h0,0)、(h0,1)、(h0,2)、(h0,3)、(h0,4)、(h1,0)、(h1,1)、(h1,2)、(h1,3)及(h1,4)进行量化及译码,便可将其进一步用以预测滤波器系数的下半部(h3,0)、(h3,1)、(h3,2)、(h3,3)、(h3,4)、(h4,0)、(h4,1)、(h4,2)、(h4,3)及(h4,4)。可以类似方式来进行其它滤波器系数的预测。举例来说,对于子像素位置“e”滤波器(见图12)(其可在对角方向上具有某种对称性),可首先对右上部系数进行量化及译码,且接着使用其来预测左下部系数。

在任何情况下,在系数的预测(例如,由预测单元32的系数预测及量化单元41进行)之后,对预测误差进行量化(例如,由系数预测及量化单元41进行)。如上文所概述,可使用所谓的“非均匀量化”。在此情况下,由系数预测及量化单元41应用的量化精度可取决于系数位置。已发现,对于具有较小量值的系数(其通常为离滤波器的中心较远的系数),较好精度可为合意的。相反,具有较大量值的系数(其通常为距滤波器的中心较近的系数),较少精度为较合意的。

以下矩阵Q1D、Q2D、QFP可由系数预测及量化单元41用以分别指定1D滤波器、2D滤波器及整数像素滤波器中的系数的量化精度。应注意,在所述矩阵中所给出的若干位可包括用以对相应系数的正负号进行编码的1个位。

Q1D=[12 11 9 9 11 12]

Q2D=010100109910109910010100

QFP=1111111111111010101111109101111101010111111111111

系数预测及量化单元41可基于简单的前缀译码方案来对经量化系数预测误差(即,系数残余)进行译码。首先,将预测误差的量值的动态范围划分成N个段(例如,N=6)。如果所述量值的动态范围为[0,…,2q-1-1],其中q为给定系数位置的量化精度(例如在上述矩阵中指定),则每一段n(n=0,…N-1)可横跨以下范围:

在此情况下,可使用一元前缀码(其采用b+1个位)来对段b(b=0,…,N-1)(输入量值m属于所述段b)进行译码。接着,可使用(q-N+b-1)个位的固定长度后缀码来对所述量值的剩余部分m-bstart进行译码。最后,使用1个位来对预测误差的正负号进行译码。

举例来说,对于1D滤波器中的中心系数,可由系数预测及量化单元41使用9位精度来对预测误差进行量化(即,q=9),其中8个位可用以对误差量值进行量化。如果误差量值为97,则其落入第4个段内,即,b=4。因此,一元前缀码“11110”可经编码以指示所述第4个段,且可使用(q-N+b-1)=(9-6+4-1)=6个位的固定长度后缀码来对m-bstart=97-64=33的剩余部分进行编码。最后,可对位“0”进行编码以指示正号。

可在包括无线手持机及集成电路(IC)或IC集合(即,芯片组)在内的广泛多种装置或设备中实施本发明的技术。已描述了经提供以强调功能性方面的任何组件、模块或单元,且其不必要求通过不同硬件单元来实现。

因此,可以硬件、软件、固件或其任何组合来实施本文所描述的技术。如果以硬件来实施,则经描述为模块、单元或组件的任何特征可一起实施于集成式逻辑装置中或单独地实施为离散但可共同操作的逻辑装置。如果以软件来实施,则所述技术可至少部分通过计算机可读媒体来实现,所述计算机可读媒体包含当在处理器中执行时执行上述方法中的一者或一者以上的指令。所述计算机可读媒体可包含计算机可读存储媒体且可形成计算机程序产品的一部分,所述计算机程序产品可包括封装材料。所述计算机可读存储媒体可包含随机存取存储器(RAM)(例如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及其类似者。另外或替代地,所述技术可至少部分通过以指令或数据结构的形式载运或传送代码且可由计算机存取、读取及/或执行的计算机可读通信媒体来实现。

可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行所述代码。因此,如本文所使用的术语“处理器”可指代前述结构或适于实施本文所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文所描述的功能性可提供于经配置以用于编码及解码的专用软件模块或硬件模块内或并入于组合式视频编解码器中。并且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。

已描述了本发明的各种方面。这些及其它方面属于所附权利要求书的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号