岳雷飞, 蒋建国,2, 齐美彬,2, 杨立宾
(1.合肥工业大学 计算机与信息学院,安徽 合肥 230009;2.合肥工业大学 安全关键工业测控技术教育部工程研究中心,安徽合肥230009)
高质量的去隔行是实现隔行到逐行扫描格式转换的关键技术,其目的是消除隔行扫描中的行间闪烁、行蠕动、并行和锯齿化等固有缺陷[1-3]。去隔行滤波大致可以分为线性滤波、运动自适应和运动补偿3类。线性滤波主要包括行复制、行平均及场复制等,优点是结构简单,计算量小;缺点是行复制、行平均并不能增加图像的垂直分辨率,场复制虽然可以增加图像垂直分辨率,但在处理运动图形时会带来运动锯齿、羽化等缺陷。运动自适应插值算法是根据运动信息将图像划分为运动区域和静止区域,对于静止区域,采用场间线性滤波算法,对于运动区域,则采用场内非线性滤波算法。这类方法的优点是在静止区域能够增加垂直分辨率,并能消除运动区域的羽化现象;缺点是无法提升运动区域的垂直分辨率,而且对于运动估计的失误会带来差值错误等。运动补偿法最大限度地利用了视频信号时间和空间上的相关信息,是3类算法中性能最好的一类。它先进行精确的运动估计,然后沿着运动轨迹进行插值。但这类算法对于运动估计误差极其敏感,错误的运动估计会造成局部失真,而且运算复杂度很高,电路资源的消耗很大[4,5]。
本文针对嵌入式系统对实时性的要求,提出一种新型的基于运动自适应的去隔行算法,主要包括改进的4场运动检测、RELA插值算法2部分内容。
运动自适应的方法分为2个关键部分:运动检测和场内插值。运动检测常见的有2场检测、3场检测、4场检测。场内插值常见的有ELA、3点中值滤波等。
视频信号场结构示意图,如图1所示。
图1 视频信号场结构示意图
为了叙述方便,本文引入2个名词和1个函数[5]:漏判,指运动区域被判为静止;误判,指静止区域被判为运动;单位阶跃函数为:
(1)2场检测是利用当前场待插值的点与前一场的对应点之间的像素差值作为判断的依据,如果差值大于某个固定的阈值Th,此点则判为运动,否则判为静止[6]。2场检测的优点是计算量非常小,只需要一场的缓存;缺点是检测的结果非常容易受噪声的影响,经常出现漏检和误检,导致去隔行后的图像出现严重的瑕疵。
2场检测的计算公式为:
其中,F(i,j;n-1)表示前一场对应位置的点,n表示场的序号;F′(i,j;n)表示当前不存在的点,为了方便运动检测,用其上下两像素的平均值代替;mf表示运动标志;Th是阈值。
(2)3场检测是利用当前场的前一场和后一场对应点的像素差值d作为判断依据,如果d大于某个设定的阈值Th,此点则判为运动,否则判为静止[6]。3场检测计算量很小,区别是它需要2场缓存,检测结果比2场检测稍好,但是仍然存在漏检和误检,导致图像仍然存在瑕疵。
3场检测的计算公式为:
(3)4场检测是利用奇偶性相同的场之间的差值作为判断依据[6],它可以看成是3场检测的改进,将2组同极性场的检测结果进行叠加,使得到的检测结果更加准确,减少了漏检和误检的概率,去隔行后的图像质量也因此得到一定的改善。4场检测的缺点是复杂度和2场、3场相比稍有增加,并且需要3场缓存。鉴于图像质量的改善,这种时间和空间的额外开销还是值得的。
4场检测的计算公式为:
定义差异矩阵为:
当前点的坐标为(i,j),i表示列标,j表示行标。像素的灰度值用F(i,j;n)表示,Nth表示数目阈值,一般取5。
本文提出的运动检测方法降低了噪声的干扰,降低了漏判发生的概率,虽然误判的概率有所增加,但是漏判对图像质量的影响比误判更为严重,这是结合插值的方法来考虑的。对静止区域,采用场间插值;对运动区域,采用场内插值。误判发生时,原本该采用场间插值的地方采用了场内插值,只是降低了图像的清晰度,不会造成明显的瑕疵;漏判发生时,原本该采用场内插值的地方采用了场间插值,这样会造成明显的瑕疵,因此本文提出的方法是可行的。
去隔行中常用的插值方法是ELA(Edge-Based Line Average,简称 ELA)[7-10],ELA的做法是求出像素插值最小的方向,取此方向2像素的平均值作为插值结果,如图2所示。
图2 边沿线平均法示意图
ELA的优点是有效保护了边缘,增加了图像的清晰度,但是ELA本身存在一些缺陷,因为差值最小的方向跟其它像素不一定处于同一区域,此时插值后图像会出现虫洞;另外,如果待插像素的上一行和下一行分别对应边缘过渡区的上沿和下沿,此时插值后的图像中的物体边缘会出现虚像。针对以上缺陷,根据最相邻点相关性最大这一原则[7],采用一种分级(Rank)边缘自适应算法,简写为 RELA,算法步骤如下:
(1)求出5个方向像素插值的最小值,记为Dmin。
(2)如果Dmin>Th,转到步骤(3),否则,转到步骤(4)。
(3)取(c+h)/2作为插值。
(4)由近及远,找到第1个插值小于阈值的方向,取此方向两者的平均值作为插值结果。
RELA算法的流程如图3所示,图3中各个参数的含义见表1所列。
图3 RELA算法流程图
表1 图3中各个符号的含义
场检测法的效果对比,如图4所示。
图4 场检测法效果对比
由图4可以看出,2场检测出现较多误检,图片左边应该是静止的地方被判为运动,而且人的面部出现漏检,易受噪声的干扰;3场检测采用相同奇偶性两场的差值做判断,误检减少,漏检仍然存在,如图4b中人脸的面部;4场检测得到的运动区域比真实区域稍大,插值的结果是运动目标周围的静止像素细节丢失,同时这种区域的扩展也引入了误检,容易受噪声的影响。
相比之下,本文采用的检测方法误检较少,人的面部漏检相对较少,检测结果比较接近真实的运动区域。
ELA和 RELA的插值效果对比,如图5所示。由图5a可以看出,ELA算法在亮度缓变区域、边缘不是很清晰的地方产生了“虫洞点”,影响了去隔行后图像的质量。由图5b可见,改进后的RELA算法则很好地克服了这个缺点,但是也要看到,分级造成的边缘阶梯现象加大,这是本文算法以后有待改进的地方。
图5 插值效果对比
针对4种不同的序列分别采用4种不同的去隔行方法的效果对比,如图6所示。其中,Stefan(运动比较复杂,前景和背景都在运动,细节也较多,运动检测的方法失效)与Flower和Mobile 4种方法差不多,这是因为Flower序列纹理复杂,RELA插值的结果准确性降低,运动区域少,运动检测保留细节的功能未发挥出来。而Mobile则是运动和纹理都比较复杂,运动检测保留细节的效果显露出来。
本文方法对类似News的序列(运动简单,纹理不太复杂)符合大部分的应用情况。对于运动和纹理都比较复杂的序列,最好的方式是采用运动补偿的方法。
图6 测试序列PSN R对比
去隔行并没有一个固定的好方法,应用的场合不同,要求也不同,相应的去隔行的算法也不同。从实验结果可以看出,本文提出的算法总体上取得了较好的效果,而且和传统的运动自适应的算法相比并没有显著增加运算复杂度,非常适合应用在对实时性要求较高的场合。
本文提出的算法基于运动自适应的思想,包含2部分内容:改进的4场运动检测和分级边缘自适应插值(RELA),其中每一种改进都可以单独提取出来和其它同类的方法结合使用,从而得到满足不同性能和时间要求的新方法。
[1]Bellers E B,de Haan G.Deinterlacing:a key technology for scan rate conversion[M].Amsterdam,The Netherlands:Elsevier,2000:3-8.
[2]de Haan G,Bellers E B.Deinterlacing:an overview[C]//Proceedings of the IEEE,1998,86(9):1839-1857.
[3]Fan Yucheng.Deinterlacing system and technology overview and discussion[C]//International Workshop on Imaging Systems and Techniques,2009:287-290.
[4]Shen Yanfei,Zhang Dongming,Zhang Yongdong,et al.M otion adaptive deinterlacing of video data with texture detection[J].IEEE T ransactions on Consumer Electronics,2006,52(4):1403-1408.
[5]Yu L,Li J,Zhang Y,et al.Motion adaptive deinterlacing with accurate motion detection and anti-aliasing interpolation filter[J].IEEE T ransactions on Consumer Electronics,2006,52(2):712-717.
[6]Koivunen T.Motion detection of an interlaced signal[J].IEEE T ransactions on Consumer Electronics,1994,40(3):753-760.
[7]Lee D H.A new edge based Iitra-field interpolation method for deinterlacing using locally adaptive-thresholded binary image[J].IEEE T ransactions on Consumer Electronics,2008,54(1):110-115.
[8]Chang Y L,Lin S F,Chen L G.Extended intelligent edgebased line average with its implementation and test method[C]//Proceedings of the ISCAS,2004:341-344.
[9]Yoo H,Jeong J.Direction-o riented interpolation and it's application to deinterlacing[J].IEEE Transactions on Consumer Electronics,2002,48(4):954-962.
[10]Koo H,Lee H S,Cho N I.A new EDI-based deinterlacing algorithm[J].IEEE T ransactions on Consumer Electronics,2007,51(3):1494-1499.