去隔行方法及装置与流程

文档序号:11734609阅读:332来源:国知局
去隔行方法及装置与流程
本发明涉及视频信号处理领域,具体地,是一种将隔行扫描转换成逐行扫描的去隔行方法以及实现这种方法的装置。

背景技术:
数字广播电视技术需要将视频信号以数据帧的形式传输,所传输的数据往往包括多行数据。而数字广播电视技术包括逐行扫描的技术以及隔行扫描的技术,如图1所示,逐行扫描技术所传输的数据包含每一行的数据,如图1所示的是其中的三行数据,第一行数据为包括三个像素点a、b、c,第二行包括三个像素点x、y、z,第三行包括三个像素点d、e、f。如数字广播电视技术所传输的每一场数据均包括每一行的数据,则需要传输的数据量过大,对带宽要求很高,因此,传统的广播电视技术通常是采用隔行扫描技术来节省带宽。隔行扫描技术所传输的数据中,每一场数据仅包含奇数行的数据或者偶数行的数据,并且相邻的两场数据所传输的数据的奇偶行数正好互补。如图2所示的,先前场F(n-1)、当前场F(n)、后续场F(n+1)分别是隔行扫描技术中所传输的相邻的三场数据。其中,当前场F(n)是正在进行去隔行扫描的场,其中像素点a、b、c和像素点d、e、f是所在的当前场F(n)相邻的奇数行或偶数行,两行数据之间缺少偶数行或者奇数行,即实际传输的数据是不包含像素点y、x、z。图2所示的先前场F(n-1)中的像素点k、g、h组成的行和后续场F(n+1)中的像素点l、i、j组成的行均是所在场偶数行或者奇数行,先前场F(n-1)及后续场F(n+1)均缺少奇数行或者偶数行的数据。但是,隔行扫描技术却牺牲了图像质量,其传输的图像已经不能满足观众对图像质量的要求。此外,目前大部分显示设备都采用逐行扫描技术,因此将隔行扫描的数据转变为逐行扫描数据的去隔行技术是当前图像数据传输处理领域的重要技术。可见,隔行扫描技术中所接收的输入场包括奇场和偶场,奇场只包含源图的奇数行,偶场只包含源图的偶数行,去隔行就是要把场转换为帧,帧包含图像的所有行。因此,去隔行技术就是需要在每一场所传输的相邻两行数据之间插入缺少了的偶数行数据或者奇数行数据。以图2中当前场F(n)为例,去隔行技术的目的就是为了在当前场F(n)的像素点a、b、c所在行数据和像素点d、e、f所在行数据之间插入缺少的偶数行或者奇数行的像素内插值y、x、z。假设图2中当前场F(n)的信号帧由偶数行组成,即像素点a、b、c所在行数据和像素点d、e、f所在行数据均为偶数行,当前场F(n)缺少奇数行数据。去隔行技术就是需要在相邻的偶数行数据之间插入相应的奇数行数据,因此去隔行技术就是生成当前场F(n)中缺少了的奇数行像素的像素值。待生成的像素点通常称为待插值像素,假设待插值的像素为当前场F(n)的像素点x,与像素点x处于同一行的左相邻的像素点y是当前场F(n)通过三场运动自适应的去隔行技术生成的像素点,也就是上一插值像素,与像素点x处于同一行的右相邻的像素点z是继像素点x插值完成后下一个待插值的像素点,也就是下一待插值像素。目前应用的去隔行技术中,效果最好的是基于运动补偿的去隔行方法,但是运动补偿的算法实现运算量大,对硬件设备要求高,应用成本高。而非运动补偿算法中,较佳的是基于运动自适应的去隔行方法,其步骤包括运动检测及权值计算、场内插值计算、场间插值计算,最后用运动检测得出的权值混合场内插值及场间插值后输出结果。对于运动检测倾向为静止的图像,权值偏重于场间插值,否则偏重于场内插值。因此,运动检测的准确性要求非常高,否则会引起严重的锯齿、羽化和斑点等现象。运动检测方法中性能比较好而且实现简单的是三场检测法。传统的三场检测是计算前一场与后一场的与待插值像素的位置上的对应像素点的差值来判断待插值点是否存在明显运动,如果差值大于阈值则认为待插值点明存在显运动,否则认为待插值像素是静止的。对于一些运动非常快的图像,前后场待插值点位置的像素点的差值往往会很小,所以传统的三场检测很容易误判其为静止。因此,人们对传统的三场运动检测方法进行改进,如公告号为CN101600061B和CN1207906C的发明专利就公开了两种不同的基于三场运动检测方法的去隔行方法,这些方法虽然改善了三场运动检测的性能,但是其运算量极大,对硬件的要求过高,也推高了去隔行方法的实现成本。

技术实现要素:
本发明的主要目的是提供一种运算量小且输出图像质量高的去隔行方法。本发明的另一目的是提供一种对硬件要求低且生成图像质量好的去隔行装置。为了实现上述的主要目的,本发明提供的去隔行方法包括根据先前场与后续场中与待插值像素对应的像素的像素值之间的差值判断待插值像素是否存在明显运动,并且,应用先前场与后续场中与待插值像素对应的像素的像素值之间的差值、先前场与后续场中与下一待插值像素对应的像素的像素值之间的差值以及上一插值像素的运动权重值计算待插值像素的运动权重值,计算待插值像素的场间插值与场内插值,并应用场间插值、场内插值以及待插值像素的运动权重值计算待插值像素的初始像素值,根据当前场中多个方向上的像素的像素值之间的差值计算当前场多个方向的相关性,选择相关性最大的方向上的多个像素及先前场待插值像素对应的像素的像素值进行滤波,计算补偿像素值,并根据初始像素值、补偿像素值以及场内插值计算待插值像素的确定像素值。由上述方案可见,应用场间插值、场内插值以及运动权重值计算待插值像素的初始像素值,初始像素值的运算量小,且应用运动权重值计算的初始像素值能够根据像素的运动情况计算出每一像素点的像素值,所计算的初始像素值更加精确,输出的图像质量高。并且,计算待插值像素的初始像素值后,还进行补偿计算,且补偿计算的运算量小,但能够有效地对待插值像素的运动状态进行补偿,输出的图像质量更高,避免运动状态判断错误而引起的图像出现锯齿、羽化等现象。进一步的方案是,计算待插值像素的运动权重值的步骤是:应用先前场与后续场中与待插值像素对应的像素的像素值之间的差值计算第一运动状态值,应用先前场与后续场中与下一待插值像素对应的像素的像素值之间的差值计算第二运动状态值,在第一运动状态值、第二运动状态值与上一插值像素的运动权重值中有两个表示为运动时,将待插值像素的运动权重值设为运动值,否则,将待插值像素的运动权重值设为静止值。由此可见,通过对第一运动状态值、第二运动状态值以及上一插值像素的运动权重值进行简单的逻辑运算即可以获得待插值像素的运动权重值,待插值像素的运动权重值的运算量较小,对硬件设备要求较低。一个可选的方案是,计算待插值像素的运动权重值的步骤是:应用先前场与后续场中与待插值像素对应的像素的像素值之间的差值计算第一运动状态值,应用先前场与后续场中与下一待插值像素对应的像素的像素值之间的差值计算第二运动状态值,待插值像素的运动权重值为第一运动状态值、第二运动状态值与上一插值像素的运动权重值之和的一半。由此可见,通过计算第一运动状态值、第二运动状态值以及上一插值像素运动权重值能够清楚地反映出待插值像素的运动状况,由此计算得到的运动权重值的数值更好地反映待插值像素的运动状态,对输出图像的质量的提高有明显的好处。为实现上述的另一目的,本发明提供的去隔行装置包括运动检测模块,应用先前场与后续场中与待插值像素对应的像素的像素值之间的差值、先前场与后续场中与下一待插值像素对应的像素的像素值之间的差值以及上一插值像素的运动权重值计算待插值像素的运动权重值;还设有场间插值计算模块,计算待插值像素的场间插值;场内插值计算模块,计算待插值像素的场内插值;以及混合计算模块,应用场间插值、场内插值以及待插值像素的运动权重值计算待插值像素的初始像素值,还设有补偿基准计算模块,根据当前场中多个方向上的像素的像素值之间的差值计算当前场多个方向的相关性,选择相关性最大的方向上的多个像素及先前场与待插值像素对应的像素的像素值进行滤波,计算补偿像素值,补偿判定模块,根据初始像素值、补偿像素值以及场内插值计算待插值像素的确定像素值。由上述方案可见,计算待插值像素的像素值时,结合运动检测、运动权重计算、补偿像素值的计算,能够使计算的待插值像素值,所计算的待插值像素的像素值更为精确,并且运算量小,对硬件设备的要求低,所生成的图像质量好。附图说明图1是逐行扫描技术所传输数据的像素图。图2是去隔行方法中先前场、当前场以及后续场的像素图。图3是本发明去隔行装置实施例的框图。图4是本发明去隔行方法实施例的流程图。以下结合附图及实施例对本发明作进一步说明。具体实施方式本发明的去隔行方法应用在数字广播电视传输技术中,用于将隔行扫描的数据转换成逐行扫描的技术,也就是生成每一场中缺少的一行像素点的像素值。本发明的去隔行装置是应用去隔行方法所实现的将隔行扫描的数据转换成逐行扫描的数据的装置。隔行扫描技术所传输的数据如图2所示,包括有多个相邻的场,并且每一场仅包含奇数行的数据或者偶数行的数据。例如,三个相邻的场分别是先前场F(n-1)、当前场F(n)、后续场F(n+1),当前场F(n)是正在进行去隔行扫描的场,像素点a、b、c和像素点d、e、f是当前场F(n)相邻的偶数行的像素点,两行像素点之间缺少奇数行的像素点。像素点y、x、z就是去隔行方法中需要计算、生成的奇数行的像素点,其中像素点x是待插值的像素点,像素点y是在计算像素点x之前已经计算的上一插值像素点,像素点z是继像素点x后下一个待插值的像素点。图2所示的先前场F(n-1)中的像素点k、g、h组成的行是先前场F(n-1)奇数行的像素点,后续场F(n+1)中的像素点l、i、j组成的行是后续场F(n+1)中奇数行的像素点,可见,先前场F(n-1)及后续场F(n+1)均缺少偶数行的像素点。参见图3,本发明的去隔行装置具有插值计算模块10以及补偿计算模块20,其中插值计算模块10具有运动检测模块11、场间插值计算模块13、场内插值计算模块14以及混合计算模块15,补偿计算模块20具有补偿基准计算模块21以及补偿判定模块22。运动检测模块11用于计算并判断待插值像素是否存在明显运动,并计算待插值像素的运动权重值。场间插值计算模块13、场内插值计算模块14分别用于计算待插值像素的场间插值与场内插值,混合计算模块15应用待插值像素的运动权重值、场间插值、场内插值计算待插值像素的初始像素。为了确保输出的图像质量更高,减少图像的锯齿、羽化、斑点等现象,计算待插值图像的初始像素值以后,还需要对待插值像素进行运动补偿计算,运动补偿计算由补偿计算模块20实现。补偿基准计算模块21用于计算补偿的基准数据,补偿判定模块22根据补偿基准计算模块21的计算结果计算出补偿的具体数值,获得待插值像素最终的确定像素值。下面结合图4介绍去隔行装置各个模块的工作原理,并且说明去隔行方法的流程。首先,执行步骤S1,接收原始的图像数据,原始图像数据为多场的数据,每一场为奇数场或偶数场,奇数场仅包含奇数行的像素,偶数场仅包含偶数行的显示。然后,运动检测模块11执行步骤S2,计算待插值像素的运动权重。对于图2中的待插值像素x,选取先前场F(n-1)中与待插值像素x对应的像素g以及下一待插值像素z所对应的像素h,并选取后续场F(n+1)中与待插值像素x对应的像素i以及下一待插值像素z所对应的像素j,结合当前场F(n)的上一插值像素y来判断待插值像素x的运动情况。待插值像素的运动权重可以是0或1的整数,也可以是0至1之间的小数,本发明提供两种不同的计算方法。第一种方法是判断待插值像素x是否明显运动,这种方法计算的运动权重值仅为0或者1,运动权重值为0,表示待插值像素x没有明显运动,也就是静止值,如运动权重值为1,表示待插值像素x存在存在明显运动,也就是运动值。具体的计算方法是,将先前场F(n-1)和后续场F(n+1)同一位置处的像素点的像素值之间的绝对差值与一个阈值进行比较,如果该绝对差值小于阈值,可以判断待插值像素不存在明显运动,如果绝对差值大于阈值,则判断待插值像素存在明显运动。例如,选取先前场F(n-1)中像素点g的像素值和后续场F(n+1)中像素点i的像素值之间的绝对值的差值与阈值进行比较,并判断两个像素点之间是不存在运动或存在明显运动,并且将判断值标记为第一运动状态值Y1。在判断两个像素点不存在运动时,第一运动状态值Y1赋值为0,判断两个像素点存在明显运动时,第一运动状态值Y1赋值为1。假设阈值为Th,则可以得到Y1=(|fn-1(g)-fn+1(i)|>Th),其中fn-1(g)为像素点g的像素值,fn+1(i)为像素点i的像素值。同理,选取先前场F(n-1)中像素点h的像素值和后续场F(n+1)中像素点j的像素值之间的绝对值差值与阈值进行比较,判断两个像素点之间是否不存在运动或存在明显运动,并将第二运动状态值标记为Y2。因此可以得到Y2=(|fn-1(h)-fn+1(j)|>Th),其中fn-1(h)为像素点h的像素值,fn+1(j)为像素点j的像素值。并且,将当前场F(n)中上一插值像素y的运动权重值标记为motiony。如果第一运动状态值Y1、第二运动状态值Y2和上一插值像素y的运动权重值motiony中有两个值为1,则判断当前场F(n)的待插值像素x存在明显运动,否则,认为待插值像素点x不存在运动或者运动不明显。假设将待插值像素x的运动权重值标记为motionx,可以得到逻辑式motionx=Y1&&motiony||Y1&&Y2||Y2&&motion。通过上述的逻辑公式可以计算出待插值像素x的运动权重值。特殊地,在计算第一个待插值像素时,将上一插值像素的运动权重值标记motiony置为1。第二种方法是将待插值像素x的运动权重值motionx使用小数表示,其取值范围为0至1之间。并且,设置两个阈值,分别是Th1和Th2,优选地,两个阈值的取值分别是Th1=8和Th2=16。计算待插值像素x的运动权重值时,选取先前场F(n-1)中像素点g的像素值和后续场F(n+1)像素点i的像素值之间的绝对值差值与阈值进行比较,如果两个像素点插值的绝对值小于阈值Th1,即|fn-1(g)-fn+1(i)|<Th1,则认为第一运动状态值motionx1=0。如果两个像素点插值的绝对值大于阈值Th1,但小于Th2+Th1,即Th1<|fn-1(g)-fn+1(i)|<Th2+Th1,则认为0<motionx1<1,例如可以使用公式motionx1=(|fn-1(g)-fn+1(i)|-Th1)/Th2计算得到motionx1的值。如果两个像素点插值的绝对值大于Th2+Th1,即|fn-1(g)-fn+1(i)|>Th2+Th1,则认为第一运动状态值motionx1=1。同理,选取先前场F(n-1)中像素点h的像素值和后续场F(n+1)的像素点j的像素值之间的绝对值差值与阈值进行比较,如果|fn-1(h)-fn+1(j)|<Th1,则认为第二运动状态值motionx2=0;如果Th1<|fn-1(h)-fn+1(j)|<Th2+Th1,则认为0<motionx2<1,例如可以使用公式motionx2=(|fn-1(h)-fn+1(j)|-Th1)/Th2计算得到motionx2的值;如果|fn-1(h)-fn+1(j)|>Th2+Th1,则认为第二运动状态值motionx2=1。最后,结合第一运动状态值motionx1、第二运动状态值motionx2和上一插值像素的运动权重值motiony的值计算待插值像素x的运动状态及运动权重值,待插值像素x的运动权重值motionx为第一运动状态值motionx1、第二运动状态值motionx2与上一插值像素y的运动权重值motiony之和的一半,也就是通过以下公式计算待插值像素x的运动权重值motionx:Motionx=(motionx1+motionx2+motiony)/2。如果计算结果motionx>1,则认为motionx=1,如果0<motionx<1,则认为motionx=motionx。计算待插值像素x的运动权重值后,场间插值计算模块13与场内插值计算模块14执行步骤S3,分别计算待插值像素x的场间插值与场内插值。计算场间插值时,选取先前场F(n-1)和后续场F(n+1)中与待插值像素x对应位置的像素的像素值进行平均值计算即可。例如选取先前场F(n-1)中像素点g以及后续场F(n+1)的像素点i的像素值,按照以下公式计算得出待插值像素x的场间插值ft:ft=[fn-1(g)+fn+1(i)]/2。计算场内插值时,采用同一场内与待插值像素x上下两行对应像素的像素值平均值来获得场内插值,例如选取当前场F(n)中的像素点b和像素点e的像素值,按以下公式计算得出待插值像素x的场内插值fs:fs=[fn(b)+fn(e)]/2,其中fn(b)、fn(e)分别是像素点b与像素点e的像素值。然后,混合计算模块15执行步骤S4,计算待插值像素x的初始像素值fadp。计算待插值像素x的初始像素值fadp,需要结合场间插值ft、场内插值fs和运动权重值Motionx三个数值进行计算。例如,可按照以下公式计算得出待插值像素x的初始像素值fadp:fadp=fs×Motionx+(1-Motionx)×ft。上述的步骤S1至步骤S4运算量较小,因此对电子设备的硬件要求较低,只需要计算先前场F(n-1)和后续场F(n+1)中一行的数据即可,所以不需要行缓冲器来缓存先前场F(n-1)和后续场F(n+1)的数据。如仅仅依靠待插值像素x的运动检测结果来确定待插值像素x的像素值,计算结果往往未必十分准确,可能将部分运动的像素误判为静止,因此需要通过运动自适应的补偿计算模块20对步骤S4的结果进行补偿计算。执行补偿计算时,首先,执行步骤S5,补偿基准计算模块21计算当前场F(n)多个方向的相关性,选取先前场F(n-1)中的像素点g以及当前场F(n)中的像素点a、b、c、d、e、f进行运算,即计算当前场F(n)上下两行的像素点的对角线方向代表可能的边缘方向,通过计算、比较不同方向上的像素之间的绝对值,判断多个方向上对应像素与待插值像素x的相关性,绝对差值越小的相关性越大,最小差值对应的方向就是边沿方向。优选地,多个不同的方向包括对角线方向、相邻倾斜方向以及竖直方向,如像素点a、x、f在对角线方向上,像素点b、f为相邻倾斜方向上,像素点b、x、e在竖直方向上。因此,可以下面的六条公式分别计算不同方向上的相关性。X1=|fn(a)-fn(e)|+|fn(b)-fn(f)|;X2=|fn(b)-fn(d)|+|fn(c)-fn(e)|;X3=|fn(b)-fn(e)|×2;K1=|fn(a)-fn(f)|;K2=X3/2;K3=|fn(c)-fn(d)|。然后,选择相关性最大的一个方向上的多个像素点及先前场待插值像素对应的像素的像素点进行中值滤波。中值滤波就是选取多个像素点中像素值的中位数。首先选择X1、X2、X3中最小的绝对差值,进行五点的中值滤波。考虑到如果相关性最大的一个方向是90度,即当前场F(n)中像素点b和像素点e的连线方向相关性最大,那么五点的中值滤波将退化为像素点b、e、g三点中值滤波,计算得出的结果更优。因此,在判X1、X2、X3中最小绝对差值后,需要进一步做如下判断:如果X1为X1、X2、X3中的最小绝对值差值,比较K1和K2的大小,如果K1<K2,选择像素点a、b、e、f、g进行中值滤波,否则选取像素点b、e、g进行中值滤波。如果X2为X1、X2、X3中的最小绝对值差值,比较K2和K3的大小,如果K3<K2,选择像素点b、c、d、f、g进行中值滤波,否则选取像素点b、e、g进行中值滤波。如果X3为X1、X2、X3中的最小绝对值差值,直接选取像素点b、e、g进行中值滤波。可见,本发明采用的是五点中值滤波方,相比起三点中值滤波方法可以消除图像中的锯齿,输出的图像质量更佳。执行上述的中值滤波后,可以计算得出待插值像素x的补偿像素值fstd,至此,执行完毕步骤S6。然后,补偿判定模块22执行步骤S7,在待插值像素x的初始像素值fadp、补偿像素值fstd以及场内插值fs之间选取一个像素值作为待插值像素x的确定像素值,也就是进行补偿判定计算。补偿判定计算是对上述三个数值进行绝对值差值补偿判断计算,选择绝对值插值较小的值为待插值像素x的去隔行插值计算结果,也就是确定像素值comp。例如,如果|fstd-fadp|<|fstd-fs|,则确定像素值comp为初始像素值fadp,否则,选取场内插值fs作为确定像素值comp。优选地,补偿判定计算模块22也可以采用中值滤波代替上述的计算,即通过以下的公式计算确定像素值comp:comp=median(fstd,fs,fadp)。其中median是中值运算。经过上述运算可以计算出确定像素值comp,并最后执行步骤S8,将计算得到的确定像素值comp输出。通过上述的方法计算待插值像素的像素值能够补偿每一场所缺少的奇数行的像素或者偶数行的像素,并且本发明的去隔行方法的运算量小,对硬件要求低,从而降低去隔行技术的应用成本。并且,应用补偿计算后,能够消除图像的锯齿、羽化等现象,提高图像的质量。当然,上述实施例仅是本发明优选的实施方式,实际应用时还可以有更多的变化,例如计算待插值像素的运动权重值时,可以使用其他的公式;或者,计算多个方向的相关性时,可以采用更多或一部分的方向作为计算基准,这样的改变并不影响本发明的实施。最后需要强调的是,本发明不限于上述实施方式,如判断像素是否明显运动的具体计算方法的改变、计算初始像素值、补偿像素值的具体计算公式的改变等变化也应该包括在本发明权利要求的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1