基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法与流程

文档序号:11456305阅读:300来源:国知局
基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法与流程

交叉引用

本发明主张在2014年11月18日提出的申请号为62/081,128的美国临时专利申请的优先权。因此在全文中合并参考这些专利申请案。

本发明是有关于视频编码,特别是有关于组合单向预测模式和其他预测方向上的合并模式以形成新型的双向预测的技术。



背景技术:

高效率视频编码(high-efficiencyvideocoding,hevc)是由视频编码联合协作小组(jct-vc)开发的新的国际视频编码标准。hevc依据基于混合块的运动补偿的类dct变换编码架构。称为编码单元(codingunit,cu)的基本压缩单元是2nx2n的正方形块。cu可以以最大编码单元(largestcu,lcu)开始,其也被称为hevc中的编码树单元(codedtreeunit,ctu),并且每个cu可以递归地分成四个较小的cu,直到达到预定的最小尺寸为止。一旦完成了cu分层树的分割,每个cu根据预测类型和预测单元(predictionunits,pu)分区进一步分为一个或多个pu。

为了实现hevc中混合编码架构的最佳编码效率,针对每个pu自适应地确定预测模式以选择帧内预测或帧间预测。对于帧内预测模式,空间相邻重建像素可用于产生方向预测。hevc最多有35个方向。对于帧间预测模式,时间重建参考帧可用于产生运动补偿预测。有三种不同的帧间模式,包括跳过(skip),合并(merge)和帧间高级运动矢量预测(advancedmotionvectorprediction,amvp)模式。

当pu以帧间amvp模式编码时,利用已传输的运动矢量差值(motionvectordifferences,mvd)与运动矢量预测子(motionvectorpredictors,mvp)一起使用来推导运动矢量,从而被执行运动补偿预测。为了在帧间amvp模式中决定mvp,使用高级运动矢量预测(amvp)方案来在amvp候选集之间来选择运动矢量预测子,amvp候选集包括两个空间mvp和一个时间mvp。在amvp模式下,mvp的mvp索引和相应的mvd需要进行编码和传输。此外,帧间预测方向用于指定双向预测和单向预测(即,列表0(l0)或列表1(l1))之间的预测方向,帧间预测方向被编码并被发送。此外,每个列表的参考帧索引也被编码和发送。

当pu以跳过或合并模式编码时,除了所选择的候选的合并索引之外,不发送运动信息。在跳过和合并模式下,运动矢量差值为零,无需传输运动矢量差值。因此,由于运动矢量差值等于零,所以使用运动推断方法(motioninferencemethods)来恢复解码的运动矢量(即mv=mvp)。运动矢量预测子可以对应于位于同位置(co-located)图像中的空间相邻块(空间候选)或时间块(时间候选)。根据hevc,同位置的图像是列表0或列表1中的第一个参考图像,如切片头中被发送。在跳过pu的情况下,也省略了残留信号。为了确定跳过和合并模式的合并索引,合并方案用于在包含四个空间mvp和一个时间mvp的合并候选集中选择运动矢量预测子。

图1示出了涉及推导用于amvp和合并方案的空间和时间mvp的相邻pu。在amvp中,空间mvp包括左侧mvp和顶部mvp。左侧mvp是来自相邻块块a0和a1的第一个可用mvp,并且顶部mvp是来自相邻块块b0,b1和b2的第一可用mvp。另一方面,时间mvp是来自同位置参考块tbr或tctr的第一个可用mv,其中首先使用tbr,并且如果tbr不可用,则使用tctr。如果左侧mvp不可用,而顶部mvp是非缩放mvp,则如果在b0,b1和b2中存在缩放的mvp,则可以导出第二顶部mvp。在hevc中,amvp的mvp的列表尺寸为2。因此,在两个空间mvp和一个时间mvp的推导过程之后,只有前两个mvp可以被包括在mvp列表中。在删除冗余之后,如果可用mvp的数目小于2,则将零矢量候选添加到候选列表中。

如图1所示,对于跳过和合并模式,从a0,a1,b0和b1导出多达四个空间合并索引,并且从tbr或tctr导出一个时间合并索引。请注意,如果四个空间合并索引中的任何一个不可用,则位置b2然后用作替代位置以导出合并索引。在四个空间合并索引和一个时间合并索引的推导过程之后,应用去除冗余以去除任何冗余的合并索引。去除冗余后,如果可用合并索引的数量小于5,则可以导出三种类型的附加候选项并将其添加到候选列表中。

基于原始合并候选来导出附加的双向预测合并候选。附加的候选分为三种候选类型:

1.组合双向预测合并候选(候选类型1)

2.缩放双向预测合并候选(候选类型2)

3.零矢量合并/amvp候选(候选类型3)

在候选类型1中,通过组合原始合并候选来创建组合的双向预测合并候选。特别地,具有refidxl0(即,列表0中的参考图像索引)的mvl0(即,列表0中的运动矢量)和具有refidxl1(即,列表1中的参考图像索引)的mvl1(即,列表1中的运动矢量)的两个原始候选分别用于创建双向预测合并候选。组合双向预测合并候选的推导过程的一个例子如图2a和图2b所示,其中mvl0_a和mvl1_b是两个单向预测合并候选。图2a示出了原始合并候选列表(210)和在添加组合候选之后的合并候选列表(220),其中添加的合并候选通过虚线背景突出显示。此外,合并索引0被分配给单向预测合并候选,mvl0_a,合并索引1被分配给单向预测合并候选,mvl1_b,合并索引2被分配给所添加的双向预测合并候选(mvl0_a,mvl1_b)。如图2b所示,候选mvl0_a指向参考列表l0中的参考图像ref0,并且候选mvl1_b指向参考列表l1中的参考图像ref0。如图2b所示,两个单向预测合并候选被组合成一个双向预测合并候选(230)。

在候选类型2中,通过缩放原始合并候选来创建缩放的双重预测合并候选。特别地,使用具有运动矢量mvlx(即,列表x中的运动矢量)和相关联的参考图像refidxlx(即,列表x中的参考图像索引)的原始候选来产生双向预测合并候选,其中x等于0或1。例如,候选a可以具有与列表0中的参考图像ref0相关联的单向预测运动矢量mvl0_a。参考索引ref0首先被复制到列表1中的参考索引ref0'。根据关于ref0和ref0'的图像顺序计数(pictureordercount,poc)的距离,通过缩放mvl0_a来计算矢量mvl0'_b。双向预测合并候选是从列表0中具有ref0的mvl0_a和列表1中具有ref0'的mvl0’_b产生的。产生的缩放的双向预测合并候选被添加到合并候选列表中。

缩放的双向预测合并候选的推导过程的一个例子如图3a和图3b所示,其中mvl0_a和mvl1_b是两个单向预测合并候选。图3a示出了原始合并候选列表(310)和在添加缩放后的候选之后的合并候选列表(320),其中添加的合并候选者通过虚线背景突出显示。合并索引2被分配给缩放的双向预测合并候选,((mvl0_a,ref0),(mvl0'_b,ref0'))。合并索引3被分配给缩放的双向预测合并候选,((mvl1'_a,ref1'),(mvl1_b,ref1))。两个缩放的双向预测合并候选在图3b中示出。

在候选类型3中,通过组合零矢量和可以参考的参考索引来创建零矢量合并/amvp候选。图4a示出了将零值合并候选添加到原始合并候选列表(410)以形成填充的合并候选列表(420)的示例。图4b示出了将零值amvp候选添加到原始amvp候选列表(430)以形成填充的amvp候选列表(440)的示例。如果零值候选不被复制,则将其添加到merge/amvp候选集。

如上所述,通过组合单向预测运动矢量或缩放单向预测运动矢量,可以从单向预测运动矢量导出双向预测。期望进一步提高单向预测的情况下的编码效率。



技术实现要素:

本发明揭示了一种使用指向一个预测方向的单向预测运动矢量和与指向另一预测方向的合并候选相关联的第二运动矢量的双向预测帧间预测模式的方法。在编码器侧,当编码器选择单向预测预测方向时,使用从运动矢量预测(mvp)候选列表中选择的运动矢量预测子来产生用于当前块的相应运动矢量的已编码的运动信息。此外,根据合并索引来识别具有指向另一预测方向的第二运动矢量的合并候选。单向预测运动矢量和来自合并候选的第二运动矢量用于当前块的双向预测编码。在解码器侧,当已编码的比特流中指示的预测方向为单向预测时,从已编码的比特流中确定编码的运动信息,以导出单向预测运动矢量。基于已编码的比特流中的合并索引来确定合并候选。单向预测运动矢量和来自合并候选的第二运动矢量用于当前块的双向预测解码。

关于运动矢量预测子的已编码的运动信息包括指向第一参考图像的参考索引,指向mvp候选集合中的运动矢量预测子的mvp索引,以及在第一运动矢量和运动矢量预测子之间的运动向量差值(mvd)。如果单向预测对应于列表l0,则合并候选的第二运动矢量指向列表l1。类似地,如果单向预测对应于列表l1,则合并候选的第二运动矢量指向列表l0。

可以根据合并模式编码的合并候选集产生过程来导出合并候选集。还可以通过将双向预测合并候选重新分配给两个单向预测候选,从初始合并候选集中导出合并候选集,其中根据合并模式编码的合并候选集产生过程产生初始合并候选集。也可以通过合并候选集中插入与初始合并候选集的初始合并候选不同的合并候选,合并候选集被产生。此外,用于第二参考列表的合并候选集可以从用于第一参考列表的另一个合并候选集合导出。

是否将双向预测运动补偿解码应用于当前块可以根据明确发送的标志来确定或根据隐含的推断来确定的。是否将双向预测运动补偿解码应用于当前块也可以根据当前块的尺寸确定,其中当前块对应于编码单元(cu)或预测单元(pu)。

附图说明

图1示出了根据高效视频编码的高级运动矢量预测(amvp)模式和合并模式的相邻块配置。

图2a-图2b示出了基于两个单向预测运动矢量产生双向预测合并候选的示例。

图3a-图3b示出了基于单向预测运动矢量和缩放的单向预测运动矢量产生双向预测合并候选的示例。

图4a-图4b示出了分别将零值运动矢量候选添加到合并候选列表和高级运动矢量预测(amvp)候选列表中的示例。

图5示出了与单向预测和双向预测相关联的已发送的运动信息。

图6示出了根据本发明的实施例的基于与单向预测相关联的已发送的运动信息和已发送的合并索引的双向预测的示例。

图7示出了根据本发明的实施例的重新定位合并候选以减少合并候选的总数的示例。

图8示出了根据本发明的一个实施例的包含基于指向一个方向的单向预测运动矢量和指向另一方向的与合并候选相关联的第二运动矢量的双向预测的解码器的示例性流程图。

具体实施方式

如前所述,在高效率视频编码(highefficiencyvideocoding,hevc)标准中使用的两种运动信息编码模式(即,amvp和合并模式)中,amvp可以牺牲更多比特来高质量地表示提供运动信息。另一方面,合并模式使用紧凑表示,其仅需要发送候选索引来恢复运动信息。对于合并模式,包括帧间预测方向,参考图像列表和运动矢量的运动信息被限制为与所选择的合并候选相同。

本发明公开了一种用于帧间预测的方法,其通过使用在单向预测候选的另一方向上的合并候选将单向预测候选转换为双向预测候选。根据本发明,通过组合单向预测候选和合并候选来形成新的双向预测候选的方法被称为用于帧间预测的单向合并双向预测(uni-mergebi-prediction,umb)模式。umb模式的细节描述如下。

当以帧间amvp模式编码pu时,可以在双向预测,l0或l1中选择帧间预测方向,其中l0和l1是单向预测。根据传统的hevc标准,如图5所示,针对列表0(510),列表1(520)中的每一个,和双向预测(530)对参考索引(即ref_idx),mvp索引和mvd进行编码和发送。当pu在合并模式下编码时,只有合并索引将被编码和传输。然而,根据umb模式,如果帧间预测方向为l0,则将使用合并索引来指定l1的运动矢量候选。如果帧间预测方向为l1,则将使用合并索引来指定l0的运动矢量候选。图6示出了根据本发明的实施例的用于预测方向分别为l0(610)和l1(620)的umb模式的示例。通过使用基于amvp方案的一个方向的预测和使用基于合并方案的另一方向的预测,umb来实现双向预测。

因此,根据本发明的实施例的编码器可以通过基于amvp方案发送编码的运动信息和发送识别指向另一预测方向的合并候选的第二运动矢量的合并索引,来使用umb模式。如前所述,编码的运动信息包括指向用于单向预测方向的参考列表中的参考图像的参考索引,指向amvp候选集合中的运动矢量预测子的mvp索引,和在当前运动矢量和运动矢量预测子之间的运动矢量差值(motionvectordifference,mvd)。本发明实施例的示例性语法结构如下所示:

如上所示,包含指示帧间预测方向的语法inter_dir。如果inter_dir指示单向预测(即,inter_dir!=bi-prediction),则表示是否使用umb的标志umb_flag被并入比特流中。如果使用umb模式(即umb_flag==true),则合并索引merge_dix被并入比特流中。如果单向预测方向为l0(即,inter_dir!=l1),则将用于l0的已编码的运动信息(即,运动数据l0)并入比特流中。如果单向预测方向为l1(即,inter_dir!=l0),则将用于l1的已编码的运动信息(即运动数据l1)合并到比特流中。用于l0或l1的已编码的运动信息将与指向另一预测的合并候选的运动矢量组合以形成双向预测。如果单向预测方向为l0,则指向l1的合并候选的运动矢量将用于双向预测。另一方面,如果单向预测方向为l1,则指向l0的合并候选者的运动矢量将用于双向预测。上面示出的示例性语法是为了说明的目的,不应被解释为对本发明的限制。技术人员可以使用语法的其他变体来实践本发明。

在原始合并方案中,合并索引用于从合并候选集中导出一个运动候选,其中基于空间和时间相邻导出候选,并且可以是单向预测或双向预测。在umb模式中,由于合并索引仅用于指定一个列表的运动候选,所以合并候选集仍然可以使用原始集合,如同根据合并方案导出一样。然而,也可以使用与现有合并候选集不同的合并候选集。例如,与现有合并候选列表的运动矢量候选不同的运动矢量候选可以插入到新的合并候选集中。在另一个实施例中,为当前列表导出的合并候选集合可以用于其他列表。基于所发送的合并索引,从合并候选集中选择umb模式的对应的所需的运动矢量。图7示出了umb模式的示例。对于合并候选列表710,存在对应于l0+mrg_idx1,l0+mrg_idx2,l1+mrg_idx0和l1+mrg_idx2的四个umb模式可能性。根据umb,仅双向预测合并候选的l1候选将用于单向预测l0作为另一预测方向上的运动矢量。类似地,只有双向预测合并候选的l0候选将用于单向预测l1作为另一预测方向上的运动矢量。现有合并列表中有冗余。通过重新排列符合现有合并方案的预定合并候选集,可以提高编码效率。因此,通过箭头指示将双向预测合并候选重新定位到两个单向预测候选的候选重新定位过程,并且重新定位的合并候选集720在图7中示出。重新定位后,合并候选集变得更紧凑,四个umb模式变为l0+mrg_idx0,l0+mrg_idx1,l1+mrg_idx0和l1+mrg_idx1。在另一个实施例中,候选重新定位过程可以通过将单向预测合并候选重新定位到关于与单向预测合并候选相关联的参考列表的初始合并候选集的空条目来完成。例如,由于对应于mrg_idx0的合并候选是单向预测并且指向l0,合并候选列表710中指向l1和对应于mrg_idx1的单向预测合并候选可以向前移动以与mrg_idx0相对应。然后,对应于mrg_idx2的双向预测合并候选可以向前移动以对应于mrg_idx1。

利用umb模式,双向预测在一个方向上使用一个传输的运动矢量,并且使用来自在另一个方向上的合并候选集合的所选择的运动矢量。数据存取量与常规双向预测模式大致相同,因此与常规双预测模式一样,最坏情况是用于运动补偿的存储器带宽不变。此外,umb模式比合并模式期望导致更好的预测,并且比amvp双向预测模式期望导致更少的比特开销。已经在各种编码配置下的一些测试序列上测试了基于本发明的实施例。例如,在随机存取(randomaccess,ra)编码配置下,使用l0_mrg_idx和l1+mrg_idx模式的umb的实施例比现有合并模式在rd率方面显示出0.6%的改善。rd率是用于视频编码的众所周知的性能测量。对于低延迟b图像(low-delayb-picture,ld-b)编码配置,本发明的实施例显示出bd率为0.5%的提高。

如上所述的umb方案可以被明确地或隐含地打开或关闭。在显式方法中,可以发出一个标志来指示umb是打开还是关闭。在隐式方法中,可以基于相邻块的统计来导出开/关决定。在另一个实施例中,可以基于编码单元(cu)尺寸或预测单元(pu)尺寸来做出umb开启关闭的决定。

图8示出了根据本发明的一个实施例的包含基于指向一个方向的单向预测运动矢量和指向另一方向的与合并候选相关联的第二运动矢量的双向预测的解码器示例性流程图。在步骤810中,解码器接收与当前块相关联的已编码的比特流。可以从存储器(例如,计算机存储器,缓冲器(ram或dram)或其他介质)或从处理器检索比特流。在步骤820中,从编码比特流确定当前块的当前运动预测方向,其中当前运动预测方向是双向预测或单向预测。在步骤830中,测试当前运动预测方向是否是与第一参考列表相对应的单向预测。如果预测是双向预测(即,“否”路径),则跳过以下步骤。否则(即,“是”路径),则在步骤840中,根据指向合并候选集中的合并候选的合并索引,从已编码的比特流确定合并候选。在步骤850中,从已编码的比特流,根据关于运动矢量预测(mvp)候选集中的运动矢量预测子的已编码的运动信息,第一运动矢量被导出。其中第一运动矢量参考第一参考列表中的第一参考图像。如步骤860所示,然后,基于第一运动矢量和指向与第一参考列表不同的第二参考列表的合并候选的第二运动矢量,将双向预测运动补偿解码应用于当前块。

以上所示的流程图旨在说明根据本发明的实施例的双向预测编码的示例。在不脱离本发明的精神的情况下,本领域技术人员可以修改每个步骤,重新排列步骤,拆分步骤或组合步骤来实施本发明。

如上所示,合并模式运动优化(refinement)用于说明从相邻块显式编码部分运动信息并继承剩余运动信息的示例。然而,本发明不限于合并优化模式,其中运动矢量差值(mvd)被明确地编码,并且剩余运动信息从所选择的合并候选中继承。例如,代替编码与amvp模式(即,inter模式)相关联的所有运动信息,部分运动信息可以从相邻块继承。

在前述实施例中描述的umb模式通过基于amvp方案在一个方向上使用预测并且基于合并方案在另一个方向上进行预测来实现双向预测。然而,本发明不限于amvp方案和合并方案。根据本发明的另一实施例,当解码器接收与当前块相关联的已编码的比特流时,解码器从已编码的比特流确定当前块的当前运动预测方向,其中当前运动预测方向为双向预测或单向预测。如果预测是与第一参考列表(例如,参考列表l0)的单向预测,则解码器从已编码的比特流确定与第一参考列表中的参考图像相关的第一已编码的运动信息,其中第一已编码的运动信息对应于m种类型的信息。解码器还从已编码的比特流确定与第二参考列表(例如,参考列表l1)中的参考图像相关的第二编码运动信息,其中第二编码运动信息对应于n种类型的信息。在本实施例中,m和n是正整数,但n小于m。例如,第一编码运动信息可以对应于3种类型的信息,并且第二编码运动信息可以对应于1种类型的信息。解码器可以根据对应的帧间预测方案从第一已编码的运动信息导出第一运动矢量,并且基于另一对应的帧间预测方案从第二已编码的运动信息导出第二运动矢量。然后,解码器基于第一运动矢量和第二运动矢量向当前块应用双向预测运动补偿解码。

呈现上述描述以使本领域技术人员能够在特定应用及其要求的上下文中实施本发明。对所描述的实施例的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他实施例。因此,本发明不旨在限于所示出和描述的具体实施例,而是符合与本文所公开的原理和新颖特征相一致的最广范围。在上述详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解,可以实施本发明。

以上描述的本发明的实施方式可在各种硬件、软件编码或两者组合中进行实施。例如,本发明的实施方式可为集成入视频压缩芯片的电路或集成入视频压缩软件以执行上述过程的程序代码。本发明的实施方式也可为在数据信号处理器(digitalsignalprocessor,dsp)中执行上述程序的程序代码。本发明也可涉及计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fieldprogrammablegatearray,fpga)执行的多种功能。可根据本发明配置上述处理器执行特定任务,其通过执行定义了本发明揭示的特定方法的机器可读软件代码或固件代码来完成。可将软件代码或固件代码发展为不同的程序语言与不同的格式或形式。也可为了不同的目标平台编译软件代码。然而,根据本发明执行任务的软件代码与其他类型配置代码的不同代码样式、类型与语言不脱离本发明的精神与范围。

在不脱离本发明精神或本质特征的情况下,可以其他特定形式实施本发明。描述示例被认为仅在所有方面进行说明并且不是限制性的。因此,本发明的范围由权利要求书指示,而非前面描述。所有在权利要求等同的方法与范围中的变化都属于本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1