使用自适应插值进行视频编解码的方法和设备的制作方法

文档序号:7638323阅读:106来源:国知局

专利名称::使用自适应插值进行视频编解码的方法和设备的制作方法
技术领域
:本发明涉及视频编码和解码领域,更具体地,本发明涉及运动补偿中自适应插值的使用。
背景技术
:在大多数现有视频压縮系统和标准(如MPEG-2和JVT/H.264/MPEGAVC)中,编码器和解码器主要依靠于帧内编码和帧间编码来实现压縮。在帧内编码中,使用空间预测方法,而对于帧间编码,通过利用画面之间可能存在的时间相关来实现压縮。具体而言,将先前编码/解码的画面用作在后画面的参考,同时采用运动估计和补偿对这些画面之间的任何运动行为进行补偿。图1A示出了P画面(帧)中的运动补偿,而图1B示出了B画面(帧)中的运动补偿。诸如H.264之类的更加高级的编解码器也考虑了光照变化(例如,淡入/淡出期间),以便在需要时产生更加精确的预测。最后,也可以使用解块(deblock)方法,以减少通过预测和量化过程产生的分块伪像。分数采样插值(fractionalsampleinterpolation)是用于进一步增强运动补偿预测质量的技术之一,这是因为该技术允许对运动进行更加精确的表示。不是使用参考的实际采样,而是采用滤波机制,其中首先使用先前定义的滤波器对参考内的采样进行滤波(插值)。图2示出了针对四分之一采样luma插值的整数采样(具有大写字母的阴影块)和分数采样位置(具有小写字母的非阴影块)。由于在图像获取过程中使用的低通滤波器的非理想特性,可能产生混叠,从而使插值和运动补偿预测劣化。诸如MPEG-1/2,H.263和H.264(或JVT或MPEG-4AVC)之类的大多数视频编码结构和编码标准采用分数采样运动补偿,以进一步提高运动补偿预测的效率。旧的标准主要基于用于生成分数采样位置的双线性插值策略。为了减少混叠,H.264(或JVT或MPEG-4AVC)在降至1/4分数采样位置的插值过程中使用6抽头维纳(Wiener)插值滤波器,其滤波器系数是(l,-5,20,20-5,1)/32。图3示出了H.264中的插值过程。参照图3,使用非自适应6抽头滤波器来产生1/2分数采样位置上的采样值。然后,非自适应双线性滤波器对1/2分数位置上的采样进行滤波,以产生l/4分数采样位置上的采样值。具体而言,对于luma,如果给定全采样位置(xAL,yAL)至(xUL,yUL)上的采样'A,至'U',则需要推导出分数釆样位置上的采样'a,至's,。这是通过应用上述的滤波器来首先计算半采样位置(aa-hh和b,h,j,m和s)上的预测值而实现的,然后通过对全和半采样位置上的采样进行平均,推导出四分之一采样位置上的预测值。另一方面,针对色度,使用降至1/8采样位置的双线性插值。然而,不同的视频信号可能具有不同的非平稳统计特性(例如,混叠、纹理和运动),因而使用固定的滤波器仍是不够的。己经论述了自适应分数采样插值方案,该方案允许在插值过程中更好地考虑到混叠。不使用H.264所用的固定6抽头滤波器,而是针对每一帧来传输附加辅助信息,该辅助信息表示要在插值中使用的滤波器的滤波器系数。具体而言,可以将形式为(a,,a2,a3,a3,a2,ad的自适应滤波器用于产生所有1/2采样位置,然后通过双线性插值产生1/4采样。考虑到上述滤波器的对称特性,只须对3个系数(a,,a2和a"进行编码。该方法易于扩展,以允许更长或更短的抽头滤波器。在另一种现有技术中,不是对滤波器系数进行显式编码,而是基于滤波器系数的典型分布来产生滤波器的码本。这可以降低编码器的复杂度(只需要测试给定的系数集合,尽管有人可能争论也可以将先验决策用于确定适当范围的滤波系数),最重要的可以稍微改进/缩减对滤波系数的表示(即不需要3*12比特来表示滤波系数),假设所有滤波器具有相同的概率,则现在仅需要N个比特来表示多达2W个不同的滤波器。可以通过考虑不同1/2或1/4采样位置上的不同滤波器,做出附加的考虑,这实质上可以视为通过使用采样位置作为指示符来对插值滤波器进行调整。除了基于帧/全局(global)的滤波器调整之外,还论述了对块级上滤波参数的调整的可能性。在一种现有技术中,对于每个块,在编码期间使用并传输4抽头滤波器。尽管该方法可以改进运动补偿预测信号,但是由于附加地传输滤波器,该方法在比特开销方面会有限制增加。此外,提出的是相邻块的插值滤波器之间的相关性极小。因此,该方法看起来不切实际并且效率较低。然而,可以使用基于宏块(MB)的插值方法,该方法用信号通知并只考虑插值滤波器的预定集合。是否传输并使用这些插值滤波器的判决是在画面级上进行的。一些基于全局的插值方法未考虑信号的局部特性,因而可能限制了这些方法的性能。此外,未适当考虑在诸如双预测中存在多个参考的情况。在一种现有技术中,针对每个参考的插值滤波器实质上对每个参考仅用信号通知一次,并对参考该画面的后续画面使用相同的插值。然而,因为运动、纹理等特性以及参考之间的关系可能随时间改变,所以对于每个编码帧,它的所有参考可以需要不同的插值滤波器。例如,假设需要变换Pn:fnk(Pk)来根据其参考尸k产生画面尸n。另一方面,尸k与参考尸j可以具有关系Pk:fk,j(P」,其暗示在参考Pj可能不适合时使用fk.jO。此外,未考虑到双预测部分,对于双预测部分,单预测插值滤波器可能不适合。另一方面,基于块的方法可能受到插值滤波器编码的开销显著增加、或者所用滤波器的灵活性缺乏的影响。同样,没有考虑到双预测。因此,最近提出了自适应插值方案,该方案尝试考虑这些特性,并针对每帧调整此类插值滤波器。这种方案实质上需要传输用于每个帧的滤波参数,此外对这种参数的估计过程也是必需的。但是,所提出的方法并没有提供针对这种技术的最佳操作模式,导致了开销增加,从而性能降低。此外,调整实质上是在帧(全局)级上执行的,并且没有考虑到局部特性。
发明内容公开了使用自适应插值对视频编码和/或解码的方法和设备。在一个实施例中,解码方法包括对参考索引进行解码;对运动矢量进行解码;根据参考索引选择参考帧;根据参考索引选择滤波器;以及使用滤波器对参考帧的釆样集合进行滤波,以获得预测块,其中所述参考帧的采样集合由所述运动矢量来确定。根据以下给出的详细描述和本发明的不同实施例的附图,将更加全面的理解本发明,然而,不应将其认为是使本发明限于特定实施例,而是仅用于解释和理解。图1A和1B分别示出了在(a)P和(b)B画面中的运动补偿。图2示出了针对四分之一采样luma插值的整数采样和分数采样位置。图3示出了H.264中使用的插值过程。图4是编码过程的一个实施例的流程图。图5是解码过程的一个实施例的流程图。图6示出了插值过程的一个实施例。图7是编码器的另一实施例。图8是解码器的另一实施例。图9示出了使用插值过程对参考列表产生的影响。图10A和10B是用于确定插值参数的过程的可选实施例的流程图。图11是包括插值选择的解码过程的一个实施例的流程图。图12示出了对空间可缩放性的自适应插值的考虑。图13是计算机系统的一个实施例的框图。具体实施例方式公开了包括自适应插值滤波的视频编码和解码结构。不同于使用单个滤波机制来执行分数采样插值的现有技术,这里所描述的编码方案使用自适应信号通知机制,其中将每个部分分配给不同的分数采样插值滤波器。这可以允许对运动补偿预测性能方面的进一步改进,从而带来比现有方法或标准高的编码效率。在一个实施例中,这通过不是仅将单个参考索引而是将多个索引与参考画面相关联来实现。然后,将这些参考索引中每一个与不同的插值滤波机制相关联,这些插值滤波机制可以是对于解码器己知的或者显式地传输至解码器。然后,基于与每个块相关联的参考指示符,选择插值滤波器,而不需要附加的信号通知。这里所讨论的编码方案也允许以特定程度对所用滤波方法进行局部调整,从而可以提高编码效率。在另一实施例中,将这里所提出的技术应用于空间可縮放视频编码,其中典型地,在这种应用中,在下采样期间引入的相移对下采样和上采样过程产生显著影响。此外,这里所述的技术可以模仿加权预测的行为,甚至与现有的加权预测方法组合,从而为预测目的而进一步提高灵活性。在以下描述中,描述了多种细节以对本发明提供更加详尽的解释。然而,对于本领域技术人员来说,显而易见的是在没有这些特定细节的情况下也可以实践本发明。在其它实例中,以框图形式而不是具体描述来示出了已知的结构和设备,以避免使本发明不清楚。以下详细描述的一些部分是在对计算机存储器内的数据比特进行操作的算法和符号表示方面提供的。这些算法描述和表示是数据处理
技术领域
的技术人员所使用的手段,以最有效地将他们的工作实质传达给本领域其它技术人员。这里,算法通常被认为是达到期望结果的自身一致的步骤序列。这些步骤需要对物理量的物理操作。通常但非必要地,这些量采用能够被存储、传送、组合、比较或处理的电或磁信号的形式。通常,主要由于惯用原因,将这些信号表示为比特、值、元素、符号、字符、术语、数字或其它是方便的。然而,应该注意,所有这些和类似术语要与适合的物理量相关联,并且只是应用于这些量的方便的标记。除非具体说明,否则如从以下讨论中显而易见的,可以理解,在整个说明书中使用了如"处理"或"计算"或"运算"或"确定"或"显示"等术语的讨论指的是计算机系统或者类似的电子计算设备的动作和处理过程,这些系统或设备将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据处理和转换为类似地表示为计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备内的物理量的其他数据。本发明还涉及用于执行这里所述操作的设备。该设备是专门构造以用于所需目的的,或者该设备可以包括通用计算机,该通用计算机由存储在该计算机中的计算机程序选择性地激活或重新配置。这种计算机程序可以存储在计算机可读存储介质中,例如但不限于,任何类型的盘(包括软盘、光盘、CD-ROM和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、或适于存储电子指令的任何类型的介质,并且每个存储介质均与计算机系统总线连接。这里提供的算法和显示不是与任何特定的计算机或其它设备固有相关的。多种通用系统可以与根据这里的示教的程序一起使用,或者可以方便地构造更专用的设备来执行所需要的方法步骤。用于这些系统的所需结构将在下面的描述中显而易见。此外,本发明不是参照任何特定的编程语言而描述的。可以理解,可以使用多种编程语言来实现这里所描述的发明。机器可读介质包括用于以机器(例如计算机)可读形式存储或传输信息的任何机构。例如机器可读介质包括只读存储器("ROM")、随机存取存储器("RAM")、磁盘存储介质、光存储介质、闪存设备、电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)等。概述对自适应分数采样插值的考虑为运动补偿视频编码提供了显著的益处。这是由于其可以提高预测信号的质量。以下给出了包括这里所描述的自适应技术的编码和解码过程的示例。图4是编码过程的一个实施例的流程图。通过处理逻辑执行该过程,该处理逻辑可以包括硬件(例如电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或两者的组合。参照图4,该过程幵始于由处理逻辑使用多个参考来产生运动补偿预测,其中,每个参考与一个或更多个参考索引相关联,每个参考索引与滤波器参数集合相关联,通过该滤波器参数集合对与特定参考索引相关联的块进行滤波,以产生预测块(处理块401)。在一个实施例中,由运动补偿模块来执行运动补偿预测的产生。在一个实施例中,向参考中的每个部分或块分配与不同的分数釆样插值滤波器相对应的参考索引。在一个实施例中,每个滤波器参数集合与插值滤波器相对应。在这种情况下,多个参考与多个滤波器参数集合相关联,所述多个滤波器参数集合与多个滤波器相对应。在一个实施例中,插值滤波器对于对包含编码视频数据和编码参考索引的比特流进行解码的解码器来说是已知的。在另一实施例中,将插值滤波器显式地传输至对包含编码视频数据和编码参考索弓I的比特流进行解码的解码器。在一个实施例中,滤波器包括与形式为(l,-5,20,20,-5,1}/32的参数相关联的6抽头滤波器、双线性插值滤波器和双三次插值滤波器中的一个或多个。在另一实施例中,滤波器包括一个或更多个2D滤波器。在一个实施例中,插值滤波器对于编码器和对包含编码视频数据和编码参考索引的比特流进行解码的解码器来说都是已知的。在一个实施例中,滤波参数也是针对色度分量集合而定义的。针对一个色度分量的滤波参数可以是基于另一色度分量而确定的。处理逻辑使用运动补偿预测,对包括有与输入视频数据和补偿预测之间的残差相对应的数据的视频数据进行编码(处理块402),并对参考索引进行编码,以产生作为具有编码视频数据的比特流的一部分的编码参考索引(处理块403)。由于每个索引与滤波参数相关联,所以编码数据对至解码器的滤波参数进行标识。可以通过可变长度编码器来执行该编码操作。解码操作是编码操作的逆过程。图5是解码过程的一个实施例的流程图。由处理逻辑执行该过程,该处理逻辑可以包括硬件(例如电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或两者的组合。参照图5,该过程开始于由处理逻辑对具有编码视频数据的比特流进行解码,其中编码视频数据包括与从输入视频数据和运动补偿预测之差得到的残差数据相对应的编码数据(处理逻辑501)。在一个实施例中,处理逻辑也对运动矢量和参考索引进行解码。可以通过可变长度解码器来执行该解码操作。接下来,处理逻辑使用多个参考来产生运动补偿预测,其中,每个参考与多个参考索引相关联,每个参考索引与滤波器参数集合相关联,通过该滤波器参数集合对与特定参考相关联的块进行滤波以产生分数采样位置(处理块502)。在一个实施例中,由编码器中的运动补偿模块或单元来产生运动补偿预测。之后,处理逻辑将预测与残差数据组合以产生视频数据(处理块503)。该组合操作可以由解码器中的加法器执行。图6示出了插值过程的一个实施例。参照图6,使用自适应滤波器来产生1/2分数采样位置上的采样值。然后,另一自适应双线性滤波器对1/2分数位置上的采样进行滤波,以产生1/4分数采样位置上的采样值。插值滤波器2可以与滤波器1相同或可以是双线性的。然而,滤波器2也可以与滤波器1完全不同。如果是这种情况,则需要附加的信号通知。这里对如何信号通知和采用这种插值方法的有效策略进行描述。句法示例H.264视频编码标准提供了将参考存储器中给出的参考与多个参考索引相关联的灵活性。下表l中示出了用于参考画面列表重新排序的关联句法。<table>tableseeoriginaldocumentpage13</column></row><table>在自适应分数采样插值的框架内利用了该特性。在一个实施例中,由于这种插值可能并非总是有用的,所以可以在较高级上(例如,编解码器的画面或序列参数集合)用信号通知单个参数,该参数指示是否使用插值。例如,可以通过引入名为interpolatecLpred—flag的附加元素,如表2所示地对H.264画面参数集合RBSP句法进行修改。如果该元素存在,则也可以在较低句法层传输附加的插值参数。表2遠议梦汰后游/Z.2W^游M面参教桌^/^S尸句兹<table>tableseeoriginaldocumentpage14</column></row><table>在一个实施例中,如果启用了插值预测标记,则用信号通知插值预测表(pred—interpolation—table)。表3包含将用于给定参考的所有插值滤波器信息。表3^议梦改后游//.2"^游#,教坷法<table>tableseeoriginaldocumentpage14</column></row><table><table>complextableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>表4中的预测插值表句法包含针对每个参考列表(列表0和列表1)内的每个参考的所有插值信息。具体而言,这可以包括插值滤波器的类型(luma—interpolation—IX—type),该滤波器是仅用于l/2-pel位置而双线性滤波器用于l/4-pd位置(如图6所示)、还该滤波器是用于所有采样(lumaJnterpolationJX—qpel),滤波器抽头的个数(luma—filterJengthJX或luma—2DfilterJengthJX),滤波器精度(luma一filter—denom—lX和luma—filter—2Ddenom一lX),以及实际滤波器系数(luma—filter_tap—lX和luma—2Dfilter—coeffs—1X)。在一个实施例中,滤波器系数是可变长度编码的(即ue(v))。在另一实施例中,滤波器系数是固定长度编码的(u(N),N=8)。此外,在另一实施例中,例如相对于H.264默认插值滤波器,选择对滤波器系数的值的预测,因此如果使用差分编码,则可以更加有效地编码滤波器系数。类似的句法可以针对两个列表、还可以针对色度分量(如果可用)(例如,如果chroma—format—idc不是0,0指示单色序列)而存在。也可以存在附加元素,该附加元素将双预测与单预测插值滤波器分离,尽管也可以通过重新排序句法再次模仿该行为(即相同的参考可以与2个不词的参考索引相关联),对此,一个参考索引将与单预测插值滤波器相关联,而双预测权重将会与另一个参考索引相关联。表4連议游豫激薪澄表句法<table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table><table>complextableseeoriginaldocumentpage19</column></row><table>上表中的一个元素是滤波器类型(即luma—interpolation—1Xjype)。该元素指示较宽范围的可能的插值滤波器之一。能够指定较宽范围的插值滤波器,这在所执行的插值方面提供了附加灵活性。在一个实施例中,对于luma,在下表5中示出了所使用的插值方案。表5/扁a—z'她rpo/油'ow—/X—妙e游语义<table>tableseeoriginaldocumentpage20</column></row><table>可以针对色度做出类似的考虑,尽管在一个实施例中指定了两个分量可以使用不同或相同的插值机制(即,可以使用luma—interpolation—IX—type向第二分量用信号通知这一点)。在另一实施例中,可以使用更加适合色度的其它滤波器,尤其重要的是可以将插值降至l/8pd等级。例如,在一个实施例中,在表6中给出了第一色度分量的chroma—interpolation—IX—type的语义。表(6c/zrama」'/7^7o/加'ow—/Jf一妙e/"(//"。7游语义chroma—interpolation」X—type[il<table>tableseeoriginaldocumentpage20</column></row><table>而对于第二分量,chroma—interpolation_lX_type[i][l]=0指示再使用第一分量的滤波器。在一个实施例中,表l中给出了该分配,或者可能基于第一条目来调整该表。表1c/zrawa_j>^eo/a"ow—/JT一妙e/"(//W游语义<table>tableseeoriginaldocumentpage21</column></row><table>备选实施例在一个实施例中,这里所描述的技术提供了用信号通知加权预测参数的备选方法。这甚至能够进一步与由诸如H.264之类的编解码器所支持的现有加权参数进行组合(即,使用隐式加权以及自适应插值滤波器),并进一步提高运动补偿预测方面的灵活性并提高效率。编码器和解码器的基本结构保持与传统编码器和解码器类似(图7和8)。图7是编码器的一个实施例的框图。在一个实施例中,编码器首先将输入的比特流分为矩形阵列,称为宏块。对于每个宏块,编码器选择是使用帧内编码还是帧间编码。帧内编码仅使用包含在当前视频帧中的信息,并产生称为I帧的压縮结果。帧间编码可以使用在当前帧之前或之后出现的一个或更多个其它帧的信息。将仅使用来自先前帧的数据的压縮结果称为P帧,而将使用来自当前帧之前和之后的数据的压縮结果称为B帧。参照图7,将视频701输入编码器。在对帧进行编码而不进行运动补偿的情况下,将视频帧输入DCT703。DCT703执行2D离散余弦变换(DCT)来产生DCT系数。通过量化器704对系数进行量化。在一个实施例中,通过縮放器对量化器704所执行的量化进行加权,QP。在一个实施例中,量化器縮放器参数QP采用从1至31的值。可以在画面和宏块级上修改QP值。之后,在VLC705处对量化系数进行可变长度编码,产生比特流720。在一个实施例中,VLC705通过使用一个符号来表示在诸如哈夫曼编码之类的熵编码阶段中的三元组(最末,行程,等级),执行熵编码。应注意,在一个实施例中,可以在VLC705之前执行重新排序,其中对量化后的DCT系数进行之字形扫描,从而以本领域公知的方式将2D系数阵列转换为1D系数阵列。在这之后,可以进行行程编码,其中对与每个块相对应的重新排序后的量化系数的阵列进行编码,以更好地表示零系数。在这种情况下,每个非零系数被编码为三元组(最末,行程,等级),其中"最末"指示这是否是块中最后的非零系数,"行程"指示在前的O系数,"等级"指示系数符号和大小。可以保存帧的复制帧以用作参考帧,对于I或P帧尤其如此。为此,由逆量化器706对从量化器704输出的量化系数进行逆量化。使用IDCT707向逆量化系数应用DCT逆变换。在P帧的情况下,将所产生的帧数据与来自运动补偿(MC)单元709的运动补偿预测相加,然后使用环形滤波器712对所产生的帧进行滤波,并将其存储在帧缓冲器711中以用作参考帧。在I帧的情况下,从IDCT707输出的数据不与来自MC单元709的运动补偿预测相加,而使用环形滤波器712对该数据进行滤波,并存储在帧缓冲器711中。在P帧的情况下,使用来自在前I或P帧(这在本领域中统称为参考帧)的帧间预测,对P帧进行编码。在这种情况下,由运动估计(ME)块710和运动补偿单元709执行帧间预测。在这种情况下,运动估计单元710使用来自帧存储器711的参考帧和和输入视频701,搜索参考帧中与当前帧中的当前宏块匹配最佳的区域的位置。将运动估计单元710的运动矢量发送至运动补偿单元709。在运动补偿单元709处,使用减法器702从当前宏块中减去预测,以产生残差宏块。然后,如上所述,使用DCT703、量化器704和VLC705对该残差进行编码。运动估计单元710向用于可变长度编码705的VLC705输出加权参数。VLC705的输出是比特流720。图8是解码器的一个实施例的框图。参照图8,可变长度解码器802接收到比特流801,并执行可变长度解码。可变长度解码的输出被发送至逆量化器803,该逆量化器803执行与量化器704所执行的量化相反的逆量化操作。逆量化器803的输出包括经过IDCT804的DCT逆变换的系数,以产生图像数据。在I帧的情况下,由环形滤波器821对IDCT804的输出进行滤波,将其存储在帧缓冲器822中,并最终作为输出860而输出。在P帧的情况下,使用加法器805,将从IDCT804输出的图像数据与来自运动补偿单元810的预测相加。运动补偿单元810使用来自可变长度解码器822的输出(该输出包括上述加权参数)以及来自帧缓冲器822的参考帧。使用环形滤波器821对从加法器805输出的所得到的图像数据进行滤波,并将其存储在帧缓冲器822中,以作为输出860的一部分而最终输出。然而,关键差别在于如何处理参考列表以及如何执行运动估计和补偿,这是由于此时可以考虑不同/多种插值机制,并不仅仅是单个插值机制。图9示出了对作为编码器和/或解码器一部分的参考列表使用的影响。在考虑运动估计和运动补偿之前,首先对参考进行组织并处理。参照图9,将参考画面存储在存储器卯l中。参考画面是从编码器或解码器接收的。使用存储在存储器901中的参考画面对列表0和列表1进行初始化。在一个实施例中,所执行的初始化是H.264标准的初始化,这是本领域公知的。应注意,当在运动估计和补偿中使用B片时对列表l进行初始化。在初始化之后,使用重新排序模块904和905,分别对列表0和列表1中的参考进行重新排序。在一个实施例中,执行重新排序,以使最常使用的参考索引位于列表的开始。同样,该重新排序是根据H.264标准执行的,这是本领域公知的。在重新排序之后,对重新排序列表0中的每个参考执行一系列函数906。类似地,对列表l中的参考执行一系列函数907。将从函数906和907中得到的输出发送至运动估计模块908和运动补偿模块909(应注意,模块可以是硬件、软件、固件或其组合)。运动补偿模块909使用这些函数906和907的输出以及运动估计模块908的输出,针对编码器和解码器来执行所产生的运动补偿预测。应注意,对于解码器,由于运动信息是直接从比特流中可用的,所以解码器不包括运动估计元件。在一个实施例中,将这里所描述的技术应用于空间可縮放视频编码。在这种情况下,对于对基(低分辨率)层(用于预测当前(高分辨率)层)的插值不是仅仅指定单个机制,而是可以使用重新排序命令向给定的低分辨率参考分配插值方法的完整集合。这产生了新的参考画面集合,每个参考画面与不同的参考索引和插值滤波器相关联。在块级上,参考索引同样可以指示用于上采样的插值方法,而无需任何额外开销。图12示出了针对空间可缩放性的自适应插值。参照图12,低分辨率缓冲器1201从低分辨率解码器(未示出)接收层。高分辨率缓冲器从高分辨率解码器(未示出)接收高分辨率层。参考初始化模块1203使用来自低分辨率缓冲器1201的低分辨率层对参考进行初始化。重新排序模块1204使用重新排序命令将插值方法的集合分配给参考。在一个实施例中,这是采用H.264标准中所提出的方法进行的。之后,使用上采样器1205对从重新排序模块1204输出的层进行上采样。上采样器1205应用函数集合go,。(x,y)-g(),n(x,y)。运动补偿模块1207结合运动估计模块1206对低分辨率的基层进行插值和使用,以预测高分辨率的当前层。该运动补偿预测发送至高分辨率解码器(或编码器)。可以通过执行多通路策略或通过考虑要编码的内容的特定特性,来选择插值滤波器。在一个实施例中,使用初始滤波器对位移矢量的初始集合进行估计。然后,通过在使用这些位移矢量执行运动补偿预测时最小化(或减小)预测误差的能量,来估计每个块的滤波器系数。然后,基于直方图方法对滤波器进行整理,并在必要时进行改进,然后选择最好的N个滤波器用于信号通知和最终编码。图10A是用于确定插值参数的过程的一个实施例的流程图。该过程由处理逻辑执行,该处理逻辑可以包括硬件(例如电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或两者的组合。参照图10A,该过程开始于由处理逻辑对滤波器统计量进行初始化(处理块IOOI)。在一个实施例中,初始化滤波器统计量包括将直方图初始化(HIST^T)。在一个实施例中,统计量负责的是每个滤波器被选择了多少次。接下来,处理逻辑进入循环(处理块1002)。在该循环中,处理逻辑为缓冲器中的每个参考设置默认插值滤波器(处理块1003),并进入另一循环,在此循环中,对于每个块,处理逻辑执行运动估计(处理块1005)、使用最佳运动矢量改进插值滤波器(处理块1006)、并更新直方图HISTwT中的插值统计量(处理块1007)。至运动估计的结果是确定了最佳运动矢量(MVbest)的位置。在处理了缓冲器中的每个参考的每个块之后,处理逻辑转移至处理块IOIO,在此处理逻辑分析统计量以确定针对所有参考的最佳滤波器。在一个实施例中,处理逻辑査看HIST^T,以确定针对所有参考的最佳滤波器。然后,处理逻辑保持插值滤波器不变,对帧进行重新编码(处理块1011)。在一个实施例中,作为对帧重新编码的过程的一部分,处理逻辑改进了运动估计和参考。之后该过程结束。在也可以具有较低复杂度成本的备选实施例中,考虑到每个参考,对每个块执行运动估计。使用来自每个参考的最佳运动矢量,也可以找到针对该参考的最佳插值滤波器。然而,可以仅考虑来自最佳参考的参数,而丢弃所有其它参数,以避免可能需要的任何额外处理。图10B是用于确定插值参数的备选实施例的流程图。该过程由处理逻辑执行,该处理逻辑可以包括硬件(例如电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或两者的组合。参照图10B,该过程开始于对每个块进行处理的循环(处理块1020)。在该循环中,处理逻辑开始处理另一内部循环(处理块1021),在该内部循环中,对于缓冲器中的每个参考,处理逻辑设置默认插值滤波器(处理块1022),执行运动估计以找到最佳运动矢量(MV^t)(处理块1024),并使用最佳运动矢量(MV^t)改进插值滤波器(处理块1024)。一旦处理了缓冲器中的所有参考,则内部环路结束。之后,在外部循环中继续进行处理,其中处理逻辑选择最佳参考(处理块1027)并基于来自最佳参考的统计量来更新HISTwT中的插值统计量(处理块1026)。外部循环继续进行,直至对每个块进行了处理,之后,外部循环结束(处理块1028)。一旦已处理了每个块,处理逻辑便更新首部信息,并对比特流进行编码和/或写入(处理块1029)。也可以对插值滤波器施加其它限制(即,对于每个参考所允许的滤波器的最大数目,对于引入每个新滤波器时的损失(penalty)的考虑等),这也有助于确定最佳滤波器。在解码器端,可以基于参考索引立即确定插值滤波器,并由此执行插值,而不会对任何其它解码过程产生影响。图11是由解码器执行的插值选择性过程的一个实施例的流程图。该过程由处理逻辑执行,该处理逻辑可以包括硬件(例如电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或两者的组合。参照图ll,该过程开始于对包括重新排序信息、加权参数信息和插值信息的片信息进行解码(处理块1101)。在一个实施例中,重新排序信息包括重新排序命令。在对片信息进行解码之后,处理逻辑产生参考列表(处理块1102)。然后处理逻辑针对每个块进行循环(处理块1103),在该循环中处理逻辑对每个列表i的参考索引ri进行解码(处理块1104),对包括运动矢量和加权参数的运动信息进行解码(处理块1105),基于选择r。和n选择插值滤波器(处理块1106),并使用所选滤波器和运动矢量参数来执行运动补偿(处理块1107)。之后,循环结束(处理块1108)。在循环结束之后,该过程结束。已经示出了自适应分数采样插值,以对运动补偿视频编码提供附加益处。可以通过利用在特定视频编码标准(如H.264)中提供的重新排序机制,使用这里所描述的技术来有效地考虑和表示这种自适应分数采样插值机制;当序列的局部特性在混叠方面发生改变时,提高编码效率(即,针对给定比特率,增大PSNR);以及提高空间可縮放视频编码结构的编码效率。示纖教織图13是可以执行这里所描述的操作中的一个或更多个的示例性计算机系统的框图。参照图13,计算机系统1300可以包括示例性客户端或服务器计算机系统。计算机系统1300包括用于进行信息通信的通信机制或总线1311、以及与总线1311连接以处理信息的处理器1312。处理器1312包括微处理器,但是并不限于例如PentiumTM,powerPCTM,AlphaTM之类的微处理器。系统1300还包括随机存取存储器(RAM)、或与总线1311连接并用于存储要由处理器1312执行的信息和指令的其它动态存储设备1304(称为主存储器)。主存储器1304也可以用于在处理器1312执行指令期间存储临时变量或其它中间信息。计算机系统1300也包括只读存储器(ROM)和/或与总线1311连接以存储处理器1312使用的存储静态信息和指令的其它静态存储设备1306、以及诸如磁盘或光盘以及相应盘驱动之类的数据存储设备1307。数据存储设备1307与总线1311连接并用于存储信息和指令。计算机系统1300还可以与诸如阴极射线管(CRT)或液晶显示器(LCD)之类的显示设备1321连接,该显示设备1321与总线1311连接以向计算机用户显示信息。字母数字输入设备1322(包括字母数字和其它按键)也可以与总线1311连接以向处理器1312通信信息和命令选择。附加的用户输入设备是与总线1311连接的光标控制设备1323(如鼠标、跟踪球、触摸板、手写笔或光标方向按键),用于向处理器1312通信方向信息和命令选择,并用于控制显示器1321上的光标移动。可以与总线1311连接的另一设备可以是硬拷贝设备1324,其可以用于在诸如纸张、胶片或类似类型的介质上标注信息。可以与总线1311连接的另一设备是能够与电话或手持掌上设备进行通信的有线/无线通信功能1325。注意,系统1300的组件中的任何一个或全部及相关硬件均可以用于本发明。然而,可以理解,计算机系统的其它配置可以包括这些设备中的一些或全部。无庸置疑,在阅读了上述说明书之后,本发明的许多替换和修改对于本领域普通技术人员来说是显而易见的,要理解,通过示例示出并描述的任何特定实施例并不意在限定本发明。因此,对于各种实施例的细节的参考并不意在限制权利要求的范围,权利要求本身记载了作为本发明必要内容的特征。权利要求1、一种视频编码器,包括运动补偿模块,用于使用一个或更多个参考来产生运动补偿预测的预测部分,其中一个或更多个参考中每一个均与一个或更多个参考索引相关联,所述多个参考索引中的每一个均与滤波器参数集合相关联,通过所述滤波器参数集合对与所述参考索引相关联的部分进行滤波,以产生所述预测部分;以及编码器,用于对视频数据进行编码,所述视频数据包括与输入视频数据和来自所述运动补偿模块的补偿预测之间的残差相对应的数据。2、一种编码方法,包括使用多个参考来产生运动补偿预测,其中多个参考中的每一个均与多个参考索引相关联,其中所述多个参考索引中的每一个均与滤波器参数集合相关联,通过所述滤波器参数集合对与每个参考相关联的块进行滤波,以产生分数采样位置;以及对视频数据进行编码,所述视频数据包括与输入视频数据和来自所述运动补偿模块的补偿预测之间的残差相对应的数据。3、一种制造产品,具有一个或更多个存储有指令的可读介质,所述指令在被系统执行时使所述系统执行包括以下步骤的编码方法使用多个参考来产生运动补偿预测,其中一个或更多个参考中的每一个均与一个或更多个参考索引相关联,所述多个参考索引中的每一个均与滤波器参数集合相关联,通过所述滤波器参数集合对与每个参考相关联的块进行滤波,以产生分数采样位置;以及对视频数据进行编码,所述视频数据包括与输入视频数据和来自所述运动补偿模块的补偿预测之间的残差相对应的数据。4、一种设备,包括解码器,用于对参考索引和运动矢量进行解码;运动补偿模块,用于根据所述参考索引,选择参考帧以及多个滤波器之一,所选滤波器对由运动矢量确定的、所述参考帧的采样集合进行滤波,以获得预测块。5、一种用于在视频解码器中产生预测块的方法,包括对参考索引进行解码;对运动矢量进行解码;根据所述参考索引来选择参考帧;根据所述参考索引来选择滤波器;以及使用所述滤波器对所述参考帧的采样集合进行滤波,以获得预测块,其中所述参考帧的采样集合是由所述运动矢量确定的。6、一种制造产品,具有一个或更多个存储有指令的可读介质,所述指令在被系统执行时使所述系统执行包括以下步骤的用于产生预测块的方法对参考索引进行解码;对运动矢量进行解码;根据所述参考索引来选择参考帧;根据所述参考索引来选择滤波器;以及使用所述滤波器对所述参考帧的采样集合进行滤波,以获得预测块,其中所述参考帧的采样集合是由所述运动矢量确定的。7、一种用于在视频解码器中产生预测块的方法,包括以下步骤对第一参考索引和第二参考索引进行解码;对第一运动矢量和第二运动矢量进行解码;根据所述第一参考索引选择第一参考帧,并根据所述第二参考索引选择第二参考帧;根据所述第一参考索引选择第一滤波器,并根据所述第二参考索引选择第二滤波器;使用所述第一滤波器对所述第一参考帧的第一采样集合进行滤波,以获得第一块,其中所述第一参考帧的第一采样集合是由所述第一运动矢量确定的;使用所述第二滤波器对所述第二参考帧的第二采样集合进行滤波,以获得第二块,其中所述第二参考帧的第二采样集合是由所述第二运动矢量确定的;以及组合所述第一块和所述第二块,以获得所述预测块。8、一种空间可縮放编码器,使用自适应分数采样插值机制对一个或更多个增强层进行编码,并指定如下方式针对所述增强层内的每个块,通过其与参考索引的关联,执行低分辨率层的插值。9、一种空间可縮放解码器,包括解码器,用于对比特流进行解码;上采样模块,用于使用自适应分数插值滤波器对低分辨率层进行上采样,所述适应分数插值滤波器是由分配给每个块的多个参考索引之一指示的。全文摘要公开了使用自适应插值进行视频编码和/或解码的方法和设备。在一个实施例中,解码方法包括对参考索引进行解码;对运动矢量进行解码;根据参考索引选择参考帧;根据参考索引选择滤波器;以及使用所述滤波器对参考帧的采样集合进行滤波,以获得预测块,其中所述参考帧的采样集合是由所述运动矢量确定的。文档编号H04N7/26GK101208957SQ200680022776公开日2008年6月25日申请日期2006年6月23日优先权日2005年6月24日发明者亚历山德罗斯·图拉皮斯,弗兰克·贾·博森申请人:株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1