专利名称:用于运动补偿预测视频编码和解码的自适应内插方法和系统的制作方法
技术领域:
本发明涉及一见频编码和解码技术,具体地,涉及用于改善运动补 偿预测-见频编码和解码的自适应内插方法和系统。
背景技术:
典型的视频编码系统基于具有小数像素分辨率的运动矢量的运动
补偿预测4支术。例如,在^L频编码标准MPEG-2中,运动矢量可具有 半像素分辨率(或者精度)。在MPEG-4版本视频编码标准中,运动矢 量的分辨率可以更高,即,1/4像素分辨率。另一种称为高级视频编码 (AVC)的技术允许运动矢量具有1/8像素分辨率。
近来,已经研发了一种称为自适应内插滤波(AIF)的新技术来 对运动补偿预测的多种像素分辨率进行内插。为了使预测误差能量最 小,AIF考虑了图像信号性质的改变,尤其是混叠。AIF在一篇题为 "Motion- and Aliasing-compensated Prediction for Hybrid Video Coding (用于混合一见频编码的运动和混叠补偿预测)"的文献中"l是出,该文献 在"Circuits and Systems for Video Technology (用于^见步贞4支术的电^各禾口 系统),,(IEEE学报,第13巻,第7期,2003年7月,第577至586 页)中公开。基本上,AIF取决于滤波器系数,对于每帧而言,滤波器 系数都对视频信号的非平稳统计特性(例如,混叠、运动)进行一次 适应。经适应的系数纟皮编码并作为该帧的一部分传输。然而,该文献 的作者应用了 Downhill单纯形搜索法来寻找局部最小滤波器,而不是 全局最小滤波器,这导致了巨大的计算负担。
题为 "Adaptive interpolation filter System for Motion Compensated Predictive Video Coding (用于运动补偿预测浮见频编码的自适应内插滤 波器系统)"的第2004/0076333号美国专利申请也公开了 一种使视频 编解码器中的预测误差最小化的自适应内插滤波器。该自适应内插滤波器应用启发式搜索技术来提高编码的效率。启发式搜索方法的主要 缺点在于,除非其最初从"良好的"初始点开始,否则该方法不能收 敛至"最佳"或"接近最佳,,的分辨率。如果较差地选择了初始点, 则全局最小滤波器将可能不会被找到。解决该问题的 一个方法是执行 多通道搜索。然而,多通道搜索将必定会增加其计算负担,这不适于 那些实时编码的应用。
在ITU-T (ITU-Telecommunications Standardization Sector )的第 30次会i义中,题为 "Prediction of P- and B-Frames Using a Two-dimensional Non-separable Adaptive Wiener Interpolation Filter for H.264/AVC (应用H.264/AVC的二维不可分自适应维纳内插滤波器的 P帧和B帧的预测)"的文献VCEG-AD08公开了 一种二维(2D)不可分 的内插滤波技术,其由五组基于每帧通过使预测误差最小而独立计算 的滤波器组成。该方法的问题是在五组滤波器之间没有关联,因此对 于每帧需要采用大量的比特来传输五组滤波器系数。因此,该二维(2D) 不可分的内插滤波技术在滤波训练和内插运算的过程中都加入了巨大 的计算复杂性。
发明内容
为了克服现有技术中的缺点,本发明提供了用于运动补偿预测视 频编解码器的自适应内插方法和系统,该方法和系统能够 -使原始画面 和预测画面之间的差别最小。此外,本发明还提供了一种对应于内插 方法和系统的解码方法和系统。根据本发明,寻找最优内插滤波器的 训练过程可以通过单通道快速算法来执行以使其可用于实时编码应 用。
根据一方面,本发明提供了用于运动补偿预测视频编解码器的自 适应内插方法,该方法包括提供用于当前帧的滤波器组;根据所述 滤波器组对具有确定精度的参考帧进行内插;基于经内插的参考帧计 算运动矢量以生成所述当前帧的预测帧;基于所有子像素位置中的第 一部分并根据所述第 一 部分的采样之间的固定线性关系,构建所述滤 波器组的第一内插滤波器Fl;通过在所述第一部分的子像素位置上进行最小二乘估计来对所述第一滤波器F1进行训练;基于所有子像素位 置中的第二部分并根据所述第二部分的釆样之间的固定线性关系,构
建第二滤波器F2;在F1的限制下,通过在所述第二部分的子像素位 置上进行最小二乘估计来对所述滤波器组的所述第二滤波器F2进行 训练;在所述第二滤波器F2的限制下,在所述第一部分的子像素位置 上对所述第一滤波器Fl进行再训练;以及通过迭代地执行以上从内插 到更新的步骤直到满足停止条件为止,由经训练的滤波器Fl和F2更 新所述滤波器组以优化所述滤波器组。
优选地,所述第一滤波器F1用来在水平半像素位置或垂直半像素 位置处进行采样内插。
优选地,所述第二滤波器F2用来在水平且垂直半像素位置处进行 采样内插。
优选地,在半像素位置处进行了采样内插之后,基于半像素或整 像素位置处的采样与精度更高的子像素位置处的采样之间的固定线性 关系,在其它子像素位置处进行采样内插。
优选地,应用所述滤波器F2对水平且垂直半像素位置处的采样进 行内插的所述步骤进一步包括应用所述滤波器F2在水平且垂直半像 素位置处进行采样内插的步骤进一步包括采用所述滤波器F2对水平 且垂直半像素采样位置的左上NxN整数采样进行滤波以得到第一中 间结果;采用所述滤波器F2对水平且垂直半像素采样位置的右上NxN 整数采样进行滤波以得到第二中间结果;采用所述滤波器F 2对水平且 垂直半像素采样位置的左下NxN整数采样进行滤波以得到第三中间 结果;采用所述滤波器F2对水平且垂直半像素采样位置的右下NxN 整数采样进行滤波以得到第四中间结果;以及通过对得到的第 一结果、 第二结果、第三结果和第四结果进行平均,在水平且垂直半像素采样 位置处进行采样内插,其中N是整数。
此外,本发明还提供了视频编码器,包括加法器、运动补偿模块、 运动估计模块、编码模块、反馈解码模块以及自适应内插系统,其中, 所述自适应内插系统进一步包括被配置以提供用于当前帧的滤波器内插的设备;被配置以基于经内插的参考帧计算所述当前帧的运动矢 量的设备;被配置以通过根据下式利用所计算的运动矢量执行最小二 乘估计来对所述滤波器组中的至少 一个滤波器进行训练、并且通过用 经训练的滤波器来代替所述至少一个滤波器组而更新所述滤波器组以 便得到最佳滤波器组的设备,^ .=1 "' L"纖」4-""L"附"」+誓-w其中,e表示所述当前帧和所述当前帧的预测之间的差值,S表示所述 当前帧,P表示所述参考帧,x和y分别表示x和y坐标,NxM为所 述滤波器的大小,(mvx, mvy)表示所述运动矢量,h表示浮点滤波器 系数,而i、 j表示滤波器系数的索引;以及被配置以通过采用所述最 佳滤波器组来得到所述当前帧的所期望预测的设备。根据另 一 方面,本发明提供了用于运动补偿预测视频编解码器的 解码方法,包括接收经编码的滤波器组、运动矢量和预测误差,其 中所述滤波器包括第一滤波器Fl和第二滤波器F2;通过采用预测编 码和指数-Glomob方法对所接收的滤波器组、运动矢量和预测误差进 行解码;根据所解码的运动矢量确定待内插的采样;采用所解码的滤 波器组对参考帧进行内插;以及釆用经内插的参考帧、经解码的运动 矢量以及经解码的预测误差来重建所述当前帧。其中,采用所解码的 滤波器组对参考帧进行内插的步骤进一步包括应用所述滤波器Fl 将所确定的采样中的第 一多个采样进行内插,其中所述第 一多个采样 位于水平或垂直半像素采样位置处;以及应用所述滤波器F2将所确定 的采样中的第二多个采样进行内插,其中所述第二多个采样位于水平 且垂直半像素采样位置处。优选地,应用所述第二滤波器F2将所述第二多个采样进行内插的 步骤进一步包括采用所述滤波器F2对水平且垂直半像素采样位置的 左上NxN整数釆样进行滤波以得到第一中间结果;采用所述滤波器 F2对水平且垂直半像素采样位置的右上NxN整数采样进行滤波以得 到第二中间结果;采用所述滤波器F2对水平且垂直半像素采样位置的 左下NxN整数采样进行滤波以得到第三中间结果;采用所述滤波器 F2对水平且垂直半像素采样位置的右下NxN整数采样进行滤波以得到第四中间结果;以及通过对得到的第一结果、第二结果、第三结果 和第四结果进行平均来在水平且垂直半像素采样位置处进行采样内插,其中N是整数。优选地,采用经解码的滤波器组对所述参考帧进行内插进一 步包括在采用所述滤波器F1或滤波器F2在半像素位置处进行采样内插 之后,基于半像素或整像素位置处的采样与精度更高的子像素位置处 的采样之间的固定线性关系,应用固定滤波器在其它子像素采样位置 处进行采样内插。此外,本发明还提供了视频解码器,包括解码模块,其被配置 以接收并解码经编码的滤波器组、运动矢量和预测误差;运动补偿模 块,其被配置以采用包括第一滤波器Fl和第二滤波器F2的经解码的 滤波器组来对参考帧进行内插,以及重建模块,其被配置以采用经内 插的参考帧、经解码的运动矢量以及经解码的预测误差来重建所述当 前帧。所述运动补偿模块进一步包括用于根据经解码的运动矢量确 定待内插的釆样的装置;用于在所确定的采样中的第 一多个采样位于 水平或垂直半像素位置处的情况下应用所述滤波器Fl将所述第一多 个采样进行内插的装置;以及用于在所确定的采样中的第二多个采样 位于水平且垂直半像素位置处的情况下应用所述滤波器F2将所述第 二多个采样进行内插的装置。优选地,用于应用所述滤波器F2将所述第二多个采样进行内插的 所述装置进一步包括采用所述滤波器F2对水平且垂直半像素采样位 置的左上NxN整数采样进行滤波以得到第 一 中间结果的装置;采用所 述滤波器F2对水平且垂直半像素采样位置的右上NxN整数采样进行 滤波以得到第二中间结果的装置;采用所述滤波器F 2对水平且垂直半 像素采样位置的左下NxN整数采样进行滤波以得到第三中间结果的 装置;采用所述滤波器F2对水平且垂直半像素采样位置的右下NxN 整数采样进行滤波以得到第四中间结果的装置;以及通过对得到的第 一结果、第二结果、第三结果和第四结果进行平均来在水平且垂直半 像素采样位置处进行采样内插的装置,其中N是整数。优选地,所述运动补偿模块进一步包括用于在采用所述滤波器Fl或滤波器F2在半像素位置处进行采样内插之后,基于半像素或整像素位置处的采样与精度更高的子像素位置处的采样之间的固定线性 关系,应用固定滤波器在其它子像素采样位置处进行采样内插的装置。
图l是具有自适应内插系统的视频编解码器的方块图; 图2是示出了具有自适应内插滤波的视频编码过程的流程图; 图3是示出了训练自适应内插滤波器的过程的第 一实施方式的流 程图;图4是示出了训练自适应内插滤波器的过程的第二实施方式的流 程图;图5示出了通过并入根据本发明的内插法的H.264/AVC子像素内 插方案,其中具有大写字母的带阴影的方块表示整数采样,而具有小 写字母的不带阴影的方块表示整数采样表示用于四分之一采样Luma 内插的小数采样位置;图6是用于示出H.264/AVC中使用和不使用自适应内插系统之间 的主观重建视频质量比较的照片;图7是示出了根据本发明的解码方法的流程图;以及图8是用于实施根据图7的解码方法的解码器的方块图。
具体实施方式
将参考附图、结合示例性实施方式来描述本发明及其各种优点。 图1是示出了具有自适应内插系统110的视频编解码器170的方块图,其能够通过在运动补偿预测过程中应用自适应滤波器组来提高;f见频压缩效率。如图1所示,^L频编解码器170包括编码器171和解码器172。 编码器171包括加法器120、运动补偿模块115、运动估计模块105、 编码模块125、反馈解码模块130以及自适应内插系统110。解码器 172包括解码模块135、运动补偿模块140以及重建模块145。当前帧s(t)(即,待编码的原始图像信号)被输入至编码器171,即,输入至加法器120、自适应内插系统110以及运动估计才莫块105。 可以基于参考帧s,(t-l)通过运动补偿预测技术来对当前帧s(t)进行预 测,参考帧s,(t-l)是通过对反馈解码模块130中的先前的编码帧进行 重构而得到的。
从图1中可以得知,经内插的帧从自适应内插滤波器系统110传 输至运动估计模块105。经内插的帧是通过根据自适应内插系统110 的默认滤波器组对参考帧s,(t-l)进行内插而得到的。该默认滤波器组 可以是固定滤波器组或者经由前 一 帧训练的自适应滤波器组。
本发明中的滤波器组包括一组滤波器组,每个滤波器均被设计用 于其特定的子像素分辨率位置。例如,在1/4像素分辨率的内插滤波 器系统110中,可能需要两种滤波器用于在参考帧的水平1/2子像 素位置和垂直1/2子像素位置进行内插的第一滤波器;以及用于在参 考帧的1/4子像素位置进行内插的第二滤波器。此外,内插滤波器系 统110还能够确定滤波器组的模式,如滤波器之间的关系。
运动估计模块105将输入的当前帧sW分割为多个块并根据经内 插的帧为每个块分配运动矢量MV。显然,与经内插的帧和当前的帧 相关的运动矢量可以具有小数像素分辨率。用于当前帧s^中所有块 的运动矢量MV被提供至自适应内插系统110、运动补偿模块115以 及编码模块125。运动补偿模块115应用接收的运动矢量以及来自自 适应内插滤波器系统110的内插滤波器组来生成预测,从而得到预测 帧spre(t)。
根据本发明,自适应内插滤波器系统110从编码器171的输入接 收当前帧s(t),从反馈解码模块130接收参考帧s,(t-l),从运动估计模 块105接收运动矢量,并且通过应用以上接收的信息适应地对滤波器 组进行优化,直到最佳滤波器组出现。自适应内插滤波器系统110的 原理以及在其中应用的优化过程将在下文详细描述。
运动补偿模块115应用从自适应内插滤波器系统IIO得到的最佳
滤波器组来改善当前帧S(t)的预测Sp「e(t)。将当前帧S(t)的预测S^(t)传
输至加法器120并将其从当前帧s(t)中减去。由编码模块125对输入
的当前帧S(t)和预测Spw(t)之间的差值进行编码。将经编码的差值与经编码的当前帧的运动矢量一起发送至解码模 块135。由自适应内插系统110得到的最佳滤波器组被传输至运动补
偿模块140。
解码;f莫块135对经编码的差值和经编码的MV进行解码,并且所 解码的信号传输至运动补偿模块140。
运动补偿模块140用于根据所解码的MV来确定待内插的采样, 并用于对参考帧进行内插,以通过利用来自自适应内插系统110的最 佳滤波器组基于所解码的差值和运动矢量来恢复经运动补偿的预测 帧。
重建模块145从解码模块135接收经解码的差值并从运动补偿模 块140接收经运动补偿的预测帧,以便通过所解码的差值与所解码的 预测的和来重建所需的视频信号s'(t)。
如上所述,自适应内插滤波器系统110能够根据当前帧s(t)、先前 重建的参考帧s,(t-l)以及具有小数像素分辨率的运动矢量来适应性地 优化滤波器组,从而得到最佳滤波器组。下面参照图2、 3和4来描述 由自适应内插滤波器系统IIO执行的优化过程。
图2示出了由编码器171执行的对当前帧的编码过程。待处理的 帧为互帧(inter-fmme )。互帧是指视频编解码器中表现为与一个或多 个其他帧之间的变化的帧。该术语中的"互(inter)"是指帧间预测 (inter-frame prediction )的4吏用。
如图2所示,步骤200被执行用于确定待编码的当前帧是否为第
一互帧o
如果"是",则在步骤210中选取默认滤波器组,并在步骤215 中用该默认滤波器组对第一互帧的参考帧进行内插。如上所述,默认 滤波器组可以为在系统110中预设的固定的滤波器组。
如果当前帧不是第一互帧,即,在处理当前帧之前已处理了一个 或多个互帧,则在步骤205中选取自适应滤波器组。该自适应滤波器 组可以是由前 一 帧的训练过程得到的最佳滤波器组。
类似地,在步骤215中,将用所选取的自适应滤波器组对参考帧 进行内插。在步骤220中,将基于具有小数像素分辨率的参考帧(经内插的 帧)的对应块搜索当前帧的每个块,从而得到表示当前帧和其预测帧 之间的最小失真的运动矢量。
应该理解,到目前为止,运动估计是基于步骤210中选取默认滤 波器组或者步骤205中选取的自适应滤波器组来实现的。在接下来的 步骤225中,默认滤波器组或者自适应滤波器组(下文称为"指定滤 波器组")将被优化以得到用于当前帧的最佳滤波器组,从而改善运动 估计并由此提高编码效率。该优化的目的是通过最小二乘估计使当前 帧和预测帧之间的预测误差最小化。采用以下公式,预测误差由(e)2 表示
<formula>formula see original document page 16</formula>
其中,S表示待编码的当前帧;Spre表示来自运动补偿模块115的预测 帧;x和y分别表示当前帧的像素的x和y坐标。
在步骤230中,如果经优化的滤波器组满足停止条件,经优化的 滤波器组则被识别为用于当前帧的最佳内插滤波器组。用于当前帧的 移动补偿预测将在步骤235中执行。此后,在步骤240中,采用具有 本发明的最佳滤波器组的移动预测估计来对当前帧进行编码。
否则,程序返回至步骤205,将所得到的经优化的滤波器组选取 为当前的自适应滤波器组。然后,将重复从205至230的步骤以便迭 代地优化滤波器组,直到满足停止条件。根据该实施方式,停止条件 可以是预定数量的迭代循环、 一组期望的滤波器组系数、或者所需的 预测误差。已知的是,停止条件可以由图像的失真以及处理图像的复 杂性之间的平衡来确定。
如上所述,本发明旨在通过利用最小二乘估计对滤波器组进行优 化来使预测误差最小。下文将参照图3描述详细的优化程序。
图3是示出了根据第一实施方式由自适应内插系统IIO执行的自 适应优化步骤225的流程图。根据该实施方式,可以通过利用最小二 乘估计同时对滤波器组的所有滤波器的系数进行训练以使预测误差最 小。
在对滤波器组进行优化之前,需要根据实际要求在步骤300中确定滤波器组的参数值并在步骤305中确定滤波模式。
参数值包括例如用于确定滤波器组所需的滤波器数量的子像素分 辨率、表示滤波器组的每个滤波器的大小的滤波器抽头。滤波模式包 括关于每个子像素位置的滤波模式以及滤波器之间的关系。
在步骤310中,滤波器组的系数(即,具有特定子像素分辨率的 每个滤波器的系数)被自适应地训练,用于使公式l-l中平方误差(e)2
最小。根据本发明,公式1-1中的预测帧Spre可以利用下面的公式来
计算
* =Z2>,z 八. 1-2
其中NxM为滤波器的大小,P表示参考帧;(mvx,mvy)表示位置(x, y)处的当前子像素的运动矢量;h表示用于当前子像素位置的滤波器系 数;滤波器大小由图2的步骤200中确定的滤波器抽头确定。 如上所述,平方误差(ef可以通过利用下面的公式得到
卩 W M 人2
7、 , irf^1—H+y-1+'丄",>了-1+''
1-3
其中,e表示当前帧和当前帧的预测之间的差值;NxM为滤波器的大 小;S表示当前帧;P表示参考帧;x和y分别表示x和y坐标;(mvx, mvy)表示运动矢量;h表示浮点滤波器系数,而i、 j表示滤波器系数 的索引。
步骤310中的滤波器组的训练用来计算用于使平方误差(e)2最小 的最佳滤波器系数h。该训练步骤可通过利用最小二乘估计来实现。 此外,在执行步骤310的过程中,本发明的系数h为浮点系数,其不 同于背景技术中所述的第2004/0076333号美国专利申请中使用的量化 系数。为了使预测误差最小,在第2004/0076333号美国专利申请中, 采用启发式搜索方法来搜索滤波器的量化系数。在本发明中,通过利 用最小二乘估计方法来得到滤波器组的浮点系数。因此,利用本发明 得到的滤波器组为全局最佳内插滤波器组。
然后,执行步骤315来根据本实施方式的所需精度将浮点滤波器 系数映射至量化系数。应该理解,实施该映射步骤用来促进内插滤波器组的训练。
现在,具有量化系数的滤波器组为当前迭代中经训练的滤波器组。
该处理过程将进入图2的步骤230,以便确定该当前迭代中经训练的
滤波器组是否满足停止条件。如果"是",该迭代的经训练的滤波器则 为所需的优化的迭代滤波器,即,最佳滤波器组。
简要地说,该优化的目的是使上文根据图2和3提及的e平方最 小。由于公式1-3中具有未知的运动矢量(mvx, mvy)和h,因而不能 直接将最小二乘估计应用至误差e。因此,上述实施方式提出了一种 方案以通过以下方式解决这个问题设置默认滤波器组或自适应内插 滤波器组H';找到能够通过运动估计来优化目标的运动矢量;在刚刚 得到的运动矢量的限制下,在内插滤波器组H上执行最小二乘估计; 以及滤波器组H可替换步骤1中的滤波器组H'以便通过迭代地执行步 骤1-3来进一步对内插滤波器组进行优化,直到滤波器组H的系数为 收敛的。
如上所述,可得到用于每个子像素位置的最佳滤波器,因此也可 得到用于所有子像素位置的最佳滤波器组H。pt。
本发明提出了第二实施方式,其能够减少滤波器组H的滤波器系 数比特率并能减小用于对子像素位置的整个集合S进行滤波的计算复 杂性。参照图4,如图2所示的步骤225中的滤波器组H也可以优化。
在步骤400,根据预定的滤波模式以及子像素位置第一子集中的 子像素位置之间的假定关系来构建滤波器Fl。
详细地,为了示例性的目的,在水平半像素位置和垂直半像素位 置处的采样共享相同的内插滤波器Fl。同时,例如,Fl用来计算中 间结果,该中间结果将进一步用来在具有比半像素更高的精度的其它 相关子像素位置处进行采样内插。具有比半像素更高精度的子像素位 置处的采样与具有半像素精度的水平半像素位置或垂直半像素位置处 的采样之间的关系应通过固定的线性函数(例如,线性平均函数)来 限定。在该步骤中,在相关子像素位置处的所有采样的集合称为Sl。
在步骤405中,通过最小二乘估计来优化Fl,用于使当前帧与预 测帧之间的Sl的预测误差最小。该实施方式与上述第一实施方式之间的差别在于,第一实施方式的预测帧是基于包括组中所有滤波器的整 个滤波器组而得到的,且同时训练所有滤波器用于使预测误差最小, 而在第二实施方式中,步骤405中的预测帧仅基于滤波器F1得到,因 而此处的训练过程仅用于滤波器F1 。
在步骤410,根据预定的滤波器模式以及子像素位置的另一子集 中的子像素位置之间的假定的关系来构建滤波器F2。
具体地,假定由另一滤波器F2在水平且垂直半像素位置处进行采 样内插。同时,假定F2用来计算中间结果,该中间结果将进一步用来 在比高于半像素的位置处且与由所述固定线性函数或Fl限定的水平 或垂直半像素位置处的采样相关的位置处进行采样内插。在该步骤中, 位于相关子像素位置处的所有采样的集合称为S2。
在步骤415中,在S2和在步骤405中得到的优化的Fl的限制下, 由最小二乘估计对F2进行优化。F2的优化过程与在步骤405中描述 的Fl的优化过程类似,因此此处将其省略。
此后,在Sl以及在步骤420中得到的优化的F2的限制下,由最 小二乘估计对Fl进行进一步优化。
然后,该过程进入步骤425,用于确定优化过程是否满足停止条 件。如上所述,停止条件可以是预设数量的迭代循环、滤波器组的系 数收敛、或者当前帧与预测帧之间的预测误差位处于期望范围内。
如果满足了所需的停止条件,当前的Fl和F2则形成最佳滤波器 组,且处理进入图2的步骤235。否则,该处理进入图2的步骤205。
因此,滤波器《且H #1简^匕为两个内插滤波器Fl和F2, Fl和F2 可以与子像素位置之间的所述固定线性关系 一起用来对全部子像素位 置进行像素内插。
在该实施例中,我们假定S二S1 + S2,因而F1和F2在子像素位 置的整个集合S的限制下分别被优化。本领域技术人员应理解的是, 经本实施方式釆用了两个自适应优化的滤波器Fl和F2,但本发明并 不限于此。自适应滤波器的数量可以根据实际情况来确定。例如,如 果具有不存在于Sl或S2中而是存在于S3中的采用,且S二S1+S2+S3, 另一滤波器F3可以通过与F2类似的步骤引入并优化,直到S中的所有采样都被覆盖。
下文为在H.264/AVC的平台上实施本发明的实施例。
为了比较,首先结合图5描述用于Luma(亮度)分量的H.264/AVC 的子像素内插方案。给定全采样位置处的Luma采样'A'至'U',小数采 样位置处的Luma采样'a'至V则由以下规则得到。通过应用具有抽头值 (1, -5, 20, 20, -5, l)的固定6抽头滤波器,得到半采样位置处的 Luma预测值。四分之一采样位置处的Luma预测值将通过对全采样位 置处和半采样位置处的采样进行平均而得到。通过将固定6抽头滤波 器用于水平方向上最近的整数位置采样E、 F、 G、 H、 I和J来计算中 间值bn得到以"b"标示的半采样位置处的采样。通过将固定6抽头 滤波器用垂直方向上最近的整数位置采样A、 C、 G、 M、 R和T来计 算中间值b,,得到以"h,,标示的半采样位置处的采样,即
bj = (E - 5 * F + 20 * G + 20 * H — 5 * I + J),
hi = (A-5 *C + 20*G + 20*M-5*R + T)。 其中E、 F、 G、 H、 I和J分别表示水平方向的六个全采样;而A、 C、 G、 M、 R和T分别表示垂直方向的六个全采样。由于将固定滤波器 用于半采样b和h,因而每个抽头都将被用于每个方向上的一个全采 样。
最终预测值b和h将采用下式得到
b = Clipl((bl + 16)》5)
h = Clipl( (hi + 16 )》5 ), 其中移位标记"〉〉n"意思是将(bl+16)或(hl+16)右移n位(此处n为整 数),而标记"Clipl"为将滤波结果b和h限制在0至255的范围内的 机制。在以上等式中,n等于5,即,将b或h的值除以25 (因为以上 过程中b或h的值在已经由滤波器(l, -5, 20, 20, -5, l)按比例提高 了 32倍)。
此外,根据用于Luma分量的H.264/AVC的传统内插方案,在以 a、 c、 d、 n、 f、 i、 k和q标示的四分之一采样位置处的采样将通过对 在整数或半采样位置处两个距离最近采样进行平均并向上凑整而得 到。而以e、 g、 p和r标示的四分之一采样位置处的采样将通过对对角线方向上的半采样位置处两个距离最近采样进行平均并向上凑整而 得到。
与用于Luma分量的H.264/AVC的传统内插方案相比,本发明的 内##方法4笛述3口下。
根据本实施方式,将运动矢量精度设为1/4,并将一个子像素位置 的最大参考面积设为6x6,这可以在图3的步骤300中完成。
此外,在图3的步骤305中确定滤波器模式。
首先,将非对称的6抽头滤波器Fl(xO, xl, x2, x3, x4, x5)用来内插 如"b"和"h"的采样。滤波操作与H.264/AVC的相同。Fl由条件"x0 + xl + x2 + x3+ x4 + x5 = 1"限制,因而至多五个滤波器系数便足以表示 Fl。
根据该实施方式,"a"通过对"G"和"b"进行平均来计算得到,"d" 通过对"G"和"h"进行平均来计算得到。Fl还用来通过首先在"b"和"h" 处进行采样内插而对子像素位置"a"和"d"处进行采样内插。
假定"c"通过对"b"和"H"进行平均来计算,"n"通过对"h"和"M"进行 平均来计算,则Fl还用来通过首先对"b"和"h"进行采样内插而在子像 素位置"c"和"n"处进行采样内插。
假定"e"通过对"b"和"h"进行平均来计算,"g"通过对"b"和"m"进行 平均来计算,"p"通过对"h"和"m"进行平均来计算,"r"通过对"s"和"m" 进行平均来计算,则Fl还用来通过首先在位置"b"、 "h"、 "m"和"s"处 进行采样内插而在子像素位置"e", "g", "p"和"r"处进行采样内插。
到目前为止,可在子像素位置"a", "b", "c", "d", "e", "g", "h", "n", "p"和"r"处的采样的限制下,利用上述公式1-3由最小二乘估计法对滤 波器Fl进行优化。
9抽头滤波器F2 (yO, yl, y2, y3, y4, y5, y6, y7, y8 )用来内插"j" 采样。其分别对子像素位置采样"j"的左上3x3个整数采样、右上3x3 个整数采样、左下3x3个整数采样以及右下3x3个整数采样进行滤波。 F2由条4牛"y0 + yl + y2 + y3 + y4 + y5 + y6 + y7 + y8 = 1/4"卩艮制,因而 至多八个滤波器系数便足以表示F2。
详细地,为了内插采样"j",滤波器F2对釆样"j"的左上3x3整数采样(A0, Al, A, C0, Cl, C, E, F和G4)进行滤波并得到中间结果Gl。 滤波器F2对采样"j"的右上3x3整数采样(BO, Bl, B, D0, Dl, D, J, I和 H)进行滤波并得到中间结果H1 。滤波器F2进一 步对采样"j"的左下3 x 3 整数采样(TO, Tl, T, RO, Rl, R, K, L和M)进行滤波并得到中间结果Ml 并对采样"j"的右下3x3整数采样(UO, Ul, U, SO, SI, S, Q, P和N)进行 滤波并得到中间结果Nl。然后,通过对Gl, HI, Ml和Nl进4亍平均来 计算内插的采样"j"。
假定"f'通过对"b"和"j"进行平均来计算,"k"通过对"m"和"j"进行 平均来计算,"q"通过对"s"和"j"进行平均来计算(采用传统平均滤波 器),"i"通过对"h"和"j"进行平均来计算,则F2和平均滤波器被用来 对子像素位置"f', "i", "k"和"q"进行内插。子像素位置采样"b", "m", "s" 和"h"通过滤波器Fl计算。
到目前为止,可在F2和子像素位置"j", "f', 'V', "k"和"q"处的采样 的限制下,用最小二乘估计法对滤波器F2进行优化。
Fl和F2 一皮迭代地优化,直到Fl和F2的系凄t都是收敛的。
在传统的技术中,与Fl和F2有关的系数为固定的,或者通过 Downhill单纯形搜索法或者启发式搜索法适应性地搜索。根据本发明, 在如图3所示的步骤310中,滤波器Fl和F2通过最小二乘估计法进 行训练,并迭代地优化。此外,可使用LDl7(下三角形矩阵对角线下 三角形矩阵转置)分解来加速滤波器系数的计算。如上所述,根据本
发明得到的系数为浮点系数。在步骤315中,滤波器F1和F2由步长 1/128 (这可以在滤波量化中利用公式Q(x) = (x + 1/256)/(1A28)来实 现)来被标量量化。此外,如果需要的话(即,如果当前的迭代不能 使Fl和F2满足停止条件),被量化的Fl和F2则可用来在下一循环 中进行参考帧内插。量化的Fl和F2由例如称为"预测编码和指数 -Glomob"的已知方法来编码。经编码的滤波器Fl和F2将作为原始 帧的一部分传输至编码器125。
图6示出了通过采用根据本发明的内插方法的试验结果。 从图6看出,主观质量得到提高。与不具有自适应内插模块的编 解码器相比,具有自适应内插模块的H.264/AVC编解码器以较低的比特率提供了更好的质量。通过采用本发明的适应性训练的内插滤波器,解码后的帧得到了约0.4 dB的改进。通过本发明的以上描述以及如实验照片和图表所示,可以理解,根据本发明的自适应内插系统可结合在3见频编码标准、H.264/AVC以 及AVS的参考模型中。通过采用自适应内插系统,用很小的计算机成 本使经重建的浮见频的主观质量和客观质量与H.264/AVC和AVS相比得: 到了极大的改进。该方法的时间成本也远少于背景技术中给出的已知 方法。单通道训练也可获得与其多通道训练相当的改进。在下文中,将参照图7详细描述用于运动补偿的预测-现频编解码 器的解码方法。如图7所示,步骤700被执行用于从例如编码器171的编码器4妄 收经编码的信息,包括经编码的滤波器组、运动矢量以及预测误差。 根据本发明的本实施方式,滤波器组包括第一滤波器Fl和第二滤波器 F2,但并不限于此。在步骤705中,根据称为"预测编码和指数-Glomob"的已知技 术,从比特流对接收的滤波器Fl和F2、运动矢量和预测误差进行熵 解码和恢复。然后,执行步骤710以根据所解码的运动矢量确定待内插的采样。此后,采用经解码的滤波器组来对参考帧进行内插,如下实现 在步骤715中,通过应用滤波器F1来内插所确定的采样中的第一多个 采样,其中,该第一多个采样位于水平或垂直半像素采样位置处;以 及在步骤720中,通过应用滤波器F2来内插所确定的采样中的第二多 个采样,其中,该第二多个采样位于水平且垂直半像素采样位置处。在步骤725中,采用经内插的参考帧、经解码的运动矢量以及经 解码的预测误差来对当前帧进4亍重建。根据一个实施方式,如图5所示,给定全采样位置处的Luma采 样'A'至'U',小数采样位置处的Luma釆样'a'至's'通过以下规则得到。 水平或垂直的半采样位置Sl (例如,b处的采样位置)处的Luma预 测值将通过应用具有抽头值(x0, xl, x2, x3, x4, x5)的滤波器Fl而得到。 水平且垂直半像素采样位置S2 (例如,h处的采样位置)处的Luma预测值将通过应用具有抽头值(yO, yl, y2, y3, y4, y5, y6, y7, y8)的滤波 器F2并对滤波器进行平均而得到。四分之一采样位置处的Luma预测值将通过对全采样位置处和半 采样位置处的采样进行平均而得到。以"b,,标示的半采样位置处的采 样通过将自适应滤波器Fl应用于水平方向上距离最近的整数位置处 的采样E,F,G, H, I和J来计算中间值bt而得到。以"h"标示的半采 样位置处的采样通过将自适应滤波器Fl应用于垂直方向上距离最近 的整数位置处的采样A, C, G, M, R和T来计算中间值ln而得到,即<formula>formula see original document page 24</formula>其中E,F, G,H,I和J分别表示水平方向的六个全采样;而A, C, G, M, R和T分别表示垂直方向的六个全采样。由于将固定滤波器用于半采 样b和h,因而每个抽头都将被应用于每个方向上的一个全采样中。最终预测值b和h将采用下式得到<formula>formula see original document page 24</formula> 其中移位标记"》 n"意思是将(bl+64)或(hl+64)右移n位(此处n为整 数),而标记"Clipl"为将滤波结果b和h限制在0至255的范围内的 机制。在以上等式中,n等于7,即,将b或h的值除以27 (因为在以 上过程中b或h的值已经由滤波器F1 (xO,x 1, x2, x3, x4, x5)按比例提高 了 128倍)。以"j"标示的水平半像素采样且垂直半像素采样位置处的采样通 过将具有抽头值(yO, yl, y2, y3, y4, y5, y6, y7, y8)的F2分别用于"j"的 每个角3x3整数采样而获得。详细地,为了内插采样"j", F2对采样"j" 的左上3x3整数采样(AO, Al, A, CO, CI, C, E, F和G4)进行滤波并得到 中间结果Gl。 F2对采样"j"的右上3x3整数采样(BO, Bl, B, DO, Dl, D, J, I和H)进行滤波并得到中间结果Hl。 F2进一步对采样"j"的左下3x3 整凄t采样(TO, Tl, T, R0, Rl, R, K, L和M)进行滤波并得到中间结果Ml 并对采样"j"的右下3x3整数采样(UO, Ul, U, SO, SI, S, Q, P和N)进行 滤波并得到中间结果Nl。Gj = (y0*A0 + yl * Al + y2 * A + y3 * CO + y4 * CI + y5 * CI + y6
* C + y7 * E + y8 * F),
H! = (yO*BO + yl * Bl + y2 * B + y3 * DO + y4 * Dl + y5 * D + y6 "+ y7 * I + y8 * H),
M! = (yO*TO + yl * Tl + y2 * T + y3 * RO + y4 * Rl + y5 * R + y6
* K + y7 * L + y8 * M),
N! = (yO*UO + yl * Ul + y2 * U + y3 * SO + y4 * Sl + y5 * S + y6
* Q + y7 * P + y8 * N).
然后,通过对G1,H1,M1和N1进4亍平均来计算内插的采样"j"。
j = Clipl((Gl + HI + Ml + Nl + 256) 〉〉 9), 其中移位符号"〉> n,,意思是将(Gl +H1 +M1 +N1 + 256)右移n位(此 处n为整数),而标记"Clipl"为将滤波结果b和h限制在0至255的 范围内的机制。在以上等式中,n等于9,即,将j的值除以2"因为 在以上过程中j的值已经按比例提高了 512倍)
此外,如在用于Luma分量的H.264/AVC的传统内插方案中所知 的那样,以"a, c, d,n, f, i, k和q"标示的四分之一采样位置处的采样 将通过对在整数或半采样位置处两个距离最近采样进行平均并向上凑 整而得到。而且,以"e, g,p和r"标示的四分之一采样位置处的采样 将通过对在对角线方向上的半采样位置处的两个距离最近釆样求平均 并向上凑整而得到。
为了实施如图7所示的上述解码步骤,图1的视频解码器172将 参照图8更详细地说明。如图8所示,视频解码器172包括解码才莫 块135,其被配置以接收并解码经编码的滤波器组、运动矢量和预测 误差;运动补偿模块140,其被配置以采用包括第一滤波器Fl和第二 滤波器F2的经解码的滤波器组来对参考帧进行内插,运动补偿模块 140进一步包括用于根据经解码的运动矢量确定待内插的采样的子模 块805、用于应用滤波器Fl以内插所确定的采样中的第一多个采样的 子模块810 (其中第一多个采样位于水平或垂直半像素采样位置处) 以及用于应用滤波器F2以内插所确定的采样中的第二多个采样的子 模块815 (其中第二多个采样位于水平且垂直半像素采样位置处);以及重建模块145,其被配置以采用经内插的参考帧、经解码的运动矢 量以及经解码的预测误差来重建当前帧。
尽管已经参照具体的示例性实施方式对本发明进行了描述,但显 而易见的是,未偏离本发明精神的各种修改和改变会落入本发明的范 围内。因此,说明书和附图应理解为说明性而非限制性的。
权利要求
1.用于运动补偿预测视频编解码器的自适应内插方法,包括提供用于当前帧的滤波器组;根据所述滤波器组对具有确定精度的参考帧进行内插;基于经内插的参考帧计算运动矢量以生成所述当前帧的预测帧;基于所有子像素位置中的第一部分并根据所述第一部分的采样之间的固定线性关系,构建所述滤波器组的第一内插滤波器F1;通过在所述第一部分的子像素位置上进行最小二乘估计来对所述第一滤波器F1进行训练;基于所有子像素位置中的第二部分并根据所述第二部分的采样之间的固定线性关系,构建第二滤波器F2;在F1的限制下,通过在所述第二部分的子像素位置上进行最小二乘估计来对所述滤波器组的所述第二滤波器F2进行训练;在所述第二滤波器F2的限制下,在所述第一部分的子像素位置上对所述第一滤波器F1进行再训练;以及通过迭代地执行以上从内插到更新的步骤直到满足停止条件为止,由经训练的滤波器F1和F2更新所述滤波器组以优化所述滤波器组。
2. 如权利要求1所述的方法,其中,所述第一滤波器F1用来在 水平半像素位置或垂直半像素位置处进行采样内插。
3. 如权利要求1所述的方法,其中,所述第二滤波器F2用来在 水平且垂直半像素位置处进行采样内插。
4. 如权利要求3所述的方法,其中,应用所述滤波器F2在水平 且垂直半像素位置处进行采样内插的步骤进一步包括采用所述滤波器F2对水平且垂直半像素采样位置的左上NxN整 数采样进行滤波以得到第一中间结果;采用所述滤波器F2对水平且垂直半像素采样位置的右上NxN整 数采样进行滤波以得到第二中间结果;采用所述滤波器F2对水平且垂直半像素采样位置的左下NxN整 数采样进行滤波以得到第三中间结果;采用所述滤波器F2对水平且垂直半像素采样位置的右下NxN整 数采样进行滤波以得到第四中间结果;以及通过对得到的第一结果、第二结果、第三结果和第四结果进行平 均,在水平且垂直半像素采样位置处进行采样内插,其中N是整数。
5. 如权利要求4所述的方法,其中,N等于3。
6. 如权利要求l所述的方法,其中,在半像素位置处进行了采样 内插之后,基于半像素或整像素位置处的采样与精度更高的子像素位 置处的采样之间的固定线性关系,在其它子像素位置处进行采样内插。
7. 如权利要求l所述的方法,其中,用于训练Fl和F2的步骤进 一步包括通过使平方误差(e)2最小来计算表示每个滤波器的浮点滤波器系 数;以及基于所述当前帧所需的预测精度,将所述浮点滤波器系数映射至 量化滤波器系数。
8. 如权利要求7所述的方法,其中,所述平方误差(ef的最小二 乘估计采用快速LDLT分解算法实现。
9. 如权利要求1-8中任一项所述的方法,其中,所述停止条件为 迭代循环的数量等于预设值。
10. 如权利要求1-8中任一项所述的方法,其中,所述停止条件 为Fl和F2的系数开始收敛。
11.如权利要求1-8中任一项所述的方法,其中,所述停止条件为 所述预测误差小于预定值。
12.如权利要求1所述的方法,其中,当确定所述当前帧为第一 互帧时,所提供的滤波器组为默认滤波器组;或者当确定所述当前帧 不是第一互帧时,所提供的滤波器组为所述当前帧的上一互帧的优化 的滤波器组。
13.如权利要求1所述的方法,其中,所述优化的滤波器组、所 述运动矢量以及所述预测误差被编码并传输至视频解码器。
14.视频编码器(171),包括加法器(120)、运动补偿模块(115)、 运动估计模块(105 )、编码模块(125 )、反馈解码模块(130 )以及自 适应内插系统(IIO),其中,所述自适应内插系统(110)进一步包括被配置以提供用于当前帧的滤波器组的设备;设备;被配置以基于经内插的参考帧计算所述当前帧的运动矢量的设备;被配置以通过根据下式利用所计算的运动矢量执行最小二乘估计 来对所述滤波器组中的至少一个滤波器进行训练、并且通过用经训练 的滤波器来代替所述至少一个滤波器组而更新所述滤波器组以便得到 最佳滤波器组的设备,其中,e表示所述当前帧和所述当前帧的预测之间的差值,S表示 所述当前帧,P表示所述参考帧,x和y分别表示x和y坐标,NxM 为所述滤波器的大小,(mvx, mvy)表示所述运动矢量,h表示浮点滤 波器系数,而i、 j表示滤波器系数的索引;以及被配置以通过采用所述最佳滤波器组来得到所述当前帧的所期望预测的设备。
15. 用于运动补偿预测视频编解码器的解码方法,包括接收经编码的滤波器组、运动矢量和预测误差,其中所述滤波器包括第一滤波器Fl和第二滤波器F2;通过采用预测编码和指lt-Glomob方法对所4妻收的滤波器组、运 动矢量和预测误差进行解码;根据所解码的运动矢量确定待内插的采样;采用所解码的滤波器组对参考帧进行内插,该步骤进一步包括应用所述滤波器Fl将所确定的采样中的第一多个采样进行 内插,其中所述第一多个采样位于水平或垂直半像素采样位置处;以及应用所述滤波器F2将所确定的采样中的第二多个采样进行 内插,其中所述第二多个采样位于水平且垂直半像素采样位置 处;以及采用经内插的参考帧、经解码的运动矢量以及经解码的预测误差 来重建所述当前帧。
16. 如权利要求15所述的方法,其中,应用所述第二滤波器F2 将所述第二多个采样进行内插的步骤进一步包括采用所述滤波器F2对水平且垂直半像素采样位置的左上NxN整 数采样进行滤波以得到第 一 中间结果;采用所述滤波器F2对水平且垂直半像素采样位置的右上NxN整 数采样进行滤波以得到第二中间结果;采用所述滤波器F2对水平且垂直半像素采样位置的左下NxN整 数采样进行滤波以得到第三中间结果;采用所述滤波器F2对水平且垂直半像素采样位置的右下NxN整 数采样进行滤波以得到第四中间结果;以及通过对得到的第一结果、第二结果、第三结果和第四结果进行平 均来在水平且垂直半像素采样位置处进行采样内插,其中N是整数。
17. 如权利要求16所述的方法,其中,N等于3。
18. 如权利要求15所述的方法,其中,采用经解码的滤波器组对 所述参考帧进行内插进一步包括在采用所述滤波器Fl或滤波器F2 在半像素位置处进行采样内插之后,基于半像素或整像素位置处的采样与精度更高的子像素位置处的采样之间的固定线性关系,应用固定 滤波器在其它子像素采样位置处进行采样内插。
19. 视频解码器(172),包括解码模块(135),其被配置以接收并解码经编码的滤波器组、运 动矢量和预测误差;运动补偿模块(140 ),其被配置以采用包括第一滤波器Fl和第二 滤波器F2的经解码的滤波器组来对参考帧进行内插,所述运动补偿模 块(140)进一步包括用于根据经解码的运动矢量确定待内插的采样的装置; 用于在所确定的采样中的第一多个采样位于水平或垂直半 像素位置处的情况下应用所述滤波器Fl将所述第一多个采样进 行内插的装置;以及用于在所确定的采样中的第二多个采样位于水平且垂直半 像素位置处的情况下应用所述滤波器F2将所述第二多个采样进 行内插的装置;以及重建模块(145),其被配置以采用经内插的参考帧、经解码的运 动矢量以及经解码的预测误差来重建所述当前帧。
20. 如权利要求19所述的视频解码器,其中,用于应用所述滤波 器F2将所述第二多个采样进行内插的所述装置进一步包括采用所述滤波器F2对水平且垂直半像素采样位置的左上NxN整 数采样进行滤波以得到第 一 中间结果的装置;采用所述滤波器F2对水平且垂直半像素采样位置的右上NxN整数采样进行滤波以得到第二中间结果的装置;采用所述滤波器F2对水平且垂直半像素采样位置的左下NxN整 数采样进行滤波以得到第三中间结果的装置;采用所述滤波器F2对水平且垂直半像素采样位置的右下NxN整 数采样进行滤波以得到第四中间结果的装置;以及通过对得到的第一结果、第二结果、第三结果和第四结果进行平 均来在水平且垂直半像素采样位置处进行采样内插的装置,其中N是整数。
21. 如权利要求19所述的视频解码器,其中,所述运动补偿模块 (140)进一步包括用于在采用所述滤波器Fl或滤波器F2在半像 素位置处进行采样内插之后,基于半像素或整像素位置处的采样与精 度更高的子像素位置处的采样之间的固定线性关系,应用固定滤波器 在其它子像素采样位置处进行采样内插的装置。
全文摘要
公开了用于运动补偿预测视频编解码器的自适应内插方法和系统以及与该内插方法和系统相对应的解码方法和系统。该内插方法包括提供用于当前帧的包括F1和F2的滤波器组;根据滤波器对参考帧进行内插;计算运动矢量以生成预测帧;构建用于第一部分子像素位置的F1并对其进行适应训练;构建用于第二部分子像素位置的F2并在F1的限制下对其进行适应训练;在F2的限制下再训练F1;以及通过所训练的滤波器F1和F2来更新滤波器以便进一步优化滤波器。在本发明中,可以通过单通道快速算法使当前帧和其预测帧之间的差异最小,从而使其可用于实时编码应用。
文档编号H04N7/26GK101632306SQ200780050842
公开日2010年1月20日 申请日期2007年11月30日 优先权日2006年12月1日
发明者真 任, 王荣刚 申请人:法国电信公司