用于运动矢量预测的运动矢量列表建立的方法、装置制造方法

文档序号:7798784阅读:107来源:国知局
用于运动矢量预测的运动矢量列表建立的方法、装置制造方法
【专利摘要】本发明提供一种用于运动矢量预测的运动矢量列表建立的方法、装置。涉及视频编码领域。解决了采用串行方式建立同一编码单元中的至少两个PU的运动矢量列表的问题,提高并行处理能力。具体可以包括:获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。可应用于建立运动矢量列表中。
【专利说明】用于运动矢量预测的运动矢量列表建立的方法、装置
[0001]
【技术领域】
[0002]本发明涉及视频编码领域,尤其涉及用于运动矢量预测的运动矢量列表建立的方法、装置。
【背景技术】
[0003]HEVC (High Efficiency Video Coding,高效视频编码标准)中的帧间预测技术,采用传统的MCP (Motion Compensated Prediction,运动补偿预测)的方法,在运动矢量预测方面,HEVC采用多运动矢量竞争的方法,提高了运动矢量预测的精度,从而提升编码压缩性能。
[0004]HEVC帧间预测模式可以包括但不限于:Merge mode (合并模式)、Skip mode (跳过模式)等,且均是利用多运动矢量竞争的方法进行帧间预测的。在进行运动矢量预测时,用到了运动矢量列表。对于Merge mode和Skip mode,运动矢量列表中允许有最多4个空域运动矢量预测值和I个时域运动矢量预测值,Merge mode和Skip mode共用同一个运动矢量列表。编码器从该运动矢量列表中选出一个最佳的运动矢量预测值作为当前PU(Prediction Unit,预测单元〈以下可称为预测块 >)的运动矢量预测值。
[0005]其中,运动矢量列表`的建立方法可以包括:
[0006]如图1所示,与当前I3U在空域上相邻块可以包括:相邻块AO(当前PU左下角位置对应的左下参考块)、相邻块Al(当前PU左下角位置对应的左边参考块)、相邻块BO(当前PU右上角位置对应的右上参考块)、相邻块BI(当前PU右上角位置对应的上边参考块)、相邻块B2 (当前PU左上角位置对应的左上参考块);TMVP (Temporal Motion Vector predictor,运动矢量时域预测值)为当前PU在时域上相应的运动矢量预测值。
[0007]首先,按照相邻块Al、相邻块B1、相邻块B0、相邻块A0、相邻块B2、相邻块TMVP的顺序依次从各相邻块以及TMVP中获取运动矢量预测值,然后,按照HEVC中的规则将获取到的各运动矢量预测值加入运动矢量列表中。具体的运动矢量列表建立过程为本领域技术人员熟知的技术,在此不再赘述。
[0008]进一步的,当前⑶(Coding Unit,编码单元〈以下可称为编码单元 >)可以包含至少两个PU,采用串行方式建立至少两个I3U的运动矢量列表的。
[0009]在实现上述运动矢量列表建立的过程中,发明人发现现有技术中至少存在如下问题:若当前⑶包含至少两个PU,采用串行方式建立至少两个的运动矢量列表,使得同一⑶中的至少两个PU建立运动矢量列表的速度较慢,降低并行处理能力。

【发明内容】

[0010]本发明的实施例提供一种用于运动矢量预测的运动矢量列表建立的方法、装置,解决了采用串行方式建立同一编码单元中的至少两个PU的运动矢量列表的问题,提高并行处理能力。
[0011]为达到上述目的,本发明的实施例采用如下技术方案:
[0012]一方面,提供一种用于运动矢量预测的运动矢量列表建立的方法,包括:
[0013]获取当前预测块空域上的相邻块,所述当前预测块位于当前编码单元中;
[0014]根据所述当前编码单元的划分方式确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外;
[0015]根据所述适用相邻块的运动矢量预测值并按照预设顺序从所述适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。
[0016]另一方面,提供一种用于运动矢量预测的运动矢量列表建立的装置,包括:
[0017]接收器,用于获取当前预测块空域上的相邻块,所述当前预测块位于当前编码单元中;
[0018]处理器,用于根据所述当前编码单元的划分方式确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外;根据所述适用相邻块的运动矢量预测值并按照预设顺序从所述适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。
[0019]本发明实施例提供的用于运动矢量预测的运动矢量列表建立的方法、装置,采用上述方案后,当建立预测块的运动矢量列表时,首先,获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。这样,建立预测块的运动矢量列表时,不考虑位于当前编码单元中的相邻块,当编码单元包含至少两个预测块时,可以采用并行方式建立至少两个预测块的运动矢量列表,增加了同一编码单元中的至少两个预测块建立运动矢量列表的速度,提高了并行处理能力。
【专利附图】

【附图说明】
[0020]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图I为本实施例提供的编码单元CU、PU以及相邻块的结构示意图;
[0022]图2a至图2g为本实施例提供的编码单元CU的不同划分方式下的结构示意图;
[0023]图3为本实施例提供的一种用于运动矢量预测的运动矢量列表建立的方法流程图;
[0024]图4为本实施例提供的一种用于运动矢量预测的运动矢量列表建立的装置结构示意图。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]现有技术中,⑶中可以包含至少两个PU,采用串行方式建立至少两个I3U的运动矢量列表,即当前I3U建立运动矢量列表完成后,下一个I3U才开始建立运动矢量列表。
[0027]具体的可以包括:
[0028]如图2a至图2g所示,一个⑶(图中的实现框)可以进一步划分成多个PU,在HEVC中,⑶可以有7种partition (划分)方式。如图2a至图2c中的partition方式是把当前CU划分成左右2个PU (PUl和PU2),又如图2d的partition方式是把当前CU划分成4个PU (PU1、PU2、PU3、PU4),其他类型不再赘述。
[0029]以图2a所示的partition为例,由于,PU2的空域参考块Al位于PU2内,因此,只有当PUl编码结束后,PU2才可以开始建立运动矢量列表,PUl与PU2采用串行方式建立运动矢量列表。具体的,首先,PUl按照上述方法建立运动矢量列表,然后,PU2按照上述方法建立运动矢量列表。
[0030]这样,使得至少两个PU建立运动矢量列表的速度较慢,降低压缩编码的性能。
[0031]为了解决上述至少两个建立运动矢量列表的速度较慢,降低压缩编码的性能的问题,本实施例提供一种用于运动矢量预测的动矢量列表建立的方法,如图3所示,可以包括:
[0032]301、获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;
[0033]302、根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;
[0034]303、根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。
[0035]采用上述方案后,当建立预测块的运动矢量列表时,首先,获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。这样,建立预测块的运动矢量列表时,不考虑位于当前编码单元中的相邻块,当编码单元包含至少两个预测块时,可以采用并行方式建立至少两个预测块的运动矢量列表,增加了同一编码单元中的至少两个预测块建立运动矢量列表的速度,提高了并行处理能力。
[0036]本实施例提供另一种用于运动矢量预测的运动矢量列表建立的方法,该方法是对图3所示的方法的进一步扩展,如图3所示,可以包括:
[0037]301、获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中。
[0038]如图I所示,预测块空域上的相邻块可以包括:位于预测块左下侧的相邻块A0,位于预测块左侧的相邻块Al,位于预测块右上侧的相邻块B0,位于预测块上侧的相邻块BI,位于预测块左上侧的相邻块B2。
[0039]本实施例对获取预测块空域上的相邻块的方法、预测块以及相邻块不作限定,为本领域技术人员熟知的技术,在此不再赘述。
[0040]302、根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外。
[0041]进一步,如图2e至图2g所示,若当前编码单元⑶被上下划分为第一预测块PUl和第二预测块PU2,且当前预测块为第二预测块TO2,则PU2的适用相邻块包括第二预测块的:相邻块A0、相邻块Al、相邻块B0、相邻块B2。此时,相邻块BI位于当前编码单元CU中,不作为第二预测块PU2的适用相邻块。
[0042]如图2a至图2c所示,若当前编码单元⑶被左右划分为第一预测PUl块和第二预测块PU2,且当前预测块为第二预测块PU2,则PU2的适用相邻块包括第二预测块PU2的:相邻块A0、相邻块B0、相邻块BI、相邻块B2。此时,相邻块Al位于当前编码单元CU中,不作为第二预测块PU2的适用相邻块。
[0043]进一步的,可以通过相邻块的标志位确定适用相邻块。标志位可以为但不限于用于标识相邻块不位于CU中。
[0044]本实施例对通过相邻块的标志位确定适用相邻块的方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。
[0045]303、根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。
[0046]进一步的,按照预设顺序从适用相邻块中获取运动矢量预测值可以包括:
[0047]若适用相邻块为帧间编码块,则按照相邻块Al、相邻块BI、相邻块B0、相邻块A0、相邻块B2的顺序从适用相邻块中获取运动矢量预测值。
[0048]具体的,若适用相邻块为帧间编码块,说明该相邻块包含有运动矢量信息,则从该相邻块中获取运动矢量预测值。
[0049]具体的,若预测块的适用相邻块包括第二预测块的:相邻块A0、相邻块Al、相邻块B0、相邻块B2,则按照相邻块A0、相邻块Al、相邻块B0、相邻块B2的顺序从相邻块A0、相邻块Al、相邻块B0、相邻块B2中获取运动矢量预测值;可见,当前⑶上下划分为第一和第二预测块时,第二预测块的适用相邻块不包括位于第一预测块内的相邻块BI,因此,不会从BI获取运动矢量预测值。
[0050]若预测块的适用相邻块包括第二预测块PU2的:相邻块A0、相邻块B0、相邻块BI、相邻块B2,则按照相邻块A0、相邻块B0、相邻块BI、相邻块B2的顺序从相邻块A0、相邻块B0、相邻块BI、相邻块B2中获取运动矢量预测值。可见,当前⑶左右划分为第一和第二预测块时,第二预测块的适用相邻块不包括位于第一预测块内的相邻块Al,因此,不会从Al
获取运动矢量预测值。
[0051]进一步的,若获取到的运动矢量预测值为当前适用相邻块的运动矢量预测值,则将获取到的运动矢量预测值加入到运动矢量列表包括:
[0052]判断当前适用相邻块的运动矢量预测值与除当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同;若不相同,则将当前适用相邻块的运动矢量预测值加入运动矢量列表。
[0053]可见,上述过程中,由于适用相邻块不包括位于当前⑶内的相邻块,因此⑶内的多个PU,不存在依赖性,可以并行执行。例如,当前CU左右划分为第一和第二预测块时,第二预测块的适用相邻块不包括位于第一预测块内的相邻块Al,Al的运动矢量预测值不会参与该判断过程。因此第二预测块与第一预测块可以并行执行该过程。[0054]具体的,作为本实施例的一种实施方式,若当前适用相邻块为相邻块BI,则判断相邻块BI的运动矢量预测值与相邻块Al的运动矢量预测值是否相同;
[0055]若当前适用相邻块为相邻块B0,则判断相邻块BO的运动矢量预测值与相邻块BI的运动矢量预测值是否相同;
[0056]若当前适用相邻块为相邻块A0,则判断相邻块AO的运动矢量预测值与相邻块Al的运动矢量预测值是否相同;
[0057]若当前适用相邻块为相邻块B2,则判断相邻块B2的运动矢量预测值与相邻块Al的运动矢量预测值、相邻块BI的运动矢量预测值中至少一项是否相同。
[0058]进一步的,若获取到的运动矢量预测值为当前适用相邻块的运动矢量预测值,则将获取到的运动矢量预测值加入到运动矢量列表还可以包括:
[0059]判断当前适用相邻块的运动矢量预测值与已被加入到运动矢量列表中的运动矢量预测值是否相同;若不相同,则将当前适用相邻块的运动矢量预测值加入运动矢量列表。
[0060]具体的,作为本实施例的一种实施方式,若当前适用相邻块为相邻块BI,则判断相邻块BI的运动矢量预测值与已被加入运动矢量列表的相邻块Al的运动矢量预测值是否相同;
[0061]若当前适用相邻块为相邻块B0,则判断相邻块BO的运动矢量预测值与已被加入运动矢量列表的相邻块BI的运动矢量预测值是否相同;
[0062]若当前适用相邻块为相邻块A0,则判断相邻块AO的运动矢量预测值与已被加入运动矢量列表的相邻块Al的运动矢量预测值是否相同;
[0063]若当前适用相邻块为相邻块B2,则判断相邻块B2的运动矢量预测值与已被加入运动矢量列表的相邻块Al的运动矢量预测值、已被加入运动矢量列表的相邻块BI的运动矢量预测值中至少一项是否相同。
[0064]进一步的,在建立运动矢量列表过程中还可以考虑TMVP中的运动矢量。
[0065]作为本实施例的一种实施方式,按照预设顺序从适用相邻块中获取运动矢量预测值还可以为:按照相邻块Al、相邻块BI、相邻块B0、相邻块A0、相邻块B2、TMVP的顺序从适用相邻块和/或TMVP中获取运动矢量预测值。
[0066]为了更清晰的描述本实施的方案,下面对在CU不同划分方式下的运动矢量列表建立的方法进行具体描述。
[0067]I、CU被左右划分为PUl和PU2
[0068](I)PUl建立运动矢量列表
[0069]I)按照相邻块Al,相邻块BI,相邻块B0,相邻块A0,相邻块B2的顺序,从相邻块Al,相邻块BI,相邻块B0,相邻块A0,相邻块B2中获取运动矢量,并加入到运动矢量列表中。
[0070]a.当前相邻块为相邻块Al时,仅当相邻块Al中包含运动矢量预测值时,将相邻块Al的运动矢量预测值加入到运动矢量列表中;
[0071]b.当前相邻块为相邻块BI时,仅当相邻块BI中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块Al的运动矢量预测值不相同时,将相邻块BI的运动矢量预测值加入到运动矢量列表中;
[0072]c.当前相邻块为相邻块BO时,仅当相邻块BO中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块BI的运动矢量预测值不相同时,将相邻块BO的运动矢量预测值加入到运动矢量列表中;
[0073]d.当前相邻块为相邻块AO时,仅当相邻块AO中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块Al的运动矢量预测值不相同时,将相邻块AO的运动矢量预测值加入到运动矢量列表中;
[0074]e.当前相邻块为相邻块B2时,仅当相邻块B2中包含运动矢量预测值,该预测值与已被加入运动矢量列表中的相邻块Al的运动矢量预测值、和与已被加入运动矢量列表中的相邻块BI的运动矢量预测值均不相同,并且相邻块Al、相邻块BI、相邻块B0、相邻块AO中至少一项的运动矢量预测值未被加入运动矢量列表中时,将相邻块B2的运动矢量预测值加入运动矢量列表中。
[0075]2)从TMVP中获取运动矢量预测值,并加入到运动矢量列表中。具体的,利用PUl的时域参考图像获取PUl的TMVP,如果PUl的TMVP可用,则将TMVP的运动矢量加入到运动矢量列表中。
[0076](2) PU2建立运动矢量列表
[0077]I)按照相邻块BI,相邻块B0,相邻块A0,相邻块B2的顺序,从相邻块BI,相邻块B0,相邻块A0,相邻块B2中获取运动矢量,并加入到运动矢量列表中。
[0078]a.当前相邻块为相邻块BI时,仅当相邻块BI中包含运动矢量预测值时,将相邻块BI的运动矢量预测值加入到运动矢量列表中;
[0079]b.当前相邻块为相邻块BO时,仅当相邻块BO中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块BI的运动矢量预测值不相同时,将相邻块BO的运动矢量预测值加入到运动矢量列表中;
[0080]c.当前相邻块为相邻块AO时,仅当相邻块AO中包含运动矢量预测值时,将相邻块AO的运动矢量预测值加入到运动矢量列表中;
[0081]d.当前相邻块为相邻块B2时,仅当相邻块B2中包含运动矢量预测值,该预测值与已被加入运动矢量列表中的相邻块BI的运动矢量预测值不相同时,将相邻块B2的运动矢量预测值加入运动矢量列表中。
[0082]2)从TMVP中获取运动矢量预测值,并加入到运动矢量列表中。具体的,利用PUl的时域参考图像获取PUl的TMVP,如果PUl的TMVP可用,则将TMVP的运动矢量加入到运动矢量列表中。
[0083]此时,由于在建立PU2的运动矢量列表时,不考虑PU2的相邻块Al,则可以采用并行方式建立PUl与的运动矢量列表。
[0084]2、CU被上下划分为PUl和PU2
[0085](I)PUl建立运动矢量列表
[0086]与“I、⑶被左右划分为PUl和PU2”中“(I) PUl建立运动矢量列表”的方法类似,在此不再赘述。
[0087](2) PU2建立运动矢量列表
[0088]I)按照相邻块Al,相邻块B0,相邻块A0,相邻块B2的顺序,从相邻块Al,相邻块B0,相邻块A0,相邻块B2中获取运动矢量,并加入到运动矢量列表中。
[0089]a.当前相邻块为相邻块Al时,仅当相邻块Al中包含运动矢量预测值时,将相邻块Al的运动矢量预测值加入到运动矢量列表中;
[0090]b.当前相邻块为相邻块BO时,仅当相邻块BO中包含运动矢量预测值时,将相邻块BO的运动矢量预测值加入到运动矢量列表中;
[0091]c.当前相邻块为相邻块AO时,仅当相邻块AO中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块Al的运动矢量预测值不相同时,将相邻块AO的运动矢量预测值加入到运动矢量列表中;
[0092]d.当前相邻块为相邻块B2时,仅当相邻块B2中包含运动矢量预测值,该预测值与已被加入运动矢量列表中的相邻块Al的运动矢量预测值不相同时,将相邻块B2的运动矢量预测值加入运动矢量列表中。
[0093]2)从TMVP中获取运动矢量预测值,并加入到运动矢量列表中。具体的,利用PUl的时域参考图像获取PUl的TMVP,如果PUl的TMVP可用,则将TMVP的运动矢量加入到运动矢量列表中。
[0094]此时,由于在建立PU2的运动矢量列表时,不考虑PU2的相邻块BI,则可以采用并行方式建立PUl与的运动矢量列表。
[0095]采用上述方案后,当建立预测块的运动矢量列表时,首先,获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。这样,建立预测块的运动矢量列表时,不考虑位于当前编码单元中的相邻块,当编码单元包含至少两个预测块时,可以采用并行方式建立至少两个预测块的运动矢量列表,增加了同一编码单元中的至少两个预测块建立运动矢量列表的速度,提高了并行处理能力。
[0096]下面提供一些装置实施例,提供的装置实施例分别与上述方法实施例相对应,具体的装置及装置中包含的接收器处理器的实施方法参见方法实施例。
[0097]本实施例提供一种用于运动矢量预测的运动矢量列表建立的装置,如图4所示,可以包括:
[0098]接收器41,用于获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;
[0099]处理器42,用于根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。
[0100]进一步的,接收器41获取到的预测块空域上的相邻块包括:位于预测块左下侧的相邻块A0,位于预测块左侧的相邻块Al,位于预测块右上侧的相邻块B0,位于预测块上侧的相邻块BI,位于预测块左上侧的相邻块B2。
[0101]进一步的,处理器42,还用于若当前编码单元被上下划分为第一预测块和第二预测块,且当前预测块为第二预测块,则预测块的适用相邻块包括第二预测块的:相邻块A0、相邻块Al、相邻块BO、相邻块B2 ;
[0102]若当前编码单元被左右划分为第一预测块和第二预测块,且当前预测块为第二预测块,则预测块的适用相邻块包括第二预测块的:相邻块A0、相邻块B0、相邻块BI、相邻块B2。
[0103]进一步的,处理器42,还用于若适用相邻块为帧间编码块,则按照相邻块Al、相邻块BI、相邻块B0、相邻块A0、相邻块B2的顺序从适用相邻块中获取运动矢量预测值。
[0104]进一步的,处理器42,还用于判断当前适用相邻块的运动矢量预测值与除当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同;
[0105]若不相同,则将当前适用相邻块的运动矢量预测值加入运动矢量列表。
[0106]进一步的,处理器42,还用于判断当前适用相邻块的运动矢量预测值与已被加入到运动矢量列表中的运动矢量预测值是否相同;
[0107]若不相同,则将当前适用相邻块的运动矢量预测值加入运动矢量列表。
[0108]进一步的,处理器42,还用于若当前适用相邻块为相邻块BI,则判断相邻块BI的运动矢量预测值与相邻块Al的运动矢量预测值是否相同;
[0109]若当前适用相邻块为相邻块B0,则判断相邻块BO的运动矢量预测值与相邻块BI的运动矢量预测值是否相同;
[0110]若当前适用相邻块为相邻块A0,则判断相邻块AO的运动矢量预测值与相邻块Al的运动矢量预测值是否相同;
[0111]若当前适用相邻块为相邻块B2,则判断相邻块B2的运动矢量预测值与相邻块Al的运动矢量预测值、相邻块BI的运动矢量预测值中至少一项是否相同。
[0112]进一步的,处理器42,还用于若当前适用相邻块为相邻块BI,则判断相邻块BI的运动矢量预测值与已被加入运动矢量列表的相邻块Al的运动矢量预测值是否相同;
[0113]若当前适用相邻块为相邻块B0,则判断相邻块BO的运动矢量预测值与已被加入运动矢量列表的相邻块BI的运动矢量预测值是否相同;
[0114]若当前适用相邻块为相邻块A0,则判断相邻块AO的运动矢量预测值与已被加入运动矢量列表的相邻块Al的运动矢量预测值是否相同;
[0115]若当前适用相邻块为相邻块B2,则判断相邻块B2的运动矢量预测值与已被加入运动矢量列表的相邻块Al的运动矢量预测值、已被加入运动矢量列表的相邻块BI的运动矢量预测值中至少一项是否相同。
[0116]采用上述方案后,当建立预测块的运动矢量列表时,首先,接收器获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;处理器根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。这样,建立预测块的运动矢量列表时,不考虑位于当前编码单元中的相邻块,当编码单元包含至少两个预测块时,可以采用并行方式建立至少两个预测块的运动矢量列表,增加了同一编码单元中的至少两个预测块建立运动矢量列表的速度,提闻了并行处理能力。
[0117]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0118]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种用于运动矢量预测的运动矢量列表建立的方法,其特征在于,其特征在于,包括: 确定当前预测块空域上的相邻块,所述当前预测块位于当前编码单元中; 根据所述当前编码单元的划分方式确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外; 根据所述适用相邻块的运动矢量预测值并按照预设顺序从所述适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。
2.根据权利要求1所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,其特征在于,所述预测块空域上的相邻块包括: 位于预测块左下侧的相邻块A0,位于预测块左侧的相邻块Al,位于预测块右上侧的相邻块B0,位于预测块上侧的相邻块BI,位于预测块左上侧的相邻块B2。
3.根据权利要求2所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述根据所述当前编码单元的划分方式确定所述当前预测块的适用相邻块包括: 若所述当前编码单元被上下划分为第一预测块和第二预测块,且所述当前预测块为第二预测块,则所述预测块的适用相邻块包括所述第二预测块的:相邻块A0、相邻块Al、相邻块B0、相邻块B2 ; 若所述当前编码单元被左右划分为第一预测块和第二预测块,且所述当前预测块为第二预测块,则所述预测块的适用相邻块包括所述第二预测块的:相邻块A0、相邻块B0、相邻块B1、相邻块B2。
4.根据权利要求2或3所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述按照预设顺序从所述适用相邻块中获取运动矢量预测值包括: 若所述适用相邻块为帧间编码块,则按照相邻块Al、相邻块B1、相邻块B0、相邻块A0、相邻块B2的顺序从所述适用相邻块中获取运动矢量预测值。
5.根据权利要求4所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,若所述获取到的运动矢量预测值为当前适用相邻块的运动矢量预测值,则所述将获取到的运动矢量预测值加入到所述运动矢量列表包括: 判断所述当前适用相邻块的运动矢量预测值与除所述当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同; 若不相同,则将所述当前适用相邻块的运动矢量预测值加入所述运动矢量列表。
6.根据权利要求4所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,若所述获取到的运动矢量预测值为当前适用相邻块的运动矢量预测值,则所述将获取到的运动矢量预测值加入到所述运动矢量列表包括: 判断所述当前适用相邻块的运动矢量预测值与已被加入到所述运动矢量列表中的运动矢量预测值是否相同; 若不相同,则将所述当前适用相邻块的运动矢量预测值加入所述运动矢量列表。
7.根据权利要求5所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述判断所述当前适用相邻块的运动矢量预测值与除所述当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同包括: 若当前适用相邻块为相邻块BI,则判断所述相邻块BI的运动矢量预测值与相邻块Al的运动矢量预测值是否相同; 若当前适用相邻块为相邻块B0,则判断所述相邻块BO的运动矢量预测值与相邻块BI的运动矢量预测值是否相同; 若当前适用相邻块为相邻块A0,则判断所述相邻块AO的运动矢量预测值与相邻块Al的运动矢量预测值是否相同; 若当前适用相邻块为相邻块B2,则判断所述相邻块B2的运动矢量预测值与相邻块Al的运动矢量预测值、所述相邻块BI的运动矢量预测值中至少一项是否相同。
8.根据权利要求6所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述判断所述当前适用相邻块的运动矢量预测值与已被加入到所述运动矢量列表中的运动矢量预测值是否相同包括: 若当前适用相邻块为相邻块BI,则判断所述相邻块BI的运动矢量预测值与已被加入所述运动矢量列表的相邻块Al的运动矢量预测值是否相同; 若当前适用相邻块为相邻块B0,则判断所述相邻块BO的运动矢量预测值与已被加入所述运动矢量列表的相邻块BI的运动矢量预测值是否相同; 若当前适用相邻块为相邻块A0,则判断所述相邻块AO的运动矢量预测值与已被加入所述运动矢量列表的相邻块Al的运动矢量预测值是否相同; 若当前适用相邻块为相邻块B2,则判断所述相邻块B2的运动矢量预测值与已被加入所述运动矢量列表的相邻块Al的运动矢量预测值、已被加入所述运动矢量列表的相邻块BI的运动矢量预测值中至少一项是否相同。
9.一种用于运动矢量预测的运动矢量列表建立的装置,其特征在于,包括: 接收器,用于确定当前预测块空域上的相邻块,所述当前预测块位于当前编码单元中; 处理器,用于根据所述当前编码单元的划分方式确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外;根据所述适用相邻块的运动矢量预测值并按照预设顺序从所述适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。
10.根据权利要求9所述的用于运动矢量预测的运动矢量列表建立的装置,其特征在于,所述接收器获取到的所述预测块空域上的相邻块包括: 位于预测块左下侧的相邻块A0,位于预测块左侧的相邻块Al,位于预测块右上侧的相邻块B0,位于预测块上侧的相邻块BI,位于预测块左上侧的相邻块B2。
11.根据权利要求10所述的用于运动矢量预测的运动矢量列表建立的装置,其特征在于,所述处理器,还用于若所述当前编码单元被上下划分为第一预测块和第二预测块,且所述当前预测块为第二预测块,则所述预测块的适用相邻块包括所述第二预测块的:相邻块AO、相邻块Al、相邻块BO、相邻块B2 ; 若所述当前编码单元被左右划分为第一预测块和第二预测块,且所述当前预测块为第二预测块,则所述预测块的适用相邻块包括所述第二预测块的:相邻块A0、相邻块B0、相邻块B1、相邻块B2。
12.根据权利要求10或11所述的用于运动矢量预测的运动矢量列表建立的装置,其特征在于,所述处理器,还用于若所述适用相邻块为帧间编码块,则按照相邻块Al、相邻块B1、相邻块BO、相邻块A0、相邻块B2的顺序从所述适用相邻块中获取运动矢量预测值。
13.根据权利要求12所述的用于运动矢量预测的运动矢量列表建立的装置,其特征在于,所述处理器,还用于判断所述当前适用相邻块的运动矢量预测值与除所述当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同;若不相同,则将所述当前适用相邻块的运动矢量预测值加入所述运动矢量列表。
14.根据权利要求12所述的用于运动矢量预测的运动矢量列表建立的装置,其特征在于,所述处理器,还用于判断所述当前适用相邻块的运动矢量预测值与已被加入到所述运动矢量列表中的运动矢量预测值是否相同; 若不相同,则将所述当前适用相邻块的运动矢量预测值加入所述运动矢量列表。
15.根据权利要求13所述的用于运动矢量预测的运动矢量列表建立的装置,其特征在于,所述处理器,还用于若当前适用相邻块为相邻块BI,则判断所述相邻块BI的运动矢量预测值与相邻块Al的运动矢量预测值是否相同; 若当前适用相邻块为相邻块B0,则判断所述相邻块BO的运动矢量预测值与相邻块BI的运动矢量预测值是否相同; 若当前适用相邻块为相邻块A0,则判断所述相邻块AO的运动矢量预测值与相邻块Al的运动矢量预测值是否相同; 若当前适用相邻块为相邻块B2,则判断所述相邻块B2的运动矢量预测值与相邻块Al的运动矢量预测值、所述相邻块BI的运动矢量预测值中至少一项是否相同。
16.根据权利要求14所述的用于运动矢量预测的运动矢量列表建立的装置,其特征在于,其特征在于,所述处理器,还用于若当前适用相邻块为相邻块BI,则判断所述相邻块BI的运动矢量预测值与已被加入所述运动矢量列表的相邻块Al的运动矢量预测值是否相同; 若当前适用相邻块为相邻块B0,则判断所述相邻块BO的运动矢量预测值与已被加入所述运动矢量列表的相邻块BI的运动矢量预测值是否相同; 若当前适用相邻块为相邻块A0,则判断所述相邻块AO的运动矢量预测值与已被加入所述运动矢量列表的相邻块Al的运动矢量预测值是否相同; 若当前适用相邻块为相邻块B2,则判断所述相邻块B2的运动矢量预测值与已被加入所述运动矢量列表的相邻块Al的运动矢量预测值、已被加入所述运动矢量列表的相邻块BI的运动矢量预测值中至少一项是否相同。
【文档编号】H04N19/513GK103841425SQ201410091553
【公开日】2014年6月4日 申请日期:2012年10月8日 优先权日:2012年10月8日
【发明者】林永兵 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1