CN101304538A - Avs视频解码的错误检测与掩盖方法 - Google Patents

Avs视频解码的错误检测与掩盖方法 Download PDF

Info

Publication number
CN101304538A
CN101304538A CN 200810063554 CN200810063554A CN101304538A CN 101304538 A CN101304538 A CN 101304538A CN 200810063554 CN200810063554 CN 200810063554 CN 200810063554 A CN200810063554 A CN 200810063554A CN 101304538 A CN101304538 A CN 101304538A
Authority
CN
China
Prior art keywords
macro block
frame
error
current
prediction error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200810063554
Other languages
English (en)
Other versions
CN101304538B (zh
Inventor
杨文勇
黄晁
谢亮
郑从卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NINGBO ZHONGKE IC DESIGN CENTER CO Ltd
Original Assignee
NINGBO ZHONGKE IC DESIGN CENTER CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NINGBO ZHONGKE IC DESIGN CENTER CO Ltd filed Critical NINGBO ZHONGKE IC DESIGN CENTER CO Ltd
Priority to CN 200810063554 priority Critical patent/CN101304538B/zh
Publication of CN101304538A publication Critical patent/CN101304538A/zh
Application granted granted Critical
Publication of CN101304538B publication Critical patent/CN101304538B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

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

Description

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 = 1 R Intra _ Co d t , 其中,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 ( C 1 ) = Σ y = 0 N - 1 Σ x = 1 M - 1 | f ( x , y ) - f ( x - 1 , y ) | + Σ x = 0 M - 1 Σ y = 1 N - 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 ( C 1 : X j ) = 1 K [ Σ i = 0 K - 1 | p i in - p i out | ] , 其中,C1表示预测错误宏块,Xj表示与预测错误宏块相邻的一个相邻宏块,pi in为预测错误宏块的内部边界的第i+1个像素的像素值,pi out是预测错误宏块的外部边界的第i+1个像素的像素值,K为预测错误宏块的边界长度;
③根据步骤②得到预测错误宏块与所有相邻宏块之间的外部相关性AIDB(C1), AIDB ( C 1 ) = Σ j = 1 S AIDB ( C 1 : X j ) 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 = 1 R Intra _ Co d t , 其中,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 ( C 1 ) = Σ y = 0 N - 1 Σ x = 1 M - 1 | f ( x , y ) - f ( x - 1 , y ) | + Σ x = 0 M - 1 Σ y = 1 N - 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 ( C 1 : X j ) = 1 K [ Σ i = 0 K - 1 | p i in - p i out | ] , 其中,C1表示预测错误宏块,Xj表示与预测错误宏块相邻的一个相邻宏块,pi in为预测错误宏块的内部边界的第i+1个像素的像素值,pi out是预测错误宏块的外部边界的第i+1个像素的像素值,K为预测错误宏块的边界长度;预测错误宏块的内部边界和外部边界像素如图3所示;
③根据步骤②得到预测错误宏块与所有相邻宏块之间的外部相关性AIDB(C1), AIDB ( C 1 ) = Σ j = 1 S AIDB ( C 1 : X j ) 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所示;最后采用基于PNX1500DSP的实时解码器对错误码流进行检测和掩盖,对掩盖处理后的foreman图像和akiyo图像分别如图7c和图8c所示。
分别计算foreman序列的原图像、错误图像和掩盖错误后的图像的每一帧的PSNRavr(平均峰值信噪比),图9给出了foreman在10%的误码下前10帧图像的每一帧的PSNRavr(平均峰值信噪比);分别计算akiyo序列的原图像、错误图像和掩盖错误后的图像的每一帧的PSNRavr(平均峰值信噪比),图10给出了akiyo在10%的误码下前10帧图像的每一帧的PSNRavr;从图9和图10中可以看出本发明方法对错误的且变化比较平缓的图像具有很好的恢复效果,与未进行掩盖错误前(错误图像)相比,掩盖错误后平均每帧图像约提高4-6dB。

Claims (8)

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为: IntraCount = Σ t = 1 R Intra _ Co d t , 其中,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)为:
AID ( C 1 ) = Σ y = 0 N - 1 Σ x = 1 M - 1 | f ( x , y ) - f ( x - 1 , y ) | + Σ x = 0 M - 1 Σ y = 1 N - 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 ( C 1 : X j ) = 1 K [ Σ i = 0 K - 1 | p i in - p i out | ] , 其中,C1表示预测错误宏块,Xj表示与预测错误宏块相邻的一个相邻宏块,pi in为预测错误宏块的内部边界的第i+1个像素的像素值,pi out是预测错误宏块的外部边界的第i+1个像素的像素值,K为预测错误宏块的边界长度;
③根据步骤②得到预测错误宏块与所有相邻宏块之间的外部相关性AIDB(C1), AIDB ( C 1 ) = Σ j = 1 S AIDB ( C 1 : X j ) S , 其中,S为与预测错误宏块相邻的相邻宏块的个数,j为下标;
④根据得到的内部相关性和外部相关性对预测错误宏块所处的条带从预测错误宏块开始向前检测,并判断AID(C1)是否大于设定的第一门限值TH1,AIDB(C1)是否大于设定的第二门限值TH2,如果AID(C1)>TH1且AIDB(C1)>TH2,则确定基本流中发生错误的全部宏块,同时定义发生错误的全部宏块中的最前宏块为当前出错宏块,当前出错宏块所处的帧为当前出错帧。
5、根据权利要求4所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的第一门限值TH1和所述的第二门限值TH2均为可变值。
6、根据权利要求5所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的第一门限值TH1=16,所述的第二门限值TH2=26。
7、根据权利要求6所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的大运动宏块的判断方法为:定义待判断的宏块的运动矢量为(MVx,MVy),当MVx>THmv或MVy>THmv时,确定该宏块为大运动宏块;当MVx<THmv且MVy<THmv时,确定该宏块为小运动宏块;其中,THmv为运动矢量门限值,其值为8。
8、根据权利要求6所述的AVS视频解码的错误检测与掩盖方法,其特征在于所述的相邻宏块包括左边宏块和上边宏块。
CN 200810063554 2008-06-19 2008-06-19 Avs视频解码的错误检测与掩盖方法 Expired - Fee Related CN101304538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810063554 CN101304538B (zh) 2008-06-19 2008-06-19 Avs视频解码的错误检测与掩盖方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810063554 CN101304538B (zh) 2008-06-19 2008-06-19 Avs视频解码的错误检测与掩盖方法

Publications (2)

Publication Number Publication Date
CN101304538A true CN101304538A (zh) 2008-11-12
CN101304538B CN101304538B (zh) 2010-07-28

Family

ID=40114208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810063554 Expired - Fee Related CN101304538B (zh) 2008-06-19 2008-06-19 Avs视频解码的错误检测与掩盖方法

Country Status (1)

Country Link
CN (1) CN101304538B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888562A (zh) * 2010-06-30 2010-11-17 中兴通讯股份有限公司 一种提高视频解码图像质量的方法及解码器
CN101692712B (zh) * 2009-10-19 2011-02-02 浙江大学 基于信道状态和视觉感知边信息的错误掩盖方法
CN102104782A (zh) * 2011-03-30 2011-06-22 武汉大学 一种适用于avs-p2视频编码标准的解码端错误隐藏方法
CN102469315A (zh) * 2010-11-16 2012-05-23 联芯科技有限公司 Mpeg-4视频码流的错误恢复方法和装置
CN104202611A (zh) * 2014-09-01 2014-12-10 赛特斯信息科技股份有限公司 基于视频解码器实现视频文件中花屏缺陷检测的方法
CN105992012A (zh) * 2015-02-17 2016-10-05 中兴通讯股份有限公司 一种错误隐藏的方法和装置
CN106559397A (zh) * 2015-09-30 2017-04-05 联芯科技有限公司 Volte视频电话的图像错误恢复方法、装置和视频引擎
CN108235150A (zh) * 2018-01-03 2018-06-29 厦门亿联网络技术股份有限公司 一种网络传输特性友好的实时图像自适应恢复系统及方法
CN108737832A (zh) * 2018-05-28 2018-11-02 安徽维德工业自动化有限公司 一种基于视频解码器的视频缺陷检测系统及其方法
CN109788300A (zh) * 2018-12-28 2019-05-21 芯原微电子(北京)有限公司 一种hevc解码器中的错误检测方法和装置
CN110036642A (zh) * 2016-12-07 2019-07-19 索尼半导体解决方案公司 图像处理设备和方法
CN112954371A (zh) * 2019-12-10 2021-06-11 德科仕通信(上海)有限公司 直播内容es特征码提取方法及直播内容一致性比对方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692712B (zh) * 2009-10-19 2011-02-02 浙江大学 基于信道状态和视觉感知边信息的错误掩盖方法
CN101888562A (zh) * 2010-06-30 2010-11-17 中兴通讯股份有限公司 一种提高视频解码图像质量的方法及解码器
WO2012000379A1 (zh) * 2010-06-30 2012-01-05 中兴通讯股份有限公司 一种提高视频解码图像质量的方法及解码器
CN101888562B (zh) * 2010-06-30 2014-03-19 中兴通讯股份有限公司 一种提高视频解码图像质量的方法及解码器
CN102469315A (zh) * 2010-11-16 2012-05-23 联芯科技有限公司 Mpeg-4视频码流的错误恢复方法和装置
CN102469315B (zh) * 2010-11-16 2013-12-04 联芯科技有限公司 Mpeg-4视频码流的错误恢复方法和装置
CN102104782A (zh) * 2011-03-30 2011-06-22 武汉大学 一种适用于avs-p2视频编码标准的解码端错误隐藏方法
CN104202611A (zh) * 2014-09-01 2014-12-10 赛特斯信息科技股份有限公司 基于视频解码器实现视频文件中花屏缺陷检测的方法
CN105992012A (zh) * 2015-02-17 2016-10-05 中兴通讯股份有限公司 一种错误隐藏的方法和装置
CN105992012B (zh) * 2015-02-17 2020-09-15 中兴通讯股份有限公司 一种错误隐藏的方法和装置
CN106559397A (zh) * 2015-09-30 2017-04-05 联芯科技有限公司 Volte视频电话的图像错误恢复方法、装置和视频引擎
CN110036642A (zh) * 2016-12-07 2019-07-19 索尼半导体解决方案公司 图像处理设备和方法
CN108235150A (zh) * 2018-01-03 2018-06-29 厦门亿联网络技术股份有限公司 一种网络传输特性友好的实时图像自适应恢复系统及方法
CN108737832A (zh) * 2018-05-28 2018-11-02 安徽维德工业自动化有限公司 一种基于视频解码器的视频缺陷检测系统及其方法
CN109788300A (zh) * 2018-12-28 2019-05-21 芯原微电子(北京)有限公司 一种hevc解码器中的错误检测方法和装置
CN112954371A (zh) * 2019-12-10 2021-06-11 德科仕通信(上海)有限公司 直播内容es特征码提取方法及直播内容一致性比对方法

Also Published As

Publication number Publication date
CN101304538B (zh) 2010-07-28

Similar Documents

Publication Publication Date Title
CN101304538B (zh) Avs视频解码的错误检测与掩盖方法
US7146056B2 (en) Efficient spatial scalable compression schemes
Apostolopoulos Error-resilient video compression through the use of multiple states
US7710454B2 (en) Video bit stream test
US9042439B2 (en) Reference frame ordering for multi-view coding
Apostolopoulos Error-resilient video compression via multiple state streams
US20030012286A1 (en) Method and device for suspecting errors and recovering macroblock data in video coding
US20060133475A1 (en) Video coding
EP1222823A1 (en) Video communication using multiple streams
JP2004531925A (ja) 圧縮されたビデオビットストリームにおける冗長な動きベクトルを符号化し復号するシステム及び方法
KR20000050599A (ko) 오류 은폐방법
CN101313580A (zh) 使用内容信息安排多媒体转码的内容驱动转码器
JP3519441B2 (ja) 動画像伝送装置
CN102223544B (zh) 一种h264视频码流检测到错误后处理错误的方法
CN1302668C (zh) 一种隐藏错误的视频译码方法
US20070223578A1 (en) Motion Estimation and Segmentation for Video Data
JP4081103B2 (ja) 動画像符号化装置
KR100587274B1 (ko) 엠펙­2 압축복원시스템에서의 오류 은폐방법
JP4432582B2 (ja) 動画像情報復元装置、動画像情報復元方法、動画像情報復元プログラム
KR100203281B1 (ko) 강제적 한방향 운동보상에 근거한 동화상 복호화장치
JP2002325259A (ja) 誤り補正に基づいてデジタル画像を符号化する方法
CN112422970A (zh) 图像编码方法及装置
JPH05103313A (ja) 画像情報処理方法及び装置
KR20030033123A (ko) 주변 화소의 표본들을 이용한 에러 은닉 장치 및 방법
Hui et al. An efficient error concealment algorithm for intra-frames of H. 264

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100728

Termination date: 20140619

EXPY Termination of patent right or utility model