申请号:201280056452.0
申请日:2012年9月14日
发明名称:用于引入预测运动向量的方法和使用其的设备
本发明针对解码方法和设备,并更具体地,针对用于引入预测运动向量的方法和使用其的设备。
背景技术:
诸如hd(高清晰度)视频或uhd(超高清晰度)视频的高分辨率高质量视频的需求在各个应用产业中增长。因为视频数据具有更高分辨率和更高质量,所以数据量与现有视频数据相比相对增加。因此,当使用现有有线/无线宽带电路线路来传送这样的视频数据、或者使用现有存储介质来存储视频数据时,传送和存储成本增加。为了解决因为视频数据具有更高分辨率和更高质量所出现的这样的问题,可利用高效率视频压缩技术。
存在各类视频压缩技术。其中,帧间预测根据当前画面的前一或后一画面来预测当前画面中包括的像素值,帧内预测使用当前画面中的像素信息来预测当前画面中包括的像素值,并且熵编码向比较频繁的值分配较短代码同时向比较不频繁的值分配较长代码。这样的视频压缩技术可用来有效压缩、传送、或存储视频数据。
技术实现要素:
根据本发明的一个方面,提供了一种视频解码设备。该视频解码设备包括:熵解码单元,用于对候选预测运动向量列表中包括的候选预测运动向量之中的、用来对预测目标块执行帧间预测的预测运动向量的信息进行解码;和预测单元,用于通过根据预测目标块的邻近预测块确定多个空间候选预测运动向量的信息、并基于所述多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息,来生成该候选预测运动向量列表。
所述空间候选预测运动向量的信息包括第一空间候选预测运动向量可用性信息和第一空间候选预测运动向量中的至少一个以及第二空间候选预测运动向量可用性信息和第二空间候选预测运动向量中的至少一个,并且所述关于时间候选预测运动向量的信息包括时间候选预测运动向量可用性信息和时间候选预测运动向量中的至少一个。
当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此不同时,该预测单元确定该时间候选预测运动向量可用性信息,使得该时间候选预测运动向量不可用。
当第一空间候选预测运动向量和第二空间候选预测运动向量中的至少一个不可用或者当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此相同时,该预测单元通过执行导出所述关于时间候选预测运动向量的信息的处理,而确定所述关于时间候选预测运动向量的信息。
当该第一空间候选预测运动向量基于该第一空间候选预测运动向量可用性信息可用时,该预测单元配置该候选预测运动向量列表以包括该第一空间候选预测运动向量,当该第二空间候选预测运动向量基于该第二空间候选预测运动向量可用性信息可用时,该预测单元配置该候选预测运动向量列表以包括该第二空间候选预测运动向量,以及当该时间候选预测运动向量基于该时间候选预测运动向量可用性信息可用时,该预测单元配置该候选预测运动向量列表以包括该时间候选预测运动向量。
当该第一空间候选预测运动向量与该第二空间候选预测运动向量相同时,该预测单元通过去除该第二空间候选预测运动向量来重新配置该候选预测运动向量列表。
该预测单元通过确定该候选预测运动向量列表中包括的候选预测运动向量的数目是否小于该候选预测运动向量列表中要包括的候选预测运动向量的最大数目,并基于确定结果添加或去除候选预测运动向量,来重新配置该候选预测运动向量列表。
当该候选预测运动向量列表中包括的候选预测运动向量的数目小于候选预测运动向量的最大数目时,该预测单元向该候选预测运动向量列表添加零向量,以及当该候选预测运动向量列表中包括的候选预测运动向量的数目大于候选预测运动向量的最大数目时,该预测单元从该候选预测运动向量列表中去除候选预测运动向量,使得该候选预测运动向量列表包括最大数目的候选预测运动向量。
根据本发明的另一方面,提供了一种视频解码方法。该视频解码方法可包括:根据预测目标块的邻近预测块确定多个空间候选预测运动向量的信息;基于所述多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息;基于所述空间候选预测运动向量的信息和所述时间候选预测运动向量的信息,来配置候选预测运动向量列表;和基于该候选预测运动向量列表中的最终预测运动向量的索引信息来确定运动向量,并使用确定的运动向量来生成预测块。
其中所述确定多个空间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量可用性信息和第一空间候选预测运动向量以及确定第二空间候选预测运动向量可用性信息和第二空间候选预测运动向量,并且所述确定关于时间候选预测运动向量的信息的步骤包括:确定时间候选预测运动向量可用性信息和时间候选预测运动向量。
所述确定关于时间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量和第二空间候选预测运动向量是否都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量是否彼此不同;并且当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此不同时,确定时间候选预测运动向量可用性信息,使得该时间候选预测运动向量不可用。
所述确定关于时间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量和第二空间候选预测运动向量是否都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量是否彼此不同;并且当第一空间候选预测运动向量和第二空间候选预测运动向量中的至少一个不可用或者当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此相同时,通过执行导出关于时间候选预测运动向量的信息的处理,来确定关于时间候选预测运动向量的信息。
当该第一空间候选预测运动向量可用时,该候选预测运动向量列表包括该第一空间候选预测运动向量,当该第二空间候选预测运动向量可用时,该候选预测运动向量列表包括该第二空间候选预测运动向量,以及当该时间候选预测运动向量可用时,该候选预测运动向量列表包括该时间候选预测运动向量。
该视频解码方法可进一步包括:当该第一空间候选预测运动向量与该候选预测运动向量列表中的第二空间候选预测运动向量相同时,从该候选预测运动向量列表中去除该第二空间候选预测运动向量。
该视频解码方法可进一步包括:确定该候选预测运动向量列表中包括的候选预测运动向量的数目是否小于该候选预测运动向量列表中要包括的候选预测运动向量的最大数目;并且基于确定结果向该候选预测运动向量列表添加候选预测运动向量或从该候选预测运动向量列表去除候选预测运动向量。
所述基于确定结果添加或去除候选预测运动向量的步骤包括:当该候选预测运动向量列表中包括的候选预测运动向量的数目小于候选预测运动向量的最大数目时,向该候选预测运动向量列表添加零向量;以及当该候选预测运动向量列表中包括的候选预测运动向量的数目大于候选预测运动向量的最大数目时,从该候选预测运动向量列表中去除候选预测运动向量,使得该候选预测运动向量列表包括最大数目的候选预测运动向量。
通过确定在第一空间候选预测块组中包括的第一块或第二块中是否存在第一运动向量,来导出该第一空间候选预测运动向量可用性信息;当在第一空间候选预测块组中包括的第一块或第二块中不存在第一运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第二运动向量;当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量或第二运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第三运动向量;以及当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量、第二运动向量或第三运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第四运动向量。
从和该预测目标块使用相同参考视频列表和相同参考视频的第一块或第二块导出该第一运动向量,从和该预测目标块使用不同参考视频列表并和该预测目标块使用相同参考视频的第一块或第二块导出该第二运动向量,从和该预测目标块使用相同参考视频列表并和该预测目标块使用不同参考视频的第一块或第二块导出该第三运动向量,并从和该预测目标块使用不同参考视频列表和不同参考视频的第一块或第二块导出该第四运动向量。
通过确定在第二空间候选预测块组中包括的第三块、第四块或第五块中是否存在第一运动向量,来导出该第二空间候选预测运动向量可用性信息;当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量时,确定在第二空间候选预测块组中的第三块、第四块或第五块中是否存在第二运动向量;当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量和第二运动向量时,确定第二空间候选预测块组中的第三块、第四块或第五块中是否存在第三运动向量;以及当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量、第二运动向量或第三运动向量时,确定第二空间候选预测块组中的第三块、第四块或第五块中是否存在第四运动向量。
从和该预测目标块使用相同参考视频列表和相同参考视频的第三块、第四块或第五块导出该第一运动向量,从和该预测目标块使用不同参考视频列表并和该预测目标块使用相同参考视频的第三块、第四块或第五块导出该第二运动向量,从和该预测目标块使用相同参考视频列表并和该预测目标块使用不同参考视频的第三块、第四块或第五块导出该第三运动向量,并从和该预测目标块使用不同参考视频列表和不同参考视频的第三块、第四块或第五块导出该第四运动向量。
根据本发明的另一方面,提供了一种视频编码设备。该视频编码设备可包括:熵编码单元,用于对候选预测运动向量列表中包括的候选预测运动向量之中的、用来对预测目标块执行帧间预测的预测运动向量的信息进行编码;和预测单元,用于通过根据预测目标块的邻近预测块确定多个空间候选预测运动向量的信息、并基于所述多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息,来生成该候选预测运动向量列表。
所述空间候选预测运动向量的信息包括第一空间候选预测运动向量可用性信息和第一空间候选预测运动向量中的至少一个以及第二空间候选预测运动向量可用性信息和第二空间候选预测运动向量中的至少一个,并且所述关于时间候选预测运动向量的信息包括时间候选预测运动向量可用性信息和时间候选预测运动向量中的至少一个。
当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此不同时,该预测单元确定该时间候选预测运动向量可用性信息,使得该时间候选预测运动向量不可用。
当第一空间候选预测运动向量和第二空间候选预测运动向量中的至少一个不可用或者当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此相同时,该预测单元通过执行导出所述关于时间候选预测运动向量的信息的处理,而确定所述关于时间候选预测运动向量的信息。
当该第一空间候选预测运动向量基于该第一空间候选预测运动向量可用性信息可用时,该预测单元配置该候选预测运动向量列表以包括该第一空间候选预测运动向量,当该第二空间候选预测运动向量基于该第二空间候选预测运动向量可用性信息可用时,该预测单元配置该候选预测运动向量列表以包括该第二空间候选预测运动向量,以及当该时间候选预测运动向量基于该时间候选预测运动向量可用性信息可用时,该预测单元配置该候选预测运动向量列表以包括该时间候选预测运动向量。
当该第一空间候选预测运动向量与该第二空间候选预测运动向量相同时,该预测单元通过去除该第二空间候选预测运动向量,来重新配置该候选预测运动向量列表。
该预测单元通过确定该候选预测运动向量列表中包括的候选预测运动向量的数目是否小于该候选预测运动向量列表中要包括的候选预测运动向量的最大数目,并基于确定结果添加或去除候选预测运动向量,来重新配置该候选预测运动向量列表。
当该候选预测运动向量列表中包括的候选预测运动向量的数目小于候选预测运动向量的最大数目时,该预测单元向该候选预测运动向量列表添加零向量,以及当该候选预测运动向量列表中包括的候选预测运动向量的数目大于候选预测运动向量的最大数目时,该预测单元从该候选预测运动向量列表中去除候选预测运动向量,使得该候选预测运动向量列表包括最大数目的候选预测运动向量。
根据本发明的另一方面,提供了一种视频编码方法。该视频编码方法可包括:根据预测目标块的邻近预测块确定多个空间候选预测运动向量的信息;基于所述多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息;基于所述空间候选预测运动向量的信息和所述时间候选预测运动向量的信息,来配置候选预测运动向量列表。
所述确定多个空间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量可用性信息和第一空间候选预测运动向量以及确定第二空间候选预测运动向量可用性信息和第二空间候选预测运动向量,并且所述确定关于时间候选预测运动向量的信息的步骤包括:确定时间候选预测运动向量可用性信息和时间候选预测运动向量。
所述确定关于时间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量和第二空间候选预测运动向量是否都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量是否彼此不同;并且当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此不同时,确定时间候选预测运动向量可用性信息,使得该时间候选预测运动向量不可用。
所述确定关于时间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量和第二空间候选预测运动向量是否都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量是否彼此不同;并且当第一空间候选预测运动向量和第二空间候选预测运动向量中的至少一个不可用或者当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此相同时,通过执行导出关于时间候选预测运动向量的信息的处理,来确定关于时间候选预测运动向量的信息。
当该第一空间候选预测运动向量可用时,该候选预测运动向量列表包括该第一空间候选预测运动向量,当该第二空间候选预测运动向量可用时,该候选预测运动向量列表包括该第二空间候选预测运动向量,以及当该时间候选预测运动向量可用时,该候选预测运动向量列表包括该时间候选预测运动向量。
该视频编码方法可进一步包括当该第一空间候选预测运动向量与该候选预测运动向量列表中包括的第二空间候选预测运动向量相同时,从该候选预测运动向量列表中去除该第二空间候选预测运动向量。
该视频编码方法可进一步包括确定该候选预测运动向量列表中包括的候选预测运动向量的数目是否小于该候选预测运动向量列表中要包括的候选预测运动向量的最大数目;并且基于确定结果向该候选预测运动向量列表添加候选预测运动向量或从该候选预测运动向量列表去除候选预测运动向量。
所述基于确定结果添加或去除候选预测运动向量的步骤包括:当该候选预测运动向量列表中包括的候选预测运动向量的数目小于候选预测运动向量的最大数目时,向该候选预测运动向量列表添加零向量;以及当该候选预测运动向量列表中包括的候选预测运动向量的数目大于候选预测运动向量的最大数目时,从该候选预测运动向量列表中去除候选预测运动向量,使得该候选预测运动向量列表包括最大数目的候选预测运动向量。
通过确定在第一空间候选预测块组中包括的第一块或第二块中是否存在第一运动向量,来导出该第一空间候选预测运动向量可用性信息;当在第一空间候选预测块组中包括的第一块或第二块中不存在第一运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第二运动向量;当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量或第二运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第三运动向量;以及当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量、第二运动向量或第三运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第四运动向量。
从和该预测目标块使用相同参考视频列表和相同参考视频的第一块或第二块导出该第一运动向量,从和该预测目标块使用不同参考视频列表并和该预测目标块使用相同参考视频的第一块或第二块导出该第二运动向量,从和该预测目标块使用相同参考视频列表并和该预测目标块使用不同参考视频的第一块或第二块导出该第三运动向量,并从和该预测目标块使用不同参考视频列表和不同参考视频的第一块或第二块导出该第四运动向量。
通过确定在第二空间候选预测块组中包括的第三块、第四块或第五块中是否存在第一运动向量,来导出该第二空间候选预测运动向量可用性信息;当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量时,确定在第二空间候选预测块组中的第三块、第四块或第五块中是否存在第二运动向量;当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量或第二运动向量时,确定第二空间候选预测块组中的第三块、第四块或第五块中是否存在第三运动向量;以及当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量、第二运动向量或第三运动向量时,确定第二空间候选预测块组中的第三块、第四块或第五块中是否存在第四运动向量。
从和该预测目标块使用相同参考视频列表和相同参考视频的第三块、第四块或第五块导出该第一运动向量,从和该预测目标块使用不同参考视频列表并和该预测目标块使用相同参考视频的第三块、第四块或第五块导出该第二运动向量,从和该预测目标块使用相同参考视频列表并和该预测目标块使用不同参考视频的第三块、第四块或第五块导出该第三运动向量,并从和该预测目标块使用不同参考视频列表和不同参考视频的第三块、第四块或第五块导出该第四运动向量。
根据本发明的另一方面,提供了一种计算机可读记录介质,记录计算机实现的用于视频解码的程序。该程序可包括:根据预测目标块的邻近预测块确定多个空间候选预测运动向量的信息;基于所述多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息;基于所述空间候选预测运动向量的信息和所述关于时间候选预测运动向量的信息,来配置候选预测运动向量列表;和基于该候选预测运动向量列表中的最终预测运动向量的索引信息来确定运动向量,并使用确定的运动向量来生成预测块。
所述确定多个空间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量可用性信息和第一空间候选预测运动向量以及确定第二空间候选预测运动向量可用性信息和第二空间候选预测运动向量,并且所述确定关于时间候选预测运动向量的信息的步骤包括:确定时间候选预测运动向量可用性信息和时间候选预测运动向量。
所述确定关于时间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量和第二空间候选预测运动向量是否都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量是否彼此不同;并且当第一空间候选预测运动向量和第二空间候选预测运动向量都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量彼此不同时,确定时间候选预测运动向量可用性信息,使得该时间候选预测运动向量不可用。
所述确定关于时间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量和第二空间候选预测运动向量是否都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量是否彼此不同;并且当第一空间候选预测运动向量和第二空间候选预测运动向量中的至少一个不可用或者当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此相同时,通过执行导出关于时间候选预测运动向量的信息的处理,来确定关于时间候选预测运动向量的信息。
当该第一空间候选预测运动向量可用时,该候选预测运动向量列表包括该第一空间候选预测运动向量,当该第二空间候选预测运动向量可用时,该候选预测运动向量列表包括该第二空间候选预测运动向量,以及当该时间候选预测运动向量可用时,该候选预测运动向量列表包括该时间候选预测运动向量。
该程序可进一步包括:当该第一空间候选预测运动向量与该候选预测运动向量列表中包括的第二空间候选预测运动向量相同时,从该候选预测运动向量列表中去除该第二空间候选预测运动向量。
该程序可进一步包括确定该候选预测运动向量列表中包括的候选预测运动向量的数目是否小于该候选预测运动向量列表中要包括的候选预测运动向量的最大数目;并且基于确定结果向该候选预测运动向量列表添加候选预测运动向量或从该候选预测运动向量列表去除候选预测运动向量。
所述基于确定结果添加或去除候选预测运动向量的步骤包括:当该候选预测运动向量列表中包括的候选预测运动向量的数目小于候选预测运动向量的最大数目时,向该候选预测运动向量列表添加零向量;以及当该候选预测运动向量列表中包括的候选预测运动向量的数目大于候选预测运动向量的最大数目时,从该候选预测运动向量列表中去除候选预测运动向量,使得该候选预测运动向量列表包括最大数目的候选预测运动向量。
通过确定在第一空间候选预测块组中包括的第一块或第二块中是否存在第一运动向量,来导出该第一空间候选预测运动向量可用性信息;当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第二运动向量;当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量或第二运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第三运动向量;以及当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量、第二运动向量或第三运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第四运动向量。
从和该预测目标块使用相同参考视频列表和相同参考视频的第一块或第二块导出该第一运动向量,从和该预测目标块使用不同参考视频列表并和该预测目标块使用相同参考视频的第一块或第二块导出该第二运动向量,从和该预测目标块使用相同参考视频列表并和该预测目标块使用不同参考视频的第一块或第二块导出该第三运动向量,并从和该预测目标块使用不同参考视频列表和不同参考视频的第一块或第二块导出该第四运动向量。
通过确定在第二空间候选预测块组中包括的第三块、第四块或第五块中是否存在第一运动向量,来导出该第二空间候选预测运动向量可用性信息;当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量时,确定在第二空间候选预测块组中的第三块、第四块或第五块中是否存在第二运动向量;当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量或第二运动向量时,确定第二空间候选预测块组中的第三块、第四块或第五块中是否存在第三运动向量;以及当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量、第二运动向量或第三运动向量时,确定第二空间候选预测块组中的第三块、第四块或第五块中是否存在第四运动向量。
从和该预测目标块使用相同参考视频列表和相同参考视频的第三块、第四块或第五块导出该第一运动向量,从和该预测目标块使用不同参考视频列表并和该预测目标块使用相同参考视频的第三块、第四块或第五块导出该第二运动向量,从和该预测目标块使用相同参考视频列表并和该预测目标块使用不同参考视频的第三块、第四块或第五块导出该第三运动向量,并从和该预测目标块使用不同参考视频列表和不同参考视频的第三块、第四块或第五块导出该第四运动向量。
根据本发明的另一方面,提供了一种计算机可读记录介质,记录计算机实现的用于视频编码的程序。该程序可包括:根据预测目标块的邻近预测块确定多个空间候选预测运动向量的信息;基于所述多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息;基于所述空间候选预测运动向量的信息和所述时间候选预测运动向量的信息,来配置候选预测运动向量列表。
所述确定多个空间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量可用性信息和第一空间候选预测运动向量以及确定第二空间候选预测运动向量可用性信息和第二空间候选预测运动向量,并且所述确定关于时间候选预测运动向量的信息的步骤包括:确定时间候选预测运动向量可用性信息和时间候选预测运动向量。
所述确定关于时间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量和第二空间候选预测运动向量是否都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量是否彼此不同;并且当第一空间候选预测运动向量和第二空间候选预测运动向量都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量彼此不同时,确定时间候选预测运动向量可用性信息,使得该时间候选预测运动向量不可用。
所述确定关于时间候选预测运动向量的信息的步骤包括:确定第一空间候选预测运动向量和第二空间候选预测运动向量是否都可用以及第一空间候选预测运动向量和第二空间候选预测运动向量是否彼此不同;并且当第一空间候选预测运动向量和第二空间候选预测运动向量中的至少一个不可用或者当第一空间候选预测运动向量和第二空间候选预测运动向量都可用并且第一空间候选预测运动向量和第二空间候选预测运动向量彼此相同时,通过执行导出关于时间候选预测运动向量的信息的处理,来确定关于时间候选预测运动向量的信息。
当该第一空间候选预测运动向量可用时,该候选预测运动向量列表包括该第一空间候选预测运动向量,当该第二空间候选预测运动向量可用时,该候选预测运动向量列表包括该第二空间候选预测运动向量,以及当该时间候选预测运动向量可用时,该候选预测运动向量列表包括该时间候选预测运动向量。
该程序可进一步包括:当该第一空间候选预测运动向量与该候选预测运动向量列表中的第二空间候选预测运动向量相同时,从该候选预测运动向量列表中去除该第二空间候选预测运动向量。
该程序可进一步包括:确定该候选预测运动向量列表中包括的候选预测运动向量的数目是否小于该候选预测运动向量列表中要包括的候选预测运动向量的最大数目;并且基于确定结果,向该候选预测运动向量列表添加候选预测运动向量或从该候选预测运动向量列表去除候选预测运动向量。
所述基于确定结果添加或去除候选预测运动向量的步骤包括:当该候选预测运动向量列表中包括的候选预测运动向量的数目小于候选预测运动向量的最大数目时,向该候选预测运动向量列表添加零向量;以及当该候选预测运动向量列表中包括的候选预测运动向量的数目大于候选预测运动向量的最大数目时,从该候选预测运动向量列表中去除候选预测运动向量,使得该候选预测运动向量列表包括最大数目的候选预测运动向量。
通过确定在第一空间候选预测块组中包括的第一块或第二块中是否存在第一运动向量,来导出该第一空间候选预测运动向量可用性信息;当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第二运动向量;当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量或第二运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第三运动向量;以及当在第一空间候选预测块组中的第一块或第二块中不存在第一运动向量、第二运动向量或第三运动向量时,确定该第一空间候选预测块组中的第一块或第二块中是否存在第四运动向量。
从和该预测目标块使用相同参考视频列表和相同参考视频的第一块或第二块导出该第一运动向量,从和该预测目标块使用不同参考视频列表并和该预测目标块使用相同参考视频的第一块或第二块导出该第二运动向量,从和该预测目标块使用相同参考视频列表并和该预测目标块使用不同参考视频的第一块或第二块导出该第三运动向量,并从和该预测目标块使用不同参考视频列表和不同参考视频的第一块或第二块导出该第四运动向量。
通过确定在第二空间候选预测块组中包括的第三块、第四块或第五块中是否存在第一运动向量,来导出该第二空间候选预测运动向量可用性信息;当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量时,确定在第二空间候选预测块组中的第三块、第四块或第五块中是否存在第二运动向量;当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量或第二运动向量时,确定第二空间候选预测块组中的第三块、第四块或第五块中是否存在第三运动向量;以及当在第二空间候选预测块组中的第三块、第四块或第五块中不存在第一运动向量、第二运动向量或第三运动向量时,确定第二空间候选预测块组中的第三块、第四块或第五块中是否存在第四运动向量。
从和该预测目标块使用相同参考视频列表和相同参考视频的第三块、第四块或第五块导出该第一运动向量,从和该预测目标块使用不同参考视频列表并和该预测目标块使用相同参考视频的第三块、第四块或第五块导出该第二运动向量,从和该预测目标块使用相同参考视频列表并和该预测目标块使用不同参考视频的第三块、第四块或第五块导出该第三运动向量,并从和该预测目标块使用不同参考视频列表和不同参考视频的第三块、第四块或第五块导出该第四运动向量。
根据本发明的另一方面,提供了一种视频解码设备,包括:熵解码单元,用于对指示候选预测运动向量列表中包括的候选预测运动向量之中的、用于执行预测目标块的帧间预测的预测运动向量的信息进行解码;和预测单元,用于通过根据预测目标块的邻近预测块确定关于多个空间候选预测运动向量的信息,并基于所述关于多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息,来生成候选预测运动向量列表。
根据本发明的另一方面,提供了一种视频编码设备,包括:预测单元,用于通过根据预测目标块的邻近预测块确定关于多个空间候选预测运动向量的信息,并基于所述关于多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息,来生成候选预测运动向量列表;和熵编码单元,用于对指示候选预测运动向量列表中包括的候选预测运动向量之中的、用于执行预测目标块的帧间预测的预测运动向量的信息进行编码。
根据本发明的另一方面,提供了一种存储由根据本发明的视频编码方法生成的比特流的计算机可读介质。
根据本发明的另一方面,提供了一种存储比特流的计算机可读介质,所述比特流包括:指示候选预测运动向量列表中包括的候选预测运动向量之中的、用于执行预测目标块的帧间预测的预测运动向量的信息;其中通过根据预测目标块的邻近预测块确定关于多个空间候选预测运动向量的信息,并基于所述关于多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息,来生成该候选预测运动向量列表。
根据本发明的另一方面,提供了一种生成比特流的设备,包括:熵编码单元,用于生成包括指示候选预测运动向量列表中包括的候选预测运动向量之中的、用于执行预测目标块的帧间预测的预测运动向量的信息的比特流,用于使用所述比特流的预测目标块的解码,其中通过根据预测目标块的邻近预测块确定关于多个空间候选预测运动向量的信息,并基于所述关于多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息,来生成候选预测运动向量列表,用于使用所述比特流的预测目标块的解码。
根据本发明的另一方面,提供了一种存储比特流的设备,包括:熵编码单元,用于存储包括指示候选预测运动向量列表中包括的候选预测运动向量之中的、用于执行预测目标块的帧间预测的预测运动向量的信息的比特流,用于使用所述比特流的预测目标块的解码,其中通过根据预测目标块的邻近预测块确定关于多个空间候选预测运动向量的信息,并基于所述关于多个空间候选预测运动向量的信息确定关于时间候选预测运动向量的信息,来生成候选预测运动向量列表,用于使用所述比特流的预测目标块的解码。
附图说明
图1是图示了根据本发明实施例的视频编码设备的配置的框图。
图2是图示了根据本发明另一实施例的视频解码设备的配置的框图。
图3是图示了根据本发明实施例的空间候选预测块和时间候选预测块以产生候选预测运动向量的概念图。
图4是图示了根据本发明实施例的通过预测目标块的运动向量和空间候选预测块的运动向量之间的关系、来对空间候选预测块的运动向量进行分类的方法的概念图。
图5是图示了根据本发明实施例的用于产生候选预测运动向量的方法的流程图。
图6是图示了根据本发明另一实施例的用于产生候选预测运动向量的方法的流程图。
图7是图示了根据本发明另一实施例的用于产生候选预测运动向量的方法的流程图。
图8是图示了根据本发明实施例的用于产生附加候选预测运动向量的处理的流程图。
图9是图示了根据本发明另一实施例的用于产生附加候选预测运动向量的处理的流程图。
图10是图示了根据本发明实施例的用于产生预测运动向量的方法的流程图。
图11是图示了根据本发明另一实施例的用于产生预测运动向量的方法的流程图。
图12是图示了根据本发明实施例的用于产生预测运动向量的方法的流程图。
图13是图示了根据本发明另一实施例的用于产生预测运动向量的方法的流程图。
图14是图示了根据本发明实施例的用于产生候选预测运动向量的方法的流程图。
图15是图示了根据本发明实施例的用于产生时间候选预测运动向量的方法的概念图。
图16是图示了根据本发明实施例的用于产生候选预测运动向量列表的方法的概念图。
图17是图示了根据本发明实施例的用于从候选预测运动向量列表去除相同候选预测运动向量的概念图。
图18是图示了根据本发明实施例的通过添加或去除候选预测运动向量来调整候选预测运动向量列表的尺寸的方法的概念图。
图19是图示了根据本发明实施例的用于确定候选预测运动向量列表中的最终预测运动向量的概念图。
图20是图示了根据本发明实施例的用于产生候选预测运动向量列表的方法的流程图。
具体实施方式
其后,将参考附图来详细描述本发明的实施例。在描述这些实施例时,当确定使得本发明的要义不清楚时,将省略关于公知配置或功能的详细描述。
当组件“连接到”或“耦接到”另一组件时,该组件可直接连接或耦接到所述另一组件,或者还可插入其他组件。此外,当“包括”特定组件时,不排除而是可包括其他组件,并且这样的配置也被包括在本发明的范围中。
可使用术语“第一”和“第二”来描述各个组件,但是组件不限于此。这些术语仅用来将组件进行彼此区分。例如,第一组件也可被称为第二组件,并且第二组件可被类似地称为第一组件。
独立示出这些实施例中的构成部分以表示不同特征,但是这不意味着每一构成部分由单独硬件单元或一个软件构成单元形成。即,为了易于描述,每一构成部分与其他构成部分分离。至少两个构成部分可被组合为单一构成部分,或者一个构成部分划分为可分别执行功能的多个构成部分。覆盖这些构成部分的组合或其分离的实施例可被包括在本发明的范围中,而不脱离本发明的要义。
一些构成部分不是执行本发明的必然功能的必要部分,而可以是增强性能的可选构成部分。本发明可仅通过实现本发明的要义所必需的构成部分来实现,或者排除用于增强性能的可选构成部分之外的仅包括必要构成部分的这样的配置也可被包括在本发明的范围中。
图1是图示了根据本发明实施例的视频编码设备的配置的框图。
参考图1,视频编码设备100包括运动预测单元111、运动补偿单元112、帧内预测单元120、开关115、减法器125、变换器130、量化器140、熵编码单元150、逆量化器160、逆变换器170、加法器175、滤波器单元180、和参考画面缓冲器190。
视频编码设备100按照帧内模式或按照帧间模式来执行编码并输出比特流。在帧内模式的情况下,开关115切换到“帧内”,而在帧间模式的情况下,开关115切换到“帧间”。视频编码设备100产生用于输入画面的输入块的预测块,并然后编码输入块和预测块的残差。
在帧内模式的情况下,帧内预测单元120可通过使用与当前块邻近的已编码块的像素值执行空间预测,来产生预测块。
在帧间模式的情况下,运动预测单元111可通过在运动预测处理期间在参考画面缓冲器190中存储的参考画面中找到与输入块最佳匹配的区域,来获得运动向量。运动补偿单元112可通过使用该运动向量执行运动补偿,来产生预测块。
运动预测单元111可基于从预测目标块的邻近预测块引入的多个空间候选预测运动向量、以及基于关于所述多个空间候选预测运动向量的信息所确定的与时间候选预测运动向量相关的信息,来生成候选预测运动向量列表。下面将详细描述用于生成候选预测运动向量列表的方法,并且执行这样的操作的预测单元被包括在本发明的实施例中。
减法器125可通过输入块和产生的预测块的相减,来产生残差块。变换器130对残差块执行变换以输出变换系数。这里,变换系数可意味着通过对残差块和/或残差信号执行变换而获得的系数值。其后,如这里使用的,通过对变换系数应用量化而获得的量化后的变换系数级别也可被称为变换系数。
量化器140根据量化参数来对输入变换系数进行量化,以输出量化后的变换系数级别。
熵编码单元150基于量化器140获得的值或在编码期间获得的编码参数来执行熵编码,以输出比特流。
当熵编码应用时,码元被表示为使得向具有高出现概率的码元分配较少比特,而向具有低出现概率的码元分配较多比特,并由此可降低用于要编码的码元的比特流的尺寸。因此,熵编码可增加视频编码的压缩性能。熵编码单元150可使用诸如指数哥伦布码、cavlc(上下文自适应可变长度编码)或cabac(上下文自适应二进制算术编码)的编码方案用于熵编码。
熵编码单元150可对候选预测运动向量列表中包括的候选预测运动向量之中的、用于执行预测目标块的帧间预测的预测运动向量的信息进行编码。
由于图1中示出的视频编码设备执行帧间预测编码(即,帧间预测编码),所以当前编码的画面需要被解码和存储,使得可将当前编码的画面用作参考画面。因此,量化的系数由逆量化器160逆量化,并且由逆变换器170逆变换。逆量化、逆变换后的系数由加法器175添加到预测块,并然后产生重构块。
重构块经过滤波器单元180,滤波器单元180向重构块或重构画面应用解块滤波器、sao(样本自适应偏移)、和alf(自适应环路滤波器)中的至少一个或多个。在经过滤波器单元180之后,重构块可被存储在参考画面缓冲器190中。
图2是图示了根据本发明另一实施例的视频解码设备的配置的框图。
参考图2,视频解码设备200包括熵解码单元210、逆量化器220、逆变换器230、帧内预测单元240、运动补偿单元250、加法器255、滤波器单元260、和参考画面缓冲器270。
视频解码设备200接收从编码器输出的比特流,并按照帧内模式或帧间模式来解码比特流,以由此输出重构画面(即,解码后画面)。在帧内模式的情况下,开关移位到“帧内”,而在帧间模式的情况下,开关移位到“帧间”。视频解码设备200可从接收的比特流获得重构的残差块,可产生预测块,并可将重构的残差块添加到预测块,以由此产生重构块(即,解码后的块)。
熵解码单元210根据概率分布对接收的比特流进行熵解码,以产生包括量化后的系数类型码元的码元。熵解码方案与上述熵编码方案类似。
当熵解码方案应用时,码元被表示为使得向具有较高出现概率的码元分配较少比特,并向具有较低出现概率的码元分配较多比特,并由此,可降低每一码元的比特流的尺寸。因此,可通过熵解码方案来增加视频解码压缩性能。
熵解码单元210可对候选预测运动向量列表中包括的候选预测运动向量之中的、用于对预测目标块执行帧间预测的预测运动向量的信息进行解码。
量化后的系数可以由逆量化器220逆量化,并且由逆变换器230逆变换。并且作为逆量化/逆变换的结果,可产生重构的残差块。
在帧内模式的情况下,帧内预测单元240可通过使用与当前块邻近的已解码块的像素值执行空间预测,来产生预测块。在帧间模式的情况下,运动补偿单元250可通过使用参考画面缓冲器270中存储的参考画面和运动向量来执行运动补偿,以由此产生预测块。
在帧间模式的情况下,候选预测运动向量列表可基于从预测目标块的邻近预测块引入的多个空间候选预测运动向量、以及基于关于所述多个空间候选预测运动向量的信息而确定的与时间候选预测运动向量相关的信息来生成。下面将详细描述用于生成候选预测运动向量列表的方法,并且包括执行这样的操作的预测单元的解码设备被包括在本发明的实施例中。
加法器255将重构的残差块和预测块彼此相加,并且相加的块可经过滤波器单元260。滤波器单元260可向重构块或重构画面应用解块滤波器、sao、和alf中的至少一个或多个。滤波器单元260可输出重构画面(即,解码后的画面)。重构画面被存储在参考画面缓冲器270中并可用于帧间模式。
为了增强编码/解码设备的预测性能,存在用于提升内插画面的精度的方法和用于预测差值信号的方法。这里,取决于上下文,“差值信号”可被称为“残差信号”、“残差块”或“差分块”,其可由本领域技术人员在不影响本发明的范围或要义的范围内彼此区分。
如上所述,尽管为了易于描述其后将编码单元用作其中执行编码的单元,但是该编码单元也可以是其中执行解码以及编码的单元。此外,“单元”或“块”其后表示其中执行视频编码和解码的单元,并且当执行视频编码和解码时的“编码或解码单元”表示通过分离一个画面用于编码或解码所获得的单元。由此,编码或解码单元也可被称为“宏块”、“编码单元(cu)”、“预测单元(pu)”、“变换单元(tu)”或“变换块”。一个块可被分离为较小子块。预测单元是用于执行预测/补偿的基本块,并且预测单元可被分离为多个分区。多个分区可以是用于执行预测的基本块,并且通过分离预测单元所获得的分区也被称为预测单元。
根据本发明实施例的下面要描述的视频编码方法和视频解码方法可由上面结合图1和2描述的视频编码设备和视频解码设备中包括的每一组件来执行。每一组件可按照硬件实现,并且还可包括按照软件实现的处理单元,其可通过算法来运行。
图3是图示了根据本发明实施例的空间候选预测块和时间候选预测块以产生候选预测运动向量的概念图。
位于预测目标块的左上侧的像素的位置被定义为(xp,yp),预测目标块的宽度被定义为npsw,而预测目标块的高度被定义为npsh。minpusize可表示最小预测块的尺寸。
其后,根据本发明的实施例,作为预测目标块的空间邻近预测块,包括位于(xp-1,yp+npsh)的像素的块被定义为左边第一块(a0块,300),而包括位于(xp-1,yp+npsh-minpusize)的像素的块被定义为左边第二块(a1块,310)。包括位于(xp+npsw,yp-1)的像素的块被定义为上边第一块(b0块,320),包括位于(xp+npsw-minpusize,yp-1)的像素的块被定义为上边第二块(b1块,330),而包括位于(xp-minpusize,yp-1)的像素的块被定义为上边第三块(b2块,340)。
空间候选预测块可包括左边第一块(a0,300)、左边第二块(a1,310)、上边第一块(b0,320)、上边第二块(b1,330)和上边第三块(b2,340)。空间候选预测块可被划分为包括第一空间候选预测组和第二空间候选预测组的两组,该第一空间候选预测组包括左边第一块300和左边第二块310,而该第二空间候选预测组包括上边第一块320、上边第二块330、和上边第三块340。
空间候选预测块350是包括基于包括当前预测目标块的画面中的像素位置(xp,yp)的、当前预测块的并置画面中的位于(xp+npsw,yp+npsh)的像素的预测块,或者如果包括位于(xp+npsw,yp+npsh)的像素的预测块不可用,则是包括位于(xp+(npsw>>1),yp+(npsh>>1))的像素的预测块。在并置画面中,包括位于(xp+npsw,yp+npsh)的像素的预测块被称为第一并置块,并且在并置画面中,包括位于(xp+(npsw>>1),yp+(npsh>>1))的像素的预测块被称为第二并置块。
空间候选预测块的位置和数目以及时间候选预测块的位置和数目可被任意确定,并可在不脱离本发明的要义的范围的情况下改变。此外,当配置候选预测运动向量列表时扫描预测块的顺序也可改变。即,用来配置下面描述的候选预测运动向量列表的候选预测块的位置、数目、扫描顺序、和候选预测组可改变,而不脱离本发明的要义。这时,候选预测运动向量列表意味着包括候选预测运动向量的列表。
图4是图示了根据本发明实施例的通过预测目标块的运动向量和空间候选预测块的运动向量之间的关系来对空间候选预测块的运动向量进行分类的方法的概念图。
参考图4,从与预测目标块相同的参考帧和相同的参考画面列表产生的空间候选预测块的运动向量被称为第一运动向量400。参考图4,假设预测目标块450的参考画面是画面j,并且包括画面j的参考画面列表是列表l0,空间候选预测块470的向量400所指示的参考画面是画面j,并且包括画面j的参考画面列表是列表l0,并由此,空间候选预测块470的运动向量和预测目标块的运动向量具有相同参考画面和相同参考画面列表。这样,从和预测目标块相同的参考帧和相同的列表产生的运动向量被定义为第一运动向量400。
和预测目标块450具有相同参考帧并且从不同参考画面列表产生的空间候选预测块470的运动向量被称为第二运动向量410。假设预测目标块450的参考画面是画面j,并且包括画面j的参考画面列表是列表l0,空间候选预测块470的向量所指示的参考画面是画面j,并且包括画面j的参考画面列表是列表l1,并由此,空间候选预测块的运动向量410和预测目标块的运动向量具有相同参考画面但是具有不同参考画面列表。这样,从不同列表产生的和预测目标块具有相同参考帧的运动向量被定义为第二运动向量410。
和预测目标块具有不同参考帧并且从相同参考画面列表产生的空间候选预测块的运动向量被称为第三运动向量420。假设预测目标块450的参考画面是画面j,并且包括画面j的参考画面列表是列表l0,空间候选预测块470的向量420所指示的参考画面是画面i,并且包括画面i的参考画面列表是列表l0,并由此,空间候选预测块的运动向量和预测目标块的运动向量具有不同参考画面但是具有相同参考画面列表。这样,和预测目标块450具有不同参考帧但是从相同列表产生的运动向量被定义为第三运动向量420。由于第三运动向量420和预测目标块具有不同参考画面,所以当使用空间候选预测块的运动向量时,其可基于预测目标块的参考画面来缩放,并然后可被包括在候选预测运动向量列表中。
和预测目标块450具有不同参考帧并且从不同参考画面列表产生的空间候选预测块470的运动向量被称为第四运动向量430。假设预测目标块450的参考画面是画面j,并且包括画面j的参考画面列表是列表l0,空间候选预测块470的向量430所指示的参考画面是画面m,并且包括画面m的参考画面列表是列表l1,空间候选预测块的运动向量和预测目标块的运动向量具有不同参考画面和不同参考画面列表。这样,从和预测目标块不同的参考帧和不同的参考画面列表产生的运动向量被定义为第四运动向量430。第四运动向量430和预测目标块450具有不同参考画面,并由此当使用空间候选预测块的运动向量时,其基于预测目标块的参考画面来缩放,并然后可被包括在候选预测运动向量列表中。
空间候选预测块的运动向量可取决于上述预测目标块的参考帧和参考画面列表而被分类为第一运动向量到第四运动向量。第一运动向量和第二运动向量是可没有缩放地使用的向量,并被定义为还没有经受缩放的非缩放运动向量。第三和第四运动向量是可没有缩放地使用的向量,并被定义为缩放运动向量。
可使用用于将空间候选预测块的运动向量分类为第一运动向量到第四运动向量的方法,来确定将首先使用空间候选预测块的运动向量中的哪个运动向量作为下面要描述的候选预测运动向量。
其后,在诸如第一运动向量到第四运动向量的候选预测运动向量之中,被选择为最佳运动向量的运动向量可被定义为该预测运动向量。
图5是图示了根据本发明实施例的用于产生候选预测运动向量的方法的流程图。
候选预测运动向量概念上包括空间候选预测运动向量和时间候选预测运动向量中的至少一个或多个。
根据本发明的实施例,在产生候选预测运动向量的方法中,可并行执行用于引入候选预测运动向量的处理。例如,在从两个空间候选预测组(第一空间候选预测组和第二空间候选预测组)的每一个引入一个候选预测运动向量并且从时间候选预测块引入一个候选预测运动向量的情况下,可并行执行从第一空间候选预测组、第二空间候选预测组、和时间候选预测块引入候选预测运动向量的操作。“并行执行引入候选预测运动向量的处理”意味着可降低引入候选预测运动向量的处理的复杂度。
参考图5,并行执行在第一空间候选预测组中产生第一空间候选预测运动向量的步骤(步骤s500)、在第二空间候选预测组中产生第二空间候选预测运动向量的步骤(步骤s520)、和在时间候选预测块中产生时间候选预测运动向量的步骤(步骤s540)。
任意定义图5中示出的并行执行的产生候选预测运动向量的步骤,并且可采用并行引入候选预测运动向量的其他方法,而不脱离本发明的要义。例如,可省略在时间候选预测块中产生候选预测运动向量的步骤,同时可仅并行执行在第一空间候选预测组中产生候选预测运动向量的步骤和在第二空间候选预测组中产生候选预测运动向量的步骤。
在根据本发明实施例的引入候选预测运动向量的方法中,
可采用
a)仅使用没有经受缩放的非缩放运动向量(第一运动向量或第二运动向量)作为候选预测运动向量的方法,和
b)如果没有非缩放运动向量(第一运动向量或第二运动向量)可用、则使用没有经受缩放的第三运动向量或第四运动向量作为候选预测运动向量的方法
以产生候选预测运动向量。
图6是图示了根据本发明另一实施例的用于产生候选预测运动向量的方法的流程图。
参考图6,按照从左边第一块到左边第二块的顺序来依次确定是否存在非缩放运动向量(第一运动向量或第二运动向量)(步骤s600)。
如上所述,第一运动向量和第二运动向量表示具有相同参考画面索引并且不需要经受缩放的非缩放候选预测运动向量。
在步骤s600中,例如,可按照以下顺序确定是否存在候选预测运动向量:
(1)确定在左边第一块中是否存在非缩放候选预测运动向量,并且如果在左边第一块中存在非缩放候选预测运动向量,则将对应非缩放候选预测运动向量确定为候选预测运动向量。
(2)如果没有非缩放候选预测运动向量在左边第一块中可用,则确定在左边第二块中是否存在非缩放候选预测运动向量。如果在左边第二块中存在非缩放候选预测运动向量,则将对应非缩放候选预测运动向量确定为候选预测运动向量。
(3)如果没有非缩放候选预测运动向量在左边第二块中可用,则没有候选预测运动向量可以从第一空间候选预测组(左边第一块和左边第二块)产生。
作为另一示例,在步骤s600中,可按照以下顺序确定是否存在候选预测运动向量:
(1)确定在左边第一块中是否存在第一运动向量,并且如果在第一块中存在第一运动向量,则将对应向量确定为候选预测运动向量。
(2)如果在左边第一块中不存在第一运动向量,则确定第一运动向量是否在第二块中,并且如果在左边第二块中存在第一运动向量,则将对应向量确定为候选预测运动向量。
(3)如果在左边第二块中不存在第一运动向量,则确定第二运动向量是否在左边第一块中,并且如果在左边第一块中存在第二运动向量,则将对应向量确定为候选预测运动向量。
(4)如果在左边第一块中不存在第二运动向量,则确定第二运动向量是否在左边第二块中,并且如果在左边第二块中存在第二运动向量,则将对应向量确定为候选预测运动向量。
上述顺序仅是其中从第一空间候选预测组产生非缩放候选预测运动向量的示例,并且换言之,可从第一空间候选预测组产生非缩放候选预测运动向量。
如上所述,如果在步骤s600中没有非缩放候选预测运动向量可用,则可以不从第一空间候选预测组(左边第一块和左边第二块)产生候选预测运动向量。
如果通过产生非缩放候选预测运动向量的方法在第一空间候选预测组中存在非缩放候选预测运动向量,则将第一空间候选预测组可用性信息(例如,availableflaglxy)设置为1,以指示在第一空间候选预测组中存在候选预测运动向量。“1”可以是指示是否存在候选预测运动向量的二进制数,而其他二进制数可用来进行同样指示。在本发明的实施例中,任意确定指示预定信息的二进制数“1”和“0”,并且可基于通过其他二进制编码或解码方法产生的代码来表示对应信息。
根据另一实施例,如果在步骤s600中没有产生非缩放候选预测运动向量,则顺序确定在左边第一块和左边第二块中是否存在缩放运动向量(第三运动向量或第四运动向量)(步骤s610)。
例如,可通过步骤s610中的子步骤来确定是否存在缩放运动向量:
(1)顺序确定在左边第一块中是否存在第三运动向量或第四运动向量,并且如果在左边第一块中存在第三运动向量或第四运动向量,则将第三运动向量或第四运动向量确定为没有缩放的候选预测运动向量。
(2)如果在左边第一块中不存在第三运动向量或第四运动向量,则顺序确定在左边第二块中是否存在第三运动向量或第四运动向量,并且如果在左边第二块中存在第三运动向量或第四运动向量,则将对应第三运动向量或第四运动向量确定为没有缩放的候选预测运动向量。
即,如果在第一空间候选预测组中存在非缩放候选预测运动向量,则从第一空间候选预测组(左边第一块和左边第二块)产生缩放候选预测运动向量(第三运动向量或第四运动向量),并且在这样的情况下,可产生还没有经受缩放的运动向量作为候选预测运动向量。
作为在步骤s610中顺序确定在左边第一块和左边第二块中是否存在缩放候选预测运动向量(第三运动向量或第四运动向量)的方法,可采用各种方法,例如在左边第一块和左边第二块中产生缩放运动向量(第一运动向量或第二运动向量)的上述方法,它们也被包括在本发明的范围中。
如果存在满足通过步骤s600或步骤s600和s610的条件的运动向量,则将第一空间候选预测组可用性信息设置为1,并且可以不执行确定是否存在其随后运动向量的处理。
相同方法可应用到第二空间候选预测组以产生候选预测运动向量。
按照上边第一块、上边第二块、和上边第三块的顺序确定是否存在非缩放运动向量(步骤s620)。
可与上述在第一空间候选预测组中产生候选预测运动向量的步骤s600和s610中的至少一个并行地执行在第二空间候选预测组中产生候选预测运动向量的步骤s620。
例如,与上面结合步骤s600描述的方法类似,在步骤s620中,按照上边第一块到上边第三块的顺序确定是否存在第一运动向量,并且如果在上边第一块到上边第三块中不存在第一运动向量,则按照上边第一块到上边第三块的顺序确定是否存在第二运动向量,或者确定在上边第一块中是否存在第一运动向量或第二运动向量,并然后确定在上边第二块中是否存在第一运动向量或第二运动向量,并确定在第三块中是否存在第一运动向量或第二运动向量。通过这样的方法,可产生空间候选预测运动向量。
步骤s620中的确定处理可如同步骤s600那样通过各种方法来执行,它们全部被包括在本发明的范围中。
如果在步骤s620中基于顺序确定处理在上边第一块到上边第三块中存在满足条件的候选预测运动向量,则可跳过其随后的确定处理。产生的运动向量可被包括在候选预测运动向量列表中,并且第二空间候选预测组可用性信息可被设置为1,以指示在第二空间候选预测组中存在候选预测运动向量。
与步骤s600中类似,如果通过步骤s620在上边第一块到上边第三块中不存在作为非缩放候选预测运动向量的第一运动向量或第二运动向量,则可以不从第二空间候选预测组产生候选预测运动向量。
根据另一实施例,如果在步骤s620确定在上边第一块、上边第二块和上边第三块中不存在非缩放运动向量,则确定在上边第一块、上边第二块和上边第三块中是否存在缩放运动向量(第三运动向量和第四运动向量)。
如果作为在步骤s620中按照从上边第一块到上边第三块的顺序依次确定是否存在第一运动向量或第二运动向量的结果、不存在满足条件的向量,则可通过步骤s630产生候选预测运动向量。
如果在步骤s630中确定在上边第一块、上边第二块和上边第三块的至少一个中第三运动向量或第四运动向量可用,则不对对应向量执行缩放,并且还没有经受缩放的第三运动向量和第四运动向量可以被包括在候选预测运动向量列表中。
确定在上边第一块、上边第二块和上边第三块的至少一个中是否存在第三运动向量或第四运动向量的处理可通过各种方法执行,诸如在第一空间候选预测组中产生运动向量的方法。
如果通过步骤s620和s630存在满足条件的运动向量,则可从第二空间候选预测组产生一个候选预测运动向量。
确定在时间候选预测块(并置块)中是否存在候选预测运动向量(步骤s640)。
可与在第一空间候选预测组中产生候选预测运动向量的步骤s600或s610以及在第二空间候选预测组中产生候选预测运动向量的步骤s620或s630并行地执行确定在时间候选预测块中是否存在候选预测运动向量的步骤s640。
时间候选预测块可如上所述被划分为第一并置块和第二并置块,并且确定并置块是否可用,并且如果第一并置块不可用,则可选择第二并置块作为并置块。
取决于预定信息,当前画面的参考画面列表中的参考画面之一可成为包括时间候选预测块的并置画面。另外,可使用产生包括时间候选预测块的并置画面的各种方法。使用两个参考画面列表的时间候选预测块可首先仅使用根据预定标记信息在一个列表中可用的运动向量作为候选预测运动向量。如果当前画面和当前画面的参考画面之间的距离与包括时间候选预测块的画面和时间候选预测块的参考画面之间的距离不同,则可对在时间候选预测块中产生的候选预测运动向量执行缩放。
根据本发明的实施例,可不对时间候选预测块(并置块)执行缩放。例如,如果需要降低计算复杂度,则时间候选预测块可以通过不执行缩放,或者通过其中不通过标记信息对并置块的运动向量适应性地执行缩放的设置方法,而不经受缩放。
如果可产生从时间候选预测块产生的候选预测运动向量,则时间候选预测块可用性信息可被设置为1。
即,根据本发明的实施例,当产生候选预测向量时,并行执行确定是否存在第一空间候选预测组、第二空间候选预测组、和时间候选预测块中的可用候选预测向量的处理,以由此去除当在第一空间候选预测组、第二空间候选预测组、和时间候选预测块中产生候选预测运动向量时出现的依赖性。
此外,在确定是否存在第一空间候选预测组、第二空间候选预测组、和时间候选预测块中的可用候选预测向量时,仅可执行并行确定是否存在第一空间候选预测组和第二空间候选预测组中的可用候选预测运动向量的处理,同时依赖地执行确定是否存在时间候选预测块中可用的候选预测运动向量的处理。这样,当产生第一空间候选预测组、第二空间候选预测组、和时间候选预测块中的候选预测运动向量时,可并行执行仅从这些组中的至少两个产生候选预测运动向量的处理。
如果存在可经由上述处理在第一空间候选预测组、第二空间候选预测组、和时间候选预测块中产生的运动向量时,则可通过使用可用性信息标记(availableflaglxy或availableflagcol)来指示存在可用候选预测运动向量。
如上所述,在产生候选预测运动向量时,任意确定第一空间候选预测组中包括的块的数目和位置、第二空间候选预测组中包括的块的数目和位置、以及时间候选预测块的数目和位置,并且第一和第二空间候选预测组中包括的块的数目和位置可改变,其也被包括在本发明的范围中。
图7是图示了根据本发明另一实施例的用于产生候选预测运动向量的方法的流程图。
根据本发明的实施例,当从第一空间候选预测组和第二空间候选预测组引入候选预测运动向量时,不管是否已对从不同候选预测块产生的运动向量执行了缩放,都可单独执行缩放,使得可并行引入候选预测运动向量。
该候选预测运动向量从第一空间候选预测组(左边第一块、左边第二块)引入。
为了从第一空间候选预测组引入候选预测运动向量,可确定在第一空间候选预测组中是否存在非缩放运动向量(第一运动向量和第二运动向量)(步骤s700)。
可使用上面结合步骤s600描述的方法来确定在第一空间候选预测组中是否存在非缩放运动向量(第一运动向量或第二运动向量)。
为了引入第一空间候选预测组中的候选预测运动向量,可确定在第一空间候选预测组中是否存在缩放运动向量(第三运动向量或第四运动向量)(步骤s710)。
如果在步骤s700确定不存在非缩放运动向量,则确定是否存在缩放运动向量(第三运动向量或第四运动向量),该缩放运动向量(第三运动向量或第四运动向量)可被选择为候选预测运动向量。
在步骤s710中,可使用诸如结合步骤s610描述的方法的各种方法来确定是否存在第一空间候选预测组中的第三运动向量或第四运动向量,并且在步骤s710中,与步骤s610不同,首先执行缩放,并可使用产生的第三运动向量和第四运动向量作为候选预测运动向量。
从第二空间候选预测组(上边第一块、上边第二块、和上边第三块)引入候选预测运动向量。
为了引入第二空间候选预测组中的候选预测运动向量,可确定在第二空间候选预测组中是否存在非缩放运动向量(第一运动向量或第二运动向量)(步骤s720)。
可使用上面结合步骤s620描述的方法来确定在第二空间候选预测组中是否存在非缩放运动向量(第一运动向量或第二运动向量)。
为了引入第二空间候选预测组中的候选预测运动向量,可确定在第二空间候选预测组中是否存在缩放运动向量(第三运动向量或第四运动向量)(步骤s730)。
如果在步骤s720确定不存在非缩放运动向量,则可选择缩放运动向量(第三运动向量或第四运动向量)作为候选预测运动向量。
在步骤s730中,可使用诸如结合步骤s630描述的方法的各种方法来确定是否存在第二空间候选预测组中的第三运动向量或第四运动向量,并且在步骤s730中,与步骤s630不同,首先执行缩放,并可使用产生的第三运动向量或第四运动向量作为候选预测运动向量。
可对第二空间候选预测组中产生的第三运动向量或第四运动向量独立执行缩放,而不管是否已在第一空间候选预测组中执行缩放以产生候选预测运动向量。
确定是否存在时间候选预测块(并置块)中的候选预测运动向量(步骤s740)。
可与产生第一空间候选预测组中的候选预测运动向量的步骤s700或s710以及产生第二空间候选预测组中的候选预测运动向量的步骤s720或s730并行地执行确定是否存在时间候选预测块中的候选预测运动向量的步骤s740。
时间候选预测块可被划分为诸如上述第一并置块和第二并置块的多个候选预测块,并且如果从时间候选预测块产生一个时间候选预测运动向量,则确定第一并置块是否可用,并且如果第一并置块不可用,则可选择第二并置块作为并置块。
根据本发明的实施例,可对从时间候选预测块产生的候选预测运动向量独立执行缩放,而不确定是否已对从第一空间候选预测组产生的候选预测运动向量和从第二空间候选预测组产生的候选预测运动向量执行缩放。此外,作为另一方法,可不对时间候选预测块(并置块)执行缩放。例如,如果需要降低计算复杂度,则可以通过其中不执行缩放或者不通过标记信息对并置块的运动向量适应性地执行缩放的设置方法,而不对时间候选预测块执行缩放。如果通过上述处理存在第一空间候选预测组、第二空间候选预测组、或时间候选预测块中的候选预测运动向量,则可使用可用性信息标记(availableflaglxy或availableflagcol)来指示存在候选预测运动向量。
如上面结合图6描述的,在产生候选预测运动向量时,任意确定第一空间候选预测组中包括的块的数目和位置、第二空间候选预测组中包括的块的数目和位置、以及时间候选预测块的数目和位置,并且第一和第二空间候选预测组中包括的块的数目和位置可改变,其也被包括在本发明的范围中。
如上面结合图7描述的,可对第一空间候选预测组和第二空间候选预测组两者执行缩放。然而,根据本发明的实施例,可仅对第一空间候选预测组或第二空间候选预测组中的至少一个执行缩放。
例如,可仅对第一空间候选预测组执行缩放。如果仅对第一空间候选预测组执行缩放,则其与上面结合图7描述的类似。然而,在图7的步骤s730中,为了引入第二空间候选预测组中的候选预测运动向量,确定是否存在第二空间候选预测组中的缩放运动向量(第三运动向量或第四运动向量),并然后,在不对缩放运动向量(第三运动向量或第四运动向量)执行缩放的情况下,可使用还没有经受缩放的第三运动向量或第四运动向量作为候选预测运动向量。
按照相同的方式,可仅对第二空间候选预测组执行缩放。在这样的情况下,为了在步骤s710中引入第一空间候选预测组中的候选预测运动向量,确定是否存在第一空间候选预测组中的缩放运动向量(第三运动向量或第四运动向量),并然后,在不对缩放运动向量(第三运动向量或第四运动向量)执行缩放的情况下,可使用还没有经受缩放的第三运动向量或第四运动向量作为候选预测运动向量。
作为另一示例,可使用指示是否执行缩放的预定标记信息,使得可对候选预测运动向量立刻使用缩放。例如,如果对第一空间候选预测组立刻执行缩放,则不对第二空间候选预测组进行缩放,并且如果不对第一空间候选预测组执行缩放,则可使用标记信息以指示是否进行缩放,使得可使用缩放用于第二空间候选预测组。
图8是图示了根据本发明实施例的用于产生附加候选预测运动向量的处理的流程图。
图8公开了如果基于候选预测运动向量列表中可包括的候选预测运动向量的数目、当前候选预测运动向量列表中包括的候选预测运动向量的数目不是最大、则在候选预测运动向量列表中添加附加候选预测运动向量的方法。在运动向量的预测时,可使用向候选预测运动向量列表添加附加候选预测运动向量的方法以增强编码效率。
参考图8,确定从空间候选预测组或时间候选预测块引入的候选预测运动向量的数目是否小于候选预测运动向量列表的尺寸(步骤s800)。
如果引入的候选预测运动向量的数目与候选预测运动向量列表中可包括的候选预测运动向量的数目相同,则仅引入的候选预测运动向量可被包括在候选预测运动向量列表中,并可被用作预测目标块的候选预测运动向量。其后,在本发明的该实施例中,引入的候选预测运动向量的数目表示在从由空间候选预测组和时间候选预测块引入的候选预测运动向量去除重复候选预测运动向量之后剩余的候选预测运动向量的数目。
如果引入的候选预测运动向量的数目小于候选预测运动向量列表中可包括的候选预测运动向量的数目,则产生附加候选预测运动向量(步骤s810)。
可使用诸如执行缩放的方法、使用偏移的方法、或使用统计结果的方法的各种产生附加候选预测运动向量的方法。其后,下面详细描述根据本发明实施例的用于产生附加候选预测运动向量的方法。
确定产生的附加候选预测运动向量是否与候选预测运动向量列表中包括的运动向量重叠(步骤s820)。
如果产生的附加候选预测运动向量与候选预测运动向量列表中包括的运动向量重叠,则引入新的附加候选预测运动向量(步骤s810)。
如果产生的附加候选预测运动向量不与候选预测运动向量列表中包括的运动向量重叠,则将产生的附加候选预测运动向量包括在候选预测运动向量列表中(步骤s830)。
图9是图示了根据本发明另一实施例的用于产生附加候选预测运动向量的方法的流程图。
图9图示了上面结合步骤s810描述的用于产生附加候选预测运动向量的方法之中的使用缩放的方法。
参考图9,可假设空间候选预测块900是基于两个运动向量(运动向量920表示参考画面列表l0中包括的第n-1画面,而运动向量940表示参考画面列表l1中包括的第n+1画面)执行帧间预测的预测块。
假设在产生预测目标块的候选预测运动向量时,在上边预测块的运动向量之中,从候选预测运动向量列表中去除表示参考画面列表l0中的第n-1画面的运动向量920以避免重复,并仅使用表示剩余参考画面列表l1中的第n+1画面的运动向量940作为候选预测运动向量,表示参考画面列表l1并且还没有被用作附加候选预测运动向量的运动向量940经受缩放,并且引入的运动向量可被用作附加候选预测运动向量。
即,基于当前预测块的列表l0中包括的参考画面n-1和沿着参考画面列表l1的方向的第n+1画面之间的距离,对表示沿着参考画面列表l1的方向的第n+1画面的运动向量执行缩放,并且可将产生的运动向量包括在候选预测运动向量列表中作为附加候选预测运动向量。这样的运动向量可由术语“相反方向缩放候选预测运动向量”定义。
即,根据本发明的实施例,如果从表示ref_list[x]、x=0或1的预测块引入候选预测运动向量,则表示ref_list[1-x]的运动向量基于预测块的参考画面经受缩放,并可被引入和用作附加候选预测运动向量。
作为根据本发明另一实施例的产生附加候选预测运动向量的方法,可使用基于偏移的方法。
例如,如果在候选预测运动向量列表中的候选预测运动向量之中、一个候选预测运动向量是{mvp_x,mvp_y},则将偏移α和β分别添加到运动向量的x和y向量,以由此引入附加候选预测运动向量{mvp_x+α,mvp_y+β}。
这时,偏移值可按照每一画面的基础、每一片段的基础、每一lcu(最大编码单元)的基础、每一cu的基础、或每一pu的基础来传送。
偏移值可基于编码后/解码后运动向量差(mvd:运动向量差)来产生。基于特定画面单元,向最频繁出现的mvd值分配较高优先级,并且其可被用作偏移值。可产生按照最频繁出现次数的顺序具有优先级的mvd值的列表,并且如果附加候选预测运动向量的数目是两个或更多,则按照优先级的顺序将偏移添加到候选预测运动向量列表中的候选预测运动向量,使得可引入新的候选预测运动向量。
可使用统计方法作为根据本发明另一实施例的产生附加候选预测运动向量的方法。
例如,预定片段中包括的预定块的运动向量按照出现频率的顺序来排列,并且排列的运动向量之中,可使用至少一个向量作为预测目标块的候选预测运动向量。这时,为了降低复杂度,可设置预定限值,来将检查是否出现和频率的运动向量限制为预定数目。
在产生附加候选预测运动向量时,作为根据另一实施例的统计方法,已编码和解码的片段中最频繁出现的候选预测运动向量可被用作附加候选预测运动向量。
这时,由于在出现错误时、不可能正常表示编码/解码目标画面或片段中的编码后/解码后画面或片段的运动向量,所以在具有较高出现频率的运动向量之中,至少一个或多个可在比特流中的上级语法元素(画面参数集、自适应参数集、片段报头等)中编码/解码。
图10是图示了根据本发明实施例的用于产生预测运动向量的方法的流程图。
其后,可使用预测运动向量作为定义被选择为候选预测运动向量之中的最佳运动向量的运动向量的术语。
参考图10,可确定预测目标块的预测运动向量是否是零向量以及是否可通过语法元素信息接收。如果阐明预测运动向量是零向量的信息通过语法元素信息传送,则不对候选预测运动向量列表信息和用于确定要使用哪个候选预测运动向量用于预测目标块的预测运动向量的索引信息进行附加编码和解码,由此降低编码和解码处理的复杂性。这时,零向量意味着其中x和y分类全部包括0的向量(0,0)。
确定预测运动向量是否是零向量(步骤s1000)。
为了产生预定语法元素信息,确定用于预测目标块的预测运动向量是否是零向量。
如果预测运动向量是零向量,则将作为语法元素的零向量确定标记(zero_mvp_flag)设置为1(步骤s1010),并且如果预测运动向量不是零向量,则将作为语法元素的零向量确定标记设置为0(步骤s1020)。
作为语法元素的零向量确定标记(zero_mvp_flag)是指示用于当前预测块的预测运动向量是零向量的标记的示例。阐明用于预测目标块的预测运动向量是零向量的信息可通过其他类型语法元素信息(而不是标记信息)来表示。
如果预测运动向量不是零向量,则对该预测运动向量的索引信息进行编码(s1030)。
如果预测运动向量不是零向量,则可基于使用与上面结合图3到8描述的方法类似的用于产生候选预测运动向量的方法、所产生的候选预测运动向量列表,来对关于所述候选预测运动向量之中的哪个向量已被用作预测运动向量的索引信息进行编码。
图11是图示了根据本发明另一实施例的用于产生预测运动向量的方法的流程图。
图11公开了基于上面结合图10描述的用于编码预测运动向量的方法的解码方法。
参考图11,对零向量确定标记信息进行解码以确定标记值是否是1(步骤s1100)。
如上所述,阐明用于预测目标块的预测运动向量是零向量的信息可通过与除了标记信息之外的信息组合的语法元素信息或其他类型语法元素信息来表示。此外,确定标记值是否是1可任意进行,并且取决于标记的定义,还可确定标记值是否是0。
如果零向量确定标记信息是1,则将预测目标块的预测运动向量确定为零向量(步骤s1110)。
如果零向量确定标记信息是0,则对索引信息进行解码以产生预测目标块的预测运动向量(步骤s1120)。
作为0和1的零向量确定标记值被任意设置,以指示预测目标块的预测运动向量是否是零向量。
如果零向量确定标记信息是0,则预测目标块的索引信息可被解码以产生预测目标块的预测运动向量。
基于解码的索引信息来确定当前预测块的预测运动向量。
表1示出了包括零向量确定标记的语法结构。
<表1>
参考表1,取决于零向量确定标记是否是1,执行解码候选预测运动向量的索引信息的处理,使得可以选择性防止在解码处理期间不必要地执行产生候选预测运动向量和候选预测运动向量列表的处理。
图12是图示了根据本发明实施例的用于产生预测运动向量的方法的流程图。
参考图12,产生候选预测运动向量列表(步骤1200)。
例如,为了产生候选预测运动向量列表,与上述方法类似,从第一空间候选预测组、第二空间候选预测组、和时间候选预测块产生候选预测运动向量。假设对于其每一个产生一个候选预测运动向量,则产生的候选预测运动向量被包括在候选预测运动向量列表中,并可被用来产生预测目标块的预测运动向量。如果候选预测运动向量可仅包括预定数目候选预测运动向量,则如果候选预测运动向量列表不包括所述预定数目候选预测运动向量,附加候选预测运动向量(例如,零向量、缩放向量等)可被包括在候选预测运动向量列表中。从第一空间候选预测组、第二空间候选预测组、和时间候选预测块产生的候选预测运动向量的数目大于可在候选预测运动向量列表中包括的候选预测运动向量的数目,可去除产生的候选预测运动向量中的一些并然后使用。
从候选预测运动向量列表引入预测块的预测运动向量(步骤s1210)。
在根据本发明实施例的产生候选预测运动向量的方法中,在不使用关于候选预测运动向量的索引信息的情况下,可从候选预测运动向量列表自己确定预测运动向量。由于编码器不需要向解码器传送关于候选预测运动向量的索引信息,所以可保存编码索引信息所必需的比特,由此增强编码效率。
例如,为了确定候选预测运动向量列表自己中的预测运动向量,可取决于候选预测运动向量列表的尺寸而使用不同方法。候选预测运动向量列表的尺寸意味着可在候选预测运动向量列表中包括的候选预测运动向量的最大数目。
如果候选预测运动向量列表的尺寸是0,则可使用零向量作为预测块的预测运动向量,同时可以不对确定预测运动向量的索引信息进行附加解码。
如果候选预测运动向量列表的尺寸是1,则候选预测运动向量列表中存在的候选预测运动向量的数目是1,并由此,可使用该列表中存在的候选预测运动向量作为预测块的预测运动向量。与其中候选预测运动向量列表的尺寸是0的情况类似,可以不对确定预测运动向量的索引信息进行附加解码。
如果候选预测运动向量列表的尺寸是2,则在候选预测运动向量列表中包括的候选预测运动向量之中,可引入编码/解码目标片段中具有较高出现频率的候选预测运动向量作为解码该预测目标块的预测运动向量。如果引入多个候选预测运动向量,则可按照出现频率的顺序来排列候选预测运动向量,并然后,可引入具有较高出现频率的候选预测运动向量作为预测块的预测运动向量。这时,为了降低计算候选预测运动向量的出现频率的复杂度,可仅对n个候选预测运动向量(n是自然数)执行这样的计算。
如果候选预测运动向量列表的尺寸是2,则作为产生预测运动向量的另一实施例,可使用以下等式1和2来进行每一候选预测运动向量的x方向和y方向绝对值之和的比较,使得可使用具有x方向和y方向绝对值的较小和的候选预测运动向量作为预测块的预测运动向量。
<等式1>
|mvp1.x|+|mvp1.y|
<等式2>
|mvp2.x|+|mvp2.y|
如果候选预测运动向量列表的尺寸是2,则作为产生预测运动向量的另一实施例,可使用以下等式3。
<等式3>
mvp.x=average(mvp1.x,mvp2.x)
mvp.y=average(mvp1.y,mvp2.y)
参考等式3,为了提取预测运动向量的每一分量,可设置预测运动向量的x方向分量作为两个候选预测运动向量的x方向分量的平均值,并可设置预测运动向量的y方向分量作为两个候选预测运动向量的y方向分量的平均值。
如果候选预测运动向量列表的尺寸是2,则作为产生预测运动向量的另一实施例,可使用以下等式4。
<等式4>
mvp.x=median(mvp1.x,mvp2.x,0)
mvp.y=median(mvp1.y,mvp2.y,0)
参考等式4,为了提取预测运动向量的每一分量,可设置预测运动向量的x方向分量作为零向量和两个候选预测运动向量的x方向分量的中值,并可设置预测运动向量的y方向分量作为零向量和两个候选预测运动向量的y方向分量的中值。
如果候选预测运动向量列表的尺寸是2,则作为产生预测运动向量的另一实施例,可使用以下等式5。
<等式5>
mvp.x=average(mvp1.x,mvp2.x,0)
mvp.y=average(mvp1.y,mvp2.y,0)
参考等式5,为了提取运动向量的每一分量,可设置预测运动向量的x方向分量作为零向量和两个候选预测运动向量的x方向分量的平均值,并可设置预测运动向量的y方向分量作为零向量和两个候选预测运动向量的y方向分量的平均值。
如果候选预测运动向量列表的尺寸是2,则作为产生预测运动向量的另一实施例,当基于索引信息用于计算在上述统计方法中使用的出现频率的n个运动向量与经受频率计算的候选预测运动向量列表中的两个候选预测运动向量不相同时,可使用出现比较频繁的索引信息作为预测块的预测运动向量。例如,如果在先前候选预测运动向量列表中的索引0处存在的候选预测运动向量被用作预测运动向量,则可使用索引0处存在的候选预测运动向量作为预测运动向量。
如果候选预测运动向量列表的尺寸是3,则由于候选预测运动向量列表中存在的候选预测运动向量的数目是3,所以可确定它们之中的一个作为预测运动向量。
以下等式6代表确定预测运动向量的方法。
<等式6>
mvp.x=median(mvp1.x,mvp2.x,mvp3.x)
mvp.y=median(mvp1.y,mvp2.y,mvp3.y)
参考等式6,为了产生预测运动向量,在这三个候选预测运动向量之中,其x方向分量与这三个候选预测运动向量的x方向分量的中值对应的候选预测运动向量、和其y方向分量与这三个候选预测运动向量的y方向分量的中值对应的候选预测运动向量可以是产生预测目标块的预测运动向量的基础。
如果候选预测运动向量列表的尺寸是3,则作为产生预测运动向量的另一实施例,可使用以下等式7。
<等式7>
mvp.x=average(mvp1.x,mvp2.x,mvp3.x)
mvp.y=average(mvp1.y,mvp2.y,mvp3.y)
参考等式7,为了产生预测运动向量,在这三个候选预测运动向量之中,与这三个候选预测运动向量的x方向分量的平均值对应的候选预测运动向量、和与这三个候选预测运动向量的y方向分量的平均值对应的候选预测运动向量可以是产生预测目标块的预测运动向量的基础。
即使当在候选预测运动向量列表中存在三个候选预测运动向量时,当产生候选预测运动向量列表中的一个预测运动向量时,可以不使用索引信息。
图13是图示了根据本发明另一实施例的用于产生预测运动向量的方法的流程图。
可假设候选预测运动向量列表中可包括的候选预测运动向量的最大数目是n,并且从空间候选预测组首先引入空间候选预测运动向量,并从时间候选预测块引入时间候选运动向量。根据本发明的实施例,如果从空间候选预测组引入的候选预测运动向量的数目(n)与候选预测运动向量列表中可包括的候选预测运动向量的数目相同,则可跳过从时间候选预测块引入候选预测运动向量的处理和引入附加候选预测运动向量的处理。
即,根据本发明的实施例,当已产生候选预测运动向量列表所必需的运动向量时,不执行引入不必要候选预测运动向量的处理,由此降低编码和解码处理的复杂度。
参考图13,确定候选预测运动向量列表中可包括的候选预测运动向量的数目是否大于产生的空间候选预测运动向量的数目(步骤s1300)。
可限制候选预测运动向量列表中可包括的候选预测运动向量的数目。例如,假设候选预测运动向量列表中可包括n个预测运动向量,则如果空间候选预测组中产生的空间候选预测运动向量的数目小于n,可从时间候选预测块产生时间预测运动向量或可产生附加预测运动向量。与此不同的是,假设n个预测运动向量可被包括在候选预测运动向量列表中,则如果空间候选预测组中产生的空间候选预测运动向量的数目等于或大于n,可产生候选预测运动向量列表,而不产生附加预测运动向量,也不从时间候选预测块产生时间预测运动向量(步骤s1320)。
如果空间候选预测组中产生的空间候选预测运动向量的数目小于n,则产生时间候选预测运动向量或附加运动向量(步骤s1310)。这时,附加预测运动向量可以是零向量。
如果通过确定可在候选预测运动向量列表中包括的候选预测运动向量的数目是否大于产生的空间候选预测运动向量的数目的步骤、可在候选预测运动向量列表中包括的候选预测运动向量的数目大于产生的空间候选预测运动向量的数目,则通过产生时间预测运动向量或附加预测运动向量的步骤s1310产生的候选预测运动向量可被包括在候选预测运动向量列表中。
使用产生的空间候选预测运动向量、时间候选预测运动向量或附加预测运动向量来产生候选预测运动向量列表(步骤s1320)。
图14是图示了根据本发明实施例的用于产生候选预测运动向量的方法的流程图。
参考图14,产生空间候选预测运动向量(步骤s1400)。
根据位于预测目标块邻近的编码/解码块(或邻近预测块),可引入关于多个空间候选预测运动向量的信息。关于空间候选预测运动向量的信息可包括空间候选预测运动向量可用性信息(availableflaglxn)和空间候选预测运动向量(mvlxn)中的至少一个。即,包括所有空间候选预测运动向量可用性信息和空间候选预测运动向量的信息单元可被称为空间候选预测运动向量相关信息,或者空间候选预测运动向量可用性信息和空间候选预测运动向量之一可被称为空间候选预测运动向量相关信息。
例如,如图3中所示,根据作为与预测目标块x的上侧邻近的块的b1、作为与预测目标块的左侧邻近的块的a1、作为位于预测目标块的右上角的块的b0、作为位于预测目标块的左上角的块的b2、以及作为位于预测目标块的左下角的块的a0,空间候选预测运动向量可被引入并被确定为预测目标块的空间候选预测运动向量。根据这些块a0、a1、b0、b1和b2(其后,称为“空间候选预测块”),可针对编码/解码目标块产生最多(upto)两个空间候选预测运动向量。其后,块a0、a1、b0、b1和b2被称为空间候选预测块,同时块a0和a1可被分类为第一空间候选预测块组,而块b0、b1和b2可被分类为第二空间候选预测块组。
这些空间候选预测块组可仅是示例。空间候选预测块组可被创建为包括位于其他位置的块,其也被包括在本发明的范围中。其后,根据本发明的实施例,为了易于描述,假设空间候选预测块组包括位于上述位置的块。
如果从空间候选预测块引入空间候选预测运动向量,则availableflaglxy被设置为1,否则,availableflaglxy被设置为0。在“availableflaglxy”中,“lx”代表预测目标块引用参考画面列表l0和l1中的哪一个,并且lx可由l0或l1替换。此外,在“availableflaglxy”中,“y”表示其中引入空间候选预测运动向量的位置。如图2中所示,如果从位于a0或a1的块引入空间候选预测运动向量,则y可以是a,并且如果从位于b0、b1或b2的块引入空间候选预测运动向量,则y可以是b。这时,参考画面列表意味着包括用于帧间预测或运动补偿的参考画面的列表。参考画面列表的类型可包括lc(列表组合)、l0(列表0)或l1(列表1)。参考画面意味着用于帧间预测或运动补偿的特定块所引用的画面。
例如,可从位于a0或a1的块引入一个空间候选预测运动向量,并且可从位于b0、b1或b2的块引入一个空间候选预测运动向量。这时,如果预测目标块引用参考画面列表l1,并且从位于a0的块引入一个空间候选预测运动向量并从位于b1的块引入一个空间候选预测运动向量,则availableflagl0a被设置为1,而availableflagl0b被设置为1。即,如果预测目标块引用参考画面列表lx,则availableflaglxy表示是否存在从位于预定位置的块引入的空间候选预测运动向量。
返回参考图4,可引入的空间候选预测运动向量可被分类为如下四种运动向量:
(1)第一运动向量:如果块在预定位置可用,对应块不经受帧内编码,并且对应块的参考画面列表和参考画面与编码/解码目标块的参考画面列表和参考画面相同,则从对应块引入的候选预测运动向量。
(2)第二运动向量:如果块在预定位置可用,对应块不经受帧内编码,并且对应块的参考画面列表与编码/解码目标块的参考画面列表不同,而对应块和编码/解码目标块引用相同参考画面,则从对应块引入的候选预测运动向量。
(3)第三运动向量:如果块在预定位置可用,对应块不经受帧内编码,并且对应块的参考画面列表与编码/解码目标块的参考画面列表相同,而对应块的参考画面与编码/解码目标块的参考画面不同,则通过对对应块的运动向量执行缩放而产生的候选预测运动向量。
(4)第四运动向量:如果块在预定位置可用,对应块不经受帧内编码,并且对应块的参考画面列表和参考画面与编码/解码目标块的参考画面列表和参考画面不同,则通过对对应块的运动向量执行缩放而产生的候选预测运动向量。
可按照以下顺序来确定上面分类的四种空间候选预测运动向量在空间候选预测块中是否可用。
(1)第一空间候选预测块组
1)确定在块a0中是否存在第一运动向量或第二运动向量。
2)确定在块a1中是否存在第一运动向量或第二运动向量。
3)确定在块a0中是否存在第三运动向量或第四运动向量。
4)确定在块a1中是否存在第三运动向量或第四运动向量。
可顺序执行以上步骤1)到4),以确定对应块中是否存在满足条件的空间候选预测运动向量,并且如果存在满足条件的空间候选预测运动向量,则引入对应运动向量,而不执行该步骤。例如,如果存在满足步骤1)的空间候选预测运动向量,则可跳过步骤2)到4)。
如果满足通过步骤3)和4)的条件的空间候选预测运动向量是第三运动向量或第四运动向量,则可通过缩放产生空间候选预测运动向量。在这样的情况下,可使用指示是否执行缩放的标记信息来指示已使用缩放。或者,如果块a0可用并且块a0不使用帧内预测模式或者如果块a1可用并且块a1不使用帧内预测模式,则指示是否执行缩放的标记被设置为1,并且如果如同块a0和a1不可用或者使用帧内预测的那样,没有空间候选预测运动向量可以从第一空间候选预测块组产生,则指示是否执行缩放的标记被设置为0,使得可从第二空间候选预测块组产生两个空间候选预测运动向量。其后,根据本发明的实施例,为了易于描述,假设从第一空间候选预测块组产生第一空间候选预测运动向量,并且从第二空间候选预测块组产生第二空间候选预测运动向量。
遵循其中从第二空间候选预测块组产生空间候选预测运动向量的顺序:
(2)第二空间候选预测块组
1)确定在块b0中是否存在第一运动向量或第二运动向量。
2)确定在块b1中是否存在第一运动向量或第二运动向量。
3)确定在块b2中是否存在第一运动向量或第二运动向量。
4)确定在块b0中是否存在第三运动向量或第四运动向量。
5)确定在块b1中是否存在第三运动向量或第四运动向量。
6)确定在块b2中是否存在第三运动向量或第四运动向量。
与当产生第一空间候选预测运动向量时类似,顺序执行步骤1)到6)以确定对应块中是否存在满足条件的空间候选预测运动向量,并且如果存在满足条件的空间候选预测运动向量,则引入对应运动向量并可跳过以下步骤。
此外,可引入最多n个空间候选预测运动向量。这时,n可以是正整数,例如2。
确定引入的两个空间候选预测运动向量是否彼此不同(步骤s1410)。
根据本发明的实施例,基于空间候选预测运动向量相关信息,可确定时间候选预测运动向量相关信息(例如,时间候选预测运动向量可用性信息和时间候选预测运动向量中的至少一个)。即,基于步骤s1400中引入的空间候选预测运动向量相关信息,可确定是否引入时间候选预测运动向量。
为了确定引入的两个空间候选预测运动向量是否彼此不同,确定是否可引入两个空间候选预测运动向量,并且如果引入两个空间候选预测运动向量,为了确定引入的空间候选预测运动向量是否彼此不同,则确定availableflaglxa和availableflaglxb是否都为1,以及mvlxa和mvlxb是否相同。availableflaglxa是指示是否可从第一空间候选预测组产生第一空间候选预测运动向量的标记,而availableflaglxb是指示是否可从第二空间候选预测组产生第二空间候选预测运动向量的标记。例如,如果可从第一空间候选预测组产生第一空间候选预测运动向量,则availableflaglxa可被设置为1。mvlxa是第一空间候选预测运动向量,并且可以当availableflaglxa可用时产生,而mvlxb是第二空间候选预测运动向量,并且可以当availableflaglxb可用时产生。
其后,根据本发明的实施例,availableflaglxa可被定义为第一空间候选预测运动向量可用性信息,而availableflaglxb可被定义为第二空间候选预测运动向量可用性信息。此外,mvlxa可被定义为第一空间候选预测运动向量,而mvlxb可被定义为第二空间候选预测运动向量。
如果假设availableflaglxa和availableflaglxb都为1、mvlxa和mvlxb彼此不相同、并且候选预测运动向量列表中可包括的候选预测运动向量的最大数目是2,则候选预测运动向量列表可包括空间候选预测运动向量,并由此不需要引入附加候选预测运动向量。因此,不需要引入作为从并置块(时间候选预测块)引入的候选预测运动向量的时间候选预测运动向量。由此,作为指示时间候选预测运动向量是否可用的标记信息的availableflaglxcol被设置为0,并且候选预测运动向量列表仅从下面要描述的步骤s1430所引入的空间候选预测运动向量产生。即,由于不引入时间候选预测运动向量,所以可在引入候选预测运动向量的处理期间降低复杂度。
即,可基于空间候选预测运动向量相关信息确定时间候选预测运动向量相关信息。
如果availableflaglxa和availableflaglxb都为1,则可能选择性确定mvlxa是否与mvlxb相同。例如,可使用两个确定条件来执行1)确定availableflaglxa和availableflaglxb是否都为1的步骤和2)如果availableflaglxa和availableflaglxb都为1、则确定mvlxa是否与mvlxb相同的步骤。
如果不引入两个空间候选预测运动向量或者引入的两个候选预测运动向量彼此相同,则从并置块产生时间候选预测运动向量(步骤s1420)。
即,在步骤s1420,可基于空间候选预测运动向量相关信息来确定时间候选预测运动向量相关信息。
如果availableflaglxa和availableflaglxb都不为1或者如果mvlxa与mvlxb相同,则从并置块产生时间候选预测运动向量。
如果假设需要在候选预测运动向量列表中包括两个候选预测运动向量,则如果availableflaglxa和availableflaglxb都不为1或者如果mvlxa与mvlxb相同,在候选预测运动向量列表中不包括两个候选预测运动向量,并由此,需要从并置块产生时间候选预测运动向量。
下表2和3代表取决于引入空间候选预测运动向量的结果,是否执行引入时间候选预测运动向量的处理。
<表2>
<表3>
参考表2和3,如果产生空间候选预测运动向量,则取决于指示空间候选预测运动向量是否可用的availableflaglxy并且取决于引入的空间候选预测运动向量是否相同,可存在四个引入时间候选预测运动向量的步骤。其后,对于取决于空间候选预测运动向量的availableflaglxy的四种情况,进行描述以引入时间候选预测运动向量。
(1)引入一个空间候选预测运动向量的情况。这是当availableflaglxa为1并且availableflaglxb为0的时侯或者当availableflaglxa为0并且availableflaglxb为1的时侯。在第一情况下,仅引入一个空间候选预测运动向量,并由此,不可能确定空间候选预测运动向量是否相同。如果候选预测运动向量列表中可包括的候选预测运动向量的数目为2,则执行引入时间候选预测运动向量的步骤,以产生附加候选预测运动向量。如果引入时间候选预测运动向量,则availableflaglxcol被设置为1,否则,availableflaglxcol被设置为0。
(2)引入两个候选预测运动向量的情况。这是当availableflaglxa和availableflaglxb为1的时侯。如果引入的空间候选预测运动向量具有相同值,则去除相同空间候选预测运动向量之一。由于剩余一个候选预测运动向量,所以如果候选预测运动向量列表中可包括的候选预测运动向量的数目为2,则执行引入时间候选预测运动向量的步骤,以产生附加候选预测运动向量。如果引入时间候选预测运动向量,则availableflaglxcol被设置为1,并且如果不引入时间候选预测运动向量,availableflaglxcol可被设置为0。
(3)引入两个空间候选预测运动向量的情况。这是当availableflaglxa和availableflaglxb为1的时侯。如果引入的空间候选预测运动向量不具有相同值,则如果候选预测运动向量列表中可包括的候选预测运动向量的数目为2,不需要执行引入时间候选预测运动向量的步骤以产生附加候选预测运动向量,并且指示时间候选预测运动向量的可用性的availableflaglxcol被设置为0。这时,如果作为时间候选预测运动向量的可用性信息的availableflaglxcol是预定值“0”,则这意味着不引入时间候选预测运动向量或者时间候选预测运动向量不可用。
(4)不引入两个空间候选预测运动向量的情况。这是当availableflaglxa和availableflaglxb为0的时侯。在这样的情况下,执行引入时间候选预测运动向量的处理,以产生时间候选预测运动向量。
即,如果候选预测运动向量列表中可包括的候选预测运动向量的最大数目为2,两类空间候选预测运动向量可用性信息(availableflaglxa,availableflaglxb)都为1,并且产生的两个空间候选预测运动向量彼此不相同,则不产生时间候选预测运动向量。
在本发明的上述实施例中,作为空间候选预测运动向量相关信息,空间候选预测运动向量可用性信息和空间候选预测运动向量被全部使用来引入时间候选预测运动向量相关信息。然而,基于空间候选预测运动向量可用性信息和空间候选预测运动向量中的至少一个,其可被用作空间候选预测运动向量相关信息来引入时间候选预测运动向量相关信息。
例如,如果引入空间候选预测运动向量,并且两个引入的空间候选预测运动向量具有不同值,则可引入时间候选预测运动向量相关信息,而不确定空间候选预测运动向量可用性信息具有什么值。
其后,描述产生时间候选预测运动向量的方法。
图15是图示了根据本发明实施例的用于产生时间候选预测运动向量的方法的概念图。
参考图15,可从预测目标块1500的并置画面中存在的并置块1520产生时间候选预测运动向量。
如果位于预测目标块的左上侧的点是(xp,yp),预测目标块的宽度是npsw,并且预测目标块的高度是npsh,则第一并置块1540可以是包括位于并置画面中的点(xp+npsw,yp+npsh)的块,而第二并置块1560可以是包括位于并置画面中的点(xp+(npsw>>1),yp+(npsh>>1))的块。如果不从第一并置块引入时间候选预测运动向量(例如,如果第一并置块经受帧内预测编码),则可从第二并置块引入时间候选预测运动向量。可限制产生的时间候选预测运动向量的数目。例如,如果限制产生最大一个时间候选预测运动向量,则如果从第一并置块产生时间候选预测运动向量,就不从第二并置块产生时间候选预测运动向量。在时间候选预测运动向量的情况下,可基于包括预测目标块的画面和预测目标块的参考画面之间的距离与包括并置块的画面和并置块的参考画面之间的距离的关系,来缩放时间候选预测运动向量值。
取决于是否已引入时间候选预测运动向量,来确定availableflaglxcol。在“availableflaglxcol”中,“lx”表示编码/解码目标块已引用参考画面列表l0和l1中的哪一个。lx可用l0或l1替换。如果引入时间候选预测运动向量,则availableflaglxcol被设置为1,而如果没有引入时间候选预测运动向量,则availableflaglxcol被设置为0。
例如,如果编码/解码目标块引用参考画面列表l0并且从位于图15的h处的块引入时间候选预测运动向量,则availableflagl0col被设置为1,而如果没有引入时间候选预测运动向量,则availableflagl0col被设置为0。
将引入的候选预测运动向量添加到候选预测运动向量列表(步骤s1430)。
引入的空间候选预测运动向量和时间候选预测运动向量按照引入的顺序被添加到候选预测运动向量列表。例如,候选预测运动向量列表可取决于availableflaglxa、availableflaglxb和availableflaglxcol的值来添加候选预测运动向量。例如,如果availableflaglxa为1,availableflaglxb为0并且availableflaglxcol为1,则将一个空间候选预测运动向量mvlxa和一个时间候选预测运动向量mvlxcol添加到候选预测运动向量列表。作为另一示例,如果availableflaglxa为1,availableflaglxb为1并且availableflaglxcol为0,则将两个空间候选预测运动向量mvlxa和mvlxb添加到候选预测运动向量列表。
作为另一示例,如果在不确定空间候选预测运动向量可用性信息或时间候选预测运动向量可用性信息的情况下引入空间候选预测运动向量或时间候选预测运动向量,则该向量可被立即添加到候选预测运动向量列表。
候选预测运动向量列表的尺寸可限于预定尺寸。例如,该预定尺寸可以是3。添加到候选预测运动向量列表的第一候选预测运动向量可具有索引值0,并且添加到候选预测运动向量列表的最后候选预测运动向量可具有索引值2。
即,确定候选预测运动向量列表中包括的候选预测运动向量的数目是否小于可在候选预测运动向量列表中包括的候选预测运动向量的最大数目。基于确定结果,可向候选预测运动向量列表添加候选预测运动向量或从候选预测运动向量列表去除候选预测运动向量。
例如,如果候选预测运动向量列表中包括的候选预测运动向量的数目小于候选预测运动向量的最大数目,则可向候选预测运动向量列表添加零向量。此外,如果候选预测运动向量列表中包括的候选预测运动向量的数目等于或大于候选预测运动向量的最大数目,则可从候选预测运动向量列表去除一些候选预测运动向量,使得和最大数目一样多的候选预测运动向量可被包括在候选预测运动向量列表中。
图16是图示了根据本发明实施例的用于产生候选预测运动向量列表的方法的概念图。
参考图16,如果从块a1引入未缩放的空间候选预测运动向量(1,0)、从块b1引入缩放的空间候选预测运动向量(-2,0)、并从块h引入缩放的时间候选预测运动向量(4,1),则按照左表中引入的顺序将引入的候选预测运动向量添加到候选预测运动向量列表。这时,从位于a1处的块引入的候选预测运动向量的索引值可以是0,从位于b1处的块引入的候选预测运动向量的索引值可以是1,而从位于h处的块引入的候选预测运动向量的索引值可以是2。
如果如同表3中的第三种情况那样候选预测运动向量列表的尺寸是2、引入的空间候选预测运动向量的数目是2、并且两个空间候选预测运动向量彼此不同,则由于候选预测运动向量列表的尺寸是2,所以在不需要单独引入时间候选预测运动向量的情况下,将索引顺序分配到引入的空间候选预测运动向量,由此配置候选预测运动向量列表。
去除相同的候选预测运动向量,以由此重新配置候选预测运动向量列表(步骤s1440)。
确定在候选预测运动向量列表中包括的空间候选预测运动向量和时间候选预测运动向量之中是否存在相同候选预测运动向量,并且如果存在,则去除相同候选预测运动向量之一,由此重新配置候选预测运动向量列表。
例如,如果构成候选预测运动向量列表的第一空间候选预测运动向量和第二空间候选预测运动向量彼此相同,则可从候选预测运动向量列表去除第二空间候选预测运动向量。
图17是图示了根据本发明实施例的用于从候选预测运动向量列表去除相同候选预测运动向量的概念图。
参考图17,如果候选预测运动向量列表中包括的其索引为0和1的候选预测运动向量彼此相同,则留下具有较小索引值的候选预测运动向量,同时可去除具有相同值的其他候选预测运动向量。通过去除的候选预测运动向量的数目,来改变比去除的候选预测运动向量的索引值大的候选预测运动向量的索引值。
添加和去除候选预测运动向量,由此重新调整候选预测运动向量列表的尺寸(步骤s1450)。
通过向/从候选预测运动向量列表添加或去除候选预测运动向量,可调整候选预测运动向量列表的尺寸。如果p是候选预测运动向量列表中包括的候选预测运动向量的数目、并且q是最终候选预测运动向量列表的尺寸,则如果p小于q,就可将候选预测运动向量添加到候选预测运动向量列表,而如果p大于q,就可从候选预测运动向量列表去除候选预测运动向量,使得p等于q。
图18是图示了根据本发明实施例的通过添加或去除候选预测运动向量来调整候选预测运动向量列表的尺寸的方法的概念图。
例如,假设候选预测运动向量列表的尺寸是2。参考图18的上部,由于候选预测运动向量列表中包括一个候选预测运动向量,所以向候选预测运动向量列表添加零向量(0,0),由此配置候选预测运动向量列表。
参考图18的下部,由于候选预测运动向量列表中包括三个候选预测运动向量,所以可去除候选预测运动向量列表中具有最大索引值的一个候选预测运动向量,由此配置候选预测运动向量列表。
根据候选预测运动向量列表确定最终预测运动向量(步骤s1460)。
基于通过步骤s1400到步骤s1460产生的候选预测运动向量列表以及从编码器传送的最终预测运动向量的索引信息,来确定要用于运动补偿的最终预测运动向量。
图19是图示了根据本发明实施例的用于确定候选预测运动向量列表中的最终预测运动向量的概念图。
参考图19,如果编码器传送阐明指示已使用与索引1对应的候选预测运动向量作为最终预测运动向量的信息,则可将产生的候选预测运动向量列表中的与索引1对应的候选预测运动向量(例如(-3,6))确定为最终预测运动向量。
图20是图示了根据本发明实施例的用于产生候选预测运动向量列表的方法的流程图。
图20概括了产生候选预测运动向量列表的方法,如果引入的空间候选预测运动向量彼此不同,则不引入时间候选预测运动向量,而如果引入的空间候选预测运动向量彼此相同,则引入时间候选预测运动向量,如上面结合图14到19的情况所描述的那样。
1)指示在第一空间候选预测块组(a0,a1)中是否存在空间候选预测运动向量的第一空间候选预测运动向量可用性信息、与指示在第二空间候选预测块组(b0,b1,b2)中是否存在空间候选预测运动向量的第二空间候选预测运动向量可用性信息是否都可用;以及
2)确定从第一空间候选预测组引入的第一空间候选预测运动向量与从第二空间候选预测组引入的第二空间候选预测运动向量是否不同(步骤s2000)。
与上述步骤s1410相同,步骤s2000可基于可用性信息引入空间候选预测运动向量,并可确定两个引入的空间候选预测运动向量是否彼此不同。
可通过以下步骤产生第一空间候选预测运动向量的可用性信息。
如上面结合图4描述的那样来定义第一运动向量到第四运动向量。
1)确定在第一空间候选预测块组中包括的第一块a0或第二块a1中是否存在第一运动向量的步骤,
2)如果在第一空间候选预测块组中包括的第一块a0或第二块a1中不存在第一运动向量、则确定在第一空间候选预测块组的第一块a0和第二块a1中是否存在第二运动向量的步骤,
3)如果第一运动向量或第二运动向量在第一空间候选预测块组中包括的第一块a0或第二块a1中不可用、则确定在第一空间候选预测块组的第一块a0和第二块a1中是否存在第三运动向量的步骤,
4)如果第一运动向量、第二运动向量、或第三运动向量在第一空间候选预测块组中包括的第一块a0或第二块a1中不可用、则确定在第一空间候选预测块组的第一块a0和第二块a1中是否存在第四运动向量的步骤。
根据本发明的实施例,如果存在第一空间候选预测块组中包括的第一块a0和第二块a1不可用、或者如果第一空间候选预测块组中包括的第一块a0和第二块a1是已经受帧内预测的块,则可使用预定标记信息来标志这样的信息。根据本发明的实施例,如果第一空间候选预测块组中包括的第一块a0和第二块a1不可用、或者如果第一空间候选预测块组中包括的第一块a0和第二块a1是已经受帧内预测的块,并且如果第一运动向量或第二运动向量在第二空间候选预测块组中的第三块、第四块或第五块中可用,则可使用从第二空间候选预测块组引入的第一运动向量或第二运动向量作为第一空间候选预测运动向量。
可通过以下步骤来产生第二空间候选预测运动向量的可用性信息。
(1)确定在第二空间候选预测块组中包括的第三块b0、第四块b1或第五块b2中是否存在第一运动向量的步骤,
(2)如果在第二空间候选预测块组中包括的第三块b0、第四块b1或第五块b2中不存在第一运动向量、则确定在第二空间候选预测块组的第三块b0、第四块b1或第五块b2中是否存在第二运动向量的步骤,
(3)如果确定第一运动向量或第二运动向量在第二空间候选预测块组中包括的第三块b0、第四块b1或第五块b2中不可用、则确定在第二空间候选预测块组的第三块b0、第四块b1或第五块b2中是否存在第三运动向量的步骤,
(4)如果确定第一运动向量、第二运动向量或第三运动向量在第二空间候选预测块组中包括的第三块b0、第四块b1或第五块b2中不可用、则确定在第二空间候选预测块组的第三块b0、第四块b1或第五块b2中是否存在第四运动向量的步骤。
如果不满足步骤s2000中公开的条件,则引入时间候选预测运动向量(步骤s2010)。
如果满足步骤s2000中公开的条件,则这两个不同的空间候选预测运动向量可用。然而,如果不满足步骤s2000中公开的条件,则一个或更少空间候选预测运动向量可用或者相同两个空间候选预测运动向量可用。因此,如果不满足步骤s2000中公开的条件,则可引入时间候选预测运动向量。
如果满足步骤s2000中公开的条件,则将时间候选预测运动向量可用性信息设置为0(步骤s2020)。
如果满足步骤s2000中公开的条件,则在不执行产生时间候选预测运动向量的情况下,将指示时间候选预测运动向量是否可用的时间候选预测运动向量可用性信息设置为0。
产生候选预测运动向量列表(步骤s2030)。
候选预测运动向量列表可按照以下顺序来编索引并产生。
1)如果第一空间候选预测运动向量可用,则第一空间候选预测运动向量。
2)如果第二空间候选预测运动向量可用,则第二空间候选预测运动向量。
3)如果时间候选预测运动向量可用,则时间候选预测运动向量。
去除相同的空间候选预测运动向量(步骤s2040)。
如果第一空间候选预测运动向量与第二空间候选预测运动向量相同,则可从候选预测运动向量列表去除第二空间候选预测运动向量。
可向/从候选预测运动向量列表添加或去除一些空间候选预测运动向量,由此调整候选预测运动向量列表的尺寸(步骤s2050)。
如果候选预测运动向量列表中包括的候选预测运动向量的数目是2或更少,则可将诸如零向量的附加向量添加到候选预测运动向量列表,而如果候选预测运动向量列表中包括的候选预测运动向量的数目大于2,则可从候选预测运动向量列表去除除了与索引0和索引1对应的候选预测运动向量之外的候选预测运动向量。
从候选预测运动向量列表确定最终预测运动向量(步骤s2060)。
候选预测运动向量列表中包括的候选预测运动向量之一可被用作作为预测目标块的预测运动向量的最终预测运动向量。
上面描述的视频编码和视频解码方法可通过构成视频编码器和视频解码器中的每一个的每一组件来实现,其在上面结合图1和2进行了描述。
尽管已描述了本发明的实施例,但是本领域技术人员可理解,可对本发明进行各种修改或变更,而不脱离所附权利要求中要求保护的本发明的范围和精神。