专利名称:基于自适应块尺寸的整帧错误掩盖方法
技术领域:
本发明涉及视频监控技术,特别涉及一种基于自适应块尺寸的整帧错误掩盖方 法。
背景技术:
移动视频监控通过移动网络和移动终端为手机用户传送视频内容,用户可通过手 机实时观看监控地点。它不但具备传统监控行业的所有功能,还能够同时做到多端录像存 储备份,实时短信报警,并把抓拍到的报警画面随即传送到用户手机上,便于及时处理突发 事件。对于移动视频监控而言,由于移动网络可用的带宽资源有限,编码时视频帧的画 面尺寸较小,编码后的数据帧常常被压缩到单个数据包中发送。如果这个数据包在传输过 程中发生丢失,则意味着整个视频帧视频图像的丢失;由于受到帧间预测误码扩散的影响, 数据包丢失时视频质量将会严重恶化,此时在解码端进行视频帧错误掩盖显得尤为重要。现有一种视频帧错误掩盖方法是帧拷贝方法,其将前一帧对应块的数据拷贝到当 前帧中,然而该方法对于运动区域会产生较大的失真。现有的另一种视频帧错误掩盖方法是运动矢量拷贝方法,其将H. 264编码视频流 的丢失块(宏块、8x8子块或4x4子块)的运动矢量假定为前一帧对应丢失块的运动矢量, 通过运动补偿恢复丢失的数据,然而该方法对非勻速运动或不规则运动的视频序列掩盖效
果较差。现有的再一种视频帧错误掩盖方法是运动矢量外推方法,即将前一帧丢失块一 8x8子块根据其运动矢量外推到丢失帧,统计所有外推块与丢失块重叠区域的面积,通过比 较重叠区域的大小评判各个外推块与丢失块的相关程度,选择重叠区域最大的外推块的运 动矢量为丢失块的运动矢量,得到补偿块以实现错误掩盖,该方法是基于相邻视频序列运 动连续性这一前提条件提出的,然而运动连续性这个前提条件并不总是成立,当运动场发 生急剧变化时,该方法常常会造成丢失块中的部分像素被多个外推块所覆盖,即重叠问题, 而另外部分像素却没有被任何外推块所覆盖,即遮挡问题,这些都将影响该运动矢量外推 方法的掩盖效果。另外,上述现有的三种视频帧错误掩盖方法对所有的视频序列固定采用统一的块 尺寸进行错误掩盖,导致重建的图像存在明显方块效应或无法恢复细致运动的缺点,不能 为用户提供高的客观质量和主观视觉效果。因此,有必要提供一种改进的错误掩盖方法来克服现有技术的缺陷。
发明内容
本发明的目的是提供一种基于自适应块尺寸的整帧错误掩盖方法,可以解决移动 视频监控中当视频帧发生丢失时,现有视频帧错误掩盖方法重建图像存在明显方块效应和 无法恢复细致运动的缺点,可为用户提供更高的客观质量和主观视觉效果,并克服第一种现有方法对于运动区域会产生较大的失真的问题、第二种现有方法对非勻速运动或不规则 运动的视频序列掩盖效果较差的问题、以及第三种现有方法产生的重叠问题以及遮挡问 题。为了实现上述目的,本发明提供了一种基于自适应块尺寸的整帧错误掩盖方法, 包括如下步骤包括如下步骤(1)根据丢失帧的前一帧与下一帧的编码类型,以及所述前 一帧的4x4子块的4x4子块和下一帧的4x4子块分别外推到所述丢失帧时所述前一帧的所 有外推块与所述丢失帧重叠区域的面积和所述下一帧的所有外推块与所述丢失帧重叠区 域的面积,选择前向或后向运动矢量外推方向;(2)将在前一帧或下一帧中与丢失帧的丢 失宏块处于相同位置的宏块空间相邻的邻域宏块沿着选择的运动矢量外推方向外推到所 述丢失宏块,得到外推宏块,根据外推宏块与所述丢失宏块重叠区域的个数、重叠区域的面 积以及外推宏块运动矢量之间的相近程度,选择16x16块尺寸进行掩盖或将所述丢失宏块 划分为4个8x8块尺寸进行掩盖或者跳过所述丢失宏块。在本发明的一个实施例中,所述步骤(1)具体为(11)当丢失帧的前一帧为帧内 编码帧、下一帧为帧间编码帧时,选取后向运动矢量外推方向;(12)当丢失帧的前一帧为 帧间编码帧、下一帧为帧内编码帧时,选取前向运动矢量外推方向;(13)当丢失帧的前一 帧为帧间编码帧、下一帧为帧间编码帧时,分别将前一帧的4x4子块和下一帧的4x4子块根 据自身的运动信息外推到所述丢失帧的丢失4x4子块,统计所述前一帧的所有外推块与所 述丢失帧重叠区域的面积以及所述下一帧的所有外推块与所述丢失帧重叠区域的面积,根 据最大重叠区域面积对应的前一帧或下一帧确定运动矢量外推方向。在本发明的另一实施例中,所述步骤(2)中选择16x16块尺寸进行掩盖或将所述 丢失宏块划分为4个8x8块尺寸进行掩盖或者跳过所述丢失宏块具体为(21)当重叠区域 为一个、重叠区域面积最大值为零时,跳过所述丢失宏块;(22)当重叠区域为一个、重叠区 域面积最大值大于第一宏块阀值时,将所述丢失宏块以16x16块尺寸进行掩盖,所述丢失 宏块的运动矢量为最大重叠区域面积对应的外推宏块的运动矢量;(23)当重叠区域为多 个,多个重叠区域面积之和大于第二宏块阀值,且所有外推宏块的运动矢量相近时,将所述 丢失宏块以16x16块尺寸进行掩盖,所述丢失宏块的运动矢量为所有外推宏块的运动矢量 的加权平均;(24)当重叠区域为多个,多个重叠区域面积之和大于第二宏块阀值,且所有 外推宏块的运动矢量不相近时,将所述丢失宏块划分为4个8x8子块分别进行掩盖。在本发明的又一实施例中,所述方法还包括(3)对于按8x8块尺寸进行掩盖的丢 失8x8子块,将在前一帧或下一帧中与其处于相同位置的8x8子块空间相邻的邻域8x8子 块沿着选择的运动矢量外推方向外推到所述丢失8x8子块,得到外推8x8子块,根据外推 8x8子块与所述丢失8x8子块重叠区域的个数、重叠区域的面积和外推8x8子块运动矢量之 间的相近程度,选择8x8块尺寸进行掩盖或将所述丢失8x8子块进一步划分为4个4x4块 尺寸进行掩盖或跳过所述丢失8x8子块。在本发明的再一实施例中,所述步骤(3)中选择8x8块尺寸进行掩盖或将所述丢 失8x8子块进一步划分为4个4x4块尺寸进行掩盖或者跳过所述丢失8x8子块具体为(31) 当重叠区域为一个、重叠区域面积最大值为零时,跳过所述丢失8x8子块;(32)当重叠区域 为一个、重叠区域面积最大值大于第一 8x8子块阀值时,将所述丢失8x8子块以8x8子块尺 寸进行掩盖,所述丢失8x8子块的运动矢量为最大重叠区域面积对应的外推8x8子块的运动矢量;(33)当重叠区域为多个,多个重叠区域面积之和大于第二 8x8子块阀值时,且所有 外推8x8子块的运动矢量相近时,将所述丢失8x8子块以8x8子块尺寸进行掩盖,所述丢失 8x8子块的运动矢量为所有外推8x8子块运动矢量的加权平均;(34)当重叠区域为多个,多 个重叠区域面积之和大于第二宏块阀值,且所有外推8x8子块的运动矢量不相近时,将所 述丢失8x8子块划分为4个4x4块分别进行掩盖。在本发明的又一实施例中,所述方法还包括(4)对于按4x4块尺寸进行掩盖的丢 失4x4子块,将在前一帧或下一帧中与其处于相同位置的8x8子块空间相邻的邻域4x4子 块沿着选择的运动矢量外推方向外推到所述丢失4x4子块,得到外推4x4子块,根据外推 4x4子块与所述丢失4x4子块重叠区域的个数、重叠区域的面积和外推4x4子块运动矢量之 间的相近程度,选择4x4块尺寸进行掩盖或者跳过所述丢失4x4子块。在本发明的再一实施例中,所述步骤(4)中选择4x4块尺寸进行掩盖或者跳过所 述丢失4x4子块具体为(41)当重叠区域为一个、重叠区域面积最大值为零时,跳过所述丢 失4x4子块;(42)当重叠区域为一个、重叠区域面积最大值大于第一 4x4子块阀值时,将所 述丢失4x4子块以4x4子块尺寸进行掩盖,所述丢失4x4子块的运动矢量为最大重叠区域 面积对应的外推4x4子块的运动矢量;(43)当重叠区域为多个,多个重叠区域面积之和大 于第二 4x4子块阀值,且所有外推4x4子块的运动矢量相近时,将所述丢失4x4子块以4x4 子块尺寸进行掩盖,所述丢失4x4子块的运动矢量为所有外推4x4子块运动矢量的加权平 均;(44)当重叠区域为多个,多个重叠区域面积之和大于第二 4x4子块阀值,且所有外推 4x4子块的运动矢量不相近时,跳过所述丢失4x4子块。在本发明的又一实施例中,所述运动矢量相近和运动矢量不相近的判断步骤具体 为当两个运动矢量之间的差值小于预置阀值时,两个运动矢量相近;当两个运动矢量之 间的差值不小于预置阀值时,两个运动矢量不相近。在本发明的再一实施例中,所述方法还包括(5)对于所述跳过的丢失宏块、丢失 8x8子块或丢失4x4子块,根据已恢复掩盖的丢失宏块、丢失8x8子块或丢失4x4子块的运 动矢量,利用边界匹配方法行错误掩盖。在本发明的又一实施例中,所述步骤(5)具体为(51)将前一帧邻域块的运动矢 量、前一帧邻域块的运动矢量的均值矢量和中值矢量、已掩盖的当前帧中邻域块的运动矢 量、已掩盖的当前帧中邻域块的运动矢量的均值矢量和中值矢量、零矢量组成候选矢量集; (52)对所述候选矢量集中的每个运动矢量,用该运动矢量指向的参考块作为丢失块的替代 块,并计算所述替代块的边界像素与当前帧中邻域块的边界像素的差值;(53)将替代块的 边界像素与邻域块的边界像素差值最小的运动矢量确定为丢失块最佳的运动矢量,在参考 帧中由该运动矢量得到运动补偿块,,从而完成丢失块的错误掩盖。。与现有技术相比,本发明基于自适应块尺寸的整帧错误掩盖方法具有如下优点1)对所有的视频序列采用自适应块尺寸进行错误掩盖,可恢复具有细致运动特征 的视频,在重建图像时能减轻方块效应,对丢失的视频帧能进行有效恢复,可得到较高质量 的客观和主观效果;2)有效地抑制了误码扩散;3)运算复杂度适中,具有广泛的实用性。4)能克服第一种现有方法对于运动区域会产生较大的失真的问题、第二种现有方法对非勻速运动或不规则运动的视频序列掩盖效果较差的问题、以及第三种现有方法产生 的重叠问题以及遮挡问题。通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明 的实施例。
图1为本发明基于自适应块尺寸的整帧错误掩盖方法的流程图。图2为图1所示基于自适应块尺寸的整帧错误掩盖方法中帧、宏块、8x8子块和 4x4子块位置关系图。图3a为图1所示基于自适应块尺寸的整帧错误掩盖方法中前向运动矢量外推的 示意图。图3b为图1所示基于自适应块尺寸的整帧错误掩盖方法中后向运动矢量外推的 示意图。图4为图1所示基于自适应块尺寸的整帧错误掩盖方法中宏块运动矢量外推示意 图。图5为图1所示基于自适应块尺寸的整帧错误掩盖方法中8x8子块运动矢量外推 示意图。图6为图1所示基于自适应块尺寸的整帧错误掩盖方法中4x4子块运动矢量外推 示意图。
具体实施例方式现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。图2为本实施例基于自适应块尺寸的整帧错误掩盖方法中宏块、8x8子块和4x4子 块位置关系图。如图2所示,fn表示丢失帧n,它由宏块辟tf6组成,每个宏块辟tf6包括4个 8x8子块鄉8,每个8x8子块钱8 Λ包括4个4x4子块K4,。其中,i16和]_16标识了宏块飧f在 帧fn中以宏块为单位的坐标,i8和j8标识了 8x8子块钱8 Λ在帧fn中以8x8子块为单位的 坐标,i4和j4标识了 4x4子块辨;/4在帧fn中以4x4子块为单位的坐标。宏块辟tf、8x8子块 攻,和4x4子块辨;/4的运动矢量分别表示为Mf="、Mr8HnM<,。下面说明本实施例基于自适应块尺寸的整帧错误掩盖方法。如图1,所述方法包括 如下步骤步骤Si,当整帧丢失时,根据丢失帧fn的前一帧。与下一帧fn+1的编码类型,以 及所述前一帧。的4x4子块攻么和下一帧fn+1的4x4子块攻二分别外推到所述丢失帧fn 时所述前一帧f^的所有外推块与所述丢失帧4重叠区域的面积和所述下一帧fn+1的所有 外推块与所述丢失帧fn重叠区域的面积,选择前向或后向运动矢量外推方向。对于视频序 列,前一帧和下一帧fn+1与丢失帧fn的相关程度并不完全相同,特别是当场景发生变化 时,丢失帧fn往往只与其中的一帧相关性较强,为保证运动的连续性,掩盖时需要选取与丢 失帧fn相关性较强的帧来进行运动矢量外推,本步骤Sl先选择与丢失帧fn相关性较强的 前一帧。或下一帧fn+1,进而确定选择前向运动矢量外推(将前一帧。外推到丢失帧fn)或后向运动矢量外推(将下一帧fn+1外推到丢失帧fn)。下面的步骤以选定的运动矢量外 推方向为前向运动矢量外推方向为例,给出本实施例自适应块尺寸整帧错误掩盖的实现步 骤,运动矢量外推方向为后向运动矢量外推方向的自适应块尺寸整帧错误掩盖实现步骤与 前向运动矢量外推方向时的掩盖步骤类似,不再重复。步骤S2,如图4,对于丢失帧fn的丢失宏块所6%Λ%将在前一帧fn_i中与其处于相 同位置的宏块所纟^空间相邻(上下左右相邻)的邻域宏块辟1力沿着步骤Si选定的运动 矢量外推方向外推到所述丢失宏块辑=16,得到外推宏块^fi1Ij6 (邻域宏块Α 所属的16 个4x4子块民^的外推4x4子块i^it (图4右边所示虚线框)构成邻域宏块Α 的外推 宏块EB1k^,外推宏块ES4fc^的运动矢量为外推4x4子块的运动矢量加权平均),根据 邻域宏块砣☆的外推宏块视念,与所述丢失宏块殁,重叠区域的个数(斜线框表示重叠 区域)、重叠区域的面积以及外推宏块运动矢量之间的相近程度,选择16x16块尺寸 进行掩盖或将所述丢失宏块辑=16划分为4个8x8块尺寸进行掩盖或者跳过所述丢失宏块 步骤S3,如图5,对于步骤S2选定的按8x8块尺寸进行掩盖的丢失8x8子块坎J8 ,将在前一帧fy中与其处于相同位置的8x8子块钱8 么空间相邻(上下左右相邻)的邻域 8x8子块S^i81沿着步骤Sl选择的运动矢量外推方向外推到所述丢失8x8子块钱8 Λ,得到外 推8x8子块(邻域8x8子块极么所属的4个4x4子块对么的外推4x4子块賦, !4 (图 5右边所示虚线框)构成邻域8x8子块S^i81的外推8x8子块%外推8x8子块8的运 动矢量为外推4x4子块的运动矢量加权平均),根据邻域8x8子块S^i81的外推8x8子 块EB8k^与所述丢失8x8子块钱8 Λ重叠区域的个数(斜线框表示重叠区域)、重叠区域的面 积和外推8x8子块运动矢量之间的相近程度,选择8x8块尺寸进行掩盖或将所述丢失 8x8子块钱8 Λ进一步划分为4个4x4块尺寸进行掩盖或跳过所述丢失8x8子块钱8 Λ ;步骤S4,如图6,对于步骤S3选定的按4x4块尺寸进行掩盖的丢失4x4子块辨;/4 ,将在前一帧fy中与其处于相同位置的4x4子块攻^的空间相邻(上下左右相邻)的邻 域4x4子块民^沿着步骤Sl选定的运动矢量外推方向外推到所述丢失4x4子块辨广,得到 外推4x4子块賦, !4 (图6右边所示虚线框),根据邻域4x4子块民^的外推4x4子块賦, !4 与所述丢失4x4子块辨;/4重叠区域的个数(斜线框表示重叠区域)、重叠区域的面积和外推 4x4子块运动矢量之间的相近程度,选择4x4块尺寸进行掩盖或跳过所述丢失4x4子 块观·74。由上述技术方案可知,本实施例基于自适应块尺寸的整帧错误掩盖方法具有如下 优点1)对所有的视频序列,根据视频序列的特点自适应采用16x16块尺寸、8x8块尺寸 和4x4块尺寸进行错误掩盖,可恢复具有细致运动特征的视频,在重建图像时能减轻方块 效应,对丢失的视频帧能进行有效恢复,可得到较高质量的客观和主观效果;2)由于有效地恢复了丢失帧,因此,丢失帧之后的视频帧可充分利用丢失帧的恢复值进行解码重建,避免了丢失帧对后续帧的影响,从而有效地抑制了误码扩散;3)运算复杂度适中,具有广泛的实用性;4)由于避免了针对不同视频序列采用固定块尺寸恢复运动矢量的不足,可准确 恢复丢失块的运行矢量,因此能克服第一种现有方法对于运动区域会产生较大的失真的问 题、第二种现有方法对非勻速运动或不规则运动的视频序列掩盖效果较差的问题、以及第 三种现有方法产生的重叠问题以及遮挡问题。较佳地,所述步骤Sl具体为步骤S11,当丢失帧fn的前一帧fn_i为帧内编码帧、下一帧fn+1为帧间编码帧时 (此时只有下一帧fn+1的运动信息可用),选取后向运动矢量外推方向;前一帧f^内的邻 域4x4子块民4^1步骤S12,当丢失帧4的前一帧fn_i为帧间编码帧、下一帧fn+1为帧内编码帧时(此 时只有前一帧fn的运动信息可用),选取前向运动矢量外推方向;步骤S13,当丢失帧4的前一帧fn_i为帧间编码帧、下一帧fn+1为帧间编码帧时(此 时前一帧fn-i和下一帧fn+1的运动信息均可用),如图3a和图3b所示,分别将前一帧fn_i中 的4x4子块民^和下一帧fn+1中的4x4子块民^根据自身的运动信息外推到丢失帧fn的丢 失4x4字块民^4,得到外推4x4子块賦, !4 (图3a和图3b右边所示虚线框),统计所述前一 帧fy的所有外推块与所述丢失帧4重叠区域的面积(图3a和图3b中的斜线框表示重叠 区域)以及所述下一帧fn+1的所有外推块与所述丢失帧fn重叠区域的面积,最大重叠区域 面积对应的前一帧f^或下一帧fn+1为与丢失帧fn相关程度较高的帧,根据相关程度较高 的帧确定运动矢量外推方向,即若所述前一帧f^的所有外推块与所述丢失帧fn重叠区域 的面积大于所述下一帧fn+1的所有外推块与所述丢失帧fn重叠区域的面积,则所述前一帧 fM为与丢失帧fn相关程度较高的帧,此时选择前向运动矢量外推方向,反之选择后向运动 矢量外推方向(图3a和图3b中,箭头代表运动矢量,虚线框代表外推4x4子块)。注意,当丢失帧fn的前一帧fn_i为帧内编码帧、下一帧fn+1为帧内编码帧时,这种 情况发生的概率极小,因此不予考虑。其中,所述步骤S2中,选择16x16块尺寸进行掩盖或将所述丢失宏块辑=16划分为 4个8x8块尺寸进行掩盖或者跳过所述丢失宏块所66,具体为步骤S21,当重叠区域为一个、重叠区域面积最大值为零时(表明丢失宏块所U16和 所有外推宏块^fi1Ij6均无重叠区域),跳过所述丢失宏块所U16 ;步骤S22,当重叠区域为一个、重叠区域面积最大值大于第一宏块阀值Ti^16时(表 明丢失宏块所G16和其中一个外推宏块的运动轨迹相似),将所述丢失宏块所G16以16x16块 尺寸进行掩盖,所述丢失宏块所二16的运动矢量为最大重叠区域面积对应的外推宏块的运动
矢量;步骤S23,当重叠区域为多个,多个重叠区域面积之和大于第二宏块阀值Hf6 (其 中,=^m11J,且所有外推宏块的运动矢量相近时,将所述丢失宏块#6:,以16x16块
尺寸进行掩盖,所述丢失宏块辑=16的运动矢量为所有外推宏块的运动矢量的加权平均;步骤S24,当重叠区域为多个,多个重叠区域面积之和大于第二宏块阀值Tif6,且所有外推宏块的运动矢量不相近时(表明丢失宏块所二16包含多个对象的运动),将所述丢 失宏块辑=16划分为4个8x8块尺寸分别进行掩盖。其中,所述步骤S3中,选择丢失8x8块钱8 Λ尺寸或将所述丢失8x8子块钱8 Λ进一步 划分为4个4x4块尺寸进行掩盖或跳过所述丢失8x8子块钱8 Λ具体为步骤S31,当重叠区域为一个、重叠区域面积最大值为零时,跳过所述丢失8x8子 块钱8 Λ ;步骤S32,当重叠区域为一个、重叠区域面积最大值大于第一 8x8子块阀值^^时 (表明丢失8x8子块钱8 Λ和其中一个外推8x8子块的运动轨迹相似),将所述丢失8x8子块 想8以8x8子块尺寸进行掩盖,所述丢失8x8子块钱8 Λ的运动矢量为最大重叠区域面积对应 的外推8x8子块的运动矢量;步骤S33,当重叠区域为多个,多个重叠区域面积之和大于第二 8x8子块阀值Τ /82
(其中,m82 = Y3THl),且所有外推8x8子块的运动矢量相近时,将所述丢失8x8子块
以8x8子块尺寸进行掩盖,所述丢失8x8子块钱8 Λ运动矢量为所有外推8x8子块运动矢量的 加权平均;步骤S34,当重叠区域为多个,多个重叠区域面积之和大于第二宏块阀值Τ /82,且 所有外推8x8子块的运动矢量不相近时(表明丢失8x8子块钱8 Λ包含多个对象的运动),将 所述丢失8x8子块钱8 Λ划分为4个4x4块分别进行掩盖。其中,所述步骤S4中,选择4x4子块进行掩盖或者跳过所述丢失4x4子块辨;/4具 体为步骤S41,当重叠区域为一个、重叠区域面积最大值为零时,跳过所述丢失4x4子
块^;;/4 ;步骤S42,当重叠区域为一个、重叠区域面积最大值大于第一 4x4子块阀值Γ/。时 (表明丢失4x4子块辨;/4和其中一个外推4x4子块的运动轨迹相似),将所述丢失4x4子块 辨;/4以4x4子块尺寸进行掩盖,所述丢失4x4子块辨;/4的运动矢量为最大重叠区域面积对应 的外推4x4子块的运动矢量;步骤S43,当重叠区域为多个,多个重叠区域面积之和大于第二 4x4子块阀值Τ /42
(其中,m42 =),且所有外推4x4子块的运动矢量相近时,将所述丢失4x4子块5=4
以4x4子块尺寸进行掩盖,所述丢失4x4子块辨;/4的运动矢量为所有外推4x4子块运动矢 量的加权平均;步骤S44,当重叠区域为多个,多个重叠区域面积之和大于第二 4x4子块阀值Τ /42, 且所有外推4x4子块的运动矢量不相近时(表明所述丢失4x4子块辨;/4包含多个对象的运 动),跳过所述丢失4x4子块辨;/4。其中,所述运动矢量相近和运动矢量不相近的判断步骤具体为当两个运动矢量之间的差值小于预置阀值时,两个运动矢量相近;当两个运动矢量之间的差值不小于预置阀值时,两个运动矢量不相近。
另外,本方法还包括步骤步骤S5,对上述步骤S21,S31和S41跳过处理的丢失宏块、8x8子块和4x4子块, 根据已恢复的丢失宏块、4x4子块、8x8子块的运动信息,利用边界匹配方法进行错误掩盖, 以保证恢复图像的宏块边界、8x8子块或4x4子块处的平滑连接,具体为步骤S51,将前一帧邻域块的运动矢量、前一帧邻域块的运动矢量的均值矢量和中 值矢量、已掩盖的当前帧中邻域块的运动矢量、已掩盖的当前帧中邻域块的运动矢量的均 值矢量和中值矢量、零矢量组成候选矢量集;步骤S52,对所述候选矢量集中的每个运动矢量,用该运动矢量指向的参考块作为 丢失块的替代块,并计算所述替代块的边界像素与当前帧中邻域块的边界像素的差值;步骤S53,基于相邻块的边界像素差值越小,图像像素越平滑的理论,将替代块的 边界像素与邻域块的边界像素差值最小的运动矢量确定为丢失块最佳的运动矢量,得到丢 失块的运动矢量后,在参考帧中由该运动矢量得到运动补偿块,补偿替代块即为丢失块的 恢复值,从而完成丢失块的错误掩盖。由上可知,本方法将相邻帧的4x4子块外推到丢失帧,统计所有外推4x4子块与丢 失帧重叠区域的面积,并结合相邻帧的编码类型,选择合适的运动矢量外推方向。对于丢失 宏块,将相邻帧的运动信息沿着选定的方向外推到丢失宏块,根据外推宏块与丢失宏块重 叠区域的大小和外推宏块运动矢量的相近程度,选择16x16块尺寸或将宏块划分为4个8x8 块尺寸进行掩盖或者跳过丢失宏块的处理。对于8x8子块,同理可以选择8x8块尺寸或将 8x8子块进一步划分为4个4x4块尺寸进行掩盖或跳过丢失8x8子块的处理。对于丢失4x4 子块,同理可以选择4x4块尺寸进行掩盖或跳过丢失4x4子块的处理。选择合适的宏块、8x8子块、4x4子块尺寸后,得到相应的运动矢量,然后在参考帧 中根据该运动矢量得到补偿替代块,补偿替代块即为丢失块的恢复值,从而完成对丢失块 的错误掩盖。对于上述过程中跳过的宏块、8x8子块、4x4子块,根据已恢复掩盖的4x4子块、8x8 子块或宏块的运动信息并采用外边界匹配算法掩盖。以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施 例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
权利要求
一种基于自适应块尺寸的整帧错误掩盖方法,包括如下步骤(1)根据丢失帧的前一帧与下一帧的编码类型,以及所述前一帧的4x4子块的4x4子块和下一帧的4x4子块分别外推到所述丢失帧时所述前一帧的所有外推块与所述丢失帧重叠区域的面积和所述下一帧的外推块与所述丢失帧重叠区域的面积,选择前向或后向运动矢量外推方向;(2)将在前一帧或下一帧中与丢失帧的丢失宏块处于相同位置的宏块空间相邻的邻域宏块沿着选择的运动矢量外推方向外推到所述丢失宏块,得到外推宏块,根据外推宏块与所述丢失宏块重叠区域的个数、重叠区域的面积以及外推宏块运动矢量之间的相近程度,选择16x16块尺寸进行掩盖或将所述丢失宏块划分为4个8x8块尺寸进行掩盖或者跳过所述丢失宏块。
2.如权利要求1所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于,所述步 骤⑴具体为(11)当丢失帧的前一帧为帧内编码帧、下一帧为帧间编码帧时,选取后向运动矢量外 推方向;(12)当丢失帧的前一帧为帧间编码帧、下一帧为帧内编码帧时,选取前向运动矢量外 推方向;(13)当丢失帧的前一帧为帧间编码帧、下一帧为帧间编码帧时,分别将前一帧的4x4 子块和下一帧的4x4子块根据自身的运动信息外推到所述丢失帧的丢失4x4子块,统计所 述前一帧的所有外推块与所述丢失帧重叠区域的面积以及所述下一帧的所有外推块与所 述丢失帧重叠区域的面积,根据最大重叠区域面积对应的前一帧或下一帧确定运动矢量外 推方向。
3.如权利要求1所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于,所述步 骤(2)中选择16x16块尺寸进行掩盖或将所述丢失宏块划分为4个8x8块尺寸进行掩盖或 者跳过所述丢失宏块具体为(21)当重叠区域为一个、重叠区域面积最大值为零时,跳过所述丢失宏块;(22)当重叠区域为一个、重叠区域面积最大值大于第一宏块阀值时,将所述丢失宏块 以16x16块尺寸进行掩盖,所述丢失宏块的运动矢量为最大重叠区域面积对应的外推宏块 的运动矢量;(23)当重叠区域为多个,多个重叠区域面积之和大于第二宏块阀值,且所有外推宏块 的运动矢量相近时,将所述丢失宏块以16x16块尺寸进行掩盖,所述丢失宏块的运动矢量 为所有外推宏块的运动矢量的加权平均;(24)当重叠区域为多个,多个重叠区域面积之和大于第二宏块阀值,且所有外推宏块 的运动矢量不相近时,将所述丢失宏块划分为4个8x8子块分别进行掩盖。
4.如权利要求1所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于,还包括(3)对于按8x8块尺寸进行掩盖的丢失8x8子块,将在前一帧或下一帧中与其处于相 同位置的8x8子块空间相邻的邻域8x8子块沿着选择的运动矢量外推方向外推到所述丢失 8x8子块,得到外推8x8子块,根据外推8x8子块与所述丢失8x8子块重叠区域的个数、重叠 区域的面积和外推8x8子块运动矢量之间的相近程度,选择8x8块尺寸进行掩盖或将所述 丢失8x8子块进一步划分为4个4x4块尺寸进行掩盖或跳过所述丢失8x8子块。
5.如权利要求4所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于,所述步 骤(3)中选择8x8块尺寸进行掩盖或将所述丢失8x8子块进一步划分为4个4x4块尺寸进 行掩盖或者跳过所述丢失8x8子块具体为(31)当重叠区域为一个、重叠区域面积最大值为零时,跳过所述丢失8x8子块;(32)当重叠区域为一个、重叠区域面积最大值大于第一8x8子块阀值时,将所述丢失 8x8子块以8x8子块尺寸进行掩盖,所述丢失8x8子块的运动矢量为最大重叠区域面积对应 的外推8x8子块的运动矢量;(33)当重叠区域为多个,多个重叠区域面积之和大于第二8x8子块阀值时,且所有外 推8x8子块的运动矢量相近时,将所述丢失8x8子块以8x8子块尺寸进行掩盖,所述丢失 8x8子块的运动矢量为所有外推8x8子块运动矢量的加权平均;(34)当重叠区域为多个,多个重叠区域面积之和大于第二宏块阀值,且所有外推8x8 子块的运动矢量不相近时,将所述丢失8x8子块划分为4个4x4块分别进行掩盖。
6.如权利要求4所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于,还包括(4)对于按4x4块尺寸进行掩盖的丢失4x4子块,将在前一帧或下一帧中与其处于相 同位置的8x8子块空间相邻的邻域4x4子块沿着选择的运动矢量外推方向外推到所述丢失 4x4子块,得到外推4x4子块,根据外推4x4子块与所述丢失4x4子块重叠区域的个数、重叠 区域的面积和外推4x4子块运动矢量之间的相近程度,选择4x4块尺寸进行掩盖或者跳过 所述丢失4x4子块。
7.如权利要求6所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于,所述步 骤(4)中选择4x4块尺寸进行掩盖或者跳过所述丢失4x4子块具体为(41)当重叠区域为一个、重叠区域面积最大值为零时,跳过所述丢失4x4子块;(42)当重叠区域为一个、重叠区域面积最大值大于第一4x4子块阀值时,将所述丢失 4x4子块以4x4子块尺寸进行掩盖,所述丢失4x4子块的运动矢量为最大重叠区域面积对应 的外推4x4子块的运动矢量;(43)当重叠区域为多个,多个重叠区域面积之和大于第二4x4子块阀值,且所有外推 4x4子块的运动矢量相近时,将所述丢失4x4子块以4x4子块尺寸进行掩盖,所述丢失4x4 子块的运动矢量为所有外推4x4子块运动矢量的加权平均;(44)当重叠区域为多个,多个重叠区域面积之和大于第二4x4子块阀值,且所有外推 4x4子块的运动矢量不相近时,跳过所述丢失4x4子块。
8.如权利要求3或5或7所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于, 所述运动矢量相近和运动矢量不相近的判断步骤具体为当两个运动矢量之间的差值小于预置阀值时,两个运动矢量相近;当两个运动矢量之间的差值不小于预置阀值时,两个运动矢量不相近。
9.如权利要求6所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于,还包括(5)对于所述跳过的丢失宏块、丢失8x8子块或丢失4x4子块,根据已恢复掩盖的丢失 宏块、丢失8x8子块或丢失4x4子块的运动矢量,利用边界匹配方法行错误掩盖。
10.如权利要求9所述的基于自适应块尺寸的整帧错误掩盖方法,其特征在于,所述步 骤(5)具体为(51)将前一帧邻域块的运动矢量、前一帧邻域块的运动矢量的均值矢量和中值矢量、已掩盖的当前帧中邻域块的运动矢量、已掩盖的当前帧中邻域块的运动矢量的均值矢量和 中值矢量、零矢量组成候选矢量集;(52)对所述候选矢量集中的每个运动矢量,用该运动矢量指向的参考块作为丢失块的 替代块,并计算所述替代块的边界像素与当前帧中邻域块的边界像素的差值;(53)将替代块的边界像素与邻域块的边界像素差值最小的运动矢量确定为丢失块最 佳的运动矢量,在参考帧中由该运动矢量得到运动补偿块,从而完成丢失块的错误掩盖。
全文摘要
本发明公开了一种基于自适应块尺寸的整帧错误掩盖方法,包括如下步骤选择前向或后向运动矢量外推方向;对于丢失宏块,选择16x16块尺寸或将丢失宏块划分为4个8x8块尺寸进行掩盖或者跳过丢失宏块;对于丢失8x8子块,选择8x8块尺寸或将丢失8x8子块划分为4个4x4块尺寸进行掩盖或者跳过丢失8x8子块;对于丢失4x4子块,选择4x4块尺寸进行掩盖或者跳过丢失4x4子块。对于跳过的丢失宏块、丢失8x8子块或丢失4x4子块采用外边界匹配算法进行掩盖。本方法可恢复具有细致运动特征的视频,在重建图像时能减轻方块效应。
文档编号H04N7/26GK101917628SQ201010266739
公开日2010年12月15日 申请日期2010年8月30日 优先权日2010年8月30日
发明者沈俊, 王世伟, 贺波涛, 黄治华 申请人:武汉虹信通信技术有限责任公司