一种视频解码的时域错误隐蔽方法技术

技术编号:3586105 阅读:224 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种视频解码的时域错误隐蔽方法,错误隐蔽效果好、计算复杂度低,包括以下步骤:(a)读取、解析码流,并检测码流中图像帧是否有错误发生,标记受损宏块;(b)如果判断当前帧中存在受损宏块,则继续解析下一帧获取其宏块信息,转到步骤(c),否则进行正常解码流程,执行步骤(d);(c)对于当前帧中的受损宏块,利用本帧或前后帧相应宏块估算其运动矢量,根据估算结果在前一帧中寻找对应位置的块,用该对应宏块来替换受损宏块;(d)将经过正常解码及错误隐蔽的图像数据送入显示缓存。本发明专利技术克服了现有技术中复杂度较高的缺点,尽可能掩盖由于数据丢失而引起的图像损伤。

【技术实现步骤摘要】

本专利技术属于图像信息处理领域,具体涉及。
技术介绍
随着有线宽带网络和无线网络的发展和用户需求的驱动,多媒体技术和相关的应用得到了越来越多的关注,被认为是未来高速网络的主流应用之一。多媒体应用尤其是视频应用,相对于Internet的传统应用如WWW、E-mail等,其对实时性要求更严,对带宽的需求更大。由于视频应用中大多采用了高压缩率的编码技术,其对传输误码的要求尤为苛刻,但是有线或者无线网络不提供传输的QoS(Quality of Serverices)保证,因此提高视频应用对传输误码的抗干扰和恢复能力一直是多媒体通信领域的研究热点。 常用的错误隐蔽方法包括在编码器和信道编码中引入冗余,使编码流对传输错误具有更强的抗干扰能力;通过编码器、传输信道和解码器之间进行交互,编码器根据检测到的错误信息调整自身的操作,在解码器端根据错误检测的结果对错误进行隐蔽。此两种方法在编码器与解码器之间皆存在一定的交互性,这样的编码器得到的视频流缺乏通用性,因此,解码器根据错误检测的结果对错误进行隐蔽的方法得到了广泛的应用。 传统的解码器端根据错误检测结果进行错误隐蔽方法有两类,基于运动补偿的时域错误隐蔽和基于空域或频域上的错误隐蔽。其中基于运动补偿的时域错误隐蔽方法的一个简单的方法来利用视频信号的时域相关特性,即用错误宏块所在帧的前一帧中与错误宏块空间位置相同的宏块,来代替当前帧中的错误宏块。但是当视频中存在较剧烈的运动时,这种方法的视觉效果并不理想。因此,近年来部分研究者通过运动补偿来寻找相应的宏块时,对隐蔽效果有很大提高。例如中国专利申请号为200410018508.0的“一种隐藏错误的视频译码方法”(公开号CN1581972,公开日2005.02.16),该专利方法通过搜索匹配块的方法对发生错误的宏块进行补偿,其计算复杂度较高,对实时视频的解码不太适用;美国专利号为6,480,546的“Errorconcealment method in a motion video decompression system”,该专利方法利用丢失宏块的上、下宏块的运动矢量对丢失宏块的运动矢量进行估计,当丢失宏块的相邻宏块不存在时,将不能得到满意的错误隐蔽效果。综上所述,现有的基于运动补偿的时域错误隐蔽方法存在着两个缺点1)必须利用丢失宏块的相邻宏块信息,如相邻宏块不能正确解码,则不能有效地进行丢失宏块的运动矢量估计;2)搜索比配块虽然能够得到较好的效果,但是计算复杂度太大,不适合实时应用。
技术实现思路
本专利技术所要解决的技术问题是提供,克服现有技术中的缺点,错误隐蔽效果好、计算复杂度低,在满足实时性要求的同时具有较强的鲁棒性。 为了解决上述技术问题,本专利技术提供了,包括以下步骤 (a)读取、解析码流,并检测码流中图像帧是否有错误发生,标记受损宏块; (b)如果判断当前帧中存在受损宏块,则继续解析下一帧获取其宏块信息,转到步骤(c),否则进行正常解码流程,执行步骤(d); (c)对于当前帧中的受损宏块,利用本帧或前后帧相应宏块估算其运动矢量,根据估算结果在前一帧中寻找对应位置的块,用该对应宏块来替换受损宏块; (d)将经过正常解码及错误隐蔽的图像数据送入显示缓存。 进一步地,上述方法还可具有以下特点在所述步骤(a)中,所述检测码流中图像帧是否有错误发生,标记受损宏块,包括以下步骤(a-1)预先为每一帧中的每一宏块设置一正确解码标志;(a-2)根据码流语法,顺序解析帧的显示序号,判断连续解码的两帧之间序号不连续且不存在B类型帧时,此两帧之间存在丢失帧,执行步骤(b),否则执行下一步;(a-3)读取、解析宏块,判断宏块是否被正确解码,如果是,则标记该宏块的正确解码标志,否则,继续本步骤,直到本帧解码结束。 进一步地,上述方法还可具有以下特点在所述步骤(b)中,采用步骤(a-1)-(a-3)的方法解析下一帧码流,标记受损宏块。 进一步地,上述方法还可具有以下特点在所述步骤(c)中,所述利用本帧或前后帧相应宏块估算其运动矢量,采用以下步骤(i)搜索本帧中受损宏块,判断该受损宏块邻近宏块解码是否均正确,如果是,利用邻近宏块的运动矢量估算该受损宏块的运动矢量,否则,执行下一步;(ii)判断该受损宏块的空间相邻宏块中是否存在部分以INTER模式编码的正确宏块,如果是,则利用这部分宏块的运动矢量估算该受损宏块的运动矢量,否则,执行下一步;(iii)利用该受损宏块在其前、后帧对应宏块的运动矢量估算该受损宏块的运动矢量; 进一步地,上述方法还可具有以下特点在所述步骤(i)中,所述利用邻近宏块的运动矢量估算该受损宏块的运动矢量,采用以下公式计算MV=Mean(MVa,MVb,MVc),其中,MV为该受损宏块的运动矢量,MVa~MVc为邻近宏块中相应块的运动矢量。 进一步地,上述方法还可具有以下特点在所述步骤(ii)中,所述利用部分宏块的运动矢量估算该受损宏块的运动矢量,采用如下公式如果左边宏块、上边宏块均为以INTER模式编码的正确宏块,则受损宏块的运动矢量MV=Mean(MVa,MVb,MVc);如果左边宏块为以INTER模式编码的正确宏块,则受损宏块的运动矢量MV=MVa;如果上边宏块为以INTER模式编码的正确宏块,则受损宏块的运动矢量MV=Mean(MVb,MVc);其中,MVa~MVc为邻近宏块中相应块的运动矢量。 进一步地,上述方法还可具有以下特点在所述步骤(iii)中,进一步包括以下步骤采用前、后两帧对应宏块的运动矢量的均值作为该受损宏块的运动矢量;如果该受损宏块后帧的对应宏块以INTRA模式进行编码或者同样为受损宏块,则采用前帧对应宏块的运动矢量作为该受损宏块的运动矢量;如果该受损宏块前帧的对应宏块以INTRA模式进行编码,则采用后帧对应宏块的运动矢量作为该受损宏块的运动矢量。 进一步地,上述方法还可具有以下特点在所述步骤(c)中,估算出所述受损宏块的运动矢量后,若该运动矢量值小于预先给定的阈值,则对该受损宏块的运动矢量值进行修正,采用以下步骤 (A)计算前帧宏块在t时刻的投射运动矢量其中i表示第i个子块的位置,表示新的子块位置,当匀速运动时,k=1,s=0; (B)根据与受损子块叠加的投射运动矢量计算受损子块的运动矢量,采用如下公式 其中,MVjt表示受损宏块的运动矢量,MP1,MP2,...,MPN为N个投射运动矢量,W1,...,WN为权值,正比于各个投射于受损子块的前帧子块在受损宏块中所占的比例,WN+1为当前子块中没有被投射运动矢量覆盖的像素区域在受损子块中所占的比例,且W1+W2+...WN+WN+1=1。 本专利技术克服了现有技术中复杂度较高的缺点,尽可能掩盖由于数据丢失而引起的图像损伤,本专利技术方法可以应用于ATM、无线环境,而且也可用于Internet视频通信,在给定传输速率和一定丢包率、误码情况下,可使图像主观评价达到较优,并且满足实时性的需求,具有较强的实用价值。 附图说明 图1是本专利技术所述的基于运动补偿的通用的时域错误隐蔽方法流程图; 图2-1是本专利技术所述的受损宏块运动矢量预测示意图1; 图2-2是本专利技术所述的受损宏块运动矢量预测示意图2; 本文档来自技高网
...

【技术保护点】
一种视频解码的时域错误隐蔽方法,包括以下步骤:(a)读取、解析码流,并检测码流中图像帧是否有错误发生,标记受损宏块;(b)如果判断当前帧中存在受损宏块,则继续解析下一帧获取其宏块信息,转到步骤(c),否则进行正常解码流程,执行步骤(d);(c)对于当前帧中的受损宏块,利用本帧或前后帧相应宏块估算其运动矢量,根据估算结果在前一帧中寻找对应位置的块,用该对应宏块来替换受损宏块;(d)将经过正常解码及错误隐蔽的图像数据送入显示缓存。

【技术特征摘要】
1.一种视频解码的时域错误隐蔽方法,包括以下步骤(a)读取、解析码流,并检测码流中图像帧是否有错误发生,标记受损宏块;(b)如果判断当前帧中存在受损宏块,则继续解析下一帧获取其宏块信息,转到步骤(c),否则进行正常解码流程,执行步骤(d);(c)对于当前帧中的受损宏块,利用本帧或前后帧相应宏块估算其运动矢量,根据估算结果在前一帧中寻找对应位置的块,用该对应宏块来替换受损宏块;(d)将经过正常解码及错误隐蔽的图像数据送入显示缓存。2.如权利要求1所述的方法,在所述步骤(a)中,所述检测码流中图像帧是否有错误发生,标记受损宏块,包括以下步骤(a-1)预先为每一帧中的每一宏块设置一正确解码标志;(a-2)根据码流语法,顺序解析帧的显示序号,判断连续解码的两帧之间序号不连续且不存在B类型帧时,此两帧之间存在丢失帧,执行步骤(b),否则执行下一步;(a-3)读取、解析宏块,判断宏块是否被正确解码,如果是,则标记该宏块的正确解码标志,否则,继续本步骤,直到本帧解码结束。3.如权利要求2所述的方法,在所述步骤(b)中,采用步骤(a-1)-(a-3)的方法解析下一帧码流,标记受损宏块。4.如权利要求1所述的方法,在所述步骤(c)中,所述利用本帧或前后帧相应宏块估算其运动矢量,采用以下步骤(i)搜索本帧中受损宏块,判断该受损宏块邻近宏块解码是否均正确,如果是,利用邻近宏块的运动矢量估算该受损宏块的运动矢量,否则,执行下一步;(ii)判断该受损宏块的空间相邻宏块中是否存在部分以INTER模式编码的正确宏块,如果是,则利用这部分宏块的运动矢量估算该受损宏块的运动矢量,否则,执行下一步;(iii)利用该受损宏块在其前、后帧对应宏块的运动矢量估算该受损宏块的运动矢量。5.如权利要求4所述的方法,在所述步骤(i)中,所述利用邻近宏块的运动矢量估算该受损宏块的运动矢量,采用以下公式计算MV...

【专利技术属性】
技术研发人员:陈睿黄晓红王宁
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1