一种基于量化参数的宏块模式选择算法及系统

文档序号:31515691发布日期:2022-09-14 11:56阅读:37来源:国知局
一种基于量化参数的宏块模式选择算法及系统

1.本发明涉及视频应用中的视频编解码技术领域,特别是涉及一种基于量化参数的宏块模式选择算法及系统。


背景技术:

2.在视频编解码h.264中,对于空间冗余一般采取帧内编码的思想,利用空间相关性来压缩视频数据,这也是静态图像压缩中最常用的方法。对于时间冗余一般采取帧间编码,它采用时域数据相关性来压缩视频数据。其中宏块模式选择、运动估计以及运动补偿都是帧间编码中比较耗时的部分。帧间编码使用参考帧来计算当前编码帧中最相似的部分,计算参考帧与编码帧的差值,并在此基础上进行压缩,是减少帧序列冗余信息的有效方法。
3.随着视频编解码在帧间预测宏块模式选择时会尝试每个宏块的所有大小,并在帧间运动估计和运动补偿中选择绝对误差和或者绝对变换差和最小的那个作为最优解。这种“尝试所有并选择最佳”的方法在会选择最优的编码宏块,即差距最小的宏块作为最终编码块。然而,这种最优决策是以高计算复杂度和高能耗为代价的,从而使得视频编解码的计算量高,视频编解码性能有待提高。


技术实现要素:

4.为了克服现有技术的不足,本发明的目的是提供一种基于量化参数的宏块模式选择算法及系统。
5.为实现上述目的,本发明提供了如下方案:
6.一种基于量化参数的宏块模式选择算法,包括:
7.对模式为4
×
4大小的宏块进行整数dct变换,得到整数dct函数;
8.根据所述整数dct函数确定量化函数;
9.根据所述整数dct函数和所述量化函数确定检测全零块的约束条件;
10.根据所述约束条件确定h.264帧间宏块模式预测中全零块检测的阈值;
11.根据所述全零块检测的阈值和当前检测宏块的sad值确定所述当前检测宏块的模式。
12.优选地,所述整数dct函数的表达式为:
[0013][0014]
其中,e(i,j)表示的是宏块m(i,j)的残差块,0≤i,j≤3;当v=0时,k(v=1,当v为其他值的时候。操作表示对四舍五入;α为频率指数,β为样本指数。
[0015]
优选地,所述量化函数的表达式为:
[0016][0017]
其中,f=(15+q
p
/6),%表示取模运算,c(q
p
%6,γ)是预设量化数据;所述预设量化数据的数值由宏块中对应位置的q
p
%6的大小确定;为编码器初始化参数,所述编码器初始化参数的数值随着参数调整器中接收到的网络状态的变化进行调整。
[0018]
优选地,所述约束条件的表达式为:
[0019][0020]
优选地,所述阈值的表达式为:
[0021][0022]
其中,th1为当宏块为4
×
4模式时的阈值。
[0023]
优选地,所述根据所述全零块检测的阈值和当前检测宏块的sad值确定所述当前检测宏块的模式,包括:
[0024]
将宏块为4
×
4模式时的阈值用th1表示;将宏块为8
×
8模式时的阈值用4th1表示;将宏块为16
×
16模式时的阈值用16th1表示;
[0025]
当当前检测宏块的sad值达到相应的阈值时,则确定所述当前检测宏块的相应模式为全零块,且确定所述当前检测宏块的模式;
[0026]
若所述当前检测宏块的模式确定为16
×
16模式,则停止所述当前检测宏块的搜索检测过程,并将所述搜索检测过程将转到下一个宏块;
[0027]
若所述当前检测宏块的模式确定为非16
×
16模式,则进入下一子宏块继续搜索最佳匹配模式。
[0028]
一种基于量化参数的宏块模式选择系统,包括:
[0029]
变换模块,用于对模式为4
×
4大小的宏块进行整数dct变换,得到整数dct函数;
[0030]
函数确定模块,用于根据所述整数dct函数确定量化函数;
[0031]
约束确定模块,用于根据所述整数dct函数和所述量化函数确定检测全零块的约束条件;
[0032]
阈值确定模块,用于根据所述约束条件确定h.264帧间宏块模式预测中全零块检测的阈值;
[0033]
模式选择模块,用于根据所述全零块检测的阈值和当前检测宏块的sad值确定所述当前检测宏块的模式。
[0034]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0035]
本发明提供了一种基于量化参数的宏块模式选择算法及系统,所述方法包括:对模式为4
×
4大小的宏块进行整数dct变换,得到整数dct函数;根据所述整数dct函数确定量化函数;根据所述整数dct函数和所述量化函数确定检测全零块的约束条件;根据所述约束条件确定h.264帧间宏块模式预测中全零块检测的阈值;根据所述全零块检测的阈值和当前检测宏块的sad值确定所述当前检测宏块的模式。本发明在没有明显降低视频质量的前提下可以显著提升帧间预测的效率,降低算法的复杂度。
附图说明
[0036]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0037]
图1为本发明提供的实施例中的方法流程图;
[0038]
图2为本发明提供的实施例中的算法流程图;
[0039]
图3为本发明提供的实施例中的系统模块连接图。
具体实施方式
[0040]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0042]
本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤、过程、方法等没有限定于已列出的步骤,而是可选地还包括没有列出的步骤,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤元。
[0043]
本发明的目的是提供一种基于量化参数的宏块模式选择算法及系统,能够在没有明显降低视频质量的前提下可以显著提升帧间预测的效率,降低算法的复杂度。
[0044]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0045]
图1为本发明提供的实施例中的方法流程图,如图1所示,本发明提供了一种基于量化参数的宏块模式选择算法,包括:
[0046]
步骤100:对模式为4
×
4大小的宏块进行整数dct变换,得到整数dct函数;
[0047]
步骤200:根据所述整数dct函数确定量化函数;
[0048]
步骤300:根据所述整数dct函数和所述量化函数确定检测全零块的约束条件;
[0049]
步骤400:根据所述约束条件确定h.264帧间宏块模式预测中全零块检测的阈值;
[0050]
步骤500:根据所述全零块检测的阈值和当前检测宏块的sad值确定所述当前检测宏块的模式。
[0051]
优选地,所述整数dct函数的表达式为:
[0052]
[0053]
其中,e(i,j)表示的是宏块m(i,j)的残差块,0≤i,j≤3;当v=0时,k(v)=1,当v为其他值的时候。操作表示对四舍五入;α为频率指数,β为样本指数。
[0054]
本实施例中提出的基于量化参数的宏块模式选择算法,在对h.264中使用的4
×
4整数dct和量化在理论分析的基础上,导出了检测全零系数的充分条件,并在此基础上提出了基于量化参数的自适应阈值来提前终止模式选择的算法。其中整数dct和量化具体分析过程为:对于一个4
×
4大小的宏块m(4,4),其整数dctι(α,β)可以表示为:
[0055][0056]
其中e(i,j)表示的是宏块m(i,j)的残差块,0≤i,j≤3。当ν=0时,k(ν)=1,当ν为其他值的时候。操作表示对表示对四舍五入。
[0057]
优选地,所述量化函数的表达式为:
[0058][0059]
其中,f=(15+q
p
/6),%表示取模运算,c(q
p
%6,γ)是预设量化数据;所述预设量化数据的数值由宏块中对应位置的q
p
%6的大小确定;为编码器初始化参数,所述编码器初始化参数的数值随着参数调整器中接收到的网络状态的变化进行调整。
[0060]
具体的,本实施例中根据公式(1)可以得出量化参数qp可以表示为ι(α,β)的一个函数:
[0061][0062]
其中f=(15+qp/6)。%表示取模运算。量化参数c(q
p
%6,γ)是预先定义好的,如表1所示,其中类别1,2,3代表的是宏块中像素的位置,即根据宏块中对应位置的q
p
%6的大小从而确定最终的数值。参数有编码器初始化,并随着参数调整器中接收到的网络状态的变化而调整。参数的取值范围一般在0到2
16+qp/6
之间。
[0063]
表1
[0064][0065]
优选地,所述约束条件的表达式为:
[0066][0067]
进一步地,由公式(1)和公式(2)可以得到:
[0068][0069]
如果上述公式的计算结果小于1,则意味着所有的变换系数可以同时量化为0。因此,可以得到检测全零块的条件如下:
[0070][0071]
优选地,所述阈值的表达式为:
[0072][0073]
其中,th1为当宏块为4
×
4模式时的阈值。
[0074]
如果一个宏块中的dct变换和量化之后的所有量化像素值都小于1,则该宏块可以提前确定为全零块,可以提前终止宏块模式的搜索,取当前宏块为最佳参考块。根据上面描述的公式可以推断出h.264帧间宏块模式预测中全零块检测的阈值为:
[0075][0076]
优选地,所述根据所述全零块检测的阈值和当前检测宏块的sad值确定所述当前
检测宏块的模式,包括:
[0077]
将宏块为4
×
4模式时的阈值用表示;将宏块为8
×
8模式时的阈值用4表示;将宏块为16
×
16模式时的阈值用表示;
[0078]
当当前检测宏块的sad值达到相应的阈值时,则确定所述当前检测宏块的相应模式为全零块,且确定所述当前检测宏块的模式;
[0079]
若所述当前检测宏块的模式确定为16
×
16模式,则停止所述当前检测宏块的搜索检测过程,并将所述搜索检测过程将转到下一个宏块;
[0080]
若所述当前检测宏块的模式确定为非16
×
16模式,则进入下一子宏块继续搜索最佳匹配模式。
[0081]
本实施例中,当宏块为4
×
4模式时阈值可以用th1表示。当宏块为8
×
8模式时阈值可以用th2表示,此时th2与th1之间的关系为th2=4th1。当宏块为16
×
16模式时阈值可以用th3表示,此时th3与th1之间的关系可表示为th3=16th1。当当前检测宏块的某个模式的sad值达到相应的阈值时,可以确定该宏块的相应模式为全零块,这时宏块的模式也相应确定。如果宏块确定的类型为16
×
16模式,则该宏块的搜索检测将停止,搜索过程将转到下一个宏块。如果宏块确定的类型为其他模式,则需要进入下一子宏块继续搜索最佳匹配模式。
[0082]
图2为本发明提供的实施例中的算法流程图,如图2所示,本实施例中基于量化参数的宏块模式选择算法流程的具体步骤为:
[0083]
步骤101:根据q
p
,以及表1初始化,th2=4th1,th3=16th1。同时初始化mode=0,i=0。
[0084]
步骤102:对于每个参考帧做循环处理,循环判断条件i是否小于参考帧个数n,如果i《n,继续步骤103,否则执行步骤116。
[0085]
步骤103:循环遍历第i个参考帧中所有满足条件的候选宏块,如果还有候选宏块,继续步骤104,否则执行步骤115。
[0086]
步骤104:根据公式计算sad
16x16

[0087]
步骤105:判断th3与sad
16x16
的大小,如果sad
16x16
《th3,执行步骤114,否则执行步骤106。
[0088]
步骤106:循环遍历当前宏块所有的88子块,如果还有88子块则执行步骤107,否则执行步骤110。
[0089]
步骤107:根据sad公式计算sad
8x8

[0090]
步骤108:判断th2与sad
8x8
的大小,如果sad
8x8
《th2,则执行步骤109,否则执行步骤106。
[0091]
步骤109:选取168子块,816子块以及88子块中sad值最小的子块作为最终模式,并将其赋值给mode。
[0092]
步骤110:循环遍历当前宏块所有的44子块,如果还有44子块则执行步骤111,否则执行步骤103。
[0093]
步骤111:根据sad公式计算sad
4x4

[0094]
步骤112:判断th1与sad
4x4
的大小,如果sad
4x4
《th1,则执行步骤113,否则执行步骤110。
[0095]
步骤113:选取84子块,48子块以及44子块中sad值最小的子块作为最终模式,并将
其赋值给mode。
[0096]
步骤114:当前参考帧16
×
16宏块满足小于阈值条件,选取当前宏块作为最终模式,并将其赋值给mode。
[0097]
步骤115:在当前参考帧所有的候选宏块中没有符合阈值条件的宏块,i=i+1,查找下一个参考帧中的候选宏块(如果有下一个参考帧)。
[0098]
步骤116:遍历完所有的参考帧中的所有候选宏块,都没有符合阈值条件的宏块出现,因此需要在所有的候选宏块中选择sad值最小的宏块作为最终解,并将此模式赋值给mode。
[0099]
图3本发明提供的实施例中的系统模块连接图,如图3所示,对应上述方法,本实施例还提供了一种基于量化参数的宏块模式选择系统,包括:
[0100]
变换模块,用于对模式为4
×
4大小的宏块进行整数dct变换,得到整数dct函数;
[0101]
函数确定模块,用于根据所述整数dct函数确定量化函数;
[0102]
约束确定模块,用于根据所述整数dct函数和所述量化函数确定检测全零块的约束条件;
[0103]
阈值确定模块,用于根据所述约束条件确定h.264帧间宏块模式预测中全零块检测的阈值;
[0104]
模式选择模块,用于根据所述全零块检测的阈值和当前检测宏块的sad值确定所述当前检测宏块的模式。
[0105]
本发明的有益效果如下:
[0106]
本发明提供了一种基于量化参数的帧间预测宏块选择算法及系统,根据分析整数变换与量化之间的关系提出了预先判断全零离散余弦变换系数块的模型,并在此基础上提出了宏块选择的改进算法。实验结果表明,该方法在没有明显降低视频质量的前提下可以显著提升帧间预测的效率,降低算法的复杂度。
[0107]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0108]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1