人的视觉系统对细节的闪烁没有对大面积闪烁那么敏感,基于这一点,广播电视标准采用了隔行扫描系统。然而,隔行扫描使许多图像处理变得复杂了,尤其是对于扫描格式转换来说。
基本概念
逐行扫描
逐行扫描方式采用的扫描方式为,每张图像都是从显示器的左上角开始,向右移动,一直移动到屏幕的右边缘停止,然后向下扫描下一行,从左到右进行重复式的扫描。这个过程被重复,一直到整个屏幕被更新一次为止。
隔行扫描
发展电视的早期阶段,一般都采用的是叫“隔行扫描”的技术,以减少传输图像时的数据量。这种技术是这样的,首先发送奇数行的数据,紧接着发送的是偶数行的数据,这样我们在发送视频信号的数据量方面将减少一半。隔行扫描时,一倾图像分为前后两场,场间间隔时间为喊间间隔时间的一半。即,扫描光栅在前一场(称奇场或顶场)从左到右,从上往下隔一行扫描一行,直到最后一行,在后一场(称偶场或底场)按同样的扫描方式进行。
去隔行
输入场只包括图像的奇数或偶数场,去隔行就是要把“场”转换位“帧”。这些输出“帧”和对应的“场”表示的是同一幅图像,不同的是“帧”包含所有的行。正式地,我们可以表述如公式1-1: 表示象素的空间坐标,n 表示第 n 场,T 代表转置。 表示输入场, y mod 2 = n mod 2表示输入场只有奇数行或者只有偶数行; 表示插值象素。
算法实现
场间插值
一种简单的场间插值去隔行方法是相邻两场直接合并,即直接将输入的相邻两场(奇场和偶场,或偶场和奇场)合并成一幅完整的顿图像输出到屏幕上,这种方法就是我们常说的“编织法(weave) ”。
具体公式如公式2-1:
其中n代表输入第n场信号, 表示 的后一场信号,输出信号 表示去隔行处理后完整的倾图像。
这种直接六并的时域插值方法简单方便易实现,可以提高图像静止区域的垂直清晰度,对阁像的静止部分来说可以得到非常完美的效果,但对图像中运动的部分则会产生严重的缺陷,如梳状线条,锯齿,边缘闪烁等问题。
如图2-2所示,(a)为当前时刻原始输入的底场(偶场)信号,(b)为后一时刻的顶场(奇场)信号,将(a)和(b)直接拼接得到巾贞图像(C)。从上图可以看出,向左运动的字母出现梳状现象,而静止的部分(通常称之为背景)则能够得到完美的效果,因此,直接相邻两场进行简单的拼接只适合与静态图像的情况。从时间轴上看,当图像静止时,偶场相当于显示该图像的偶数行,奇场相当于显示该静态阁像的奇数行,奇偶场直接简单拼凑,其实就是将偶数行和奇数行信号进行重组成一幅完整的图像,所以能够取得完美的去隔行效果;但是对于运动的图像而言,每一时刻的原始倾图像是不同的,故进行隔行下采样山的场信息的内容都可能是不同的,如果简年査接合并,便会出现前述的各种图像缺陷,影响图像的效果。
场内插值
场内插值(亦成为二维插值)去隔行算法的共同思想是利用单场内与缺失行相邻两行(或几行)通过内插运算还原出缺失行(插补行)的图像信号,再与当前场的图像信号进行组合成一个完整图像的去隔行方法。常见的主要算法有空域线性去隔行算法(包括场内上下行均值插值法,场内双线性插值法,场内重复插值法等),空域非线性去隔行算法,如基于边缘角度信息插值法(Edge based Line Average,简称ELA算法)。这类方法仅需要几行高速存储器(Buffer)空间,而奇偶场合并去隔行算法则需要外部大容量的顿存储器(Buffer空间不可能有这么大)进行多场的信息进行融合处理,所以场内空域插值去隔行具有算法较简单,运算也相对比较小的优点,占用系统资源少,同时可以的减少行闪烁现象,对运动图像不会产生图像模糊感和梳妆线条现象,提高图像的画面质量。不过场内插值算法仅仅利用了单场的空域相关性(单场空域相关信息),没有利ffl连续场的域相关性,图像的垂直淸晰度并未很好的提高。
场内线性去隔行算法
对于当前场的插补行来说,与其相邻的上下行数据存在着明显的空间相关性,利用场内线性插值去隔行算法可以用公式2-3公式描述。
其中k,m {...,-1,0,1,. . .},h{k, m)是时空线性滤波器的脉冲响应函数,Uy = (0,1)为垂直方向上的单位向量。h(k,m)的不同取值决定了这是一个时域滤波器,空域滤波器或时空滤波器。
也就是说,若脉冲响应函数为:
此时就是最简单的行复制去隔行算法,将每一行的信息简单的复制一行作为插补出缺行信号,使垂直方的行频翻倍形成一个完整的帧图像。相对于相邻奇偶场直接合并的方法,可以有效的避免运动模糊现象,但是此算法并没有提高图像垂直方向的清晰度,而且对斜边边缘容易出现明显的“阶梯”或“锯齿”现象,如图2-4所示。
若脉冲响应函数改为公式2-5:
此时就变成场内上下两行的行平均算法,等同于垂直方向固定的放大两倍的双线性缩放,它与行复制算法相比,图像垂直方向的清晰度损失的比较少,可以稍微改善斜线边缘的“锅齿”现象,但是会使图形斜边边缘模糊,此法并不能消除“阶梯”和“锅齿”现象,如图2-6:
场内线性去隔行算法具有数学运算简单,计算复杂度低以及便于硬件实现等优点;其缺点则会降低图像直清晰度,尤其是在图像垂直方向的细节比较丰富时,这种现象特别的明显。同时,因为这种空域滤波器在时间域上是全通的,因此无法区别基频和谐波分量,很容易抑制基频分量中的高频分量,或者引进谐波分量,最终导致混滑现象。
场内非线性去隔行算法
由于场内线性去隔行算法非常容易在物体斜边边缘处产生“锅齿”和“阶梯”现象,为消除这种现象,研究人员提出了多种场内非线性插值算法,其中目前研究比较多的是基于边缘的线性平均算法,该算法的核心思想是利用相邻行像素的方向相关性进行插值,通过检测图像中物体的边缘信息确定边缘的方向,然后根据边缘的方向进行平均插值,这种方法使像素在最大相关的方向上进行插值以保护边缘信息。由于人眼对图像中物体的边缘信息是比较敏感的,而通常的场内插值算法在物体的边缘会形成明显的“阶梯”现象,影响视觉效果感受,因此基于边缘方向的去隔行算法成为当前研究的一个热点。这种基于边缘信息的去隔行算法较好地解了啦物体斜边处的阶梯锅齿现象问题,但是这种算法中边缘检测的方向并不具有必然性,噪声的影响很可能导致检测到错误的边界,容易发生误判边缘方向。
运动自适应
场间线性去隔行算法对静止和运动轻微的图像序列去隔行的效果最好,场内线性去隔行算法对没有垂直细节的图像去隔行的效果最好,但是实际的视频序列中都存在运动同时具有丰富的垂直细节图像内容。从前面的内容可以知道,对于图像中的静止部分相邻场合并去隔行算法能够有效的提高垂直方向的清晰度,而对于图像中的运动部分则容易发生运动模糊现象,但是场内空域插值去隔行技术可以有效的解决运动模糊现象,通过合适的算法(如基于边缘的线性平均算法),可以很好的解决边缘银齿问题,收到比较好的图像效果。因此,若综合这两种插值方法,有可能大幅度的提升图像质量和画面效果,这是我们通常说的运动适应去隔行算法。运动自适应去隔行算法中需要解决两个关键问题: —是对运动的准确检测,以分辨出图像中运动部分和静止部分;二是对图像屮的静止部分和运动部分同时釆取不同的处理方式。
逐点运动自适应去隔行算法公式2-7::
其中为当前场的场内插值的像素值,为前一场的像素值,为当前场的像素值,M(X,n)为第n场坐标为X出点运动大小,是人为设定的阈值(通常需要做大量的实验得出相对比较合理的阈值)。运动自适应去隔行是根据运动检测的结果来判断是按照运动图像处理还是按照静止图像处理,通常对于静止图像采用的是场内插值算法,对于运动图像采用的是场间插值算法。
运动补偿
运动补偿是对一个连续的视频序列,通过估计方法来检测视频序列中的物体运动矢量,然后在运动轨迹上进行插值的过程。在视频序列中,只要物体没有消失,通常假设物体的旋转或变形也可能被认为是消失了,都可以在相邻几场内找到当前场缺失的那部分信息补上,这就是运动补偿去隔行的基本原理。
由于用来补偿的这部分图像是来自于原始场图像,而运动自适应去隔行的运动部分的缺失信息是“人造”出来的,由此可以看出,运动补偿去隔行从理论上来讲能提高清晰的图像。
运动估计(Motion Estimation,简称ME)是运动补偿去隔行算法的核心部分。理论上,只要运动估计得到的运动矢量能够保证足够的准确,则由运动补偿还原出来的顿图像可以以最逼真地保持图像的原始清晰度。目前,针对运动估计提出了很多方法,如基于快速块匹配的分析法,光流场估计分析法,贝叶斯方法,像素递归法等。但是这些算法并非都适合于实际工程应用,实践证明,最实用和先进的运动估计和补偿方法是基于块匹配的运动估计与补偿算法。也是就目前而言最通用的一种算法,它先将图像分割成NxM的块,并假设块内的各个像素都是做相同的运动;此后,出现了许多种块匹配搜索的运动估计方法,如三步搜索的块匹配方法,全搜索的块匹配运动估计方法实现的运动补偿视频压缩算法,基于四场图像的块匹配运动估计,得到了质量比较高的图像。
运动估计在视频压缩领域虽然应用广泛,但运动补偿去隔行算法中对运动估计有一些特殊要求,运动估计得到的运动矢量场的准确度要求很高,因为它对去隔行结果影响非常的明显。运动补偿去隔行算法的计算复杂度非常高,开发成本高,通常是在芯片上实现,再加上由于DSP的自身的一些特点,在
DSP上难以实现。
去隔行技术发展
去隔行就是将隔行图像的场信号转换成逐行图像的帧信号,它是视频格式转换技术的关键所在。去隔行处理的基本原理是根据图像信息在时间和空间上的相关性,插出隔行图像中空缺行的像素值。经过去隔行的操作,改善图像的显示效果,解决隔行扫描在逐行显示器上显示时出现的问题,使得现有的逐行扫描的平板显示器可以正常显示。
现有的去隔行算法技术包括非运动补偿和运动补偿两大类。非运动补偿算法是最先提出的去隔行算法,由于其算法简单、易被实现而被广泛地应用,主要包括线性算法和非线性算法。运动补偿算法是最近相对流行的去隔行算法。相对于非运动补偿来说,运动补偿算法极大的提高了插值图像的精确度,但同时加大了硬件实现的难度,此种算法仅限于实验室的研究阶段,到上世纪末随着超大规模技术和去隔行技术不断的发展,才有基于运动补偿类去隔行算法的芯片问世,运动补偿类的去隔行算法才逐渐被人们关注。
上个世纪七十年代国外开始采用线性插值的方法进行去隔行,其主要具体实现方法有:双倍线性法、线性平均法、场复制法和场平均法等。此类滤波器的频谱特点和理想低通滤波器的非常类似,由不等个数目抽头的有限长单位冲激响应滤波器组成,算法容易、较易实现,因此被广泛的应用在视频处理、图像缩放等去隔行的场合。但由于频率空间中隔行信号的频率分布曲线是有交叉的,低通滤波器造成了插值图像时间和空间上的交叉,使得图像出现模糊,因而影响了去隔行后图像的质量。
八十年代后期,随着对线性滤波造成的图像质量退化和对视频信号时空特性的深入理解,出现了非线性去隔行方法。主要有:边缘自适应滤波、中值滤波和运动自适应。边缘自适应算法基于图像的边缘信息,降低了低通滤波器造成的在各个方向上的模糊效应,改善了图像的插值效果。中值滤波器包含了时间和空间两个不同方向上的自适应。运动自适应滤波是基于图像中运动的物体而检测的,很好地解决了线性类滤波器出现的虚像问题。把这三种去隔行方法综合起来,就是非线性的混合型自适应去隔行算法。同简单的线性滤波相比,这种混合的自适应滤波改善了去隔行的处理效果,占用的硬件资源并不是太多。甚至有时中值滤波还可极大地缩减硬件资源。因此,视频格式转换芯片中大都采用非线性的自适应滤波。
上世纪九十年代,随着集成电路工艺的发展,运动补偿去隔行算法的研究得到全面开展。运动补偿算法充分地利用了场内和场间的图像信息,是去隔行算法中效果最好的一类。它插值出的图像信息在运动上平滑、自然、无明显的阶梯状和锯齿现象,克服了其他两类算法的锯齿、运动模糊、图像模糊等缺点,但此种算法计算复杂、工作量大并且对误差极其敏感。由于高清和超高清的像素信息量比较大,这就要求运算电路复杂且规模庞大,才能够计算出较准确的运动矢量,这大大提高了实现成本。所以运动估计和运动补偿算法并不适合大规模地应用在普通电视产品中,只有在比较高端的显示产品中才会看见它们的身影。