角度模式帧间预测方法、编码器及存储介质与流程

本技术涉及视频编码,特别是涉及一种角度模式帧间预测方法、编码器及存储介质。
背景技术:
1、通过视频编码技术可以对视频进行压缩,以降低视频的数据量,降低视频传输过程中的网络带宽、减少存储空间。其中,视频编码模式可以包括帧间预测模式和帧内预测模式预测。
2、以帧间预测模式为例,帧间预测是利用参考帧存在的许多相关性很强的冗余信息,预测当前帧的信息。其中,帧间预测模式可以分为很多种,例如帧间运动矢量角度预测模式(mvap,motionvectorangle prediction)、时域运动矢量预测模式、空域运动矢量预测模式、历史运动矢量运动模式等。
3、以帧间运动矢量角度预测模式为例,帧间运动矢量角度预测模式也可以被称为角度模式帧间预测,所谓帧间运动矢量角度预测,即分别将当前块(当前帧中待预测的块)的多个角度方向的邻块的运动信息作为当前块的运动信息,并且分别计算以不同角度方向邻块的运动信息作为当前块的运动信息时当前块的率失真代价,最终将对应率失真代价最小的角度方向的邻块的运动信息作为当前块的运动信息,进而通过当前块的运动信息来得到当前块的预测值。
4、然而,现有的角度模式帧间预测需要的计算开销大。
技术实现思路
1、本技术提供一种角度模式帧间预测方法、编码器及存储介质,能够解决现有的角度模式帧间预测需要的计算开销大的问题。
2、为解决上述技术问题,本技术采用的一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;为不可用邻块设置运动信息;对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;利用有效角度方向上的不可用邻块的参考块的运动信息,对有效角度方向上的不可用邻块的运动信息进行修改;分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
3、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;修改模块,用于利用有效角度方向上的不可用邻块的参考块的运动信息,对有效角度方向上的不可用邻块的运动信息进行修改;计算模块,用于分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
4、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;若不可用邻块的时域同位块可用,则利用时域同位块的运动信息为不可用邻块设置运动信息,否则设置初始值为不可用邻块的运动信息;对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;利用运动信息为初始值的不可用邻块的参考块的运动信息,对运动信息为初始值的可用邻块的运动信息进行修改;分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
5、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于在不可用邻块的时域同位块可用的情况下,利用时域同位块的运动信息为不可用邻块设置运动信息,以及用于在不可用邻块的时域同位块不可用的情况下,设置初始值为不可用邻块的运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;修改模块,用于利用运动信息为初始值的不可用邻块的参考块的运动信息,对运动信息为初始值的可用邻块的运动信息进行修改;计算模块,用于分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算所述当前块的预测值。
6、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;为不可用邻块设置运动信息;根据当前块的尺寸在各角度方向上选择至少一对邻块进行运动信息查重,通过查重的角度方向为有效角度方向;利用不可用邻块的参考块的运动信息,对可用邻块的运动信息进行修改;分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
7、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括所述当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的所述邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于根据当前块的尺寸在各角度方向上选择至少一对邻块进行运动信息查重,通过查重的角度方向为有效角度方向;修改模块,用于利用不可用邻块的参考块的运动信息,对可用邻块的运动信息进行修改;计算模块,用于分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
8、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;为不可用邻块设置运动信息;对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向,其中若角度方向满足第一条件,则增加至少一次查重;利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
9、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向,其中若角度方向满足第一条件,则增加至少一次查重;修改模块,用于利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;计算模块,用于分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
10、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括所述当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;为不可用邻块设置运动信息;对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向,其中若水平、垂直和水平向上的查重结果中的至少两个满足第二条件,则减少至少一次对水平向上的查重;利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
11、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的所述邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向,其中若水平、垂直和水平向上的查重结果中的至少两个满足第二条件,则减少至少一次对所述水平向上的查重;修改模块,用于利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;计算模块,用于分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
12、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;为不可用邻块设置运动信息;对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向,查重包括判断选择的至少一对邻块的参考帧的图像顺序索引是否相同以及运动是否相同;利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
13、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向,查重包括判断选择的至少一对邻块的参考帧的图像顺序索引是否相同以及运动是否相同;修改模块,用于利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;计算模块,用于分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
14、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;为不可用邻块设置运动信息;对各角度方向上的所述邻块进行运动信息查重,通过查重的角度方向为有效角度方向;利用不可用邻块的参考块的运动信息,对所述不可用邻块的运动信息进行修改;当前块被划分为多个子块,分别利用每个子块在所述有效角度方向上的对应邻块的运动信息进行运动补偿,得到每个子块的预测值,所有子块的预测值组成当前块的预测值,其中至少一个有效角度方向上所述子块进行运动补偿时使用了至少两个对应邻块的运动信息。
15、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;修改模块,用于利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;计算模块,用于在当前块被划分为多个子块的情况下,分别利用每个子块在有效角度方向上的对应邻块的运动信息进行运动补偿,得到每个子块的预测值,所有子块的预测值组成当前块的预测值,其中至少一个有效角度方向上子块进行运动补偿时使用了至少两个所述对应邻块的运动信息。
16、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余所述邻块为不可用邻块;为不可用邻块设置运动信息;对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;将有效角度方向填入角度模式列表,得到有效角度方向的角度模式索引;利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;分别利用每个有效角度方向上的可用和/或不可用邻块的运动信息计算当前块的预测值。
17、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;填入模块,用于将有效角度方向填入角度模式列表,得到有效角度方向的角度模式索引;修改模块,用于利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;计算模块,用于分别利用每个有效角度方向上的可用和/或不可用邻块的运动信息计算当前块的预测值。
18、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;为不可用邻块设置运动信息;对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;利用当前块的纹理方向确定各有效角度方向的顺序;按顺序将有效角度方向填入模式列表;利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
19、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的所述邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;确定模块,用于利用当前块的纹理方向确定各有效角度方向的顺序;填入模块,用于按顺序将有效角度方向填入模式列表;修改模块,用于利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;计算模块,用于分别利用每个有效角度方向上的可用邻块和/或不可用邻块的运动信息计算当前块的预测值。
20、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测方法,该方法包括:为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;为不可用邻块设置运动信息;对各角度方向上的邻块进行运动信息查重,查重的角度方向为有效角度方向;利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;当前块被划分为多个子块,分别利用每个子块在有效角度方向上的对应邻块的运动信息,得到每个子块的运动信息,运动信息包括运动矢量;分别利用多个修正运动矢量对每个子块的第一预测值进行修正,得到每个子块的多个第二预测值,第一预测值是利用运动信息进行运动补偿得到的;分别为每个子块选择评价指标最小的第二预测值对应的修正运动矢量,作为子块的最终修正运动矢量;利用所有子块的最终修正运动矢量进行修正,得到修正后的运动矢量;利用包含修正后的运动矢量的运动信息,得到每个子块的预测值,所有子块的预测值组成当前块的预测值。
21、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种角度模式帧间预测装置,该装置包括:构建模块,用于为当前块构建候选邻块列表,候选邻块列表包括当前块在多个角度方向上的邻块,其中已编码的采用帧间预测的邻块为可用邻块,剩余邻块为不可用邻块;设置模块,用于为不可用邻块设置运动信息;查重模块,用于对各角度方向上的邻块进行运动信息查重,通过查重的角度方向为有效角度方向;修改模块,用于利用不可用邻块的参考块的运动信息,对不可用邻块的运动信息进行修改;第一计算模块,用于在当前块被划分为多个子块的情况下,分别利用每个子块在有效角度方向上的对应邻块的运动信息,得到每个子块的运动信息,运动信息包括运动矢量;第一修正模块,用于分别利用多个修正运动矢量对每个子块的第一预测值进行修正,得到每个子块的多个第二预测值,第一预测值是利用运动信息进行运动补偿得到的;选择模块,用于分别为每个子块选择评价指标最小的第二预测值对应的修正运动矢量,作为子块的最终修正运动矢量;第二修正模块,用于利用所有子块的最终修正运动矢量进行修正,得到修正后的运动矢量;第二计算模块,用于利用包含修正后的运动矢量的运动信息,得到每个子块的预测值,所有子块的预测值组成所述当前块的预测值。
22、为解决上述技术问题,本技术采用的另一个技术方案是:提供一种编码器,该编码器包括处理器、与处理器连接的存储器,其中,存储器存储有程序指令;处理器用于执行存储器存储的程序指令以实现上述方法。
23、为解决上述技术问题,本技术采用的再一个技术方案是:提供一种存储介质,存储有程序指令,该程序指令被执行时能够实现上述方法。
24、通过上述方式,本技术能够在查重得到有效角度方向之后,仅修改有效角度方向上的不可用邻块运动信息,相较于修改每个角度方向上的不可用邻块填充运动信息的方式,能够减小计算开销。
技术研发人员:粘春湄,方瑞东,江东,林聚财,殷俊
技术所有人:浙江大华技术股份有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
