通过过滤器选择进行的视频编码的制作方法

文档序号:7735189阅读:126来源:国知局
专利名称:通过过滤器选择进行的视频编码的制作方法
技术领域
本申请案涉及视频编码,更具体来说,涉及用于在视频压缩系统中内插参考帧的 技术。
背景技术
可将数字视频能力并入广泛的装置中,包括数字电视、数字直播系统、无线通信装 置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、数码相机、数字记录装置、蜂窝式或 卫星无线电电话等。这些和其它数字视频装置可在产生、修改、发射、存储、记录和播放全运 动视频序列方面提供优于常规模拟视频系统的显著改进。已建立若干不同视频编码标准以用于传送数字视频序列。运动图片专家组(MPEG) (例如)已开发出包括MPEG-I、MPEG-2和MPEG-4的若干标准。其它标准包括ITUH. 263,由 加利福尼亚州库珀蒂诺市的Apple Computer开发的QuickTime 技术、由华盛顿州雷蒙德 市的Microsoft公司开发的用于Windows. 的视频、由htel公司开发的hdeo 、来自华 盛顿州西雅图市的RealNetworks有限公司的RealVideo ,和由SuperMac有限公司开发的 Cin印ak 。这些和其它标准(包括仍待开发的标准)将继续演进。视频编码标准通过以压缩方式编码数据来实现增加的发射速率。压缩可减少需要 发射的数据的总量以用于图像帧的有效发射。MPEG标准(例如)利用经设计以促进比在无 压缩的情况下可实现的带宽窄的带宽上的视频和图像发射的图形和视频压缩技术。具体来 说,MPEG标准并入有利用连续图像帧之间的类似性(称作时间或帧间相关)的视频编码技 术,以提供帧间压缩。帧间压缩技术通过使用运动补偿预测(即,通过在估计场景的运动后 从一帧预测另一帧)来利用跨越帧的数据冗余。另外,视频编码技术可利用图像帧内的类 似性(称作空间或帧内相关)。帧压缩通常基于用于压缩静态图像的常规过程,例如离散余 弦变换(DCT)编码。离散余弦变换(DCT)编码还用于压缩运动补偿预测。—种DCT技术被称为自适应块大小离散余弦变换(ABSDCT)方法。此技术 揭示于标题为“自适应块大小图像压缩方法和系统(Adaptive Block Size Image CompressionMethod And System) ”的第5,021,891号美国专利中,所述申请案已转让给 本发明的受让人且以引用的方式并入本文中。DCT技术还揭示于标题为“自适应块大小图 像压缩方法禾口系统(Adaptive Block Size Image Compression Method And System) ” 的 第5,107,345号美国专利中,所述申请案已转让给本发明的受让人且以引用的方式并入本 文中。另外,ABSDCT技术结合差分四叉树变换技术(Differential Quadtree Transform technique)的使用论述于标题为“自适应块大小图像压缩方法和系统(Adaptive Block Size ImageCompression Method And System) ”的第5,452,104号美国专利中,所述申请案也已转让给本发明的受让人且以引用的方式并入本文中。这些专利中所揭示的系统利用称 作“帧内帧”编码的编码,其中编码图像数据的每一帧而不考虑任何其它帧的内容。通过使 用ABSDCT技术,可实现的数据速率可从每秒大约15亿位减小到每秒约5000万位,而不具 有可辨别的图像质量的降级。ABSDCT技术可用于压缩黑色和白色或彩色图像或表示图像的信号。色彩输入信 号可呈YIQ格式,其中Y为每一 4X4像素块的辉度或亮度(样本),且I和Q为每一 4X4 像素块的色度或色彩(样本)。还可使用其它已知格式,例如YUV、YC. sub. bC. sub. y或RGB 格式。由于眼睛对色彩的低空间敏感性,所以大多数研究已展示以因子四在水平和垂直方 向上对色彩分量进行子取样是合理的。因此,可通过四个辉度分量和两个色度分量来表示 视频信号。为了支持压缩技术,许多数字视频装置包括用于压缩数字视频序列的编码器,和 用于解压缩数字视频序列的解码器。在许多情况下,编码器和解码器包含对界定视频图像 序列的帧内的像素块进行操作的集成的编码器/解码器(CODEC)。在MPEG-4标准中,例如, 发送装置的编码器通常将待发射的视频图像帧划分成包含较小图像块的宏块。对于图像帧 中的每一宏块,编码器搜索紧接在前面的视频帧的宏块以识别最类似的宏块,且编码所述 宏块之间的差异以连同指示来自先前帧的哪个宏块曾用于编码的运动向量一起发射。接收 装置的解码器接收运动向量和经编码的差异,且执行运动补偿以产生视频序列。运动向量 可依据由编码器选择的精度等级而具有全像素精度、二分之一像素精度或四分之一像素精 度。当使用具有分数像素值的运动向量时,获得较佳预测块。进行内插以确定分数像素(子 像素)的值。在一个实例中,像素值包括表示辉度、色度或色彩分量的强度的位。视频编码过程在计算上为密集的。具体来说,比较视频块与先前所发射的视频块 的过程需要大量计算。高度需要改进的编码技术,尤其用于计算资源更有限且功率消耗为 关注点的无线装置或其它便携式视频装置中。

发明内容
一个实施例是一种编码数字视频的方法,所述方法包括识别参考帧和当前帧; 使用默认过滤器内插所述参考帧以产生默认经内插帧;使用替代性过滤器内插所述参考帧 以产生替代性经内插帧;针对每一子像素位置,基于较低和错误而确定是使用默认过滤器 还是替代性过滤器来产生最终参考帧。另一实施例是视频编码装置,其包括运动补偿单元,其经配置以使用默认过滤器 内插第一参考帧以产生默认经内插帧且经配置以使用替代性过滤器内插第二参考帧以产 生替代性经内插帧;参考帧存储装置,其经配置以存储所述默认经内插帧且存储所述替代 性经内插帧;过滤器决策单元,其经配置以接收当前帧,接收默认经内插帧,接收替代性经 内插帧,且针对每一全像素位置和子像素位置而确定在最终帧中是使用默认过滤器还是替 代性过滤器,且产生最终帧。又一实施例是一种视频编码装置,其包括用于接收当前帧的装置、用于将多个经 内插参考帧存储于参考帧存储装置中的装置、用于接收来自所述参考帧存储装置的所述多 个经内插参考帧的装置、用于产生最终帧的装置,和用于针对最终帧中的每一全像素位置 和子像素位置而确定是使用默认过滤器还是替代性过滤器的装置。
一个其它实施例是一种视频编码装置,其包括运动补偿单元,其经配置以使用默 认过滤器内插第一参考帧以产生默认经内插帧,且经配置以使用替代性过滤器内插第二参 考帧以产生替代性经内插帧;过滤器决策单元,其经配置以接收当前帧,接收所述默认经内 插帧,接收所述替代性经内插帧,针对每一全像素位置和子像素位置而确定在最终帧中是 使用默认过滤器还是替代性过滤器,且产生最终帧。另一实施例是一种视频编码装置,其包括用于接收当前帧的装置、用于接收多个 经内插参考帧的装置、用于产生最终帧的装置,和用于针对最终帧中的每一全像素位置和 子像素位置而确定是使用默认过滤器还是替代性过滤器的装置。


在附图中以实例而非限制的方式来说明本申请案的上述方面和许多伴随的优点, 其中。图1为说明视频编码和解码系统的框图。图2为说明视频编码器的框图。图3为说明参考帧存储装置和过滤器决策单元的框图。图4为描述确定过滤器的最佳组合的过程的流程图。图5为展示用于内插的分数像素位置的视频帧的框图。图6为说明视频运动估计的框图。图7为说明包括帧内帧、经预测帧和双向帧的视频帧的框图。图8为说明包含B切片的视频帧的框图,B切片包含两个运动向量。图9为描述产生最终参考帧的过程的流程图。
具体实施例方式现将参看诸图描述本申请案的特定实施例。本文中所呈现的描述中所使用的术语 无意以任何限制或约束的方式来解释,仅因为其是结合本申请案的某些特定实施例的详细 描述而利用的。在一个实施例中,系统使用多个过滤器内插给定视频块或帧以产生多个参考帧。 对于每一过滤器,系统接着从所述给定参考帧计算运动向量。接着进行计算以针对每一像 素确定哪个过滤器提供最低错误和失真率。在一些实施例中,检查用于视频帧内的每一子 像素或整数像素的过滤器中的一者或过滤器组合的预期性能。接着,针对视频帧中的每一 位置选择用于编码所述子像素和整数像素值的最佳过滤器。在一个实施例中,系统使用多个过滤器针对单一帧中的所有可用位置累加绝对差 和(SAD)错误测量。通过测量SAD,系统可确定是使用对应于那个位置的自适应过滤器(例 如,自适应内插过滤器(AIF))有利还是使用默认内插过滤器或根本不使用过滤器来编码 像素值可能更便利(在SAD和经加权的位成本方面)。在另一实施例中,使用导致最小计算成本(或SAD加上由非默认内插过滤器所使 用的经加权的编码位)的对可用过滤器的组合使用最佳选择准则的过程。给定矩阵和向 量,可能有可能计算对应于决策向量中的每一者的错误且选择用于每一子像素位置的指示 最小计算成本的过滤器。
在又一实施例中,利用迭代过程。此过程包括从可能的解(任何有效决策向量) 开始以及寻找替代性过滤器提供最大错误减小的位置。接着用新过滤器选择的值更新此新 位置且重复所述过程,直到可能无更多改进、改进可忽略(低于预定阈值)或达到迭代的最 大数目为止。 在再一实施例中,使用简化的试探法来使用对称类别(symmetry class)寻 找最小成本的近似值。此方法仅考虑两个参考块的位置使用相同过滤器的错误贡献 (errorcontribution)。此在所述位置相同时或在其属于对称类别时发生。在另一实施例中,使用量化表,其改进在全像素位置上使用的过滤器系数的编码, 其中量化精度取决于使用不均勻量化过程的系数位置。块匹配为最常用的运动估计方法。通常将视频帧中的每一宏块(即,16 X 16像素) 与来自先前帧的相同大小的经移位区域进行比较,且选择导致最小错误的移位作为用于那 个宏块的最佳运动向量。帧内帧(或I-帧)为不参考任何其它帧进行译码的帧,且可由编码器产生以产生 随机存取点。帧内帧通常需要比其它图片类型多的位来编码。常常,I-帧用于随机存取且 用作用于解码其它帧的参考。经预测帧(或P帧)需要某一(某些)其它帧的先前解码以便进行解码且可含有 图像数据与运动向量位移两者。在H. 264中,在解码期间经预测帧可使用多个先前经解码 的帧作为参考,且相对于用于其预测的所述帧可具有任何的任意显示次序关系。而且,通 常,经预测帧需要比帧内帧编码少的位来编码。双向经预测帧(或B帧)需要某一(某些)其它帧的先前解码以便进行解码,可 含有图像数据与运动向量位移两者,且包括通过将使用两个不同的先前经解码的参考区域 获得的预测平均化而形成预测的一些预测模式。在H. 264中,双向经预测帧可用作或可不 用作用于解码其它图片的参考。B帧通常需要比帧内帧或经预测帧编码少的位来编码。图1为说明视频编码和解码系统10的框图。如图1中所展示,系统10包括经由通 信信道16将经编码的视频发射到接收装置14的源装置12。源装置12可包括视频源18、 视频编码器20和发射器22。发射器22可为有线/无线发射器。接收装置14可包括接收 器对、视频解码器26和视频显示装置观。在一些方面中,接收器M可为无线接收器,例如 无线通信装置手持机中的无线接收器。系统10可经配置以支持运动补偿预测块的替代性 过滤(或自适应过滤),以改进视觉质量与处理效率两者。在图1的实例中,通信信道16可包含任何无线或有线通信媒体(例如,射频(RF) 频谱或一个或一个以上物理传输线),或无线与有线媒体的任何组合。信道16可形成基于 包的网络(例如,局域网、广域网,或例如因特网的全球网络)的一部分。通信信道16—般 表示用于将视频数据从源装置12发射到接收装置14的任何合适的通信媒体或不同通信媒 体的集合。源装置12产生用于发射到目的地装置14的视频。然而,在一些情况下,装置12、 14可以大体上对称的方式操作。举例来说,装置12、14中的每一者可包括视频编码和解码 组件。因此,系统10可支持视频装置12、14之间的(例如)用于视频串流、视频广播或视 频电话的单向或双向视频发射。视频源18可包括视频俘获装置,例如一个或一个以上视频相机、含有先前俘获的视频的视频档案或者来自视频内容提供者的实况转播视频馈送。作为另一替代情况,视频 源18可产生基于计算机图形的数据作为源视频,或产生实况转播视频与计算机产生的视 频的组合。在一些情况下,如果视频源18为相机,则源装置12与接收装置14可形成所谓的 相机电话或视频电话,包括卫星或移动无线电话,或其它无线通信装置。因此,在一些方面 中,本申请案中所描述的技术可实施于移动无线通信装置手持机(例如,移动电话手持机) 内。在每一情况下,可由视频编码器20编码经俘获、经预先俘获或计算机产生的视频以用 于经由发射器22、信道16和接收器M而从视频源装置12发射到视频接收装置14的视频 解码器沈。显示器装置观可包括多种显示器装置中的任一者,例如液晶显示器(IXD)、等 离子显示器或有机发光二极管(OLED)显示器。在本申请案的一些方面中,视频编码器20和视频解码器沈可经配置以支持用于 空间、时间和/或信噪比(SNR)可缩放性(scalability)的可缩放视频译码。编码器20和 解码器沈可通过支持基础层和一个或一个以上可缩放增强层的编码、发射和解码而支持 各种程度的可缩放性。对于可缩放译码,基础层载运具有最小质量等级的视频数据。一个 或一个以上增强层载运额外位流以支持较高空间、时间或SNR等级。视频编码器20和视频解码器洸可根据例如MPEG-2、MPEG-4、ITU-T H. 263或ITU-T H. ^4/MPEG-4第10部分(AVC)的视频压缩标准来操作。尽管图1中未展示,但在一些方 面中,视频编码器20和视频解码器22可分别与音频编码器和解码器集成,且包括适当的 MUX-DEMUX单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频与视频两者 的编码。如果适用,则MUX-DEMUX单元可遵循ITU H. 223多路复用器协议,或例如用户数据 报协议(UDP)的其它协议。H. 264标准由ITU-T视频译码专家组和IS0/IEC运动图片专家组(MPEG)开发, 作为被称为联合视频小组(JVT)的合作伙伴的产品。H. 264标准描述于日期为2005年 3月的ITU-T推荐H. 264 “用于通用视听服务的高级视频译码(Advanced Video coding forGeneric Audiovisual Services) ” 中,其在本文中可称作 H. 264 标准或 H. 264 规范, 或H. ^4/AVC标准或规范。在一些方面中,可将本申请案中所描述的技术应用于一般遵循 H. 264标准的装置,或一般不遵循H. 264标准的其它装置。联合视频小组(JVT)继续致力于将可缩放视频译码(SVC)扩展到H. 264/ MPEG-4AVC。H. ^4/MPEG_4AVC与演进的SVC扩展两者的规范为联合草案(Joint Draft, JD) 的形式。由JVT产生的联合可缩放视频模型(JSVM)实施用于在可缩放视频中使用的工具, 其可用于系统10内,以用于本申请案中所描述的各种译码任务。在一些方面中,对于视频广播,实施例涉及使用待公开为技术标准TIA-1099 的仅前向链路(FLO)空中接口规范“用于陆地移动多媒体多播的仅前向链路空中接口 规范(Forward Link Only Air Interface Specification for Terrestrial Mobile MultimediaMulticast),,( "FLO规范”)的对增强型H. 264视频译码的应用以在陆地移动 多媒体多播(TiO)系统中递送实时视频服务。FLO规范包括界定位流语法和语义的实例 和适合于FLO空中接口的解码过程。或者,可根据例如DVB-H(数字视频广播-手持式)、 ISDB-T (综合业务数字广播-陆地型)或DMB (数字媒体广播)的其它标准来广播视频。因 此,在一些情况下,源装置12可为移动无线终端(例如,无线通信装置手持机)、视频串流服 务器或视频广播服务器。然而,本申请案中所描述的技术不限于任何特定类型的广播、多播或点对点系统。视频编码器20和视频解码器沈各自可经实施为一个或一个以上微处理器、数字 信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬 件、固件或其任何组合。因此,本文中所描述的技术可实施于一个或一个以上集成电路装置 内,其可被统称为集成电路装置。此类集成电路装置可提供于通信装置(例如,无线通信装 置手持机)内。视频编码器20和视频解码器沈中的每一者可包括于一个或一个以上编码 器或解码器中,所述一个或一个以上编码器或解码器中的任一者可作为组合的编码器/解 码器(CODEC)的部分而集成于相应移动装置、订户装置、广播装置、服务器等中。另外,视频 源装置12和视频接收装置14各自可包括用于发射和接收经编码的视频的适当调制、解调、 频率转换、过滤和放大器组件,包括(当适用时)足以支持无线通信的射频(RF)无线组件 和天线。然而,为了易于说明,图1中未展示所述组件。如上文所提及,视频包括一系列视频帧。视频编码器20对个别视频帧内的像素 块进行操作以便编码视频数据。视频块可具有固定或不同的大小,且可根据指定译码标准 而在大小上不同。作为实例,ITU-T H. 264标准支持各种块大小(例如,用于辉度分量的 16X16、8X8、4X4,和用于色度分量的8X8)的帧内预测。ITU-T H. 264标准还支持各种块 大小(例如,用于辉度分量的16X16、16X8、8X16、8X8、8X4、4X8和4X4以及用于色度 分量的对应的经缩放大小)的帧间预测。较小视频块可提供较佳分辨率,且可用于视频帧 的包括较高层级的细节的位置。一般来说,可将宏块和各种较小块视为视频块。在一些情 况下,较小块可被称作子块。在预测后,可对8X8残余块或4X4残余块执行变换。而且, 如果使用帧内子16X 16预测模式,则可向用于色度分量或辉度分量的4X4块的DC系数应 用额外变换。图2为说明视频编码器20的更多细节的框图。视频编码器20可执行视频帧内的 块的帧内译码和帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧中的空间冗 余。帧间译码依赖于时间预测来减少或移除邻近帧内的视频中的时间冗余。对于帧间译码, 视频编码器20执行运动估计以追踪两个或两个以上邻近帧之间的匹配视频块的移动。如图2中所展示,视频编码器20接收待编码的视频帧内的当前视频块21。在图2 的实例中,视频编码器20包括运动估计单元23、参考帧存储装置25、运动补偿单元27、块变 换单元四、量化单元31、反量化单元33、反变换单元35和熵译码单元37。视频编码器20 还包括加法器39和加法器41。图2说明用于视频块的帧间译码的视频编码器20的时间预 测组件。尽管为了易于说明在图2中未展示,但视频编码器20还可包括用于一些视频块的 帧内译码的空间预测组件。运动估计单元23将视频块21与一个或一个以上邻近视频帧中的块进行比较以产 生一个或一个以上运动向量。所述邻近帧可从参考帧存储装置25中检索到。可对具有可 变大小(例如16X16、16X8、8X16、8X8或更小的块大小)的块执行运动估计。运动估计 单元23识别邻近帧中与当前视频块21最紧密匹配的块(例如,基于速率失真模型),且确 定块之间的位移。在此基础上,运动估计单元23产生指示所述位移的量值和轨迹的运动向 量。运动向量可具有二分之一像素或四分之一像素的精度,或者甚至更精细的精度, 从而允许视频编码器20追踪具有比整数像素位置高的精度的运动且获得较佳预测块。当使用具有分数像素值的运动向量时,可在运动补偿单元27中执行内插操作。举例来说,在 H. ^4/AVC标准中,为了获得在二分之一像素位置处的辉度信号,可使用具有系数(1,-5, 20,20, -5,1)/32的6分接头维纳(Wiener)过滤器。为了获得在四分之一像素位置处的 辉度信号,可使用对在整数像素位置处的值和在二分之一像素位置处的内插值的双线性过 滤。双线性过滤器还可用于对色度分量的分数像素内插中,色度分量可具有高达1/8像素 精度。运动估计单元23使用速率失真模型识别视频块的最佳运动向量。通过使用所得 运动向量,运动补偿单元27通过运动补偿而形成预测视频块。视频编码器20通过在加法器 39处从原始的、当前视频块21减去由运动补偿单元27产生的预测视频块而形成残余视频 块。块变换单元四对残余块应用变换。量化单元31量化变换系数以进一步减小位速率。 熵译码单元37熵译码经量化的系数以进一步减小位速率。视频解码器沈执行反操作以重 建经编码的视频。反量化单元33和反变换单元35分别应用反量化和反变换,以重建残余块。加法 器41将经重建的残余块添加到由运动补偿单元27产生的运动补偿预测块以产生用于在参 考帧存储装置25中存储的经重建视频块(或用于当前帧的过滤器决策)。包含过滤器决策 单元44的运动补偿单元经配置以接收来自参考帧存储装置25的参考帧,接收当前帧且产 生待存储于过滤器参考帧存储装置25中的经重建视频块。所述经重建视频块可由运动估 计单元23和运动补偿单元27使用以编码后续视频帧中的块。当对当前视频帧21中的给定块执行运动补偿时,运动补偿单元27可使用一组固 定的过滤器来内插来自参考帧的参考块。如果当前块是单向预测的,则需要一个参考块,或 者如果当前块是双向预测的,则需要两个参考块。在H. 264中,在一些情况下,可使用在前 向和后向方向上的多个参考帧。由运动补偿单元27使用的实际过滤器取决于运动向量的 分数部分。举例来说,如果运动向量指向给定维度中的参考帧中的二分之一像素位置,则为 了获得所述二分之一像素位置的值,可在具有二分之一像素运动向量的那个维度中使用默 认内插过滤器。如果两个运动向量分量均指向整数位置,则可在不执行任何内插过滤操作 的情况下直接使用来自参考帧存储装置25中的参考帧的像素值。图3为说明如图2中所展示的参考帧存储装置25和过滤器决策单元44的框图。 图3的参考帧存储装置25和过滤器决策单元44的说明性框图包括当前帧30、参考帧存储 装置25,和过滤器决策单元44。可将当前帧30发射到过滤器决策单元44以用于产生待存 储于参考帧存储装置25中的最终(或经重建)参考帧。参考帧存储装置25可维持一组参 考帧且将所述所维持的参考帧发射到运动补偿单元27。在一个实施例中,将用默认过滤器 32、34和36内插的一组参考帧存储于参考帧存储装置25中且将其发送到过滤器决策单元 44。在另一实施例中,将用替代性过滤器(或非默认过滤器)38、40和42内插的一组参考 帧存储于参考帧存储装置25中且将其发送到过滤器决策单元44。在另一实施例中,如果存 储器容量有限,则可在需要时在运作中产生经内插的帧。在一个实施例中,实时地产生经内 插的帧,只要原始(非内插)帧、内插过滤器和过滤器选择是可用的。驻留于视频编码器20 中的替代性过滤器(未展示)可为自适应内插过滤器、可分离自适应内插过滤器、固定过滤 器。在另一实施例中,替代性过滤器可为提供大的译码增益(尤其对具有高分辨率(例如, 720p)的视频序列)的自适应内插过滤器(AIF)。视频编码器20具有用以内插参考帧中的块的一组固定的替代性过滤器。在又一实施例中,视频编码器20可支持2D不可分离的自 适应内插过滤器、可分离的自适应内插过滤器、定向自适应内插过滤器,和增强型自适应内 插过滤器。2D不可分离的自适应内插过滤器使用二维矩阵来内插帧。可分离的自适应内 插过滤器使用垂直接着水平扫描来内插帧。定向自适应内插过滤器使用对角线扫描来内插 帧。在另一实施例中,可通过将全像素位置过滤器和过滤器偏移添加到每一全像素位 置和子像素位置来使用增强型自适应内插过滤器(E-AIF)。对于全像素位置和每一子像素 位置,E-AIF还估计替代性过滤器与默认内插相比的预期速率失真增益,且决定是否使用替 代性过滤器且用信号向解码器通知替代性过滤器。过滤器决策单元44可比较使用用默认过滤器32、34、36内插的参考帧编码所接收 的当前帧30的和位开销(或成本)与使用用替代性过滤器38、40、42内插的参考帧来编码 所接收的当前帧30的和位开销(或成本)。在一个实施例中,过滤器决策单元44可使用缩 放因子(未展示)来重建像素位置以确定对应于使用默认过滤器或替代性过滤器的绝对错 误。在另一实施例中,过滤器决策单元44可针对每一像素比较绝对错误值,在可用的过滤 器之间进行选择,且产生最小化位错误率和失真的决策向量。过滤器决策单元44还可接收运动向量(或运动向量数据)48。在一个实施例中, 过滤器决策单元可接收当前帧30、运动向量48、经内插的参考帧(例如,用默认过滤器32、 34,36内插的参考帧和用替代性过滤器38、40、42内插的参考帧),以便产生待存储于参考 帧存储装置25中的最终(或经重建)参考帧45、46、47。结果,过滤器决策单元44提供经内 插的参考帧45、46和47,其中使用默认过滤器或替代性过滤器内插每一全像素或子像素。 在另一实施例中,过滤器决策单元44可将决策阵列(未展示)输出到参考帧存储装置25。 所述决策阵列(未展示)可提供描述经重建参考帧45、46、47的决策值。在一个实施例中, 由决策阵列(未展示)提供的决策值可为(例如Ka(I)、b(0)、C(l)、d(0)...];其中子像 素位置由α字符来识别且过滤器选择决策是以二进制(0或1)的格式来识别(当使用视 频编码器20中可用的默认过滤器或替代性过滤器时)。在另一实施例中,由决策阵列提供 的决策值可为(例如)[3(1)、1^2)、((3)、仏4)...],其中子像素位置由α字符来识别且过 滤器选择决策是使用用于识别待针对每一子像素位置使用的实际过滤器类型的数字格式 来识别。在一个实施例中,可将多个默认过滤器和多个自适应内插过滤器彼此进行比较,以 便确定用于编码每一子像素位置的最有效过滤器。在另一实施例中,将多个自适应内插过 滤器彼此进行比较,以便确定待在针对每一子像素位置进行编码期间应用的最有效自适应 过滤器ο图4描绘用于使用图3中所展示的系统确定过滤器的最佳组合的说明性过程50。 所述过程开始于框51,其中视频编码器20计算参考帧到当前帧的运动向量。所述参考帧可 为帧内帧或经预测帧。当前帧30可为双向经预测帧。在一个实施例中,当前帧参考先前帧 内帧且应用使用块匹配的有限搜索以计算描述先前位移的运动向量。在另一实施例中,当 前帧参考将来的经预测帧且应用使用块匹配的有限搜索以计算描述经预测位移的运动向 量。在计算运动向量数据后,将其发射到如图3中所描述的过滤器决策单元44。过程50接着进行到框52且计算替代性过滤器的系数。在一个实施例中,选择自 适应内插过滤器且发送通常为包含系数向量和偏移向量的两个向量的系数。举例来说,包含六个系数的系数向量可为[1,0,1,0,1,1],且对应偏移向量为[_1,0,2,1,3,0]。针对每 一子像素位置发送一个偏移值加上用于全像素位置的一个偏移。因此,可存在两个向量,一 个向量用于过滤器选择,且具有相同维度的另一向量用于偏移。在另一实施例中,使用一组 固定的预先计算的过滤器来代替自适应地确定用于每一帧的系数。过程50接着进行到框53且产生使用替代性过滤器的参考帧。在一个实施例中, 产生使用增强型自适应内插过滤器的参考帧且将其存储于参考帧存储装置25中。可使用 自适应内插过滤器、增强型自适应内插过滤器或非默认过滤器的组合来内插参考帧。过程50接着进行到框M且在过滤器的每个组合可用的情况下计算每一块的错 误。在一个实施例中,将当前帧30与使用替代性内插过滤器的经内插参考帧进行比较且确 定速率和失真错误。在另一实施例中,将当前帧30与使用默认H. 264过滤器的经内插参考 帧进行比较且确定速率和失真错误。过程50接着进行到框55且确定编码过滤器系数的成本。在一个实施例中,图3 的过滤器决策单元44确定针对每一子像素位置使用默认内插过滤器对使用替代性内插过 滤器编码过滤器系数的成本,其中以位开销来确定所述成本。如果考虑一些位置为对称的,则可确定单一过滤器且从一个以上子像素位置进行 选择。举例来说,子像素位置'a'和'c'可使用为彼此为镜像的过滤器。过程50接着进行到框56且确定过滤器的最佳组合。在一个实施例中,针对最终 帧中的每一全像素位置和子像素位置,基于比较时具有较低错误和低失真率的过滤器而关 于是使用默认过滤器还是替代性过滤器作出确定。下文描述用于确定每一像素的失真率的数学计算。SADstd,计算基于默认内插过滤器的运动补偿预测错误的绝对差和;SADaif,计算基于替代性内插过滤器的运动补偿预测错误;λ · nBits,计算编码过滤器系数所必需的辅助信息(side information)的成本 (以位为单位),将其乘以缩放因子λ并将结果添加到SADaif ;最终,比较SADstd与SADaif+ λ -nBits且使用最低值来确定是应使用替代性内插过 滤器还是默认内插过滤器。在一个实施例中,如果过滤器选择使用预定且预先计算的过滤器,则编码器仅接 收与过滤器选择有关的信息。举例来说,使用寻找为最佳成本的局部最小近似值的成本的 迭代方法,不需要发射辅助信息(例如,成本(以位为单位))。图5为展示用于内插的分数像素位置的视频帧的框图。而且,图5说明视频帧中 的一组分数像素(或子像素)位置。在图5中,存在总共15个子像素位置,在图5中标记 为“a”到“0”。此外,此框图可用于提供对称数据且可导致减少计算开销。举例来说,1/2 像素位置'a' 61和'c' 63可为对称的,从而减少了内插处理中所涉及的计算开销。在 又一实例中,子像素位置'C3' 65可与子像素'C4' 69对称,从而导致减少内插处理期 间的计算开销。简化的试探法仅考虑两个参考块的位置使用相同过滤器的错误贡献。此在所述位 置相同时或在其属于相同对称类别(例如,图5中的e、g、m和ο)时发生。通过此方法,有可能累加向量Cti,,,·中的错误且可将问题陈述为
min Σfc,,,·+<■nBitsi)
,d2,...,d ) ,=1归因于所述决策的独立性,可通过独立地最小化每一 Cli来寻找解。图6为说明运动估计的框图。一般来说,运动估计用于确定与参考帧相比当前帧 中的每一宏块的运动向量。计算运动向量的过程包含执行确定当前帧中的宏块与来自参考 帧的像素块之间的最佳匹配的搜索算法。一般使用此项技术中众所周知的绝对差和(SAD) 计算来执行所述搜索算法。具体来说,运动估计比较当前帧中的每一宏块与其在先前帧中 的周围区域且试图找到由最小SAD指示的匹配。此外,图6说明一组顺序视频帧之间的关系。图6描绘作为参考帧的帧内帧(或 I-帧)60和作为当前帧的经预测帧(或P帧)62。经预测帧(P帧)62界定第一宏块66且 通过界定帧内帧60 (或参考帧)中的第二宏块64而执行运动估计。比较第一宏块66与第 二宏块64内的像素且计算绝对差和(SAD),并将运动向量68确定为结果。图7为说明包括帧内帧、经预测帧和双向经预测帧的视频帧的框图。如所说明,帧 内帧70不参考任何其它帧(除了其本身之外)。在一个实施例中,帧内帧为帧序列中所接 收的第一帧。一般来说,帧内帧不参考任何前面的帧且不具有参考将来的帧的能力。另一 方面,经预测帧可参考先前帧内帧或将来的经预测帧。如图中所展示,第一经预测帧76参 考帧内帧70且不参考第一 B帧72或第二 B帧74。B帧通常参考帧内帧或经预测帧(过去 的与将来的)。如图7中所展示,第一 B帧72参考第一帧内帧70与第一经预测帧76两者 以确定最佳运动向量。如图7中所展示,第二 B帧74参考第一帧内帧70与第一经预测帧 76两者。图8为说明包含双向经预测切片的视频帧的框图,所述双向经预测切片包含两个 运动向量。在一个实施例中,第一双向经预测帧72参考界定具有16X16的大小的第二帧 内帧宏块806的帧内帧70 (前一帧)和界定具有16X 16的大小的第三经预测宏块810的 第一经预测帧76 (将来的帧)来界定具有16X16的大小的第一双向经预测宏块814。在另 一实施例中,参考帧还可为两个双向经预测帧、两个经预测帧,或经预测帧与双向经预测帧 的组合。第一双向经预测帧72计算并识别两个运动向量如图8中所说明的第一帧内运动 向量820和第二经预测运动向量822。帧内帧70识别关于第一双向经预测帧72具有最小 绝对差和值的第一帧内像素808。如图8中所展示,第一经预测帧76识别关于第一经预测 帧72具有最小绝对差和值的第一经预测像素812。在识别第一帧内像素808和第一经预测像素812后,即刻接着建构矩阵,如下文所 描述;其中'a'表示第一帧内像素808且'b'表示第一经预测像素812。
矩阵 C= 0,0, a, b 0, 1, a, b 1, 0, a,b 1, 1, a, b 矩阵C含有在预测期间所累加的错误,其中'a'和'b'为子像素位置。因此, 在图8中,第一帧内运动向量820指向子像素位置'a'且第二经预测运动向量822指向子 像素位置'b'。对于矩阵C= W,0,a,b],编码器将添加通过向第一帧内像素808与第一经预测像素812两者应用默认过滤器(选择0)而计算的预测错误。对于矩阵C= [1,0, a, b],将通过添加通过用自适应过滤器内插第一帧内像素808且用默认过滤器内插第一经 预测像素812(选择10)而获得的预测错误来更新编码器。对于矩阵C= W,l,a,b],编码 器将添加通过用默认过滤器内插第一帧内像素808且用自适应过滤器内插第一经预测像 素812(选择01)而获得的预测错误。最终,对于矩阵C= [1,1, a, b],将用从用自适应过 滤器内插两个像素(选择11)而获得的预测错误来更新编码器。对于每一全像素位置和子像素位置,可计算决策向量D= ((I1, d2,...,dn),其中 Cli e {0,1}且 i = 1、· · ·、n。用于每一子像素位置的过滤器旗标'1'或'0'表示经发送以指示针对所述子 像素位置是使用默认过滤器还是替代性过滤器的一组唯一的过滤器系数。如果过滤器旗标 经设定到'1',则对用于此子像素位置的替代性过滤器系数进行预测、量化、译码且将其 应用到对应子像素位置。如果过滤器旗标经设定到'0',则使用默认内插过滤器来内插此 子像素位置和其对称的子像素位置。在试探式解中,使用对称类别,如果帧内像素808与经预测像素812两者均指向相
同子像素位置,则累加错误。举例来说,可将矩阵简化为
矩阵= 0, 0, a, a
0,1, a, a
1,0,a, a 1, 1, a, a在双预测块中,用于预测中的两个参考块的全像素位置或子像素位置可不同,因 此必须针对位置的每一组合收集SAD错误。有可能在所有块中进行迭代且在单一回合中, 将原始像素与经内插像素之间的绝对差累加到四维矩阵中,其中w表示在过滤器决策 为屯,Clj e {0,1}时针对位置i,j = 1.....η所累加的绝对差和。对于经编码的每一块,位置i和j指代第二帧内帧宏块806 (A)和第三经预测宏块 810 (B)。接着,针对块814中的每一像素,通过使用pidtdX和pixAifX (用默认过滤器内 插的像素和用替代性过滤器内插的像素)来计算四个预测pix_00 = (l-b_scaling)*pixStdA+b_scaling*pixStdB ;pix_01 = (l-b_scaling)*pixStdA+b_scaling*pixAifB ;pix_10 = (l-b_scaling)*pixAifA+b_scaling*pixStdB ;pix_ll = (l-b_scaling)*pixAifA+b_scaling*pixAifB ;最终将经重建像素计算为rec_00 = max(0,min(max—pixel_value,(int) (pix_00+0. 5)));rec_01 = max (0,min (max—pixel_value,(int) (pix_01+0. 5)));rec_10 = max (0,min (max—pixel_value,(int) (pix_10+0. 5)));rec_ll = max (0,min (max—pixel_value,(int) (pix_ll+0. 5)));且用于确定对应于使用默认过滤器或替代性内插过滤器的绝对错误。所述错误将 在矩阵中经累加为C

[i] [j]+ = (double) abs (orig-rec_00);
C[l] [1] [i] [j]+ = (double) abs (orig-rec_l 1);C
[1] [i] [j]+ = (double) abs (orig-rec_01);C[l]
[i] [j]+ = (double) abs (orig-rec_10);缩放因子b-scaling可为0. 5或根据当前帧和参考帧序列进行计算。此第二方法 可用于更多地加权源自时间上较靠近的参考帧的预测的贡献。如果两个参考块中的一者丢失,则仅针对两个位置中的一者累加错误贡献。此外, 当i = j且对于两个参考块来说位置相同时,不累加对c
[1]和C[l]
的错误贡献。对于每一所使用的替代性过滤器,可明确地用信号通知过滤器系数,因此每一位
置i = 1.....η(全像素或子像素)具有相关联的加权成本λ ·ηΒΗ 其中加权因子反
映位对速率失真性能的贡献。如果过滤器是预定的或预先计算的且可为编码器所用,则可 能不需要发射例如成本(以位为单位)的信息。在此体系的情况下,应用程序由寻找将最小化以下项的二进制决策向量D = (Cl1, d2, . . . , dn)组成
η ηη min Σ Σ c^’υ + Σ 式·λ ■ nBitsi
D=(dx,d2---4n) /=1 j=l =1给定矩阵C^w和向量λ · IiBitsi,有可能彻底地计算对应于2"个决策向量中的 每一者的错误且选择最小者。紧密近似最佳策略的迭代方法包括从可能的解(任何有效决策向量)开始和寻找 替代性过滤器具有最大错误减小的位置。接着用新过滤器选择的值更新此新位置且重复所 述过程,直到可能无更多改进、改进可忽略(低于预定阈值)或达到迭代的最大数目为止。 可将所述三个停止准则组合在一起。所述方法的伪码描述如下D
= {0,0,0,...,0} ; //开始解SAD = ComputeSAD (D, C) ;//C 为成本矩阵while (不满足停止准则){(P,F) = FindPosition(D,C,SAD) ;// 寻找位置和过滤器//最大程度上减小SADD[P] =F;//更新 DSAD = ComputeSAD (D, C) ;// 更新 SAD}此方法在许多情况下能够在8到10次迭代中收敛到局部最小值。如果η为位置
的数目且k为对于每一位置可用的选择(过滤器)的数目,则每一迭代具有η · (k-1)个可 能性(所述η个位置中的每一者上剩余k-Ι个过滤器)。如果将迭代的最大数目限制为至 多c,则此方法将具有在位置和过滤器的数目上为线性的计算复杂性。使用不均勻量化(即,量化精度)的方法取决于系数位置。已发现,与具有较大量 值的系数(这些为较接近过滤器中心的系数)相比,具有较小量值的系数(这些为较远离 过滤器中心的系数)需要较佳精度。矩阵Qfp用于指定整数像素过滤器的系数的量化精度。矩阵中的位的数目包括用 于符号的1个位,因此(例如)将用9个位(其中1个位用于符号且8个位用于错误量值) 来量化中心系数。
权利要求
1.一种编码数字视频的方法,所述方法包含 识别参考帧和当前帧;使用默认过滤器内插所述参考帧以产生默认经内插帧; 使用替代性过滤器内插所述参考帧以产生替代性经内插帧;以及 针对每一子像素位置基于较低和错误而确定是使用所述默认过滤器还是所述替代性 过滤器来产生最终参考帧。
2.根据权利要求1所述的方法,其中所述参考帧为经预测帧。
3.根据权利要求1所述的方法,其中所述参考帧为双向经预测帧。
4.根据权利要求1所述的方法,其中所述默认过滤器为H.264过滤器
5.根据权利要求1所述的方法,其中所述替代性过滤器为自适应内插过滤器。
6.根据权利要求1所述的方法,其中所述较低和错误是基于错误率与失真的最低组合。
7.一种视频编码装置,其包含运动补偿单元,其经配置以使用默认过滤器内插第一参考帧以产生默认经内插帧,且 使用替代性过滤器内插第二参考帧以产生替代性经内插帧;参考帧存储装置,其经配置以存储所述默认经内插帧和所述替代性经内插帧; 过滤器决策单元,其经配置以接收当前帧、所述默认经内插帧和所述替代性经内插帧;针对每一全像素位置和子像素位置,确定在最终帧中是使用默认过滤器还是替代性过 滤器;以及产生所述最终帧。
8.根据权利要求7所述的视频编码装置,其中所述经内插参考帧是使用H.264过滤器 产生的。
9.根据权利要求7所述的视频编码装置,其中所述最终参考帧是使用经确定具有低错 误率和低失真率的过滤器的组合产生的。
10.根据权利要求7所述的视频编码装置,其中所述子像素位置为1/2像素、1/4像素 或1/8像素。
11.根据权利要求7所述的视频编码装置,其中所述默认过滤器为H.264过滤器。
12.根据权利要求7所述的视频编码装置,其中所述替代性过滤器为自适应内插过滤器。
13.—种视频编码装置,其包含 用于接收当前帧的装置;用于将多个经内插参考帧存储于参考帧存储装置中的装置; 用于接收来自所述参考帧存储装置的所述多个经内插参考帧的装置; 用于产生最终帧的装置;以及用于针对所述最终帧中的每一全像素位置和子像素位置而确定是使用默认过滤器还 是替代性过滤器的装置。
14.根据权利要求13所述的视频编码装置,其中所述多个经内插参考帧是使用H.264 过滤器产生的。
15.根据权利要求13所述的视频编码装置,其中所述最终参考帧是使用经确定具有低 错误率和低失真率的过滤器的组合产生的。
16.根据权利要求13所述的视频编码装置,其中所述子像素位置为1/2像素、1/4像素 或1/8像素。
17.根据权利要求13所述的视频编码装置,其中所述默认过滤器为H.264过滤器。
18.根据权利要求13所述的视频编码装置,其中所述替代性过滤器为自适应内插过滤器。
19.一种计算机可读媒体,其包含致使处理器执行以下操作的指令 识别参考帧和当前帧;使用默认过滤器内插所述参考帧以产生默认经内插帧; 使用替代性过滤器内插所述参考帧以产生替代性经内插帧;以及 针对每一子像素位置基于较低和错误而确定是使用所述默认过滤器还是所述替代性 过滤器来产生最终参考帧。
20.根据权利要求19所述的方法,其中所述参考帧为帧内帧。
21.根据权利要求19所述的方法,其中所述参考帧为经预测帧。
22.根据权利要求19所述的方法,其中所述默认过滤器为H.264默认过滤器。
23.根据权利要求19所述的方法,其中所述替代性过滤器为自适应内插过滤器。
24.根据权利要求19所述的方法,其中所述较低和错误是基于错误率与失真的最低组合。
25.一种视频编码装置,其包含运动补偿单元,其经配置以使用默认过滤器内插第一参考帧以产生默认经内插帧,且 使用替代性过滤器内插第二参考帧以产生替代性经内插帧;过滤器决策单元,其经配置以接收当前帧、所述默认经内插帧和所述替代性经内插帧, 其中所述过滤器决策单元进一步经配置以针对每一全像素位置和子像素位置而确定 在最终帧中是使用默认过滤器还是替代性过滤器,且产生所述最终帧。
26.根据权利要求25所述的视频编码装置,其中所述替代性过滤器为多个预先计算的 过滤器中的一者。
27.一种视频编码装置,其包含 用于接收当前帧的装置;用于接收多个经内插参考帧的装置; 用于产生最终帧的装置;以及用于针对所述最终帧中的每一全像素位置和子像素位置而确定是使用默认过滤器还 是替代性过滤器的装置。
28.根据权利要求27所述的视频编码装置,其中所述替代性过滤器为多个预先计算的 内插过滤器中的一者。
全文摘要
本发明描述一种用于在编码器中的多个可用过滤器之间进行选择以提供具有低错误和失真率的帧的方法和装置。对于每一全像素位置和子像素位置,通过估计使用每一过滤器的速率失真增益而确定在内插期间是使用替代性过滤器还是默认过滤器且用信号向解码器通知对每一全像素位置和子像素位置应用的最佳过滤器。在一个实施例中,识别参考帧和当前帧,使用默认过滤器内插所述参考帧以产生默认经内插帧,使用替代性过滤器内插所述参考帧以产生替代性经内插帧,针对每一子像素位置基于最小成本而确定是使用所述默认过滤器还是所述替代性过滤器来产生最终参考帧。
文档编号H04N7/26GK102084655SQ200980126311
公开日2011年6月1日 申请日期2009年6月26日 优先权日2008年7月7日
发明者乔瓦尼·莫塔, 叶琰, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1