用于对多视点视频的运动矢量进行编码和解码的方法和设备的制作方法

文档序号:7990641阅读:289来源:国知局
用于对多视点视频的运动矢量进行编码和解码的方法和设备的制作方法
【专利摘要】提供用于对多视点视点图像序列中的运动矢量进行编码和解码的方法和设备。编码的方法包括:通过参考第一帧执行运动预测来确定当前块的视点方向运动矢量,其中,所述第一帧具有与当前块的第一视点不同的第二视点;使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量来确定视点方向运动矢量预测值候选,其中,所述邻近块参考具有与第一视点不同的视点的参考帧,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有第一视点和与当前帧不同的画面序列号。
【专利说明】用于对多视点视频的运动矢量进行编码和解码的方法和设备
【技术领域】
[0001]与示例性实施例一致的设备和方法涉及视频编码和解码,更具体地,涉及通过预测多视点视频图像的运动矢量来对多视点视频图像进行编码,以及用于对多视点视频图像进行解码的方法和设备。
【背景技术】
[0002]多视点视频编码(MVC)包括对从多个相机获取的具有不同视点的多个图像进行处理,以及通过使用视点间的时间相关性和空间相关性对多视点图像进行压缩编码。
[0003]在使用时间相关性的时间预测和使用空间相关性的视点间预测中,通过使用一个或更多个参考画面按照块单位对当前画面的运动进行预测和补偿,从而对图像进行编码。在时间预测和视点间预测中,在参考画面的预定搜索范围中搜索与当前块最相似的块,当相似块被搜索到时,仅发送当前块和相似块之间的残差数据。通过这样做,提高了数据压缩率。
[0004]在诸如MPEG-4H.264/MPEG-4先进视频编码(AVC)的编解码器中,与当前块邻近并被在先编码的邻近块的运动矢量被用于预测当前块的运动矢量。先前编码的与当前块的左侦U、上侧和右侧邻近的块的运动矢量的中值被用作当前块的运动矢量预测值(predictor)。

【发明内容】

[0005]技术方案
[0006]示例性实施例的一个或更多个方面提供一种用于在多视点视频编码中对视点方向被预测和时间方向被预测的运动矢量进行编码和解码的方法和设备。
[0007]有益效果
[0008]多视点视频的运动矢量可被有效编码,从而提高多视点视频的压缩率。
【专利附图】

【附图说明】
[0009]图1是示出根据示例性实施例的通过使用对多视点视频进行编码和解码的方法编码的多视点视频序列的示图;
[0010]图2是示出根据示例性实施例的多视点视频编码设备的配置的框图;
[0011]图3是根据示例性实施例的与图2的运动预测单元相应的运动预测单元的框图;
[0012]图4是用于描述根据不例性实施例的产生视点方向运动矢量和时间方向运动矢量的处理的参考示图;
[0013]图5是用于描述根据示例性实施例的运动矢量的预测处理的参考示图;
[0014]图6是用于描述根据另一示例性实施例的产生视点方向运动矢量预测值的处理的参考示图;
[0015]图7是用于描述根据另一示例性实施例的产生时间方向运动矢量预测值的处理的参考示图;
[0016]图8是根据示例性实施例的对视点方向运动矢量进行编码的处理的流程图;
[0017]图9是根据示例性实施例的对时间方向运动矢量进行编码的处理的流程图;
[0018]图10是根据示例性实施例的多视点视频编码设备的框图;
[0019]图11是根据示例性实施例的对视频解码的方法的流程图。
[0020]最佳模式
[0021]根据示例性实施例的一方面,提供一种对多视点视频的运动矢量进行编码的方法,所述方法包括:通过参考第一帧对当前块执行运动预测来确定将被编码的当前块的视点方向运动矢量,其中,所述第一帧具有与当前块的第一视点不同的第二视点;通过使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量来产生视点方向运动矢量预测值候选,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块相同的第一视点和当前帧的不同画面序列号(POC);对当前块的视点方向运动矢量与从视点方向运动矢量预测值候选之中选择的视点方向运动矢量预测值之间的差值以及关于所述视点方向运动矢量预测值的模式信息进行编码。
[0022]根据另一示例性实施例的一方面,提供一种对多视点视频的运动矢量进行编码的方法,所述方法包括:通过参考第一帧对当前块执行运动预测来确定将被编码的当前块的时间方向运动矢量,其中,所述第一帧具有与当前块相同的第一视点;通过使用邻近块的时间方向运动矢量和相应区域的时间方向运动矢量来产生时间方向运动矢量预测值候选,其中,所述邻近块参考具有第一视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块不同的视点和与当前块相同的POC ;对当前块的时间方向运动矢量与从时间方向运动矢量预测值候选之中选择的时间方向运动矢量预测值之间的差值以及关于所述时间方向运动矢量预测值的模式信息进行编码。
[0023]根据另一示例性实施例的一方面,提供一种对多视点视频的运动矢量进行解码的方法,所述方法包括:对关于从比特流解码的当前块的运动矢量预测值的信息和当前块的运动矢量与当前矢量的运动矢量预测值之间的差值进行解码;基于关于当前块的运动矢量预测值的信息产生当前块的运动矢量预测值;基于所述运动矢量预测值和所述差值恢复当前块的运动矢量,其中,根据包含在关于运动矢量预测值的信息之中的索引信息从视点方向运动矢量预测值候选之中选择所述运动矢量预测值,其中,通过使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量产生所述视点方向运动矢量预测值候选,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块相同的第一视点和当前帧的不同画面序列号(P0C)。
[0024]根据另一示例性实施例的一方面,提供一种对多视点视频的运动矢量进行解码的方法,所述方法包括:对关于从比特流解码的当前块的运动矢量预测值的信息和当前块的运动矢量与当前矢量的运动矢量预测值之间的差值进行解码;基于关于当前块的运动矢量预测值的信息产生当前块的运动矢量预测值;基于所述运动矢量预测值和所述差值恢复当前块的运动矢量,其中,根据包含在关于运动矢量预测值的信息之中的索引信息从时间方向运动矢量预测值候选之中选择所述运动矢量预测值,其中,通过使用邻近块的时间方向运动矢量和相应区域的时间方向运动矢量产生所述时间方向运动矢量预测值候选,其中,所述邻近块参考具有第一视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块不同的视点和与当前块相同的POC。
[0025]根据另一示例性实施例的一方面,提供一种用于对多视点视频的运动矢量进行编码的设备,所述设备包括:视点方向运动预测单元,用于通过参考第一帧对当前块执行运动预测来确定将被编码的当前块的视点方向运动矢量,其中,所述第一帧具有与当前块的第一视点不同的第二视点;运动矢量编码单元,用于通过使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量来产生视点方向运动矢量预测值候选,并用于对当前块的视点方向运动矢量与从视点方向运动矢量预测值候选之中选择的视点方向运动矢量预测值之间的差值以及关于所述视点方向运动矢量预测值的模式信息进行编码,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块相同的第一视点和当前帧的不同的画面序列号(P0C)。
[0026]根据另一示例性实施例的一方面,提供一种用于对多视点视频的运动矢量进行编码的设备,所述设备包括:时间方向运动预测单元,用于通过参考第一帧对当前块执行运动预测来确定将被编码的当前块的时间方向运动矢量,其中,所述第一帧具有与当前块相同的第一视点;运动矢量编码单元,用于通过使用邻近块的时间方向运动矢量和相应区域的时间方向运动矢量来产生时间方向运动矢量预测值候选,并用于对当前块的时间方向运动矢量与从时间方向运动矢量预测值候选之中选择的时间方向运动矢量预测值之间的差值以及关于所述时间方向运动矢量预测值的模式信息进行编码,其中,所述邻近块参考具有第一视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块不同的视点和与当前块相同的POC。
[0027]根据另一示例性实施例的一方面,提供一种用于对多视点视频的运动矢量进行解码的设备,所述设备包括:运动矢量解码单元,用于对关于从比特流解码的当前块的运动矢量预测值的信息和当前块的运动矢量与当前块的运动矢量预测值之间的差值进行解码;运动补偿单元,用于基于关于当前块的运动矢量预测值的信息产生当前块的运动矢量预测值,并用于基于所述运动矢量预测值和所述差值恢复当前块的运动矢量,其中,根据包含在关于运动矢量预测值的信息之中的索引信息从视点方向运动矢量预测值候选之中选择所述运动矢量预测值,其中,通过使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量产生所述视点方向运动矢量预测值候选,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块相同的第一视点和当前帧的不同画面序列号(P0C)。
[0028]根据另一示例性实施例的一方面,提供一种用于对多视点视频的运动矢量进行解码的设备,所述设备包括:运动矢量解码单元,用于对关于从比特流解码的当前块的运动矢量预测值的信息和当前块的运动矢量与当前块的运动矢量预测值之间的差值进行解码;运动补偿单元,用于基于关于当前块的运动矢量预测值的信息产生当前块的运动矢量预测值,并用于基于所述运动矢量预测值和所述差值恢复当前块的运动矢量,其中,根据包含在关于运动矢量预测值的信息之中的索引信息从时间方向运动矢量预测值候选之中选择所述运动矢量预测值,其中,通过使用邻近块的时间方向运动矢量和相应区域的时间方向运动矢量产生所述时间方向运动矢量预测值候选,其中,所述邻近块参考具有第一视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块不同的视点和与当前块相同的POC。
【具体实施方式】
[0029]下文中,将参照附图来详细描述示例性实施例。
[0030]在整个说明书中,术语“视点方向运动矢量”指通过使用包含在不同视点中的参考帧预测编码的运动块的运动矢量。另外,术语“时间方向运动矢量”指通过使用包含在相同视点中的参考帧预测编码的运动块的运动矢量。
[0031]图1是示出根据示例性实施例的通过使用对多视点视频进行编码和解码的方法编码的多视点视频序列的示图。
[0032]参照图1,X轴是时间轴,Y轴是视点轴。X轴的TO至T8分别指示图像的采样时间,Y轴的SO至S8分别指示不同的视点。在图1中,每一行指示输入的具有相同视点的每个图像画面组,每一列指示处于同一时间的多视点图像。
[0033]在多视点图像编码中,针对具有基本视点的图像,周期性地产生帧内画面,通过基于产生的帧内画面执行时间预测或视点间预测来对其它画面进行预测编码。
[0034]时间预测使用相同的视点,S卩,图1中的同一行的图像之间的时间相关性。对于时间预测,可使用利用分层B画面的预测结构。视点间预测使用同一时间,即,同一列的图像之间的空间相关性。在下文中,将描述通过使用分层B画面对图像画面组进行编码的情况。然而,根据本示例性实施例的对多视点视频进行编码和解码的方法可被应用于一个或更多个其它示例性实施例中的具有除了分层B画面结构以外的不同结构的其它多视点视频序列。
[0035]为了通过使用相同视点(即,同一行的图像之间的时间相关性)来执行预测,使用分层B画面的多视点画面预测结构通过使用基准画面(anchor picture)将具有相同视点的图像画面组预测编码为双向画面(下文中,称为“B画面”)。这里,基准画面指示包括在图1的列之中的列110和列120中的画面,其中,列110和列120分别处于第一时间TO和最后时间T8,并包括帧内画面。除了帧内画面(下文中,称为“I画面”)以外,通过仅使用视点间预测对基准画面进行预测编码。包括在除了包括I画面的列110和列120以外的其余列130中的画面被称为非基准画面。
[0036]在下文中,将提供对通过使用分层B画面对在预定时间周期内输入的具有第一视点SO的图像画面进行编码的示例的描述。在具有第一视点SO的输入的图像画面之中,在第一时间TO输入的画面111和在最后时间T8输入的画面121被编码为I画面。接下来,通过参考作为基准画面的I画面111和I画面121对在时间T4输入的画面131进行双向预测编码,并随后将其编码为B画面。通过使用I画面111和B画面131对在时间T2输入的画面132进行双向预测编码,并随后将其编码为B画面。类似地,通过使用I画面111和B画面132对在时间Tl输入的画面133进行双向预测编码,通过使用B画面132和B画面131对在时间T3输入的画面134进行双向预测编码。按照这种方式,由于通过使用基准画面按照分层方式对具有相同视点的图像序列进行双向预测编码,因此通过使用这种预测编码方法编码的图像序列被称为分层B画面。在图1的Bn(其中,n=l、2、3和4)中,n指示被第n个双向预测的B画面。例如,BI指示通过使用作为I画面或P画面的基准画面被首先双向预测的画面。B2指示在BI画面之后被双向预测的画面,B3指示在B2画面之后被双向预测的画面,B4指示在B3画面之后被双向预测的画面。
[0037]当多视点视频序列被编码时,可通过使用分层B画面对具有作为基本视点的第一视点SO的图像画面组进行编码。为了对具有其它视点的图像序列进行编码,首先,通过使用具有第一视点SO的I画面111和I画面121执行视点间预测,包括在基准画面110和基准画面120中的具有奇数视点S2、S4和S6的图像画面和具有最后视点S7的图像画面被预测编码为P画面。根据视点间预测,通过使用具有邻近视点的图像画面对包括在基准画面110和基准画面120中的具有偶数视点S1、S3和S5的图像画面进行双向预测,并将其编码为B画面。例如,通过使用具有邻近视点SO的I画面111和邻近视点S2的P画面112对具有第二视点SI的在时间TO输入的B画面113进行双向预测。
[0038]如上所述,当具有所有视点并被包括在基准画面110和基准画面120中的图像画面中的每一个被编码为I画面、B画面和P画面中的任意一个时,通过执行使用分层B画面的时间预测和视点间预测来对非基准画面130进行双向预测编码。
[0039]根据使用分层B画面的时间预测,通过使用具有相同视点的基准画面对非基准画面130之中的具有奇数视点S2、S4和S6的图像画面和具有最后视点S7的图像画面进行双向预测编码。通过不仅执行使用分层B画面的时间预测还执行使用具有邻近视点的画面的视点间预测来对非基准画面130之中的具有偶数视点S1、S3、S5和S7的图像画面进行双向预测。例如,通过使用基准画面113和基准画面123以及具有邻近视点的画面131和画面135对具有第二视点SI的在时间T4输入的画面136进行预测。
[0040]如上所述,通过使用具有不同视点并在同一时间输入的I画面或先前的P画面来对包括在基准画面110和基准画面120中的P画面进行预测编码。例如,通过使用I画面121作为参考画面对在第三视点S2处的在时间T8输入的P画面122进行预测编码,其中,I画面121在第一视点SO处在同一时间被输入。
[0041]在图1的多视点视频序列中,通过使用具有与参考画面不同的视点的画面(其中,所述画面在同一时间被输入)对P画面或B画面进行预测编码,或通过使用具有与参考画面相同的视点的画面(其中,所述画面在不同时间点被输入)对P画面或B画面进行预测编码。也就是说,当通过使用与参考画面具有不同视点并在同一时间输入的画面对包含在P画面或和B画面中的块进行编码时,可获得视点方向运动矢量。当通过使用与参考画面具有相同视点并在不同时间点输入的画面对包含在P画面或B画面中的块进行编码时,可获得时间方向运动矢量。一般地,为了对单视点视频进行编码,取代对当前块的运动矢量信息进行编码,通过使用与当前块的上侧、左侧和右侧邻近的块的运动矢量的中值来预测运动矢量预测值,并随后将运动矢量预测值和实际运动矢量之间的差值编码为运动矢量信息。然而,在多视点图像编码中,由于视点方向运动矢量和时间方向运动矢量可能共存于邻近块中,因此当邻近块的运动矢量的中值被用作当前块的运动矢量预测值时,如在现有技术的方法中,当前块的运动矢量的类型可能与用于确定运动矢量预测值的邻近块的运动矢量的类型不同。因此,本示例性实施例提供一种对运动矢量进行编码和解码的方法,用于有效预测当前块的运动矢量,以执行多视点图像编码,使得提高多视点视频的压缩率。
[0042]图2是示出根据示例性实施例的多视点视频编码设备200的配置的框图。[0043]参照图2,多视点视频编码设备200包括帧内预测单元210、运动预测单元220、运动补偿单元225、频率变换单元230、量化单元240、熵编码单元250、反量化单元260、频率反变换单元270、去块单元280和环路滤波单元290。
[0044]帧内预测单元210对多视点图像之中的被编码为基准画面中的I画面的块执行帧内预测,运动预测单元220和运动补偿单元225通过参考被包括在具有与编码的当前块相同的视点的图像序列中并具有不同画面序列号(POC)的参考帧或通过参考具有与当前块不同的视点并具有与当前块相同的POC的参考帧,来分别执行运动预测和运动补偿。
[0045]图3是根据示例性实施例的与图2的运动预测单元220相应的运动预测单元300的框图。
[0046]参照图3,运动预测单元300包括视点方向运动预测单元310、时间方向运动预测单元320和运动矢量编码单元330。
[0047]视点方向运动预测单元310通过参考具有与将被编码的当前块的第一视点不同的第二视点的第一参考帧,通过对当前块执行运动预测来确定当前块的视点方向运动矢量。当通过参考具有不同视点的参考帧预测当前块时,运动矢量编码单元330通过使用邻近块(其参考具有不同视点的参考帧并在当前块的邻近块之中)的视点方向运动矢量和包括在参考帧(其具有与当前帧的画面序列号(POC)不同的POC并具有与当前块相同的视点)中的相应区域的视点方向运动矢量来产生视点方向运动矢量预测值候选,并对从视点方向运动矢量预测值候选之中选择的视点方向运动矢量预测值与当前块的视点方向运动矢量之间的差值以及关于选择的视点方向运动矢量预测值的模式信息进行编码。
[0048]时间方向运动预测单元320通过参考具有与将被编码的当前块的第一视点相同的第一视点的第一帧,通过对当前块执行运动预测来确定当前块的时间方向运动矢量。当通过参考具有不同POC并具有当前块的相同视点的参考帧预测当前块时,运动矢量编码单元330通过使用邻近块(其参考具有相同视点的参考帧并在当前块的邻近块之中)的时间方向运动矢量和包括在参考帧(其具有与当前块不同的视点和与当前块相同的P0C)中的相应区域的时间方向运动矢量来产生时间方向运动矢量预测值候选,并对从时间方向运动矢量预测值候选之中选择的时间方向运动矢量预测值与当前块的时间方向运动矢量之间的差值以及关于选择的时间方向运动矢量预测值的模式信息进行编码。控制器(未示出)可通过比较根据视点方向运动矢量的运动矢量和时间方向运动矢量的运动矢量的率失真(R-D)代价来确定将应用于当前块的运动矢量。
[0049]返回参照图2,从帧内预测单元210、运动预测单元220和运动补偿单元225输出的数据通过频率变换单元230和量化单元240,并随后被输出为量化的变换系数。由反量化单元260和频率反变换单元270将量化的变换系数恢复为空间域中的数据,由去块单元280和环路滤波单元290对空间域中的恢复数据进行后处理,所述恢复数据随后被输出为参考帧295。这里,与多视点图像序列中具有不同视点的图像序列相比,参考帧295可以是具有特定视点并被在先编码的图像序列。例如,当按照视点方向对具有不同视点的图像序列进行预测编码时,与具有不同视点的图像序列相比,包括基准画面并具有特定视点的图像序列被在先编码,并被用作参考画面。熵编码单元250可将量化的变换系数输出为比特流 255。
[0050]下文中,提供关于根据示例性实施例的产生视点方向运动矢量和时间方向运动矢量的处理的详细描述。
[0051]图4是用于描述根据不例性实施例的产生视点方向运动矢量和时间方向运动矢量的处理的参考示图。
[0052]参照图2和图4,多视点视频编码设备200对包括在具有第二视点(视点0)图像序列410中的帧411、帧412和帧413执行预测编码,并随后恢复包括在具有第二视点(视点
0)图像序列410中的帧411、帧412和帧413,其中,帧411、帧412和帧413被编码用作用于对具有不同视点的图像序列进行预测编码的参考帧。也就是说,包括在具有第二视点(视点0)的图像序列410中的帧411、帧412和帧413被编码,并随后在具有第一视点(视点I)的图像序列(420)之前被恢复。如图4中所示,包括在具有第二视点(视点0)的图像序列410中的帧411、帧412和帧413可以是通过参考包括在图像序列410中的其它帧按照时间方向被预测编码的帧,或可以是通过参考具有不同视点(未示出)的图像序列被在先编码并随后被恢复的帧。在图4中,箭头表示指示参考哪个参考帧以预测每一帧的预测方向。例如,可通过参考具有相同视点的另一 P帧421或可通过参考具有第二视点(视点0)和相同P0C2的P帧413来对具有第一视点(视点I)并包括将被编码的当前块424的P帧423进行预测编码。也就是说,如图4中所示,当前块424可具有视点方向运动矢量MVl和时间方向运动矢量MV2,其中,所述视点方向运动矢量MVl指示在具有第二视点(视点0)和相同P0C2的P帧413中搜索出的作为与当前块424最相似的区域的相应区域414,所述时间方向运动矢量MV2指示在具有第一视点(视点I)和不同POCO的P帧421中搜索出的作为与当前块424最相似的区域的相应区域425。为了确定当前块424的最终运动矢量,比较根据视点方向运动矢量(MVl)和时间方向运动矢量(MV2)的R-D代价,并随后将具有较小R-D代价的运动矢量确定为当前块424的最终运动矢量。
[0053]当运动预测单元220确定当前块424的视点方向运动矢量(MVl)或时间方向运动矢量(MV2)时,运动补偿单元225将由视点方向运动矢量(MVl)指示的相应区域414或由时间方向运动矢量(MV2)指示的相应区域425确定为当前块424的预测值。
[0054]图5是用于描述根据示例性实施例的运动矢量的预测处理的参考示图。
[0055]参照图5,假设包括在具有第二视点(视点0)的图像序列510中的帧540和帧560被编码并随后先于具有第一视点(视点I)的图像序列520被恢复,并且包括将被编码的当前块531的帧530具有POC ‘B’。另外,如图5中所示,假设当前块531的邻近块532到邻近块540之中的块a0532、a2534、bl536、c539和d540是通过分别参考块a0,541、a2,544、bl’ 543、c’ 546和d’ 545被视点方向预测的邻近块,其中,所述块a0’ 541、a2’ 544、bl’ 543、c’ 546和d’ 545具有相同POC ‘B,并且是具有与包括当前块531的帧530不同的视点(视点0)的帧540的相应区域。另外,假设块al533、b0535、b2537和e538是通过分别参考块a I,551、b0,552、b2,553和e,554被时间方向预测的邻近块,其中,所述块al,551、b0,552、b2’ 553和e’ 554是包括在图像序列520中的帧550的相应区域,其中,所述帧550在图像序列520中具有与当前块531相同的视点并具有与当前块531不同的POC ‘A’。
[0056]当通过参考具有与第一视点(视点I)不同的第二视点(视点0)的参考帧540预测当前块531时,运动矢量编码单元330可通过使用邻近块(即,参考具有第二视点(视点0)的参考帧540并在当前块531的邻近块532到邻近块540之中的块a0532、a2534、bl536、c539和d540)的视点方向运动矢量产生视点方向运动矢量预测值候选。详细地,运动矢量编码单元330选择最初扫描的块bl的运动矢量作为第一视点方向运动矢量预测值,其中,所述块bl参考具有第二视点(视点0)的参考帧540并在与当前块531的左侧邻近的块b0到块b2之中。运动矢量编码单元330选择最初扫描的块a0的运动矢量作为第二视点方向运动矢量预测值,其中,所述块a0参考具有第二视点(视点0)的参考帧540并在与当前块531的上侧邻近的块a0到块a2之中。另外,运动矢量编码单元330选择最初扫描的块d的运动矢量作为第三视点方向运动矢量预测值,其中,所述块d参考具有第二视点(视点0)的参考帧540并在与当前块531的拐角邻近的块C、块d和块e之中。另外,运动矢量编码单元330将第一视点方向运动矢量预测值、第二视点方向运动矢量预测值和第三视点方向运动矢量预测值的中值添加到视点方向运动矢量预测值候选。在这种情况下,运动矢量编码单元330可将不与第一视点方向运动矢量预测值、第二视点方向运动矢量预测值和第三视点方向运动矢量预测值中的任意一个相应的运动矢量预测值设置为0矢量,并且随后可确定中值。
[0057]图6是用于描述根据另一示例性实施例的产生视点方向运动矢量预测值的处理的参考示图。
[0058]根据另一示例性实施例,运动矢量编码单元330可将当前块的共同定位块(co-located block)的视点方向运动矢量和相应块的视点方向运动矢量添加到视点方向运动矢量预测值候选,其中,所述当前块的共同定位块被包括在具有当前块的相同视点和不同POC的参考帧中,通过使用当前块的邻近块的时间方向运动矢量移动共同定位块来获得所述相应块。
[0059]参照图6,假设具有与当前块611相同的视点(视点I)和与当前块610的POC ‘B’不同的POC ‘A’的帧620的共同定位块621是视点方向预测的块并具有视点方向运动矢量mv_Col,其中,所述视点方向预测的块参考具有不同视点(视点0)的帧630的区域621。在这种情况下,运动矢量编码单元330可将共同定位块621的视点方向运动矢量mv_Col确定为当前块611的视点方向运动矢量预测值候选。另外,运动矢量编码单元330可通过使用参考所述帧620并在当前块611的邻近块之中的邻近块的时间方向运动矢量来移动共同定位块621,并且可将移动的相应块622的视点方向运动矢量mv_Cor确定为当前块611的视点方向运动矢量预测值候选。例如,当假设当前块611的邻近块a612、邻近块b613和邻近块c614是参考所述帧620的视点方向预测的邻近块时,运动矢量编码单元330可计算邻近块a612、邻近块b613和邻近块c614的中值mv_med,并可通过将共同定位块621移动多达中值rnvjned来确定移动的相应块622。随后,运动矢量编码单元330可将移动的相应块622的视点方向运动矢量mv_cor确定为当前块611的视点方向运动矢量预测值候选。
[0060]返回参照图5,当通过参考具有相同视点(视点I)和不同POC的参考帧550预测当前块531时,运动矢量编码单元330可通过使用邻近块al533、b0535、b2537和e538 (所述邻近块al533、b0535、b2537和e538参考具有相同视点(视点I)和不同POC的参考帧550并在当前块531的邻近块532到邻近块540之中)的时间方向运动矢量产生时间方向运动矢量预测值候选。详细地,运动矢量编码单元330选择最初扫描的块b0的运动矢量作为第一时间方向运动矢量预测值,其中,所述块b0参考具有相同视点(视点I)和不同POC的参考帧550并在与当前块531的左侧邻近的块b0到块b2之中。运动矢量编码单元330选择最初扫描的块al的运动矢量作为第二时间方向运动矢量预测值,其中,所述块al参考具有相同视点(视点I)和不同POC的参考帧550并在与当前块531的上侧邻近的块a0到块a2之中。另外,运动矢量编码单元330选择最初扫描的块e的运动矢量作为第三时间方向运动矢量预测值,其中,所述块e参考具有相同视点(视点I)和不同POC的参考帧550并在与当前块531的拐角邻近的块C、块d和块e之中。运动矢量编码单元330将第一时间方向运动矢量预测值、第二时间方向运动矢量预测值和第三时间方向运动矢量预测值的中值添加到时间方向运动矢量预测值候选。在这种情况下,运动矢量编码单元330可将不与第一时间方向运动矢量预测值、第二时间方向运动矢量预测值和第三时间方向运动矢量预测值中的任意一个相应的运动矢量预测值设置为0矢量,并随后可确定中值。在上述示例性实施例中,已描述了邻近块之中的块具有与当前块相同的参考帧的情况。然而,当在一个或更多个其它示例性实施例中产生时间方向运动矢量预测值时,可通过缩放邻近块的时间方向运动矢量来确定当前块的时间方向运动矢量预测值,其中,所述邻近块参考与当前帧的参考帧不同并具有与当前帧相同的视点的参考帧。
[0061]图7是用于描述根据另一示例性实施例的产生时间方向运动矢量预测值的处理的参考示图。
[0062]根据另一示例性实施例,运动矢量编码单元330可将当前块的共同定位块的时间方向运动矢量和相应块的时间方向运动矢量添加到时间方向运动矢量预测值候选,其中,所述当前块的共同定位块被包括在具有与当前块相同的POC和不同视点的参考帧中,通过使用当前块的邻近块的视点方向运动矢量移动共同定位块来获得所述相应块。
[0063]参照图7,假设具有当前块711的不同视点I和当前帧710的相同POC B的帧720的共同定位块721是参考具有不同POC A的帧730的区域732的时间方向预测的块并具有时间方向运动矢量mv_Col。在这种情况下,运动矢量编码单元330可将共同定位块721的时间方向运动矢量mv_col确定为当前块711的时间方向运动矢量预测值候选。另外,运动矢量编码单元330可通过使用参考所述帧720并在当前块711的邻近块之中的邻近块的视点方向运动矢量来移动共同定位块721,并且可将移动的相应块722的时间方向运动矢量mv_C0r确定为当前块711的时间方向运动矢量预测值候选。例如,当假设当前块711的邻近块a712、邻近块b713和邻近块c714是参考所述帧720的时间方向预测的邻近块时,运动矢量编码单元330可计算邻近块a712、邻近块b713和邻近块c714的中值,并可通过将共同定位块721移动多达中值mvjiied来确定移动的相应块722。随后,运动矢量编码单元330可将移动的相应块722的时间方向运动矢量mv_Cor确定为当前块711的时间方向运动矢量预测值候选。
[0064]如图5到图7,如果通过使用各种方法产生当前块的视点方向运动矢量预测值候选或时间方向运动矢量预测值候选,则多视点视频编码设备200可通过使用当前块的运动矢量和运动矢量预测值候选之间的差值来比较根据当前块的运动矢量和运动矢量预测值候选的代价,可确定与当前块的运动矢量最相似的运动矢量预测值(即,具有最小代价的运动矢量预测值),并可仅将当前块的运动矢量与运动矢量预测值之间的差值编码为当前块的运动矢量信息。在这种情况下,多视点视频编码设备200可根据预定索引区分视点方向运动矢量预测值候选和时间方向运动矢量预测值候选,并可将与在当前矢量的运动矢量中使用的运动矢量预测值相应的索引信息作为关于运动矢量的信息添加到编码的比特流。
[0065]图8是根据示例性实施例的对视点方向运动矢量进行编码的处理的流程图。[0066]参照图8,在步骤810,视点方向运动预测单元310通过参考第一参考帧对当前块执行运动预测来确定当前块的视点方向运动矢量,其中,所述第一参考帧具有与将被编码的当前块的第一视点不同的第二视点。
[0067]在操作802,运动矢量编码单元330通过使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量来产生视点方向运动矢量预测值候选,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块的第一视点相同的视点和当前帧的不同P0C。如上所述,视点方向运动矢量预测值候选可还包括:从与参考具有不同视点的参考帧的当前块的左侧邻近的块的视点方向运动矢量之中选择的第一视点方向运动矢量预测值、从与当前块的上侧邻近的块的视点方向运动矢量之中选择的第二视点方向运动矢量预测值、和从与当前块的顶点邻近并先于当前块被编码的块的视点方向运动矢量之中选择的第三视点方向运动矢量预测值。另外,视点方向运动矢量预测值候选可还包括第一视点方向运动矢量预测值、第二视点方向运动矢量预测值和第三视点方向运动矢量预测值的中值。另外,视点方向运动矢量预测值候选可包括通过使用当前块的邻近块的时间方向运动矢量移动包括在第二参考帧中的当前块的共同定位块而获得的相应块的视点方向运动矢量。
[0068]在操作830,运动矢量编码单元330对当前块的视点方向运动矢量与从视点方向运动矢量预测值候选之中选择的视点方向运动矢量预测值之间的差值以及关于选择的视点方向运动矢量预测值的模式信息进行编码。
[0069]图9是根据示例性实施例的对时间方向运动矢量进行编码的处理的流程图。
[0070]参照图9,在操作910,时间方向运动预测单元320通过参考第一参考帧对当前块执行运动预测来确定当前块的时间方向运动矢量,其中,所述第一参考帧具有与将被编码的当前块的第一视点相同的第一视点。
[0071]在操作920,运动矢量编码单元330通过使用邻近块的时间方向运动矢量和相应区域的时间方向运动矢量来产生时间方向运动矢量预测值候选,其中,所述邻近块参考具有相同视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在具有与当前块不同的视点和与当前帧相同的POC的参考帧中。如上所述,时间方向运动矢量预测值候选可包括:从与参考具有第一视点的参考帧的当前块的左侧邻近的时间方向运动矢量之中选择的第一时间方向运动矢量预测值、从与当前块的上侧邻近的时间方向运动矢量之中选择的第二时间方向运动矢量预测值和从与当前块的顶点邻近并先于当前块被编码的块的时间方向运动矢量之中选择的第三时间方向运动矢量预测值。时间方向运动矢量预测值候选可还包括第一时间方向运动矢量预测值、第二时间方向运动矢量预测值和第三时间方向运动矢量预测值的中值。另外,时间方向运动矢量预测值候选可包括通过使用当前块的邻近块的视点方向运动矢量移动包括在第二参考帧中的当前块的共同定位块而获得的相应块的时间方向运动矢量。
[0072]在操作930,运动矢量编码单元330对当前块的时间方向运动矢量与从时间方向运动矢量预测值候选之中选择的时间方向运动矢量预测值之间的差值以及关于选择的时间方向运动矢量预测值的模式信息进行编码。
[0073]图10是根据示例性实施例的多视点视频编码设备1000的框图。
[0074]参照图10,多视点视频编码设备1000包括解析单元1010、熵解码单元1020、反量化单元1030、频率反变换单元1040、帧内预测单元1050、运动补偿单元1060、去块单元1070和环路滤波单元1080。
[0075]在比特流1005通过解析单元1010时,将被解码的编码的多视点图像数据和用于解码的信息被解析。由熵解码单元1020和反量化单元1030将编码的多视点图像数据输出为反量化的数据,由频率反变换单元1040恢复空间域中的图像数据。
[0076]针对在空间域中的图像数据,帧内预测单元1050对帧内模式的块执行帧内预测,运动补偿单元1060通过使用参考帧对帧间模式的块执行运动补偿。具体地,在将被解码的当前块的预测模式信息指示视点方向跳过模式的情况下,根据本示例性实施例的运动补偿单元1060通过使用当前块的运动矢量信息(其中,从比特流读取所述运动矢量信息)产生当前块的运动矢量预测值,通过将包括在比特流中的差值和运动矢量预测值相加来恢复当前块的运动矢量,并通过使用恢复的运动矢量执行运动补偿。如上所述,当对当前块进行视点方向预测编码时,运动补偿单元1060根据包含在关于运动矢量预测值的信息中的索引信息从视点方向运动矢量预测值候选之中选择视点方向运动矢量预测值,其中,通过使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量产生所述视点方向运动矢量预测值候选,其中,所述邻近块参考具有与当前块的第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块相同的第一视点和与当前帧不同P0C。另外,当对当前块进行时间方向预测编码时,运动补偿单元1060根据包含在关于运动矢量预测值的信息中的索引信息从时间方向运动矢量预测值候选之中选择时间方向运动矢量预测值,其中,通过使用邻近块的时间方向运动矢量和相应区域的时间方向运动矢量产生所述时间方向运动矢量预测值候选,其中,所述邻近块参考具有第一视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二帧中,其中,所述第二帧具有与当前帧相同POC和与当前块不同的第二视点。在运动补偿单元1060中产生时间方向运动矢量预测值和视点方向运动矢量预测值的处理与图2的运动预测单元220中执行的处理相同或相似,因此在此省略所述处理的详细描述。
[0077]由去块单元1070和环路滤波单元1080对通过帧内预测单元1050和运动补偿单元1060发送的空间域中的图像数据进行后处理,随后,所述图像数据是恢复帧1085。
[0078]图11是根据示例性实施例的对视频解码的方法的流程图。
[0079]在操作1110,关于从比特流解码的当前块的运动矢量预测值的信息和当前块的运动矢量与当前块的运动矢量预测值之间的差值被解码。
[0080]在操作1120,基于解码的关于当前块的运动矢量预测值的信息产生当前块的运动矢量预测值。如上所述,可根据包含在关于运动矢量预测值的信息中的索引信息从视点方向运动矢量预测值候选之中选择所述运动矢量预测值,其中,通过使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量产生所述视点方向运动矢量预测值候选,其中,所述邻近块参考具有与当前块的第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块相同的第一视点和与当前帧不同的P0C。另外,可根据包含在关于运动矢量预测值的信息中的索引信息从时间方向运动矢量预测值候选之中选择所述运动矢量预测值,其中,通过使用邻近块的时间方向运动矢量和相应区域的时间方向运动矢量产生所述时间方向运动矢量预测值候选,其中,所述邻近块参考具有第一视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块不同的第二视点和与当前帧相同的POC。
[0081]在操作1130,基于所述运动矢量预测值和所述差值恢复当前块的运动矢量。在当前块的运动矢量被恢复时,运动补偿单元1060通过运动补偿产生当前块的预测块,并通过将产生的预测块和从比特流读取的残差值相加来恢复当前块。
[0082]示例性实施例还可被实现为计算机可读记录介质上的计算机可读代码。所述计算机可读记录介质是任何可存储其后可被计算机系统读取的数据的数据存储装置。所述计算机可读记录介质的示例包括:只读存储器(ROM)、随机存取存储器(RAM)、⑶-ROM、磁带、软盘、光学数据存储装置等。所述计算机可读记录介质还可被分布在联网的计算机系统上,从而所述计算机可读代码以分布式方式被存储和执行。另外,一个或更多个上述单元可包括执行存储在计算机可读介质中的计算机程序的处理器或微处理器。
[0083]虽然以上已经具体地示出和描述了示例性实施例,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可在其中进行形式和细节上的各种改变。
【权利要求】
1.一种对多视点视频的运动矢量进行编码的方法,所述方法包括: 通过参考第一帧对当前块执行运动预测来确定将被编码的当前块的视点方向运动矢量,其中,所述第一帧具有与当前块的第一视点不同的第二视点; 使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量来确定视点方向运动矢量预测值候选,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有第一视点和与当前帧不同的画面序列号POC ; 对确定的当前块的视点方向运动矢量与从确定的视点方向运动矢量预测值候选之中选择的视点方向运动矢量预测值之间的差值以及关于选择的视点方向运动矢量预测值的模式信息进行编码。
2.如权利要求1所述的方法,其中,确定的视点方向运动矢量预测值候选包括: 从与当前块的左侧邻近的块的视点方向运动矢量之中选择的第一视点方向运动矢量预测值,其中,所述当前块参考具有与第一视点不同的视点的参考帧; 从与当前块的上侧邻近的块的视点方向运动矢量之中选择的第二视点方向运动矢量预测值; 从与当前块的拐角邻近并先于当前块被编码的块的视点方向运动矢量之中选择的第三视点方向运动矢量预测值。
3.如权利要求2所述的方法,其中,确定的视点方向运动矢量预测值候选还包括:第一视点方向运动矢量预测值、第二视点方向运动矢量预测值和第三视点方向运动矢量预测值的中值。
4.如权利要求1所述的方法,其中,确定的视点方向运动矢量预测值候选包括:通过使用当前块的邻近块的时间方向运动矢量移动包括在第二参考帧中的当前块的共同定位块而获得的相应块的视点方向运动矢量。
5.如权利要求4所述的方法,其中,当前块的共同定位块被移动当前块的邻近块的时间方向运动矢量的中值。
6.如权利要求1所述的方法,其中,确定的视点方向运动矢量预测值候选包括:通过使用包括在第三参考帧中的共同定位块的时间方向运动矢量移动包括在第二参考帧中的当前块的共同定位块而获得的相应区域的视点方向运动矢量,其中,所述第三参考帧具有与包括当前块的当前帧相同的POC和与第一视点不同的视点。
7.如权利要求1所述的方法,其中,对关于视点方向运动矢量预测值的模式信息进行编码的步骤包括:根据索引区分确定的视点方向运动矢量预测值候选,并对与选择的视点方向运动矢量预测值相应的索引信息进行编码,其中,所述选择的视点方向运动矢量预测值用于预测当前块的视点方向运动矢量。
8.一种对多视点视频的运动矢量进行解码的方法,所述方法包括: 对关于当前块的运动矢量预测值的信息和当前块的运动矢量与当前块的运动矢量预测值之间的差值进行解码; 基于解码的关于当前块的运动矢量预测值的信息确定当前块的运动矢量预测值; 基于确定的运动矢量预测值和解码的差值恢复当前块的运动矢量, 其中,根据包括在关于运动矢量预测值的信息之中的索引信息从视点方向运动矢量预测值候选之中选择所述运动矢量预测值,其中,使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量确定所述视点方向运动矢量预测值候选,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有第一视点和与当前帧不同的画面序列号POC。
9.如权利要求8所述的方法,其中,确定的视点方向运动矢量预测值候选包括: 从与当前块的左侧邻近的块的视点方向运动矢量之中选择的第一视点方向运动矢量预测值,其中,所述当前块参考具有与第一视点不同的视点的参考帧; 从与当前块的上侧邻近的块的视点方向运动矢量之中选择的第二视点方向运动矢量预测值; 从与当前块的拐角邻近并先于当前块被编码的块的视点方向运动矢量之中选择的第三视点方向运动矢量预测值。
10.如权利要求9所述的方法,其中,确定的视点方向运动矢量预测值候选还包括:第一视点方向运动矢量预测值、第二视点方向运动矢量预测值和第三视点方向运动矢量预测值的中值。
11.如权利要求8所述的方法,其中,确定的视点方向运动矢量预测值候选包括:通过使用当前块的邻近块的时间方向运动矢量移动包括在第二参考帧中的当前块的共同定位块而获得的相应块的视点方向运动矢量。
12.如权利要求11所述的方法,其中,当前块的共同定位块被移动当前块的邻近块的时间方向运动矢量的中值。
13.如权利要求8所述的方法,其中,确定的视点方向运动矢量预测值候选包括:通过使用包括在第三参考帧中的共同定位块的时间方向运动矢量移动包括在第二参考帧中的当前块的共同定位块而获得的相应区域的视点方向运动矢量,其中,所述第三参考帧具有与包括当前块的当前帧相同的POC和与第一视点不同的视点。
14.一种用于对多视点视频的运动矢量进行编码的设备,所述设备包括: 视点方向运动预测单元,用于通过参考第一帧对当前块执行运动预测来确定将被编码的当前块的视点方向运动矢量,其中,所述第一帧具有与当前块的第一视点不同的第二视占.运动矢量编码单元,用于通过使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量来确定视点方向运动矢量预测值候选,并用于对确定的当前块的视点方向运动矢量与从确定的视点方向运动矢量预测值候选之中选择的视点方向运动矢量预测值之间的差值以及关于选择的视点方向运动矢量预测值的模式信息进行编码,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有第一视点和与当前帧不同的画面序列号P0C。
15.一种用于对多视点视频的运动矢量进行解码的设备,所述设备包括: 运动矢量解码单元,用于对关于当前块的运动矢量预测值的信息和当前块的运动矢量与当前块的运动矢量预测值之间的差值进行解码; 运动补偿单元,用于基于解码的关于当前块的运动矢量预测值的信息确定当前块的运动矢量预测值,并用于基于确定的运动矢量预测值和解码的差值恢复当前块的运动矢量, 其中,根据包括在关于运动矢量预测值的信息之中的索引信息从视点方向运动矢量预测值候选之中选择所述运动矢量预测值,其中,使用邻近块的视点方向运动矢量和相应区域的视点方向运动矢量确定所述视点方向运动矢量预测值候选,其中,所述邻近块参考具有与第一视点不同的视点的参考帧并在当前块的邻近块之中,所述相应区域被包括在第二参考帧中,其中,第二参考帧具有与当前块相同的视点的第一视点和当前帧的不同画面序列号POC 。
【文档编号】H04N19/597GK103609125SQ201280030257
【公开日】2014年2月26日 申请日期:2012年4月19日 优先权日:2011年4月19日
【发明者】崔秉斗, 赵大星, 郑丞洙 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1