用于高效视频编码的内容适应性运动补偿滤波的制作方法

文档序号:7977578阅读:272来源:国知局
用于高效视频编码的内容适应性运动补偿滤波的制作方法
【专利摘要】描述一种用于适应性运动滤波以改进帧间运动补偿视频编码的子像素运动预测效率的系统和方法。该技术使用在搜索复杂性方面十分高效的码本方法,该方法从运动滤波器系数集的预计算码本查找最佳运动滤波器集。在一些实施例中,搜索复杂性通过将完整码本分区成小基础码本和大虚拟码本来进一步降低,使得对搜索的主要计算仅仅需要对基础码本执行。
【专利说明】用于高效视频编码的内容适应性运动补偿滤波
【技术领域】
[0001]本公开涉及视频信号的编码和解码,尤其涉及用于运动补偿预测的适应性滤波器的基于码本的编码和解码。
[0002]背景
[0003]数字多媒体(诸如数字图像、语音/音频、图形和视频)的出现因其相对便利,而大大改善了各种应用并且广泛开辟了新的应用,这种便利实现了内容的可靠存储、通信、传输以及搜索和访问。总体而言,数字多媒体应用已有很多,涵盖包括娱乐、信息、医药和安全的广泛范围,并且已经通过多种方式造福社会。由诸如相机和话筒之类的传感器所捕捉的多媒体通常是模拟的,以脉冲编码调制(PCM)形式数字化的过程将其呈现为数字形式。但是,就在数字化之后,所得数据的量可能非常巨大,因为其对由扬声器和/或TV显示器所需的模拟表示的重建而言是必需的。因此,大量数字多媒体内容的有效通信、存储或传输要求从原始PCM形式压缩成压缩表示,因此许多用于多媒体压缩的技术被发明出来。多年来,视频压缩技术已经成熟到允许达到在10到100之间的高压缩系数同时保持高神经性视觉质量(通常类似于非压缩数字视频)。
[0004]至今在视频压缩领域和科技中已经取得极大进步(如过多的标准团体驱动的视频编码标准(诸如 MPEG-1、MPEG-2、H.263、MPEG_4 第 2 部分、MPEG-4AVC/H.264、MPEG-4SVC 和MVC)以及工业驱动的私有标准(诸如Windows Media Video、RealVideo、0n2VP等等)所呈现的),客户对可以随时随地访问的更高质量、更高分辨率以及现场3D (立体声)视频日益增长的嗜好需要经由各种手段(诸如DVD/BD、空中广播、缆线/卫星、有线和移动网络)向广泛的客户设备(诸如PC/膝上型计算机、TV、机顶盒、游戏控制台、便携式媒体播放器/设备和智能电话)进行传送,这刺激了对更高视频压缩水平的需求。在标准团体驱动的标准中,ISO MPEG最近开始的在高效视频编码(HEVC)方面的努力证明了这一点,期望该努力能将新技术贡献与来源于ITU-T标准委员会近些年对H.265视频压缩的探索性工作的技术相结合。所有上述标准都采用通用帧间预测编码框架,该框架涉及通过首先将帧分成诸个块并向待编码帧的每个块分配运动向量(或多个运动向量)来相对于过往解码帧补偿视频帧(或视频场)之间的运动,进而减小时间冗余;这些运动向量随后被发送到解码器并被用于生成运动补偿预测帧,该运动补偿预测帧与过往解码帧和编码块通常经由转换编码诸个块的方式相区分。为了更高的编码效率,已经意识到运动向量应该具有比整数像素更高的精度,因此MPEG-1和MPEG-2允许1/2像素准确度同时最近标准(诸如MPEG-4第2部分(第2版)视频和H.264)使用1/4像素准确度运动补偿。然而,由于帧的实际像素仅在整数像素精度下可用,需要特殊滤波器如生成运动补偿预测所需地将先前帧的块内插到子像素(subpel)位置。H.264标准指定能够用于生成1/4像素内插所需的全部16个相的可分离滤波器的固定滤波器集。该固定滤波器集是理论上最佳的,因为它是针对最大收益从Weiner理论导出的;然而,固定滤波器集中的一些滤波器限于6抽头,而对于其它滤波器,允许多达9抽头。此外,由于精度限制,在整数化过程中准确度有一些损失。当该类预测通常对平均值进行工作时,对于具体图片或场景,该单个固定滤波器或任何其它单个固定滤波器可能与内容的特征失配,因此还存在改进空间。
[0005]近年来,在1/4像素运动补偿的滤波领域中已有大量研究,导致适应性运动滤波的发展。在适应性滤波中,系数并不固定,并因此并非先验已知;即,系数是从内容自身计算得到并随时间改变。用于计算滤波器系数的数学过程基于Wiener Hopf方程。
[0006]当Wiener Hopf数学过程可以计算最佳滤波器系数集时,该方法在视频编码系统中的实际结合存在显著问题。因此在H.265和/或HEVC发展的情形中,已有多种提案来解决各种缺点并增加适应性以获得改进的编码增益。这些提案可以简要列举如下。
[0007]不可分离与可分离滤波器之间的选择一不可分离滤波器的计算可能更加计算密集,但是理论上,不可分离滤波器可以得到更高的质量。然而,不可分离滤波器也需要可分离滤波器系数数量的两倍,因此不可分离滤波器的编码开销可能较高。
[0008]总体而言,对于运动滤波,可分离滤波器能够提供合理的编码增益,因此提供总体上更好的折衷。
[0009]迭代次数与每次迭代的增益的折衷一Wiener Hopf方程的迭代解采用多次迭代来收敛以给出好的结果。所需的迭代次数依赖于(最初用于首次迭代的)默认滤波器集距最佳结果多远。如果它们较近,通常多达4次迭代可能足够,但是如果它们十分不同,则可能需要16至20次迭代。如果默认滤波器与最佳滤波器之间的差异很大,在4次迭代处停止不会得到大部分增益。
[0010]用于位成本最佳折衷的各系数的准确度相对于质量一通过将滤波器集中特定系数保持低准确度,可以得到一些位节省。实际上,滤波器系数的最大精度可被限于8位,且在一些例外情形中,所用精度可被限于10位。
[0011]用于向解码器的传输的系数位成本降低(实际值、差分、更新限制)一要向解码器发送的系数数量必需受限,因为例如,典型的不可分离滤波器集可能要求发送多达120个系数(每帧650-950位的位成本)而即便是可分离滤波器集也可能要求发送45-60个系数(每帧400-550位的位成本)。采用差分编码(当前帧的编码滤波器集与先前帧滤波器集或相对于默认滤波器集差分地进行)或通过对更新设置限制,该位计数可或多或少地减少,但是伴随一些质量损失。
[0012]图片内的多滤波器集以改进总体增益一当即便每帧计算的一个Wiener滤波器集可以给出由于例如H.264标准滤波器集的增益时,通过提供帧内(诸如基于块或片)的多滤波器集的选择可以得到更高的增益。然而,一个问题是与附加增益相比,即便每帧2个滤波器集的位成本都可能过多。因此当使用多滤波器集时,管理滤波器系数的位成本是必需的。
[0013]率失真优化(RDO)复杂性,由于它可能原本涉及滤波器切换地图上的多次迭代以导出最佳结果一当使用多个滤波器以获得高增益时,通常必需以迭代方式来使用率失真优化以获得用于滤波器选择的正确块尺寸,该滤波器选择提供在滤波器切换频率与增益之间的良好折衷。
[0014]当使用多个滤波器时的块地图开销位成本一当使用多个滤波器(包括在标准滤波器与所计算滤波器之间切换的情形)时,切换地图成本可能相当大。例如,如果在对宏块使用I位而在宏块的基础上在两个滤波器之间切换,则对于通用中间格式(CIF)序列,除了可能发送两个滤波器集的位成本之外,应该添加396位额外开销。
[0015]通过使用整数位置滤波器以及具有偏移的滤波器所获得的附加增益一已经做出一些尝试来通过在最佳1/4像素位置是整数位置的情形中对整数位置计算滤波器以挤压增益。此外,已经使用具有偏移的滤波器进行一些实验以获得更高增益。两种情形都需要附加的开销位。
[0016]如上所述,已经提出许多计数和变型,当前方法(即便在差分编码之后)的系数位计数开销过高。此外,现有技术由于需要在系数集的很多次迭代上进行计算,因此在计算上相当复杂。此外,当前系统的适应性强的唯一方法是通过对多切换滤波器广泛使用RD0,这意味着额外开销和复杂性。
[0017]与适应性运动补偿滤波相关的附加信息可在以下参考文献中找到,每个参考文献都出于全部目的通过引用完全结合于此:
[0018].T.Wedij ^Adaptive Interpolation Filter For Motion CompensatedPrediction (用于运动补偿预测的适应性内插滤波器)〃图像处理国际会议(ICIP)文集,509-511 页,2002。
[0019].ν.Vatis等人,〃Coding of Coefficients of two-dimensional non-separableAdapive Wiener Interpolation Filter (两维不可分离适应性Wiener内插滤波器的系数的编码)"SPIE视觉通信和图像处理(VCIP)文集,2005年7月。
[0020].V.Vatis 和 Joern Ostermann, "Locally Adaptive Non-SeparabIeInterpolaion Filter for H.264/AVC (用于H.264/AVC的本地适应性不可分离内插滤波器)〃图像处理国际会议(ICIP)文集,2006年10月。`
[0021]*S.Wittmann和T.Wedi, "Separable Adaptive Interpolation Filter for VideoCoding (用于视频编码的可分离适应性内插滤波器)〃,图像处理国际会议(ICIP)文集,2500-2503 页,2008。
[0022]附图简述
[0023]图1示出采用使用固定运动滤波的运动补偿预测的现有技术帧间解码器的一般框图。
[0024]图2示出与现有技术编码器对应并与编码器处的本地解码回路类似地工作的现有技术解码器。
[0025]图3示出被组织成像素栅格的视频帧的部分,其中运动补偿预测块被计算,该像素栅格进一步被化分成子像素栅格。
[0026]图4a_o示出对于每个子像素位置的6/9抽头到6x6滤波器矩阵的映射。
[0027]图5示出采用使用通用化适应性运动滤波的运动补偿预测器的现有技术帧间解码器的框图。
[0028]图6示出采用使用通用化适应性运动滤波的运动补偿预测器的现有技术帧间解码器的框图。
[0029]图7a_f示出用于划分图片的多种分区模式。
[0030]图8示出根据一个实施例的采用使用运动滤波码本编码器的运动补偿预测器的帧间编码器的框图。
[0031]图9示出根据一个实施例的采用使用运动滤波码本解码器的运动补偿预测器的帧间解码器的框图。
[0032]图10示出用于生成运动滤波器码本或用于子像素和整数像素位置的码本的‘离线’例程。
[0033]图11示出根据一个实施例的用于针对运动滤波器集而搜索码本的‘在线’例程。
[0034]图12示出根据多种运动补偿码本滤波器编码器和解码器并在本文中不同描述的示例性位流句法。
[0035]图13a_b示出根据不同实施例的视频流内的图片或帧序列。
[0036]图14示出根据一个实施例的示例性视频编码/解码系统。
[0037]图15示出根据一个实施例的示例性编码设备的若干组件。
[0038]图16示出根据一个实施例的示例性解码设备的若干组件。
[0039]图17示出根据一个实施例的码本运动补偿滤波视频编码例程,诸如该例程可以由编码设备来执行。
[0040]图18示出根据一个实施例的用于获得码本的子例程。
[0041]图19示出根据一个实施例的用于从码本选择运动补偿滤波器子集的子例程。
[0042]图20示出根据一个实施例的用于确定用于图片一部分的整数位置运动补偿滤波器的子例程。
[0043]图21示出根据一个实施例的码本运动补偿滤波视频解码例程,诸如该例程可以由解码设备来执行。
[0044]详细描述
[0045]以下详细描述大部分以常规计算机组件的过程和操作的符号表示来呈现,这些计算机组件包括处理器、用于处理器的存储设备、连接的显示设备和输入设备。此外,这些过程和操作可以利用异类分布式计算回路境中的常规计算机组件,包括远程文件服务器、计算机服务器和存储设备。
[0046]这些常规的分布式计算组件的每一个可由处理器经由通信网络访问。
[0047]短语“在一个实施例中”、“在多个实施例中”、“在一些实施例中”等等可以重复使用。这些术语不一定指代相同实施例。术语“包括”、“具有”和“包含”是同义词,除非上下文另行说明。
[0048]概述
[0049]描述用于帧间视频编码的运动滤波的系统和方法的多个实施例。这些实施例中的一些可以提供比现有方案降低的计算复杂性,因为代替在编码期间采用许多迭代来迭代地计算滤波器系数,运动滤波器集从运动滤波器系数集的预计算码本进行查找。
[0050]在一些实施例中,搜索复杂性可以通过将完整码本分区成小“基础”码本和较大“虚拟”码本来进一步降低,这使得用于搜索的主要计算仅需要对基础码本进行。这些实施例可以通过以下来降低存储:(a)仅存储基础码本和用于合成剩余码本的算法;(b)对每个滤波器集存储,根据运动子像素滤波位置存储具有适当数量的抽头的滤波器;以及(C)仅存储所需的每系数的位精度。
[0051]在多个实施例中,所述运动滤波器码本技术可被运用于图片、片组、块地图、合并的块地图、或适应性分区(诸如二叉树、四叉树)或内容依赖分区等等。与仅有率失真优化(RDO)驱动的其它技术相比,本技术用于内容依赖分区的能力也降低复杂性并改进准确度。多个实施例可以仅用于子像素滤波、仅用于整数位置滤波或者用于两者。此外,码本可以易于替换或扩展以使其适应内容的特性。[0052]描述滤波器码本设计和码本高效搜索的细节。通过码本设计的所述方法并且对于所提出的码本尺寸,该技术可以得到良好的运动滤波性能,潜在地提高广泛视频内容的精
度效率。
[0053]在多个实施例中,所述技术可以是位高效的,因为可能仅需要到码本的索引以标识所选子像素滤波器集或整数像素滤波器。在许多情形中,编码索引可以比编码实际系数或发送差分编码的滤波器系数来的更加高效。当所发送的实际索引数量依赖于分区数量时,与使用同类分区的现有技术相比,所述基于码本的技术在位率方面更加高效。
[0054]多个实施例可以用于使用由1-、P-、B-图片编码构成的常规图片结构的典型视频编码。其它实施例可以用于代替1-和P-图片或作为其附加的其它结构,诸如分级B-图片、单向B-图片或其它B-图片替换方案。
[0055]现在详细参照如附图所示的实施例的描述。当结合附图和相关描述来描述实施例时,不旨在将范围限制在本文所述实施例中。相反,旨在覆盖所有替换、修改和等同方案。在替换实施例中,附加设备或所述设备的组合可以在不将范围限制在本文所述实施例的情况下被添加或组合。
[0056]图1示出采用使用固定运动滤波的运动补偿预测的现有技术帧间编码器100的一般框图。一个或多个视频巾贞(vidfrms)被块分度器划分成块(blh)。块(blh)被每次一个地输入差分器133并与相应的预测信号块(pred)差分,并且残差(res)被转换器135前向转换,得到系数块(tcof),该系数块被发送给量化器138,得到量化系数块(tcofq),该量化系数块被发送给熵编码器118和反量化器140。反量化器140将去量化的系数块(tcof)发送给反转换器143。在加法器145处,来自运动补偿回路的预测块(pred)被加至反转换器143输出处的去量化残差块(res’)。在加法器145处,来自运动补偿回路的预测块(pred)被加至反转换器743的输出处的去量化残差块(res’)。加法器745输出本地解码块(rec),该本地解码块被发送给帧汇编器和降低块属性的解块滤波器处理器148。
[0057]在帧汇编器和解块滤波处理器148输出处的块(reed)形成帧,该帧被用作为运动估计器128和运动补偿预测器130的参考帧。
[0058]运动估计器128计算原始巾贞的块(blh)相对于重建巾贞(reed)的运动向量(mv)。运动向量计算的过程包括计算每块的整数像素向量,之后使用子像素内插器129计算子像素向量(sv)(例如到1/4像素分辨率)。通常,子像素内插器129包含在运动估计器128自身中,但是为了描述清楚,它被分开示出和引用。运动估计器128搜索最佳匹配以及因此的最佳运动向量(mv),其中运动补偿预测器130使用该运动向量(mv)来生成运动补偿预测器块(pred)。运动补偿器130也使用与子像素内插器129类似的子像素(例如1/4像素分辨率)内插器131。子像素内插器129和131使用的滤波器集(fmf)被预指定并因此是固定的。熵编码器118编码量化转换系数(未示出)、差分运动向量(dmv)和开销数据(未示出),生成压缩位流128。
[0059]图2示出与现有技术编码器100对应并类似于编码器100处的本地解码回路155而工作的现有技术解码器200。具体而言,待解码的压缩位流201输入到熵解码器203,该熵解码器解码量化系数块(tcofq)、差分运动向量(dmv)以及开销数据(未示出)。量化系数块(tcofq)随后被反量化器203反量化,得到去量化系数(tcof),该去量化系数随后被反转换器215反转换,得到解码残差块(res’’)。在加法器223处,去量化系数(tcof)被加至在运动补偿预测器230处通过使用相应的运动向量(mv)、使用由子像素内插器229计算的子像素向量(Sv)(例如1/4像素分辨率)而获得的运动补偿预测块(pred)。
[0060]所得的解码视频(rec)在帧汇编器和解块滤波器225中解块,并且如同在编码器100处一样,解块视频(reed)被用作参考帧。解码器200处的运动补偿预测器230与编码器100处的运动补偿预测器130类似地工作,诸如运动补偿预测器230使用如编码器100所使用的具有相同固定运动滤波器(fmf)的类似子像素内插器229。
[0061]图3示出被组织成像素栅格的视频帧的部分300,其中运动补偿预测块被计算,该像素栅格被进一步划分成子像素栅格。整数像素位置被示为A1-A6、B1-B6、C1-C6、D1-D6、E1-E6 和 F1-F60C3-C4 和 D3-D4之间的 1/4 像素位置由位置{a, b, c, d, e, f, g, h, k, I, m, η, ο}示出,使得每个块可以在这些四分之一像素位置之一处被补偿。图3还示出在位置aa、bb、cc、dd、ee、ff、gg、hh、ii和j j处的若干1/2像素位置。
[0062]用于子像素位置{a, b, c, d, e, f, g, h, k, I, m, η, ο}的滤波器集的计算通过使用6抽头或9抽头滤波器来执行。滤波器系数被映射到用于从6x6周围像素邻居(A1-F6)计算子像素值的6x6矩阵。
[0063]图4a_o示出对于每个子像素位置,6/9抽头到6x6滤波器矩阵的映射。
[0064]图4a示出滤波器系数以及这些系数应用其上以直接计算子像素位置{a}处的滤波内插块的像素;该位置要求6个滤波器系数。
[0065]图4b示出滤波器系数以及这些系数应用其上以直接计算子像素位置{b}处的滤波内插块的像素;该位置对应于水平一半像素位置,并由于对称性而仅要求3个滤波器系数。
[0066]图4c示出滤波器系数以及这些系数应用其上以直接计算子像素位置{c}处的滤波内插块的像素;该位置要求6个滤波器系数。
[0067]图4d示出滤波器系数以及这些系数应用其上以直接计算子像素位置{d}处的滤波内插块的像素;该位置要求6个滤波器系数。
[0068]图4e示出滤波器系数以及这些系数应用其上以直接计算子像素位置{e}处的滤波内插块的像素;该位置要求6个滤波器系数。
[0069]图4f示出滤波器系数以及这些系数应用其上以直接计算子像素位置{f}处的滤波内插块的像素;该位置要求9个滤波器系数。
[0070]图4g示出滤波器系数以及这些系数应用其上以直接计算子像素位置{g}处的滤波内插块的像素;该位置要求6个滤波器系数。
[0071]图4h示出滤波器系数以及这些系数应用其上以直接计算子像素位置{h}处的滤波内插块的像素;该位置对应于垂直一半像素位置,并由于对称性而仅要求3个滤波器系数。
[0072]图4i示出滤波器系数以及这些系数应用其上以直接计算子像素位置{i}处的滤波内插块的像素;该位置要求9个滤波器系数。
[0073]图4j示出滤波器系数以及这些系数应用其上以直接计算子像素位置{j}处的滤波内插块的像素;该位置要求9个滤波器系数。
[0074]图4k示出滤波器系数以及这些系数应用其上以直接计算子像素位置{k}处的滤波内插块的像素;该位置要求9个滤波器系数。[0075]图41示出滤波器系数以及这些系数应用其上以直接计算子像素位置{1}处的滤波内插块的像素;该位置要求6个滤波器系数。
[0076]图4m示出滤波器系数以及这些系数应用其上以直接计算子像素位置{m}处的滤波内插块的像素;该位置要求6个滤波器系数。
[0077]图4n示出滤波器系数以及这些系数应用其上以直接计算子像素位置{η}处的滤波内插块的像素;该位置要求9个滤波器系数。
[0078]图4ο示出滤波器系数以及这些系数应用其上以直接计算子像素位置{ο}处的滤波内插块的像素;该位置要求6个滤波器系数。
[0079]适应性Wiener滤波
[0080]在讨论图5的细节之前,简要讨论最佳滤波理论,因为这是使用Wiener滤波方法的适应性滤波器设计的基础。
[0081]对于每个子像素位置,交叉相关和自相关矩阵被累加,由此可以通过求解如下的Weiner Hopf方程来计算最优Wiener滤波器集。
[0082]设X (η)是输入信号,y (η)是输出,且h (η)标识滤波器系数。
[0083]滤波器输出:.Γ(")=a)


k O
[0084]误差信号:e(η) = d (n) -y (η)
[0085]均方差J = E[e2 (n)]
[0086]以向量形式:
「_ ] [ _ _
丨丨A(I)
[0087]l(rt) —and h — |
'I?IIm
i*jI.[x(n.......N - l)j[h(N.......1)
[0088]y (n) = hTx (n) = x (n) Th
[0089]fife2 (;r){=卿
[0090]=2EJrf(w)x(H)r]i +11 Elxi/rXn/ }h
[0091]=Fj-2E^i+I1ReI
[0092]其中Pd是标量。
[0093]交叉相关行向量:Rdx= E[d(n)x(n)T]
[0094]自相关矩阵:RXX= E [X (η) χ (η)τ]
[0095]为了寻找最小值,如下求导数并将其设为零:
[0096]考:辦I二一2R: + 2R?fc = O
? η{κ}
[0097]现在求解h,Wiener Hopf方程如下:

—I W||
[0098]Μ = KxxR^k[0099]Wiener Hopf方程确定以均方差形式的最优滤波器系数,且所得滤波器被称为“wiener”滤波器。
[0100]在以上方程中,h是滤波器系数向量(通常6或9系数),Rxx是自相关矩阵(对于参考帧的块数据)且Rdx是交叉相关矩阵/行向量(在源帧与参考帧块数据之间)。对于每个子像素位置,单独累加矩阵,因此h可以通过对每个子像素位置求解上述方程来计算,由此获得16滤波器的适应滤波器集(对于1/4像素位置)。
[0101]图5示出采用使用通用化适应性运动滤波的运动补偿预测器的现有技术帧间编码器500的框图。块分度器501、前向转换535、量化器538、反量化器540、反转换543、帧汇编器和解块滤波处理器548以及熵编码器518以与如图1所示和以上讨论的编码器100相应组件相同的方式工作,其描述再次无需赘述。
[0102]类似地,运动估计器528和运动补偿器530以与以上所述的运动估计器128和运动补偿器130相同的方式工作,除了它们使用的滤波器之外。在此,关注运动滤波,且仅详细讨论该子系统。
[0103]与使用固定滤波器集的H.265不同,编码器500从数据计算滤波器集。该计算使用以上讨论的Wiener Hopf方程在子像素(wiener)迭代滤波器集计算器558中进行。该过程通过使用默认滤波器集对每个块计算最低的绝对差之和(SAD)开始,其反应了最佳匹配的子像素匹配位置。在下一迭代中,使用这些子像素位置,新滤波器集被计算,该滤波器集在被使用时提供更新的子像素位置。该过程是迭代的,并因此该过程可能需要若干次迭代(4-20)来收敛。由于每次迭代中评估的复杂性,该过程是计算密集的。在一些情形中,有可能限制迭代次数,为性能而折衷复杂度。所计算的适应性运动滤波器集(amf)被提供给在运动补偿预测器530处的子像素内插器531。该滤波器集(amf)也需要被编码并仅有位流发送至解码器。由于滤波器集(amf)可能使用多达99个滤波器系数,滤波器集的高效编码非常重要。典型的技术涵盖发送用于最重要位置的滤波器集、系数的差分编码(dmf)(由差分器560生成)、压制从上次发送以来未改变的系数等等。
[0104]假设滤波器系数能被高效编码,为了在两个或更多滤波器集之间选择以获得更高效率的目的,可以对每个图片发送多滤波器集;该操作在空间分区器和分区编码器505中执行,该空间分区器和分区编码器505生成分区地图(ptmap)。率失真优化器508通常用于确保及时在使用多滤波器和相关开销时仍能得到增益。
[0105]图6示出采用使用通用化适应性运动滤波的运动补偿预测器的现有技术帧间解码器600的框图。熵解码器603、反转换器615、反量化器613以及帧汇编器和解块滤波处理器625以与图2所示和以上讨论的解码器200相应组件相同的方式工作,其描述在此无
需赘述。
[0106]类似地,运动补偿预测器630以与以上讨论的运动补偿预测器230相同的方式工作,除了所使用的滤波器集之外。在此,关注运动滤波,且仅详细讨论该子系统。
[0107]熵解码器603对码字(dmj)进行解码,该码字解码了运动滤波器的差分值,在加法器631处表示预测的滤波器集被加至该差分值,得到系数滤波器集(amf)。该滤波器集(amf)被提供给运动补偿预测器630中的子像素内插器629。此外,在使用多滤波器的情形中,分区地图(ptmap)可被解码使得滤波器(amf)可被应用于图片的正确部分。
[0108]图7a_f示出用于划分图片的多个分区模式。例如,图7a表示基于图片的分区,其中滤波器编码仅在逐图片的基础上进行切换。图7b示出基于片或片组的分区,使得第一滤波器集应用在片组A上,且第二滤波器集应用在片组B上。图7c表示标识哪个滤波器用于块类型A且哪个滤波器用于块类型B的块地图。图7d示出将图片划分成瓦片并进一步将瓦片划分成二叉树分区,使得基于率失真优化(RDO)的多个二叉树切割被标记为A或B,指示它们可能相应地使用第一或第二滤波器集。类似地,图7e示出将图片分区成瓦片,并进一步将瓦片分区成标记为A或B的两类四叉树分区,使得它们可以相应地使用第一或第二滤波器集。最后,图7f示出从片合并或块合并或二叉树合并或四叉树分区合并或单纯地通过空间分段而得到的区域。
[0109]图8示出根据一个实施例的采用使用运动滤波码本编码器的运动补偿预测器的帧间编码器800的框图。块分度器801、前向转换器835、量化器838、反量化器840、反转换器843、帧汇编器和解块滤波处理器848以及熵编码器818以与图1所示和以上讨论的编码器100相应组件相同的方式工作,其描述在此无需赘述。类似地,运动估计器828和运动补偿器830以与以上所述的运动估计器128和运动补偿器130相同的方式工作,除了它们使用的滤波器集之外。在此,关注运动滤波,且仅详细讨论该子系统。
[0110]与现有适应性运动滤波编码器相比,基于码本的运动滤波编码器800从现有码本选择滤波器集,以代替明确计算运动滤波器。在一个实施例中,使用两类码本,一类存储子像素滤波器集860且另一类存储整数位置滤波器863。MC滤波器集码本搜索处理器858允许高效搜索相应码本,提供相应地涉及子像素滤波器集(mcfs)和整数位置滤波器(mcfi)的子像素和整数位置码本索引。
[0111]在多个实施例中,子像素滤波器集(mcfs)和整数位置滤波器(mcfi)可以在图片(仅一次)或在空间分区(每图片多次)基础上发送。在多个实施例中,可以使用任何类型的空间分区,诸如片、可变块尺寸、块、二叉树、四叉树、区域、瓦片等等(参见图7a_f)。该分区由空间分区器和分区编码器805执行。分区的细节(诸如待发送的分区数量)是基于由位率/失真折衷分析器808和 场景内容分析器803的率失真分析来确定的。在位流中向解码器发送最佳匹配的子像素滤波器集和整数像素滤波器集。子像素滤波器集(mcfs)和整数位置滤波器(mcfi)被提供给MC滤波处理器865以在运动估计器/运动补偿预测器828处生成运动补偿预测。在一些实施例中,该过程可以在搜索以及由索引标识滤波器/滤波器集的位成本方面是高效的。
[0112]图9示出根据一个实施例的采用使用运动滤波码本解码器的运动补偿预测器的帧间解码器900的框图。熵解码器903、反转换器915、反量化器913以及帧汇编器和解块滤波处理器925以与图2所示和以上讨论的解码器200相应组件相同的方式工作,其描述在此不再赘述。类似地,运动补偿预测器930以与以上讨论的运动补偿预测器230相同的方式工作,除了所使用的滤波器集之外。在此,关注运动滤波,且仅详细讨论该子系统。
[0113]熵解码器903对位流901进行熵解码以获得码本子像素运动滤波器索引(mcfsi)和/或整数位置运动滤波器索引(mcfii)。这些索引(mcfsi)和(mcfii)被用于从子像素码本933和/或整数位置码本935访问所需的子像素滤波器集(mcfs)和/或整数位置滤波器(mcfii)。所得的子像素滤波器集mcfs和/或整数像素滤波器mcfii被提供给MC滤波处理器929,该处理器执行子像素内插和/或整数像素滤波以生成运动补偿预测(pred)。在一些实施例中,标志(filt senf^P(intfilt senf )可进一步被熵解码器903解码,指示位流901是否分别包括子像素运动滤波器索引(mcfsi)和整数位置运动滤波器索引(mcfii)。
[0114]表I示出来自示例性子像素“基础”码本的两个样本滤波器集(id=0和id=l)。在一个实施例中,子像素“基础”码本可以包括16个“基础”子像素滤波器集(在1/4像素滤波的情形中,每个包括15或16个子像素位置滤波器)。
[0115]来自16个“基础”子像素滤波器集的单独子像素位置滤波器可被用于不同的预确定组合以创建“虚拟”码本。在一个实施例中,“虚拟”码本可以包括256个子像素滤波器集。在其他实施例中,“基础”和“虚拟”码本可以包括更多或更少的滤波器集。
[0116]表I
[0117]
【权利要求】
1.一种用于编码用于多个子像素位置的适应性运动补偿滤波器集以便预测已编码视频帧中的块的视频编码器设备实现的方法,所述方法包括: 由视频编码器设备获得包括多个运动补偿滤波器的码本,所述多个运动补偿滤波器被分组成分别对应于多个子像素位置的多个子像素位置组,所述多个子像素位置组的每一个包括适于在所述多个子像素位置的相应一个处对图片的块进行内插的多个运动补偿滤波器; 由所述视频编码器设备获得未编码视频帧以供所述视频编码器设备进行编码; 由所述视频编码器设备将所述视频帧的至少部分编码到位流,所述视频帧的所述部分包括多个图片内容块;以及 在编码所述视频帧的至少部分视频帧期间,所述视频编码器设备:从所述码本选择良好适应预测所述多个图片内容块的所述多个运动补偿滤波器的子集,所选子集包括所述多个子像素位置组的每个中的一个;以及在所述位流中包括在所述码本内标识所述多个运动补偿滤波器的所选子集的子像素滤波器代码。
2.如权利要求1所述的方法,其特征在于,选择所述多个运动补偿滤波器的子集包括选择所述多个运动补偿滤波器的多个预定子集之一。
3.如权利要求2所述的方法,其特征在于,包括在所述位流中的所述代码包括在所述多个预定子集中标识所选子集的索引。
4.如权利要求2所述的方法,其特征在于,选择所述多个运动补偿滤波器的所述多个预定子集之一包括: 对于所述多个图片内容块的每一个,分别确定所述多个运动补偿滤波器的多个单独编码增益;使用所确定的多个单独编码增益,确定应用于所述多个图片内容块的所述多个运动补偿滤波器的所述多个预定子集中每一个的合计编码增益;以及 选择对所述多个图片内容块具有有利合计编码增益的所述多个预定子集之一。
5.如权利要求4所述的方法,其特征在于,还包括: 确定应用于所述多个图片内容块的默认滤波器集的默认合计编码增益,默认图片集包括分别对应于所述多个子像素位置的多个默认子像素运动补偿滤波器;以及确定所述有利合计编码增益比所述默认合计编码增益更有利。
6.如权利要求1所述的方法,其特征在于,还包括: 获得多个整数位置运动补偿滤波器;以及 在编码所述视频帧的至少部分视频帧期间,所述视频编码器设备选择良好适于预测所述多个图片内容块的所述多个整数位置运动补偿滤波器之一。
7.如权利要求6所述的方法,其特征在于,还包括: 确定所述多个整数位置运动补偿滤波器的所选之一提供比所述多个运动补偿滤波器的所选子集更好的编码增益;以及 在由所述视频编码器设备生成的所述位流中包括: 整数滤波器代码,标识所述多个整数位置运动补偿滤波器中所选之一;以及整数滤波器标志,标识所述整数滤波器代码被包含在用于所述视频帧的至少部分的所述位流中。
8.如权利要求6所述的方法,其特征在于,所述码本还包括多个整数位置运动补偿滤波器。
9.如权利要求6所述的方法,其特征在于,获得所述多个整数位置运动补偿滤波器包括获得整数位置码本。
10.如权利要求1所述的方法,其特征在于,获得所述码本包括: 确定分别对应于所述多个子像素位置的多个默认运动补偿滤波器; 通过对所述多个子像素位置的每一个执行至少步骤(i)、( ii)和(iii),生成分别对应于所述多个子像素位置的多个子像素位置组: (i)迭代地精炼所述多个默认运动补偿滤波器中的相应一个以生成对应于当前子像素位置的多个精炼运动补偿滤波器; (ii)确定分别对应于所述多个精炼运动补偿滤波器的多个编码增益; (iii)根据所确定的多个编码增益,从所生成的多个精炼运动补偿滤波器选择对应于当前子像素位置的性能良好的运动补偿滤波器子像素位置组。
11.如权利要求10所述的方法,其特征在于,还包括选择多个性能良好运动补偿滤波器子集,每个子集包括从所述多个子像素位置组的每一个所选择的一个性能良好运动补偿滤波器。`
12.—种非瞬态计算机可读介质,所述非瞬态计算机可读介质存储在由处理器执行时执行如权利要求1所述的方法的指令。
13.—种视频编码装置,包括处理器和存储介质,所述存储介质存储在由处理器执行时执行如权利要求1所述的方法的指令。
14.一种用于解码用于多个子像素位置的适应性运动补偿滤波器集以便预测已编码视频帧中的块的视频解码器设备实现的方法,所述方法包括: 由所述视频解码器设备获得包括多个运动补偿滤波器的码本,所述多个运动补偿滤波器被分组成分别对应于多个子像素位置的多个子像素位置组,所述多个子像素位置组的每一个包括适于在所述多个子像素位置的相应一个处对图片的块进行内插的多个运动补偿滤波器; 获得已编码位流,所述已编码位流包括已编码视频帧以及在所述码本中标识所述适应性运动补偿滤波器集的子像素滤波器代码,所述适应性运动补偿滤波器集包括分别对应于所述多个子像素位置的多个运动补偿滤波器; 在解码所述已编码视频帧期间,所述视频解码器设备从所述码本选择由所述子像素滤波器代码所标识的适应性运动补偿滤波器集; 使用所述适应性运动补偿滤波器集,预测多个图片内容块,所述多个块对应于已编码图片帧的至少部分; 至少根据所预测的多个图片内容块来生成已解码图片;以及 向与所述视频解码器设备相关联的显示器呈现所生成的已解码图片。
15.如权利要求14所述的方法,其特征在于,所述已编码位流还包括: 第二子像素滤波器代码,在所述码本中标识第二适应性运动补偿滤波器集;以及 至少一个部分标识代码,使得所述视频解码器能够标识已编码图片帧的所述部分以及已编码图片帧的第二部分。
16.如权利要求15所述的方法,其特征在于,还包括:在解码所述已编码视频帧期间,所述视频解码器设备从所述码本选择由所述第二子像素滤波器代码所标识的第二适应性运动补偿滤波器集; 使用所述第二适应性运动补偿滤波器集,预测第二多个图片内容块,所述第二多个块对应于已编码图片帧的至少第二部分; 其中所述已解码图片是进一步根据所预测的第二多个图片内容块来生成的。
17.如权利要求14所述的方法,其特征在于,还包括获得多个整数位置运动补偿滤波器。
18.如权利要求17所述的方法,其特征在于,所述已编码位流还包括: 至少一个部分标识代码,使得所述视频解码器能够标识已编码图片帧的所述部分以及已编码图片帧的第二部分。 整数滤波器代码,标识所述多个整数位置运动补偿滤波器之一;以及整数滤波器标志,指示所述整数滤波器代码被包含在用于所述视频帧的至少第二部分的所述位流中。
19.如权利要求18所述的方法,其特征在于,还包括,在解码所述已编码视频帧期间: 读取所述整数滤波器标志并相应地从所述多个整数位置运动补偿滤波器选择由所述整数滤波器代码所标识的整数位置运动补偿滤波器; 使用所选的整数位置运动补偿滤波器,预测第二多个图片内容块,所述第二多个块对应于已编码图片帧的至少第二部分;以及 其中所述已解码图片是进一步根据所预测的第二多个图片内容块来生成的。
20.如权利要求17所述的方法,其特征在于,所述码本还包括多个整数位置运动补偿滤波器。
21.如权利要求17所述的方法,其特征在于,获得所述多个整数位置运动补偿滤波器包括获得整数位置码本。
22.—种非瞬态计算机可读介质,所述非瞬态计算机可读介质存储在由处理器执行时执行如权利要求14所述的方法的指令。
23.一种视频编码装置,包括处理器和存储介质,所述存储介质存储在由处理器执行时执行如权利要求14所述的方法的指令。
【文档编号】H04N7/32GK103430545SQ201180061602
【公开日】2013年12月4日 申请日期:2011年12月21日 优先权日:2010年12月21日
【发明者】A·普瑞, D·索塞克, C-K·崔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1