专利名称:利用运动矢量和图像边缘检测去交织视频处理方法及系统的制作方法
技术领域:
本发明涉及一种图像增强处理的方法和系统,尤其是针对现代标准电视系统隔行扫描的数字信号进行去交织的方法和系统。
背景技术:
目前,标准的电视系统都是基于隔行扫描的视频信号传输技术。所谓隔行扫描(interlace)是电视系统为了减少带宽的需求而采取的一种措施。即一个完整的图像是由两个域构成,分别称为奇数行和偶数行构成。每帧只能传输一个域。
基于这种数据传输原理的设备都会产生以下问题在某一时刻,由照相机捕获一帧图像数据,并传输其奇数域。若干毫秒之后,再传输照相机捕获图像的偶数域。对于这种隔行扫描的设备,最大的缺陷就是容易产生“锯齿型”边缘。这种“交织”化了的图像使得基于运动的处理变得困难。
针对以上问题,目前已经有一些图像交织的算法。这些方案试图在增强图像质量与降低硬件成本上找到折中。通常包括以下几类简单的空间插值、基于方向的滤波和更高级的运动补偿插值。对于基于运动补偿型方案,虽然可以得到较高的图像质量,但复杂度始终无法降低到一个适合于商业应用的标准。本文针对这一问题提出一种新的方案,使得可以输出高视觉品质的影像并可以达到低计算复杂度的要求。
发明内容
[要解决的技术问题] 为了克服现有的这些方案在图像质量与计算复杂度上无法完美结合的不足,本发明提供出一种可以自动适应动作变化,以边缘侦测为补偿基础的除交织系统。
[技术方案] 本发明解决其技术问题所采用的技术方案是对影像动作进行运动侦测,将影像切割成动态区域和表态区域,并分别针对两种不同的区域采用不同的除交织方法。
本方法主要分为以下四个步骤进行其中一、四步为算法开始与结束的必选步骤,二、三步分别针对每个图像区域,选择其中之一即可。
一、运动侦测(Motion detect)。这里侦测算法选取BPPD(brightness profile patterndifference)方法。不同于大多数的运动自适应方法,此方法只采用亮度的差值侦测运动。它的特点是抗噪声能力强且对运动反应更加敏捷。
下面我们详细介绍BPPD方法 首先定义fn-2,fn-1,fn,fn+1为连续的四帧数据,它们存放在内存缓冲区中。其中,fn代表当前帧。它的前趋是fn-2和fn-1,后继是fn+1。
1.定义一些亮度值如下(下面是公式) 公式中f(x,n)代表域n中某一像素(x=[x,y]t)的亮度值。xn=[λ,1]t 2.定义亮度的差值Bd,代表一个特定的像素点在域n和域n-2之间的亮度差。
3.亮度的剖分(profile)值定义为 4.再构造亮度剖分模式距离(brightness profile pattern difference)测量特定点在相邻域之间的梯度值。
5.最后定义七个运动估计值,分别定义如下 针对这七个估算值,我们相应得定义了三个域值(TA、TB和TC),它们分别对应于Bd,P和Pv。如果这七个估计值有一个或多个大于它们对应的阈值,当前像素(x)被认为处于运动区域,否则x处于静态区域。
二、静态区域(Static region)处理。对于静态区域,它与时间域有着密切的联系。因此,通过域之间(inter-field)的均值滤波器得到相邻两帧的平均值。
采用域间均值(Inter-field Averaging)的方法,具体描述如下 输出信号定义为 算法假设样本在相邻域在空间位置上有紧密的联系,就是说这种方式只能用于静太图像(比如背景)。对于动态的区域,将会产生模糊的图像。
三、动态区域(Moving region)处理。
对于动态区域,则采取了以边缘检测为基础的去交织算法。首先侦测出物体的边缘,包括垂直、水平和其他方向的边缘。针对不同的方向各自做除交织运算。特别地,对于非水平或垂直方向的边缘,用三步骤法更精确地判断其方向和角度,用四分之一像素的精确度进行内插。
1.边缘检测(edge detection) 最有名的基于边缘的插值算法是ELA算法。但这种方法很容易因为个别错误的像素点造成整体判断的失误。因此,必须采用更精确估计边缘方向的方法。
本方案提出用改进的Sobel算子计算水平和垂直的梯度值。通常包括两个算子分别计算水平和垂直的值。两个滤波算子作为一个滑动窗口以从左到右的顺序进行计算。垂直方向的计算结果被称为(V_coeff),水平方向的结果计做(H_coeff)。另外还有两个预先定义的阈值分别是垂直阈值(vertical threshold)和水平阈值(horizontal threshold)。四个值共同作用来完成边缘的探测。
2.基于边缘探测的去交织算法 边缘检测的结果得到两个分量,分别为V_coeff和H_coeff。将它们与预先定义的阈值比较,会得到以下四种情况 1)平滑区域(Smooth area)V_coeff<VT,H_coeff<HT 平滑区域没有显著的亮度变化,因此像素与其周围点的亮度值相似。由于隔行扫描的图像不存在左右点的值,因此,只能利用其上下各点的值进行插值,公式如下 2)垂直边缘(Vertical edge)V_coeff>=VT,H_coeff<HT 此类图像边缘上的点与其上下各点的关系极其密切,因此,利用上下各点的值进行插值公式同上。
3)水平边缘(Horizontal edge)V_coeff<VT,H_coeff>=HT 对于水平边缘的插值会比较麻烦,因为我们无法知道左右相邻的点的亮度值。如果通过运动估计的方式从相邻帧获取插值将会给系统带来较高的计算复杂度。同样,这里提出一种方法,可以在高图像质量与低计算复杂性之间找到折中。
通过观察,水平边缘图像一般分为两类一种是渐近式的边缘,另一种则是很规则的边缘。分别对两种不同的边缘取不同的点进行插值 具体方法如下 首先定义方向差值 对于渐近式边缘,选择一个最相关的边缘方式方向,对于规则的水平边缘,任何一个方向计算都是等价的。
Dmin=min(D1,D2) 插值的结果计算如下 4)倾斜角度(Edge with oblique angle)V_coeff>=VT,H_coeff>=HT 这种情况边缘和x轴的角度会从0度到90度之间变化。因此,角度可能出现的区间比较大。直接计算角度的数值将会增加系统的负载。这里通过三步骤法来推测边缘的方向。
第一步,通过一个粗糙的法则决定角度属于以下三种分类中的哪一种 接近垂直(near vertical)、接近水平(near horizontal)和接近45度 第二步,判断边缘的方向右下(right-down)或左下(left-down)。
第三步,本步骤所采用的方法可以极大减少参考样本的数目,如果步骤二中成功判断了边缘的方向,则参考样本像素数可以减半。
例如,如果当前边缘检测为接近水平(near horizontal),但第二步结果未确定。则参考点包括以下4个(Ua1,La1),(Ua2,La2),(Ua3,La3),(Ua4,La4) 输出信号满足以下公式 D1=|Ua1-La1| D2=|Ua2-La2| D3=|Ua3-La3| D4=|Ua4-La4| 如果在第二步中确定边缘的方向为右下(right-down),则插值的参考像素点从16个减少到2个(Ua1,La1),(Ua2,La2)。
输出信号满足以下公式 D1=|Ua1-La1| D2=|Ua2-La2| 四、将静态区域和动态区域合并生成去交织图像输出。
[有益效果] 本发明的有益效果是,可以分别针对图像的静态区域和动态区域采用不同的去交织算法。算法的效率会根据图像中动态区域的面积变化。但对于一般的图像来说,动态区域不会占据整个图像,对于多数情况些算法会具有较高的计算复杂性。同时,相邻的图像域会被作为一个序列连续处理,综合成唯一的输出结果,这避免了图像的抖动,从而获得更好的视觉效果。实验结果证明,本发明可输出高视觉品质的影像,且达到低计算复杂度的要求。
图1是本算法的模块图 图2是运动探测相关联的四个域和用到的参考像素 图3是经过改进的Sobel算子 图4是边缘探测中水平和垂直系数及其阈值 图5是角度边缘的三种不同类型 图6是接近水平且右下方向的边缘参考像素的提取 图7是接近水平但边缘方向不确定参考像素的提取。
权利要求
为了克服现有的这些方案在图像质量与计算复杂度上无法完美结合的不足,本发明提供出一种可以自动适应动作变化,以边缘侦测为补偿基础的除交织系统。本发明解决其技术问题所采用的技术方案是对影像动作进行运动侦测,将影像切割成动态区域和表态区域,并分别针对两种不同的区域采用不同的除交织方法。本方法主要分为以下四个步骤进行其中一、四步为算法开始与结束的必选步骤,二、三步分别针对每个图像区域,选择其中之一即可。1、运动侦测(Motion detect)。这里侦测算法选取BPPD(brightness profile pattern difference)方法。不同于大多数的运动自适应方法,此方法只采用亮度的差值侦测运动。它的特点是抗噪声能力强且对运动反应更加敏捷。
下面我们详细介绍BPPD方法
首先定义fn-2,fn-1,fn,fn+1为连续的四帧数据,它们存放在内存缓冲区中。其中,fn代表当前帧。它的前趋是fn-2和fn-1,后继是fn+1。
1).定义一些亮度值如下(下面是公式)
公式中f(x,n)代表域n中某一像素(x=[x,y]t)的亮度值。xn=[λ,1]t
2).定义亮度的差值Bd,代表一个特定的像素点在域n和域n-2之间的亮度差。
3).亮度的剖分(profile)值定义为
4).再构造亮度剖分模式距离(brightness profile pattern difference)测量特定点在相邻域之间的梯度值。
5).最后定义七个运动估计值,分别定义如下
针对这七个估算值,我们相应得定义了三个域值(TA、TB和TC),它们分别对应于Bd,P和Pv。如果这七个估计值有一个或多个大于它们对应的阈值,当前像素(x)被认为处于运动区域,否则x处于静态区域。
2、静态区域(Static region)处理。对于静态区域,它与时间域有着密切的联系。因此,通过域之间(inter-field)的均值滤波器得到相邻两帧的平均值。
采用域间均值(Inter-field Averaging)的方法,具体描述如下
输出信号定义为
算法假设样本在相邻域在空间位置上有紧密的联系,就是说这种方式只能用于静太图像(比如背景)。对于动态的区域,将会产生模糊的图像。
3、动态区域(Moving region)处理。
对于动态区域,则采取了以边缘检测为基础的去交织算法。首先侦测出物体的边缘,包括垂直、水平和其他方向的边缘。针对不同的方向各自做除交织运算。特别地,对于非水平或垂直方向的边缘,用三步骤法更精确地判断其方向和角度,用四分之一像素的精确度进行内插。
1).边缘检测(edge detection)
最有名的基于边缘的插值算法是ELA算法。但这种方法很容易因为个别错误的像素点造成整体判断的失误。因此,必须采用更精确估计边缘方向的方法。
本方案提出用改进的Sobel算子计算水平和垂直的梯度值。通常包括两个算子分别计算水平和垂直的值。两个滤波算子作为一个滑动窗口以从左到右的顺序进行计算。垂直方向的计算结果被称为(V_coeff),水平方向的结果计做(H_coeff)。另外还有两个预先定义的阈值分别是垂直阈值(vertical threshold)和水平阈值(horizontal threshold)。四个值共同作用来完成边缘的探测。
2).基于边缘探测的去交织算法
边缘检测的结果得到两个分量,分别为V_coeff和H_coeff。将它们与预先定义的阈值比较,会得到以下四种情况
(1)平滑区域(Smooth area)V_coeff<VT,H_coeff<HT
平滑区域没有显著的亮度变化,因此像素与其周围点的亮度值相似。由于隔行扫描的图像不存在左右点的值,因此,只能利用其上下各点的值进行插值,公式如下
(2)垂直边缘(Vertical edge)V_coeff>=VT,H_coeff<HT
此类图像边缘上的点与其上下各点的关系极其密切,因此,利用上下各点的值进行插值。公式同上。
(3)水平边缘(Horizontal edge)V_coeff<VT,H_coeff>=HT
对于水平边缘的插值会比较麻烦,因为我们无法知道左右相邻的点的亮度值。如果通过运动估计的方式从相邻帧获取插值将会给系统带来较高的计算复杂度。同样,这里提出一种方法,可以在高图像质量与低计算复杂性之间找到折中。
通过观察,水平边缘图像一般分为两类一种是渐近式的边缘,另一种则是很规则的边缘。分别对两种不同的边缘取不同的点进行插值
具体方法如下
首先定义方向差值
对于渐近式边缘,选择一个最相关的边缘方式方向,对于规则的水平边缘,任何一个方向计算都是等价的。Dmin=min(D1,D2)
插值的结果计算如下
(4)倾斜角度(Edge with oblique angle)V_coeff>=VT,H_coeff>=HT
这种情况边缘和x轴的角度会从0度到90度之间变化。因此,角度可能出现的区间比较大。直接计算角度的数值将会增加系统的负载。这里通过三步骤法来推测边缘的方向。
第一步,通过一个粗糙的法则决定角度属于以下三种分类中的哪一种
接近垂直(near vertical)、接近水平(near horizontal)和接近45度
第二步,判断边缘的方向右下(right-down)或左下(left-down)。
第三步,本步骤所采用的方法可以极大减少参考样本的数目,如果步骤二中成功判断了边缘的方向,则参考样本像素数可以减半。
例如,如果当前边缘检测为接近水平(near horizontal),但第二步结果未确定。则参考点包括以下4个(Ua1,La1),(Ua2,La2),(Ua3,La3),(Ua4,La4)
输出信号满足以下公式
if min(D1,D2,D3,D4)=D1
if min(D1,D2,D3,D4)=D2
if min(D1,D2,D3,D4)=D3
if min(D1,D2,D3,D4)=D4
D1=|Ua1-La1|
D2=|Ua2-La2|
D3=|Ua3-La3|
D4=|Ua4-La4|
如果在第二步中确定边缘的方向为右下(right-down),则插值的参考像素点从16个减少到2个(Ua1,La1),(Ua2,La2)。
输出信号满足以下公式
D1=|Ua1-La1|
D2=|Ua2-La2|
4、将静态区域和动态区域合并生成去交织图像输出。
本发明的有益效果是,可以分别针对图像的静态区域和动态区域采用不同的去交织算法。算法的效率会根据图像中动态区域的面积变化。但对于一般的图像来说,动态区域不会占据整个图像,对于多数情况些算法会具有较高的计算复杂性。同时,相邻的图像域会被作为一个序列连续处理,综合成唯一的输出结果,这避免了图像的抖动,从而获得更好的视觉效果。实验结果证明,本发明可输出高视觉品质的影像,且达到低计算复杂度的要求。
全文摘要
一种利用运动矢量合图像边缘检测去交织视频处理方法及系统。一个能够适应动作变化,以边缘侦测为补偿基础的除交错系统。为提高视觉效果并避免影像闪烁,本算法先对影像做动作的侦测,将影像切割成动态区域和静态区域,并在两个区域采用不同的除交错方法。
文档编号H04N5/14GK101340539SQ20071012284
公开日2009年1月7日 申请日期2007年7月6日 优先权日2007年7月6日
发明者曹喜信, 于敦山, 兴 张 申请人:北京大学软件与微电子学院