发明内容
本发明的目的是针对现有技术这方面的缺陷,提出一种视频质量的提高方法及其实现装置,以解决低码率下提高视频图像质量的问题。
本发明视频质量提高方法的目的,将通过以下技术方案得以实现:一种视频质量的提高方法,其特征在于包括如下步骤:
S1:统计代价函数;
S11,通过运动估计模块得到宏块帧间模式及其代价函数,记为InterCost(mv,mode),其中mv为宏块的运动矢量,mode为宏块的模式;
S12,计算得到帧内16×16模式的代价函数,记为Intra16x16Cost(I16),I16为帧内16×16模式的序号;
S13,计算得到帧内4×4模式的代价函数,记为Intra4x4Cost(I4x4),I4为帧内4x4所有模式的序号;
S2:码率模式判断步骤,若当前码率/帧率大于6kbps,则进入高码率模式判决过程,若当前码率/帧率小于等于6kbps,则计算模式权重处罚因子,记为 Bsp=4*λ*BSPCost(mode),其中λ通常为常数,mode为该宏块的帧间模式,并且进入低码率模式判决过程;
S3:高码率模式判决过程:比较InterCost,Intra16x16Cost,Intra4x4Cost,判决模式决策结果为最小者所对应的模式;
S4:低码率模式判决过程:比较InterCost+Bsp,Intra16x16Cost,Intra4x4Cost,判决模式决策结果为最小者所对应的模式。
进一步地,步骤S12中帧内16×16有四种模式,I16为0,1,2,3;计算帧内16×16宏块每一种模式的代价函数,取其中最小的代价函数为帧内4×4模式的最小代价函数。
进一步地,步骤S13中计算得到帧内4×4模式的最小代价函数的方法为:将16×16的宏块分成16个4×4的块,每个4×4块为九种模式之一,I4×4为0-8中任一整数;并计算得到4×4块的最佳模式及代价函数,再将每个4×4块的代价函数求和。
本发明视频质量提高实现装置的目的,将通过以下***方案得以实现,其包括:第一计算单元,通过运动估计模块得到宏块帧间模式及其代价函数,记为InterCost(mv,mode),其中mv为宏块的运动矢量,mode为宏块的模式;
第二计算单元,用于计算得到帧内16×16模式的代价函数,记为Intra16x16Cost(I16),I16为帧内16×16模式的序号;
第三计算单元,用于计算得到帧内4×4模式的代价函数,记为Intra4x4Cost(I4x4),I4×4为帧内4x4所有模式的序号;
进一步地,码率模式判断模块,用于在当前码率/帧率大于6kbps时,进入高码率模式判决过程,且在当前码率/帧率小于等于6kbps时,计算模式权重处罚因子,记为Bsp=4*λ*BSPCost(mode),其中λ通常为常数,mode为该宏块的帧间模式,并且进入低码率模式判决过程;
高码率模式判决模块:用于比较InterCost,Intra16x16Cost,Intra4x4Cost中的最小者,判决模式决策结果为最小者所对应的模式;
低码率模式判决模块:用于比较InterCost+Bsp,Intra16x16Cost,Intra4x4Cost中的最小者,判决模式决策结果为最小者所对应的模式。
进一步地,帧内16×16有四种模式,I16为0,1,2,3;所述第二计算单元用于计算帧内16×16宏块每一种模式的代价函数,取其中最小的代价函数为帧内4×4模式的最小代价函数。
进一步地,所述第三计算单元用于将16×16的宏块分成16个4×4的块,每个4×4块为九种模式之一,I4×4为0-8中任一整数;并计算得到4×4块的最佳模式及代价函数,再将每个4×4块的代价函数求和。
对比目前视频通信***的视频质量,应用本发明技术方案,能在高码率条件下保持较高的图像质量,且在低码率条件下能有效消除拖影,主观上提高了视频质量。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所述,本发明实施方式中,所述视频质量的提高方法,包括步骤S1:统计代价函数,即包括最优选帧间模式的代价函数、帧内16×16模式的代价函数和帧内4×4模式的代价函数。
S11,通过运动估计模块得到最好的宏块帧间模式及其代价函数,记为InterCost(mv,mod e),其中mv为宏块的运动矢量,mode为宏块的模式,可能为16×16,16×8,8×16,8×4,4×8等。
S12,计算得到帧内16×16模式的代价函数,记为Intra16x16Cost(I16),I16 为帧内16×16模式的序号。
S13,计算得到帧内4×4模式的代价函数,记为Intra4x4Cost(I4x4),I4为帧内4x4所有模式的序号。
BSP计算,计算模式权重处罚因子,记为Bsp=4*λ*BSPCost(mode),其中λ通常为常数,mode为该宏块的帧间模式。
S2:码率模式判断步骤,若当前码率/帧率大于一标准值,则进入高码率模式判决过程,若当前码率/帧率小于等于标准值,则进入低码率模式判决过程;
S3:高码率模式判决过程:比较InterCost,Intra16x16Cost,Intra4x4Cost,判决模式决策结果为最小者所对应的模式;
S4:低码率模式判决过程:比较InterCost+Bsp,Intra16x16Cost,Intra4x4Cost,判决模式决策结果为最小者所对应的模式。
如图2所示,本发明实施方式中,所述提高视频质量的实现装置,包括第一计算单元,通过运动估计模块得到宏块帧间模式及其代价函数,记为InterCost(mv,mode),其中mv为宏块的运动矢量,mode为宏块的模式。
第二计算单元,用于计算得到帧内16×16模式的代价函数,记为Intra16x16Cost(I16),I16为帧内16×16模式的序号。
第三计算单元,用于计算得到帧内4×4模式的代价函数,记为Intra4x4Cost(I4x4),I4为帧内4x4所有模式的序号。
码率模式判断模块,用于在当前码率/帧率大于一标准值时,进入高码率模式判决过程,且在当前码率/帧率小于等于标准值时,计算模式权重处罚因子,记为Bsp=4*λ*BSPCost(mode),其中λ通常为常数,mode为该宏块的帧间模式,并且进入低码率模式判决过程。
高码率模式判决模块:用于比较InterCost,Intra16x16Cost,Intra4x4Cost中的最小者,判决模式决策结果为最小者所对应的模式。
低码率模式判决模块:用于比较InterCost+Bsp,Intra16x16Cost,Intra4x4Cost中的最小者,判决模式决策结果为最小者所对应的模式。
优选的,帧内16×16有四种模式,I16为0,1,2,3;该第二计算单元用于计算帧内16×16宏块每一种模式的代价函数,取其中最小的代价函数为帧内 4×4模式的最小代价函数。此外,该第三计算单元用于将16×16的宏块分成16个4×4的块,每个4×4块为九种模式之一,I4×4为0-8中任一整数;并计算得到4×4块的最佳模式及代价函数,再将每个4×4块的代价函数求和。
上述该些模块的有机组合,在视频编码领域开拓了新的应用前景,能有效提高视频低码率条件下的图像质量。
如图3至图7所示,本发明视频质量提高方法的具体实施流程图及其高、低码率模式判决流程图。以下依据该些附图,进一步详述本发明视频质量的提高方法是如何实现的。
1、计算帧间模式的代价函数。通常情况下,在进行编码之前,要进行运动估计,运动估计技术利用前后两帧的象素运动轨迹来进行运动参数的估计,以实现用上一帧图象的信息来预测和表达当前帧图象,去除时间域上的冗余。
定义:mv=(mvx,mvy);
InterCost(mv,mode)=InterSAD(mv)+λ*MVCost(mv,mode);
其中InterSAD(mv)为对应mv的绝对差值,λ*MVCost(mv,mode)为运动矢量补偿,通常λ为常数,MVCost(mv,mode)为业内通用代价函数,根据不同的模式,W/H可以为以下值16,8,4。
2、计算帧内16×16模式的代价函数,记为Intra16x16Cost(I16),I16为帧内16×16模式的序号。I16的值可以是0-3,分别对应四种帧内预测模式。
其中,fc(mbx,mby)为当前宏块数据,Pred(mbx,mby,I16)为当前宏块根据帧内16×16模式预测的数据。通常λ为常数,Mode16x16Cost(I16)为模式代价函数,采用业内通用的算法。
3、计算帧内4×4模式的代价函数,记为Intra4x4Cost(I4x4),I4为帧内4×4所有模式的序号。
;其中,fc(mbx,mby)为当前宏块数据,Pred(mbx,mby,I4x4)为当前宏块根据帧内4 ×4模式预测的数据。通常λ为常数,Mode4x4Cost(4x4)为模式代价函数,采用业内通用的算法。将16×16的宏块分成16个4x4的块,每个4×4块可能选择9种模式中的一种。分别为0:vertical,1:horizontal,2:dc,3:diagonal down-left,4:diagonal down-right,5:vertical-right,6:horizontal-down,7:vertical-left,8:horizontal-up。计算帧内4×4模式最小代价函数过程:对于每一个4×4块,进行最佳模式决策,得到该4×4块的最佳模式以及代价函数,将每个4×4块的代价函数相加得到整个16×16宏块的最小代价函数。
4、在省略叙述码率模式判断过程后,接下来所要做的是计算BSP(Block sizepenalty),记为Bsp=4*λ*BSPCost(mode);其中当mode=0时,BSPCost(mode)=0;当mode=1/2时,BSPCost(mode)=1;当mode=3时,BSPCost(mode)=2;λ通常为常数,mode为该宏块的帧间模式。
5、如图6所示,如果应用环境需要设置较高的码率,则比较InterCost,Intra16x16Cost,Intra4x4Cost,得到三者中的最小者。且相应的模式决策结果为该最小者对应的模式。例如,如果InterCost最小,则决策为帧间模式,如果Intra16x16Cost最小,则为帧内16×16模式,如果Intra4x4Cost最小,则为帧内4×4模式。
6、如图7所示,如果应用环境需要设置低码率,则比较InterCost+Bsp,Intra16x16Cost,Intra4x4Cost,得到三者中的最小结果,相应的模式决策结果即为该最小结果对应的模式。例如,如果InterCost+Bsp最小,则决策为帧间模式,如果Intra16x16Cost最小,则为帧内16×16模式,如果Intra4x4Cost最小,则为帧内4×4模式。
对比目前视频通信***的视频质量,在高码率情况下,本发明算法能够在高码率下保持高的图像质量,在低码率(由于网络丢包或者带宽限制的条件下)时能够有效地提高图像的主管质量,达到视频通信***良好的效果。在低码率的应用场景中,由于分配到每一帧的码率相对高码率较低,使得帧内大部分的宏块会被模式决策算法抉择成帧间16×16模式,在物体的边沿部分则会根据物体的形状被抉择成帧间16×8,8×16,8×8的模式。这样在低码率条件,由于前一帧被重建的图像质量较差或者重建误差(真实的图像与重建图像之间的差值)比较大,造成在物体的边沿随着运动的方向产生相应的误差,从 视觉效果来看,就是拖影的效果。本方法旨在提高这种条件下整体的图像质量,去除拖影。在低码率模式判决中,采用对图像分块模式进行块模式权重处罚(BSP)因子补偿,这样在模式抉择的阶段使得处于物体边沿的宏块有更多的机会被抉择成帧内模式(帧内16×16或者帧内4×4),这样就有效的解决了拖影的问题,主观上提高了视频质量。
综上所述,本发明视频质量的提高方法及其实现装置的创新实质及显著效果已得到全面展示。