赖 俊,张江鑫
(浙江工业大学省通信网应用技术研究重点实验室,浙江杭州310023)
近年来,随着通信技术的提高,视频业务也得到了快速发展。然而由于网络拥塞等原因,视频传输中有时会发生丢包,且错误将会在时域和空域上扩散,严重影响接收端的视频质量,因此,一个解码端的差错掩盖技术是十分必要的。H.264参考模型里采用的是双线性插值算法,这种方法只对平滑区域取得较好的恢复效果,对边缘区域恢复效果不够理想。为克服这个缺点,方向插值算法先找出边缘方向,然后沿着边缘方向进行插值,一定程度判断了边缘信息[1]。而自适应空域差错掩盖算法则把丢失宏块划分为平滑块和边缘块,分别采用双线性插值算法和方向插值算法进行插值,取得一定改进效果[2]。文献3提出基于人脸特征的自适应空域差错掩盖方法,先通过人脸检测技术检测出人脸,然后对人脸区域采用水平方向插值的方法,对其它区域则采用文献2的自适应插值算法,利用了人脸五官呈水平方向的特征,取得一定改进效果,但用的依旧是插值的方法,恢复区域容易模糊,而五官位置模糊是难以让人接受的。基于以上现状,本文提出一种基于人脸对称性的差错掩盖方法,对符合条件的人脸区域取得较好的视觉效果,一定程度上避免了插值算法造成的五官特征模糊。
实际视频业务中,人脸往往是人们关注的焦点,一旦人脸区域出错,将会严重影响视觉效果,因此对人脸区域的差错掩盖也显得极为重要。人脸区域又是非常有自身特点的一块区域,文献3利用了人脸五官大致呈水平方向的特征进行水平插值,然而插值的方法依旧容易造成模糊;本文利用人脸对称的特点,对于呈现对称的人脸,若其中半边人脸有象素丢失,就用另外半边对应位置的象素进行掩盖而对于其它区域,采用文献2自适应插值算法进行掩盖,具体方法流程图如图1所示。
图1 方法流程图
人脸检测是指对于一幅给定的图像,采用一定的策略对其进行搜索以确定其是否含有人脸,常用的策略有基于肤色分割的方法和基于人脸特征的方法。由于本文是要在差错掩盖中应用人脸检测方法,因而被检测的人脸很可能是丢失掉一些部分的不完全人脸,显然进行类人脸特征计算可能会就出现一些错误,因此采用基于肤色分割的方式进行初步的人脸检测。
常用的颜色空间主要有:YCbCr,HSV,YIQ等,由于YCbCr空间具有将色度CbCr与亮度Y分离的特点,因此选择在YCbCr空间进行肤色分割。在YCbCr空间中提取人脸候选区,肤色区域相对集中,可以采用高斯分布来描述这种分布[4]。且由于本文中用于仿真的视频序列是4∶2∶0的yuv格式,与YCbCr格式视频一样,因而不需要进行从其它颜色空间到YCbCr空间的转换。计算各个象素属于肤色的可能性大小,取值范围为[0,1]。采用文献4中的计算方式对各象素与肤色的相似程度进行计算,计算公式为:
图2 肤色分割效果
对于有必要进行特殊的人脸差错掩盖的人脸区域,大多已经丢失了人脸关键信息,因此本文没有在肤色分割基础上根据人脸关键信息做进一步的检测,而是对肤色分割后的每块连续区域先进行垂直分割,分割后对两侧未丢失的区域进行相似度判断,以此排除非人脸的肤色区域,同时也排除了没有对称的人脸。
首先假设检测出的每块连续都是对称的人脸,且对称的人脸区域计算垂直分割线的一种方法是找到这块区域在水平方向上最宽的线段并计算其中点,然后在这个中点做这条最宽线段的垂线,这条垂线就是连续区域的分割线,接下来就对分割线两侧的区域进行相似度判断。
采用文献5中的方法来计算分割线两侧区域的相似度,根据图像灰度值数据,相似度计算公式如下:
式中,α和β分别为相似系数和相对欧氏距离系数的权重,且α+β=1,根据文献5人脸跟踪算法经过的训练,这里α和β分别取值为0.21和0.79,Fk,a和Fk,b分别为分割线两侧都没有丢失,且位置对称的相应象素点的灰度值,Fk,max和Fk,min则分别是最大和最小的灰度值。
相似度计算后,需要与一个阈值δ进行比较,当Aab>δ,判定当前检测区域为对称的人脸区域,采用对称拷贝的方式进行掩盖,即对于对称的人脸区域,当分割线一侧有象素丢失,而另一侧位置与其位置对称的象素未丢失,则把未丢失的象素拷贝到丢失象素位置,完成掩盖;当Aab<δ,则判定当前检测区域为常规区域,使用传统的自适应插值算法进行掩盖。经过对不同视频序列测试,本文将阈值δ取为0.86的时候取得的判断较为准确,但也可能还存在更好的取值方式。几个不同图像人脸区域的相似度如图3所示,其中图3(b)的相似度为0.852,其倾斜幅度太大,不适合直接用本文的人脸对称掩盖算法,而图3(a)、(c)、(d)都满足本文算法要求。
图3 不同图像人脸区域的相似度
本文采用H.264的JM86模型作为测试平台,分别用QCIF格式的Miss America、Carphone、Foreman序列进行测试,测试序列长度均为30帧,帧率为30fps,QP=28,经编码后输出为RTP格式的包流,通过高版本JM的rtp_loss模拟丢包,并在丢包率为10%的环境下,选取BI算法和ASEC算法与本文算法做比较。
几种算法重建的第0帧Foreman图像和第10帧Miss America图像分别如图4、5所示,图4、5中的(a)(d)分别表示错误标记、方向插值算法、自适应插值算法和本文算法。从主观效果图中可以看出,在对称的人脸部分,特别是对于比较容易成为视觉焦点的五官位置,本文算法掩盖的视觉效果比插值算法掩盖的效果更理想。
图4 Foreman序列第0帧3中算法主观质量比较
图5 Miss America序列第10帧3中算法主观质量比较
几种算法PSNR值比较的曲线图如图6所示,本文算法PSNR值较方向插值算法高出0.2 3.8dB,较自适应插值算法高出0 0.1dB。本文的人脸掩盖算法与自适应插值算法只在人脸部分的个别宏块处理时有所区别,因此高出的0 0.1dB都是在人脸中的小部分区域里体现出的,虽然本身数值不大,但考虑到所处理区域面积较小,依然能够体现本文算法在处理对称人脸时的优越性。
图6 Foreman序列中受损I帧3种算法掩盖客观质量比较
本文提出一种基于人脸对称性的差错掩盖方法,虽然只适用于对称的人脸区域,但是一旦满足使用条件之后,可以较好地恢复出人脸五官,相对于插值算法获得更好的视觉效果。而如何能够在更多的情况去利用人脸的对称性,如针对倾斜方向的人脸也可以作对称掩盖,将是后续的一个工作方向。
[1] Kim W,Koo J,Jeong J.Fine directional interpolation for spatial error concealment[J].IEEE Transactions on Consumer Electronics,2006,52(3):1 050 -1 056.
[2] 彭强,张庆明,徐锦亮.基于边缘检测的空域自适应差错掩盖算法[J].铁道学报,2008,30(6):58-62.
[3] 杨志伟,张庆明,彭强.基于人脸特征的自适应空域差错掩盖算法[J].信息通信技术,2009,(4):19-22.
[4] 艾学轶,吴彦文,汪亭亭.复杂背景下多姿态人脸快速检测算法[J].计算机工程与设计,2010,31(14):3 265-3 273.
[5] 张杨,叶舒帆,高立群.一种基于相似离度匹配的人脸精确跟踪算法[J].东北大学学报(自然科学版)2011,32(2),188-192.