一种数字化处理逐行扫描电视信号的自适应补偿算法的制作方法

文档序号:7685433阅读:134来源:国知局
专利名称:一种数字化处理逐行扫描电视信号的自适应补偿算法的制作方法
一、所属领域本发明属于计算视频、电视扫描格式转换技术领域,特别涉及一种数字化处理逐行扫描电视信号的自适应补偿算法。
为了实现上述目的,本发明采用的解决方案是包括运动与静止检测算法、运动补偿算法和边缘场保护算法三个部分;其特征是运动与静止的检测算法的目的是将电视信号中的运动物体和静止物体区分开来;运动补偿算法是对电视信号中运动物体进行有效的补偿,使得补偿后的图像的主观效果得到大大改善;边缘场保护算法是为了弥补在运动部分与静止部分边缘的交界处所产生的补偿失真。
运动与静止的检测算法是使用对两帧图像求差值,并根据阈值来判断运动与静止;假设现有两帧图像Current[m,n]和Last[m,n],Current[m,n]是当前帧图像,Last[m,n]是上一帧图像;假设用MotionCheck[m,n]来表明Current[m,n]是运动还是静止,则MotionCheck[m,n]的表达式如下MotionCheck[m,n]={0;|Current[m,n]-Last[m,n]|<Threshold;1;|Current[m,n]-Last[m,n]|≥Threshold;---(1)]]>公式(1)中Threshold是判断运动与静止的阈值;如果MotionCheck为1,表明该像素Current[m,n]属于运动部分;如果MotionCheck为0,表明该像素Current[m,n]属于静止部分;运动补偿算法是在所要处理像素的临域内,搜寻梯度值最小的方向,并在该方向上做均值运算或者中值运算。
在像素点(m,n)处的图像边缘一定在其梯度最小的方向上,当前点(m,n)在α(45°),β(90°),γ(135°)这三个方向上梯度分别为▿αf(m,n)=12[f(m+1,n-1)-f(m-1,n+1)]---(2)]]>▿βf(m,n)=12[f(m,n-1)-f(m,n+1)]---(3)]]>▿χf(m,n)=12[f(m-1,n-1)-f(m+1,n+1)]---(4)]]>梯度的绝对值|αf|,|βf|和|χf|最小的方向就是当前帧图像在点(m,n)处的边缘方向,所以运动补偿的输出可以定义为g(m,n)=13{fup+fmiddle+fdown}]]>或 g(m,n)=Med{fup,fmiddle,fdown} (5)其中fmiddle=f(m,n) 公式(5)和(6)是对于当前点(m,n)来说,算法先在其8临域内的三个方向搜寻边缘;然后根据搜寻到的边缘方向上的灰度值或亮度值来决定点(m,n)的灰度值或亮度值,即可以采用边缘方向上的三点均值,也可以使用三点中值(Med表示求中值);这样就可以修正因图像运动而造成奇、偶两场信号的差异,从而减小图像的边缘模糊现象。
边缘场保护算法是求出所要处理像素的临域内的运动点的个数,并根据阈值来确定该像素是否受到保护;从而修正由于运动补偿算法所带来的新的边缘锯齿效应。
该算法首先对要处理的点的8临域进行分析,其表达式如下Protect[m,n]={0;SumMotion[m,n]>SumThreshold1;SumMotion[m,n]≤SumThreshold---(7)]]>SumMotion[m,n]=Sum(MotionCheck[i,j]);{n-1≤j≤n+1m-1≤i≤m+1}---(8)]]>公式(8)中的Sum( )是求和函数,公式(7)中的SumThreshold是根据经验选取的阈值,公式(7)的目的是求出每一点所对应的Protect[m,n]的值,如果该值为1,则其对应的点就受到保护,而不进行任何运算;反之,则表明该点需要通过运动补偿算法的处理。
本发明的数字化处理逐行扫描电视信号的自适应补偿算法,能够同时很好地解决图像中的运动物体与静止物体的失真现象。
数字化处理逐行扫描电视信号的自适应补偿算法,包括运动与静止的检测算法、运动补偿算法、边缘场保护算法。运动与静止的检测算法的目的是将电视信号中的运动物体和静止物体区分开来;运动补偿算法是对电视信号中运动物体进行有效的补偿,使得补偿后的图像的主观效果得到大大改善;边缘场保护算法是为了弥补在运动部分与静止部分边缘的交界处所产生的补偿失真。本发明在算法的实现上充分考虑硬件的实现因素。算法中的运算都只涉及运算速度最快的加法和减法运算,所以使得该算法具有实时、高效的特点。
1)运动与静止的检测算法如果要检测出一帧图像中的运动部分与静止部分,算法中就必须用到两帧图像的信息。假设现有两帧图像Current[m,n]和Last[m,n],Current[m,n]是当前帧图像,Last[m,n]是上一帧图像。假设用MotionCheck[m,n]来表明Current[m,n]是运动还是静止,则MotionCheck[m,n]的表达式如下MotionCheck[m,n]={0;|Current[m,n]-Last[m,n]|<Threshold;1;|Current[m,n]-Last[m,n]|≥Threshold;---(1)]]>公式(1)中Threshold是判断运动与静止的阈值。如果MotionCheck为1,表明该像素Current[m,n]属于运动部分;如果MotionCheck为0,表明该像素Current[m,n]属于静止部分。
2)运动补偿算法运动补偿算法的目的是利用隔行电视信号的奇偶场信息,组合成逐行电视信号的一帧信息,并消除由隔行转换为逐行时所带来的运动边缘锯齿现象。运动补偿算法的核心如

图1所示。我们知道在像素点(m,n)处的图像边缘一定在其梯度最小的方向上,换句话说,在图像边缘方向上图像的灰度值变化最小。当前点(m,n)在α,β,γ这三个方向上梯度分别为▿αf(m,n)=12[f(m+1,n-1)-f(m-1,n+1)]---(2)]]>▿βf(m,n)=12[f(m,n-1)-f(m,n+1)]---(3)]]>▿χf(m,n)=12[f(m-1,n-1)-f(m+1,n+1)]---(4)]]>由上面的分析可知,梯度的绝对值|αf|,|βf|和|χf|最小的方向就是当前帧图像在点(m,n)处的边缘方向,所以运动补偿的输出可以定义为g(m,n)=13{fup+fmiddle+fdown]]>或 g(m,n)=Med{fup,fmiddle,fdown(5)其中fmiddle=f(m,n) 事实上,公式(5)和(6)是基于这样的原理对于当前点(m,n)来说,算法先在其8临域内的三个方向搜寻边缘;然后根据搜寻到的边缘方向上的灰度值或亮度值来决定点(m,n)的灰度值或亮度值,即可以采用边缘方向上的三点均值,也可以使用三点中值。这样就可以修正因图像运动而造成奇、偶两场信号的差异,从而减小图像的边缘模糊现象。
3)边缘场保护算法该算法的目的是对运动部分与静止部分的边缘进行保护处理,从而修正由于运动补偿算法所带来的新的边缘锯齿效应。该算法首先对要处理的点的8临域进行分析。其表达式如下Protect[m,n]={0;SumMotion[m,n]>SumThreshold1;SumMotion[m,n]≤SumThreshold---(7)]]>SumMotion[m,n]=Sum(MotionCheck[i,j]);{n-1≤j≤n+1m-1≤i≤m+1}---(8)]]>公式(8)中的Sum( )是求和函数,公式(7)中的SumThreshold是根据经验选取的阈值。公式(7)的目的是求出每一点所对应的Protect[m,n]的值,如果该值为1,则其对应的点就受到保护,而不进行任何运算;反之,则表明该点需要通过运动补偿算法的处理。
4)总的算法流程图请参看图2。图2中的f(m,n)表示当前帧内的像素的灰度值或亮度值,g(m,n)表示经过算法处理后的最终的灰度值或亮度值,MotionCheck(i,j)是经过算法公式(1)求出的对应值。在图2中,共有三路信号。第一路,作为输入端的f(m-1,n-1)、f(m+1,n+1)、f(m,n-1)、f(m,n+1)、f(m-1,n+1)、f(m+1,n-1)六个像素分别通过减法运算,得到三个差值Diff1、Diff2、Diff3;然后对这三个差值进行求绝对值运算,得出的绝对值按照公式(6)的算法通过比较器得出fup、fmiddle、fdown;再取这三个值的中值或者均值,作为两路选择器的一路输入。第二路,将f(m,n)直接作为两路选择器的一路输入。第三路信号其实是作为两路选择器的选择信号,从图2可以看出该信号是按照公式(1)先求出当前帧所对应的MotionCheck[m,n],而后对MotionCheck[m,n]的8临域求和得出SumMotion[m,n],再依照公式(7)求出Protect[m,n]作为两路选择器的选择信号。当Protect[m,n]=1,g[m,n]=f[m,n];反之g[m,n]=f′[m,n]。
权利要求
1.一种数字化处理逐行扫描电视信号的自适应补偿算法,包括运动与静止检测算法、运动补偿算法和边缘场保护算法三个部分;其特征在于运动与静止的检测算法的目的是将电视信号中的运动物体和静止物体区分开来;运动补偿算法是对电视信号中运动物体进行有效的补偿,使得补偿后的图像的主观效果得到大大改善;边缘场保护算法是为了弥补在运动部分与静止部分边缘的交界处所产生的补偿失真;所述运动与静止的检测算法是使用对两帧图像求差值,并根据阈值来判断运动与静止;假设现有两帧图像Current[m,n]和Last[m,n],Current[m,n]是当前帧图像,Last[m,n]是上一帧图像;假设用MotionCheck[m,n]来表明Current[m,n]是运动还是静止,则MotionCheck[m,n]的表达式如下MotionCheck[m,n]={0;|Current[m,n]-Last[m,n]|<Threshold;1;|Current[m,n]-Last[m,n]|≥Threshold;---(1)]]>公式(1)中Threshold是判断运动与静止的阈值;如果MotionCheck为1,表明该像素Current[m,n]属于运动部分;如果MotionCheck为0,表明该像素Current[m,n]属于静止部分;所述运动补偿算法是在所要处理像素的临域内,搜寻梯度值最小的方向,并在该方向上做均值运算或者中值运算;在像素点(m,n)处的图像边缘一定在其梯度最小的方向上,当前点(m,n)在α,β,γ这三个方向上梯度分别为▿αf(m,n)=12[f(m+1,n-1)-f(m-1,n+1)]---(2)]]>▿βf(m,n)=12[f(m,n-1)-f(m,n+1)]---(3)]]>▿χf(m,n)=12[f(m-1,n-1)-f(m+1,n+1)]---(4)]]>梯度的绝对值|αf|,|βf|和|χf|最小的方向就是当前帧图像在点(m,n)处的边缘方向,所以运动补偿的输出可以定义为g(m,n)=13{fup+fmiddle+fdown}]]>或 g(m,n)=Med{fup,fmiddle,fdown} (5)其中fmiddle=f(m,n) 公式(5)和(6)是,对于当前点(m,n)来说,算法先在其8临域内的三个方向搜寻边缘;然后根据搜寻到的边缘方向上的灰度值或亮度值来决定点(m,n)的灰度值或亮度值,即可以采用边缘方向上的三点均值,也可以使用三点中值;这样就可以修正因图像运动而造成奇、偶两场信号的差异,从而减小图像的边缘模糊现象;所述边缘场保护算法是求出所要处理像素的临域内的运动点的个数,并根据阈值来确定该像素是否受到保护;从而修正由于运动补偿算法所带来的新的边缘锯齿效应;该算法首先对要处理的点的8临域进行分析,其表达式如下Protect[m,n]={0;SumMotion[m,n]>SumThreshold1;SumMotion[m,n]≤SumThreshold---(7)]]>SumMotion[m,n]=Sum(MotionCheck[i,j]);{n-1≤j≤n+1m-1≤i≤m+1}---(8)]]>公式(8)中的Sum( )是求和函数,公式(7)中的SumThreshold是根据经验选取的阈值,公式(7)的目的是求出每一点所对应的Protect[m,n]的值,如果该值为1,则其对应的点就受到保护,而不进行任何运算;反之,则表明该点需要通过运动补偿算法的处理。
全文摘要
本发明公开了一种数字化处理电视中逐行扫描电视信号的自适应补偿算法。该算法可以很好的消除在将现行隔行扫描电视信号转换为逐行扫描电视信号的过程中所产生的运动失真。该算法包括运动与静止检测算法、运动补偿算法和边缘厂保护算法三个部分。运动与静止的检测算法的目的是将电视信号中的运动物体和静止物体区分开来;运动补偿算法是对电视信号中运动物体进行有效的补偿,使得补偿后的图像的主观效果得到大大改善;边缘场保护算法是为了弥补在运动部分与静止部分边缘的交界处所产生的补偿失真。本发明在算法的实现上充分考虑硬件的实现因素。算法中的运算都只涉及运算速度最快的加法和减法运算,所以使得该算法具有实时、高效的特点。
文档编号H04N7/01GK1375992SQ0211454
公开日2002年10月23日 申请日期2002年4月27日 优先权日2002年4月27日
发明者郑南宁, 梁寒, 吴勇 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1