一种错误遮蔽方法和通信设备与流程

文档序号:11807848阅读:175来源:国知局
一种错误遮蔽方法和通信设备与流程
本发明涉及通信技术领域,特别涉及错误遮蔽方法和通信设备。

背景技术:
压缩视频流在网络信道中传输的时候,会受到各种信道噪声的影响,发生误码或丢包的现象,为了提高视频码流的抗干扰性,提高发生丢包后视频的质量,必须引入错误恢复机制,目前使用错误遮蔽(ErrorConcealment,EC)来重建丢失信息,具体地,错误遮蔽方法分为预处理错误遮蔽方法、后处理错误遮蔽方法和交互式错误遮蔽方法,其中:后处理错误遮蔽方法主要包括空域错误遮蔽方法和时域错误遮蔽方法,空域错误遮蔽方法主要利用了视频序列的空间相关性,具体是根据帧内已解码的相邻宏块且利用空间插值算法来估计出当前丢失宏块的像素值,恢复丢失宏块;时域错误遮蔽方法主要利用了视频序列的帧间相关性,具体是先估计出丢失宏块可能的运动矢量,再采用匹配算法选取参考帧中最佳匹配宏块代替当前丢失的宏块。由于后处理错误遮蔽方法工作在解码端,不需要增加额外的码流开销,在视频数据的错误恢复中得到了广泛的应用。具体地,现有一种后处理错误遮蔽方法为边界匹配方法,比如块匹配算法(BlockMatchingAlgorithm,BMA),具体地,解码端会基于重建宏块与周边宏块运动矢量的相关性和边界上的平滑性,用候选运动矢量从参考帧中重建丢失宏块,使得边界上亮度改变最小即边界失真最小。但是如果传输的内容物体出现旋转或视频角度发生偏移时,在使用现有的后处理错误遮蔽方法比如BMA恢复的图像后,会出现图像中物体边缘斜街不流畅的现象。

技术实现要素:
本发明实施例提供一种错误遮蔽方法和通信设备,提高了进行恢复后的图像中物理边缘斜街的流畅性。本发明实施例提供一种错误遮蔽方法,包括:选择最佳参考宏块的像素作为当前帧的图像中丢失宏块的像素;确定所述当前帧中的多个平行四边形,所述平行四边形由所述丢失宏块 的一条定边,经移动后的所述定边的对边,及所述定边与移动后对边相对端点的连线组成;所述连线上所贯穿的像素点个数与所述丢失宏块中除所述定边和对边之外的另一边所贯穿的像素点个数相同;在所述多个平行四边形中选择一个平行四边形所包括的像素作为所述丢失宏块的像素。本发明实施例提供一种通信设备,包括:最佳选择单元,用于选择最佳参考宏块的像素作为当前帧的图像中丢失宏块的像素;四边形确定单元,用于确定所述当前帧中的多个平行四边形,所述平行四边形由所述丢失宏块的一条定边,经移动后的所述定边的对边,及所述定边与移动后对边相对端点的连线组成;所述连线上所贯穿的像素点个数与所述丢失宏块中除所述定边和对边之外的另一边所贯穿的像素点个数相同;像素选择单元,用于在所述四边形确定单元确定的多个平行四边形中选择一个平行四边形所包括的像素作为所述丢失宏块的像素。本发明实施例的后处理错误遮蔽方法中,解码端可以先确定丢失宏块的像素后,再确定丢失宏块在旋转后的多个平行四边形,最后再从多个平行四边形中选择一个平行四边形的像素作为丢失宏块,从而恢复出丢失宏块。由于在错误遮蔽过程中,考虑到传输图像的旋转因素,和现有技术中只通过边界匹配算法来恢复丢失宏块的方法相比,本发明实施例中可以提高进行恢复后的图像中物理边缘斜街的流畅性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种错误遮蔽方法的流程图;图2是本发明实施例中确定多个平行四边形的示意图;图3是本发明实施例提供的另一种错误遮蔽方法的流程图;图4是本发明实施例中扫描宏块的示意图;图5是本发明实施例提供的一种通信设备的结构示意图;图6是本发明实施例提供的一种通信设备的结构示意图;图7是本发明实施例提供的一种通信设备的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种错误遮蔽方法,主要是在解码端所执行的后处理错误遮蔽方法,其中解码端是可以传输视频图像的任意通信设备,流程图如图1所示,包括:步骤101,选择最佳参考宏块的像素作为当前帧的图像中丢失宏块的像素。可以理解,解码端在接收到图像数据并进行解码后,如果解码后的一帧图像中有丢失宏块,则需要先对按照边界匹配算法比如BMA算法在参考帧中选择最佳参考宏块,例如,可以在前一帧的图像所包括的多个参考宏块中选择一个与丢失宏块周围宏块(比如上、下、左和右方宏块)的边界像素差别最小的一个参考宏块为最佳参考宏块。这里宏块是图像像素点的单位,比如一个宏块可以包括16*16个像素点,每一帧图像可以包括多个宏块。步骤102,确定当前帧中的多个平行四边形,该平行四边形由丢失宏块的一条定边,经移动后的定边的对边,及定边与移动后对边相对端点的两个连线组成;每个连线上所贯穿的像素点个数与丢失宏块中除定边和对边之外的另一边所贯穿的像素点个数相同。参考图2所示,假设丢失宏块为n*n(n为大于1的正整数)的像素单元,将丢失宏块的一条边作为定边A,该定边A的对边B可以在(-n,n)的范围内以N(可以设置N为1、2、4或8等)个像素点为步长进行移动,则相当于丢失宏块进行了45°到135°的变形旋转。在这个过程中,对边B每次移动后,定边A、移动后的对边B、及定边A和移动后的对边B的相对端点的连线(如图中的虚线所示)就会形成一个平行四边形,例如,在图2中,当对边B向上移动 (移动方向如图2中虚线箭头所示)后,定边A,移动后的对边B,定边A的端点a1与移动后的对边B的相对端点b1的连线,及定边A的端点a2与移动后的对边B的相对端点b2的连线形成平行四边形。需要说明的是,在对边B的移动过程中,定边A与移动后对边B相对端点的连线所贯穿的像素点个数需要与丢失宏块另一边C所惯用的像素点个数相同,在图2中都为n个像素点。其中该另一边C是丢失宏块中除定边A和对边B之外的另一边,这样对边B每次移动后形成的平行四边形的面积都与丢失宏块的面积相同。步骤103,在多个平行四边形中选择一个平行四边形所包括的像素作为丢失宏块的像素。当解码端通过步骤102得到多个平行四边形后,每个平行四边形所包括的像素点都不同,解码端可以根据如步骤101中所述的边界匹配算法来选择一个最佳的平行四边形所包括的像素作为丢失宏块的像素,从而恢复出丢失宏块的内容。例如:选择边界像素与丢失宏块周围宏块的界面像素相差最小的一个平行四边形。需要说明的是,上述步骤101到103是只是对一个丢失宏块进行恢复的方法,某一个帧的图像中每个丢失宏块的错误遮蔽都可以按照步骤101到103来执行。可见,本发明实施例的后处理错误遮蔽方法中,解码端可以先通过步骤101中的边界匹配算法后,再根据步骤102确定丢失宏块在旋转后的平行四边形,最后根据平行四边形的像素再次进行边界匹配算法从而恢复出丢失宏块,由于在错误遮蔽过程中,考虑到传输图像的旋转因素,和现有技术中只通过边界匹配算法来恢复丢失宏块的方法相比,本发明实施例中可以提高进行恢复后的图像中物理边缘斜街的流畅性。参考图3所示,在一个具体的实施例中,解码端可以通过对每一帧图像中所包括的宏块进行状态标记,标记为正确、错误或已遮蔽的状态,从而方便对宏块的管理,具体地:104:解码端对当前帧中所包括的宏块进行逐个扫描,若扫描的某一宏块的状态为错误,且扫描的宏块四周的任一宏块(上、下、左或右方宏块)的 状态不是错误时,则执行步骤选择最佳参考宏块、确定多个平行四边形和选择平行四边形的步骤,即执行上述步骤101到103;若扫描的宏块的状态为错误,且扫描的宏块四周的任一宏块的状态都为错误时,说明该宏块周围的宏块都已丢失,无法进行错误遮蔽,则继续扫描下一个宏块;若扫描的宏块的状态为已遮蔽,则执行确定多个平行四边形和选择平行四边形的步骤,即执行上述步骤102到103。其中在执行完步骤101后,解码端可以执行步骤105,并在执行完步骤103后,解码端可以执行步骤106。可以理解,当解码端对接收的图像数据进行解码时,需要对解码后的图像中的宏块进行状态标记,将解码正确的宏块标记为正确的状态,将传输过程中丢失的宏块标记为错误的状态。解码端在完成解码过程后,进入对丢失宏块进行错误遮蔽的过程,具体地:解码端可以先对某一帧图像中所包括的宏块进行扫描,即确定宏块的信息比如宏块的状态和包括的像素,还可以确定宏块的运动矢量等信息,如果扫描的宏块状态为错误并且该宏块周围的任一宏块的状态不为错误时,则需要对该错误的宏块执行上述步骤101到103,并在这个过程中修改该宏块的状态。其中解码端可以并行地对多个丢失宏块进行的错误遮蔽的处理。为了使得对一帧图像中的每个丢失宏块都进行恢复,解码端需要对某一帧图像的宏块进行多次扫描,并在扫描后按照本发明实施例中的方法进行错误遮蔽,其中对某一帧图像的扫描次数需要小于或等于预置的值。需要说明的是,解码端在扫描宏块时,可以按照行或列并以从四周到中心的顺序进行扫描,从而则以从四周到中心的顺序对丢失宏块进行错误遮蔽,由于人眼比较关注图像的中心内容,并向两边注意力减弱,因此采用先遮蔽四周再遮蔽中心的宏块,能获得更好的遮蔽效果。例如图4所示,解码端按照列从两边列的宏块到中心列的宏块进行扫描,即以第1列宏块、第6列宏块、第2列宏块、第5列宏块.....的顺序进行扫描,如图中标号的箭头所示。步骤105,将丢失宏块的状态修改为已遮蔽。步骤106,将丢失宏块的状态修改为正确。在另一个具体的实施例中,解码端在执行上述步骤101时,可以按照边界 像素匹配算法来执行,具体包括如下步骤:A1:根据预置的丢失宏块对应的多个候选运动矢量(MotionVector,MV)分别确定前一帧图像中对应的多个参考宏块。在本发明实施例中,解码端可以为每个状态为错误的宏块(即丢失宏块)建立一张对应的运动矢量的表,这些运动矢量可以包括:前一帧图像中与丢失宏块对应位置宏块的运动矢量,丢失宏块的上、下、左和右方宏块的运动矢量平均值,丢失宏块的上、下、左和右方宏块的运动矢量中间值的平均值,及丢失宏块的上方宏块、下方宏块、左方宏块和右方宏块的运动矢量,0及丢失宏块的运动矢量初始值等。其中将一帧图像分成若干宏块,并确定每个宏块在邻近帧图像中的位置,得出的该宏块在该帧图像的位置与在邻近帧图像的位置的相对偏移量即为运动矢量。则解码端根据丢失宏块在当前帧图像中的位置及每个运动矢量能得到在前一帧图像中相应位置的宏块即参考宏块。B1:将多个参考宏块的像素分别作为丢失宏块的像素,并分别计算丢失宏块的边界像素与周围宏块的边界像素的差值。在计算该差值时可以使用平均绝对差分法(meanabsolutedeviation,MAD)进行计算,具体地,对于一个宏块来说,先分别计算宏块每条边所贯穿的像素值和与所述边相邻宏块的边界像素值的差值,并将计算的差值进行平均得到一个宏块的MAD值,其中,如果没有与宏块的某一条边相邻的宏块,或相邻的宏块的状态为错误,则不对该条边进行计算。C1:选择边界像素的差值最小的参考宏块作为最佳参考宏块。通过上述步骤B的计算,解码端得到了多个参考宏块对应的差值,则将差值最小的参考宏块作为最佳参考宏块。且在本实施例中,当解码端在执行步骤102时,具体可以将丢失宏块中与邻近宏块的边界像素差值最小的一条边作为平行四边形的定边,从而考虑边界像素差值最大的一条边的旋转。解码端在执行上述步骤103时,可以按照边界像素匹配算法来执行,具体包括如下步骤:A2:将分别将当前帧图像中每个平行四边形所包括的像素作为丢失宏块 的像素,并分别计算丢失宏块的边界像素与周围宏块的边界像素的差值,具体地,可以按照上述步骤B1中所述计算平行四边形的MAD值。B2:选择边界像素的差值最小的平行四边形的像素作为丢失宏块的像素。当解码端执行完步骤103后,丢失宏块的运动矢量也确定了,解码端可以对根据丢失宏块的像素更新在解码端预置的丢失宏块与对应的候选运动矢量的对应关系,具体地,由于已经恢复出该丢失宏块,需要删除该恢复出的丢失宏块与候选运动矢量的对应关系,且还需要对该恢复出的丢失宏块周围的错误状态宏块对应的候选运动矢量进行更新,比如,更新该丢失宏块的右方宏块对应的运动矢量中,左方宏块的运动矢量等。在其它具体的实施例中,解码端在按照上述步骤A1到C1进行一轮的选择最佳参考宏块,并根据最佳参考宏块恢复丢失宏块后,丢失宏块的运动矢量也就确定了,解码端可以先更新预置的丢失宏块与候选运动矢量的对应关系,并根据更新后的对应关系再执行上述步骤A1到C1,即执行另一轮选择最佳参考宏块的步骤。则解码端在执行上述步骤102之前,可以执行多次上述步骤101,即循环多次进行选择最佳参考宏块的步骤,在这个过程中,如果当前一轮选择的最佳参考宏块与上一轮选择的最佳参考宏块相同时,说明确定的丢失宏块的运动矢量已经稳定,即可执行上述步骤102和103;如果当前一轮选择的最佳参考宏块与上一轮选择的最佳参考宏块不相同时,还需要继续执行上述步骤101,直到连续两轮选择的最佳参考宏块相同之后,才执行上述步骤102和103。本发明实施例中还提供一种通信设备即上述的解码端,结构示意图如图5所示,包括:最佳选择单元10,用于选择最佳参考宏块的像素作为当前帧的图像中丢失宏块的像素;四边形确定单元11,用于确定所述当前帧中的多个平行四边形,所述平行四边形由所述丢失宏块的一条定边,经移动后的所述定边的对边,及所述定边与移动后对边相对端点的连线组成;所述连线上所贯穿的像素点个数与所述丢失宏块中除所述定边和对边之外的另一边所贯穿的像素点个数相同;像素选择单元12,用于在所述四边形确定单元11确定的多个平行四边形 中选择一个平行四边形所包括的像素作为所述丢失宏块的像素。本发明实施例的解码端中,可以先由最佳选择单元10确定丢失宏块的像素为最佳参考宏块的像素后,再由四边形确定单元11确定丢失宏块在旋转后的多个平行四边形,最后像素选择单元12从多个平行四边形中选择一个平行四边形的像素作为丢失宏块,从而恢复出丢失宏块。由于在错误遮蔽过程中,解码端考虑到传输图像的旋转因素,和现有技术中只通过边界匹配算法来恢复丢失宏块的方法相比,可以提高进行恢复后的图像中物理边缘斜街的流畅性。参考图6所示,在一个具体的实施例中,通信设备除了可以如图5所示的结构外,还可以包括:状态更新单元13和扫描单元14,且像素选择单元12可以通过差值计算单元120和选择单元121来实现,其中:状态更新单元13,用于修改丢失宏块的状态修改为已遮蔽或正确。扫描单元14,用于对所述当前帧中所包括的宏块进行扫描,若扫描的宏块的状态为错误,且所述扫描的宏块四周的任一宏块的状态不是错误时,通知所述最佳选择单元10选择最佳参考宏块;若扫描的宏块的状态为已遮蔽,则通知所述四边形确定单元11确定多个平行四边形。具体地,扫描单元14可以按照行或列且以从四周到中心的顺序,对所述当前帧中所包括的宏块进行扫描。差值计算单元120,用于将所述当前帧图像中所述四边形确定单元11确定的平行四边形所包括的像素作为所述丢失宏块的像素,并计算所述丢失宏块的边界像素与周围宏块的边界像素的差值;选择单元121,用于选择所述差值计算单元120计算的边界像素的差值最小的平行四边形的像素作为所述丢失宏块的像素。本实施例的通信设备中,扫描单元14可以对当前帧图像的宏块进行逐个扫描具体地,获得每个宏块的状态等信息,如果扫描的宏块的状态为已遮蔽,则通知四边形确定单元11确定多个平行四边形;如果扫描的宏块的状态为错误,且所述扫描的宏块四周的任一宏块的状态不是错误时,通知最佳选择单元10选择最佳参考宏块,如果扫描的宏块的状态为错误,且其四周的任一宏块的状态都为错误时,则扫描单元14继续扫描下一个宏块。本实施例中,通过最佳选择单元10初步确定丢失宏块的像素后,可以由状态更新单元13将该丢失宏块的状态改为已遮蔽,且四边形确定单元11开始确定多个平行四边形,并由像素选择单元12中的差值计算单元120计算平行四边形对应的边界像素差值,选择单元121在多个平行四边形中选择一个平行四边形的像素作为丢失宏块的最终像素后,状态更新单元13可以将该丢失宏块的状态改为正确。本实施例的解码端的各个单元可以按照如图3所示的方法流程图对丢失宏块进行错误遮蔽,在此不进行赘述。参考图7所示,在一个具体的实施例中,通信设备除了可以如图5所示的结构外,还可以包括:对应关系更新单元15和宏块比较单元16,且最佳选择单元10可以通过参考宏块确定单元110、参考差值计算单元210和参考选择单元310来实现,其中:参考宏块确定单元110,用于根据预置的所述丢失宏块对应的多个候选运动矢量分别确定前一帧图像中对应的多个参考宏块,其中一个丢失宏块对应的多个候选运动矢量可以包括:所述前一帧图像中与所述丢失宏块对应位置宏块的运动矢量,所述丢失宏块的上、下、左和右方宏块的运动矢量平均值,所述丢失宏块的上、下、左和右方宏块的运动矢量中间值的平均值,和所述丢失宏块的上方宏块、下方宏块、左方宏块和右方宏块的运动矢量。参考差值计算单元210,用于将所述参考宏块确定单元110确定的参考宏块的像素作为所述丢失宏块的像素,并计算所述丢失宏块的边界像素与周围宏块的边界像素的差值。参考选择单元310,用于选择所述参考差值计算单元210计算的边界像素的差值最小的参考宏块作为最佳参考宏块。对应关系更新单元15,用于根据所述丢失宏块的像素更新预置的丢失宏块与对应的候选运动矢量的对应关系。本实施例的通信设备中,最佳选择单元10中的参考宏块确定单元110先确定多个参考宏块,由参考差值计算单元210计算参考宏块对应的边界像素差值,并由参考选择单元310选择一个最佳参考宏块的像素作为丢失宏块的像素,从而最初确定了丢失宏块的像素;由四边形确定单元11确定多个平行四边形,其中平行四边形中的定边可以为参考差值计算单元210计算的丢失宏块 中与邻近宏块的边界像素差值最小的一条边;最后由像素选择单元12在多个平行四边形中选择一个平行四边形的像素作为丢失宏块的像素。其中当像素选择单元12在确定丢失宏块的像素,或最佳选择单元10中的参考选择单元310确定丢失宏块的像素后,都可以由对应关系更新单元15来更新丢失宏块与候选运动矢量的对应关系。另外,最佳选择单元10中的参考宏块确定单元110、参考差值计算单元210和参考选择单元310可以进行多轮的选择最佳参考宏块,当最佳选择单元10根据对应关系更新单元15更新的对应关系循环进行选择最佳参考宏块的过程中,可以由宏块比较单元16判断所述参考选择单元310在当前一轮选择的最佳参考宏块与所述参考选择单元310在上一轮选择的最佳参考宏块是否相同,如果是,则通知四边形确定单元11确定多个平行四边形,如果不是,则继续由最佳选择单元10来进行另一轮的最佳参考宏块的选择。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。以上对本发明实施例所提供的错误遮蔽方法及通信设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1