首页 / 专利库 / 专利权 / 申请 / 国际申请 / 明显错误 / AVS视频解码的错误检测与掩盖方法

AVS视频解码的错误检测与掩盖方法

阅读:270发布:2020-05-13

专利汇可以提供AVS视频解码的错误检测与掩盖方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种AVS视频解码的错误检测与掩盖方法,该方法通过语法/语义错误检测和相关性检测,能够准确的检测出发生错误的宏 块 ,并通过利用前一正确解码 帧 的条带结构来控制当前出错帧进行错误掩盖,保证了图像的高 质量 恢复,同时避免了错误向下一个条带传递;本方法中对出错宏块处理的时间与正常解析宏块所处帧的码流所需的时间相当,使得在应用本方法时不中断 解码器 ,不影响解码器的实时解码速度;与现有的五步检测法相比,本发明方法的检测速度较五步检测法快2-3倍;与现有的掩盖法相比,在同等情况下,虽然图像恢复的效果差不多,但运算复杂度明显降低,运算速度较 现有技术 快1-1.5倍;与AVS视频标准自带的条带掩盖 算法 相比,容错效果是其3-4倍。,下面是AVS视频解码的错误检测与掩盖方法专利的具体信息内容。

1.一种AVS视频解码的错误检测与掩盖方法,AVS视频包括I帧、P帧和B帧,AVS视频基本流包括视频序列层、图像层、条带层、宏层和块层,所述的视频序列层、所述的图像层和所述的条带层均设置有同步码,所述的条带层包括由多个宏块行组成的一个条带,所述的宏块行包括多个由多个块组成的宏块,在所述的AVS视频基本流中,所述的I帧、所述的P帧及所述的B帧三者的图像层的条带数和条带位置相同,其特征在于该方法包括以下步骤:
(1)、利用语法/语义错误检测方法,根据设定的检测条件对基本流中已解码的部分进行错误检测,如果检测到错误,则确定发生错误的宏块,并继续执行;如果未检测到错误,则对基本流中未解码的部分进行解码处理,并对基本流中已解码的部分重新进行错误检测;
(2)、定义预测错误宏块为步骤(1)中的发生错误的宏块的前一宏块,同时定义预测错误宏块的内部相关性及预测错误宏块与其相邻宏块之间的外部相关性,根据内部相关性和外部相关性对预测错误宏块所处的条带从预测错误宏块开始向前检测,并根据设定的一个以上的限值确定基本流中已解码的部分发生错误的全部宏块,同时定义发生错误的全部宏块中的最前宏块为当前出错宏块,当前出错宏块所处的帧为当前出错帧;
(3)、判断当前出错帧是否为I帧,如果是,则根据由当前出错宏块的相邻宏块的预测模式计算得到的当前出错宏块的预测模式,对当前出错宏块进行空域插值或将前一帧同一位置上的宏块直接复制覆盖当前出错宏块,并执行步骤(4);如果不是,则继续判断当前出错帧是否为P帧或B帧,如果是P帧,则当当前出错P帧为镜头边缘时,根据由当前出错宏块的相邻宏块的预测模式计算得到的当前出错宏块的预测模式,对当前出错宏块进行空域插值,并执行步骤(4);当当前出错P帧不为镜头边缘时,对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用P跳过编码模式进行错误掩盖,并执行步骤(4);如果是B帧,则对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用B跳过编码模式进行错误掩盖,并执行步骤(4);
(4)、判断基本流是否解码完毕,如果不是,则返回执行步骤(1),如果是,则结束。
2.根据权利要求1所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的步骤(3)包括以下具体步骤:
(3a)、判断当前出错帧是否为I帧,如果是,则通过与当前出错宏块相邻的相邻宏块的预测模式计算当前出错宏块的预测模式PredC2,PredC2=Min(PredX1,…,PredXj,…,PredXS),其中,PredX1、PredXj、PredXs表示相邻宏块的预测模式,当只存在一个相邻宏块或不存在相邻宏块时,PredC2=Intra_8×8_DC,其中,Intra_8×8_DC表示当前出错宏块的帧内预测模式,并继续执行;否则,确定当前出错帧为P帧或B帧,并执行步骤(3c);
(3b)、判断当前出错I帧是否为AVS视频的第1帧,如果是,则根据步骤(3a)得到的预测模式PredC2对当前出错宏块进行空域插值,并执行所述的步骤(4);否则,判断前一帧同一位置上的宏块是否为大运动宏块,如果该宏块是大运动宏块,则根据步骤(3a)得到的预测模式PredC2对当前出错宏块进行空域插值,如果该宏块不是大运动宏块,则将前一帧同一位置上的宏块直接复制覆盖当前出错宏块,并执行所述的步骤(4);
(3c)、判断当前出错帧是否为P帧,如果是,则定义当前出错P帧中已解码的宏块中编码模式为帧内编码的宏块数IntraCount为:其中,Intra_Codt的值为0或1,当Intra_Codt=0时,表示第t个宏块的编码模式是帧间编码;当Intra_Codt=1时,表示第t个宏块的编码模式是帧内编码;R为当前出错P帧中已解码的宏块的个数,继续执行;否则,执行步骤(3e);
(3d)、当IntraCount>R/2时,表示当前出错P帧为镜头边缘,并采用与出错帧为I帧且为AVS视频第1帧时相同的方法处理,并执行所述的步骤(4);当IntraCount<R/2时,则对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用P跳过编码模式进行错误掩盖,并执行所述的步骤(4);
(3e)、对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用B跳过编码模式进行错误掩盖,并执行所述的步骤(4)。
3.根据权利要求1或2所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的步骤(1)中的所述的设定的检测条件包括无效码值、无效VLC值、运动矢量是否超出图像外界、量化信息是否越界、无效的DC系数、DCT系数是否越界、DCT系数个数是否超出64个以及条带层的第一个宏块是否在宏块行的首地址。
4.根据权利要求1或2所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的步骤(2)包括以下具体步骤:
①定义预测错误宏块的内部相关性AID(C1)为:其中,C1表示预测错误宏块,f(x,y)为预测错误宏块中位置为(x,y)的像素的像素值,N为预测错误宏块在垂直方向的块的数量,M为预测错误宏块在平方向的块的数量;
②定义预测错误宏块与与其相邻的一个相邻宏块之间的外部相关性AIDB(C1:Xj)为:其中,C1表示预测错误宏块,Xj表示与预测错误宏块相邻的一个相邻宏块,piin为预测错误宏块的内部边界的第i+1个像素的像素值,piout是预测错误宏块的外部边界的第i+1个像素的像素值,K为预测错误宏块的边界长度;
③根据步骤②得到预测错误宏块与所有相邻宏块之间的外部相关性AIDB(C1),其中,S为与预测错误宏块相邻的相邻宏块的个数,j为下标;
④根据得到的内部相关性和外部相关性对预测错误宏块所处的条带从预测错误宏块开始向前检测,并判断AID(C1)是否大于设定的第一门限值TH1,AIDB(C1)是否大于设定的第二门限值TH2,如果AID(C1)>TH1且AIDB(C1)>TH2,则确定基本流中发生错误的全部宏块,同时定义发生错误的全部宏块中的最前宏块为当前出错宏块,当前出错宏块所处的帧为当前出错帧。
5.根据权利要求4所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的第一门限值TH1和所述的第二门限值TH2均为可变值。
6.根据权利要求4所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的第一门限值TH1=16,所述的第二门限值TH2=26。
7.根据权利要求2所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的大运动宏块的判断方法为:定义待判断的宏块的运动矢量为(MVx,MVy),当MVx>THmv或MVy>THmv时,确定该宏块为大运动宏块;当MVx<THmv且MVy<THmv时,确定该宏块为小运动宏块;其中,THmv为运动矢量门限值,其值为8。
8.根据权利要求6所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的相邻宏块包括左边宏块和上边宏块。

说明书全文

技术领域

发明涉及一种视频解码的处理方法,尤其是涉及一种AVS(Audio Video CodingStandard,音视频编解码标准)视频解码的错误检测与掩盖方法。

背景技术

AVS(Audio Video Coding Standard,音视频编解码标准)是我国自主制定的音视频编解标准,可以广泛应用于各种音视频场合,支持卫星广播、地面广播、有线电视、IP(Internet Protocol,网际协议)网络等传输协议。在网络信道上(如ATM(AsynchronousTransfer Mode,异步传输模式),PSTN(Public Switched Telephone Network,公共开关电话网络),Internet等)传输AVS压缩码流过程中,往往存在低于10%的数据丢失或者误码。由于AVS采用了可变长码编码(VLC,Variable Length Codes),当出现误码时,很可能将错误扩散到整幅图像及其后续解码图像中,从而导致图像出现明显失真。因此,如何检测错误和减少由错误引起的图像失真成了一个迫切需要解决的问题。
现有的错误检测与掩盖方法主要针对的是H.26x、MPEG(Moving Pictures ExpertsGroup,动态图像专家组)-2、MPEG-4等国际标准。在错误检测方法上,主要有语法/语义检测方法和相关性检测方法,但这些方法的计算复杂度较高,可能引起解码器的中断延迟较长,如电子测量与仪器学报(2003(2):7-12)公开的MPEG-2视频图像错误分析与检测方法,该方法主要采用了五步检测法对错误进行分析和检测,取得了较为理想的检测效果,但该方法在错误检测过程中占用的时间较长,非常不利于应用在实时的解码器中。在错误掩盖方法上,主要是利用视频图像时间和空间上的相关性来恢复已损坏的图像,主要方法有:基于空域的错误掩盖方法、基于时域的错误掩盖方法和基于变换域(DCT(Discrete cosine Transform,离散余弦变换))的错误掩盖方法,这些方法在一定程度上掩盖了错误,但应用这些方法恢复的图像质量仍然不高,且其适应环境受限,局限性大。
而针对AVS视频解码的错误掩盖和恢复,只采用了简单的条带划分机制,该方法在错误很少或者错误不明显的情况下还能恢复,但是如果错误发生在多处,则该方法解码的图像效果就会比较差,不利于实际应用。同时,该方法的容错性能大大低于其他国际标准(如MPEG-4、AVC(Advanced Video coding,高等视频编码)/H.264)中采用的数据分割、复杂的FMO(Flexible Macroblock Ordering,灵活的宏排序)/ASO(ArbitrarySlice Ordering,任意条带排序)等宏块、条带组织机制、强制Intra块刷新编码等容错方法。

发明内容

本发明所要解决的技术问题是提供一种能够准确定位发生错误的宏块,并对出错的图像具有显著的恢复效果,同时不中断解码器,不影响解码器的实时解码速度的AVS视频解码的错误检测与掩盖方法
本发明解决上述技术问题所采用的技术方案为:一种AVS视频解码的错误检测与掩盖方法,AVS视频包括I帧、P帧和B帧,AVS视频基本流包括视频序列层、图像层、条带层、宏块层和块层,所述的视频序列层、所述的图像层和所述的条带层均设置有同步码,所述的条带层包括由多个宏块行组成的一个条带,所述的宏块行包括多个由多个块组成的宏块,在所述的AVS视频基本流中,所述的I帧、所述的P帧及所述的B帧三者的图像层的条带数和条带位置相同,该方法包括以下步骤:
(1)、利用公知的语法/语义错误检测方法,根据设定的检测条件对基本流中已解码的部分进行错误检测,如果检测到错误,则确定发生错误的宏块,并继续执行;如果未检测到错误,则对基本流中未解码的部分进行解码处理,并对基本流中已解码的部分重新进行错误检测;
(2)、定义预测错误宏块为步骤(1)中的发生错误的宏块的前一宏块,同时定义预测错误宏块的内部相关性及预测错误宏块与其相邻宏块之间的外部相关性,根据内部相关性和外部相关性对预测错误宏块所处的条带从预测错误宏块开始向前检测,并根据设定的一个以上的限值确定基本流中已解码的部分发生错误的全部宏块,同时定义发生错误的全部宏块中的最前宏块为当前出错宏块,当前出错宏块所处的帧为当前出错帧;
(3)、判断当前出错帧是否为I帧,如果是,则根据由当前出错宏块的相邻宏块的预测模式计算得到的当前出错宏块的预测模式,对当前出错宏块进行空域插值或将前一帧同一位置上的宏块直接复制覆盖当前出错宏块,并执行步骤(4);如果不是,则继续判断当前出错帧是否为P帧或B帧,如果是P帧,则当当前出错P帧为镜头边缘时,根据由当前出错宏块的相邻宏块的预测模式计算得到的当前出错宏块的预测模式,对当前出错宏块进行空域插值,并执行步骤(4);当当前出错P帧不为镜头边缘时,对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用P跳过编码模式进行错误掩盖,并执行步骤(4);如果是B帧,则对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用B跳过编码模式进行错误掩盖,并执行步骤(4);
(4)、判断基本流是否解码完毕,如果不是,则返回执行步骤(1),如果是,则结束。
所述的步骤(3)包括以下具体步骤:
(3a)、判断当前出错帧是否为I帧,如果是,则通过与当前出错宏块相邻的相邻宏块的预测模式计算当前出错宏块的预测模式PredC2,PredC2=Min(PredX1,…,PredXj,…,PredXS),其中,PredX1、PredXj、PredXs表示相邻宏块的预测模式,当只存在一个相邻宏块或不存在相邻宏块时,PredC2=Intra_8×8_DC,其中,Intra_8×8_DC表示当前出错宏块的帧内预测模式,并继续执行;否则,确定当前出错帧为P帧或B帧,并执行步骤(3c);
(3b)、判断当前出错I帧是否为AVS视频的第1帧,如果是,则根据步骤(3a)得到的预测模式PredC2对当前出错宏块进行空域插值,并执行所述的步骤(4);否则,判断前一帧同一位置上的宏块是否为大运动宏块,如果该宏块是大运动宏块,则根据步骤(3a)得到的预测模式PredC2对当前出错宏块进行空域插值,如果该宏块不是大运动宏块,则将前一帧同一位置上的宏块直接复制覆盖当前出错宏块,并执行所述的步骤(4)。
(3c)、判断当前出错帧是否为P帧,如果是,则定义当前出错P帧中已解码的宏块中编码模式为帧内编码的宏块数IntraCount为:IntraCount=Σt=1RIntra_Codt,其中,Intra_Codt的值为0或1,当Intra_Codt=0时,表示第t个宏块的编码模式是帧间编码;当Intra_Codt=1时,表示第t个宏块的编码模式是帧内编码;R为当前出错P帧中已解码的宏块的个数,继续执行;否则,执行步骤(3e);
(3d)、当IntraCount>R/2时,表示当前出错P帧为镜头边缘,并采用与出错帧为I帧且为AVS视频第1帧时相同的方法处理,并执行所述的步骤(4);当IntraCount<R/2时,则对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用P跳过编码模式进行错误掩盖,并执行所述的步骤(4);
(3e)、对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用B跳过编码模式进行错误掩盖,并执行所述的步骤(4)。
所述的步骤(1)中的所述的设定的检测条件包括无效码值、无效VLC值、运动矢量是否超出图像外界、量化信息是否越界、无效的DC(Direct Current,直流)系数、DCT(Discrete cosine Transform,离散余弦变换)系数是否越界、DCT系数个数是否超出64个以及条带层的第一个宏块是否在宏块行的首地址。
所述的步骤(2)包括以下具体步骤:
①定义预测错误宏块的内部相关性AID(C1)为:AID(C1)=Σy=0N-1Σx=1M-1|f(x,y)-f(x-1,y)|+Σx=0M-1Σy=1N-1|f(x,y)-f(x,y-1)|N×(M-1)+M×(N-1),其中,C1表示预测错误宏块,f(x,y)为预测错误宏块中位置为(x,y)的像素的像素值,N为预测错误宏块在垂直方向的块的数量,M为预测错误宏块在平方向的块的数量;
②定义预测错误宏块与与其相邻的一个相邻宏块之间的外部相关性AIDB(C1:Xj)为:AIDB(C1:Xj)=1K[Σi=0K-1|piin-piout|],其中,C1表示预测错误宏块,Xj表示与预测错误宏块相邻的一个相邻宏块,piin为预测错误宏块的内部边界的第i+1个像素的像素值,piout是预测错误宏块的外部边界的第i+1个像素的像素值,K为预测错误宏块的边界长度;
③根据步骤②得到预测错误宏块与所有相邻宏块之间的外部相关性AIDB(C1),AIDB(C1)=Σj=1SAIDB(C1:Xj)S,其中,S为与预测错误宏块相邻的相邻宏块的个数,j为下标;
④根据得到的内部相关性和外部相关性对预测错误宏块所处的条带从预测错误宏块开始向前检测,并判断AID(C1)是否大于设定的第一门限值TH1,AIDB(C1)是否大于设定的第二门限值TH2,如果AID(C1)>TH1且AIDB(C1)>TH2,则确定基本流中发生错误的全部宏块,同时定义发生错误的全部宏块中的最前宏块为当前出错宏块,当前出错宏块所处的帧为当前出错帧。
所述的第一门限值TH1和所述的第二门限值TH2均为可变值。
所述的第一门限值TH1=16,所述的第二门限值TH2=26。
所述的大运动宏块的判断方法为:定义待判断的宏块的运动矢量为(MVx,MVy),当MVx>THmv或MVy>THmv时,确定该宏块为大运动宏块;当MVx<THmv且MVy<THmv时,确定该宏块为小运动宏块;其中,THmv为运动矢量门限值,其值为8。
所述的相邻宏块包括左边宏块和上边宏块。
现有技术相比,本发明的优点在于通过语法/语义错误检测和相关性检测,能够准确的检测出发生错误的宏块,并通过利用前一正确解码帧的条带结构来控制当前出错帧进行错误掩盖,保证了图像的高质量恢复,同时避免了错误向下一个条带传递;本方法中对出错宏块处理的时间与正常解析宏块所处帧的码流所需的时间相当,使得在应用本方法时不中断解码器,不影响解码器的实时解码速度;与现有的五步检测法相比,本发明方法的检测速度较五步检测法快2-3倍;与现有的掩盖法相比,在同等情况下,虽然图像恢复的效果差不多,但运算复杂度明显降低,运算速度较现有的掩盖法快1-1.5倍;与AVS视频标准自带的条带掩盖算法相比,容错效果是其3-4倍;此外,该方法适合于大多数的实际视频处理应用场合,尤其对发生错误的但变化较为平缓的图像具有很好的恢复效果。
附图说明
图1为AVS视频基本流的组成结构示意图;
图2为本发明方法的流程图
图3为当前宏块的边界像素示意图;
图4为确定发生错误的宏块的过程示意图;
图5为发生错误的宏块的终止位置示意图;
图6为当前宏块与相邻宏块之间的关系示意图;
图7a为foreman序列的第7帧原图像;
图7b为对图8a的原图像进行10%的随机加错后的错误图像;
图7c为对图8b的错误图像进行错误掩盖后的图像;
图8a为akiyo序列的第7帧原图像;
图8b为对图9a的原图像进行10%的随机加错后的错误图像;
图8c为对图9b的错误图像进行错误掩盖后的图像;
图9为foreman序列的原图像、错误图像及掩盖错误后的图像的前10帧的每一帧的平均峰值信噪比的比较示意图;
图10为akiyo序列的原图像、错误图像及掩盖错误后的图像的前10帧的每一帧的平均峰值信噪比的比较示意图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。
一种AVS视频解码的错误检测与掩盖方法,AVS视频帧包括I帧、P帧和B帧,AVS视频基本流如图1所示,其包括视频序列层、图像层、条带层、宏块层和块层,块层中包含有编码该块所需的全部DCT系数,宏块层(宏块行)包括多个宏块,每个宏块包括多个块,条带层(一个条带)中包含有数据头和多个宏块行,图像层中包含有数据头和多个条带,条带必须从宏块行的第一个宏块开始,视频序列层中包含有数据头和图像,视频序列层、图像层和条带层均设置有同步码,当条带层中的某一宏块发生错误时可通过重定位至下一个同步码有效的避免错误的传递;在AVS视频基本流中I帧、P帧及B帧三者的图像层的条带数和条带位置相同,该方法如图2所示包括以下步骤:
(1)、利用公知的语法/语义错误检测方法,根据设定的检测条件对基本流中已解码的部分进行错误检测,如果检测到错误,则确定发生错误的宏块,并继续执行;如果未检测到错误,则对基本流中未解码的部分进行解码处理,并对基本流中已解码的部分(原已解码的部分与刚解码的部分)重新进行错误检测;本实施例中设定的检测条件包括无效码值(如条带的起始码等)、无效VLC值(CBP(code block pattern,宏块编码模板),MVD(Motion Vector Difference,运动矢量差),TCOEF(Transform Coefficient,转换系数)等)、运动矢量是否超出图像外界、量化信息是否越界、无效的DC系数、DCT系数是否越界、DCT系数个数是否超出64个以及条带层的第一个宏块是否在某宏块行的首地址等;
(2)、定义预测错误宏块为步骤(1)中的发生错误的宏块的前一宏块,同时定义预测错误宏块的内部相关性AID(Average Inter-sample Difference)及预测错误宏块与其相邻宏块之间的外部相关性AIDB(Average Inter-sample Difference across Boundary),根据内部相关性和外部相关性对预测错误宏块所处的条带从预测错误宏块开始向前检测,并根据设定的一个以上的门限值确定基本流中已解码的部分发生错误的全部宏块,如图4所示;同时定义发生错误的全部宏块中的最前宏块为当前出错宏块,当前出错宏块所处的帧为当前出错帧;
由于AVS视频编码采用的是VLC,并且宏块层和块层没有设置同步码,故当某一段基本流发生错误时,从该错误点开始到下一条带的起始位置为止这一段数据将被全部损坏,此时,解码器没有必要再解码这些错误的数据,而通过以下步骤对错误进行掩盖恢复,避免错误继续向下一个条带传递,如图5所示;
(3)、判断当前出错帧是否为I帧,如果是,则根据由当前出错宏块的相邻宏块的预测模式计算得到的当前出错宏块的预测模式对当前出错宏块进行空域插值或将前一帧同一位置上的宏块直接复制覆盖当前出错宏块,并执行步骤(4);如果不是,则继续判断当前出错帧是否为P帧或B帧,如果是P帧,则当当前出错P帧为镜头边缘时,根据由当前出错宏块的相邻宏块的预测模式计算得到的当前出错宏块的预测模式对当前出错宏块进行空域插值,并执行步骤(4);当当前出错P帧不为镜头边缘时,对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用P跳过编码模式进行错误掩盖,并执行步骤(4);如果是B帧,则对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用B跳过编码模式进行错误掩盖,并执行步骤(4);
本实施例中相邻宏块包括左边宏块和上边宏块;
其具体步骤如下:
(3a)、判断当前出错帧是否为I帧,如果是,则当与当前出错宏块相邻的左边宏块X1和上边宏块X2都存在时(如图6所示),通过左边宏块X1的预测模式PredX1和上边宏块X2的预测模式PredX2计算当前出错宏块的预测模式PredC2,PredC2=Min(PredX1,PredX2),当只存在一个相邻宏块(只存在左边宏块X1或上边宏块X2)或不存在相邻宏块(左边宏块X1和上边宏块X2都不存在)时,PredC2=Intra_8×8_DC,其中,Intra_8×8_DC表示当前8×8出错宏块的帧内预测模式,并继续执行;否则,确定当前出错帧为P帧或B帧,并执行步骤(3c);
本实施例中为了增加预测的准确性,当上边宏块X2属于上一个条带时,也认为它存在;
(3b)、判断当前出错I帧是否为AVS视频的第1帧,如果是,则根据步骤(3a)得到的预测模式PredC2对当前出错宏块进行空域插值,并执行步骤(4);否则,判断前一帧同一位置上的宏块是否为大运动宏块,如果该宏块是大运动宏块,则根据步骤(3a)得到的预测模式PredC2对当前出错宏块进行空域插值,如果该宏块不是大运动宏块,则将前一帧同一位置上的宏块直接复制覆盖当前出错宏块,并执行步骤(4);
定义待判断的宏块的运动矢量为(MVx,MVy),当MVx>THmv或MVy>THmv时,确定该宏块为大运动宏块;当MVx<THmv且MVy<THmv时,确定该宏块为小运动宏块;其中,THmv为运动矢量门限值,其值为8;AVS视频标准采用1/4精度预测,因此,可以认为当某宏块运动超过2个像素时,即THmv=8时,该宏块为大运动宏块;
(3c)、判断当前出错帧是否为P帧,如果是,则定义当前出错P帧中已解码的宏块中编码模式为帧内编码的宏块数IntraCount为:IntraCount=Σt=1RIntra_Codt,其中,Intra_Codt的值为0或1,当Intra_Codt=0时,表示第t个宏块的编码模式是帧间编码;当Intra_Codt=1时,表示第t个宏块的编码模式是帧内编码;R为当前出错P帧中已解码的宏块的个数,继续执行;否则,执行步骤(3e);
(3d)、当IntraCount>R/2时,表示当前出错P帧为镜头边缘,并采用与出错帧为I帧且为AVS视频流的第一帧时相同的方法处理,并执行步骤(4);当IntraCount<R/2时,则对当前出错宏块与下一个条带开始处的宏块之间的所有宏块采用P跳过编码模式进行错误掩盖,并执行步骤(4);
(3e)、对当前出错宏块与下一个条带开始处的宏块之间的所有宏块的编码模式采用B跳过编码模式进行错误掩盖,并执行步骤(4)。
(4)、判断基本流是否解码完毕,如果不是,返回执行步骤(1),如果是,则结束。
上述步骤中跳过模式是指当前宏块的前、后向运动矢量都是由后向参考图像相应位置块的运动矢量导出,无需传输运动矢量,当前宏块块的运动补偿的残差也均为零,即该模式下宏块只需要传输模式信号,而不需要传输运动矢量、补偿残差等附加信息,可以节省运动矢量的编码开销。
上述步骤(2)包括以下具体步骤:
①定义预测错误宏块的内部相关性AID(C1)为:AID(C1)=Σy=0N-1Σx=1M-1|f(x,y)-f(x-1,y)|+Σx=0M-1Σy=1N-1|f(x,y)-f(x,y-1)|N×(M-1)+M×(N-1),其中,C1表示预测错误宏块,f(x,y)为预测错误宏块中位置为(x,y)的像素的像素值,N为预测错误宏块在垂直方向的块的数量,M为预测错误宏块在水平方向的块的数量;
②定义预测错误宏块与与其相邻的一个相邻宏块之间的外部相关性AIDB(C1:Xj)为:AIDB(C1:Xj)=1K[Σi=0K-1|piin-piout|],其中,C1表示预测错误宏块,Xj表示与预测错误宏块相邻的一个相邻宏块,piin为预测错误宏块的内部边界的第i+1个像素的像素值,piout是预测错误宏块的外部边界的第i+1个像素的像素值,K为预测错误宏块的边界长度;预测错误宏块的内部边界和外部边界像素如图3所示;
③根据步骤②得到预测错误宏块与所有相邻宏块之间的外部相关性AIDB(C1),AIDB(C1)=Σj=1SAIDB(C1:Xj)S,其中,S为与预测错误宏块相邻的相邻宏块的个数,j为下标;本实施例中预测错误宏块的相邻宏块包括左边宏块A和上边宏块B,则它们之间的外部相关性为AIDB(C)=AIDB(C:A)+AIDB(C:B)2;
④根据得到的内部相关性和外部相关性对预测错误宏块所处的条带从预测错误宏块开始向前检测,并判断AID(C1)是否大于设定的第一门限值TH1,AIDB(C1)是否大于设定的第二门限值TH2,如果AID(C1)>TH1且AIDB(C1)>TH2,则确定基本流中发生错误的全部宏块,同时定义发生错误的全部宏块中的最前宏块为当前出错宏块,当前出错宏块所处的帧为当前出错帧;第一门限值TH1和第二门限值TH2均为可变值,通过对经典码流序列foreman和akiyo进行压缩实验,实验时参数设置为:每条带包含4个宏块行,参考帧数目为2帧,带B帧,其余为默认参数,然后对压缩后的码流按不同比率进行随机错误干扰并进行错误检测。检测结果表明,当第一门限值TH1设定为16,第二门限值TH2设定为26时,检测的结果是比较理想的。
下面以利用本发明方法对经典序列foreman的第7帧(如图7a所示)和akiyo的第7帧(如图8a所示)进行处理为例评价本发明方法,这两幅图像的大小均为352×288。首先用AVS视频参考编码器rm52f对foreman和akiyo序列进行压缩,参数设置为:每个条带包含4个宏块,参考帧数目为2帧,带B帧,其余参数默认;然后对压缩后的码流模拟在Internet传输的情况,对码流按不同比率进行随机错误干扰,错误类型包括单比特、多比特误码和数据丢失,本例中对两序列分别进行10%的随机加错后,分别如图7b和图8b所示;最后采用基于PNX1500 DSP的实时解码器对错误码流进行检测和掩盖,对掩盖处理后的foreman图像和akiyo图像分别如图7c和图8c所示。
分别计算foreman序列的原图像、错误图像和掩盖错误后的图像的每一帧的PSNRavr(平均峰值信噪比),图9给出了foreman在10%的误码下前10帧图像的每一帧的PSNRavr(平均峰值信噪比);分别计算akiyo序列的原图像、错误图像和掩盖错误后的图像的每一帧的PSNRavr(平均峰值信噪比),图10给出了akiyo在10%的误码下前10帧图像的每一帧的PSNRavr;从图9和图10中可以看出本发明方法对错误的且变化比较平缓的图像具有很好的恢复效果,与未进行掩盖错误前(错误图像)相比,掩盖错误后平均每帧图像约提高4-6dB。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈