候选矢量列表构建的方法及装置的制作方法

文档序号:7862462阅读:270来源:国知局
专利名称:候选矢量列表构建的方法及装置的制作方法
技术领域
本发明涉及视频编解码领域,尤其涉及一种候选矢量列表构建的方法及装置。
背景技术
帧预测技术作为视频编码中的一个必要技术,广泛应用于普通电视信号、高清电视信号以及流媒体的编码过程中。高效视频编码(High Efficiency Video Coding,简称HEVC)标准中的巾贞预测技术,采用传统的基于运动补偿预测(Motion CompensatedPrediction,简称MCP)的方法,但在运动矢量预测方面与以往标准有所不同,HEVC标准采用了多运动矢量竞争技术,提高了运动矢量预测的精度,从而提升了编码压缩性能。多运动矢量竞争技术的基本原理是,根据当前块对应的多个已编码的参考块获得 多个运动矢量信息,运动矢量信息包括运动矢量(Motion Vector,简称MV)值以及索引值,其中,索引值用于标识MV所指向的参考帧。将根据参考块获得的多个运动矢量信息按照一定顺序形成一个候选矢量列表(Candidate Vector List,简称CVL),并在CVL中为每个矢量分配索引号。编码时,从CVL中的多个运动矢量里选择一个最佳MV作为当前块的MV预测值(MV Predictor, MVP),并把选中的MV在CVL中的索引号写入码流。HEVC 3D扩展标准(HEVC 3D Extension,简称3DV)作为对HEVC标准的扩展标准,在HEVC标准的基础上增加了多视(Multi-View)编码技术。多视编码技术支持对具有较强相关性的多个视频序列(后续简称为视(View))进行联合编码。利用各个视之间的相关性,通过视间预测(Inter-View Prediction,简称IVP)技术去除冗余,提高编码性能。视间预测技术通常包括1)视差补偿预测技术(Disparity Compensated Prediction,简称DCP),即利用参考视(Base View)的重构图像作为参考图像,对当前图像进行预测编码;2)视间MV预测技术(Inter-View MV Prediction,IVMVP),即利用参考视的MV信息作为参考MV信息,对当前图像进行预测编码;3)视间残差预测技术(Inter-View Residual Prediction,简称IVRP),即利用参考视的残差(Residual)信息作为参考信息,对当前图像进行预测编码。上述2)视间MV预测技术(Inter-View MV Prediction, IVMVP)又具体包括下述两个主要步骤1)根据参考视获取当前块的一个MV预测值,该MV预测值是从参考视而非当前块所在视中获取的,因而又称为视间MV预测值(Inter-View MVP,简称IVMVP) ;2)根据IVMVP以及在当前块所在视中获取的各种MV预测值构建CVL。在上述视间MV预测技术中,发明人发现现有技术中至少存在如下问题当构建CVL时,现有的CVL构建方式会影响MV的预测精度,从而影响编码压缩性能。

发明内容
本发明的实施例提供一种候选矢量列表构建的方法及装置,能够消除MV预测精度过低对编码压缩性能的影响。—方面,本发明实施例提供了一种候选矢量列表构建的方法,包括
获取当前块的视间运动矢量预测值IVMVP及所述当前块的运动矢量预测值MVP,所述MVP包括时域运动矢量预测值TMVP和空域运动矢量预测值SMVP ;判断所述IVMVP是MVP还是视差矢量预测值DVP ; 根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,构建候选矢量列表 CVL。另一方面,本发明实施例还提供了一种候选矢量列表构建的装置,包括获取单元,用于获取当前块的视间运动矢量预测值IVMVP及所述当前块的运动矢量预测值MVP,所述MVP包括时域运动矢量预测值TMVP和空域运动矢量预测值SMVP ;判断单元,用于判断所述获取单元获取的所述IVMVP是MVP还是视差矢量预测值DVP ;
排序单元,用于根据所述判断单元的判断结果对所述获取单元获取的所述IVMVP、所述TMVP以及所述SMVP进行排序,构建候选矢量列表CVL。本发明实施例提供的候选矢量列表构建的方法及装置,能够在3DV编码过程中判断获取的IVMVP为MVP还是DVP。由于MVP对编码压缩性能的贡献与DVP对编码压缩性能的贡献不同,所以IVMVP在CVL中的位置会干扰矢量预测精度,进而影响3DV编码压缩的性能。与现有技术中不对IVMVP进行识别直接将IVMVP插入到CVL中的预设位置相比,本发明实施例提供的候选矢量列表构建的方法及装置可以根据IVMVP为MVP还是DVP为IVMVP选择在CVL中插入的位置,由此提高矢量预测精度,提升3DV编码压缩的性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例中构建候选矢量列表时当前块的示意图;图2为本发明实施例中构建候选矢量列表时当前视和参考视的示意图;图3为本发明实施例中候选矢量列表构建的方法流程图;图4为本发明实施例中CVL的示意图;图5为现有技术中CVL的示意图;图6为本发明实施例中将IVMVP插入到MVP序列中的示意图;图7为本发明实施例中插入IVMVP后构建的CVL的示意图;图8为本发明应用场景中插入IVMVP后构建的CVL的示意图;图9为本发明实施例中第一个候选矢量列表构建的装置的结构示意图;图10为本发明实施例中第二个候选矢量列表构建的装置的结构示意图;图11为本发明实施例中第三个候选矢量列表构建的装置的结构示意图;图12为本发明实施例中第四个候选矢量列表构建的装置的结构示意图;图13为本发明实施例中第五个候选矢量列表构建的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,前述视间MV预测技术和视间MV预测值的英文缩写均为IVMVP,为避免混淆,此处明晰在后续描述中出现的IVMVP均指视间MV预测值(或称为视间运动矢量预测值),后续不再对此区别进行一一赘述。在对本发明实施例进行说明之前,首先对本发明实施例涉及的相关技术进行简单介绍。通常,一个视频序列中包含许多图像帧,在编码压缩的过程中,需要将每一帧划分为多个块(Block),然后以块为单元进行帧预测。HEVC标准中采用了编码单元CU(CodingUnit),预测单兀PU (Prediction Unit)和变换单兀TU (Transform Unit)的基本概念,从功 能上将帧划分为多种单元,前述的块(Block)即指CU、PU或TU。在对某一帧的当前块进行帧预测时,从与当前块空域相邻的五个参考块中获取五个空域运动矢量预测值SMVP =SMVPao,SMVPai,SMVPbo,SMVPbi以及SMVPB2。这五个参考块是与当前块同属一帧的空域相邻块;同时,还要从与当前块时域相邻的一个参考块中获取时域运动矢量预测值TMVP,该参考块为与当前块同属一个时间轴但不同属同一帧的时域相邻块。在获取到SMVP和TMVP后,按照预定顺序将多个SMVP和一个TMVP进行排序,由此构建一个CVL。在3DV标准中,编码压缩的过程是对两个以上的视频序列(或称为视(View))进行联合(融合)编码压缩。这多个视是对同一场景从不同视角进行采集得到的,其中以某一个视作为参考视,对其他视的帧预测需要参考参考视的预测值。具体的,如图2所示,视I为参考视,视2为进行帧预测的当前视。在对当前视某一当前帧中的当前块进行帧预测时,除需要按照前述图I所示的方式获取五个SMVP和一个TMVP以外,还需要从参考视中获取IVMVP,当采用单向帧预测技术时,获取的IVMVP数量为一个,当采用双向帧预测技术时,获取的IVMVP数量为两个。由于IVMVP是跨视获取的,所以IVMVP称为视间运动矢量预测值。在获取到SMVP、TMVP以及IVMVP后,按照预定顺序将多个SMVP、一个TMVP以及一个IVMVP进行排序,由此构建一个CVL。在本发明后续实施例的说明中,所述块(包括参考块和当前块)为CU、PU或TU,对当前块构建CVL即为对CU、PU或TU构建CVL。在后续说明中,统一以块的概念进行说明,不再区分⑶、PU或TU。本发明实施例针对上述多视联合(融合)编码压缩技术,提供一种CVL构建的方法,具体方法如图3所示,所述方法包括如下步骤301、获取当前块的IVMVP及所述当前块的MVP。仍如图2所示,所述当前块为视2中当前帧(第12帧)里的某一个被预测块。所述获取当前块的IVMVP为获取视I中某一个参考块的运动矢量预测值MVP。仍如图I所示,所述获取当前块的MVP具体为在从与当前块空域相邻的五个参考块中获取五个SMVP ;从与当前块时域相邻的一个参考块中获取一个TMVP。由此获取了一个视间MVP (IVMVP)、五个视内空域MVP (SMVP)和一个视内时域MVP(TMVP)。
在实际应用中,在获取到五个SMVP后,需要按照预定规则在获取到的五个SMVP中选择不超过五个SMVP添加到CVL中,具体的预定规则详见HEVC及3DV标准中的记述,本发明实施例对此不做赘述。此外,在本发明实施例的后续说明中,以将获取到五个SMVP均添加到CVL中为例进行说明,将获取到五个SMVP均添加到CVL中仅为本发明实施例中的一种举例形式,不作为对本发明实施例的限制。302、判断所述 IVMVP 是 MVP 还是 DVP。在步骤301获得IVMVP后,需要确定将该IVMVP在CVL中的排序位置,而在确定IVMVP的排序位置之前需要判断IVMVP是MVP还是DVP。由于IVMVP是跨视获取的MVP,所以IVMVP可能为MVP或者为视差矢量预测值DVP。MVP和DVP的预测精度不同,由此导致对编码压缩性能的贡献不同。在确定IVMVP的排序位置时,需要将预测精度较高的矢量预测值VP排序到CVL中靠前的位置,由此在后 续编码时将CVL中位置靠前的VP选择为当前块的矢量预测值VP,并把该矢量预测值VP的索引号写入码流。303、根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,构建CVL。所述TMVP为步骤301中获取的一个TMVP,所述SMVP为步骤301中获取的五个SMVP0根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,具体包括两种实现方式I)按照第一预设规则对所述TMVP和所述SMVP进行排序,获得准MVP序列,根据步骤302的判断结果将所述IVMVP插入到所述准MVP序列中,由此构建所述CVL。其中,所述第一预设规则包括但不限于H. 26X系列标准、MPEG-X系列标准、HEVC标准及3DV标准中规定的排序规则,具体规则可以参考相关协议的描述,此处不再赘述。在HEVC标准中,由于帧预测不涉及跨视获取MVP,所以获得的MVP序列即为构建的CVL ;在30乂标准中,帧预测还涉及跨视获取MVP,即获取IVMVP,所以获得的MVP序列暂不为构建的CVL,需要将获取的IVMVP插入到获得的MVP序列中,进而完成CVL的构建。根据步骤302的判断结果将所述IVMVP插入到所述准MVP序列中的插入原则为当IVMVP为MVP时,将MVP的位置确定为当IVMVP为DVP时DVP的位置之前。例如,当IVMVP为MVP时将MVP插入到MVP序列中靠前的位置上,当IVMVP为DVP时将DVP插入到MVP序列中罪后的位直上,由此构建完成CVL。2)根据步骤302的判断结果以及第二预设规则对所述IVMVP、所述TMVP以及所述SMVP进行排序,由此构建所述CVL。所述第二预设规则为对IVMVP、TMVP和SMVP的排序规则。根据步骤302的判断结果以及第二预设规则对所述IVMVP、所述TMVP以及所述SMVP进行排序的排序原则为当IVMVP为MVP时,将MVP的位置确定为当IVMVP为DVP时DVP的位置之前。例如,当IVMVP为MVP时将MVP排序到MVP序列中靠前的位置上,当IVMVP为DVP时将DVP排序到MVP序列中靠后的位置上,由此构建完成CVL。以实现方式I)为例具体如图4所示,图4(a)为步骤303中获得的MVP序列,其中,以SMVP代表五个具体的SMVP,SMVP的排序位置在TMVP之前;如图4 (b)所示,当IVMVP为MVP时,由于MVP的预测精度较高,所以将MVP插入到MVP序列的最前端,即MVP的排序位置在SMVP之前;如图4(c)所示,当IVMVP为DVP时,由于DVP的预测精度较低,所以将DVP插入到MVP序列的最末端,即DVP的排序位置在TMVP之后。编码时,由于CVL中排序位置靠前的VP被选择为当前块的矢量预测值的概率较大,所以将预测精度较高的MVP排序在前,将预测精度较低的DVP排序在后可以使预测精度较高的VP被选择为当前块的矢量预测值,由此提高编码压缩的性能。如图5所示,现有技术不对获取的IVMVP进行识别,直接将IVMVP插入到MVP序列的最前端,即IVMVP的排序位置在SMVP之前。如果IVMVP为DVP,则在编码过程中会将预测精度较低的DVP选择当前块的矢量预测值,由此影响编码压缩的性能。本发明实施例提供的CVL构建的方法,能够在在构建CVL前,对IVMVP进行识别,判断IVMVP是MVP还是DVP,在构建CVL时,如果IVMVP是预测精度较高的MVP,则将IVMVP排序到CVL靠前的位置,如果IVMVP是预测精度较低的DVP则将IVMVP排序到CVL靠后的位置,由此在后续编码过程中,使预测精度较高的矢量预测值被选择为当前块的矢量预测值, 继而提高编码压缩的性能。作为对图3所示实施例的详细说明,本发明实施例还提供了一种CVL构建的方法,所述方法对图3中步骤302和步骤303分别作进一步的说明,具体如下I)判断 IVMVP 是 MVP 还是 DVP方式I :判断当前帧与IVMVP的索引值所指向的参考帧是否属于同一个视频序列,即当前帧与IVMVP的索引值所指向的参考帧是否属于同一个视。当判断结果为当前块所在的当前帧与IVMVP的索引值所指向的参考帧属于同一个视频序列时,所述IVMVP为MVP,当判断结果为当前块所在的当前帧与IVMVP的索引值所指向的参考帧不属于同一个视频序列时,所述IVMVP为DVP。方式2 判断当前块所在当前巾贞的图像顺序编号(Picture Order Count,简称P0C)与IVMVP的索引值所指向参考帧的POC是否相等。当判断结果为当前块所在当前帧的POC与IVMVP的索引值所指向参考帧的POC不相等时,所述IVMVP为MVP,当判断结果为当前块所在当前帧的POC与IVMVP的索引值所指向参考帧的POC相等时,所述IVMVP为DVP。特别的,当采用双向帧预测技术时,步骤301中会获取两个IVMVP,对这两个IVMVP的判断方式如下根据方式I或方式2的判断方式分别对两个IVMVP独立进行判断,当两个IVMVP中至少有一个为DVP时,例如,一个I VMVP为MVP —个IVMVP为DVP,或者两个IVMVP均为DVP时,将两个IVMVP确定为一个DVP。当两个IVMVP均为MVP时,将两个IVMVP确定为一个 MVP。2)根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,构建CVL以前述步骤303中的实现方式I)为例,当IVMVP为MVP时,将MVP序列前半段中的任意位置确定为IVMVP(MVP)的位置。例如在图4(a)中,可以将IVMVP(MVP)插入到SMVP之前;当SMVP具体为五个参考块的SMVP时,如图6 (a)所示,当MVP序列中的预测值由前至后(即由左至右)依次为SMVPai、SMVPbi、SMVPbq、SMVPaq、SMVPb2、TMVP时,MVP序列前半段可插入的位置为位置I、位置2和位置3。可以将IVMVP(MVP)插入到位置I、位置2和位置3中的任意一个位置上。当IVMVP为DVP时,将MVP序列后半段中的任意位置确定为IVMVP (DVP)的位置。例如在图4(a)中,可以将IVMVP(DVP)插入到SMVP之后、TMVP之前,或者将IVMVP(DVP)插入到TMVP之后;当SMVP具体为五个参考块的SMVP时,如图6 (b)所示,当MVP序列中的预测值由前至后(即由左至右)依次为SMVPai、SMVPbi、SMVPbq、SMVPao, SMVPb2, TMVP时,MVP序列后半段可插入的位置为位置4、位置5和位置6。可以将IVMVP(DVP)插入到位置4、位置5和位置6中的任意一个位置上。优选的,当IVMVP为MVP时,将IVMVP(MVP)插入到MVP序列的最前端,即图6中的位置I上,插入IVMVP(MVP)后构建的CVL如图7(a)所示; 当IVMVP为DVP时,将IVMVP (DVP)插入到MVP序列的最末端,即图6中的位置6上,插入IVMVP(DVP)后构建的CVL如图7(b)所示;或者,当IVMVP为DVP时,将IVMVP (DVP)插入到MVP序列中SMVPb2之后、TMVP之·前,即图6中的位置5上,插入IVMVP(DVP)后构建的CVL如图7(c)所示;再或者,当IVMVP为DVP时,将IVMVP (DVP)插入到MVP序列中SMVPaci之后、SMVPb2之前,即图6中的位置4上,插入IVMVP(DVP)后构建的CVL如图7(d)所示。可选的,当IVMVP为DVP时,可以取消将IVMVP (DVP)排序到MVP序列中,即不将IVMVP (DVP)插入到MVP序列中,不插入IVMVP(DVP)所构建的CVL如图7(e)所示。以前述步骤303中的实现方式2)为例,当IVMVP为MVP时,CVL的排序顺序由前至后依次为 IVMVP (MVP)、SMVPai, SMVPbi, SMVPbo, SMVPao, SMVPb2 及 TMVP,构建的 CVL 如图 7 (a)所示;当IVMVP 为 DVP 时,CVL 的排序顺序由前至后依次为 SMVPai、SMVPbi、SMVPbci、SMVPaq、SMVPb2, TMVP 及 IVMVP (DVP),构建的 CVL 如图 7 (b)所示;或者,当IVMVP为DVP时,CVL的排序顺序由前至后依次为SMVPai、SMVPbi、SMVPbo,SMVPao, SMVPb2, IVMVP (DVP)及 TMVP,构建的 CVL 如图 7 (c)所示;再或者,当IVMVP为DVP时,CVL的排序顺序由前至后依次为SMVPai、SMVPbi、SMVPbq、SMVPao, IVMVP (DVP)、SMVPb2 及 TMVP,构建的 CVL 如图 7 (d)所示。可选的,当IVMVP为DVP时,可以取消将IVMVP(DVP)排序到MVP序列中,即不将IVMVP(DVP)排序到MVP序列中,不排序IVMVP(DVP)所构建的CVL如图7(e)所示。进一步的,在对IVMVP进行判断后,不论IVMVP为MVP还是DVP,分别获取IVMVP及SMVPai, SMVPbi, SMVPbo, SMVPao, SMVPb2, TMVP的预测值。根据预测值从大到小的顺序对七个矢量预测值进行排序,预测值大的排序在前,预测值小的排序在后,由此构建CVL。需要说明的是,以上说明均以单向预测技术作为帧预测技术进行的说明,即从参考视中获取的IVMVP数量为一个,实际应用中还可以以双向预测技术作为帧预测技术为当前块构建CVL,当采用双向预测技术时,从参考视中获取的IVMVP数量为两个。可选的,当采用双向预测技术时,构建CVL的实现方式具体如下根据步骤301获取两个IVMVP。根据步骤302分别判断两个IVMVP是MVP还是DVP。判断结果有3种情况a、两个IVMVP均为MVP ;b、两个IVMVP均为DVP ;c、一个IVMVP为 MVP,一个 IVMVP 为 DVP。a、当两个IVMVP均为MVP时,按照图6或图7所示的排序方式将两个IVMVP (MVP)排序到同一位置上,即将两个IVMVP(MVP)进行绑定,作为一个IVMVP排序到MVP列表中靠前的某一位置上;b、当两个IVMVP均为DVP时,按照图6或图7所示的排序方式将两个IVMVP (DVP)排序到同一位置上,即将两个IVMVP(DVP)进行绑定,作为一个IVMVP排序到MVP列表中靠后的某一位置上;C、当一个IVMVP为MVP —个IVMVP为DVP时,按照图6或图7所示的排序方式将两个IVMVP进行绑定,作为一个IVMVP排序到MVP列表中靠后的某一位置上。本发明实施例提供的CVL构建的方法,在构建CVL时,能够对获取的IVMVP进行识另IJ,当IVMVP为预测精度较高的MVP时,将IVMVP排序到MVP序列的最前端,当IVMVP为预测精度较低的DVP时,将IVMVP排序到MVP序列的最末端(或MVP序列的后半段),由此在编码过程中可以使预测精度较高的矢量预测值被选择为当前块的预测值,提高编码压缩的 性能。需要说明的是,上述实施例是以将五个SMVP全部参与到CVL构建构过程中为例进行的说明,实际应用中,需要依据相关标准在获取的五个SMVP中选择不多于五个SMVP排序到 CVL 中。本发明实施例中形如 SMVPA1、SMVPbi, SMVPbo, SMVPao, SMVPb2, TMVP 的 MVP 列表仅作为举例说明使用,不构成对添加到MVP列表中SMVP的数量及排列顺序的限制。以上说明为对本发明实施例的一般性描述,下面结合不同的帧间模式,提供两种具体的应用场景。场景一合并模式MERGE Mode或跳过模式Skip Mode在MERGE Mode或Skip Mode中,需要从获取的五个SMVP中选取四个SMVP,与获取的IVMVP和TMVP —同添加到CVL中。以选取SMVPai、SMVPbi、SMVPbo, SMVPao为例,排序后的MVP序列如图8 (a)所示;当获取的IVMVP为IVMVP (MVP)时,将IVMVP (MVP)排序到MVP序列最前端,由此构建的CVL如图8(b)所示;当获取的IVMVP为IVMVP(DVP)时,将IVMVP(DVP)排序到MVP序列中SMVPaci之后、TMVP之前,由此构建的如图8 (c)所示。场景二高级运动矢量预测模式(Advanced Motion Vector Mode,简称AMVPMode)在AMVP Mode中,需要从获取的SMVPaci和SMVPai中选择一个SMVP,从获取的SMVPB(I、SMVPbi和SMVPb2中选择一个SMVP,与获取的IVMVP和TMVP —同添加到CVL中。以选取SMVPai, SMVPbi为例,排序后的MVP序列如图9(a)所示;当获取的IVMVP为IVMVP(MVP)时,将IVMVP (MVP)排序到MVP序列最前端,由此构建的CVL如图9 (b)所示;当获取的IVMVP为IVMVP(DVP)时,将IVMVP(DVP)排序到MVP序列中SMVPbi之后、TMVP之前,由此构建的如图9(c)所示。进一步的,本发明实施例还提供了一种CVL构建的装置,所述装置用于实现上述方法实施例。如图10所示,所述装置包括获取单元1001、判断单元1002以及排序单元1003,其中,所述获取单元1001,用于获取当前块的IVMVP及所述当前块的MVP,所述MVP包括TMVP 和 SMVP ;所述判断单元1002,用于判断所述获取单元1001获取的所述IVMVP是MVP还是DVP ;所述排序单元1003,用于根据所述判断单元1002的判断结果对所述获取单元1001获取的所述IVMVP、所述TMVP以及所述SMVP进行排序,构建CVL。进一步的,如图11所示,所述排序单元1003具体包括第一排序子单元1101,用于按照第一预设规则对所述获取单元1001获取的所述TMVP和所述SMVP进行排序,获得准MVP序列;插入子单元1102,用于根据所述判断单元1002的判断结果将所述获取单元1001获取的所述IVMVP插入到所述第一排序子单元1101排序的所述准MVP序列中,由此构建所述 CVL。第二排序子单元1103,用于根据所述判断单元1002的判断结果以及第二预设规则对所述获取单元1001获取的所述IVMVP、所述TMVP以及所述SMVP进行排序,由此构建所述 CVL。进一步的,如图12所示,所述判断单元1002具体包括 第一判断子单元1201,用于判断所述当前块所在的当前帧与所述获取单元1001获取的所述IVMVP的索引值所指向的参考帧是否属于同一个视频序列,当判断结果为所述当前块所在的当前帧与所述获取单元1001获取的所述IVMVP的索引值所指向的参考帧属于同一个视频序列时,所述IVMVP为MVP,当判断结果为所述当前块所在的当前帧与所述获取单元1001获取的所述IVMVP的索引值所指向的参考帧不属于同一个视频序列时,所述IVMVP 为 DVP ;第二判断子单元1202,用于判断所述当前块所在当前帧的图像顺序编号POC与所述获取单元1001获取的所述IVMVP的索引值所指向参考帧的POC是否相等,当判断结果为所述当前块所在当前帧的POC与所述获取单元1001获取的所述IVMVP的索引值所指向参考帧的POC不相等时,所述IVMVP为MVP,当判断结果为所述当前块所在当前帧的POC与所述获取单元1001获取的所述IVMVP的索引值所指向参考帧的POC相等时,所述IVMVP为DVP。进一步的,当所述获取单元1001获取两个IVMVP时,所述判断单元1002进一步具体用于分别判断每个IVMVP是MVP还是DVP ;当所述两个IVMVP中至少有一个为DVP时,将所述两个IVMVP确定为一个DVP ;当所述两个IVMVP均为MVP时,将所述两个IVMVP确定为一个MVP。进一步的,所述排序单元1003具体用于当所述判断单元1002判断所述IVMVP为MVP时,将所述MVP的位置确定为当所述判断单元判断所述IVMVP为DVP时所述DVP的位置之前。进一步的,所述排序单元1003具体用于当所述判断单元1002判断所述IVMVP为MVP时,将所述CVL前半段中的任意位置确定为所述MVP的位置;当所述判断单元1002判断所述IVMVP为DVP时,将所述CVL后半段中的任意位置确定为所述DVP的位置。进一步的,当所述判断单元1002判断所述IVMVP为MVP时,所述排序单元1003对所述CVL的排序顺序由前至后依次为IVMVP、SMVP和TMVP。进一步的,当所述判断单元1002判断所述IVMVP为DVP时
所述排序单元1003对所述CVL的排序顺序由前至后依次为SMVP、TMVP和IVMVP ;所述排序单元1003对所述CVL的排序顺序由前至后依次为SMVP、IVMVP和TMVP。进一步的,所述排序单元1003具体用于当所述获取单元1001获取的所述SMVP的数量大于I时,将任意两个相邻SMVP之间的位置确定为所述IVMVP的位置。进一步的,所述排序单元1003具体用于当所述判断单元1002判断所述IVMVP为DVP时,取消将所述IVMVP排序到所述CVL 中。本发明实施例提供的CVL构建的装置,能够在在构建CVL前,对IVMVP进行识别,判断IVMVP是MVP还是DVP,在构建CVL时,如果IVMVP是预测精度较高的MVP,则将IVMVP排序到CVL靠前的位置,如果IVMVP是预测精度较低的DVP则将IVMVP排序到CVL靠后的位置,由此在后续编码过程中,使预测精度较高的矢量预测值被选择为当前块的矢量预测值, 继而提高编码压缩的性能。进一步的,本发明实施例还提供了一种CVL构建的装置,所述装置用于实现上述方法实施例。如图13所示,所述装置包括接收器1301、处理器1302、存储器1303以及发射器1304,其中,所述接收器1301,用于获取当前块的IVMVP及所述当前块的MVP,所述MVP包括TMVP 和 SMVP ;所述处理器1302,用于判断所述接收器1301获取的所述IVMVP是MVP还是视差矢量预测值DVP ;所述处理器1302还用于根据判断结果对所述获取单元获取的所述IVMVP、所述TMVP以及所述SMVP进行排序,构建CVL ;所述发射器1304用于将所述处理器1302构建的CVL发送给编码压缩器。进一步的,所述处理器1302用于按照第一预设规则对所述获取单元获取的所述TMVP和所述SMVP进行排序,获得准MVP序列;所述存储器1303,用于存储所述处理器1302获得准MVP序列;获得准MVP序列用于根据判断结果将所述接收器1301获取的所述IVMVP插入到所述存储器1303存储的所述准MVP序列中,由此构建所述CVL。进一步的,所述处理器1302还用于根据判断结果以及第二预设规则对所述接收器1301获取的所述IVMVP、所述TMVP以及所述SMVP进行排序,由此构建所述CVL。进一步的,所述处理器1302具体用于判断所述当前块所在的当前帧与所述接收器1301获取的所述IVMVP的索引值所指向的参考帧是否属于同一个视频序列,当判断结果为所述当前块所在的当前帧与所述接收器1301获取的所述IVMVP的索引值所指向的参考帧属于同一个视频序列时,所述IVMVP为MVP,当判断结果为所述当前块所在的当前帧与所述接收器1301获取的所述IVMVP的索引值所指向的参考帧不属于同一个视频序列时,所述IVMVP 为 DVP ;判断所述当前块所在当前帧的图像顺序编号POC与所述接收器1301获取的所述IVMVP的索引值所指向参考帧的POC是否相等,当判断结果为所述当前块所在当前帧的POC与所述接收器1301获取的所述IVMVP的索引值所指向参考帧的POC不相等时,所述IVMVP为MVP,当判断结果为所述当前块所在当前帧的POC与所述接收器1301获取的所述IVMVP的索引值所指向参考帧的POC相等时,所述IVMVP为DVP。进一步的,所述处理器1302还具体用于分别判断每个IVMVP是MVP还是DVP ;当所述两个IVMVP中至少有一个为DVP时,将所述两个IVMVP确定为一个DVP ;当所述两个IVMVP均为MVP时,将所述两个IVMVP确定为一个MVP。进一步的,所述处理器1302还具体用于当判断所述IVMVP为MVP时,将所述MVP的位置确定为当判断所述IVMVP为DVP时所述DVP的位置之前。进一步的,所述处理器1302还具体用于·当判断所述IVMVP为MVP时,将所述CVL前半段中的任意位置确定为所述MVP的
位置;当判断所述IVMVP为DVP时,将所述CVL后半段中的任意位置确定为所述DVP的位置。进一步的,所述处理器1302还具体用于当判断所述IVMVP为MVP时,对所述CVL的排序顺序由前至后依次为IVMVP、SMVP和 TMVP。当判断所述IVMVP为DVP时对所述CVL的排序顺序由前至后依次为SMVP、TMVP和IVMVP ;对所述CVL的排序顺序由前至后依次为SMVP、IVMVP和TMVP。进一步的,所述处理器1302还具体用于当所述接收器1301获取的所述SMVP的数量大于I时,将任意两个相邻SMVP之间的位置确定为所述IVMVP的位置。进一步的,所述处理器1302还具体用于当判断所述IVMVP为DVP时,取消将所述IVMVP排序到所述CVL中。本发明实施例提供的CVL构建的装置,能够在在构建CVL前,对IVMVP进行识别,判断IVMVP是MVP还是DVP,在构建CVL时,如果IVMVP是预测精度较高的MVP,则将IVMVP排序到CVL靠前的位置,如果IVMVP是预测精度较低的DVP则将IVMVP排序到CVL靠后的位置,由此在后续编码过程中,使预测精度较高的矢量预测值被选择为当前块的矢量预测值,继而提高编码压缩的性能。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各 个实施例所述方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种候选矢量列表构建的方法,所述方法应用于多视编解码中,其特征在于,所述方法包括 获取当前块的视间运动矢量预测值IVMVP及所述当前块的运动矢量预测值MVP,所述MVP包括时域运动矢量预测值TMVP和空域运动矢量预测值SMVP ; 判断所述IVMVP是MVP还是视差矢量预测值DVP ; 根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,构建候选矢量列表CVL。
2.根据权利要求I所述的方法,其特征在于,所述根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,构建候选矢量列表CVL,具体包括 按照第一预设规则对所述TMVP和所述SMVP进行排序,获得准MVP序列; 根据判断结果将所述IVMVP插入到所述准MVP序列中,由此构建所述CVL。
3.根据权利要求I所述的方法,其特征在于,所述根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,构建候选矢量列表CVL,具体包括 根据判断结果以及第二预设规则对所述IVMVP、所述TMVP以及所述SMVP进行排序,由此构建所述CVL。
4.根据权利要求2或3所述的方法,其特征在于,所述判断所述IVMVP是MVP还是视差矢量预测值DVP,具体包括 判断所述当前块所在的当前帧与所述IVMVP的索引值所指向的参考帧是否属于同一个视频序列,当判断结果为所述当前块所在的当前帧与所述IVMVP的索引值所指向的参考帧属于同一个视频序列时,所述IVMVP为MVP,当判断结果为所述当前块所在的当前帧与所述IVMVP的索引值所指向的参考帧不属于同一个视频序列时,所述IVMVP为DVP ;或者, 判断所述当前块所在当前帧的图像顺序编号POC与所述IVMVP的索引值所指向参考帧的POC是否相等,当判断结果为所述当前块所在当前帧的POC与所述IVMVP的索引值所指向参考帧的POC不相等时,所述IVMVP为MVP,当判断结果为所述当前块所在当前帧的POC与所述IVMVP的索引值所指向参考帧的POC相等时,所述IVMVP为DVP。
5.根据权利要求4所述的方法,其特征在于,当获取两个IVMVP时,所述判断所述IVMVP是MVP还是视差矢量预测值DVP,具体包括 分别判断每个IVMVP是MVP还是DVP ; 当所述两个IVMVP中至少有一个为DVP时,将所述两个IVMVP确定为一个DVP ; 当所述两个IVMVP均为MVP时,将所述两个IVMVP确定为一个MVP。
6.根据权利要求5所述的方法,其特征在于,所述根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,构建候选矢量列表CVL,具体包括 当所述IVMVP为MVP时,将所述MVP的位置确定为当所述IVMVP为DVP时所述DVP的位置之前。
7.根据权利要求6所述的方法,其特征在于,所述将所述MVP的位置确定为当所述IVMVP为DVP时所述DVP的位置之前,具体包括 当所述IVMVP为MVP时,将所述CVL前半段中的任意位置确定为所述MVP的位置; 当所述IVMVP为DVP时,将所述CVL后半段中的任意位置确定为所述DVP的位置。
8.根据权利要求7所述的方法,其特征在于,所述当所述IVMVP为MVP时,将所述CVL前半段中的任意位置确定为所述MVP的位置,具体包括 所述CVL的排序顺序由前至后依次为IVMVP、SMVP和TMVP。
9.根据权利要求7所述的方法,其特征在于,所述当所述IVMVP为DVP时,将所述CVL后半段中的任意位置确定为所述DVP的位置,具体包括 所述CVL的排序顺序由前至后依次为SMVP、TMVP和IVMVP ;或者, 所述CVL的排序顺序由前至后依次为SMVP、IVMVP和TMVP。
10.根据权利要求7所述的方法,其特征在于,当所述SMVP的数量大于I时,所述当所述IVMVP为DVP时,将所述CVL后半段中的任意位置确定为所述DVP的位置,具体包括 将任意两个相邻SMVP之间的位置确定为所述IVMVP的位置。
11.根据权利要求7所述的方法,其特征在于,所述方法进一步包括 当所述IVMVP为DVP时,取消将所述IVMVP排序到所述CVL中。
12.一种候选矢量列表构建的装置,所述装置应用于多视编解码中,其特征在于,所述装置包括 获取单元,用于获取当前块的视间运动矢量预测值IVMVP及所述当前块的运动矢量预测值MVP,所述MVP包括时域运动矢量预测值TMVP和空域运动矢量预测值SMVP ; 判断单元,用于判断所述获取单元获取的所述IVMVP是MVP还是视差矢量预测值DVP ;排序单元,用于根据所述判断单元的判断结果对所述获取单元获取的所述IVMVP、所述TMVP以及所述SMVP进行排序,构建候选矢量列表CVL。
13.根据权利要求12所述的装置,其特征在于,所述排序单元具体包括 第一排序子单元,用于按照第一预设规则对所述获取单元获取的所述TMVP和所述SMVP进行排序,获得准MVP序列; 插入子单元,用于根据所述判断单元的判断结果将所述获取单元获取的所述IVMVP插入到所述第一排序子单元排序的所述准MVP序列中,由此构建所述CVL。
14.根据权利要求12所述的装置,其特征在于,所述排序单元进一步具体包括 第二排序子单元,用于根据所述判断单元的判断结果以及第二预设规则对所述获取单元获取的所述IVMVP、所述TMVP以及所述SMVP进行排序,由此构建所述CVL。
15.根据权利要求13或14所述的装置,其特征在于,所述判断单元具体包括 第一判断子单元,用于判断所述当前块所在的当前帧与所述获取单元获取的所述IVMVP的索引值所指向的参考帧是否属于同一个视频序列,当判断结果为所述当前块所在的当前帧与所述获取单元获取的所述IVMVP的索引值所指向的参考帧属于同一个视频序列时,所述IVMVP为MVP,当判断结果为所述当前块所在的当前帧与所述获取单元获取的所述IVMVP的索引值所指向的参考帧不属于同一个视频序列时,所述IVMVP为DVP ; 第二判断子单元,用于判断所述当前块所在当前帧的图像顺序编号POC与所述获取单元获取的所述IVMVP的索引值所指向参考帧的POC是否相等,当判断结果为所述当前块所在当前帧的POC与所述获取单元获取的所述IVMVP的索引值所指向参考帧的POC不相等时,所述IVMVP为MVP,当判断结果为所述当前块所在当前帧的POC与所述获取单元获取的所述IVMVP的索引值所指向参考帧的POC相等时,所述IVMVP为DVP。
16.根据权利要求15所述的方法,其特征在于,当所述获取单元获取两个IVMVP时,所述判断单元进一步具体用于分别判断每个IVMVP是MVP还是DVP ; 当所述两个IVMVP中至少有一个为DVP时,将所述两个IVMVP确定为一个DVP ; 当所述两个IVMVP均为MVP时,将所述两个IVMVP确定为一个MVP。
17.根据权利要求16所述的装置,其特征在于,所述排序单元具体用于 当所述判断单元判断所述IVMVP为MVP时,将所述MVP的位置确定为当所述判断单元判断所述IVMVP为DVP时所述DVP的位置之前。
18.根据权利要求17所述的装置,其特征在于,所述排序单元具体用于 当所述判断单元判断所述IVMVP为MVP时,将所述CVL前半段中的任意位置确定为所述MVP的位置; 当所述判断单元判断所述IVMVP为DVP时,将所述CVL后半段中的任意位置确定为所述DVP的位置。
19.根据权利要求18所述的装置,其特征在于,当所述判断单元判断所述IVMVP为MVP时,所述排序单元对所述CVL的排序顺序由前至后依次为IVMVP、SMVP和TMVP。
20.根据权利要求18所述的装置,其特征在于,当所述判断单元判断所述IVMVP为DVP时 所述排序单元对所述CVL的排序顺序由前至后依次为SMVP、TMVP和IVMVP ; 所述排序单元对所述CVL的排序顺序由前至后依次为SMVP、IVMVP和TMVP。
21.根据权利要求18所述的装置,其特征在于,所述排序单元具体用于当所述获取单元获取的所述SMVP的数量大于I时,将任意两个相邻SMVP之间的位置确定为所述IVMVP的位置。
22.根据权利要求18所述的装置,其特征在于,所述排序单元具体用于 当所述判断单元判断所述IVMVP为DVP时,取消将所述IVMVP排序到所述CVL中。
全文摘要
本发明公开了一种候选矢量列表构建的方法及装置,涉及视频编解码领域,为提高编码压缩性能而发明。所述方法包括获取当前块的视间运动矢量预测值IVMVP及所述当前块的运动矢量预测值MVP,所述MVP包括时域运动矢量预测值TMVP和空域运动矢量预测值SMVP;判断所述IVMVP是MVP还是视差矢量预测值DVP;根据判断结果对所述IVMVP、所述TMVP以及所述SMVP进行排序,构建候选矢量列表CVL。本发明主要应用于基于3DV标准的多视编解码过程中。
文档编号H04N7/26GK102946536SQ20121037976
公开日2013年2月27日 申请日期2012年10月9日 优先权日2012年10月9日
发明者林永兵 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1