CN103841426A - 用于运动矢量预测的运动矢量列表建立的方法、装置 - Google Patents
用于运动矢量预测的运动矢量列表建立的方法、装置 Download PDFInfo
- Publication number
- CN103841426A CN103841426A CN201410091554.7A CN201410091554A CN103841426A CN 103841426 A CN103841426 A CN 103841426A CN 201410091554 A CN201410091554 A CN 201410091554A CN 103841426 A CN103841426 A CN 103841426A
- Authority
- CN
- China
- Prior art keywords
- adjacent block
- motion vector
- vector predictor
- prediction piece
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明提供一种用于运动矢量预测的运动矢量列表建立的方法、装置。涉及视频编码领域。解决了采用串行方式建立同一编码单元中的至少两个PU的运动矢量列表的问题,提高并行处理能力。具体可以包括:获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。可应用于建立运动矢量列表中。
Description
技术领域
本发明涉及视频编码领域,尤其涉及用于运动矢量预测的运动矢量列表建立的方法、装置。
背景技术
HEVC(High Efficiency Video Coding,高效视频编码标准)中的帧间预测技术,采用传统的MCP(Motion Compensated Prediction,运动补偿预测)的方法,在运动矢量预测方面,HEVC采用多运动矢量竞争的方法,提高了运动矢量预测的精度,从而提升编码压缩性能。
HEVC帧间预测模式可以包括但不限于:Merge mode(合并模式)、Skip mode(跳过模式)等,且均是利用多运动矢量竞争的方法进行帧间预测的。在进行运动矢量预测时,用到了运动矢量列表。对于Merge mode和Skip mode,运动矢量列表中允许有最多4个空域运动矢量预测值和1个时域运动矢量预测值,Merge mode和Skip mode共用同一个运动矢量列表。编码器从该运动矢量列表中选出一个最佳的运动矢量预测值作为当前PU(Prediction Unit,预测单元<以下可称为预测块>)的运动矢量预测值。
其中,运动矢量列表的建立方法可以包括:
如图1所示,与当前PU在空域上相邻块可以包括:相邻块A0(当前PU左下角位置对应的左下参考块)、相邻块A1(当前PU左下角位置对应的左边参考块)、相邻块B0(当前PU右上角位置对应的右上参考块)、相邻块B1(当前PU右上角位置对应的上边参考块)、相邻块B2(当前PU左上角位置对应的左上参考块);TMVP(Temporal Motion Vector predictor,运动矢量时域预测值)为当前PU在时域上相应的运动矢量预测值。
首先,按照相邻块A1、相邻块B1、相邻块B0、相邻块A0、相邻块B2、相邻块TMVP的顺序依次从各相邻块以及TMVP中获取运动矢量预测值,然后,按照HEVC中的规则将获取到的各运动矢量预测值加入运动矢量列表中。具体的运动矢量列表建立过程为本领域技术人员熟知的技术,在此不再赘述。
进一步的,当前CU(Coding Unit,编码单元<以下可称为编码单元>)可以包含至少两个PU,采用串行方式建立至少两个PU的运动矢量列表的。
在实现上述运动矢量列表建立的过程中,发明人发现现有技术中至少存在如下问题:若当前CU包含至少两个PU,采用串行方式建立至少两个PU的运动矢量列表,使得同一CU中的至少两个PU建立运动矢量列表的速度较慢,降低并行处理能力。
发明内容
本发明的实施例提供一种用于运动矢量预测的运动矢量列表建立的方法、装置,解决了采用串行方式建立同一编码单元中的至少两个PU的运动矢量列表的问题,提高并行处理能力。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,提供一种用于运动矢量预测的运动矢量列表建立的方法,包括:
获取当前预测块空域上的相邻块,所述当前预测块位于当前编码单元中;
根据所述当前编码单元的划分方式确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外;
根据所述适用相邻块的运动矢量预测值并按照预设顺序从所述适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。
另一方面,提供一种用于运动矢量预测的运动矢量列表建立的装置,包括:
接收器,用于获取当前预测块空域上的相邻块,所述当前预测块位于当前编码单元中;
处理器,用于根据所述当前编码单元的划分方式确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外;根据所述适用相邻块的运动矢量预测值并按照预设顺序从所述适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。
本发明实施例提供的用于运动矢量预测的运动矢量列表建立的方法、装置,采用上述方案后,当建立预测块的运动矢量列表时,首先,获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。这样,建立预测块的运动矢量列表时,不考虑位于当前编码单元中的相邻块,当编码单元包含至少两个预测块时,可以采用并行方式建立至少两个预测块的运动矢量列表,增加了同一编码单元中的至少两个预测块建立运动矢量列表的速度,提高了并行处理能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的编码单元CU、PU以及相邻块的结构示意图;
图2a至图2g为本实施例提供的编码单元CU的不同划分方式下的结构示意图;
图3为本实施例提供的一种用于运动矢量预测的运动矢量列表建立的方法流程图;
图4为本实施例提供的一种用于运动矢量预测的运动矢量列表建立的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,CU中可以包含至少两个PU,采用串行方式建立至少两个PU的运动矢量列表,即当前PU建立运动矢量列表完成后,下一个PU才开始建立运动矢量列表。
具体的可以包括:
如图2a至图2g所示,一个CU(图中的实现框)可以进一步划分成多个PU,在HEVC中,CU可以有7种partition(划分)方式。如图2a至图2c中的partition方式是把当前CU划分成左右2个PU(PU1和PU2),又如图2d的partition方式是把当前CU划分成4个PU(PU1、PU2、PU3、PU4),其他类型不再赘述。
以图2a所示的partition为例,由于,PU2的空域参考块A1位于PU2内,因此,只有当PU1编码结束后,PU2才可以开始建立运动矢量列表,PU1与PU2采用串行方式建立运动矢量列表。具体的,首先,PU1按照上述方法建立运动矢量列表,然后,PU2按照上述方法建立运动矢量列表。
这样,使得至少两个PU建立运动矢量列表的速度较慢,降低压缩编码的性能。
为了解决上述至少两个PU建立运动矢量列表的速度较慢,降低压缩编码的性能的问题,本实施例提供一种用于运动矢量预测的动矢量列表建立的方法,如图3所示,可以包括:
301、获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;
302、根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;
303、根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。
采用上述方案后,当建立预测块的运动矢量列表时,首先,获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。这样,建立预测块的运动矢量列表时,不考虑位于当前编码单元中的相邻块,当编码单元包含至少两个预测块时,可以采用并行方式建立至少两个预测块的运动矢量列表,增加了同一编码单元中的至少两个预测块建立运动矢量列表的速度,提高了并行处理能力。
本实施例提供另一种用于运动矢量预测的运动矢量列表建立的方法,该方法是对图3所示的方法的进一步扩展,如图3所示,可以包括:
301、获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中。
如图1所示,预测块空域上的相邻块可以包括:位于预测块左下侧的相邻块A0,位于预测块左侧的相邻块A1,位于预测块右上侧的相邻块B0,位于预测块上侧的相邻块B1,位于预测块左上侧的相邻块B2。
本实施例对获取预测块空域上的相邻块的方法、预测块以及相邻块不作限定,为本领域技术人员熟知的技术,在此不再赘述。
302、根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外。
进一步,如图2e至图2g所示,若当前编码单元CU被上下划分为第一预测块PU1和第二预测块PU2,且当前预测块为第二预测块PU2,则PU2的适用相邻块包括第二预测块的:相邻块A0、相邻块A1、相邻块B0、相邻块B2。此时,相邻块B1位于当前编码单元CU中,不作为第二预测块PU2的适用相邻块。
如图2a至图2c所示,若当前编码单元CU被左右划分为第一预测PU1块和第二预测块PU2,且当前预测块为第二预测块PU2,则PU2的适用相邻块包括第二预测块PU2的:相邻块A0、相邻块B0、相邻块B1、相邻块B2。此时,相邻块A1位于当前编码单元CU中,不作为第二预测块PU2的适用相邻块。
进一步的,可以通过相邻块的标志位确定适用相邻块。标志位可以为但不限于用于标识相邻块不位于CU中。
本实施例对通过相邻块的标志位确定适用相邻块的方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。
303、根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。
进一步的,按照预设顺序从适用相邻块中获取运动矢量预测值可以包括:
若适用相邻块为帧间编码块,则按照相邻块A1、相邻块B1、相邻块B0、相邻块A0、相邻块B2的顺序从适用相邻块中获取运动矢量预测值。
具体的,若适用相邻块为帧间编码块,说明该相邻块包含有运动矢量信息,则从该相邻块中获取运动矢量预测值。
具体的,若预测块的适用相邻块包括第二预测块的:相邻块A0、相邻块A1、相邻块B0、相邻块B2,则按照相邻块A0、相邻块A1、相邻块B0、相邻块B2的顺序从相邻块A0、相邻块A1、相邻块B0、相邻块B2中获取运动矢量预测值;可见,当前CU上下划分为第一和第二预测块时,第二预测块的适用相邻块不包括位于第一预测块内的相邻块B1,因此,不会从B1获取运动矢量预测值。
若预测块的适用相邻块包括第二预测块PU2的:相邻块A0、相邻块B0、相邻块B1、相邻块B2,则按照相邻块A0、相邻块B0、相邻块B1、相邻块B2的顺序从相邻块A0、相邻块B0、相邻块B1、相邻块B2中获取运动矢量预测值。可见,当前CU左右划分为第一和第二预测块时,第二预测块的适用相邻块不包括位于第一预测块内的相邻块A1,因此,不会从A1获取运动矢量预测值。
进一步的,若获取到的运动矢量预测值为当前适用相邻块的运动矢量预测值,则将获取到的运动矢量预测值加入到运动矢量列表包括:
判断当前适用相邻块的运动矢量预测值与除当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同;若不相同,则将当前适用相邻块的运动矢量预测值加入运动矢量列表。
可见,上述过程中,由于适用相邻块不包括位于当前CU内的相邻块,因此CU内的多个PU,不存在依赖性,可以并行执行。例如,当前CU左右划分为第一和第二预测块时,第二预测块的适用相邻块不包括位于第一预测块内的相邻块A1,A1的运动矢量预测值不会参与该判断过程。因此第二预测块与第一预测块可以并行执行该过程。
具体的,作为本实施例的一种实施方式,若当前适用相邻块为相邻块B1,则判断相邻块B1的运动矢量预测值与相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B0,则判断相邻块B0的运动矢量预测值与相邻块B1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块A0,则判断相邻块A0的运动矢量预测值与相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B2,则判断相邻块B2的运动矢量预测值与相邻块A1的运动矢量预测值、相邻块B1的运动矢量预测值中至少一项是否相同。
进一步的,若获取到的运动矢量预测值为当前适用相邻块的运动矢量预测值,则将获取到的运动矢量预测值加入到运动矢量列表还可以包括:
判断当前适用相邻块的运动矢量预测值与已被加入到运动矢量列表中的运动矢量预测值是否相同;若不相同,则将当前适用相邻块的运动矢量预测值加入运动矢量列表。
具体的,作为本实施例的一种实施方式,若当前适用相邻块为相邻块B1,则判断相邻块B1的运动矢量预测值与已被加入运动矢量列表的相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B0,则判断相邻块B0的运动矢量预测值与已被加入运动矢量列表的相邻块B1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块A0,则判断相邻块A0的运动矢量预测值与已被加入运动矢量列表的相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B2,则判断相邻块B2的运动矢量预测值与已被加入运动矢量列表的相邻块A1的运动矢量预测值、已被加入运动矢量列表的相邻块B1的运动矢量预测值中至少一项是否相同。
进一步的,在建立运动矢量列表过程中还可以考虑TMVP中的运动矢量。
作为本实施例的一种实施方式,按照预设顺序从适用相邻块中获取运动矢量预测值还可以为:按照相邻块A1、相邻块B1、相邻块B0、相邻块A0、相邻块B2、TMVP的顺序从适用相邻块和/或TMVP中获取运动矢量预测值。
为了更清晰的描述本实施的方案,下面对在CU不同划分方式下的运动矢量列表建立的方法进行具体描述。
1、CU被左右划分为PU1和PU2
(1)PU1建立运动矢量列表
1)按照相邻块A1,相邻块B1,相邻块B0,相邻块A0,相邻块B2的顺序,从相邻块A1,相邻块B1,相邻块B0,相邻块A0,相邻块B2中获取运动矢量,并加入到运动矢量列表中。
a.当前相邻块为相邻块A1时,仅当相邻块A1中包含运动矢量预测值时,将相邻块A1的运动矢量预测值加入到运动矢量列表中;
b.当前相邻块为相邻块B1时,仅当相邻块B1中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块A1的运动矢量预测值不相同时,将相邻块B1的运动矢量预测值加入到运动矢量列表中;
c.当前相邻块为相邻块B0时,仅当相邻块B0中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块B1的运动矢量预测值不相同时,将相邻块B0的运动矢量预测值加入到运动矢量列表中;
d.当前相邻块为相邻块A0时,仅当相邻块A0中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块A1的运动矢量预测值不相同时,将相邻块A0的运动矢量预测值加入到运动矢量列表中;
e.当前相邻块为相邻块B2时,仅当相邻块B2中包含运动矢量预测值,该预测值与已被加入运动矢量列表中的相邻块A1的运动矢量预测值、和与已被加入运动矢量列表中的相邻块B1的运动矢量预测值均不相同,并且相邻块A1、相邻块B1、相邻块B0、相邻块A0中至少一项的运动矢量预测值未被加入运动矢量列表中时,将相邻块B2的运动矢量预测值加入运动矢量列表中。
2)从TMVP中获取运动矢量预测值,并加入到运动矢量列表中。具体的,利用PU1的时域参考图像获取PU1的TMVP,如果PU1的TMVP可用,则将TMVP的运动矢量加入到运动矢量列表中。
(2)PU2建立运动矢量列表
1)按照相邻块B1,相邻块B0,相邻块A0,相邻块B2的顺序,从相邻块B1,相邻块B0,相邻块A0,相邻块B2中获取运动矢量,并加入到运动矢量列表中。
a.当前相邻块为相邻块B1时,仅当相邻块B1中包含运动矢量预测值时,将相邻块B1的运动矢量预测值加入到运动矢量列表中;
b.当前相邻块为相邻块B0时,仅当相邻块B0中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块B1的运动矢量预测值不相同时,将相邻块B0的运动矢量预测值加入到运动矢量列表中;
c.当前相邻块为相邻块A0时,仅当相邻块A0中包含运动矢量预测值时,将相邻块A0的运动矢量预测值加入到运动矢量列表中;
d.当前相邻块为相邻块B2时,仅当相邻块B2中包含运动矢量预测值,该预测值与已被加入运动矢量列表中的相邻块B1的运动矢量预测值不相同时,将相邻块B2的运动矢量预测值加入运动矢量列表中。
2)从TMVP中获取运动矢量预测值,并加入到运动矢量列表中。具体的,利用PU1的时域参考图像获取PU1的TMVP,如果PU1的TMVP可用,则将TMVP的运动矢量加入到运动矢量列表中。
此时,由于在建立PU2的运动矢量列表时,不考虑PU2的相邻块A1,则可以采用并行方式建立PU1与PU2的运动矢量列表。
2、CU被上下划分为PU1和PU2
(1)PU1建立运动矢量列表
与“1、CU被左右划分为PU1和PU2”中“(1)PU1建立运动矢量列表”的方法类似,在此不再赘述。
(2)PU2建立运动矢量列表
1)按照相邻块A1,相邻块B0,相邻块A0,相邻块B2的顺序,从相邻块A1,相邻块B0,相邻块A0,相邻块B2中获取运动矢量,并加入到运动矢量列表中。
a.当前相邻块为相邻块A1时,仅当相邻块A1中包含运动矢量预测值时,将相邻块A1的运动矢量预测值加入到运动矢量列表中;
b.当前相邻块为相邻块B0时,仅当相邻块B0中包含运动矢量预测值时,将相邻块B0的运动矢量预测值加入到运动矢量列表中;
c.当前相邻块为相邻块A0时,仅当相邻块A0中包含运动矢量预测值,并且该预测值与已被加入运动矢量列表中的相邻块A1的运动矢量预测值不相同时,将相邻块A0的运动矢量预测值加入到运动矢量列表中;
d.当前相邻块为相邻块B2时,仅当相邻块B2中包含运动矢量预测值,该预测值与已被加入运动矢量列表中的相邻块A1的运动矢量预测值不相同时,将相邻块B2的运动矢量预测值加入运动矢量列表中。
2)从TMVP中获取运动矢量预测值,并加入到运动矢量列表中。具体的,利用PU1的时域参考图像获取PU1的TMVP,如果PU1的TMVP可用,则将TMVP的运动矢量加入到运动矢量列表中。
此时,由于在建立PU2的运动矢量列表时,不考虑PU2的相邻块B1,则可以采用并行方式建立PU1与PU2的运动矢量列表。
采用上述方案后,当建立预测块的运动矢量列表时,首先,获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。这样,建立预测块的运动矢量列表时,不考虑位于当前编码单元中的相邻块,当编码单元包含至少两个预测块时,可以采用并行方式建立至少两个预测块的运动矢量列表,增加了同一编码单元中的至少两个预测块建立运动矢量列表的速度,提高了并行处理能力。
下面提供一些装置实施例,提供的装置实施例分别与上述方法实施例相对应,具体的装置及装置中包含的接收器处理器的实施方法参见方法实施例。
本实施例提供一种用于运动矢量预测的运动矢量列表建立的装置,如图4所示,可以包括:
接收器41,用于获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;
处理器42,用于根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。
进一步的,接收器41获取到的预测块空域上的相邻块包括:位于预测块左下侧的相邻块A0,位于预测块左侧的相邻块A1,位于预测块右上侧的相邻块B0,位于预测块上侧的相邻块B1,位于预测块左上侧的相邻块B2。
进一步的,处理器42,还用于若当前编码单元被上下划分为第一预测块和第二预测块,且当前预测块为第二预测块,则预测块的适用相邻块包括第二预测块的:相邻块A0、相邻块A1、相邻块B0、相邻块B2;
若当前编码单元被左右划分为第一预测块和第二预测块,且当前预测块为第二预测块,则预测块的适用相邻块包括第二预测块的:相邻块A0、相邻块B0、相邻块B1、相邻块B2。
进一步的,处理器42,还用于若适用相邻块为帧间编码块,则按照相邻块A1、相邻块B1、相邻块B0、相邻块A0、相邻块B2的顺序从适用相邻块中获取运动矢量预测值。
进一步的,处理器42,还用于判断当前适用相邻块的运动矢量预测值与除当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同;
若不相同,则将当前适用相邻块的运动矢量预测值加入运动矢量列表。
进一步的,处理器42,还用于判断当前适用相邻块的运动矢量预测值与已被加入到运动矢量列表中的运动矢量预测值是否相同;
若不相同,则将当前适用相邻块的运动矢量预测值加入运动矢量列表。
进一步的,处理器42,还用于若当前适用相邻块为相邻块B1,则判断相邻块B1的运动矢量预测值与相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B0,则判断相邻块B0的运动矢量预测值与相邻块B1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块A0,则判断相邻块A0的运动矢量预测值与相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B2,则判断相邻块B2的运动矢量预测值与相邻块A1的运动矢量预测值、相邻块B1的运动矢量预测值中至少一项是否相同。
进一步的,处理器42,还用于若当前适用相邻块为相邻块B1,则判断相邻块B1的运动矢量预测值与已被加入运动矢量列表的相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B0,则判断相邻块B0的运动矢量预测值与已被加入运动矢量列表的相邻块B1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块A0,则判断相邻块A0的运动矢量预测值与已被加入运动矢量列表的相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B2,则判断相邻块B2的运动矢量预测值与已被加入运动矢量列表的相邻块A1的运动矢量预测值、已被加入运动矢量列表的相邻块B1的运动矢量预测值中至少一项是否相同。
采用上述方案后,当建立预测块的运动矢量列表时,首先,接收器获取当前预测块空域上的相邻块,当前预测块位于当前编码单元中;处理器根据当前编码单元的划分方式确定当前预测块的适用相邻块,适用相邻块位于当前编码单元外;根据适用相邻块的运动矢量预测值并按照预设顺序从适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到运动矢量列表。这样,建立预测块的运动矢量列表时,不考虑位于当前编码单元中的相邻块,当编码单元包含至少两个预测块时,可以采用并行方式建立至少两个预测块的运动矢量列表,增加了同一编码单元中的至少两个预测块建立运动矢量列表的速度,提高了并行处理能力。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (32)
1.一种用于运动矢量预测的运动矢量列表建立的方法,其特征在于,包括:
根据当前编码单元的划分方式,从当前编码单元中的当前预测块空域上的相邻块中确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外;
根据所述适用相邻块的运动矢量预测值并按照预设顺序从所述适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。
2.根据权利要求1所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外,包括,
当所述适用相邻块位于所述当前编码单元内,则确定所述当前预测块的相邻块不适用,所述当前预测块的不适用的相邻块的运动矢量预测值不加入到所述运动矢量列表。
3.根据权利要求1或2所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述当前预测块空域上的相邻块包括:
位于预测块左下侧的相邻块A0,位于预测块左侧的相邻块A1,位于预测块右上侧的相邻块B0,位于预测块上侧的相邻块B1,位于预测块左上侧的相邻块B2。
4.根据权利要求1-3任一项所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述根据当前编码单元的划分方式,从当前预测块空域上的相邻块中确定所述当前预测块的适用相邻块,包括:
若所述当前编码单元被上下划分为第一预测块和第二预测块,且所述当前预测块为第二预测块,则所述预测块的适用相邻块包括所述第二预测块的:相邻块A0、相邻块A1、相邻块B0、相邻块B2;
若所述当前编码单元被左右划分为第一预测块和第二预测块,且所述当前预测块为第二预测块,则所述预测块的适用相邻块包括所述第二预测块的:相邻块A0、相邻块B0、相邻块B1、相邻块B2。
5.根据权利要求1-4任一项所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述按照预设顺序从所述适用相邻块中获取运动矢量预测值包括:
若所述适用相邻块为帧间编码块,则按照相邻块A1、相邻块B1、相邻块B0、相邻块A0、相邻块B2的顺序从所述适用相邻块中获取运动矢量预测值。
6.根据权利要求5任一项所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,若所述获取到的运动矢量预测值为当前适用相邻块的运动矢量预测值,则所述将获取到的运动矢量预测值加入到所述运动矢量列表包括:
判断所述当前适用相邻块的运动矢量预测值与除所述当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同;
若不相同,则将所述当前适用相邻块的运动矢量预测值加入所述运动矢量列表。
7.根据权利要求5所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,若所述获取到的运动矢量预测值为当前适用相邻块的运动矢量预测值,则所述将获取到的运动矢量预测值加入到所述运动矢量列表包括:
判断所述当前适用相邻块的运动矢量预测值与已被加入到所述运动矢量列表中的运动矢量预测值是否相同;
若不相同,则将所述当前适用相邻块的运动矢量预测值加入所述运动矢量列表。
8.根据权利要求6所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述判断所述当前适用相邻块的运动矢量预测值与除所述当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同包括:
若当前适用相邻块为相邻块B1,则判断所述相邻块B1的运动矢量预测值与相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B0,则判断所述相邻块B0的运动矢量预测值与相邻块B1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块A0,则判断所述相邻块A0的运动矢量预测值与相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B2,则判断所述相邻块B2的运动矢量预测值与相邻块A1的运动矢量预测值、所述相邻块B1的运动矢量预测值中至少一项是否相同。
9.根据权利要求7所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述判断所述当前适用相邻块的运动矢量预测值与已被加入到所述运动矢量列表中的运动矢量预测值是否相同包括:
若当前适用相邻块为相邻块B1,则判断所述相邻块B1的运动矢量预测值与已被加入所述运动矢量列表的相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B0,则判断所述相邻块B0的运动矢量预测值与已被加入所述运动矢量列表的相邻块B1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块A0,则判断所述相邻块A0的运动矢量预测值与已被加入所述运动矢量列表的相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B2,则判断所述相邻块B2的运动矢量预测值与已被加入所述运动矢量列表的相邻块A1的运动矢量预测值、已被加入所述运动矢量列表的相邻块B1的运动矢量预测值中至少一项是否相同。
10.根据权利要求1-9任意一项所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述运动矢量列表建立的方法应用于视频解码过程中的合并模式(Merge mode)或者跳过模式(Skip mode)的帧间预测。
11.根据权利要求1-9任意一项所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述运动矢量列表建立的方法应用于视频编码过程中的合并模式(Merge mode)或者跳过模式(Skip mode)的帧间预测。
12.根据权利要求1-11任意一项所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述当前编码单元的划分方式包括,
所述当前编码单元被上下划分为第一预测块和第二预测块。
13.根据权利要求12所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述当前编码单元被上下划分为第一预测块和第二预测块包括,所述当前编码单元被上下对称地或者非对称地划分为第一预测块和第二预测块。
14.根据权利要求1-11任意一项所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述当前编码单元的划分方式包括,所述当前编码单元被左右划分为第一预测块和第二预测块。
15.根据权利要求14所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,所述当前编码单元被左右划分为第一预测块和第二预测块包括,所述当前编码单元被左右对称地或者非对称地划分为第一预测块和第二预测块。
16.根据权利要求1-15任一项所述的用于运动矢量预测的运动矢量列表建立的方法,其特征在于,还包括,如果所述当前预测块的时域参考块的运动矢量预测值TMVP可用,则将所述TMVP加入到所述运动矢量列表中。
17.一种用于运动矢量预测的运动矢量列表建立的视频处理装置,其特征在于,包括处理器:
所述处理器被配置为根据当前编码单元的划分方式,从当前编码单元中的当前预测块空域上的相邻块中确定所述当前预测块的适用相邻块,所述适用相邻块位于所述当前编码单元外;
根据所述适用相邻块的运动矢量预测值并按照预设顺序从所述适用相邻块中获取运动矢量预测值,并将获取到的运动矢量预测值加入到所述运动矢量列表。
18.根据权利要求17所述的视频处理装置,其特征在于,所述处理器被具体配置为,
当所述适用相邻块位于所述当前编码单元内,则确定所述当前预测块的相邻块不适用,所述当前预测块的不适用的相邻块的运动矢量预测值不加入到所述运动矢量列表。
19.根据权利要求17或18所述的视频处理装置,其特征在于,所述当前预测块空域上的相邻块包括:
位于预测块左下侧的相邻块A0,位于预测块左侧的相邻块A1,位于预测块右上侧的相邻块B0,位于预测块上侧的相邻块B1,位于预测块左上侧的相邻块B2。
20.根据权利要求17-19任一项所述的视频处理装置,其特征在于,所述处理器被具体配置为,
若所述当前编码单元被上下划分为第一预测块和第二预测块,且所述当前预测块为第二预测块,则所述预测块的适用相邻块包括所述第二预测块的:相邻块A0、相邻块A1、相邻块B0、相邻块B2;
若所述当前编码单元被左右划分为第一预测块和第二预测块,且所述当前预测块为第二预测块,则所述预测块的适用相邻块包括所述第二预测块的:相邻块A0、相邻块B0、相邻块B1、相邻块B2。
21.根据权利要求17-20任一项所述的视频处理装置,其特征在于,所述处理器被具体配置为,
若所述适用相邻块为帧间编码块,则按照相邻块A1、相邻块B1、相邻块B0、相邻块A0、相邻块B2的顺序从所述适用相邻块中获取运动矢量预测值。
22.根据权利要求21所述的视频处理装置,其特征在于,所述处理器被具体配置为,
判断所述当前适用相邻块的运动矢量预测值与除所述当前适用相邻块以外的其他适用相邻块的运动矢量预测值是否相同;
若不相同,则将所述当前适用相邻块的运动矢量预测值加入所述运动矢量列表。
23.根据权利要求21所述的视频处理装置,其特征在于,所述处理器被具体配置为,
判断所述当前适用相邻块的运动矢量预测值与已被加入到所述运动矢量列表中的运动矢量预测值是否相同;
若不相同,则将所述当前适用相邻块的运动矢量预测值加入所述运动矢量列表。
24.根据权利要求22所述的视频处理装置,其特征在于,所述处理器被具体配置为,
若当前适用相邻块为相邻块B1,则判断所述相邻块B1的运动矢量预测值与相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B0,则判断所述相邻块B0的运动矢量预测值与相邻块B1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块A0,则判断所述相邻块A0的运动矢量预测值与相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B2,则判断所述相邻块B2的运动矢量预测值与相邻块A1的运动矢量预测值、所述相邻块B1的运动矢量预测值中至少一项是否相同。
25.根据权利要求23所述的视频处理装置,其特征在于,所述处理器被具体配置为,
若当前适用相邻块为相邻块B1,则判断所述相邻块B1的运动矢量预测值与已被加入所述运动矢量列表的相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B0,则判断所述相邻块B0的运动矢量预测值与已被加入所述运动矢量列表的相邻块B1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块A0,则判断所述相邻块A0的运动矢量预测值与已被加入所述运动矢量列表的相邻块A1的运动矢量预测值是否相同;
若当前适用相邻块为相邻块B2,则判断所述相邻块B2的运动矢量预测值与已被加入所述运动矢量列表的相邻块A1的运动矢量预测值、已被加入所述运动矢量列表的相邻块B1的运动矢量预测值中至少一项是否相同。
26.根据权利要求17-25任一项所述的视频处理装置,其特征在于,所述处理器被具体配置用于进行视频解码,
所述运动矢量列表建立的方法应用于视频解码过程中的合并模式(Mergemode)或者跳过模式(Skip mode)的帧间预测。
27.根据权利要求17-25任一项所述的视频处理装置,其特征在于,所述处理器被具体配置用于进行视频编码,
所述运动矢量列表建立的方法应用于视频编码过程中的合并模式(Mergemode)或者跳过模式(Skip mode)的帧间预测。
28.根据权利要求17-27任一项所述的视频处理装置,其特征在于,所述当前编码单元的划分方式包括,
所述当前编码单元被上下划分为第一预测块和第二预测块。
29.根据权利要求28所述的视频处理装置,其特征在于,所述当前编码单元被上下划分为第一预测块和第二预测块包括,所述当前编码单元被上下对称地或者非对称地划分为第一预测块和第二预测块。
30.根据权利要求17-27任一项所述的视频处理装置,其特征在于,所述当前编码单元的划分方式包括,
所述当前编码单元被左右划分为第一预测块和第二预测块。
31.根据权利要求30所述的视频处理装置,其特征在于,
所述当前编码单元被左右划分为第一预测块和第二预测块包括,所述当前编码单元被左右对称地或者非对称地划分为第一预测块和第二预测块。
32.根据权利要求17-31所述的视频处理装置,其特征在于,所述处理器还被配置为,
如果所述当前预测块的时域参考块的运动矢量预测值TMVP可用,则将所述TMVP加入到所述运动矢量列表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410091554.7A CN103841426B (zh) | 2012-10-08 | 2012-10-08 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210377579.4A CN102883163B (zh) | 2012-10-08 | 2012-10-08 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
CN201410091554.7A CN103841426B (zh) | 2012-10-08 | 2012-10-08 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210377579.4A Division CN102883163B (zh) | 2012-10-08 | 2012-10-08 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103841426A true CN103841426A (zh) | 2014-06-04 |
CN103841426B CN103841426B (zh) | 2017-04-26 |
Family
ID=50804503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410091554.7A Active CN103841426B (zh) | 2012-10-08 | 2012-10-08 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103841426B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196322A1 (en) * | 2014-06-23 | 2015-12-30 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
US10264290B2 (en) | 2013-10-25 | 2019-04-16 | Microsoft Technology Licensing, Llc | Hash-based block matching in video and image coding |
US10368092B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
CN110351566A (zh) * | 2018-04-02 | 2019-10-18 | 浙江大学 | 一种参考运动信息排序方法及装置 |
CN110546956A (zh) * | 2017-06-30 | 2019-12-06 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
US10567754B2 (en) | 2014-03-04 | 2020-02-18 | Microsoft Technology Licensing, Llc | Hash table construction and availability checking for hash-based block matching |
WO2020038357A1 (zh) * | 2018-08-20 | 2020-02-27 | 华为技术有限公司 | 融合候选者列表构建方法、装置及的编/解方法及装置 |
CN110855998A (zh) * | 2018-08-20 | 2020-02-28 | 华为技术有限公司 | 融合候选者列表构建方法、装置及的编/解方法及装置 |
WO2020042758A1 (zh) * | 2018-08-29 | 2020-03-05 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
US11025923B2 (en) | 2014-09-30 | 2021-06-01 | Microsoft Technology Licensing, Llc | Hash-based encoder decisions for video coding |
US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885948A (zh) * | 2005-06-21 | 2006-12-27 | 中国科学院计算技术研究所 | 视频编码的运动矢量空间预测方法 |
CN101072356A (zh) * | 2006-05-12 | 2007-11-14 | 中国科学院计算技术研究所 | 一种运动矢量预测方法 |
US20110211642A1 (en) * | 2008-11-11 | 2011-09-01 | Samsung Electronics Co., Ltd. | Moving picture encoding/decoding apparatus and method for processing of moving picture divided in units of slices |
CN102685477A (zh) * | 2011-03-10 | 2012-09-19 | 华为技术有限公司 | 获取用于合并模式的图像块的方法和设备 |
-
2012
- 2012-10-08 CN CN201410091554.7A patent/CN103841426B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885948A (zh) * | 2005-06-21 | 2006-12-27 | 中国科学院计算技术研究所 | 视频编码的运动矢量空间预测方法 |
CN101072356A (zh) * | 2006-05-12 | 2007-11-14 | 中国科学院计算技术研究所 | 一种运动矢量预测方法 |
US20110211642A1 (en) * | 2008-11-11 | 2011-09-01 | Samsung Electronics Co., Ltd. | Moving picture encoding/decoding apparatus and method for processing of moving picture divided in units of slices |
CN102685477A (zh) * | 2011-03-10 | 2012-09-19 | 华为技术有限公司 | 获取用于合并模式的图像块的方法和设备 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
US10264290B2 (en) | 2013-10-25 | 2019-04-16 | Microsoft Technology Licensing, Llc | Hash-based block matching in video and image coding |
US10368092B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
US10567754B2 (en) | 2014-03-04 | 2020-02-18 | Microsoft Technology Licensing, Llc | Hash table construction and availability checking for hash-based block matching |
WO2015196322A1 (en) * | 2014-06-23 | 2015-12-30 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
US10681372B2 (en) | 2014-06-23 | 2020-06-09 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
US11025923B2 (en) | 2014-09-30 | 2021-06-01 | Microsoft Technology Licensing, Llc | Hash-based encoder decisions for video coding |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
CN110546956A (zh) * | 2017-06-30 | 2019-12-06 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
CN110546956B (zh) * | 2017-06-30 | 2021-12-28 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
US11197018B2 (en) | 2017-06-30 | 2021-12-07 | Huawei Technologies Co., Ltd. | Inter-frame prediction method and apparatus |
CN110351566A (zh) * | 2018-04-02 | 2019-10-18 | 浙江大学 | 一种参考运动信息排序方法及装置 |
CN110351566B (zh) * | 2018-04-02 | 2022-02-11 | 浙江大学 | 一种参考运动信息排序方法及装置 |
CN110855998A (zh) * | 2018-08-20 | 2020-02-28 | 华为技术有限公司 | 融合候选者列表构建方法、装置及的编/解方法及装置 |
WO2020038357A1 (zh) * | 2018-08-20 | 2020-02-27 | 华为技术有限公司 | 融合候选者列表构建方法、装置及的编/解方法及装置 |
CN110855998B (zh) * | 2018-08-20 | 2023-04-11 | 华为技术有限公司 | 融合候选者列表构建方法、装置及的编/解方法及装置 |
WO2020042758A1 (zh) * | 2018-08-29 | 2020-03-05 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
Also Published As
Publication number | Publication date |
---|---|
CN103841426B (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102883163B (zh) | 用于运动矢量预测的运动矢量列表建立的方法、装置 | |
CN103841426A (zh) | 用于运动矢量预测的运动矢量列表建立的方法、装置 | |
US11553175B2 (en) | Method and apparatus for candidate list pruning | |
CN103841425A (zh) | 用于运动矢量预测的运动矢量列表建立的方法、装置 | |
CN102946536B (zh) | 候选矢量列表构建的方法及装置 | |
CN102946535B (zh) | 预测块的视差矢量预测值获取的方法和装置 | |
CN109005412B (zh) | 运动矢量获取的方法及设备 | |
Wang et al. | Fast mode and depth decision algorithm for intra prediction of quality SHVC | |
CN103379322A (zh) | 一种先进运动矢量预测amvp的并行实现方法、装置及系统 | |
CN103379323A (zh) | 一种先进运动矢量预测amvp的并行实现方法、装置及系统 | |
Kim et al. | Fast CU size decision method for HEVC using CU split information of adjacent frames | |
CN103379324A (zh) | 一种先进运动矢量预测amvp的并行实现方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |