实现视频逐行到隔行转换的装置和转换方法

文档序号:7621433阅读:233来源:国知局
专利名称:实现视频逐行到隔行转换的装置和转换方法
技术领域
本发明涉及视频处理技术,尤其涉及一种实现视频逐行到隔行转换的装置和转换方法。
背景技术
传统的摸拟电视信号采用的都是一种名为Interlace Scan(隔行扫描)的方法来重现由信号线所传递的画面信息,因那时的技术限制,数据处理速度跟不上,且传统的TV信息传递介质无法满足传递大量数据包的要求,其先提取奇数行的数据形成图像轮廓,再用偶数行数据补充,以NTSC的60Hz为例,在电视上每秒基本上会通过60幅的画面,这60幅中的第一帧画面都是采用隔行扫描的方式得出的,隔行扫描意味着在显示端上,只能在同一场画面中显示奇数行的画面或者偶数行的画面,比如电视在还原1秒钟的1/60画面时,扫描的是1,3,5,7,9这样的奇数行,而到了还原第2/60画面的时候就转为扫描还原2,4,6,8,10的偶数行信息;逐行扫描的工作方式与隔行扫描完全不同,它的扫描次序便是每扫描还原第1行信息,接下来是第2行,第3行以次类推。
随着电子技术发展的日新月异,电视的发展也逐渐由模拟电视发展到了数字电视。传统的模拟电视系统的处理过程可以概括为从摄像管采样,编码,传输,解码再到显像管显示。由于技术所限,这一过程从摄像,传输到显示都是以场为单位来处理的;而对于数字电视系统而言,由于CCD和CMOS图像传感器技术的发展,视频采样过程已经有了革命性的变化,基于CCD,CMOS图像传感器来获取的图像一般都是以帧为单位的,一帧等于两场,但带来的问题就是目前大部分的电视都是隔行的,只能显示以场为单位的视频信号。
另外,由于CCD,CMOS图像传感器的输出图像的速率主要受传感器曝光时间的限制,在光照条件不同的情况下,输出图像帧率也不同。当光照条件较暗的情况下,为了达到较好的图像质量,需要增加曝光时间,从而导致输出帧率的降低。而对于电视显示而言,其显示图像的速率是固定的,例如常见的PAL制是50场/秒,NTSC制是60场/秒,这样即使支持逐行到隔行的转换,也会由于帧率过慢而无法被电视接收。
最后,对于一般的CCD,CMOS图像传感器而言,其输出图像尺寸是固定的,而电视制式则有很多种,最常见的有NTSC制和PAL制。不同的电视制式其图像大小也不一样,要想既支持NTSC制,也支持PAL制,就需要能够在不影响显示质量的前提下能够支持图像尺寸大小的改变,使得既能输出PAL制电视信号,也能输出NTSC制电视信号。

发明内容
有鉴于此,本发明的主要目的在于提供一种实现视频逐行到隔行转换的装置,能将一帧图像数据转变为两场数据,从而支持将CCD,CMOS图像传感器获取的逐行图像显示在隔行电视上。
本发明的又一目的在于提供一种实现视频逐行到隔行转换的转换方法,支持将CCD,CMOS图像传感器获取的逐行图像显示在隔行电视上,并保证在传感器输出图像帧率变化的情况下显示图像的速率是固定的。
本发明的再一目的在于提供一种实现视频逐行到隔行转换的装置,使得在完成上述转换功能的同时,可以支持不同的电视制式。
为达到上述目的,本发明的技术方案具体是这样实现的一种实现视频逐行到隔行转换的装置,用于在图像传感器和电视编码器之间进行视频格式转换,其特点在于,包括
第一帧存储器,和第二帧存储器,其中,这两个帧存储器以乒乓形式工作,在写第一帧存储器的时候读第二帧存储器,写第二帧存储器的时候读第一帧存储器,写以帧的形式写入,读以场的形式读出,用于轮流接收来自图像传感器的图像帧,并被电视解码器依次读取。
进一步地,上述装置还包括一个图像大小转换模块,用于对所述两个帧存储器中的图像数据进行大小转换,并将转换后的数据传给电视编码器进行编码输出。
进一步地,上述装置图像帧的写入速度支持n帧/秒,读出速度支持m帧/秒,其中2n≤m。
上述图像大小转换模块利用双线性内插的方法改变图像帧图像尺寸。
上述双线性内插的基本计算公式如下p=(1-x)*p(n)+x*p(n+1);其中,p代表需要计算的像素,p(n)代表需要计算的像素的前一个像素,p(n+1)代表需要计算的像素的后一个像素,x代表需要计算的像素到p(n)的距离。
在上述方法中,无须计算所有的插入像素,只计算与缩放后实际像素对应的插入像素。
进一步地,上述装置中所述图像传感器可以是CCD或CMOS。
为达到上述目的,本发明还提供了一种实现视频逐行到隔行转换的转换方法,用于上述转换装置,包括以下步骤写帧存储器步骤步骤一,当图像传感器开始要输出一帧数据时,首先检查两个帧存储器是否空,顺序是先检查第一帧存储器,再检查第二帧存储器;步骤二,只要有一个帧存储器为空就将数据写入空的帧存储器;和,读帧存储器步骤步骤一,当需要从帧存储器读出一帧数据时,首先检查上一帧读出的数据是出自第一帧存储器还是第二帧存储器;步骤二,然后读取另一帧存储器中的数据。
进一步地,上述方法还包括以下特点写帧存储器步骤中,处理步骤一时,如果两个帧存储器都不为空,则检查当前正在读哪个帧存储器,如果第一遍已经读完,则可以写入正在读的那个帧存储器,如果没有读完,则跳过当前帧,等待下一帧数据的到来。
进一步地,上述方法还包括以下特点读帧存储器步骤中,步骤二中,先检查另一个帧存储器数据是否已经写完,如果写完,则读出该帧存储器的数据,如果没有,则重复读上一个帧存储器的数据。
进一步地,上述方法中所述图像传感器可以是CCD或CMOS。
由上述技术方案可见,本发明的通过利用两个帧存储器,可以达到支持视频从逐行到隔行的有效转换,降低实现的复杂度;同时,通过本发明所述的方法,在保持较好的图像质量前提下还可以支持可变的输入帧率,保持输出图像的稳定性;另外,通过对图像进行大小转换,还可以达到支持多种电视制式的效果,在插值计算的过程中,只计算少量的像素点,还可减少计算量。


图1为本发明所述实现视频逐行到隔行转换的装置的较佳实施例的结构简图;图2为本发明所述方法中写帧存储器流程图;图3为本发明所述方法中读帧存储器流程图;图4为本发明所述双线性内插的基本计算方式示意图;图5为本发明所述一维双线性内插示意图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
如图1所示,为本发明所述实现视频逐行到隔行转换的装置的较佳实施例的结构简图,来自图像传感器1的以帧为单位的图像数据首先存储在帧存储器中,共有两个帧存储器,第一帧存储器21和第二帧存储器22。
在两个帧存储器都为空的情况下,数据首先存储在第一帧存储器21中,第一帧数据存储结束后,第二帧数据将存储在另一个帧存储器即第二帧存储器22中。同时,第一帧数据可以读出,送到图像大小转换模块3,经过图像大小转换后送给电视编码器4进行编码输出。然后,电视编码器4读取第二帧存储器22中的第二帧数据,同时,下一帧图像被写入第一帧存储器21;这两个帧存储器用于轮流接收来自图像传感器的图像帧,并被依次读取。
每帧数据在写入的时候以帧为单位写入,在读出的时候以场为单位读出,每帧需要读两场。场与帧的关系是隔行与逐行的关系,也就是说,写入帧存储器以1,2,3,4,…,479,480(以行为单位)的顺序写入,而读出的时候按照1,3,5,7,…,479(第一场),2,4,6,8,…,478,480(第二场)的顺序读出。
如图2所示,为本发明所述方法中写帧存储器流程图,当图像传感器1开始要输出一帧数据时,首先检查两个帧存储器是否为空,顺序是先检查第一帧存储器21,再检查第二帧存储器22;只要有一个帧存储器为空就将数据写入空的帧存储器;如果两个帧存储器都不为空,则检查当前正在读哪个帧存储器,如果第一遍已经读完,则可以写入正在读的那个帧存储器,如果没有读完,则跳过当前帧,等待下一帧数据的到来。
从这里可以看出,由于每一帧需要输出两场,而由于图像大小转换模块3的需要,实际上是帧存储器需要输出两帧,也就是说,每帧写入后需要读出两遍来完成两场数据的输出。由于图像传感器1的输出帧率是可变的,最快支持30帧/秒,而帧存储器的输出帧率是固定的,在PAL制时为50帧/秒,在NTSC制时为60帧/秒。也就是说,对于帧存储器而言,要求对于每帧数据,读出速度至少是写入速度的两倍。
为了保证数据不会因写得过快未来得及读出而造成溢出,在本发明所述装置中确保写数据的速度可以支持30帧/秒(NTSC)或25帧/秒(PAL),而读数据的速度是60帧/秒(NTSC)或50帧/秒(PAL),这样在输入帧率为30帧/秒(NTSC)或25帧/秒(PAL)时,可以达到一种平衡,每帧数据写入和读出的速度恰好相等,数据永远不会溢出。
一般而言,对于VGA大小的图像,图像传感器1输出的最大帧率可达30帧/秒,但是如果环境的光照条件较暗,为了保证一定的图像质量,需要加长曝光时间,则图像传感器1输出的帧率就将低于30帧/秒,环境越暗,帧率越低。这样就带来了一个问题,由于电视刷新的频率是固定的,PAL制是50场/秒,NTSC制是60场/秒,这样从图像大小转换模块输出的图像就必须是50场/秒(PAL)或60场/秒(NTSC),因此从帧存储器读出数据的速度也就必须是固定的,对于PAL制是50帧/秒,对于NTSC制是60帧/秒,这样就造成了帧存储器的写入速度与读出速度有可能不成比例,不是恰好的2倍关系,也就是说,当第一帧数据读完后,有可能第二帧数据还没写完。
如前所述,读出速度从平均角度上来说要快于写入速度,因此如果这时去读还没有写完的第二帧数据,很有可能读会追上写,造成数据的破坏,这是实际工作中所不能接受的。例如工作在NTSC制时,假设图像传感器的输出帧率是20帧/秒,由于读出速度是60帧/秒,这样当第一帧数据读完后,第二帧数据还没有写完,只写了2/3帧,这时如果去读第二个帧存储器的话,则读有可能追上写,从而造成图像数据的破坏。
为了解决这个问题,本发明确定一个规则只有当某一帧数据完全写入帧存储器中后才允许开始读。如果第一帧数据读完而第二帧数据还没有写完,就重复读出第一帧数据。这样虽然图像的连续性受到了影响,但是这是由于此时的光照条件太差,为了达到较好的图像质量需要加长曝光时间,从而导致帧率降低造成的,这种结果也还是可以接受的。
同样,由于对第一帧数据进行了重复读出,就有可能出现第二帧数据已经写完,第三帧数据开始到来,而第一帧数据在重复读的情况下还没有读完的情况。如前所述,由于每帧数据在读出的时候需要读两遍,每一遍代表一场,因此此时有两种情况,一种是第一帧数据已经读完一遍,正在读第二遍,也就是说第一场的数据已经送出;另一种情况是第一帧数据正在读第一遍,第一场数据还没有结束。
对于第一种情况,如前所述,由于读出速度快于写入速度,即使此时开始写入第三帧数据,也不可能追上读,造成第一帧数据破坏,因此第三帧数据可以写入;对于第二种情况,由于第一帧数据还需要读出第二遍,如果将第三帧数据写入,就会将第一帧数据覆盖,导致在读第二场数据的时候出现错误。在这种情况下,本发明选择将正需要写入的第三帧数据扔掉,等待第四帧数据。这样虽然最终图像的连续性受到了影响,但能保证显示的每一帧数据都是正确的,这种处理方式也是在图像传感器1输出帧率较低时可以接受的。
再来看刚才的例子,设图像传感器1的输出帧率是20帧/秒,而帧存储器的输出帧率是60帧/秒,当第一帧读完后,由于第二帧只写了2/3帧,按照本发明上述所定的规则,重复读出第一帧,这个过程要耗费1/30秒,但一段时间后第二帧写完,第三帧数据开始到来,此时重复读第一帧已经耗费的时间是(1/20-1/30)=1/60秒,代表第一场恰好读完,由于读出速度大于写入速度,因此写入数据不会破坏需要读出的速度,第三帧数据可以写入。
如图3所示,为本发明所述方法中读帧存储器流程图,当需要输出一帧数据时,首先检查上一帧读出的数据是出自第一帧存储器21还是第二帧存储器22,然后检查另一个帧存储器数据是否已经写完,如果写完,则读出另一个帧存储器的数据,如果没有,则重复读上一个帧存储器的数据。
不同电视制式支持的图像分辨率不同,为了支持不同的电视制式,需要能够控制图像大小转换的功能。对于图像传感器1而言,其图像分辨率一般可以支持1280×960,VGA(640×480),QVGA(320×240),CIF(352×288)等,但对于1280×960的图像只能支持15帧/秒的输出帧率,由于目前的图像传感器VGA大小的图像的输出帧率最大可支持30帧/秒,而NTSC制的显示帧率也是30帧/秒,PAL制的显示帧率是25帧/秒,为了保证最终的图像质量及图像的连续性,本发明实施例选择与现有电视分辨率最接近的VGA模式,通过图像大小转换模块将其转换为PAL或NTSC所需的图像分辨率。
在控制图像缩放的各种算法之中,双线性内插方法以其实现简单,输出效果较好等特点而被广泛采用,在本发明所述的图像大小转换模块3中也使用了双线性内插方法来改变图像的尺寸。
由于图像大小转换模块3采用双线性内插方法来实现图像大小的转换,这种方法在计算当前数据的时候需要相邻行和相邻列数据。因此,虽然图像大小转换模块3输出的数据是隔行的,但是为了完成图像大小转换,从上述帧存储器中读出的数据依然是逐行的。
图像大小转换模块3将VGA大小的图像转换为NTSC制或PAL制所需要的图像大小;对于NTSC制而言,其图像分辨率为720×480,每场为720×240;对于PAL制而言,其分辨率为720×576,每场为720×288。而输入图像为VGA,也就是640×480。因此,本发明所述图像大小转换模块3完成的功能是这样的,对于NTSC制,只做水平方向的大小转换,转换比例为640-》720,垂直方向不做大小转换,根据奇场或偶场的不同,将奇行或偶行输出;对于PAL制,水平方向的大小转换与NTSC相同,转换比例为640-》720,垂直方向转换比例为480-》576,根据奇场或偶场的不同,只输出奇行或偶行。
本发明所述双线性内插的基本计算公式如下p=(1-x)*p(n)+x*p(n+1);如图4所示,p代表需要计算的像素,p(n)代表需要计算的像素的前一个像素,p(n+1)代表需要计算的像素的后一个像素,x代表需要计算的像素到p(n)的距离。
根据上述公式,可以对给定大小的图像进行一维缩放设输入图像的大小为b,输出图像的大小为a,a与b互质,经过图像大小转换后需要达到a/b的缩放结果,则根据上面描述的双线性内插方法,首先将输入图像放大a倍,也就是在相邻像素之间插入(a-1)个像素,插入像素的值可以根据双线性内插的公式计算得到;然后将放大后的图像再缩小b倍,方法是每b个像素抽取一个像素,这样就达到了a/b的缩放效果。
对于本发明,根据前面的介绍,输入图像为640×480,输出图像为720×480或720×576。因此水平方向需要达到640/720=8/9的缩放效果,垂直方向需要达到480/576=5/6的缩放效果。对于水平方向,根据前面的介绍,a等于9,b等于8。
内插计算的过程如图5所示,图中实心的像素代表输入图像的像素,空心的像素代表输入图像相邻像素之间经过双线性内插得到的值,黑色网格的像素代表输出图像的像素。可以看到,输入图像首先根据双线性内插公式被放大9倍,然后再被缩小8倍,从而得到与输入图像相比,放大9/8倍的图像。
根据图5可以看到,空心像素无需被全部计算出来,只需计算空心像素与黑色网格像素重合的那些像素即可。上面描述了对于输入图像进行一维缩放的过程,同理,可以将其推广到二维的实现。这样,对于给定的输入图像,根据上述描述的算法可以得到经过缩放的输出图像。
由上述的实施例可见,除用于普通电视的视频转换外,本发明所述装置和方法完全可被用于诸如带有摄像头和普通电视显示装置的监控系统等中,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和变化,这些改进和变化也应视为本发明的保护范围。
权利要求
1.一种实现视频逐行到隔行转换的装置,用于在图像传感器和电视编码器之间进行视频格式转换,其特征在于,包括第一帧存储器,和第二帧存储器,用于轮流接收来自图像传感器的图像帧,并被电视解码器依次读取,其中,这两个帧存储器以乒乓形式工作,在写第一帧存储器的时候读第二帧存储器,写第二帧存储器的时候读第一帧存储器,写以帧的形式写入,读以场的形式读出。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括一个图像大小转换模块,用于对所述两个帧存储器中的图像数据进行大小转换,并将转换后的数据传给电视编码器进行编码输出。
3.根据权利要求1所述的装置,其特征在于,所述装置中所述图像传感器可以是CCD或CMOS图像传感器。
4.根据权利要求1所述的装置,其特征在于,所述上述装置图像帧的写入速度支持n帧/秒,读出速度支持m帧/秒,其中2n≤m。
5.根据权利要求2所述的装置,其特征在于,所述图像大小转换模块利用双线性内插的方法改变图像帧图像尺寸。
6.根据权利要求5所述的装置,其特征在于,上述双线性内插的基本计算公式如下p=(1-x)*p(n)+x*p(n+1);其中,p代表需要计算的像素,p(n)代表需要计算的像素的前一个像素,p(n+1)代表需要计算的像素的后一个像素,x代表需要计算的像素到p(n)的距离。
7.根据权利要求6所述的装置,其特征在于,在上述方法中,无须计算所有的插入像素,只计算与缩放后实际像素对应的插入像素。
8.一种实现视频逐行到隔行转换的转换方法,用于上述转换装置,包括以下步骤写帧存储器步骤步骤一,当图像传感器开始要输出一帧数据时,首先检查两个帧存储器是否空,顺序是先检查第一帧存储器,再检查第二帧存储器;步骤二,只要有一个帧存储器为空就将数据写入空的帧存储器;和,读帧存储器步骤步骤一,当需要从帧存储器读出一帧数据时,首先检查上一帧读出的数据是出自第一帧存储器还是第二帧存储器;步骤二,然后读取另一帧存储器中的数据。
9.根据权利要求8所述的方法,其特征在于,写帧存储器步骤中,处理步骤一时,如果两个帧存储器都不为空,则检查当前正在读哪个帧存储器,如果第一遍已经读完,则可以写入正在读的那个帧存储器,如果没有读完,则跳过当前帧,等待下一帧数据的到来。
10.根据权利要求8所述的方法,其特征在于,读帧存储器步骤中,步骤二中,先检查另一个帧存储器数据是否已经写完,如果写完,则读出该帧存储器的数据,如果没有,则重复读上一个帧存储器的数据。
全文摘要
本发明公开了一种实现视频逐行到隔行转换的装置,用于在图像传感器和电视编码器之间进行视频格式转换。包括第一帧存储器和第二帧存储器,其中,这两个帧存储器以乒乓形式工作,在写第一帧存储器的时候读第二帧存储器,写第二帧存储器的时候读第一帧存储器,写以帧的形式写入,读以场的形式读出,用于轮流接收来自图像传感器的图像帧,并被电视解码器依次读取。本发明还公开了一种实现视频逐行到隔行转换的转换方法。通过本发明所述装置和方法,可以达到支持视频从逐行到隔行的有效转换,并支持可变的输入帧率。
文档编号H04N3/15GK1719890SQ20051008776
公开日2006年1月11日 申请日期2005年8月8日 优先权日2005年8月8日
发明者刘健, 付军, 桑红刚, 居晓波, 杨柱 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1