图像解码设备

阅读:962发布:2020-05-12

专利汇可以提供图像解码设备专利检索,专利查询,专利分析的服务。并且提供了一种图像解码设备。用于根据本 发明 的用于解码图像的方法包括以下步骤:通过量化和逆变换已熵解码的剩余 块 来解码剩余块;经由 运动补偿 生成预测块;和通过添加已解码的剩余块到预测块来解码图像,其中,基于与预测块相关的 运动矢量 候选列表的运动矢量候选的最大数目,通过添加特定的运动矢量候选或者通过从运动矢量候选当中丢弃一部分来调整运动矢量候选列表,并且在预测块生成步骤中,基于已调整的运动矢量候选列表确定预测块的预测运动矢量。因此,在图像的编码/解码期间减小算术运算的复杂性。,下面是图像解码设备专利的具体信息内容。

1.一种图像解码设备,包括:
运动矢量候选列表配置单元,配置运动矢量候选列表;
运动矢量候选列表修改单元,通过基于运动矢量候选列表中的运动矢量候选的最大数目和运动矢量候选列表中的运动矢量候选的数目将(0,0)运动矢量候选添加到运动矢量候选列表或者去除运动矢量候选列表中的至少一个运动矢量候选来调整运动矢量候选列表;
预测运动矢量确定单元,基于调整的运动矢量候选列表确定预测运动矢量,其中,调整的运动矢量候选列表包括空间运动矢量候选、时间运动矢量候选和(0,0)运动矢量中的至少一个,
其中,当运动矢量候选列表中的运动矢量候选的数目小于运动矢量候选列表中的运动矢量候选的最大数目时,运动矢量候选列表修改单元迭代地添加(0,0)运动矢量候选,直到运动矢量候选列表中的运动矢量候选的数目达到运动矢量候选列表中的运动矢量候选的最大数目为止。
2.根据权利要求1的图像解码设备,其中,当在运动矢量候选列表中的空间运动矢量候选当中存在相同的空间运动矢量候选时,运动矢量候选列表修改单元从运动矢量候选列表去除至少一个相同的空间运动矢量候选。
3.根据权利要求2的图像解码设备,其中,当存在两个相同的空间运动矢量候选时,运动矢量候选列表修改单元从运动矢量候选列表去除两个相同的空间运动矢量候选中具有较高运动矢量候选索引的空间运动矢量候选。
4.根据权利要求1的图像解码设备,其中,当运动矢量候选列表中的运动矢量候选的数目小于运动矢量候选的最大数目时,运动矢量候选列表修改单元迭代地添加(0,0)运动矢量候选,直到运动矢量候选列表中的运动矢量候选的数目达到运动矢量候选的最大数目为止,而无论运动矢量候选是否存在于运动矢量候选列表中或者(0,0)运动矢量候选是否存在于运动矢量候选列表中。
5.根据权利要求1的图像解码设备,其中,当没有运动矢量候选存在于运动矢量候选列表中时,运动矢量候选列表修改单元将两个(0,0)运动矢量候选添加到运动矢量候选列表。
6.根据权利要求1的图像解码设备,其中,当一个(0,0)运动矢量候选存在于运动矢量候选列表中时,运动矢量候选列表修改单元将再一个(0,0)运动矢量候选添加到运动矢量候选列表。
7.根据权利要求1的图像解码设备,其中,当运动矢量候选列表中的运动矢量候选的数目大于运动矢量候选的最大数目时,运动矢量候选列表修改单元从运动矢量候选列表去除具有大于运动矢量候选的最大数目减1的索引的运动矢量候选。
8.根据权利要求1的图像解码设备,其中,运动矢量候选的最大数目是2。
9.根据权利要求1的图像解码设备,其中,运动矢量候选列表配置单元导出空间运动矢量候选,导出时间运动矢量候选,并将导出的空间运动矢量候选和导出的时间运动矢量候选中的至少一个添加到运动矢量候选列表。
10.根据权利要求9的图像解码设备,其中,当运动矢量候选列表配置单元将导出的空间运动矢量候选和导出的时间运动矢量候选中的至少一个添加到运动矢量候选列表时,运动矢量候选列表配置单元执行仅关于空间运动矢量候选检查相同的运动矢量候选的操作。
11.根据权利要求9的图像解码设备,其中,当运动矢量候选列表中的运动矢量候选的数目小于运动矢量候选的最大数目时,运动矢量候选列表修改单元仅基于运动矢量候选的最大数目和运动矢量候选列表中的运动矢量候选的数目来迭代地添加(0,0)运动矢量直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目。
12.根据权利要求11的图像解码设备,其中,当存在两个导出的空间运动矢量候选且彼此不同时,不导出时间运动矢量候选。

说明书全文

图像解码设备

[0001] 本申请是申请日为2013年1月18日,申请号为“201380013593.9”,标题为“用于图像编码/解码的方法和设备”的发明专利申请的分案申请。

技术领域

[0002] 本发明涉及一种图像/视频编码/解码方法和设备,且更具体地,涉及一种可以降低计算复杂性的运动矢量预测技术。

背景技术

[0003] 近来全国性的和世界性的HD(高清晰度)广播服务的普及使得更多用户熟悉高分辨率、高质量的图像/视频,且很多组织更加努开发下一代成像装置。进一步,更多兴趣指向具有4倍于或更多倍于HDTV分辨率的UHD(超高清晰度)以及HDTV,以使得需要用于高分辨率、高质量的图像/视频的图像/视频压缩技术。
[0004] 为了图像/视频压缩的目的,可以使用用于从时间上在之前和/或之后的图像预测当前图像中包括的像素值的间预测、用于通过使用当前图像中的像素信息预测当前图像中包括的像素值的帧内预测、和用于在分配较长码到更不频繁的码元的同时分配较短码到更频繁的码元的熵编码

发明内容

[0005] 技术问题
[0006] 本发明的目的是提供一种可以增强图像/视频编码效率并且可以减少计算复杂性的图像/视频编码方法和设备。
[0007] 本发明的另一目的是提供一种可以增强图像/视频编码效率并且可以减少计算复杂性的图像/视频解码方法和设备。
[0008] 本发明的再一目的是提供一种可以增强图像/视频编码效率并且可以减少计算复杂性的预测生成方法和设备。
[0009] 本发明的又一目的是提供一种可以增强图像/视频编码效率并且可以减少计算复杂性的帧间预测方法和设备。
[0010] 本发明的又一目的是提供一种可以增强图像/视频编码效率并且可以减少计算复杂性的运动矢量预测方法和设备。
[0011] 技术手段
[0012] 为了实现以上目的,根据本发明的图像解码方法包括:配置运动矢量候选列表;基于运动矢量候选列表中运动矢量候选的值和运动矢量候选列表中运动矢量候选的数目修改运动矢量候选列表;和基于修改的运动矢量候选列表确定预测运动矢量,其中,修改的运动矢量候选列表包括空间运动矢量候选、时间运动矢量候选和(0,0)运动矢量中的至少一个。
[0013] 当在运动矢量候选列表中的空间运动矢量候选当中存在相同的空间运动矢量候选时,修改运动矢量候选列表的步骤可以从运动矢量候选列表去除至少一个相同的空间运动矢量候选。
[0014] 当存在两个相同的空间运动矢量候选时,可以从运动矢量候选列表去除两个相同的空间运动矢量候选中具有较高运动矢量候选索引的空间运动矢量候选。
[0015] 修改运动矢量候选列表的步骤可以基于运动矢量候选列表中运动矢量候选的最大数目和运动矢量候选列表中运动矢量候选的数目,添加特定运动矢量候选到运动矢量候选列表或者去除运动矢量候选列表中的至少一个运动矢量候选。
[0016] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,且特定运动矢量候选可以是(0,0)运动矢量。
[0017] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,而无论运动矢量候选是否存在于运动矢量候选列表中或者特定运动矢量候选是否存在于运动矢量候选列表中。
[0018] 当没有运动矢量候选存在于运动矢量候选列表中时,可以将两个特定运动矢量候选添加到运动矢量候选列表。
[0019] 当一个运动矢量候选存在于运动矢量候选列表中时,可以将再一个特定运动矢量候选添加到运动矢量候选列表。
[0020] 当运动矢量候选列表中运动矢量候选的数目大于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以从运动矢量候选列表去除具有大于运动矢量候选的最大数目减1的索引的运动矢量候选。
[0021] 运动矢量候选的最大数目可以是2。
[0022] 配置运动矢量候选列表的步骤可以包括:导出空间运动矢量候选;当导出的空间运动矢量候选的数目小于空间运动矢量的最大数目或者导出的空间运动矢量候选包括相同的空间运动矢量候选时,导出时间运动矢量候选;和将导出的空间运动矢量候选和导出的时间运动矢量候选添加到运动矢量候选列表。
[0023] 运动矢量候选的最大数目可以是2。
[0024] 当存在两个导出的空间运动矢量候选且彼此不同时,可以不导出时间运动矢量候选。
[0025] 为了实现以上目的,一种图像解码设备包括:运动矢量候选列表配置单元,用于配置运动矢量候选列表;运动矢量候选列表修改单元,用于基于运动矢量候选列表中运动矢量候选的值和运动矢量候选列表中运动矢量候选的数目修改运动矢量候选列表;和预测运动矢量确定单元,用于基于修改的运动矢量候选列表确定预测运动矢量,其中,修改的运动矢量候选列表包括空间运动矢量候选、时间运动矢量候选和(0,0)运动矢量中的至少一个。
[0026] 当在运动矢量候选列表中的空间运动矢量候选当中存在相同的空间运动矢量候选时,所述运动矢量候选列表修改单元可以从运动矢量候选列表去除至少一个相同的空间运动矢量候选。
[0027] 当存在两个相同的空间运动矢量候选时,所述运动矢量候选列表修改单元可以从运动矢量候选列表去除两个相同的空间运动矢量候选中具有较高运动矢量候选索引的空间运动矢量候选。
[0028] 所述运动矢量候选列表修改单元可以基于运动矢量候选列表中运动矢量候选的最大数目和运动矢量候选列表中运动矢量候选的数目,添加特定运动矢量候选到运动矢量候选列表或者去除运动矢量候选列表中的至少一个运动矢量候选。
[0029] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,所述运动矢量候选列表修改单元可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,且特定运动矢量候选可以是(0,0)运动矢量。
[0030] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,所述运动矢量候选列表修改单元可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,而无论运动矢量候选是否存在于运动矢量候选列表中或者特定运动矢量候选是否存在于运动矢量候选列表中。
[0031] 当没有运动矢量候选存在于运动矢量候选列表中时,所述运动矢量候选列表修改单元可以将两个特定运动矢量候选添加到运动矢量候选列表。
[0032] 当一个运动矢量候选存在于运动矢量候选列表中时,所述运动矢量候选列表修改单元可以将再一个特定运动矢量候选添加到运动矢量候选列表。
[0033] 当运动矢量候选列表中运动矢量候选的数目大于运动矢量候选的最大数目时,所述运动矢量候选列表修改单元可以从运动矢量候选列表去除具有大于运动矢量候选的最大数目减1的索引的运动矢量候选。
[0034] 运动矢量候选的最大数目可以是2。
[0035] 所述运动矢量候选列表配置单元可以导出空间运动矢量候选;当导出的空间运动矢量候选的数目小于空间运动矢量的最大数目或者导出的空间运动矢量候选包括相同的空间运动矢量候选时,导出时间运动矢量候选;和将导出的空间运动矢量候选和导出的时间运动矢量候选添加到运动矢量候选列表。
[0036] 运动矢量候选的最大数目可以是2。
[0037] 当存在两个导出的空间运动矢量候选且彼此不同时,可以不导出时间运动矢量候选。
[0038] 为了实现以上目的,根据本发明的图像编码方法包括:配置运动矢量候选列表;基于运动矢量候选列表中运动矢量候选的值和运动矢量候选列表中运动矢量候选的数目修改运动矢量候选列表;和基于修改的运动矢量候选列表确定预测运动矢量,其中,修改的运动矢量候选列表包括空间运动矢量候选、时间运动矢量候选和(0,0)运动矢量中的至少一个。
[0039] 当在运动矢量候选列表中的空间运动矢量候选当中存在相同的空间运动矢量候选时,修改运动矢量候选列表的步骤可以从运动矢量候选列表去除至少一个相同的空间运动矢量候选。
[0040] 当存在两个相同的空间运动矢量候选时,可以从运动矢量候选列表去除两个相同的空间运动矢量候选中具有较高运动矢量候选索引的空间运动矢量候选。
[0041] 修改运动矢量候选列表的步骤可以基于运动矢量候选列表中运动矢量候选的最大数目和运动矢量候选列表中运动矢量候选的数目,添加特定运动矢量候选到运动矢量候选列表或者去除运动矢量候选列表中的至少一个运动矢量候选。
[0042] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,且特定运动矢量候选可以是(0,0)运动矢量。
[0043] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,而无论运动矢量候选是否存在于运动矢量候选列表中或者特定运动矢量候选是否存在于运动矢量候选列表中。
[0044] 当没有运动矢量候选存在于运动矢量候选列表中时,可以将两个特定运动矢量候选添加到运动矢量候选列表。
[0045] 当一个运动矢量候选存在于运动矢量候选列表中时,可以将再一个特定运动矢量候选添加到运动矢量候选列表。
[0046] 当运动矢量候选列表中运动矢量候选的数目大于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以从运动矢量候选列表去除具有大于运动矢量候选的最大数目减1的索引的运动矢量候选。
[0047] 运动矢量候选的最大数目可以是2。
[0048] 配置运动矢量候选列表的步骤可以包括:导出空间运动矢量候选;当导出的空间运动矢量候选的数目小于空间运动矢量的最大数目或者导出的空间运动矢量候选包括相同的空间运动矢量候选时,导出时间运动矢量候选;和将导出的空间运动矢量候选和导出的时间运动矢量候选添加到运动矢量候选列表。
[0049] 运动矢量候选的最大数目可以是2。
[0050] 当存在两个导出的空间运动矢量候选且彼此不同时,可以不导出时间运动矢量候选。
[0051] 为了实现以上目的,根据本发明的图像编码设备包括:运动矢量候选列表配置单元,用于配置运动矢量候选列表;运动矢量候选列表修改单元,用于基于运动矢量候选列表中运动矢量候选的值和运动矢量候选列表中运动矢量候选的数目修改运动矢量候选列表;和预测运动矢量确定单元,用于基于修改的运动矢量候选列表确定预测运动矢量,其中,修改的运动矢量候选列表包括空间运动矢量候选、时间运动矢量候选和(0,0)运动矢量中的至少一个。
[0052] 当在运动矢量候选列表中的空间运动矢量候选当中存在相同的空间运动矢量候选时,所述运动矢量候选列表修改单元可以从运动矢量候选列表去除至少一个相同的空间运动矢量候选。
[0053] 当存在两个相同的空间运动矢量候选时,所述运动矢量候选列表修改单元可以从运动矢量候选列表去除两个相同的空间运动矢量候选中具有较高运动矢量候选索引的空间运动矢量候选。
[0054] 所述运动矢量候选列表修改单元可以基于运动矢量候选列表中运动矢量候选的最大数目和运动矢量候选列表中运动矢量候选的数目,添加特定运动矢量候选到运动矢量候选列表或者去除运动矢量候选列表中的至少一个运动矢量候选。
[0055] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,所述运动矢量候选列表修改单元可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,且特定运动矢量候选可以是(0,0)运动矢量。
[0056] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,所述运动矢量候选列表修改单元迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,而无论运动矢量候选是否存在于运动矢量候选列表中或者特定运动矢量候选是否存在于运动矢量候选列表中。
[0057] 当没有运动矢量候选存在于运动矢量候选列表中时,所述运动矢量候选列表修改单元可以将两个特定运动矢量候选添加到运动矢量候选列表。
[0058] 当一个运动矢量候选存在于运动矢量候选列表中时,所述运动矢量候选列表修改单元可以将再一个特定运动矢量候选添加到运动矢量候选列表。
[0059] 当运动矢量候选列表中运动矢量候选的数目大于运动矢量候选的最大数目时,所述运动矢量候选列表修改单元可以从运动矢量候选列表去除具有大于运动矢量候选的最大数目减1的索引的运动矢量候选。
[0060] 运动矢量候选的最大数目可以是2。
[0061] 所述运动矢量候选列表配置单元可以导出空间运动矢量候选;当导出的空间运动矢量候选的数目小于空间运动矢量的最大数目或者导出的空间运动矢量候选包括相同的空间运动矢量候选时,导出时间运动矢量候选;和将导出的空间运动矢量候选和导出的时间运动矢量候选添加到运动矢量候选列表。
[0062] 运动矢量候选的最大数目可以是2。
[0063] 当存在两个导出的空间运动矢量候选且彼此不同时,可以不导出时间运动矢量候选。
[0064] 为了实现以上目的,本发明提供一种计算机可读记录介质,记录用于实现根据本发明的图像解码方法的程序,所述程序包括:配置运动矢量候选列表;基于运动矢量候选列表中运动矢量候选的值和运动矢量候选列表中运动矢量候选的数目修改运动矢量候选列表;和基于修改的运动矢量候选列表确定预测运动矢量,其中,修改的运动矢量候选列表包括空间运动矢量候选、时间运动矢量候选和(0,0)运动矢量中的至少一个。
[0065] 当在运动矢量候选列表中的空间运动矢量候选当中存在相同的空间运动矢量候选时,修改运动矢量候选列表的步骤可以从运动矢量候选列表去除至少一个相同的空间运动矢量候选。
[0066] 当存在两个相同的空间运动矢量候选时,可以从运动矢量候选列表去除两个相同的空间运动矢量候选中具有较高运动矢量候选索引的空间运动矢量候选。
[0067] 修改运动矢量候选列表的步骤可以基于运动矢量候选列表中运动矢量候选的最大数目和运动矢量候选列表中运动矢量候选的数目,添加特定运动矢量候选到运动矢量候选列表或者去除运动矢量候选列表中的至少一个运动矢量候选。
[0068] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,且特定运动矢量候选可以是(0,0)运动矢量。
[0069] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,而无论运动矢量候选是否存在于运动矢量候选列表中或者特定运动矢量候选是否存在于运动矢量候选列表中。
[0070] 当没有运动矢量候选存在于运动矢量候选列表中时,可以将两个特定运动矢量候选添加到运动矢量候选列表。
[0071] 当一个运动矢量候选存在于运动矢量候选列表中时,可以将再一个特定运动矢量候选添加到运动矢量候选列表。
[0072] 当运动矢量候选列表中运动矢量候选的数目大于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以从运动矢量候选列表去除具有大于运动矢量候选的最大数目减1的索引的运动矢量候选。
[0073] 运动矢量候选的最大数目可以是2。
[0074] 配置运动矢量候选列表的步骤可以包括:导出空间运动矢量候选;当导出的空间运动矢量候选的数目小于空间运动矢量的最大数目或者导出的空间运动矢量候选包括相同的空间运动矢量候选时,导出时间运动矢量候选;和将导出的空间运动矢量候选和导出的时间运动矢量候选添加到运动矢量候选列表。
[0075] 运动矢量候选的最大数目可以是2。
[0076] 当存在两个导出的空间运动矢量候选且彼此不同时,可以不导出时间运动矢量候选。
[0077] 为了实现以上目的,本发明提供一种计算机可读记录介质,记录用于实现根据本发明的图像编码方法的程序,所述程序包括:配置运动矢量候选列表;基于运动矢量候选列表中运动矢量候选的值和运动矢量候选列表中运动矢量候选的数目修改运动矢量候选列表;和基于修改的运动矢量候选列表确定预测运动矢量,其中,修改的运动矢量候选列表包括空间运动矢量候选、时间运动矢量候选和(0,0)运动矢量中的至少一个。
[0078] 当在运动矢量候选列表中的空间运动矢量候选当中存在相同的空间运动矢量候选时,修改运动矢量候选列表的步骤可以从运动矢量候选列表去除至少一个相同的空间运动矢量候选。
[0079] 当存在两个相同的空间运动矢量候选时,可以从运动矢量候选列表去除两个相同的空间运动矢量候选中具有较高运动矢量候选索引的空间运动矢量候选。
[0080] 修改运动矢量候选列表的步骤可以基于运动矢量候选列表中运动矢量候选的最大数目和运动矢量候选列表中运动矢量候选的数目,添加特定运动矢量候选到运动矢量候选列表或者去除运动矢量候选列表中的至少一个运动矢量候选。
[0081] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,且特定运动矢量候选可以是(0,0)运动矢量。
[0082] 当运动矢量候选列表中运动矢量候选的数目小于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以迭代地添加特定运动矢量候选,直到运动矢量候选列表中运动矢量候选的数目达到运动矢量候选的最大数目为止,而无论运动矢量候选是否存在于运动矢量候选列表中或者特定运动矢量候选是否存在于运动矢量候选列表中。
[0083] 当没有运动矢量候选存在于运动矢量候选列表中时,可以将两个特定运动矢量候选添加到运动矢量候选列表。
[0084] 当一个运动矢量候选存在于运动矢量候选列表中时,可以将再一个特定运动矢量候选添加到运动矢量候选列表。
[0085] 当运动矢量候选列表中运动矢量候选的数目大于运动矢量候选的最大数目时,修改运动矢量候选列表的步骤可以从运动矢量候选列表去除具有大于运动矢量候选的最大数目减1的索引的运动矢量候选。
[0086] 运动矢量候选的最大数目可以是2。
[0087] 配置运动矢量候选列表的步骤可以包括:导出空间运动矢量候选;当导出的空间运动矢量候选的数目小于空间运动矢量的最大数目或者导出的空间运动矢量候选包括相同的空间运动矢量候选时,导出时间运动矢量候选;和将导出的空间运动矢量候选和导出的时间运动矢量候选添加到运动矢量候选列表。
[0088] 运动矢量候选的最大数目可以是2。
[0089] 当存在两个导出的空间运动矢量候选且彼此不同时,可以不导出时间运动矢量候选。
[0090] 有益效果
[0091] 根据本发明的图像编码方法能够减少计算复杂性并且增强视频编码效率。
[0092] 根据本发明的图像解码方法能够减少计算复杂性并且增强视频编码效率。
[0093] 根据本发明的预测块生成方法能够减少计算复杂性并且增强视频编码效率。
[0094] 根据本发明的帧间预测方法能够减少计算复杂性并且增强视频编码效率。
[0095] 根据本发明的运动矢量预测方法能够减少计算复杂性并且增强视频编码效率。附图说明
[0096] 图1是图示根据本发明的实施例的图像编码设备的配置的框图
[0097] 图2是图示根据本发明的实施例的图像解码设备的配置的框图。
[0098] 图3是示意性地图示根据本发明的实施例的帧间预测方法的流程图
[0099] 图4是图示在根据本发明的实施例的图像编码/解码设备中导出运动矢量候选以确定预测运动矢量的处理的流程图。
[0100] 图5是示意性地图示根据本发明的实施例的导出空间运动矢量候选的处理的图。
[0101] 图6是示意性地图示根据本发明的实施例的导出时间运动矢量候选的处理的图。
[0102] 图7是示意性地图示基于导出的运动矢量配置运动矢量候选列表的实施例的图。
[0103] 图8是示意性地图示从运动矢量候选列表去除彼此相同的运动矢量的实施例的图。
[0104] 图9是示意性地图示根据本发明的实施例的调整运动矢量候选列表的处理的流程图。
[0105] 图10是示意性地图示在一个运动矢量候选存在于运动矢量候选列表的情况下添加(0,0)运动矢量的实施例的图。
[0106] 图11是示意性地图示在一个(0,0)运动矢量候选存在于运动矢量候选列表的情况下添加(0,0)运动矢量的实施例的图。
[0107] 图12是示意性地图示在没有运动矢量候选存在于运动矢量候选列表的情况下添加(0,0)运动矢量的实施例的图。
[0108] 图13是示意性地图示从运动矢量候选列表去除某些运动矢量的实施例的图。
[0109] 图14是示意性地图示确定运动矢量候选列表中的运动矢量候选当中的预测运动矢量的处理的图。

具体实施方式

[0110] 在下文中,将参考附图具体描述本发明的实施例。在描述实施例时,当确定使得本发明的要点不清楚时,将省略关于公知的配置或功能的详细说明。
[0111] 当组件“连接到”或“耦合到”另一组件时,该组件可以直接连接到或者耦合到该另一组件,或者其他组件也可以介于其间。另外,当“包括”特定组件时,不排除而是可以包括其他组件,且这种配置也包括在本发明的范围中。
[0112] 术语“第一”和“第二”可以用于描述各种组件,但是组件不限于此。这些术语仅用于将一个组件与另一个区分。例如,第一组件也可以命名为第二组件,且第二组件可以类似地命名为第一组件。
[0113] 独立地示出实施例中的构成部分以表示不同的特征,但是这不意味着每个构成部分由分开的硬件单元或者一个软件构成单元形成。也就是,每个构成部分为了描述的方便而与其它的分开。至少两个构成部分可以组合为单个构成部分,或者一个构成部分可以划分为可以分别执行功能的多个构成部分。覆盖构成部分的组合或者其分离的实施例可以包括在本发明的范围中,而不脱离本发明的要点。
[0114] 某些构成部分不是执行本发明的必然功能的必需构成部分,而可以是增强性能的可选构成部分。本发明可以仅由实现本发明的要点所需的构成部分实现,或者这种使得仅包括排除用于增强性能的可选构成部分的必需构成部分的配置也可以包括在本发明的范围中。
[0115] 图1是图示根据本发明的实施例的图像编码设备的配置的框图。这里,“图像”可以用于具有与以下将要描述的“画面”相同的含义。
[0116] 参考图1,图像编码设备100包括运动预测单元111、运动补偿单元112、帧内预测单元120、开关115、减法器125、变换单元130、量化单元140、熵编码单元150、逆量化单元160、逆变换单元170、加法器175、过滤单元180和基准画面缓存190。
[0117] 图像编码设备100可以以帧内模式或者帧间模式关于输入图像执行编码,并可以输出位流。帧内预测指的是画面内预测,且帧间预测指的是画面间预测。在帧内模式中,开关115可以转换到帧内,且在帧间模式中,开关115可以转换到帧间。图像编码设备100可以产生关于输入图像的输入块的预测块,且可以然后编码输入块和预测块之间的差异。
[0118] 在帧内模式中,帧内预测单元120可以通过使用与当前块相邻的已编码块的像素值执行空间预测来生成预测块。
[0119] 在帧间模式中,运动预测单元111可以通过断定出在运动预测的过程中与基准画面缓存190中存储的基准画面的输入块最佳匹配的区域来获得运动矢量。运动补偿单元112可以通过使用运动矢量执行运动补偿来生成预测块。这里,运动矢量是用于帧间预测的2D(二维)矢量,且可以表示当前编码/解码目标图像和基准画面之间的偏移。
[0120] 减法器125可以基于输入块和生成的预测块之间的差异生成剩余块。变换单元130可以关于剩余块执行变换以输出变换系数。量化单元140可以基于量化参数关于输入变换系数执行量化以输出量化的系数。
[0121] 熵编码单元150可以通过基于从量化单元140产生的值或者在编码的过程中产生的运动矢量差值、基准画面索引、运动矢量候选索引、和预测方向信息执行熵编码而输出位流。
[0122] 当应用熵编码时,将较少的位分配给具有较高出现概率的码元,同时将较多的位分配给具有较低出现概率的码元,以使得可以减小用于编码目标码元的位流的大小。因此,可以通过熵编码增加图像编码的压缩性能。熵编码单元150为了熵编码的目的,可以采用比如指数哥伦布(golomb)、CAVLC(上下文自适应可变长度编码)、CABAC(上下文自适应二进制运算编码)之类的编码方案。
[0123] 根据与图1相关地描述的实施例的图像编码设备执行帧间预测编码,即,画面间预测编码,且由此,当前编码的图像需要被解码,且然后存储以能够用作基准画面。因此,量化的系数由逆量化单元160逆量化并由逆变换单元170逆变换。已逆量化、逆变换的系数由加法器175加到预测块,且由此生成重构块。
[0124] 重构块通过可以将解组块(deblocking)滤波器、SAO(样本自适应偏移)和ALF(自适应循环滤波器)的至少一个或多个应用于重构块或者重构图像的过滤单元180。过滤单元180也可以称作自适应环内滤波器。解组块滤波器可以去除在块之间的边界出现的失真。
SAO可以将适当的偏移值加到像素值,从而补偿编码错误。ALF可以执行基于通过比较重构图像与原始图像而获得的值的滤波。已经通过过滤单元180的重构块可以存储在基准画面缓存190中。
[0125] 图2是图示根据本发明的实施例的图像解码设备的配置的框图。
[0126] 参考图2,图像解码设备200包括熵解码单元210、逆量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、过滤单元260、和基准画面缓存270。
[0127] 图像解码设备200可以接收从编码器输出的位流,以帧内模式或者帧间模式执行解码,并输出重构图像。在帧内模式中,开关可以转换到帧内,且在帧间模式中,开关可以转换到帧间。图像解码设备200可以从接收的位流获得重构的剩余块,生成预测块,并将重构的剩余块加到预测块,以由此生成重构块。
[0128] 熵解码单元210可以根据概率分布熵解码输入位流,以由此生成包括量化系数类型码元的码元。熵解码方案类似于上述熵编码方案。
[0129] 当应用熵解码方案时,将较少的位分配给具有较高出现概率的码元,同时将较多的位分配给具有较低出现概率的码元,以使得可以减小每个码元的位流的大小。因此,可以通过熵解码方案增加图像解码的压缩性能。
[0130] 量化的系数可以在逆量化单元220中逆量化,并在逆变换单元230中逆变换。作为量化的系数的逆量化/逆变换的结果,可以生成重构的剩余块。
[0131] 在帧内模式中,帧内预测单元240可以通过使用与当前块相邻的已解码块的像素值执行空间预测来生成预测块。在帧间模式中,运动补偿单元250可以通过使用基准画面缓存270中存储的基准画面和运动矢量执行运动补偿来生成预测块。
[0132] 重构的剩余块和预测块通过加法器255彼此相加,且得到的块可以经过过滤单元260。过滤单元260可以将解组块滤波器、SAO和ALF中的至少一个或多个应用于重构块或者重构图像。过滤单元260可以输出重构图像。重构图像可以存储在基准画面缓存270中,且可以用于帧间预测。
[0133] 以下,“块”指的是进行图像编码和解码的基础。在图像编码和解码时,用于编码或者解码的单元是为了编码或者解码的目的从图像分出的单元,且因此,块也可以称为单元、编码单元(CU)、预测单元(PU)、变换单元(TU)等。一个单元可以进一步分成具有更小尺寸的子单元。预测单元是用于执行帧间预测或者运动补偿的基本单元,且也可以称为预测块。预测单元可以被分成多个分区,且多个分区是用于执行预测的基本单元,且从预测单元分出的分区也可以称为预测单元。另外,如在此处使用的,“画面”根据上下文也可以称为“图像”、“帧”、“场”和/或“片段(slice)”,且本领域技术人员可以容易地做出彼此之间的区分。例如,“P画面”、“B画面”和“前向B画面”也可以分别称为“P片段”、“B片段”和“前向B片段”。
另外,如在此处使用的,“当前块”可以表示当执行帧间预测或者运动补偿时的块,且在此情况下,当前块可能指的是预测单元或者预测块。
[0134] 图3是示意性地图示根据本发明的实施例的帧间预测方法的流程图。
[0135] 参考图3,编码器和解码器可以导出当前块的运动信息(S310)。
[0136] 在帧间模式中,编码器和解码器可以导出当前块的运动信息,且可以然后基于导出的运动信息执行帧间预测和/或运动补偿。此时,编码器和解码器可以通过使用在已经重构的并置(collocated)画面和/或重构的相邻块中与当前块对应的并置块的运动信息来增强编码效率。这里,重构的相邻块是在已经编码和/或解码和重构的当前画面中的块,且可以包括与当前块相邻的块和/或位于当前块外部的一的块。另外,编码器和解码器可以基于在并置画面中与当前块在空间上在相同位置出现的块确定预定相对位置,且可以基于确定的预定相对位置(与当前块在空间上在相同位置出现的块中和/或外部的位置)产生并置块。这里,作为示例,并置画面可以对应于基准画面列表中包括的基准画面当中的一个画面。另外,如在此处使用的,运动信息指的是帧间预测或者运动补偿所需的信息,其包括运动矢量、基准画面索引、运动矢量候选索引、运动矢量差值、基准画面列表、预测运动矢量、合并标记、合并索引、预测方向、和可用性信息中的至少一个。
[0137] 同时,运动信息导出方案可以取决于当前块的预测模式改变。作为可应用于帧间预测的预测模式,可能有合并模式或者包括AMVP(先进运动矢量预测)的运动矢量预测。
[0138] 作为示例,在应用运动矢量预测的情况下,编码器和解码器可以通过使用并置块的运动矢量和/或重构的相邻块的运动矢量来生成运动矢量候选列表。也就是,重构的相邻块的运动矢量和/或并置块的运动矢量可以用作运动矢量候选。编码器可以将指示列表中包括的运动矢量候选当中选出的最优预测运动矢量的预测运动矢量索引传送到解码器。此时,解码器可以使用预测运动矢量索引在运动矢量候选列表中包括的预测运动矢量候选当中选择当前块的预测运动矢量。
[0139] 编码器可以获得当前块的运动矢量和预测运动矢量之间的运动矢量差值(MVD),且可以编码该运动矢量差值并可以将已编码的运动矢量差值传送到解码器。此时,解码器可以解码所接收的运动矢量差值,并可以通过将已解码的运动矢量差值加到预测运动矢量来导出当前块的运动矢量。
[0140] 作为另一示例,在应用合并模式的情况下,编码器和解码器可以通过使用并置块和/或重构的相邻块的运动信息来生成合并候选列表。也就是,在存在并置块和/或重构的相邻块的运动信息的情况下,编码器和解码器可以使用其,作为用于当前块的合并候选。
[0141] 解码器可以选择合并候选列表中包括的合并候选当中可以提供最优编码效率的合并候选,作为用于当前块的运动信息。此时,指示所选的合并候选的合并索引可以包括在位流中,且可以被发送到解码器。解码器可以通过使用发送的合并索引来选择合并候选列表中包括的合并候选之一,且可以确定所选的合并候选,作为当前块的运动信息。因此,在应用合并模式的情况下,可以按照原样地使用并置块和/或重构的相邻块的运动信息,作为当前块的运动信息。
[0142] 在上述AMVP和合并模式中,重构的相邻块的运动信息和/或并置块的运动信息可以用于导出当前块的运动信息。在下文中,在以下将要描述的实施例中,从重构的相邻块导出的运动信息被表示为空间运动信息,且基于并置块导出的运动信息被表示为时间运动信息。例如,从重构的相邻块导出的运动矢量可以称为空间运动矢量,且基于并置块导出的运动矢量可以称为时间运动矢量。
[0143] 再次参考图3,编码器和解码器可以通过基于导出的运动信息关于当前块执行运动补偿来生成预测块(S320)。这里,预测块可以指的是作为关于当前块执行运动补偿的结果所生成的已运动补偿的块。另外,多个已运动补偿的块可以构成一个已运动补偿的画面。因此,在以下将要描述的实施例中,预测块可以根据上下文表示为“已运动补偿的块”和/或“已运动补偿的画面”,且本领域技术人员可以容易地做出两者之间的区分。
[0144] 同时,作为经历帧间预测的画面,可能存在P画面和B画面。P画面可以指的是经历使用一个基准画面的单向预测的画面,且B画面可以指的是使用例如两个基准画面经历前向、后向、或者双向预测的画面。例如,B画面可以经历使用一个前向基准画面(过去画面)和一个后向基准画面(未来画面)的帧间预测。另外,B画面也可以经历使用两个前向基准画面或者两个后向基准画面的预测。
[0145] 这里,基准画面可以由基准画面列表管理。在P画面中使用的基准画面可以分配给基准画面列表0(L0或者列表0)。B画面中使用的两个基准画面可以分别分配给基准画面列表0和基准画面列表1(L1或者列表1)。以下,基准画面列表L0可以具有与基准画面列表0相同的含义,且基准画面列表L1可以具有与基准画面列表1相同的含义。
[0146] 总的来说,前向基准画面可以分配给基准画面列表0,且后向基准画面可以分配给基准画面列表1。但是,分配基准画面的方法不限于此,且前向基准画面可以分配给基准画面列表1,而后向基准画面可以分配给基准画面列表0。以下,分配给基准画面列表0的基准画面被称为L0基准画面,且分配给基准画面列表1的基准画面被称为L1基准画面。
[0147] 基准画面通常可以以根据基准画面编号的递减次序分配给基准画面列表。这里,基准画面编号可以指以POC(画面次序计数)的次序分配给每个基准画面的编号。POC次序可以指的是画面的时间次序和/或显示次序。例如,具有相同POC编号的两个基准画面可能对应于同一基准画面。分配给基准画面列表的基准画面可以通过基准画面列表修改来进行重排。
[0148] 如上所述,使用一个L0基准画面的单向预测可以关于P画面执行,且使用一个L0基准画面和一个L1基准画面(即,两个基准画面)的前向、后向、或者双向预测可以关于B画面执行。使用一个基准画面的预测可以称为单预测,且使用包括L0基准画面和L1基准画面的两个基准画面的预测可以称为双预测。
[0149] 双预测可以具有包括前向预测、后向预测、和双向预测中的全部的概念,但是为了描述的容易,在以下将要描述的实施例中,使用两个基准画面(L0基准画面和L1基准画面)的预测被称为双向预测。也就是,在以下将要描述的实施例中,双向预测可以指的是双预测,且可以理解为具有包括使用两个基准画面(L0基准画面和L1基准画面)的前向、后向和双向预测中的全部的概念。另外,即使在执行双预测的情况下,也可以执行前向预测或者后向预测,但是在以下将要描述的实施例中,为了描述的容易,单独使用一个基准画面的预测被称为单向预测。换句话说,在以下将要描述的实施例中,单向预测可以指的是单预测,且应该理解为具有包括使用仅一个基准画面的预测的概念。另外,指示单向预测(单预测)或者双向预测(双预测)应用于块的信息以下称为预测方向信息。
[0150] 图4是图示在根据本发明的实施例的图像编码/解码设备中导出运动矢量候选以确定预测运动矢量的处理的流程图。
[0151] 参考图4,编码器和解码器首先导出空间运动矢量候选,以确定预测运动矢量(S410)。编码器和解码器可以从与当前块在空间上相邻的已重构的块(基准块)导出运动矢量候选,作为空间运动矢量候选,如上所述。此时,可以导出与空间运动矢量候选的最大数目(即,maxNumSpatialMVPCand)一样多的空间运动矢量候选。在重构的相邻块的基准画面不同于当前块的基准画面的情况下,可以进行缩放以导出空间运动矢量候选。
[0152] 编码器和解码器导出时间运动矢量候选(S420)。编码器和解码器可以从在时间上与当前块相邻的并置画面中重构的并置块导出运动矢量候选。另外,可以导出与时间运动矢量候选的最大数目(即,maxNumTemporalMVPCand)一样多的时间运动矢量候选。另外,在当前块的当前画面和基准画面之间的距离不同于并置块的并置画面和基准画面之间的距离的情况下,可以进行缩放以导出时间运动矢量候选。
[0153] 如果进行了空间运动矢量候选或者时间运动矢量候选的导出,则导出的运动矢量候选被加到运动矢量候选列表(S430)。也就是,编码器和解码器可以以一次序将空间运动矢量候选和时间运动矢量候选加到运动矢量候选列表(mvpListLX)。运动矢量候选列表(mvpListLX)指的是与基准画面列表L0和L1之一对应的运动矢量候选列表,且例如,与基准画面列表L0对应的运动矢量候选列表可以被表示为mvpListL0。
[0154] 在配置运动矢量候选列表之后,编码器和解码器去除相同的运动矢量候选(S440)。验证运动矢量候选列表(mvpListLX)中是否存在具有相同运动矢量值的运动矢量候选。例如,如果多个空间运动矢量候选在列表中,则在彼此相同的空间运动矢量候选当中,留下具有最小运动矢量候选索引的空间运动矢量候选,同时从运动矢量候选列表去除其它空间运动矢量候选。换句话说,在存在具有相同运动矢量值的多个候选的情况下,可以在运动矢量候选列表中仅留下具有相同运动矢量值的候选之一。要去除的运动矢量候选的数目可以是一。
[0155] 然后,编码器和解码器添加或者去除某些特定运动矢量,以由此调整运动矢量候选列表(S450)。编码器和解码器可以通过添加运动矢量到运动矢量候选列表(mvpListLX)或者通过去除运动矢量候选列表中包括的某些运动矢量候选来调整运动矢量候选列表的大小。要去除的运动矢量候选的数目可以是一。此时,可以添加特定运动矢量,而不基于运动矢量候选的最大数目(maxNumMVPCand)验证运动矢量候选是否存在于运动矢量候选列表中。另外,在不验证特定运动矢量候选是否存在于运动矢量候选列表中的情况下,可以添加特定运动矢量候选,以调整运动矢量候选列表中运动矢量候选的数目。此时,添加的特定运动矢量可以是具有固定整数的矢量,或者有时,可以是(0,0)运动矢量。这里,(0,0)运动矢量指的是x和y分量都是0的运动矢量,且也可以表示为0运动矢量(零运动矢量)。
[0156] 最终,编码器和解码器可以基于调整的运动矢量候选列表确定预测运动矢量(S460)。
[0157] 图5是示意性地图示根据本发明的实施例的导出空间运动矢量候选的处理的图。
[0158] 参考图5,编码器和解码器确定是否存在重构的相邻块510、512、514、516和518的运动信息,以导出当前块500的空间运动矢量候选。在没有重构的相邻块的运动信息的情况下,它们可以被确定为对于运动矢量候选不可用。
[0159] 根据本发明的实施例,编码器和解码器可以从位于当前块500的左下角的AO块510、与当前块500的左下侧相邻的A1块512、位于当前块500的右上角的B0块514、与当前块
500的右上侧相邻的B1块516、和位于当前块500的左上角的B2块518导出空间运动矢量,且可以确定其为当前块500的空间运动矢量候选。
[0160] 此时,每一块可以确定为具有以A0、A1、B0、B1和B2块510、512、514、516和518的次序的运动矢量。在存在运动矢量的情况下,相应块的运动矢量可以被确定为运动矢量候选。可以导出与空间运动矢量候选的最大数目(即,maxNumSpatialMVPCand)一样多的空间运动矢量候选。在此情况下,空间运动矢量候选的最大数目(即,maxNumSpatialMVPCand)是包括
0的正整数。根据本发明的实施例,空间运动矢量候选的最大数目(即,
maxNumSpatialMVPCand)可以是2。因此,一个运动矢量候选从A0块510和A1块512导出,而一个运动矢量候选从B0块514、B1块516和B2块518导出,以使得导出总共两个空间运动矢量。
同时,在从A0块510和A1块512导出的运动矢量与从B0块514、B1块516和B2块518导出的运动矢量不相同的情况下,可以不执行导出时间运动矢量候选的处理。另外,在重构的相邻块的基准画面不同于当前块500的基准画面的情况下,可以基于当前块500的基准画面和重构的相邻块的基准画面之间的差值缩放相邻块的运动矢量,且然后可以进行使用。
[0161] 根据本发明的另一实施例,可以遵循以下方案以从重构的相邻块导出空间运动矢量:
[0162] 1)在块存在于预定位置,相应块不经历帧内编码,且相应块的基准画面列表和基准画面与当前块的基准画面列表和基准画面相同的情况下,相应块的运动矢量可以导出为当前块的运动矢量候选。
[0163] 2)在块存在于预定位置,相应块不经历帧内编码,且相应块的基准画面列表不同于当前块的基准画面列表,而相应块的基准画面与当前块的基准画面相同的情况下,相应块的运动矢量可以导出为当前块的运动矢量候选。
[0164] 3)在块存在于预定位置,相应块不经历帧内编码,且相应块的基准画面列表与当前块的基准画面列表相同,而相应块的基准画面不同于当前块的基准画面的情况下,相应块的运动矢量可以经历缩放且然后可以导出为当前块的运动矢量候选。
[0165] 4)在块存在于预定位置,相应块不经历帧内编码,且相应块的基准画面列表和基准画面不同于当前块的基准画面列表和基准画面的情况下,相应块的运动矢量可以经历缩放且然后可以导出为当前块的运动矢量候选。
[0166] 基于以上1)到4)的处理,编码器和解码器可以顺序地关于A0块510执行处理1)和2),关于A1块512执行处理1)和2),关于A0块510执行处理3)和4),关于A1块512执行处理3)和4),关于B0块514执行处理1)和2),关于B1块516执行处理1)和2),关于B2块518执行处理
1)和2),关于B0块514执行处理3)和4),关于B1块516执行处理3)和4)和关于B2块518执行处理3)和4)。
[0167] 图6是示意性地图示根据本发明的实施例的导出时间运动矢量候选的处理的图。
[0168] 参考图6,编码器和解码器可以从在时间上与当前块500相邻的并置画面(或者并置画面)中重构的并置块(或者并置块,600)导出运动矢量候选。
[0169] 根据本发明的实施例,可以按照存在于位置H的块610和存在于位置C3的块612的次序导出时间运动矢量候选,该位置H位于当前画面的并置画面中与当前块500在空间上相同位置对应的并置块600外部,而位置C3位于并置块600中。此时,在可以从H块610导出运动矢量的情况下,从H块610导出时间运动矢量,且在没有从H块610导出运动矢量的情况下,可以从C3块612导出时间运动矢量候选。
[0170] 这里,H块610可以是位于并置块600的右下角的块,且C3块可以是位于通过相对于并置块600的中心将矩形划分成四等分而获得的块当中的右下侧的块。时间运动矢量可以取决于H块610和C3块612的相对位置来确定。如果H块610和C3块经历帧内编码,则没有时间运动矢量候选可以被导出。
[0171] 另外,可以导出与时间运动矢量候选的最大数目(即,maxNumTemporalMVPCand)一样多的时间运动矢量候选。此时 ,时间运动矢量候选的最大数目(即,maxNumTemporalMVPCand)是包括0的正整数,且作为示例,时间运动矢量候选的最大数目(即,maxNumTemporalMVPCand)可以是1。在当前块500的当前画面和基准画面之间的距离不同于并置块600的并置画面和基准画面之间的距离的情况下,可以关于运动矢量执行缩放,由此导出时间运动矢量候选。
[0172] 可以在以下处理中执行缩放。
[0173] 首先,首先获得指示H块610或者C3块612的并置画面和基准画面之间的POC(画面次序计数)差值的td和指示当前块的当前画面和基准画面之间的POC差值的tb。此时,在导出空间运动矢量候选的处理中,td表示当前画面和由在空间上相邻的基准块参考的基准画面之间的POC的差值,且tb表示当前画面和由当前块参考的基准画面之间的POC的差值。此时,当前块的基准画面和基准块的基准画面可以具有不同的预测方向,且在此情况下,td和tb可以分配有不同符号。有时,可以调节td或者tb以包括在从-128到127的范围中。此时,如果td或者tb小于-128,则td或者tb可以调节为-128,且如果td或者tb大于127,则td或者tb可以调节为127。如果td或者tb包括在从-128到127的范围中,则td或者tb不经历调整。
[0174] 在获得td和tb之后,产生作为td的反比值的tx。这可以使用等式:(16384+(Abs(td)>>1))/td确定。这里,Abs()表示输入值的绝对值。
[0175] 然后,基于等式(tb*tx+32)>>6确定缩放因数,即DistScaleFactor,且将其调整为包括在-1024和1023之间的范围中。
[0176] 通过已调整的DistScaleFactor值和等式Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8),可以获得已缩放的时间运动矢量。此时,Sign()输出关于输入值的符号的信息,且mvCol表示缩放之前的时间运动矢量。
[0177] 图7是示意性地图示基于导出的运动矢量配置运动矢量候选列表的实施例的图。
[0178] 参考图7,编码器和解码器将导出的运动矢量候选添加到运动矢量候选列表mvpListLX。编码器和解码器以一次序将导出的空间运动矢量候选和时间运动矢量候选添加到运动矢量候选列表。mvpListLX指的是与基准画面列表L0和L1之一对应的运动矢量候选列表。例如,与基准画面列表L0对应的运动矢量候选列表可以被表示为mvpListL0。
[0179] 可以基于预定数目(例如,运动矢量候选的最大数目,即maxNumMVPCand)确定运动矢量候选列表mvpListLX的大小。此时,运动矢量候选的最大数目(即,maxNumMVPCand)可以是2。在运动矢量候选的最大数目是3,且导出的运动矢量候选的数目是3的情况下,要首先添加到运动矢量候选列表mvpListLX的运动矢量候选可以具有0的运动矢量候选索引,且要最后添加到该列表的运动矢量候选可以具有2的运动矢量索引。
[0180] 根据关于图7描述的实施例,如果从A1块512导出未缩放的空间运动矢量候选(1,0),从B1块516导出已缩放的空间运动矢量候选(4,-1),和从H块610导出时间运动矢量候选(2,3),则运动矢量候选被以该次序添加到运动矢量候选列表700。此时,从A1块512导出的运动矢量候选的索引可以是0,从B1块516导出的运动矢量候选的索引可以是1,且从H块610导出的运动矢量候选的索引可以是2。在该实施例中,假定运动矢量候选的最大数目是2,从A1块512和B1块516导出的运动矢量候选彼此不相同,且因此,从A1块512和B1块516导出的运动矢量候选被添加到运动矢量候选列表,而不导出时间运动矢量候选。
[0181] 图8是示意性地图示从运动矢量候选列表去除彼此相同的运动矢量的实施例的图。
[0182] 参考图8,编码器和解码器验证是否相同的运动矢量候选在运动矢量候选列表800中。如果验证的结果示出存在多个相同的运动矢量候选,则编码器和解码器留下相同的运动矢量候选当中、具有最小运动矢量候选索引的运动矢量候选,同时从运动矢量候选列表800去除其它运动矢量候选。此时,可以仅关于空间运动矢量候选进行去除相同的运动矢量候选的操作。
[0183] 根据关于图8描述的实施例,在运动矢量候选列表800由三个运动矢量候选(1,0)、(1,0)和(2,3)组成的情况下,与索引0和1对应的候选彼此相同,因为具有(1,0)。在存在相同的运动矢量的情况下,编码器和解码器仅留下运动矢量候选列表810中相同的运动矢量候选当中、具有最小的索引的运动矢量候选,同时去除其他运动矢量候选,如在重新配置的运动矢量候选列表810中一样。
[0184] 图9是示意性地图示根据本发明的实施例的调整运动矢量候选列表的处理的流程图。
[0185] 参考图9,编码器和解码器确定运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)是否小于运动矢量候选的最大数目(即,maxNumMVPCand)(S910)。在运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)小于运动矢量候选的最大数目(即,maxNumMVPCand)的情况下,(0,0)运动矢量被添加到运动矢量候选列表(S920)。如果(0,0)运动矢量被添加到运动矢量候选列表,则运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)可以增加1。在添加(0,0)运动矢量之后,重复确定是否运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)小于运动矢量候选的最大数目(即,maxNumMVPCand)和添加(0,0)运动矢量的操作,直到运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)达到运动矢量候选的最大数目(即,
maxNumMVPCand)为止。也就是,可以执行以上处理,直到运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)与运动矢量候选的最大数目(即,maxNumMVPCand)相同为止。
[0186] 但是,根据本发明的另一实施例,在运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)小于运动矢量候选的最大数目(即,maxNumMVPCand)的情况下,可以仅添加一个(0,0)运动矢量。
[0187] 结果地,可以取决于运动矢量候选的最大数目确定运动矢量候选列表中包括的运动矢量候选的数目。
[0188] 根据本发明的实施例,在运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)大于运动矢量候选的最大数目(即,maxNumMVPCand)的情况下,可以去除某些运动矢量候选,以调整运动矢量候选列表。此时,要去除的运动矢量候选可以是具有大于运动矢量候选的最大数目(即,maxNumMVPCand)减1(maxNumMVPCand-1)的索引的运动矢量候选。另外,在运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)等于运动矢量候选的最大数目(即,maxNumMVPCand)的情况下,导出最终的运动矢量候选。此时,在运动矢量候选的最大数目(即即,maxNumMVPCand)是2的情况下,可以最终导出两个运动矢量候选的最大者。此时,导出的运动矢量候选可以包括在运动矢量候选列表中,且导出的运动矢量候选之一可以被确定为预测块的预测运动矢量。
[0189] 根据本发明的另一实施例,在运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)大于或者等于运动矢量候选的最大数目(即,maxNumMVPCand)的情况下,可以去除某些运动矢量候选,以调整运动矢量候选列表。同样地,在运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)与运动矢量候选的最大数目(即,maxNumMVPCand)相同的情况下,不需要运动矢量候选的去除。因此,仅当在运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)大于运动矢量候选的最大数目(即,maxNumMVPCand)时,可以去除某些运动矢量候选,以调整运动矢量候选列表。
[0190] 因为通过以上处理仅执行运动矢量候选列表中包括的运动矢量候选的数目和运动矢量候选的最大数目之间的比较,以由此添加运动矢量候选到运动矢量候选列表,所以不必执行关于要添加的特定运动矢量候选((0,0)运动矢量)是否存在于运动矢量候选列表中的重复检查,因此导致当执行运动矢量预测时计算复杂性的减小。
[0191] 另外,仅执行运动矢量候选列表中包括的运动矢量候选的数目和运动矢量候选的最大数目之间的比较,且因此,不必执行用于检查运动矢量候选列表中是否存在运动矢量的列表空检查(否则,这将在配置运动矢量候选列表的中间进行),因此导致计算复杂性的进一步减小。
[0192] 图10是示意性地图示在一个运动矢量候选存在于运动矢量候选列表的情况下添加(0,0)运动矢量的实施例的图。
[0193] 编码器和解码器可以通过添加运动矢量到运动矢量候选列表mvpListLX或者去除某些运动矢量候选来调整运动矢量候选列表的大小。这里,numMVPCandLX指的是与基准画面L0和L1之一对应的运动矢量候选列表中运动矢量候选的数目,且最大运动矢量候选列表的大小可以取决于预定数目(例如,运动矢量候选的最大数目,即maxNumMVPCand)来确定。例如,与基准画面列表L0对应的运动矢量候选列表中包括的运动矢量候选的数目可以被表示为numMVPCandL0。此时,numMVPCandLX和maxNumMVPCand可以是包括0的正整数,且在实施例中,maxNumMVPCand可以是2。
[0194] 参考图10,在本发明的实施例中,在运动矢量候选的最大数目(即,maxNumMVPCand)是2的情况下,运动矢量候选列表1000中包括的运动矢量候选的数目(即,numMVPCandLX)是1,且因此,运动矢量候选列表1000中包括的运动矢量候选的数目(即,numMVPCandLX)小于运动矢量候选的最大数目(即,maxNumMVPCand),特定运动矢量可以添加到运动矢量候选列表1000,由此将运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)增加1。因此,可以生成添加有特定运动矢量以使得已经调整了大小的运动矢量候选列表1010。此时,添加的特定运动矢量可以是具有预定固定整数的矢量且可以是例如(0,0)运动矢量。
[0195] 图11是示意性地图示在一个(0,0)运动矢量候选存在于运动矢量候选列表的情况下添加(0,0)运动矢量的实施例的图。
[0196] 参考图11,在本发明的另一实施例中,运动矢量候选的最大数目(即,maxNumMVPCand)可以是2,运动矢量候选列表1100中包括的运动矢量候选的数目(即,numMVPCandLX)可以小于运动矢量候选的最大数目(即,maxNumMVPCand),且一个特定运动矢量((0,0)运动矢量)可能存在于运动矢量候选列表1100中。在此情况下,编码器和解码器可以添加特定运动矢量,而无论特定运动矢量(0,0)运动矢量)是否存在于运动矢量候选列表1100中。因此,可以添加再一个特定运动矢量,以使得可以生成已调整大小的运动矢量候选列表1110。此时,添加的特定运动矢量可以是具有预定固定整数的矢量,或者可以是(0,
0)运动矢量。在添加特定运动矢量时,运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)可能增加。因此,与运动矢量候选的最大数目(即,maxNumMVPCand)一样多的(0,0)运动矢量可以包括在运动矢量候选列表1110中。编码器和解码器通过仅进行运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)和运动矢量候选的最大数目(即,maxNumMVPCand)之间的比较而添加特定运动矢量,且因此,不确定特定运动矢量是否存在于列表中,因此导致计算复杂性的减小。
[0197] 图12是示意性地图示在没有运动矢量候选存在于运动矢量候选列表的情况下添加(0,0)运动矢量的实施例的图。
[0198] 参考图12,在本发明的又一实施例中,运动矢量候选的最大数目(即,maxNumMVPCand)可以是2,运动矢量候选列表1200中包括的运动矢量候选的数目(即,numMVPCandLX)可以小于运动矢量候选的最大数目(即,maxNumMVPCand),且可能没有运动矢量存在于运动矢量候选列表1200中。在这种场景中,编码器和解码器可以重复地添加特定运动矢量,而无论运动矢量候选是否存在于运动矢量候选列表1200中。当添加特定运动矢量时,运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)可能增加。
[0199] 换句话说,编码器和解码器可以添加特定运动矢量,直到运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)达到运动矢量候选的最大数目(即,maxNumMVPCand)为止。如在上述实施例中,在运动矢量候选的最大数目(即,maxNumMVPCand)是2的情况下,可以添加两个特定运动矢量。此时,添加的特定运动矢量可以是具有预定固定整数的矢量,或者可以是(0,0)运动矢量。因此,与运动矢量候选的最大数目(即,maxNumMVPCand)一样多的(0,0)运动矢量可以包括在运动矢量候选列表1210中。
编码器和解码器通过仅执行运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)和运动矢量候选的最大数目(即,maxNumMVPCand)之间的比较来添加特定运动矢量,且因此,不进行关于运动矢量候选是否存在于列表中的确定,因此导致计算复杂性的减小。
[0200] 虽然在所述图中未示出,但是根据本发明的又一实施例,在运动矢量候选的最大数目(即,maxNumMVPCand)是2,且运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)小于运动矢量候选的最大数目(即,maxNumMVPCand)的情况下,可以添加一个特定运动矢量。当添加特定运动矢量时,运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)可能增加。换句话说,在不重复地添加要添加的特定运动矢量的情况下,可以仅添加一个特定运动矢量。例如,在没有运动矢量存在于运动矢量候选列表中的情况下,编码器和解码器可以添加一个特定运动矢量,而无论运动矢量候选是否存在于运动矢量候选列表中。当添加特定运动矢量时,运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)可能增加。此时,添加的特定运动矢量可以是具有预定固定整数的矢量,或者可以是(0,0)运动矢量。即使在此情况下,编码器和解码器也通过仅进行运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)和运动矢量候选的最大数目(即,maxNumMVPCand)之间的比较来添加特定运动矢量,且因此,不进行关于运动矢量候选是否存在于运动矢量候选列表中的确定,因此减少计算复杂性。
[0201] 图13是示意性地图示从运动矢量候选列表去除某些运动矢量的实施例的图。
[0202] 参考图13,在本发明的实施例中,在运动矢量候选列表1300中包括的运动矢量候选的数目(即,numMVPCandLX)大于运动矢量候选的最大数目(即,maxNumMVPCand)的情况下,编码器和解码器可以从运动矢量候选列表1300去除具有运动矢量候选的最大数目减1(maxNumMVPCand-1)的索引的运动矢量候选。例如,在运动矢量候选的最大数目(即,maxNumMVPCand)是2,且运动矢量候选列表1300中包括的运动矢量候选的数目(即,numMVPCandLX)是3的情况下,从运动矢量候选列表1300中去除具有2的索引的运动矢量候选(4,-3),因此生成已调整大小的运动矢量候选列表1310,其中2大于1,1是运动矢量候选的最大数目(即,maxNumMVPCand)减1(maxNumMPVCand-1)。
[0203] 根据本发明的另一实施例,在运动矢量候选列表中包括的运动矢量候选的数目(即,numMVPCandLX)大于或者等于运动矢量候选的最大数目(即,maxNumMVPCand)的情况下,编码器和解码器可以从运动矢量候选列表去除具有大于运动矢量候选的最大数目(即,maxNumMVPCand)减1(maxNumMVPCand-1)的索引的运动矢量候选。
[0204] 图14是示意性地图示确定运动矢量候选列表中的运动矢量候选当中的预测运动矢量的处理的图。
[0205] 参考图14,编码器和解码器可以从已经通过以上处理调整的运动矢量候选列表1400中包括的运动矢量候选确定预测运动矢量。
[0206] 根据实施例,编码器和解码器可以将与特定运动矢量候选索引对应的运动矢量候选列表1400中的运动矢量候选确定为预测运动矢量。例如,在运动矢量候选的最大数目(即,maxNumMVPCand)是2、且运动矢量候选索引是1的情况下,运动矢量候选(2,3)可以被确定为预测运动矢量。
[0207] 编码器和解码器可以通过基于所确定的预测运动矢量值执行帧间预测或者运动补偿来生成预测块。
[0208] 虽然在实施例中,基于具有一系列步骤或者块的流程图描述了所述方法,但是本发明不限于该次序,且可以同时或者以与其他步骤不同的顺序执行某些步骤。另外,本领域技术人员可以理解,其他步骤可以非排他地包括在所述流程图的步骤中,或者可以从所述流程图去除一个或多个步骤,而不影响本发明的范围。
[0209] 上述实施例包括示例的各种方面。虽然在这里可能没有描述示例的各种方面的所有可能组合,但是本领域技术人员将理解这种组合是可能的。因此,本发明包括可能对所附权利要求做出的所有其他修改、变化、或者改变。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈