三维视频编码中视图间候选获取的方法和设备的制作方法
【专利摘要】本发明提出一种用于三维视频编解码的方法和设备。根据本发明的实施例将冗余去除进程应用于一个或多个空间候选,以及视图间候选和时间候选中的至少一个,以产生被保留候选集合。冗余去除进程移除一个或多个空间候选以及视图间候选和时间候选中的至少一个之中的冗余候选。合并/跳跃候选列表随后被生成,其中合并/跳跃候选列表包括被保留候选集合。在一实施例中,时间候选从冗余去除进程中免除。在另一实施例中,视图间候选从冗余去除进程中免除。在本发明的另一些实施例中,冗余去除进程被用于视图间候选和两个或更多空间候选。冗余去除进程将空间候选与视图间候选进行比较。
【专利说明】 三维视频编码中视图间候选获取的方法和设备
[0001]相关申请的交叉引用
[0002]本发明要求2012年7月2日递交的N0.61/667,242,发明名称为“Modificat1nof the pruning process for interview candidate”的美国临时申请案,以及 2012 年 10月 3 日递交的 N0.61/744,859,发明名称为 “ Improvement of the pruning process forinter-view candidate”的美国临时申请案的优先权,且将上述美国临时案申请合并作为参考。
【技术领域】
[0003]本发明有关于三维(three-dimens1nal,3D)视频编码,且尤其有关于帧间(inter)或合并(merge)/跳跃(skip)模式下的3D视频编码中候选列表(candidate list)的获取。
【背景技术】
[0004]近些年3D电视(televis1n, TV)已成为技术潮流,其可带给观看者非常好的观看体验。已开发多种技术以用于3D观看,其中,多视图(mult1-view)视频尤其是用于3DTV的一种关键技术。传统视频为二维(two-dimens1nal, 2D)媒体,只能提供观看者摄像机角度的一场景的单一视图。然而,多视图视频可提供动态场景的任意视点(viewpoint),并提供给观看者真实的感觉。
[0005]多视图视频通常通过同时采用多个相机捕捉一场景而建立,其中多个相机被适当放置,使得每个相机可从一个视点捕捉该场景。相应地,多个相机将捕捉对应于多个视图的多个视频序列(video sequence)。为了提供更多的视图,已采用更多的相机来产生具有与视图有关的大量视频序列的多视图视频。相应地,多视图视频需要大存储空间进行存储以及/或者高带宽进行传输。因此,本【技术领域】中已开发了多视图视频编码技术,以减少所需的存储空间或传输带宽。
[0006]一种直接的方法是简单地对每个单一视图的视频序列独立地应用传统视频编码技术而忽略不同视图之间的任何关联(correlat1n)。这种编码系统效率将非常低。为了改进多视图视频编码的效率,典型的多视图视频编码可利用视图间(inter-view)冗余(redundancy)。因此,大部分3D视频编码(3D Video Coding, 3DVC)系统考虑视频数据与多个视图和深度地图(depth map)之间的关联。标准开发组织,国际电信联盟电信标准化部(Internat1nal Telecommunicat1n Un1n Telecommunicat1n Standardizat1nSector, ITU-T)视频编码专家组(Video Coding Experts Group, VCEG)的的联合视频组(Joint Video Team, JVT)以及国际标准化组织(Internat1nal Standard Organizat1n,ISO)/国际电工委员会(Internat1nal Electrotechnical Commiss1n, IEC)运动图象专家组(Moving Picture Experts Group, MPEG),将 H.264/MPEG-4 高级视频编码(AdvancedVideo Coding, AVC)扩展为多视图视频编码(mult1-view video coding,MVC),用于立体声和多视图视频。
[0007]MVC采用时间以及空间预测,以改进压缩效率。在MVC的发展中,提出了一些宏块级的(macroblock-level)编码工具,包括亮度补偿(illuminat1n compensat1n)、自适应参考滤波(adaptive reference filtering)、运动跳跃模式(mot1n skip mode)以及视图合成预测(view synthesis predict1n)。这些编码工具用来利用多视图之间的冗余。亮度补偿用来补偿不同视图之间的亮度变化。自适应参考滤波用来降低相机之间聚焦不匹配(focus mismatch)造成的变化。运动跳跃模式允许当前视图中的运动矢量(Mot1nVector, MV)从其他视图中推测出来。视图合成预测用于由其他视图预测当前视图中的图片。
[0008]然而在MVC中,深度地图和相机参数并不被编码。在新一代3DVC最近的标准化发展中,纹理(texture)数据、深度数据以及相机参数均被编码。举例来说,图1显示了3D视频编码中的通用预测架构,其中符合标准视频编码器(standard conforming videocoder)被用于基础视图(base_view)视频。输入的3D视频数据包括对应于多个视图的图片(110-0,110-1,110-2,…)。为每个视图收集的图片形成对应视图的图片序列。通常,对应于基础视图(也被称为独立视图)的图片序列110-1通过视频编码器130-0独立编码,其中视频编码器130-0符合如H.264/AVC或高效率视频编码(High Efficiency Video Coding,HEVC)的视频编码标准。用于与依赖视图(即视图1,2,…)有关的图片序列的视频编码器(130-1,130-2,…)除采用时间预测外,进一步采用视图间预测。视图间预测通过图1中的短虚线指示。
[0009]为了支持交互应用,每个视图上的与场景有关的深度地图(120-0,120-1,120-2,…)也包含在视频比特流(bitstream)中。为了减少与深度地图有关的数据,如图1所示,深度地图通过深度地图编码器(140-0,140-1,140-2,…)进行压缩,且已压缩深度地图数据包含在比特流中。多工器(multiplexer) 150用来将来自图片编码器和深度地图编码器的已压缩数据进行组合。深度信息可用来在所选中间视点处合成虚拟视图。对应于所选视图的图片可基于与另一视图对应的图片,采用视图间预测编码。在此情况下,所选视图的图片被称为依赖视图。
[0010]在基于3D视频编码的HEVC版本3.1 (HEVC based 3D video coding vers1n 3.1,HTM 3.1)的参考软件中,视图间候选被添加为MV或视差矢量(Disparity Vector, DV)候选,用于帧间(即时间)、合并和跳跃模式,以重用(re-use)相邻视图的先前已编码运动信息。在HTM3.1中,被称为编码单元(Coding Unit,⑶)的压缩的基本单位为2Nx2N方形块。每个⑶可被递归地分成4个更小的⑶,直到达到预定最小尺寸。每个⑶包括一个或多个预测单元(Predict1n Unit,PU)。在3DV-HTM中,视图间候选获取进程包含冗余去除进程(pruning process),即移除冗余候选。冗余去除进程仅在巾贞间、合并和跳跃模式用于空间候选。冗余去除进程不用于时间候选,也不用于视图间候选。图2中显示了合并候选获取进程。
[0011]如图2所示,冗余去除进程包括空间候选之间小部分平行运动信息(parallelmot1n informat1n)的比较。举例来说,如图2所示,空间候选1-4(211-214)被冗余去除,从而为合并候选列表(250)提供减少数目的空间候选。在合并候选获取进程中,时间和视图间候选从冗余去除进程中免除。换句话说,视图间候选和时间候选总是包含在已冗余去除候选列表(pruned candidate list)中。基于空间候选的特定状况,该空间候选的运动信息被插入到合并列表中。若Al的运动矢量可用,则冗余去除进程总是保留Al在列表中(如图3所示)。这些要从合并候选列表中排除的空间候选的状况如下(如图3所示):
[0012].BI:B1具有与Al相同的运动信息(如箭头310所示)
[0013].BO:B0具有与BI相同的运动信息(如箭头320所示)
[0014].AO:A0具有与Al相同的运动信息(如箭头330所示)
[0015].Β2:Β2具有与Al相同的运动信息(如箭头340所示)或具有与BI相同的运动信息(如箭头350所示)。仅当Al、B1、BO或AO中任何一个从合并列表中被排除时检查Β2。
[0016]图3中显示了空间相邻块的位置,其中空间相邻块集合包括当前块的左下角斜对面的位置(即Α0)、当前块的左下边旁边的位置(即Al)、当前块的左上角斜对面的位置(即Β2)、当前块的右上角斜对面的位置(即Β0)以及当前块的右上边旁边的位置(即BI)。当块名称(即Β0、Β1、Β2、Α0和Al)如上所述时,为方便起见,块名称也可指代与块有关的运动矢量或运动矢量预测子(Mot1n Vector Predictor, MVP) ?举例来说,“Al可用”意味“Al的运动矢量可用”。在HTM3.1中,帧间模式的候选集合包括一个视图间预测子(候选)、两个空间预测子(候选)以及一个时间预测子(候选):
[0017]I.视图间预测子(候选),
[0018]2.第一空间预测子(候选),
[0019]3.第二空间预测子(候选),以及
[0020]4.时间预测子(候选)
[0021]HTM 3.1中的两个空间候选对应于当前块左下边旁边的Al块和当前块右上边旁边的块BI。视图间预测子(候选)是视图间图片中对应块的运动矢量或者从深度地图中获取的视差矢量。时间预测子(候选)从位于并置(collocated)图片中的块(Tbk或Tctk)中获取。在HTM v3.1中,只有当可用的视图间和空间预测子的数目等于2时,才应用冗余去除进程以比较这两个预测子,并移除冗余的那个。时间预测子从冗余去除进程中免除。冗余去除进程之后,只有前三个可用的预测子包含在候选集合中。若可用的预测子数目小于3,则如图2所示,插入零预测子(zero predictor, 240)。
[0022]若合并候选列表中候选的总数小于列表尺寸(如5),则添加一个或多个组合运动矢量作为附加候选。组合运动矢量通过采用组合MVP230,从冗余去除进程220中的已冗余去除空间候选产生。举例来说,通过将指向列表O中参考图片的MV候选与指向列表I中参考图片的另一MV候选组和,一双向预测合并候选(b1-predictive Merge candidate)得以形成。
[0023]需要开发一种针对视图间候选、空间候选和时间候选的冗余去除进程,来改进如RD率(RD-rate)的性能,或降低计算时间或存储空间。
[0024]如上所述,候选集合获取进程涉及多个空间和时间相邻的块。需要在对系统性能没有明显影响的情况下,降低候选集合获取的复杂度。
【发明内容】
[0025]本发明提出一种用于三维视频编码或解码的方法和设备。根据本发明的实施例将冗余去除进程应用于一个或多个空间候选,以及视图间候选和时间候选中的至少一个,以产生被保留候选集合。冗余去除进程移除一个或多个空间候选以及视图间候选和时间候选中的至少一个之中的冗余候选。合并/跳跃候选列表随后被生成,其中合并/跳跃候选列表包括被保留候选集合。在一实施例中,一个或多个空间候选和视图间候选通过冗余去除进程进行处理,时间候选从冗余去除进程中免除。在另一实施例中,一个或多个空间候选和时间候选通过冗余去除进程进行处理,视图间候选从冗余去除进程中免除。
[0026]本发明的一方面提出冗余去除进程。当冗余去除进程应用于一个或多个空间候选和视图间候选时,若视图间候选与一个或多个空间候选中的一个具有相同的运动信息,则该视图间候选从候选列表中被冗余去除。一个或多个空间候选中的一个可对应于一个或多个空间候选的第一可用候选。一个或多个空间候选中的一个也可对应于相邻块集合的Al或BI块。当冗余去除进程应用于一个或多个空间候选和时间候选时,若时间候选与一个或多个空间候选中的一个具有相同的运动信息,则该时间候选从候选列表中被冗余去除。再一次地,一个或多个空间候选中的一个可对应于一个或多个空间候选的第一可用候选。此夕卜,一个或多个空间候选中的一个也可对应于相邻块集合的Al或BI块。空间候选也可被冗余去除,用于代替冗余去除视图间或时间候选。举例来说,若Al候选具有与视图间候选或时间候选相同的运动信息,则Al候选可从候选列表中被冗余去除。类似地,若BI候选具有与视图间候选或时间候选相同的运动信息,则BI候选可从候选列表中被冗余去除。冗余去除进程可以以任意顺序应用于具有候选的候选集合。
[0027]在本发明的另一些实施例中,揭示用于帧间、合并或跳跃模式中三维视频编码的冗余去除进程。与当前块的空间相邻块有关的空间候选和当前块的视图间候选被确定。候选可为运动矢量候选或视差矢量候选。冗余去除进程应用于冗余去除候选集合以产生被保留候选集合,其中冗余去除候选集合包括视图间候选和至少两个空间候选,冗余去除进程移除冗余去除候选集合中的任何冗余候选。随后产生包括被保留候选集合的帧间、合并或跳跃候选列表。当待处理数据分别以帧间、合并或跳跃模式编码或解码时,采用帧间、合并或跳跃候选列表将视图间预测编码或解码应用于待处理数据。在一实施例中,冗余去除候选集合包括视图间候选、第一空间候选和第二空间候选,冗余去除进程对应于视图间候选和第一空间候选之间的一次比较,以及视图间候选和第二空间候选之间的另一次比较。此夕卜,仅当第一空间候选或第二空间候选与视图间候选不同时,第一空间候选或第二空间候选被保留在分别用于帧间、合并或跳跃模式的帧间、合并或跳跃候选列表中。在另一实施例中,冗余去除候选集合进一步包括时间候选。
【专利附图】
【附图说明】
[0028]图1是具有三维视频编码系统的预测架构的示范性示意图。
[0029]图2是根据3DV-HTM版本3.1的合并候选列表获取进程的示范性示意图。
[0030]图3是根据3DV-HTM版本3.1的用于合并候选列表的空间候选的冗余去除进程示范性示意图。
[0031]图4是根据本发明一实施例的用于合并/跳跃候选列表的空间候选和视图间候选的获取进程的示范性示意图。
[0032]图5是根据本发明一实施例的用于巾贞间(AMVP)候选列表的空间候选和视图间候选的获取进程的示范性示意图。
[0033]图6-图8是根据本发明一实施例的帧间或合并/跳跃候选列表的获取进程的示范性示意图。
[0034]图9是根据本发明一实施例的合并/跳跃候选列表的空间、时间和视图间候选的获取进程的示范性示意图。
[0035]图10是根据本发明一实施例的巾贞间(AMVP)候选列表的空间、时间和视图间候选的获取进程的示范性示意图。
[0036]图11-图17是根据本发明一实施例的帧间或合并/跳跃候选列表的获取进程的示范性示意图。
[0037]图18是三维编码系统采用根据本发明一实施例的冗余去除进程的流程图。
[0038]图19是另一三维编码系统采用根据本发明一实施例的冗余去除进程的流程图。
【具体实施方式】
[0039]用于三维视频编码或解码系统中的帧间或合并/跳跃候选列表的冗余去除进程被揭示,其中冗余去除进程应用于空间候选,以及视图间候选和时间候选中的至少一个。
[0040]在第一实施例中,冗余去除进程应用于帧间、合并和跳跃模式的空间和视图间候选。时间候选从冗余去除进程中免除。图4显示了合并/跳跃模式的示范性合并/跳跃候选获取进程,其中视图间候选210和空间候选1-4(211-214)被提供给冗余去除进程410。冗余去除进程410中被保留的候选(即未被冗余去除进程移除的候选)与时间候选(215)一起被包括在合并/跳跃候选列表430中。若合并/跳跃候选列表430的列表尺寸小于一阈值,可采用组合MVP420添加组合合并/跳跃候选。组合MVP420采用冗余去除进程410中被保留的候选以及时间候选215,以形成一个或多个双向预测合并/跳跃候选。若合并/跳跃候选的数目小于一阈值(如3),则零MVP (240)可被包括在合并/跳跃候选列表430中。图5显示了帧间模式的示范性帧间候选获取进程,其中冗余去除进程520被用于视图间候选210、第一空间候选511和第二空间候选512。冗余去除进程520中被保留的候选随后与时间候选215 —起被包括在巾贞间候选列表530中。再一次地,若候选的数目小于一阈值,零MVP (240)被包括在帧间候选列表530中。帧间模式可对应于本领域中技术人员所知的用于HEVC的先进运动矢量预测(Advanced Mot1n Vector Predict1n, AMVP)方法。在本发明中,候选可对应于运动矢量或视差矢量。
[0041]在第二实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间候选和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到合并/跳跃候选列表中。若Al的运动信息(如运动矢量或视差矢量)可用,冗余去除进程总是保留Al在列表中。从帧间或合并/跳跃候选列表中排除的空间和视图间候选的状况如下所示(如图6所示):
[0042].BI:B1具有与Al相同的运动信息(如箭头610所示)
[0043].BO:B0具有与BI相同的运动信息(如箭头620所示)
[0044].AO:A0具有与Al相同的运动信息(如箭头630所示)
[0045].B2:B2具有与Al相同的运动信息(如箭头640所示)或具有与BI相同的运动信息(如箭头650所示)。仅当A1、B1、B0或AO中任何一个从帧间或合并/跳跃候选列表中被排除时检查B2。
[0046].I:1具有与Al相同的运动信息(I为视图间候选)(如箭头660所示)
[0047]在第三实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间候选和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到合并/跳跃候选列表中。若K即视图间候选)的运动信息(如运动矢量或视差矢量)可用,冗余去除进程总是保留I在合并/跳跃候选列表中。从帧间或合并/跳跃候选列表中排除的空间候选的状况如下所示(如图7所示):
[0048].Al:A1具有与I相同的运动信息(如箭头710所示)
[0049].BI:B1具有与Al相同的运动信息(如箭头720所示)
[0050].BO:B0具有与BI相同的运动信息(如箭头730所示)
[0051].AO:A0具有与Al相同的运动信息(如箭头740所示)
[0052].B2:B2具有与Al相同的运动信息(如箭头750所示)或具有与BI相同的运动信息(如箭头760所示)。仅当A1、B1、B0或AO中任何一个从帧间或合并/跳跃候选列表中被排除时检查B2。
[0053]在第四实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间、时间和视图间候选的候选之间进行小部分平行运动信息比较。基于空间、时间或视图间候选的特定状况,该空间、时间或视图间候选的运动信息被插入到帧间或合并/跳跃候选列表中。若Al的运动信息(如运动矢量或视差矢量)可用,冗余去除进程总是保留Al在列表中。从帧间或合并/跳跃候选列表中排除的空间、时间和视图间候选的状况如下所示(如图8所示):
[0054].BI:B1具有与Al相同的运动信息(如箭头810所示)
[0055].BO:B0具有与BI相同的运动信息(如箭头820所示)
[0056].AO:A0具有与Al相同的运动信息(如箭头830所示)
[0057].B2:B2具有与Al相同的运动信息(如箭头840所示)或具有与BI相同的运动信息(如箭头850所示)。仅当A1、B1、B0或AO中任何一个从帧间或合并/跳跃候选列表中被排除时检查B2。
[0058].1:1具有与Al相同的运动信息(如箭头860所示)
[0059].T:T具有与Al相同的运动信息(Τ为时间候选)(如箭头870所示)
[0060]在第五实施例中,冗余去除进程在帧间、合并和跳跃模式用于空间、时间和视图间候选。图9显示了合并/跳跃模式的示范性合并/跳跃候选获取进程,其中视图间候选210、空间候选1-4(211-214)和时间候选215被提供给冗余去除进程910。冗余去除进程910中被保留的候选被包括在合并/跳跃候选列表930中。若候选的数目小于一阈值(如3),零MVP (240)可被包括在合并/跳跃候选列表930中。若合并/跳跃候选列表中的候选数目低于一阈值(如5),一个或多个组合MVP可采用组合MVP920被包括其中。组合MVP进程(920)基于冗余去除进程910中被保留的候选,生成一个或多个双向预测合并/跳跃候选。图10显示了帧间模式的示范性帧间(AMVP)候选获取进程,其中冗余去除进程1010被应用于视图间候选210、第一空间候选511、第二空间候选512和时间候选215。冗余去除进程1010中的一个或多个被保留的候选随后被包括在帧间(AMVP)候选列表1020中。再一次地,若候选的数目小于一阈值(如3),零MVP (240)可被包括在帧间(AMVP)候选列表1020中。
[0061]在第六实施例中,用于帧间(AMVP)模式的冗余去除进程只在两个空间候选之间进行一次比较。时间候选和视图间候选从冗余去除进程中排除。举例来说,仅当第二空间候选与第一空间候选不同时,第二空间候选才被插入到候选集合中。HTM 3.1中用于巾贞间模式的两个空间候选对应于当前块的左下边旁边的Al块和当前块的右上边旁边的BI块。然而,根据本发明的用于帧间模式的两个空间候选可与除Al和BI以外的空间相邻块有关。
[0062]在第七实施例中,用于帧间(AMVP)模式的冗余去除进程在来自空间和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到候选集合中。只要第一空间候选可用,则第一空间候选总是被插入到帧间(AMVP)候选列表中。从帧间(AMVP)候选列表中排除的空间和视图间候选的状况如下所示。
[0063].第二空间候选:第二空间候选具有与第一空间候选相同的运动信息
[0064].视图间候选:视图间候选具有与第一空间候选相同的运动信息
[0065]在第八实施例中,用于帧间(AMVP)模式的冗余去除进程在来自空间和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到候选集合中。只要视图间候选可用,则视图间候选总是插入到帧间(AMVP)候选列表中。从帧间(AMVP)候选列表中排除的空间候选的状况如下所示。
[0066].第一空间候选:第一空间候选具有与视图间候选相同的运动信息
[0067].第二空间候选:第二空间候选具有与第一空间候选相同的运动信息
[0068]在第九实施例中,用于帧间(AMVP)模式的冗余去除进程在来自空间、时间和视图间候选的候选之间进行小部分平行运动信息比较。基于空间、时间或视图间候选的特定状况,该空间、时间或视图间候选的运动信息被插入到候选集合中。只要第一空间候选可用,则第一空间候选总是插入到帧间(AMVP)候选列表中。从帧间(AMVP)候选列表中排除的空间、时间和视图间候选的状况如下所示。
[0069].第二空间候选:第二空间候选具有与第一空间候选相同的运动信息
[0070].视图间候选:视图间候选具有与第一空间候选相同的运动信息
[0071].时间候选:时间候选具有与第一空间候选相同的运动信息
[0072]在第十实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间候选和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到帧间或合并/跳跃候选列表中。若空间候选Al的运动信息(如运动矢量或视差矢量)可用,冗余去除进程总是保留Al在列表中。从帧间或合并/跳跃候选列表中排除的空间和视图间候选的状况如下所示(如图11所示):
[0073].1:1具有与Al相同的运动信息(如箭头1110所示)
[0074].BI:B1具有与Al相同的运动信息(如箭头1120所示)
[0075].BO:B0具有与BI相同的运动信息(如箭头1130所示)
[0076].AO:A0具有与Al相同的运动信息(如箭头1140所示)
[0077]在上述状况中,若B2可用,则B2被包括在帧间或合并/跳跃候选列表中。举例来说,B2可用是指B2具有运动信息或其并非帧内编码块。仅当Al、B1、BO或AO中的任何一个从帧间或合并/跳跃候选列表中排除时,B2才被检查。
[0078]在第十一实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间候选和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到帧间或合并/跳跃候选列表中。若I(即视图间候选)的运动矢量可用,冗余去除进程总是保留I在帧间或合并/跳跃候选列表中。从帧间或合并/跳跃候选列表中排除的空间候选的状况如下所示(如图12所示):
[0079].Al:A1具有与I相同的运动信息(如箭头1210所示)
[0080].BI:B1具有与Al相同的运动信息(如箭头1220所示)
[0081].BO:B0具有与BI相同的运动信息(如箭头1230所示)
[0082].AO:A0具有与Al相同的运动信息(如箭头1240所示)
[0083]在上述状况中,若B2可用,则B2被包括在帧间或合并/跳跃候选列表中。举例来说,B2可用是指B2具有运动信息或其并非帧内编码块。仅当Al、B1、BO或AO中的任何一个从帧间或合并/跳跃候选列表中排除时,B2才被检查。
[0084]在第十二实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间候选和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到帧间或合并/跳跃候选列表中。若Al的运动信息(如运动矢量或视差矢量)可用,冗余去除进程总是保留Al在帧间或合并/跳跃候选列表中。从合并/跳跃候选列表中排除的空间和视图间候选的状况如下所示(如图13所示):
[0085].Ι:1具有与Al相同的运动信息(如箭头1310所示)或具有与BI相同的运动信息(如箭头1370所示)
[0086].BI:B1具有与Al相同的运动信息(如箭头1320所示)
[0087].BO:B0具有与BI相同的运动信息(如箭头1330所示)
[0088].AO:A0具有与Al相同的运动信息(如箭头1340所示)
[0089].Β2:Β2具有与Al相同的运动信息(如箭头1350所示)或具有与BI相同的运动信息(如箭头1360所示)。仅当Al、B1、BO或AO中的任何一个从帧间或合并/跳跃候选列表中排除时,Β2才被检查。
[0090]在第十三实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间候选和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到合并/跳跃候选列表中。若Al的运动矢量可用,冗余去除进程总是保留Al在帧间或合并/跳跃候选列表中。从帧间或合并/跳跃候选列表中排除的空间和视图间候选的状况如下所示(如图14所示):
[0091].Ι:1具有与Al相同的运动信息(如箭头1410所示)或具有与BI相同的运动信息(如箭头1450所示)
[0092].BI:B1具有与Al相同的运动信息(如箭头1420所示)
[0093].BO:B0具有与BI相同的运动信息(如箭头1430所示)
[0094].AO:A0具有与Al相同的运动信息(如箭头1440所示)
[0095]在上述状况中,若B2可用,则B2被包括在帧间或合并/跳跃候选列表中。举例来说,B2可用是指B2具有运动信息或其并非帧内编码块。仅当Al、B1、BO或AO中的任何一个从帧间或合并/跳跃候选列表中排除时,B2才被检查。
[0096]在第十四实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间候选和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到帧间或合并/跳跃候选列表中。若I(即视图间候选)的运动矢量可用,冗余去除进程总是保留I在帧间或合并/跳跃候选列表中。从帧间或合并/跳跃候选列表中排除的空间候选的状况如下所示(如图15所示):
[0097].Al:A1具有与I相同的运动信息(如箭头1510所示)
[0098].BI:B1具有与Al相同的运动信息(如箭头1520所示)或具有与I相同的运动信息如箭头1530所示)
[0099].BO:B0具有与BI相同的运动信息(如箭头1540所示)
[0100].AO:A0具有与Al相同的运动信息(如箭头1540所示)
[0101].Β2:Β2具有与Al相同的运动信息(如箭头1560所示)或具有与BI相同的运动信息(如箭头1570所示)。仅当Al、B1、BO或AO中的任何一个从帧间或合并/跳跃候选列表中排除时,Β2才被检查。
[0102]在第十五实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间候选和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到帧间或合并/跳跃候选列表中。若I(即视图间候选)的运动信息(如运动矢量或视差矢量)可用,冗余去除进程总是保留I在合并/跳跃候选列表中。从合并/跳跃候选列表中排除的空间候选的状况如下所示(如图16所示):
[0103].Al:A1具有与I相同的运动信息(如箭头1610所示)
[0104].BI:B1具有与Al相同的运动信息(如箭头1620所示)或具有与I相同的运动信息(如箭头1630所示)
[0105].BO:B0具有与BI相同的运动信息(如箭头1640所示)
[0106].AO:A0具有与Al相同的运动信息(如箭头1650所示)
[0107]在上述状况中,若B2可用,则B2被包括在帧间或合并/跳跃候选列表中。举例来说,B2可用是指B2具有运动信息或其并非帧内编码块。仅当Al、B1、BO或AO中的任何一个从帧间或合并/跳跃候选列表中排除时,B2才被检查。
[0108]在第十六实施例中,用于帧间、合并和跳跃模式的冗余去除进程在来自空间、时间和视图间候选的候选之间进行小部分平行运动信息比较。基于空间、时间或视图间候选的特定状况,该空间、时间或视图间候选的运动信息被插入到帧间或合并/跳跃候选列表中。若Al的运动矢量可用,冗余去除进程总是保留Al在列表中。从帧间或合并/跳跃候选列表中排除的空间候选的状况如下所示(如图17所示):
[0109].I:1具有与Al相同的运动信息(I为视图间候选)(如箭头1710所示)
[0110].BI:B1具有与Al相同的运动信息(如箭头1720所示)
[0111].BO:B0具有与BI相同的运动信息(如箭头1730所示)
[0112].AO:A0具有与Al相同的运动信息(如箭头1740所示)
[0113].T:T具有与Al相同的运动信息(如箭头1750所示)
[0114]在上述状况中,若Β2可用,则Β2被包括在帧间或合并/跳跃候选列表中。举例来说,Β2可用是指Β2具有运动信息或其并非帧内编码块。仅当Al、B1、BO或AO中的任何一个从帧间或合并/跳跃候选列表中排除时,Β2才被检查。
[0115]在第十七实施例中,用于合并和跳跃模式的冗余去除进程仅在来自空间、时间和视图间候选的候选之间进行小部分平行运动信息比较。视图间候选以及/或者时间候选与第一可用空间候选比较。
[0116]在第十八实施例中,用于帧间模式(AMVP)的冗余去除进程在来自空间和视图间候选的候选之间进行小部分平行运动信息比较。时间候选从冗余去除进程中排除。基于空间或视图间候选的特定状况,该空间或视图间候选的运动信息被插入到候选集合中。只要视图间候选可用,则视图间候选总是被插入到帧间(AMVP)候选列表中。从AMVP候选列表中排除的空间候选的状况如下所示。
[0117].第一空间候选:第一空间候选具有与视图间候选相同的运动信息
[0118].第二空间候选:第二空间候选具有与视图间候选相同的运动信息
[0119]在上述实施例中,视图间候选可取代时间候选,从冗余去除进程中排除。只要时间候选可用,时间候选总是被插入到帧间(AMVP)候选列表中。此外,第一和第二空间候选与时间候选比较,而不是与视图间候选比较。
[0120]此外,在上述实施例中,当空间候选总是包括在候选列表中时,Al块被选择。其他相邻块也可被选择。举例来说,当空间候选总是包括在候选列表中时,BI块可取代Al块被选择。
[0121]图18显示了三维编码或解码系统采用根据本发明一实施例的冗余去除进程的示范性流程图。在步骤1810中,系统接收与当前纹理块有关的待处理(to-be-processed)数据。对于编码来说,与当前纹理块有关的待处理数据对应于要被编码的原始像素数据、深度数据或与当前块有关的其他信息(如运动矢量、视差矢量、运动矢量差值或视差矢量差值)。待处理数据也可对应于待要视图间预测的残余(residue)像素数据。在后一种情况下,残余像素数据进一步采用视图间预测进行预测,以产生残余像素数据的另一残余数据。对于解码来说,待处理数据对应于残余数据(残余像素数据或深度数据),或用来重建像素数据或深度数据的另一残余数据的视图间残余数据,或与当前块有关的其他已压缩或已编码信息(如运动矢量、视差矢量、运动矢量差值或视差矢量差值)所用的或另一残余数据的视图间残余数据。待处理数据可从存储器中获取,其中存储器如计算机存储器、缓冲器(RAM或者DRAM)或者其他媒介。待处理数据也可从处理器中获取,其中处理器如控制器、中央处理单元、数字信号处理器(Digital Signal Processor, DSP)或产生待处理数据的电子电路。在步骤1820中,确定与当前块的空间相邻块有关的空间候选,以及当前块的视图间候选和时间候选,其中候选对应于运动矢量候选或视差矢量候选。如步骤1830所示,冗余去除进程随后应用于一个或多个空间候选,以及视图间候选和时间候选中的至少一个,以生成被保留候选集合,其中冗余去除进程移除上述一个或多个空间候选、视图间候选和时间候选中的至少一个之中的任何冗余候选。在步骤1840中产生合并/跳跃候选列表,其中候选列表包括被保留候选集合。在步骤1850中,待处理数据当待处理数据以合并/跳跃模式编码或解码时,采用合并/跳跃候选列表将视图间预测编解码应用于待处理数据。
[0122]图19显示了另一三维编码或解码系统采用根据本发明一实施例的冗余去除进程的示范性流程图。在步骤1910中,系统接收与当前纹理块有关的待处理数据。在步骤1920中,确定与当前块的空间相邻块有关的空间候选,以及当前块的视图间候选,其中候选对应于运动矢量候选或视差矢量候选。如步骤1930所示,冗余去除进程随后应用于冗余去除候选集合,以产生被保留候选集合,其中冗余去除候选集合包括视图间候选和至少两个空间候选,冗余去除进程移除冗余去除候选集合中的任何冗余候选。在步骤1940中产生包括被保留候选集合的帧间、合并或跳跃候选列表。在步骤1950中,当待处理数据分别以帧间、合并或跳跃模式编码或解码时,采用帧间、合并或跳跃候选列表将视图间预测编解码应用于待处理数据。
[0123]上述流程图意图说明根据本发明一实施例的基于一个或多个空间候选、视图间候选和时间候选中的至少一个的冗余去除进程,以产生被保留候选集合的示范例。在不脱离本发明的精神下,所属【技术领域】中普通技术人员可修改每个步骤、重新安排上述步骤、拆分某步骤或组合步骤以实现本发明。
[0124]呈现上述描述是为了使所属【技术领域】中普通技术人员可以结合特定应用以及需求而实现本发明。所描述实施例的各种变形对于所属【技术领域】中普通技术人员是显而易见的,而且所定义的一般原则可以用于其他实施例。因此,本发明不限于上述特定实施例,而是根据所揭示的原则和新颖性特征符合最宽范围。在上述详细描述中,各种特定细节被描述以提供对于本发明的透彻理解。虽然如此,实现本发明可以被所属【技术领域】中普通技术人员所理解。
[0125]上述本发明的实施例可以以各种硬件、软件代码或者上述两者的组合而实现。举例说明,本发明的一实施例可以为集成到视频压缩芯片的电路或者集成到视频编码软件的程序代码,以实施上述处理。本发明的另一实施例也可为程序代码,在DSP上执行以实施上述处理。本发明也可以包含多个功能以被计算机处理器、DSP、微处理器或者现场可编程门阵列(Field Programmable Gate Array, FPGA)所实施。这些处理器可以配置为通过执行机器可读软件代码或者固件代码,根据本发明而实施特定任务,其中机器可读软件代码或者固件代码定义了本发明所体现的特定方法。软件代码或者固件代码可以以不同程序语言、不同格式或者风格而实现。也可以为不同目标平台编译软件代码。然而,根据本发明执行任务的软件代码与其他类型配置代码的不同代码样式、类型与语言不脱离本发明的精神与范围。
[0126]本发明可以体现为其他特定格式,而不脱离本发明的精神或者实质特征。上述例子被认为是只用于说明而不是限制。本发明的保护范围,由所附权利要求所指示,而不会被上述描述所限制。在权利要求的意思以及等同范围内的所有变形均在权利要求的保护范围之内。
【权利要求】
1.一种用于三维视频编码或解码系统的方法,该方法包括: 接收与当前块有关的待处理数据; 确定与该当前块的空间相邻块有关的空间候选,以及该当前块的视图间候选和时间候选,其中一候选对应于一运动矢量候选或一视差矢量候选; 对一个或多个空间候选,以及该视图间候选和该时间候选中的至少一个应用冗余去除进程,以产生被保留候选集合;其中该冗余去除进程移除该一个或多个空间候选,以及该视图间候选和该时间候选中的该至少一个之中的任何冗余候选; 产生包括该被保留候选集合的合并/跳跃候选列表;以及 当该待处理数据以合并/跳跃模式编码或解码时,采用该合并/跳跃候选列表将视图间预测编码或解码应用于该待处理数据。
2.如权利要求1所述的方法,其特征在于,其中该一个或多个空间候选和该视图间候选通过该冗余去除进程处理,该时间候选从该冗余去除进程中免除。
3.如权利要求2所述的方法,其特征在于,其中若该视图间候选具有与该一个或多个空间候选相同的运动信息,则该视图间候选从该候选列表中冗余去除。
4.如权利要求2所述的方法,其特征在于,其中若该视图间候选具有与该一个或多个空间候选的第一可用候选相同的运动信息,则该视图间候选从该候选列表中冗余去除。
5.如权利要求1所述的方法,其特征在于,其中该一个或多个空间候选和该时间候选通过该冗余去除进程处理,且该视图间候选从该冗余去除进程中免除。
6.如权利要求5所述的方法,其特征在于,其中若该时间候选具有与该一个或多个空间候选相同的运动信息,则该时间候选从该候选列表中冗余去除。
7.如权利要求1所述的方法,其特征在于,其中若Al候选具有与该视图间候选或该时间候选相同的运动信息,且该Al候选属于该一个或多个空间候选并位于该当前块的左下边的旁边,则该Al候选从该候选列表中冗余去除。
8.如权利要求1所述的方法,其特征在于,其中若BI候选具有与该视图间候选或该时间候选相同的运动信息,且该BI候选属于该一个或多个空间候选并位于该当前块的右上边的旁边,则该BI候选从该候选列表中冗余去除。
9.如权利要求1所述的方法,其特征在于,其中该视图间候选总是被保留在该被保留候选集合中。
10.一种用于三维视频编码或解码系统的设备,该设备包括: 用来接收与当前块有关的待处理数据的装置; 用来确定与该当前块的空间相邻块有关的空间候选,以及该当前块的视图间候选和时间候选的装置,其中一候选对应于一运动矢量候选或一视差矢量候选; 用来对一个或多个空间候选、该视图间候选和该时间候选中的至少一个应用冗余去除进程,以产生被保留候选集合的装置;其中该冗余去除进程移除该一个或多个空间候选,以及该视图间候选和该时间候选中的该至少一个中的任何冗余候选; 用来产生包括该被保留候选集合的合并/跳跃候选列表的装置;以及用来当该待处理数据以合并/跳跃模式编码或解码时,采用该合并/跳跃候选列表将视图间预测编码或解码应用于该待处理数据的装置。
11.一种用于三维视频编码或解码系统的方法,该方法包括: 接收与当前块有关的待处理数据; 确定与该当前块的空间相邻块有关的空间候选以及该当前块的视图间候选,其中一候选对应于一运动矢量候选或一视差矢量候选; 对冗余去除候选集合应用冗余去除进程,以产生被保留候选集合;其中该冗余去除候选集合包括该视图间候选和至少两个空间候选,该冗余去除进程移除该冗余去除候选集合中的任何冗余候选; 产生包括该被保留候选集合的帧间、合并或跳跃候选列表;以及当该待处理数据分别以帧间、合并或跳跃模式编码或解码时,采用该帧间、合并或跳跃候选列表将视图间预测编码或解码应用于该待处理数据。
12.如权利要求11所述的方法,其特征在于,其中该冗余去除候选集合包括该视图间候选、第一空间候选和第二空间候选,该冗余去除进程对应于该视图间候选和该第一空间候选之间的一次比较,以及该视图间候选和该第二空间候选之间的另一次比较。
13.如权利要求12所述的方法,其特征在于,其中仅当该第一空间候选或该第二空间候选与该视图间候选不同时,该第一空间候选或该第二空间候选被保留在分别用于帧间、合并或跳跃模式的该帧间、合并或跳跃候选列表中。
14.如权利要求11所述的方法,其特征在于,进一步包括确定该当前块的时间候选,其中该冗余去除候选集合进一步包括该时间候选。
15.如权利要求11所述的方法,其中该冗余去除候选集合中的两个空间候选与Al块和BI块有关,其中Al块位于该当前块的左下边的旁边,该BI块位于该当前块的右上边的旁边。
16.如权利要求11所述的方法,其特征在于,其中该视图间候选总是被保留在该被保留候选集合中。
17.一种用于三维视频编码或解码系统的设备,该设备包括: 用来接收与当前块有关的待处理数据的装置; 用来确定与该当前块的空间相邻块有关的空间候选以及该当前块的视图间候选的装置,其中一候选对应于一运动矢量候选或一视差矢量候选; 用来对冗余去除候选集合应用冗余去除进程,以产生被保留候选集合的装置;其中该冗余去除候选集合包括该视图间候选和至少两个空间候选,该冗余去除进程移除该冗余去除候选集合中的任何冗余候选; 用来产生包括该被保留候选集合的帧间、合并或跳跃候选列表的装置;以及用来当该待处理数据分别以帧间、合并或跳跃模式编码或解码时,采用该帧间、合并或跳跃候选列表将视图间预测编码或解码应用于该待处理数据的装置。
【文档编号】H04N15/00GK104412587SQ201380035300
【公开日】2015年3月11日 申请日期:2013年7月2日 优先权日:2012年7月2日
【发明者】林建良, 陈渏纹 申请人:联发科技股份有限公司