背景技术
隔行视频信号是指电子束将每一帧图像分成两场扫描,第一场称为奇场,只扫描奇数行(第1、3、5…行),第二场称为偶场,只扫描偶数行(第2、4、6…行),从而通过两场扫描获得的视频信号。由于隔行视频信号每次只需传输视频帧的一半数据,从而有效节约传输带宽,同时由于人眼具有视觉暂留效应,从而看在眼中时仍是一幅完整的图像,因此广泛应用在传统电视以及视频监控领域。
逐行视频信号是指每一帧图像均由电子束顺序的一行接一行连续扫描而获得的视频信号。虽然逐行视频信号需要传输视频帧内所有的图像数据,但由于其能够提供高品质的图像,因而在高清数字电视(HDTV)和计算机技术领域,已经成为首选的显示方案,并有逐步取代隔行视频信号的趋势。
但是,逐行视频信号取代隔行视频信号需要一个过程,也就是说在一段时间内,逐行视频信号和隔行视频信号是共存的,这就导致很多场合下,逐行显示设备需要对隔行视频信号加以显示。比较典型的应用就是将传统的电视信号输出到计算机的VGA显示器上。由于隔行视频信号不能直接在逐行显示设备上正常显示,因此需要对隔行视频信号进行去隔行(De-Interlace,DI)处理,即将隔行视频信号转换成逐行视频信号。
到目前为止,国内外已经提出了各种各样的去隔行处理方案,比较常用的主要有以下几种:
1、单场插值(BOB)。其工作原理为:将每一场扩大为完整的一帧,场中扫描线间失去的行是用其上下行的数据插值来填充的;这是最基本的去隔行处理方案,虽然易于实现,但不可避免的损失了分辨率;
2、场合并(WEAVE)。其工作原理为:将两个连续的场合并为一帧,即用户在同一时刻看到的同一画面实际上是由不同时刻扫描的两场隔行信号合成在一起的;由于两场信号在时间上具有先后关系,而将其变成逐行的时候,其呈现给用户的是同一时刻的画面,这样当图像中某个物体处于运动状态的时候,就会导致视频质量的急剧下降;
3、运动估计、运动补偿差值算法。其工作原理为:进行帧间运动检测,根据连续两帧或者三帧计算运动信息;在运动信息确定之后,就知道相邻两帧对应像素的运动矢量(包括运动的大小和方向),从而确定插入场的位置和像素。下面通过一个具体的例子对本算法加以说明,请结合图1,假设已知场I和场II,待插入的场为III:
首先我们根据场I和场II计算出运动矢量P,然后我们根据需要插入的时间计算当前要插入的场的权重α,然后就可以得到对需要插入的场III;
由于这种插值算法考虑了像素在时间和空间上的变化关系,因此差值效果很好。但是这种插值算法同时具有以下缺陷:
(1)计算复杂度很高,不得不依赖于ASIC器件基于软件加以实现;而ASIC(Application Specific Integrated Circuits,专用集成电路)器件不易集成,灵活性不高;
(2)帧间运动检测可以在同一种极性场的图像之间做差(即奇场与奇场做差,偶场与偶场做差),因此能够提供很高的检测精度;但是这就需要在计算当前帧运动信息的时候,同时读取相邻帧对应场的数据,无疑需要更大的缓存读取带宽;由于数据量大,往往需要为这部分数据设置单独的外部存储器以及相应的外部存储器接口。
综上所述,现有的去隔行方案,或者是牺牲了画面的视频质量,或者是需要通过复杂的算法加以实现,其实现器件和应用均会受到限制;可以看出,目前还没有一种能够即达到较好去隔行效果同时又简单易行的去隔行方案。
发明内容
本发明的实施例旨在克服上述现有技术中的缺陷,提供一种能够将隔行视频信号转换成逐行视频信号的去隔行处理方案,即能够达到良好的去隔行处理效果,同时简单易行。
为实现上述目的,本发明的实施例提供了一种去隔行处理方法,用于对输入逐行显示设备的隔行视频信号进行去隔行处理,包括以下步骤:
步骤S1:采取场合并WEAVE的方式对输入的隔行视频信号进行处理;
步骤S2:对于场合并处理后的输入信号,识别其选定场一像素点相对于其周围另一场的像素点的亮度变化;
步骤S3:确定亮度变化超出预设阈值的像素点为运动像素点并进行补偿处理。
较佳的,所述步骤S2可以包括:步骤S21:识别所述输入信号中偶场一像素点相对于其周围奇场像素点的亮度变化;步骤S22:计算所述像素点相对于其周围奇场像素点的亮度变化的总和;其中,当所述像素点相对于其周围奇场一像素点发生超出预设值的亮度变化时计为1,或者,计所述像素点相对于其周围奇场一像素点亮度之差的绝对值。
较佳的,所述步骤S3中基于所述另一场的相应像素点进行补偿处理的步骤可以包括:采用单场差值算法BOB或者最大相关性插值算法对所述运动像素点进行补偿处理。
较佳的,上述去隔行处理方法还可以包括步骤S4:对所述处理后的输入信号进行低通滤波处理。
较佳的,所述低通滤波处理可以为三角波滤波处理。
本发明的实施例还提供了一种去隔行处理装置,用于对输入逐行显示设备的隔行视频信号进行去隔行处理,包括:
场合并处理单元,用于采取场合并的方式对输入的隔行视频信号进行处理;
亮度变化识别单元,用于接收所述场合并处理单元输出的信号,并识别所述信号中选定场一像素点相对于其周围另一场的像素点的亮度变化;
补偿处理单元,用于接收所述亮度变化识别单元输出的信号,用于确定亮度变化超出预设阈值的像素点为运动像素点并进行补偿处理。
较佳的,所述亮度变化识别单元可以包括:亮度变化对比模块,用于识别所述信号中偶场一像素点相对于其周围奇场像素点的亮度变化;亮度变化计算模块,用于计算所述像素点相对于其周围奇场像素点的亮度变化的总和;其中,当所述像素点相对于其周围奇场一像素点发生超出预设值的亮度变化时计为1,或者,计所述像素点相对于其周围奇场一像素点亮度之差的绝对值。
较佳的,所述补偿处理单元可以包括:单场差值处理模块,用于采用单场差值算法对所述运动像素点进行补偿处理;或者,最大相关性插值处理模块,用于采用最大相关性插值算法对所述运动像素点进行补偿处理。
较佳的,上述去隔行处理装置还可以包括低通滤波器,用于接收所述补偿处理单元输出的信号,并进行低通滤波处理。
本发明的实施例还提供了一种FPGA(Field Programmable GateArray,现场可编程门阵列)芯片,该FPGA芯片设有如上所述的去隔行处理装置。
由上述技术方案可知,本发明的实施例通过识别场合并输入信号中像素点的变化,针对运动的像素点进行补偿处理,具有以下有益效果:
1、静态的像素点保持WEAVE合成,动态的像素点则通过运动补偿实现平滑处理,因此具有良好的去隔行效果;
2、输入信号直接采用WEAVE合成,因此无需单独设置外部存储器以及开放外部存储器接口来存储、调用其它帧进行运动对比,易于实现;同时,减少去隔行处理设备对于外部设备的访问,节约了带宽;
3、降低系统开销,且实现复杂度大为降低,使FPGA芯片实现成为可能,从而具有良好的应用性和灵活性。
通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、特征和优点将更加明显。
具体实施方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。
本发明的主要构思在于对场合并的连续两场像素进行运动检测,针对运动像素进行补偿处理,来解决现有技术中所存在的去隔行效果不佳或者实现复杂的问题。下面将详细介绍本发明所提供的去隔行处理方案。
首先,对本发明提供的去隔行处理方法加以描述。请结合图2,显示了一去隔行处理方法实施例的流程图。
该去隔行处理方法用于对输入逐行显示设备的隔行视频信号进行去隔行处理,以使处理后的隔行视频信号能够在逐行显示设备上正常显示。该去隔行处理方法包括以下步骤:
步骤S1:采取场合并WEAVE的方式对输入的隔行视频信号进行处理;
其中,场合并WEAVE的方式是指将输入的隔行视频信号以奇场一行和偶场一行间隔输入的方式进行交织处理;场合并WEAVE方式作为现有技术,在此不再赘述,但需要指出的是:进行场合并WEAVE方式处理后的隔行视频信号虽然转换为逐行视频信号,但仅能够保证静止像素的图像质量,而运动像素的图像质量由于前后两场信号的差异,会存在大幅度的下降;
因此,本发明所提供的去隔行处理方案是在WEAVE处理的基础上,进一步基于运动像素点进行检测和针对性处理,以在保证分辨率的同时,克服运动像素所存在的边界毛刺现象;
同时,作为本发明一个改进之处,由于WEAVE方式交织处理后的视频信号兼具奇场和偶场,因此后续步骤进行运动像素点检测的数据直接取自视频信号本身,而无需专门设置外部存储器和单独开放外部存储器接口,既简化了实现配置,也节约了带宽资源。
步骤S2:对于场合并处理后的输入信号,识别其选定场一像素点相对于其周围另一场的像素点的亮度变化总和;
需要指出,由于在本步骤S2之前采用了两场交织的WEAVE处理方式,因此对于其中一场的某一行像素而言,在处理后的信号中其上一行和下一行都是另外一场的像素,本实施例中运动像素的识别就是基于选定场的一个像素相对于其周围另一场的像素的亮度变化实现的;
本领域技术人员可以了解,WEAVE方式交织处理后的视频信号是由奇场和偶场构成的,这两场在扫描时存在时间差;在进行亮度变化识别时,既可以以在先的奇场像素为基准,即识别偶场像素相对于奇场像素的变化,当然也可以以在后的偶场像素为基准,即识别奇场像素相对于偶场像素的变化;
作为一个具体实施例,请结合附图3,显示了本步骤S2以奇场像素为基准进行一像素点亮度变化总和识别的实施例流程图,包括以下步骤:
步骤S21:识别输入信号(即经过场合并处理后的隔行输入信号)中偶场一像素点相对于其周围奇场像素点的亮度变化;
显然,如果存在时间差的两场信号中存在运动像素点,则该运动像素点在偶场的亮度相对于奇场的相应像素点会有明显的变化,从而导致WEAVE交织后图像边界的毛刺现象;其中,像素点的亮度变化识别是图像识别技术中的常用手段,在此不再赘述;
但需要加以说明的是,识别偶场一像素点相对于其周围奇场像素点变化的方式并不唯一。作为一个实施例,可以识别某一偶场像素点相应于其上一行相应奇场像素点的亮度变化,即两个像素点的直接对比;但这样误差较高,比如当一个图像的边界在奇场某一行时,由于奇场和偶场相应于该边界的位置存在明显的亮度差,很容易误判为发生了运动而加以补偿,因此不建议采用;
作为一个较佳的实施方式,我们可以采用将偶场像素点与其周围奇场的6个像素点分别进行比较的方式,分别记录与每个奇场像素点的亮度变化,以供后续处理;
或者,也可以将6个像素点分成三对,当识别上下行相应奇场像素点发生变化时,进一步识别对角线奇场像素点的方式进行亮度比较和记录,以供后续处理;
步骤S22:计算该像素点相对于其周围奇场像素点的亮度变化的总和;
作为一个较佳的实施实施方式,如果与6个奇场像素点分别比较,那么亮度变化的总合就是6个变化值的累加;
或者,如果是与6个奇场像素点中的若干个进行比较,那么亮度变化就是相应数目变化值的累加;
上述累加的总和描述了选定场当前像素点的运动剧烈程度,值越大说明运动的越剧烈,反之运动越小或者处于运动物体内部或者处于运动物体较外围的空间,从而可以作为后续衡量运动像素的依据。
特别需要指出的是,上述步骤S21和步骤S22的处理同样适用于以偶场像素为基准的情况;
进一步的,无论是以奇场像素为基准,还是以偶场像素为基准,进行像素点亮度变化计算时,都可以采用以下两种方式但非局限:
一种方式为预设数值的累加,具体为:当选定场像素点相对于其周围奇场一像素点发生超出预设值的亮度变化(视为显著亮度变化)时计为1,或者其他数值,比如2、3……;以与6个奇场像素比较为例,如果与其中5个像素点相比都发生亮度变化,则亮度变化的总合为5;此方式的优点在于简单易行,但缺陷在于精度较低;
另外一种方式为亮度之差绝对值的累加;具体为:计选定场像素点相对于其周围奇场一像素点亮度之差的绝对值,比如选定场像素点的亮度为220(最大值为255),而周围奇场一像素点亮度为160,则计其绝对值为60;仍以与6个奇场像素比较为例,与该6个像素点亮度之差绝对值分别为I1~I6,这六个亮度变化值可能是不同的,假设某一个奇场像素点与选定场像素点亮度相同,则相应的变化值为0;可以看出,这种方式下亮度变化的总合为Isum=I1+I2+I3+I4+I5+I6,是非常精确的。
步骤S3:确定亮度变化总和超出预设阈值的像素点为运动像素点并进行补偿处理;
本步骤S3依据步骤S2确定的像素点亮度变化总和以确定运动像素点,具体方式为将步骤S2获得的亮度变化总和与预设的阈值比较,超过特定阈值的就视为运动的像素点;具体的阈值可以通过软件根据画面整体情况动态设置,阈值的大小将导致运动检测结果的变化,从而实现不同的去隔行精度;
在实际应用中上述运动像素点的确定存在两个特例,一种是没有发现运动像素点,即像素点全部不运动,这样无需后续的补偿处理,相当于去隔行逻辑工作在WEAVE模式下;一种是发现所有的像素点都是运动像素点,即像素点全部发生了运动,这样需要对所有的像素点进行补偿;
但多数处理情况是发现部分运动像素点,即仅需针对部分像素点进行补偿,因此可以有效节约处理资源。具体补偿方式可以参考以下两种,但并非限制:采用单场差值算法BOB或者最大相关性插值算法对所述运动像素点进行补偿处理,这两种算法在逻辑内部都比较容易实现;
其中,采用BOB算法是指对选定场像素点上一行的像素点进行复制,并用复制后的像素点取代选定场像素点,从而平滑边界;(采用这种方式时,在所有像素点都是运动像素点的情况下,相当于去隔行逻辑工作在BOB模式下)
采用最大相关性插值算法是指对运动像素点进行亮度相关性计算,从而获得插入像素点亮度以取代选定场像素点;(采用这种方式时,在所有像素点都是运动像素点的情况下,相当于去隔行逻辑工作在最大相关性插值算法下)
通过上述描述可以看出,区分动静像素点分别处理,能够达到良好的去隔行效果,有效的提高视频质量;此外,本发明的去隔行逻辑是基于预设的阈值,自动对于不同的像素点采用不同的处理模式,其所消耗的处理资源较少,这是本发明相对于现有技术的一个改进之处;
通过上述步骤S1~S3可以看出,本实施例提供的去隔行处理方法能够达到良好的去隔行效果,降低系统开销,从而使采用FPGA逻辑实现成为可能;同时,无需另设外部存储和开放接口,进一步简化了设计,也避免了对外部存储访问所带来的带宽占用。
进一步的,作为一个较佳的实施例,上述去隔行处理方法还可以包括步骤S4:对所述处理后的输入信号进行低通滤波处理;
本步骤S4的目的在于消除去隔行处理引入的高频分量,即滤除噪声,同时尽量保存图像本身的边缘细节;
理想滤波器(ideal)、梳状滤波器(BOX)、三角波滤波器(Tent)和高斯滤波器都可以作为低通滤波器来实现步骤S4的滤波处理;其中,三角波函数具有比较好的低通性能和比较快的高频衰减特性,更适合用于滤除高频噪声。如图4所示,显示了三角波函数的一个实例。
接下来,为了便于理解,我们通过一个具体实施例来描述本发明提供的去隔行处理方法,请结合图5A~图5E,假设场大小为720*288,图中仅显示相关的部分:
如图5A所示,在原始的输入视频信号中,奇场Field0和偶场Field1分别发生在t和t+t0时刻;在t0时刻内,黑色的物体产生了运动,即右移一个像素;
如图5B所示,为采用WEAVE算法得到的图像:奇场(Field0)一行,然后偶场(Field1)一行直接交织而成;可以看出,由于奇场和偶场的扫描时间不同,导致黑色物体的边缘产生类似毛刺的现象(百页窗效应);
如图5C所示,选定Field1像素进行亮度变化统计,即统计Field1中每一个像素点相对于其周围6个Field0像素点发生显著亮度变化的总和,其中显著亮度变化可以定义为该Field1像素点与周围Field0像素点的亮度差异超过某个阈值;举例来说,图5C中第4行第2列的像素点,由于其与上一行相邻的三个Field0像素点亮度相同,因此不计;同时,其与下一行三个Field0像素点中的两个亮度显然不相同,因此总合为2;
如图5D所示,超过特定阈值(本实施例中设置为4)的像素点就是运动像素点,因此根据图5C中的计算结果,共有6个像素点为运动像素点(分别位于第6行第2、7列,第8行第2、7列和第10行第6、7列);可以看出,它们都处在运动物体的边界上,而且处在运动方向的边界上(图中即水平方向);
如图5E所示,对运动像素点以BOB方式进行运动补偿,因此第2、6列的像素点成为黑色,而第7列的像素点补偿为白色,从而黑色物体的边界基本得到了恢复;当然,部分像素(如第10行第2列)仍然存在错误,但是相对于WEAVE,其画面质量已经具有很大的提高;同时,仅对6个像素点进行处理,系统开销很小,比较适合硬件FPGA架构。
接下来,对本发明提供的去隔行处理装置加以描述。请参考图6,显示了去隔行处理装置600的框图,用于对输入逐行显示设备的隔行视频信号进行去隔行处理,包括:
场合并处理单元610,用于采取场合并的方式对输入的隔行视频信号进行处理;这是本装置的一个改进之处,能够为后续的处理同时提供连续的两场信号进行后续的运动检测,从而无需专门进行外部存储器和存储器接口的设置,既简化了设计,也避免了外部存储器读写导致的带宽占用;
亮度变化识别单元620,用于接收所述场合并处理单元610输出的信号,并识别所述信号中选定场一像素点相对于其周围另一场的像素点的亮度变化总和;具体的识别方式请参见本发明去隔行方法的相应步骤;
作为一个具体实施例,亮度变化识别单元620可以包括:
亮度变化对比模块,用于识别信号中偶场一像素点相对于其周围奇场像素点的亮度变化;
亮度变化计算模块,用于计算该像素点相对于其周围奇场像素点的亮度变化的总和;
其中,当所述像素点相对于其周围奇场一像素点发生超出预设值的亮度变化时计为1,或者,计所述像素点相对于其周围奇场一像素点亮度之差的绝对值;
补偿处理单元630,用于接收所述亮度变化识别单元630输出的信号,用于确定亮度变化总和超出预设阈值的像素点为运动像素点并进行补偿处理;具体的,补偿处理单元630可以包括:
单场差值处理模块,用于采用单场差值算法对所述运动像素点进行补偿处理;
或者,最大相关性插值处理模块,用于采用最大相关性插值算法对所述运动像素点进行补偿处理;
作为一个较佳实施例,为了抑制去隔行所引入的噪音,去隔行处理装置600还可以包括低通滤波器640,用于接收补偿处理单元630输出的信号,并进行低通滤波处理。
其中,该低通滤波器640优选为三角波滤波器。
再接下来,本发明还提供了一种设有上述去隔行处理装置的FPGA芯片,设置在逐行显示设备中,对于输入的隔行视频信号进行去隔行处理。由于FPGA芯片具有较高的灵活性,因此易于集成和应用。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。