用于视频编码中更新操作的亚像素内插的方法和装置的制作方法

文档序号:7639948阅读:128来源:国知局
专利名称:用于视频编码中更新操作的亚像素内插的方法和装置的制作方法
技术领域
本发明 一般地涉及视频编码,并且特别涉及使用运动补偿时域 滤波的纟见频编码。
背景技术
数字视频出于存储和广播的目的而被压缩,使得经过压缩的结 果视频可以存储在较小的空间中。例如胶片上记录的普通运动图像的数字视频序列包括静止图像 的序列,运动的幻像是通过以相对快速的帧率一个接一个地显示图像而产生的,通常的帧率是15到30帧每秒。压缩数字视频的普遍 方法是利用这些连续图像之间的冗余(也即,时间冗余)。在给定 时刻的典型视频中, 一些运动物体结合有緩慢摄像机移动或者没有 结合摄像机移动,并且连续的图像具有相似的内容。只传输连续图 像之间的差异是有益的。被称为预测误差帧^的差异帧是当前帧/ 和参考帧尸 之间的差异。预测误差帧由下式给出其中"是帧号,(3c,力代表像素坐标。预测误差帧也被称为预测残差帧。 在通常的视频编解码中,在传输之前对差异帧进行压缩。压缩是通 过离散余弦变换(DCT)和霍夫曼编码或者类似方法实现的。由于待压缩的视频包含运动,因此两个连续图像相减并不总是 得到最小的差异。例如,当摄像机进行摇拍(pan)时,整个场景都 在变化。为了补偿运动,将称为运动向量的位移(^^^,办&J^添加 到前面帧的坐标中。预测误差因而变为力Aj^-尸"(^十血(3c,4yfx,》".在实践中,将视频编解码中的帧划分为块,并且针对每个块只 传输一个运动向量,使得同一运动向量用于一个块中的所有像素。 为 一帧中的每个块找到最佳运动向量的过程称为适^估^。 一旦运动向量可用,计算尸/x + z/x&力,少+ 4yf3cj^的过程称为运动补偿,并且所 计算的项尸/x + z/x(3c,力,y + 4><x,y"称为运动补偿预测。在上文描述的编码机制中,参考帧尸"可以是之前编码帧中的一 个。在这种情况下,尸 在编码器和解码器处都是已知的。这种编码 架构被称为闭环。也可以是原始帧中的一个。在这种情况下,编码架构被称为 开环。由于原始帧只在编码器处可用而在解码器处不可用,所以在 利用开环架构的预测过程中可能存在漂移。漂移是指由于将不同的 帧用作参考而导致的编码器和解码器之间预测尸> + zfx&W, y + z^x,"」 的不匹配(或者说差异)。无论如何,开环架构在视频编码中,特 别是可伸缩视频编码中越来越常用,这是因为开环架构使得有可能 通过使用提升(lifting)步骤来获得视频的时域可伸缩表示,从而实 现适动补偿^械處诞(也即,MCTF)。图la和图lb示出了使用提升步骤的MCTF的基本结构,其同 时示出了使用提升结构的MCTF的分解过程和合成过程。在这些图. 中,/ 和/ +7是原始相邻帧。提升包括两个步骤预测步骤和更新步骤。它们在图la和图lb 中分别被标记为p和U。图la是分解(分析)过程,图lb是合成 (综合)过程。分解过程中的输出信号和合成过程中的输入信号是// 和丄信号。//和丄信号由以下公式得到可以将预测步骤p视为运动补偿。p的输出,也即p(/ ),是运动补偿预测。在图la中,//是基于根据帧/ 的预测的帧/"+;的时域预测 残差。//信号一般包含原始视频信号的时域高频分量。在更新步骤U 中,将/f中的时域高频分量反馈至帧/ ,以便产生时域低频分量丄,出于这个原因,将//和丄分别称为时域高频带信号和时域低频带信 在图lb中所示的合成过程中,通过以下操作得到重建帧/, 和7'"+/:如果信号丄和Z/在图la和图lb所示的分解过程和合成过程之间保 持不变,则/、和/, +/分别与/ 和/ +/完全相同。在这种情况下,可 以利用这种提升步骤实现完美的重建。图la和图lb中所示的结构也可以级联,使得能够将视频序列分 解为多个时域级别。如图2所示,执行了两个级别的提升步骤。每 个分解级别处的时域低频带信号可以提供时域可伸缩性。在MCTF中,预测步骤基本上是一般的运动补偿过程,除非预 测步骤是基于开环结构的。在这样的过程中,针对当前帧的补偿预 测是根据针对每个宏块的最佳估计运动向量而产生的。由于运动向 量通常具有亚像素(sub-pixel)精度,因此在运动补偿中需要亚像素 内插(interpolation)。运动向量可以具有1/4像素的精度。在这种 情况下,像素内插的可能位置在图3中示出。图3示出了下至四分 之一像素的可能的内插像素位置。在图3中,A、 E、 U和Y指示原 始的整数像素位置,c、 k、 m、 o和w指示半像素位置。所有其它位 置是四分之一像素位置。通常,通过使用具有沖激响应(1/32, -5/32, 20/32、 -5/32、 1/32) 的6阶(6-tap)滤波器来获得半像素位置处的值。滤波器沿着适合 的水平方向和垂直方向在整数像素值上操作。为了简化解码器,一 般不使用6阶滤波器来内插四分之一像素值。而是改为通过以如下 的方式对整数位置和与其相邻的半像素位置求平均、并对两个相邻 的半像素位置求平均来得到四分之一位置b=(A+c)/2, d=(c+E)/2, JHA+k)/2, g=(c+k)/2, 3Hc+m)/2, i=(c+o)/2, j=(E+o)/2 Hk+m)/2, iHm+o)/2, p=(U+k)/2, qp(k+w)/2, r=(m+w)/2, s=(w+o)/2, HY+o)/2 v=(w+U)/2, x=(Y+w)/2运动预测的一个示例在图4a中示出。在图4a中,A代表帧/ 中的块,人+/代表帧中具有相同位置的块。假设使用A来预测 帧中的块5 +7,并且如图4所示,用于预测的运动向量是(Ax,Ay)。 依赖于运动向量(Ax,A力,如图3所示,可以将^定位在像素或者亚 像素位置。如果A被定位在亚像素位置,那么在将^用作预测而从 块^^中减去之前,需要在^中内插值。发明内容本发明提供用于更新步骤内插从而产生能量分布内插的简单而 有效的方法。根据本发明,内插方案在块的基础上执行。对于每个 块,使用 一维内插滤波器沿着水平方向和垂直方向分别地执行操作。 特别地,根据针对参考视频帧的运动补偿预测和运动向量在每个块 上执行预测操作,以提供相应的预测残差块。根据针对预测残差块 的运动补偿预测和运动向量的逆向来在参考视频帧上执行更新操 作。此外,在更新操作中,根据运动向量来确定内插滤波器,并且 通过将预测残差块之外的采样值视为零从而使用该块的预领'j残差来 内插亚像素的采样值。因此,本发明的第 一方面是一种使用运动补偿时域滤波来对数 字件见频序列进行编码的方法,其中,视频序列包括多个帧,并且每 个帧包括被划分为多个块的像素阵列。该编码方法包括根据针对 参考视频帧的运动补偿预测和运动向量在每个块上执行预测操作以 提供相应的预测残差块,以及根据针对预测残差块的运动补偿预测 和运动向量的逆向来更新视频参考帧。更新操作包括根据运动向残差块来内插亚像素位置的采样值。此外,使用一维内插滤波器来 沿着水平方向和竖直方向分别地^L行内插。本发明的第二方面是 一 种对来自已编码视频序列的数字视频序 列进行解码的方法,其中已编码视频序列包括多个帧,并且每个帧包括被划分为多个块的像素阵列。该解码方法包括解码块的运动 向量和该块的预测残差,根据针对该块的预定残差的运动补偿预测 和运动向量的逆向来执行该块的参考视频帧的更新操作,以及根据 针对参考视频帧的运动补偿预测和运动向量来在该块上执行预测操 作。更新操作包括根据运动向量来确定滤波器,以及通过将该块 之外的采样值视为零从而使用预测残差块来内插亚像素位置的采样 值。此外,使用一维内插滤波器来沿着水平方向和竖直方向分别地 执行内插。本发明的第三方面是 一 种使用运动补偿时域滤波来对数字视频 序列进行编码的视频编码器,其中视频序列包括多个帧,并且每个 帧包括被划分为多个块的像素阵列。该编码器包括预测模块,用 于根据针对参考视频帧的运动补偿预测和运动向量在每个块上执行 预测操作,以提供相应的预测残差帧;以及更新模块,用于根据针 对预测残差块的运动补偿预测和运动向量的逆向来更新视频参考 帧。更新模块包括软件程序,用于根据运动向量来确定滤波器,以素位置的采样值。此外,使用一维内插滤波器来沿着水平方向和竖 直方向分别地才丸行内插。本发明的第四方面是一种对来自已编码视频序列的数字视频序 列进行解码的视频解码器,其中已编码视频序列包括多个帧,并且 每个帧包括被划分为多个块的像素阵列。该解码器包括解码模块, 用于解码块的运动向量以及该块的预测残差;更新模块,用于根据 针对该块的预测残差的运动补偿预测和运动向量的逆向来冲丸行该块 的参考视频帧的更新操作;以及预测模块,用于根据针对参考视频 帧的运动补偿预测和运动向量来在该块上执行预测操作。更新模块 包括软件程序,用于根据运动向量来确定滤波器,以及通过将该块 之外的采样值视为零从而使用预测残差块来内插亚像素位置的采样值。此外,使用一维内插滤波器来沿着水平方向和竖直方向分别地 执行内插。本发明的第五方面是一种具有根据本发明的第三和第四方面所 述的编码器或解码器的移动终端。该移动终端可以具有编码器和解 码器两者。本发明的第六方面是一种软件应用产品,其包括具有软件应用 的存储介质,该软件应用用于使用运动补偿时域滤波对数字视频序 列进行编码,其中视频序列包括多个帧,并且每个帧包括被划分为多个块的像素阵列。该软件应用包括用于根据针对参考视频帧的 运动补偿预测和运动向量在每个块上执行预测操作以提供相应的预 测残差帧的程序代码,以及用于根据针对预测残差块的运动补偿预 测和运动向量的逆向来更新视频参考帧的程序代码。更新程序代码 包括用于根据运动向量来确定滤波器的程序代码,以及用于通过将 该块之外的釆样值视为零从而使用预测残差块来内插亚像素位置的 采样值的程序代码。使用 一 维内插滤波器沿着水平方向和竖直方向 分别地执行内插。本发明的第七方面是一种软件应用产品,其包括具有软件应用 的存储介质,该软件应用用于对来自已编码视频序列的数字视频序 列进行解码,其中已编码^见频序列包括多个帧,并且每个帧包括^皮 划分为多个块的像素阵列。该软件应用包括用于解码块的运动向 量以及该块的预测残差的程序代码,用于根据针对该块的预测残差 的运动补偿预测和运动向量的逆向来执行该块的参考视频帧的更新 操作的程序代码,以及用于根据针对参考视频帧的运动补偿预测和 运动向量在该块上执行预测操作的程序代码。用于更新的程序代码 包括用于根据运动向量来确定滤波器的程序代码,以及用于通过将 该块之外的采样值视为零从而使用预观'J残差块来内插亚像素位置的 采样值的程序代码。使用 一 维内插滤波器来沿着水平方向和竖直方 向分别地执行内插。在阅读结合图5到图15的描述时,本发明将变得显而易见。


图la示出了使用提升结构的用于MCTF的分解过程。图lb示出了使用提升结构的用于MCTF的合成过程。图2示出了使用提升结构的用于MCTF的两级分解过程。图3示出了下至四分之一像素的可能内插像素位置。图4a示出了预测步骤中所使用的运动向量和关联块的关系的示例。图4b示出了更新步骤中所使用的运动向量和关联块的关系的示例。图5示出了更新步骤中所涉及的块与预测步骤中的块之间的部 分像素位置差异。图6示出了内插过程的示例。 图7是示出了 MCTF分解过程的框图。 图8是示出了 MCTF合成过程的框图。 图9示出了基于MCTF的编码器的框图。 图10示出了基于MCTF的解码器的框图。图11是示出了利用运动向量滤波器模块的MCTF分解过程的框图。图12是示出了利用运动向量滤波器模块的MCTF合成过程的框图。图13是根据本发明的 一 种实施方式说明了编码方法的 一 部分的流程图。图14是根据本发明的一种实施方式说明了解码方法的一部分的 流程图。图15是根据本发明的电子设备的框图,该电子设备可以配备有 基于MCTF的编码模块和解码模块中的一个或二者。
具体实施方式
用于运动补偿时域滤波(MCTF)的分解过程和合成过程两者都 可以使用提升结构。提升包括预测步骤和更新步骤。在更新步骤中,可以沿着预测步骤中所使用的运动向量的逆向 将块处的预测残差添加到参考块中。如果运动向量是(Ax, Ay)(参 见图4a),则其逆向可以表示为(-Ax,-A力,它也可被^见为运动向量。 同样地,更新步骤也包括运动补偿过程。可以考虑将从预测步骤中 获得的预测残差帧用作参考帧。将预测步骤中那些运动向量的逆向 用作更新步骤中的运动向量。利用这样的参考帧和运动向量,便可 以构建补偿帧。继而将补偿帧添加到帧/ 中,用以消除帧/ 中的一 些时域高频率。更新过程只在帧/ 中的整数像素上执行。如果^位于亚像素位 置,则它的最接近的整数位置块^ '。根据运动向量(-Ax,-A力被实际更 新。这在图4b中示出。在这种情况下,块A和/T"的位置之间存在 局部像素差异。根据运动向量(-Ax,-A力,在更新步骤中用于」、的参考块(标为5;+J也不位于整数像素位置。然而,块^+/和块^;+/的位置之间也将存在相同的局部像素差异。出于这个原因,需要进行内插以便获得块B 处的预测残差。因此,只要运动向量(-Ax,-A力 在水平或者垂直方向不具有整数像素位移,在更新步骤中通常就需 要进行内插。可以通过能量分布的方式来执行内插。更特别地,在内插过程 中,独立地处理预测残差块中的每个像素,并且分别计算它对来自 该块的更新信号的贡献。这在图5中示出,其中实心点代表整数像 素位置,而空心点代表亚像素位置。块^在预测步骤中是块&+/的 参考块。根据相同的运动向量,在帧/ +/中所示的空心点与帧/ 中 的整数像素位置相对应。如果假设在用于更新步骤的内插过程中试 用双线性滤波器,则块中的每个像素对其相邻的4个亚像素位 置处的内插采样值有贡献。来自像素的对其4个相邻亚像素位置中 每 一 个的贡献因子由内插滤波器系数确定。对来自块中相邻像素的 对相同亚像素位置的贡献进行合计。如图5所示,当处理了预测残差块中的每个像素之后,^<尺大小的块将产生大小为(《+/)><(《+/)的 更新信号。类似地,如果将4阶滤波器用于更新步骤内插,则块万 +/中的 每个像素将对其相邻的16(也即,4x4)个亚像素位置的内插采样值 有贡献。像素对其16个相邻亚像素位置中每一个的贡献因子由内插 滤波器系数确定。当处理了预测残差块中的每个像素之后,大小为 〖x尺的块将产生大小为(《+3)x(《+3)的更新信号。内插之后,根据预测步骤中所使用的运动向量的逆向将更新信 号加回到低通帧(例如,图4a和图4b中的帧/ )。对于这种能量分布内插,如果它是逐个像素完成的,则计算复 杂性可明显高于传统的基于块的内插。能量分布内插和传统内插的主要差异在于,在这种能量分布内 插过程中,每个预测残差块是独立处理的,而无需对与该块相邻的 像素进行任何参考。然而,在传统内插中,当沿着当前块的边界进 行滤波时,参考相邻块中的像素。由于相邻块中的预测残差不是十 分相关,特别是在块具有不同的运动向量时,因此能量分布内插可. 以比描述中较早提到的传统内插方案更为准确或更为适合更新步 骤。根据本发明,能量分布内插是在块的基础上执行的,其中对于 每个块,针对该块中的每个像素共享公共运动向量。在能量分布内 插中,每个预测残差块被独立处理,而无需对其相邻块进行任何参 考。采样值需要被内插的亚像素位置包括利用给定的滤波器由当前 块的内插所可能影响的所有位置。可以根据运动向量来确定滤波器。 当沿着块边界进行滤波时,将当前块之外的像素视为零像素(也即, 具有零值的像素)。此外,内插处理是在逐块的基础上执行的,并 且对于每个块,根据该块相应的运动向量来确定亚像素位置。更特 别地,使用一维内插滤波器(例如,4阶滤波器)来沿着水平方向和 竖直方向分别执行内插操作。水平滤波和竖直滤波的顺序不影响内 插结果,因此可以改变。图6示出了例子。在图6中,假设预测残差块是4x4块,将其 表示为虛线矩形内的实心点。假设选择4阶滤波器用于当前块的内 插。在这种情况下,可能受到当前块内插影响的亚像素位置包括图 中表示为空心点的(4+3)x(4+3)个位置。因此,需要内插所有的 (4+3)x(4+3)个亚像素值。使用给定的滤波器沿着水平方向和竖直方 向分别执行内插。更特别地,如果假设首先执行水平滤波,则首先 内插图6中表示为星号的位置处的采样值。基于这些值,通过垂直 滤波进一步内插图6中表示为空心点的(4+3)x(4+3)个亚像素值。当沿着当前块的边界进行滤波时,将当前块之外的像素视为零 像素,图中将其示为矩形。应当指出,在实际的实现中,滤波过程 中与零像素进行乘法操作没有影响,因此可以被忽略。例如,为了获得图6中所示的像素C的内插值,使用4阶滤波器只需要一次乘 法。由于滤波过程中涉及的4个像素中的3个是零像素,因此这是 可能的。还应当指出,此基于块的能量分布内插过程产生与基于像 素的能量分布内插方法相同的内插结果。由于根据本发明的内插是 沿着水平方向和竖直方向分别执行的,因此它的计算复杂性较低。针对MCTF分解(或者分析)和MCTF合成(或者综合)的框 图分别在图7和图8中示出。与MCTF模块相结合的编码器和解码 器的框图分别在图9和图10中示出。因为不论是否使用MCTF技术 都需要预测步骤运动补偿过程,所以还需要与MCTF相结合的用于 更新步骤运动补偿过程的附加模块。图7和图8中的符号反向器用 来改变运动向量分量的符号,以便获得运动向量的逆向。图9根据本发明的一种实施方式示出了基于MCTF的编码器的 框图。MCTF分解模块包括预测步骤和更新步骤两者。这个才莫块生 成预测残差和包括块分割、参考帧索引、运动向量等在内的一些辅 助信息(side information )。预测残差4皮转换、量化并继而^皮发送给 熵编码模块。辅助信息也被发送给熵编码模块。熵编码模块将所有 信息编码到压缩比特流中。编码器还包括用于执行MCTF分解过程 中各种步骤的软件程序模块。软件程序还可用以根据块的运动向量来确定块中的亚像素位置,以及在执行水平滤波和竖直滤波之前将 该块边界之外的像素的像素值设置为零。图IO根据本发明一种实施方式示出了基于MCTF的解码器的框 图。通过熵解码模块,比特流被解压缩,该比特流提供了预测残差 和包括块分割、参考帧索引、运动向量等在内的辅助信息。预测残 差继而被解量化、逆变换并被发送到MCTF合成模块。通过MCTF 合成过程,视频图像得以重建。解码器还包括用于执行MCTF合成 过程中各种步骤的软件程序模块。根据本发明的一种实施方式,利用运动向量滤波模块,MCTF 分解和合成过程分别在图11和12中示出。图11是根据本发明的一种实施方式示出了 MCTF分解过程的框 图。该过程包括预测步骤和更新步骤。在图11中,运动估计模块和 预测步骤运动补偿模块在预测步骤中使用。其它模块在更新步骤中 使用。在更新步骤中也使用了来自运动估计模块的运动向量,以导 出用于更新步骤的运动向量,这经由运动向量滤波器在符号反相器 中实现。如图所示,在预测步骤和更新步骤中都执行了运动补偿过 程。 .图12是根据本发明的一种实施方式示出了 MCTF合成过程的框 图。基于所接收的并被解码的运动向量信息,经由运动向量滤波器 在符号反相器中导出更新运动向量。然后,执行与MCTF分解过程 中的运动补偿过程相同的运动补偿过程。与图11对比,可以看到 MCTF合成是MCTF分解的逆过程。根据预测残差帧中的编码块来执行更新操作。在编码中,该方 法在图13中说明。如图13中的流程图500所示,当编码模块接收 到表示视频帧的数字视频序列的视频数据时,其在步骤510处开始 将视频帧分割为多个块。在步骤520,根据针对参考视频帧的运动补 偿预测和运动向量对该块执行预测操作,以提供相应的预测残差块。 在步骤530,根据块的运动向量确定亚像素位置。在步骤540,将该 块边界之外的像素的像素值设置为零,以便在不对相邻块中的像素进行任何参考的情况下独立地处理预测残差块。在步骤550,使用一 维内插滤波器在一个维度中执行内插滤波。在步骤560,使用相同或 不同的一维内插滤波器在其它方向上执行内插。在解码中,该方法在图14中说明。如图14中的流程图600所 示,当解码模块接收到表示视频帧的已编码视频序列的已编码视频 数据时,其在步骤610处开始将经过编码的视频数据中的视频帧分 割为多个块。在步骤620,解码模块解码运动向量和该块的预测残差。 在步骤630,根据针对该块的运动残差的运动补偿预测和运动向量的 逆向来更新参考帧。在步骤640,将每个块边界之外的像素的像素值 设置为零。在步骤650,使用一维内插滤波器在一个维度中执行内插 滤波。在步骤660,使用相同或不同的一维内插滤波器在其它方向上 执行内插。在步骤670,根据预测帧中的编码块执行预测操作。现在参考图15,图15示出了配备有图9和图IO中所示的MCTF 编码模块和MCTF解码模块中至少一个的电子设备。根据本发明的 一种实施方式,所述电子设备是移动终端。图15中所示的移动设备 10支持蜂窝数据和语音通信。应当指出,本发明不局限于这种特定 的实施方式,这种特定的实施方式只代表多种不同实施方式中的一 种。移动设备10包括控制移动设备操作的(主)微处理器或微控制 器100以及与微处理器相关联的组件。这些组件包括与显示模块135 连接的显示控制器130,非易失性存储器140,例如随机访问存储器 (RAM)的易失性存储器150,与麦克风161、扬声器162和/或耳 机163连接的音频输入/输出(1/0)接口 160,与小键盘175或键盘 连接的小键盘控制器170,任意辅助输入/输出(I/O)接口 200,以 及短距离通信接口 180。这样的设备通常还包括其它设备子系统,这 些子系统^皮一4殳地示为190。移动设备IO可以在语音网络上通信,且/或同样可以在数据网络 上通信,所述数据网络例如是任何公共陆地移动网络(PLMN),其 形式例如可以是数字蜂窝网络,特别是GSM (全球移动通信系统) 或UMTS (通用移动通信系统)。语音和/或数据通信通常通过空中接口操作,空中接口也即与其它组件(参见上文)协作的连接到基站(BS)或节点B(未示出)的蜂窝通信接口子系统,其中基站(BS) 或节点B是蜂窝网络基础设施的无线接入网络(RAN)的一部分。在图15中说明性描述的蜂窝通信接口子系统包括蜂窝接口 110、 数字信号处理器(DSP) 120、接收机(RX) 121、发射机(TX) 122、 以及一个或多个本地振荡器(LO) 123,并且蜂窝通信接口子系统支 持与一个或多个公共陆地移动网络(PLMN)的通信。数字信号处理 器(DSP) 120将通信信号124发送给发射机(TX) 122,并从接收 机(RX) 121接收通信信号125。除了处理通信信号之外,数字信 号处理器120还向接收机提供控制信号126以及向发射机提供控制 信号127。例如,除了分别对待发射的信号进行调制和对所接收的信 号进行解调之外,还可以通过数字信号处理器(DSP) 120中所实现 的自动增益控制算法对应用于接收机(RX) 121和发射机(TX) 122 中的通信信号上的增益水平进行自适应控制。为了提供对收发机 121/122的更复杂的控制,还可以在数字信号处理器(DSP) 120中 实施其它收发机控制算法。在移动设备IO通过PLMN的通信在单一频率或者一组相隔密集 的频率上发生的情况下,单个本地振荡器(LO) 123可以与发射机 (TX) 122和接收机(RX) 123结合使用。可选地,如果语音/数据使用多个本地振荡器以产生多个相应的频率。尽管使用的是图15中所描述的具有天线129或分集天线系统 (未示出)的移动设备10,但是也可以使用具有用于信号接收和发 射的单个天线结构的移动设备10。包括语音和数据信息在内的信息 通过蜂窝接口 110与数字信号处理器(DSP) 120之间的数据链路在 两者之间进行双向通信。蜂窝接口 110的详细设计,例如频带、组 件选择、功率水平等,将依赖于移动设备IO打算在其中操作的无线 网络。在任何所需的网络注册或激活过程之后,移动设备继而可以在无线网络上发送和接收包括语音和数据信号在内的通信信号,其中 注册或激活过程可能涉及在蜂窝网络中注册所需的用户标识模块(SIM) 210。天线129从无线网络接收的信号被路由至接收机121, 接收机121提供诸如信号放大、频率下转换、滤波、信道选择以及 模数转换之类的操作。接收信号的模数转换使得可以使用数字信号 处理器(DSP) 120来执行诸如数字解调和解码之类的较为复杂的通 信功能。通过类似的方式,将要发射给网络的信号由数字信号处理 器(DSP) 120进行处理,例如包括调制和编码,并继而被提供给发 射机122以用于数模转换、频率上转换、滤波、放大以及通过天线 129发射给无线网络。也可指定为设备平台微处理器的微处理器/微控制器(^C) 110 管理移动设备10的功能。处理器IIO所使用的操作系统软件149优 选地存储在例如非易失性存储器140之类的永久存储器中,非易失 性存储器140例如可以实现为闪速存储器、电池备份RAM、任何其 它非易失性存储技术或者其任意组合。除了控制移动设备IO的低层 功能和(图形)基本用户接口功能的操作系统149之外,非易失性 存储器140还包括多个高层软件应用程序或者模块,例如语音通信 软件应用142、数据通信软件应用141、组织器模块(未示出)或者 任何其它类型的软件模块(未示出)。这些模块由处理器100执行 并提供了移动设备10的用户与移动设备10之间的高层接口。该接 口通常包括由显示控制器130控制的显示器135所提供的图形组件 和通过小键盘控制器170连接到处理器IOO上的小键盘175、辅助输 入/输出(I/O)接口 200和/或短距离(SR)通信接口 180所提供的, 输入/输出组件。辅助I/0接口 200特别地包括USB(通用串行总线) 接口 、串行接口 、 MMC(多媒体卡)接口以及相关的接口技术/标准, 并包括任何其它标准化的或专有的数据通信总线技术,而短距离通 信接口射频(Rp)低功率接口特别地包括WLAN (无线局域网)和 蓝牙通信技术或IRDA (红外数据访问)接口。应当将这里所称的 RF低功率接口技术特别地理解为包括IEEE 801.xx标准技术,其说明可以从国际电子电气工程师协会处获得。而且,辅助I/0接口 200 和短距离通信接口 180每一个都可以表示一个或多个分别支持一个 或多个输入/输出接口技术和通信接口技术的接口 。可以将操作系统、 特定的设备软件应用或模块、或者其一部分临时载入例如随机访问 存储器(通常基于DRAM (直接随机访问存储器)技术实现以进行 更快的操作)的易失性存储器150中。而且,在将所接收的通信信 号永久地写入任何海量存储器或非易失性存储器140中的文件系统 中之前,也可以将所接收的通信信号临时存储到易失性存储器150 中,其中海量存储器优选地通过辅助1/0接口可拆卸地连接,以便存 储数据。应当理解,上述组件代表在此以蜂窝电话的形式被具体化 的传统移动设备10的典型组件。本发明不局限于这些特定的组件, 所描述的这些组件的实现仅仅是出于说明和完整的缘故。移动设备10的一个示例性软件应用模块是提供PDA功能性的 个人信息管理器应用,其通常包括联系人管理器、日历、任务管理 器等。这样的个人信息管理器由处理器100执行,可以访问移动设 备10的组件,并可以与其它软件应用模块交互。例如,与语音通信 软件应用的交互允许管理电话呼叫、语音邮件等,与数据通信软件 应用的交互支持管理SMS (短消息服务)、MMS (多媒体服务)、 电子邮件通信以及其它数据传输。非易失性存储器140优选地提供 文件系统,用以促进设备上数据项的永久存储,其中数据项包括多 个日历条目、联系人等。例如通过蜂窝接口、短距离通信接口或者 辅助I/O接口与网络进行数据通信的能力支持通过这样网络所进行 的上传、下载和同步。应用模块141到149表示设备功能或者软件应用,它们被配置 成由处理器100执行。在大多数已知的移动设备中,单个处理器管 理和控制移动设备的全部操作以及所有的设备功能和软件应用。这 种概念可应用于现在的移动设备。增强型多媒体功能性的实现例如 包括通过集成的或可拆卸连接的数字相机功能性实现的视频流应用 的再现、数字图像的操作以及视频序列的捕获。所述实现还可以包括具有复杂图形和必要计算能力的游戏应用。处理计算能力需求的 一种方式通过实现强大且通用的处理器核来解决提高计算能力的问 题,这种方式过去被沿用。另一种提供计算能力的方法是实现两个 或多个独立的处理器核,这是本领域公知的方法学。本领域技术人 员可以立刻理解多个独立处理器核的优点。通用处理器被设计用于 执行多种不同任务,而没有将不同任务的预选进行专门化,而多处 理器配置可以包括一个或多个通用处理器,以及一个或多个适于处 理预定义任务集合的专门处理器。无论如何,在一个设备中,特别 是在例如移动设备10的移动设备中,实现多个处理器传统上需要对 组件进行完全且复杂的重新设计。
下面,本发明将提供这样的概念,其支持将附加的处理器核简 单地集成到已有处理设备的实现中,从而省略代价高昂的完全且复
杂的重新设计。该创造性概念将参考系统芯片(SoC)设计来描述。 系统芯片(SoC)的概念是将处理设备的至少众多(或所有)组件集 成到单个高集成芯片中。这样的系统芯片可以包含数字、模拟、混 合信号,并经常包含射频功能,所有这些功能都在一个芯片上。典 型的处理设备包括多个执行不同任务的集成电路。这些集成电路特 别地可以包括微处理器、存储器、通用异步接收机/发射机(UART)、 串行/并行端口、直接存储器访问(DMA)控制器等。通用异步接收 机/发射机(UART)在数据的并行比特和串行比特之间进行转换。 半导体技术近来的发展使超大规模集成电路(VLSI)所能支持的复 杂性显著增长,这使其能够将众多系统组件集成到单个芯片中。参 考图15,其中的一个或多个组件,例如控制器130和170、存储器 组件150和140、以及一个或多个4妄口 200、 180和110可以与处理 器IOO—起集成到单个芯片中,最终形成系统芯片(SoC)。
而且,设备IO配备有根据本发明的创造性操作的用于视频数据 可伸缩编码的才莫块105和可伸缩解码的才莫块106。通过CPU 100,可 以独立地-使用所述才莫块105、 106。然而,设备IO适于分别执行一见频 数据编码或解码。所述视频数据可以借助于设备的通信模块来接收,或者它也可以存储在设备10内任何可想象的存储装置中。视频数据
可以在设备10和通信网络的其它电子设备之间以比特流来传送。
总而言之,根据本发明的内插方案是在块的基础上执行的。对 于每个块,使用 一维内插滤波器沿着水平方向和竖直方向分别执行 内插。特别地,根据针对参考视频帧的运动补偿预测和运动向量在 每个块上执行预测,以便提供相应的预测残差块。根据针对预测残 差块的运动补偿预测和运动向量的逆向在参考视频帧上执行更新操 作。此外,在更新操作中,根据运动向量来确定内插滤波器,并且 通过将预测残差块之外的采样值视为零从而使用块的预测残差来内 插亚像素的采样值。
因此,根据本发明,用于使用运动补偿时域滤波对数字视频序
列进行编码的方法和设备,包括使用预测模块,以根据针对参考 视频帧的运动补偿预测和运动向量在每个块上执行预测操作,以提 供相应的预测残差块;以及使用更新模块,以根据针对预测残差块 的运动补偿预测和运动向量的逆向来更新纟见频参考帧。该更新才莫块 包括软件程序,用于根据运动向量来确定滤波器,以及用于通过将 该块之外的采样值视为零从而使用预测残差块来内插亚像素位置的 采样值。内插是为了产生能量分布内差。
才艮据本发明,用于对来自已编码视频序列的数字视频序列进行 解码的方法和设备,包括使用解码模块,以解码块的运动向量和 该块的预测参残差;使用更新模块,以根据针对该块的预测残差的 运动补偿预测和运动向量的逆向,来执行块的参考视频帧的更新操 作;以及使用预测模块,以根据针对参考视频帧的运动补偿预测和 运动向量在块上执行预测。更新模块包括软件程序,用于根据运动
使用预观'J残差块来内插亚像素位置的采样值。使用 一 维内插滤波器 沿着水平方向和竖直方向分别地执行内插。
根据本发明,移动终端可以配备有上述编码器或解码器。该移 动终端可以具有编码器和解码器两者。此外,编码和解码方法可以由具有包括软件应用的存储介质的 软件应用产品来执行。对于编码,该软件应用包括用于根据针对参 考视频帧的运动补偿预测和运动向量在每个块上执行预测操作,以 提供相应的预测残差帧的程序代码,以及用于根据针对预测残差块 的运动补偿预测和运动向量的逆向来更新视频参考帧的程序代码。 更新程序代码包括用于根据运动向量来确定滤波器的程序代码,以
亚像素位置的采样值的程序代码。使用 一 维内插滤波器沿着水平方 向和竖直方向分别地执行内插。
对于解码,该软件应用包括用于解码块的运动向量以及该块 的预测残差的程序代码,用于根据针对该块的运动残差的运动补偿 预测和运动向量的逆向来执行该块的参考视频帧的更新操作的程序 代码,以及用于根据针对参考视频帧的运动补偿预测和运动向量在 该块上执行预测操作的程序代码。用于更新的程序代码包括用于 根据运动向量来确定滤波器的程序代码,以及用于通过将该块之外 的采样值视为零从而使用预测残差块来内插亚像素位置的采样值的 程序代码。使用一维内插滤波器沿着水平方向和竖直方向分别地执 行内插。
一般地,编码方法可以由这样的装置执行用于根据针对参考 视频帧的运动补偿预测和运动向量在每个块上执行预测操作以提供 相应的预测残差帧的装置,以及用于根据针对预测残差块的运动补 偿预测和运动向量的逆向来更新视频参考帧的装置。更新装置包括 用于根据运动向量来确定滤波器的装置,以及用于通过将该块之外 的采样值视为零从而使用预测残差块来内插亚像素位置的采样值的 装置。
解码方法可以由这样的装置执行用于解码块的运动向量和该 块的预测残差的装置,用于根据针对该块的预测残差的运动补偿预 测和运动向量的逆向来执行该块的参考视频帧的更新操作的装置, 以及用于根据针对参考视频帧的运动补偿预测和运动向量在该块上执行预测操作的装置。更新装置包括用于根据运动向量来确定滤波 器的装置,以及用于通过将该块之外的采样值视为零从而使用预测
残差块来内插亚像素位置的采样值的装置。使用 一维内插滤波器沿 着水平方向和竖直方向分别地执行内插。
尽管本发明是相对于其一个或多个实施方式而被描述的,但本 领域技术人员可以理解,在不背离本发明范围的前提下,本发明的
权利要求
1. 一种使用运动补偿时域滤波对数字视频序列进行编码以提供具有代表已编码视频序列的视频数据的比特流的方法,所述数字视频序列包括多个帧,其中每个帧包括可被划分为多个块的像素的阵列,所述方法包括对于块根据针对参考视频帧的运动补偿预测和运动向量在所述块上执行预测操作,以提供相应的预测残差块;根据针对所述预测残差块的运动补偿预测和所述运动向量的逆向来更新所述视频参考帧,其中所述更新包括根据所述运动向量来确定滤波器,以及通过将所述预测残差块之外的采样值视为零从而使用所述预测残差块来内插亚像素位置的采样值。
2. 根据权利要求1所述的方法,其中使用一维内插滤波器沿着 水平方向和竖直方向分别执行所述内插。
3. —种用于对来自代表已编码视频序列的比特流中视频数据的 数字视频序列进行解码的方法,所述已编码视频序列包括多个帧, 其中每个帧包括可被划分为多个块的像素的阵列,所述方法包括对于块解码该块的预测残差和运动向量;^f艮据针对该块的预测残差的运动补偿预测和运动向量的逆 向在该块的参考视频帧上执行更新操作;根据针对该参考视频帧的运动补偿预测和运动向量在该块 上执行预测操作,其中所述更新包括根据所述运动向量来确定滤波器,以及 通过将所述预测残差块之外的采样值视为零从而使用 所述预测残差块来内插亚像素位置的采样值。
4. 根据权利要求3所述的方法,其中使用一维内插滤波器沿着水平方向和竖直方向分别执行所述内插。
5. —种用于使用运动补偿时域滤波对数字视频序列进行编码以 提供具有代表已编码视频序列的视频数据的比特流的视频编码器, 所述数字视频序列包括多个帧,其中每个帧包括可被划分为多个块 的像素的阵列,所述编码器包括量在每个块上执行预测操作,以提供相应的预测残差块;以及更新模块,用于根据针对所述预测残差块的运动补偿预测和所述运动向量的逆向来更新所述视频参考帧,其中所述更新模块包括 软件程序,用于根据所述运动向量来确定滤波器,以及用于通过将所述预测残差块之外的采样值视为零从而使用所述预测残差块来内插亚像素位置的采样值。
6. 根据权利要求5所述的编码器,其中使用一维内插滤波器沿 着水平方向和竖直方向分别执行所述内插。
7. —种用于对来自代表已编码视频序列的比特流中视频数据的 数字视频序列进行解码的视频解码器,所述已编码视频序列包括多 个帧,其中每个帧包括可被划分为多个块的像素的阵列,所述解码 器包括用于解码所述块的预测残差和运动向量的模块; 更新模块,用于根据针对该块的预测残差的运动补偿预测和运 动向量的逆向在该块的参考视频帧上执行更新操作;以及预测模块,用于根据针对所述参考视频帧的运动补偿预观'j和所 述运动向量在该块上执行预测操作,其中所述更新模块包括软件程 序,用于根据所述运动向量来确定滤波器,以及用于通过将所述预 测残差块之外的釆样值视为零从而使用所述预测残差块来内插亚像 素位置的采样值。
8. 根据权利要求7所述的解码器,其中使用一维内插滤波器沿 着水平方向和竖直方向分别扭J亍所述内插。
9. 一种软件应用产品,包括具有软件应用的存储介质,所述软件应用用于使用运动补偿时域滤波对数字视频序列进行编码,以提 供具有代表已编码视频序列的视频数据的比特流,所述数字视频序 列包括多个帧,其中每个帧包括可被划分成多个块的像素的阵列,所述软件应用包括用于根据针对参考视频帧的运动补偿预测和运动向量在每个块 上执行预测操作以提供相应的预测残差块的程序代码;用于根据针对所述预测残差块的运动补偿预测和所述运动向量 的逆向来更新所述视频参考帧的程序代码;其中用于更新的程序代 码包括用于根据所述运动向量来确定滤波器的程序代码;以及 用于通过将所述预测残差块之外的采样值视为零从而使用所述 预测残差块来内插亚像素位置的采样值的程序代码。
10. 根据权利要求9所述的软件应用产品,其中使用一维内插滤 波器沿着水平方向和竖直方向分别执行所述内插。
11. 一种软件应用产品,包括具有软件应用的存储介质,所述软 件应用用于对来自代表已编码视频序列的比特流中视频数据的数字 视频序列进行解码,所述已编码视频序列包括多个帧,其中每个帧 包括可被划分为多个块的像素的阵列,所述软件应用包括用于解码每个块的预测残差和运动向量的程序代码;用于根据针对所述块的预测残差的运动补偿预测和所述运动向量的逆向所述在块的参考视频帧上执行更新操作的程序代码;用于根据针对所述参考视频帧的运动补偿预测和所述运动向量在所述块上执行预测操作的程序代码,其中所述用于更新的程序代码包括用于根据所述运动向量来确定滤波器,以及通过将所述预测残 差块之外的采样值视为零从而使用所述预测残差块来内插亚像素位 置的采样值的程序代码。
12. 根据权利要求11所述的软件应用产品,其中使用一维内插 滤波器沿着水平方向和竖直方向分别执行所述内插。
13. —种移动终端,包括编码器,用于使用运动补偿时域滤波对数字视频序列进行编码, 所述数字视频序列包括多个帧,其中每个帧包括可被划分为多个块 的像素的阵列,所述编码器包括预测模块,用于根据针对参考视频帧的运动补偿预测和运动向量在每个块上执行预测操作,以提供相应的预测残差块;以及更新模块,用于根据针对所述预测残差块的运动补偿预测 和所述运动向量的逆向来更新所述视频参考帧,其中所述更新模块包括软件程序,用于根据所述运动向量来确定滤波器,以 及用于通过将所述预测残差块之外的采样值视为零从而使用所 述预测残差块来内插亚像素位置的采样值,其中该移动终端适 于提供具有代表已编码视频序列的视频数据的比特流。
14. 根据权利要求13所述的移动终端,其中使用一维内插滤波 器沿着水平方向和竖直方向分别执行所述内插。
15. —种移动终端,适于接收来自代表已编码视频序列的比特流 中视频数据的数字视频序列,所述已编码视频序列包括多个帧,其 中每个帧包括可被划分为多个块的像素的阵列,所述移动终端包括用于解码所述块的预须'J残差和运动向量的模块; 更新模块,用于根据针对该块的预测残差的运动补偿预观'J和所 述运动向量的逆向在该块的参考视频帧上执行更新操作;以及预测模块,用于根据针对所述参考视频帧的运动补偿预测和所 述运动向量在该块上执行预测操作,其中所述更新模块包括软件程 序,用于根据所述运动向量来确定滤波器,以及用于通过将所述预 测残差块之外的采样值视为零从而使用所述预测残差块来内插亚像 素位置的采样值。
16. 根据权利要求15所述的移动设备,其中使用一维内插滤波 器沿着水平方向和竖直方向分别执行所述内插。
17. —种设备,使用运动补偿时域滤波对数字视频序列进行编码,以提供具有代表已编码视频序列的视频数据的比特流,所述数 字视频序列包括多个帧,其中每个帧包括可被划分为多个块的像素的阵列,所述设备包括用于根据针对参考视频帧的运动补偿预测和运动向量在每个块 上执行预测操作以提供相应的预测残差块的装置;以及用于根据针对所述预测残差块的运动补偿预测和所述运动向量 的逆向来更新所述视频参考帧的装置,其中所述更新装置包括用于根据所述运动向量来确定滤波器的装置;以及用于通过将所述预测残差块之外的采样值视为零从而使用所述 预测残差块来内插亚像素位置的采样值的装置。
18. 根据权利要求17所述的设备,其中使用一维内插滤波器沿 着水平方向和竖直方向分别执行所述内插。
19. 一种设备,用于对来自代表已编码视频序列的比特流中视频 数据的数字视频序列进行解码的设备,所述已编码视频序列包括多 个帧,其中每个帧包括可被划分为多个块的像素的阵列,所述设备 包括用于解码每个块的预测残差和运动向量的装置; 用于根据针对所述块的预测残差的运动补偿预测和所述运动向 量的逆向在所述块的参考视频帧上执行更新操作的装置;在所述块上执行预测操作的装置,其中所述更新装置包括 用于根据所述运动向量来确定滤波器的装置,以及 用于通过将所述预测残差块之外的采样值视为零从而使用所述预测残差块来内插亚像素位置的采样值的装置。
20.根据权利要求19所述的设备,其中使用一维内插滤波器沿着水平方向和竖直方向分别纟丸行所述内插。
全文摘要
在具有预测操作和更新操作的数字视频序列的视频编码和解码中,更新操作包括内插,以便产生能量分布内插。根据针对参考帧的运动补偿预测和运动向量在每个块上执行预测,以提供相应的预测残差块。根据针对预测残差块的运动补偿预测和运动向量的逆向在参考视频帧上执行更新。根据运动向量来确定内插滤波器,并且通过将预测残差块之外的采样值视为零从而使用预测残差块来内插亚像素的采样值。使用一维内插滤波器沿着水平方向和竖直方向分别执行内插。
文档编号H04N7/26GK101278563SQ200680036397
公开日2008年10月1日 申请日期2006年8月15日 优先权日2005年8月15日
发明者J·里奇, M·卡克泽威兹, 王祥林, 鲍亦亮 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1