图像帧差错隐藏方法及装置制造方法及图纸

技术编号:22190889 阅读:51 留言:0更新日期:2019-09-25 05:02
本发明专利技术涉及一种图像帧差错隐藏方法,包括以下步骤:判断第n个图像帧是否有丢包差错,如果是则不对第n个图像帧进行差错隐藏;以及对第n+1个图像帧进行差错隐藏,其中差错隐藏操作参考第n个图像帧之前的一个或多个图像帧进行,其中n为大于等于2的整数。

Image Frame Error Concealment Method and Device

【技术实现步骤摘要】
图像帧差错隐藏方法及装置
本专利技术涉及长期演进语音承载(VoiceoverLong-TermEvolution,VOLTE)视频电话业务、视频编解码器、实时传输协议(Real-timeTransportProtocol,RTP)以及嵌入式系统,尤其涉及一种图像帧差错隐藏方法,该图像帧差错隐藏方法可以有效提高图像的质量。
技术介绍
VOLTE电话业务是4G通信的核心业务之一,而视频电话是其中的一个主要功能。基于分组交换的4G无线网络可以提供双向实时音视频电话业务。视频电话主要采用MPEG4、H.264或H.265等编码算法,通常在实时系统中使用I帧(帧内预测)和P帧(帧间预测)进行图像编码。其中,I帧解码不依赖其他图像但压缩率较低,P帧解码压缩率较高但解码需要参考之前的图像。通常情况下,为了保证有效的数据压缩,视频码流中绝大多数是P帧。另一方面,无线信道的数据丢包常常是不可避免的,即使只出现一个丢包也会导致该帧图像无法正确解码,而后续帧以差错帧为参考从而造成了图像差错的不断延续和放大,最后使得图像中出现大量马赛克,影响了用户的主观体验。因此,对于VOLTE视频电话业务来说,数据丢包问题显得尤为突出。常用的应对措施是在传输层进(反馈)数据重传,例如通过RTCP(Real-timeTransportControlProtocol,实时传输控制协议)反馈丢包信息、丢失图像条带信息,或者反馈差错宏块信息等。这些方法虽然处理过程不同、重传的数据量也不同,但本质上都是在传输层进行修复,需要对端(和本端)的配合才能实现,而且对承载质量有一定要求的,即在无线信号较好的环境下才能取得理想的修复效果。如果当前信号较弱(例如终端处于移动中或者比较复杂的网络环境下),不仅正常数据容易丢包,反馈信息或重传数据本身也可能出现丢包和长时延,从而会影响传输层的修复效果。另外,实时视频电话业务也不可能长时间等待重传。而当对端设备来自其他厂商时,则可能根本不支持本端传输层的修复协议,从而完全无法进行数据修复。可见,数据重传的方法不仅需要双方协议的支持,而且明显受限于网络条件。由于传输层的修复机制无法应对所有情况,在传输层修复失败的情况下输出的图像帧必然存在数据缺失。如果想要最终不出现大量马赛克和卡顿,那么就需要在视频解码器引入差错隐藏机制来提高图像的质量。差错隐藏是与数据重传工作在不同层面的另一种图像修复机制。差错隐藏修复方法可以使图像的差错被控制在有限的范围之内,且无需得到对端的配合。差错隐藏修复方法不依赖网络传输,因而是一种更加独立、透明的修复方法。当所有上层的修复机制不可用或者修复失败时,便只能依靠解码器的差错隐藏功能来保证图像质量。因此,差错隐藏修复方法不仅是其他修复机制的重要补充,也是视频图像质量的最终保障。
技术实现思路
本专利技术所要解决的技术问题是提供一种图像帧差错隐藏方法,该图像帧差错隐藏方法可以有效提高图像的质量。本专利技术为解决上述技术问题而采用的技术方案是提出一种图像帧差错隐藏方法,包括以下步骤:判断第n个图像帧是否有丢包差错,如果是则不对所述第n个图像帧进行差错隐藏;以及对第n+1个图像帧进行差错隐藏,其中所述差错隐藏操作参考所述第n个图像帧之前的一个或多个图像帧进行,其中n为大于等于2的整数。在本专利技术的一实施例中,当判断所述第n个图像帧有丢包差错时,还包括:尝试解码所述第n个图像帧;以及判断所述解码能否获得一个或多个宏块,如果是,则所述差错隐藏操作包括参考所述一个或多个宏块以及所述第n个图像帧之前的一个或多个图像帧进行差错隐藏,否则丢弃所述第n个图像帧;其中不显示所述第n个图像帧。在本专利技术的一实施例中,还包括对第n+2个图像帧进行解码,所述解码操作参考所述第n+1个图像帧进行。在本专利技术的一实施例中,对第n+1个图像帧进行差错隐藏的步骤包括:对所述第n+1个图像帧中的能够直接独立解码的第一类帧内宏块进行解码;对所述第n+1个图像帧中仅依赖于所述第一类帧内宏块的第二类帧内宏块进行解码;参考所述第n个图像帧之前的一个或多个图像帧,对所述第n+1个图像帧中的帧间宏块进行差错隐藏;以及对所述第n+1个图像帧中不能够直接独立解码的第三类帧内宏块进行差错隐藏。在本专利技术的一实施例中,参考所述第n个图像帧之前的一个或多个图像帧,对所述第n+1个图像帧中的帧间宏块进行差错隐藏的步骤包括:解码所述帧间宏块的运动矢量;计算候选运动矢量;从所述候选运动矢量中选取目标运动矢量;根据所述目标运动矢量从所述第n个图像帧之前的一个或多个图像帧中获取参考宏块,并根据所述参考宏块解码当前的帧间宏块。在本专利技术的一实施例中,对第n+1个图像帧进行差错隐藏的步骤包括:对所述第n+1个图像帧中的能够直接独立解码的第一类帧内宏块进行解码;对所述第n+1个图像帧中仅依赖于所述能够直接独立解码的第一类帧内宏块的第二类帧内宏块进行解码;参考所述第n个图像帧的一个或多个宏块和所述第n个图像帧之前的一个或多个图像帧,对所述第n+1个图像帧中的帧间宏块进行差错隐藏;以及对所述第n+1个图像帧中不能够直接独立解码的第三类帧内宏块进行差错隐藏。在本专利技术的一实施例中,参考所述第n个图像帧之前的一个或多个图像帧,对所述第n+1个图像帧中的帧间宏块进行差错隐藏的步骤包括:解码所述帧间宏块的运动矢量;计算候选运动矢量;根据所述运动矢量确定参考宏块所在的图像帧位置;当所述参考宏块在所述第n个图像帧时,直接根据所述参考宏块解码所述帧间宏块,并结束流程;当所述参考宏块在所述第n个图像帧之前的一个或多个图像帧时,从所述候选运动矢量中选取目标运动矢量;以及根据所述目标运动矢量从所述第n个图像帧之前的一个或多个图像帧中获取参考宏块,并根据所述参考宏块解码当前的帧间宏块。在本专利技术的一实施例中,对所述第n+1个图像帧中不能够直接独立解码的第三类帧内宏块进行差错隐藏的步骤包括:获取当前第三类帧内宏块的预测模式;在剩余的第三类帧内宏块中搜索以当前第三类帧内宏块为参考宏块,且预测模式相同的相关第三类帧内宏块;获取所述当前第三类帧内宏块和所述相关第三类帧内宏块的多组候选参考像素;使用所述多组候选参考像素对所述当前第三类帧内宏块和所述相关第三类帧内宏块进行解码以选取目标参考像素;以及根据所述目标参考像素解码所述当前第三类帧内宏块和所述相关第三类帧内宏块。本专利技术的另一方面提出一种图像帧差错隐藏装置,包括:差错检测模块,用于判断第n个图像帧是否有丢包差错;以及差错隐藏模块,用于当所述第n个图像帧有丢包差错时不修复所述第n个图像帧,且对第n+1个图像帧进行差错隐藏,其中所述差错隐藏操作参考所述第n个图像帧之前的一个或多个图像帧进行,其中n为大于等于2的整数。在本专利技术的一实施例中,所述差错隐藏模块还用于当判断所述第n个图像帧有丢包差错时,尝试解码所述第n个图像帧,且判断所述解码能否获得一个或多个宏块;其中如果所述解码能获得一个或多个宏块,则所述差错隐藏模块参考所述一个或多个宏块以及所述第n个图像帧之前的一个或多个图像帧进行差错隐藏,如果所述解码不能获得一个或多个宏块,则所述差错隐藏模块丢弃所述第n个图像帧;其中不显示所述第n个图像帧。在本专利技术的一实施例中,所述差错隐藏模块还用于对第n+2个图像帧进行解码,所述解码操本文档来自技高网
...

【技术保护点】
1.一种图像帧差错隐藏方法,包括以下步骤:判断第n个图像帧是否有丢包差错,如果是则不对所述第n个图像帧进行差错隐藏;以及对第n+1个图像帧进行差错隐藏,其中所述差错隐藏操作参考所述第n个图像帧之前的一个或多个图像帧进行,其中n为大于等于2的整数。

【技术特征摘要】
1.一种图像帧差错隐藏方法,包括以下步骤:判断第n个图像帧是否有丢包差错,如果是则不对所述第n个图像帧进行差错隐藏;以及对第n+1个图像帧进行差错隐藏,其中所述差错隐藏操作参考所述第n个图像帧之前的一个或多个图像帧进行,其中n为大于等于2的整数。2.根据权利要求1所述的方法,其特征在于,当判断所述第n个图像帧有丢包差错时,还包括:尝试解码所述第n个图像帧;以及判断所述解码能否获得一个或多个宏块,如果是,则所述差错隐藏操作包括参考所述一个或多个宏块以及所述第n个图像帧之前的一个或多个图像帧进行差错隐藏,否则丢弃所述第n个图像帧;其中不显示所述第n个图像帧。3.根据权利要求1所述的方法,其特征在于,还包括对第n+2个图像帧进行解码,所述解码操作参考所述第n+1个图像帧进行。4.根据权利要求1所述的方法,其特征在于,对第n+1个图像帧进行差错隐藏的步骤包括:对所述第n+1个图像帧中的能够直接独立解码的第一类帧内宏块进行解码;对所述第n+1个图像帧中仅依赖于所述第一类帧内宏块的第二类帧内宏块进行解码;参考所述第n个图像帧之前的一个或多个图像帧,对所述第n+1个图像帧中的帧间宏块进行差错隐藏;以及对所述第n+1个图像帧中不能够直接独立解码的第三类帧内宏块进行差错隐藏。5.根据权利要求4所述的方法,其特征在于,参考所述第n个图像帧之前的一个或多个图像帧,对所述第n+1个图像帧中的帧间宏块进行差错隐藏的步骤包括:解码所述帧间宏块的运动矢量;计算候选运动矢量;从所述候选运动矢量中选取目标运动矢量;根据所述目标运动矢量从所述第n个图像帧之前的一个或多个图像帧中获取参考宏块,并根据所述参考宏块解码当前的帧间宏块。6.根据权利要求2所述的方法,其特征在于,对第n+1个图像帧进行差错隐藏的步骤包括:对所述第n+1个图像帧中的能够直接独立解码的第一类帧内宏块进行解码;对所述第n+1个图像帧中仅依赖于所述能够直接独立解码的第一类帧内宏块的第二类帧内宏块进行解码;参考所述第n个图像帧的一个或多个宏块和所述第n个图像帧之前的一个或多个图像帧,对所述第n+1个图像帧中的帧间宏块进行差错隐藏;以及对所述第n+1个图像帧中不能够直接独立解码的第三类帧内宏块进行差错隐藏。7.根据权利要求6所述的方法,其特征在于,参考所述第n个图像帧之前的一个或多个图像帧,对所述第n+1个图像帧中的帧间宏块进行差错隐藏的步骤包括:解码所述帧间宏块的运动矢量;计算候选运动矢量;根据所述运动矢量确定参考宏块所在的图像帧位置;当所述参考宏块在所述第n个图像帧时,直接根据所述参考宏块解码所述帧间宏块,并结束流程;当所述参考宏块在所述第n个图像帧之前的一个或多个图像帧时,从所述候选运动矢量中选取目标运动矢量;以及根据所述目标运动矢量从所述第n个图像帧之前的一个或多个图像帧中获取参考宏块,并根据所述参考宏块解码当前的帧间宏块。8.根据权利要求4或6所述的方法,其特征在于,对所述第n+1个图像帧中不能够直接独立解码的第三类帧内宏块进行差错隐藏的步骤包括:获取当前第三类帧内宏块的预测模式;在剩余的第三类帧内宏块中搜索以当前第三类帧内宏块为参考宏块,且预测模式相同的相关第三类帧内宏块;获取所述当前第三类帧内宏块和所述相关第三类帧内宏块的多组候选参考像素;使用所述多组候选参考像素对所述当前第三类帧内宏块和所述相关第三类帧内宏块进行解码以选取目标参考像素;以及根据所述目标参考像素解码所述当前第三类帧内宏块和所述相关第三类帧内宏块。9.一种图像帧差错隐藏装置,包括:差错检测模块,用于判断第n个图像帧是否有丢包差错;以及差错隐藏模块,用于当所述第n个图像帧有丢包差错时不修复所述第n个图像帧,且对第n+1个图像帧进行差错隐藏,其中所述差错隐藏操...

【专利技术属性】
技术研发人员:秦海琳
申请(专利权)人:瓴盛科技有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1