一种视差计算方法及装置的制作方法

xiaoxiao2020-9-10  10

专利名称:一种视差计算方法及装置的制作方法
技术领域
本发明涉及三维视频编码技术领域,具体的讲是一种视差计算方法及装置。
背景技术
在传统单视点电视系统中,用户的视点与视角由摄像机的三维空间位置与方向决 定。因此用户不能自由的选择观看的视点与视角。2002年提出的任意视点电视(FTV:free viewpoint television)系统则允许用户自由选择观看电视的视点与视角,从而提供一种 全新的更加生动、真实的三维视听系统。 FTV的一项关键技术就是如何获得准确的深度信息,例如依据相邻的两个摄像机 拍摄的两幅视图进行立体匹配(stereo matching),即视差估计。 现有技术将全局优化算法应用到视差估计,其中,全局优化算法主要构造一个满 足一定约束条件的能量模型如(1)式所示,使得全局的失配能量达到最小。视差估计的准 确度关键在于能量函数是否能准确表达在假定的不同视差下对应像素间实际匹配程度,以 及同一深度的相邻像素视差之间的平滑性;也即(1)式中的Edata与Esmooth。
E = Edata+入X Esmooth Edata = 11 (x_d, y) -Iref (x, y) | (1)
Esmooth = | disp (x, y) —disp (xneighb°r, yn"她。r) 式(1)中Edata表示当前像素在视差为d的情况下的匹配误差,I (x,y)表示当前 像素的亮度值,r6f(x-d, y)表示视差为d时,参考视图中的匹配像素的亮度值。与local matching的匹配策略相同,Esmooth表示相邻的两个像素的视差的绝对差,表征了相邻像 素的视差的平滑性。 同时,现有技术一为了提高视差估计的准确性,FTV标准化制定过程中采用了亚像 素的搜索策略计算(1)式中的Edata。 本发明的发明人在实现本发明的过程中发现,现有技术在水平方向上进行插值, 会导致插值结果不够准确,进而导致视差估计的结果也不准确。 现有技术二,2008年7月在Hannover举行的MPEG第85届会议中,GIST提出在匹 配误差函数Edata时增加时间一致性约束,即在(1)式中的Edata表达式中添加时间一致 性约束项,如(2)式所示 Edata = 11 (x, y) _Iref (x, y_d) | +Ctemp (x, y, d) (2) Ctemp(x, y, d) = AX | d_Dprev(x, y) 在不同的匹配搜索方法中,(2)式中的|l(x, y)_ref(x, y-d) |可以采用其它的函 数代替,并不直接的体现时间一致性的约束。Dprev(x,y)表示在前一帧中与当前帧像素(x, y)具有相同坐标的像素的视差,A表示加权因子,Ctemp(x, y, d)为时间一致性的约束项;d 为当前像素的估计视差。 本发明的发明人在实现本发明的过程中发现,现有技术二对时间一致性的约束并
4没有考虑到运动特征,对运动区域采用统一的时间一致性约束,使得估计的视差出现错误, 即准确率很低。

发明内容
本发明实施例提供一种视差计算方法及装置,可以提高估计的视差的准确率。
根据本发明的一方面,提供一种视差计算方法,所述方法包括获取像素点的多个 视图;计算所述多个视图中所述像素点的多个方向上的梯度;根据所述梯度计算所述像素 点视差对应的匹配误差;根据所述匹配误差计算所述像素点的视差。 根据本发明的另一方面,还提供一种视差计算方法,所述方法包括获取像素点的 多个视图,所述多个视图包括所述像素点所在的当前视图和所述像素点相对应的参考像素 点的参考视图;对当前视图中的像素点进行运动检测;根据运动检测的结果计算所述像素 点视差对应的匹配误差;根据所述匹配误差计算所述像素点的视差。 根据本发明的另一方面,还提供一种视差计算装置,所述装置包括获取单元,用 于获取像素点的多个视图;梯度计算单元,用于计算所述多个视图中所述像素点的多个方 向上的梯度;匹配误差单元,用于根据所述梯度计算所述像素点视差对应的匹配误差;视 差计算单元,用于根据所述匹配误差计算所述像素点的视差。 根据本发明的另一方面,还提供一种视差计算装置,所述装置包括获取单元,用 于获取像素点的多个视图,所述多个视图包括所述像素点所在的当前视图和所述像素点相 对应的参考像素点的参考视图;运动检测单元,对当前视图中的像素点进行运动检测;匹 配误差单元,根据运动检测的结果计算所述像素点视差对应的匹配误差;视差计算单元,用 于根据所述匹配误差计算所述像素点的视差。 本发明实施例通过计算像素点及其参考像素点相邻区域的梯度信息,提高了视差 估计的准确度。并且通过分析视图中像素运动与否,从而保持了合成视图中静止区域的时 间一致性,同时克服了未考虑运动区域位移的时间一致性错误,从而提高了视差估计的准 确度。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
图1所示为本发明对像素形态一致性约束的视差计算方法实施例流程图;
图2所示为一个像素点8个方向上的梯度图; 图3所示为本发明对像素运动检测的时间一致性约束的视差计算方法实施例流 程图; 图4所示为本发明对像素形态一致性和运动检测的时间一致性约束的视差计算 方法第一实施例流程图; 图5所示为本发明对像素形态一致性和运动检测的时间一致性约束的视差计算 方法第二实施例流程5
图6所示为本发明对像素形态一致性约束的视差计算装置实施例结构图; 图7所示为本发明对像素运动检测的时间一致性约束的视差计算装置实施例结
构图; 图8所示为本发明对像素形态一致性和运动检测的时间一致性约束的视差计算 装置实施例结构图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 本发明实施例提供一种视差计算方法及装置。以下结合附图对本发明进行详细说 明。 如图1所示为本发明对像素形态一致性约束的视差计算方法实施例流程图。
包括步骤101,获取像素点的多个视图,在本实施例中,多个视图包括所述像素 点所在的当前视图和所述像素点相对应的参考像素点的参考视图,参考视图可以大于2个 视图,因此,在本实施例中,为获取像素点所在的当前视图和所述像素点的参考视图。在本 实施例中,获取左中右三个视图,其中,中间视图为当前视图,左右视图为中间视图的参考 视图,左右视图中的像素点为中间视图中的像素点在不同视图中的参考像素点。在其它实 例中,也可选取左视图或右视图作为当前视图,其计算方法相同,为描述简单,在本实施你 中,以中间视图作为实施例进行描述。 步骤102,计算多个视图中所述像素点的多个方向上的梯度。如图2所示为一个像
素点8个方向上的梯度图,其中空心圆点为当前像素点,实心圆点为当前像素点的8个方向
上的相邻像素点。所述梯度为像素点与所述像素点的相邻像素点之间的亮度差值,或者色
差值,在本实施例中,所述梯度的值包括左中右间视图中的像素点与所述像素点的相邻像
素点之间的亮度差值或色差值。 例如,采用如下公式计算所述梯度 Gi(x,y) = I(x,y)-I(x-a,y-b), i G {l,2,3,...8},a,b{_l,0,l} (3)
其中I (x, y)为亮度或者色度。 步骤103,根据所述梯度计算所述像素点视差对应的匹配误差。在本实施例中,根
据所述梯度计算当前视图中像素点相对于参考视图的参考像素点的视差对应的匹配误差。
Edata = co X W (L咖)+ (1- ) X Q (Grad) (4)^(Lum)-丄x 9
I Z I(x-a,y-b)- Z rf(x-a-d,y-b)|
a,beH.O,U a,be"l'O"
(5)
1 8Q(Grad)-丄x J]化(x,y)-G「f (x-d,y)l 8
(6) (4)式中"表示加权系数,取值范围为(0 1) ;W (Lum)表示当前视图中以当前 像素(x, y)为中心区域的亮度值与参考视图中以匹配像素为中心区域的亮度值的绝对差 值的平均值,如公式(5)所示;Q (Grad)表示当前像素位置的8个方向的梯度分别与参考视图中的匹配像素的8个方向的梯度的绝对差的均值,如公式(6)所示,其中G「f(x-d,y)是
参考视图的梯度。 步骤104,计算视差。例如可以使用现有技术中的graph cut算法进行全局优化最终得到视差。 作为本发明的一个实施例,在所述步骤102之前还包括,对所述参考视图进行水
平方向的上采样,减小为当前像素的估计视差d,从而提高搜索像素点的精确度。 通过上述实施例,可以通过计算不同视图中像素点及其相邻像素点的梯度,减小
像素点的匹配误差,从而得到更加准确的视差。 如图3所示为本发明对像素运动检测的时间一致性约束的视差计算方法实施例流程图。 在帧组(G0P)内部的所有帧中检测当前帧与前一帧的相对运动区域与静止区域,只对静止区域进行时间一致性约束。 包括步骤301,获取像素点的多个视图,在本实施例中,多个视图包括所述像素点所在的当前视图和所述像素点相对应的参考像素点的参考视图,参考视图可以大于2个视图,因此,在本实施例中,为获取像素点所在的当前视图和所述像素点的参考视图。在本实施例中,获取左中右三个视图,在本实施例中,左右视图为中间视图的参考视图,中间视图作为当前视图,左右视图中的像素点为中间视图像素点在不同视图中的参考像素点。在其它实例中,也可选取左视图或右视图作为当前视图,其计算方法相同,为描述简单,在本实施你中,以中间视图作为实施例进行描述。 步骤302,对当前视图中的像素点进行运动检测。在本实施例中,可对当前视图中的每个像素点进行运动检测。 步骤303,判断当前视图中的像素点是否为运动像素,如果是则进入步骤305,否则进入步骤304。 步骤304,采用第一规则计算当前视图中的像素点视差对应的匹配误差。 步骤305,采用第二规则计算当前视图中的像素点视差对应的匹配误差。 当执行完步骤304或步骤305后,执行步骤306,计算视差。例如采用gr即hcut进
行全局优化估计视差。 其中,作为本发明的一个实施例,在所述步骤302之前还包括,判断当前像素点是否是帧组中的第一帧,如果是则进入步骤305,否则进入步骤302。 作为本发明的一个实施例,步骤302中,将当前像素点及其周围的像素点与时间上相邻帧的相应像素点进行运动检测,周围像素点的数目根据窗口大小确定。计算以当前
像素点为中心的,N,NG {1,3,5,7,......}窗口内的所有像素点亮度的平均值,与前一
帧的同位置区域的像素点的亮度平均值的差异,如果差异大于预定的运动检测门限TH,就认为当前像素点为处于运动区域的像素点,标记为l,否则就判断为处于静止区域的像素,标记为O。还可以对视图中每一个像素都进行判断,最终得到运动像素掩模,称为(MotionMask),以便于计算其他像素点视差时使用。 作为本发明的一个实施例,上述步骤302,还可以对当前像素点所在块在前一帧进行模板匹配,如果在参考视图中最匹配的块和当前块有偏移,则认为当前像素点处于运动区域,最终得到运动像素掩模,标记为l,否则认为处于静止区域的像素,标记为0。
7
作为本发明的一个实施例,所述步骤304和步骤305,所述第一规则针对像素点不运动的情况,第二规则针对像素点运动的情况,所述第一规则和第二规则符合下述公式(7):
<formula>formula see original document page 8</formula> 其中,当Motion Mask(x, y) = 0时代表当前的像素点为不运动的像素点,即第一规则,Motion Mask(x,y) = 1时代表当前的像素点为运动的像素点,即第二规则。
"表示加权系数,取值范围为(0 1) ;(7)式中的|l(X,y)-ref(x,y-d) |可以采用其它的函数代替,并不直接体现时间一致性的约束;Dprev(x, y)表示在前一帧中与当前帧像素(x, y)具有相同坐标的像素的视差,A表示加权因子,Ctemp(x, y, d)为时间一致性的约束项;d为当前像素点的估计视差。 通过本发明实施例,通过区分视图中运动与非运动的像素点,针对不同运动状态的像素点,采用不同的运算规则来获得像素点的视差,跟现有技术中不考虑运动特征的做法相比,本发明实施例可以能够更加准确的计算视差,显著提高了视频主观质量和视觉效果。 如图4所示为本发明对像素形态一致性和运动检测的时间一致性约束的视差计算方法第一实施例流程图。 结合上述图1实施例和图3实施例,对本实施例进行描述。 包括步骤401,获取像素点的多个视图,在本实施例中,多个视图包括所述像素点
所在的当前视图和所述像素点相对应的参考像素点的参考视图,参考视图可以大于2个视
图,因此,在本实施例中,为获取像素点所在的当前视图和所述像素点的参考视图。在本实
施例中,获取左中右三个视图,其中左右视图为中间视图的参考视图,中间视图作为当前视
图,左右视图中的像素点为中间视图像素点在不同视图中的参考像素点。 步骤402,计算多个视图中所述当前像素点和参考视图中参考像素点的多个方向
上的梯度。 步骤403,对当前视图中的像素点进行运动检测。 步骤404,判断当前视图中的像素点是否为运动像素,如果是则进入步骤406,否则进入步骤405。 步骤405,根据所述梯度,采用第三规则计算当前视图中的像素点视差对应的匹配误差。 步骤406,根据所述梯度,采用第四规则计算当前视图中的像素点视差对应的匹配误差。 步骤407,计算视差。例如采用graph cut进行全局优化估计视差。
作为本发明的一个实施例,在所述步骤402之前还包括,对所述参考视图进行水平方向的上采样,减小为当前像素的估计视差d,从而提高搜索像素点的精确度。
作为本发明的一个实施例,在所述步骤403之前还包括,判断当前像素点是否是帧组中的第一帧,如果是则进入步骤406,否则进入步骤403。
作为本发明的一个实施例,所述步骤402中,所述多个方向举例来说可以为8个方向,可以采用下述公式(8)计算来计算当前像素点8个方向上的梯度
Gi(x,y) = I (x, y)-I (x-a, y-b) , i G {1, 2, 3, . 8} , a, b G {_1,0,1} (8)
其中,I(x,y)可以为色度也可以为亮度。 作为本发明的一个实施例,所述步骤403中,计算以当前像素点为中心的,N,
NG {1,3,5,7,......}窗口内的所有像素点亮度的平均值,与前一帧的同位置区域的像素
点的亮度平均值的差异,如果差异大于预定的运动检测门限TH,就认为当前像素点为处于运动区域的像素,标记为l,若差异不大于预定的运动检测门限,就判断为处于静止区域的像素点,标记为0。还可以对视图中每一个像素点都进行判断,最终得到运动像素掩模,称为(Motion Mask),以便于计算其他像素点视差时使用。 作为本发明的一个实施例,所述步骤405和步骤406中,所述第三规则针对像素点不运动的情况,第四规则针对像素点运动的情况,所述第三规则和第四规则符合下述公式(9):
Edata = "2X [o^X W (Lum) + (l—w》X Q (Grad) ] + (1_ w2) XCtemp(x, y, d)
ld - Dprev (x,y)l, 0 < co2 < 1if (MotionMask(x,y) = 0) ( 9 )0, ①2 = 1if (MotionMask(x,y) = 1)
Ctemp(x,y,d):
I 2 Kx-a,y-b)- S rf(X-a-d,y-b)|
(10)
Q(Grad户|x力Gj (x,y)-G「f (x-d,y)l (11)8 i叫 其中,当Motion Mask(x, y) = 0时代表当前的像素点为不运动的像素点,MotionMask(x,y) = 1时代表当前的像素点为运动的像素点。 c^、"2表示加权系数,由经验获得,取值范围均为(0 1),通常A和"2均大于0.5;d为当前像素点估计视差;W(Lum)表示当前视图中以当前像素点(x, y)为中心区域的平均亮度值与参考视图中以参考像素点为中心区域的平均亮度值的绝对差值;Q (Grad)表示当前像素位置的8个方向的梯度分别与参考视图中的匹配像素的8个方向的梯度的绝对差的均值。 作为本发明的一个实施例,所述W(Lum)还可以表示当前视图中以当前像素点(x,y)为中心区域的平均色度值与参考视图中以参考像素点为中心区域的平均色度值的绝对差值。 通过上述实施例,可以通过计算不同视图中像素点及其周边像素点的梯度,减小每个像素点的匹配误差,并且通过区分视图中运动与非运动的像素点,能够更加准确的计算视差,从而得到更加准确的视差。 如图5所示为本发明对像素形态一致性和运动检测的时间一致性约束的视差计算方法第二实施例流程图。 包括步骤501,获取像素点的多个视图,在本实施例中,多个视图包括所述像素点所在的当前视图和所述像素点相对应的参考像素点的参考视图,参考视图可以大于2个视图,因此,在本实施例中,为获取像素点所在的当前视图和所述像素点的参考视图。在本实施例中,获取左中右三个视图,其中左右视图为中间视图的参考视图,左右视图中的像素点
为中间视图像素点在不同视图中的参考像素点。 步骤502,对当前视图中的像素点进行运动检测。 步骤503,判断当前视图中的像素点是否为运动像素,如果是则进入步骤505,否则进入步骤504。 步骤504,采用第一规则计算当前视图中的像素点视差对应的匹配误差。步骤505,采用第二规则计算当前视图中的像素点视差对应的匹配误差。步骤506,计算多个视图中所述像素点的多个方向上的梯度。步骤507,根据梯度对所述匹配误差进行修正。步骤508,计算所述像素点的视差。
作为本发明的一个实施例,所述第一规则针对像素点不运动的情况,第二规则针
对像素点运动的情况,所述第一规则和第二规则符合下述公式(12):
<formula>formula see original document page 10</formula> 其中,当Motion Mask(x, y) = 0时代表当前的像素点为不运动的像素点,MotionMask(x,y) = 1时代表当前的像素点为运动的像素点。 Edatat,表示根据运动检测得到的匹配误差;"^ "2表示加权系数,由经验获得,取值范围均为(0 l),通常A和"2均大于0.5 ;d为当前像素点估计视差;W(Lum)表示当前视图中以当前像素(x, y)为中心区域的平均亮度值与参考视图中以匹配像素为中心区域的平均亮度值的绝对差值;Q (Grad)表示当前像素位置的8个方向的梯度分别与参考视图中的匹配像素的8个方向的梯度的绝对差的均值;Edata表示根据梯度修正后的匹配误差。 如图6所示为本发明对像素形态一致性约束的视差计算装置实施例结构图。
包括获取单元601 ,梯度计算单元603,匹配误差单元604,视差计算单元605。
所述获取单元601,用于获取像素点的多个视图,在本实施例中,多个视图包括所述像素点所在的当前视图和所述像素点相对应的参考像素点的参考视图,参考视图可以大于2个视图,因此,在本实施例中,为获取像素点所在的当前视图和所述像素点的参考视图。在本实施例中,获取左中右三个视图,其中左右视图为中间视图的参考视图,左右视图中的像素点为中间视图当前像素点在不同视图中的参考像素点。
所述梯度计算单元603,计算多个视图中所述像素点的多个方向上的梯度。例如采用如下公式计算所述梯度
Gi(x,y) = I(x,y)-I(x-a,y-b), i G {1, 2, 3, 8} , a, b {_1, 0, 1} (3)所述匹配误差单元604,根据所述梯度计算当前视图中像素点相对于参考视图的参考像素点的视差对应的匹配误差。 所述匹配误差单元604根据如下公式计算所述匹配误差Edata = co X W (L咖)+ (1- ) X Q (Grad) (4)
平(Lum)^丄x9
I S I(x-a,y-b)- S rVa-d,y-b)i
a, be" 1,0, IJ a,beH,O,W
(5)
Q(Gmd)+11& (x,y)-G「f (x-d,y)l
(6) 其中,(4)式中"表示加权系数,取值范围为(0 1) ;W(Lum)表示当前视图中
以当前像素(x, y)为中心区域的平均亮度值与参考视图中以匹配像素为中心区域的平均
亮度值的绝对差值,如公式(5)所示;Q (Grad)表示当前像素位置的8个方向的梯度分别
与参考视图中的匹配像素的8个方向的梯度的绝对差的均值,如公式(6)所示。 所述视差计算单元605,用于根据上述匹配误差单元604输出的匹配误差计算视
差。例如可以使用现有技术中的graph cut算法进行全局优化最终得到视差。 作为本发明的一个实施例,还包括一个上采样单元602,对所述参考视图进行水平
方向的上采样,从而提高搜索像素点的精确度。 如图7所示为本发明对像素运动检测的时间一致性约束的视差计算装置实施例结构图。 包括获取单元701,运动检测单元703,匹配误差单元704,视差计算单元705。
所述获取单元701,用于获取像素点的多个视图,在本实施例中,多个视图包括所述像素点所在的当前视图和所述像素点相对应的参考像素点的参考视图,参考视图可以大于2个视图,因此,在本实施例中,为获取像素点所在的当前视图和所述像素点的参考视图。在本实施例中,获取左中右三个视图,其中左右视图为中间视图的参考视图,左右视图中的像素点为中间视图当前像素点在不同视图中的参考像素点。
所述运动检测单元703,对当前视图的像素点进行运动检测。
所述匹配误差单元704,根据所述运动检测单元703输出的数据进行匹配误差计 所述像素点为非运动像素点则采用第一规则计算每个像素点视差对应的匹配误
所述像素点为运动像素点则采用第二规则计算每个像素点视差对应的匹配误差'
所述第一规则和第二规则符合下述公式(7):
Edata = " X 11 (x, y) _Iref (x, y-d) | + (1- ") X CtemD (x, y, d)
C咖p(x,y,d》
(7)
|d - Dprev(x,y)l, 0 < CO < 1 if (MotionMask(x,y) = 0)
0, (0=1 if (MotionMask(x,y) = 1) 其中,当Motion Mask(x, y) = 0时代表当前的像素点为不运动的像素点,MotionMask(x,y) = 1时代表当前的像素点为运动的像素点。"表示加权系数,取值范围为(0 1) ;(7)式中的|l(X,y)-ref(x,y-d) |可以采用其它的函数代替,并不直接体现时间一致性的约束;Dprev(x, y)表示在前一帧中与当前帧像素(x, y)具有相同坐标的像素的视差,A表示加权因子,Ctemp(x, y, d)为时间一致性的
11约束项;d为当前像素点的估计视差。 所述视差计算单元705,用于根据所述匹配误差单元704输出的匹配误差计算视 作为本发明的一个实施例,还包括帧组判断单元702,所述帧组判断单元702,判 断当前像素点是否是帧组中的第一帧,如果是第一帧则所述匹配误差单元704对所述像素 点采用第二规则计算所述匹配误差,否则所述运动检测单元703对像素点进行运动检测。
如图8所示为本发明对像素形态一致性和运动检测的时间一致性约束的视差计 算装置实施例结构图。 包括获取单元801,运动检测单元803,梯度计算单元805,匹配误差单元806,视差 计算单元807。 所述获取单元801,用于获取像素点的多个视图,在本实施例中,多个视图包括所
述像素点所在的当前视图和所述像素点相对应的参考像素点的参考视图,参考视图可以大
于2个视图,因此,在本实施例中,为获取像素点所在的当前视图和所述像素点的参考视
图。在本实施例中,获取左中右三个视图,其中左右视图为中间视图的参考视图,左右视图
中的像素点为中间视图当前像素点在不同视图中的参考像素点。 所述运动检测单元803,对当前视图中的像素点进行运动检测。 所述梯度计算单元805,根据所述梯度计算当前视图中像素点相对于参考视图的
参考像素点的视差对应的匹配误差。 所述匹配误差单元806,根据所述运动检测单元803和所述梯度计算单元805输 出的数据进行匹配误差计算。在本实施例中,匹配误差单元806可以当所述像素点为非运 动像素点,则根据所述当前像素点的梯度采用第三规则计算当前像素点视差对应的匹配误 差;及对于当前像素点为运动像素点则采用第四规则计算当前像素点视差对应的匹配误 差,即匹配误差单元806参考所述检测结果,根据所述梯度计算所述像素点视差对应的匹
所述第三规则和第四规则符合下述公式(9)
ctemp(x,y,d);
X [ " ! X W (L咖)+ (1-"》X Q (Grad) ] + (1- " 2) X Ctemp (x, y, d) |d - Dprev (x,y)l, 0 < co2 < 1 if (MotionMask(x,y) = 0)( 9 ) 0, (02 = 1 if (MotionMask(x,y) = 1)
甲(Lum)4 x
1
S I(x-a,y-b)- S Iref(x-a-d,y-b)|
a,be{-l,0,} a,beH'O,U
(10)
Q(Grad)= 7 x J] A (X,y)-G「f (x-d,y)|
(11) 其中,当Motion Mask(x, y) = 0时代表当前的像素点为不运动的像素点,Motion Mask(x,y) = 1时代表当前的像素点为运动的像素点。 "2表示加权系数,由经验获得,取值范围均为(0 1),通常A和"2均大
于0.5 ;d为当前像素点的估计视差;W(Lum)表示当前视图中以当前像素(x, y)为中心区 域的平均亮度值与参考视图中以匹配像素为中心区域的平均亮度值的绝对差值;Q (Grad) 表示当前像素位置的8个方向的梯度分别与参考视图中的匹配像素的8个方向的梯度的绝
12对差的均值。 在本实施例中,匹配误差单元806还可以先根据运动检测单元806的检测结果进 行匹配误差计算,即当像素点为运动像素时,采用第一规则计算当前视图中的像素点视差 对应的匹配误差,及当像素点为非运动像素时,采用第二规则计算当前视图中的像素点视 差对应的匹配误差;再根据递度计算单元805输出的递度对所述匹配误差进行修正。
作为本发明的一个实施例,所述第一规则和第二规则符合下述公式(12):
Edatatemp= 0^X^(1^1111) +(l-"》XCte卿(x, y,d) (12)
_ '、, —D(;c,力l,0〈幼〈1 z/(M 细Mx^(;c,力-0) C' np(X,><,^)] = <{ Edata = " 2 X Edatatfimn+ (1- " 2) X Q (Grad)
, (13)甲(Lum)-丄x
y
| Z I(x-a,y-b)- Z Iref(X-a-d,y-b)|
a,beH,O,ll a,be(-l,0,U
Q(Grad)-丄x仝|G; (x,y)-G「f (x-d,y)l (14)
8 i=i 其中,当Motion Mask(x, y) = 0时代表当前的像素点为不运动的像素点,Motion Mask(x,y) = 1时代表当前的像素点为运动的像素点。 Edatat,表示根据运动检测得到的匹配误差;"^ "2表示加权系数,由经验获得, 取值范围均为(0 l),通常A和"2均大于0.5 ;d为当前像素点估计视差;W(Lum)表 示当前视图中以当前像素(x, y)为中心区域的平均亮度值与参考视图中以匹配像素为中 心区域的平均亮度值的绝对差值;Q (Grad)表示当前像素位置的8个方向的梯度分别与参 考视图中的匹配像素的8个方向的梯度的绝对差的均值;Edata表示根据梯度修正后的匹 配误差,即所述匹配误差单元806输出的最终的匹配误差。 所述W (Lum)还可以表示当前视图中以当前像素点(x,y)为中心区域的平均色度 值与参考视图中以参考像素点为中心区域的平均色度值的绝对差值。 所述视差计算单元807,用于根据所述匹配误差单元806输出的匹配误差计算视差。 作为本发明的一个实施例,还包括帧组判断单元802,判断所述当前像素点是否是 帧组中的第一帧,如果是第一帧则所述匹配误差单元806对所述像素点采用第二规则计算 所述匹配误差,否则所述运动检测单元803对像素点进行运动检测。 作为本发明的一个实施例,还包括上采样单元804,对所述参考视图进行水平方向 的上采样,从而提高搜索像素点的精确度。 本发明的实施例的有益效果在于,本发明通过分析视图中像素运动与否,从而保 持了合成视图中静止区域的时间一致性,同时克服了未考虑运动区域位移的时间一致性错 误;并且保证了运动区域相对于静止区域边缘的空间一致性,尤其是运动物体相对于静止 物体的边缘具优良好的空间一致性;提高了运动区域的合成图像质量。 本发明通过计算当前像素点和参考像素点的梯度,即使用了形态一致性,不仅提 高了视差估计的准确度,同时也提高了深度图与合成视图的时间一致性,特别是有效保持 了物体的正确边缘,显著提高了视频主观质量和视觉效果。使平坦区域的深度也更加平滑。
采用本专利申请提出的形态和亮度同时考虑运动特征联合测度的视差估计方法
13比只用亮度作为测度的亚像素视差估计方法提高约0. 3dB。 以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行了进一步 详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而已,并不用于限定本发明 的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含 在本发明的保护范围之内。
权利要求
一种视差计算方法,其特征在于,所述方法包括获取像素点的多个视图;计算所述多个视图中所述像素点的多个方向上的梯度;根据所述梯度计算所述像素点视差对应的匹配误差;根据所述匹配误差计算所述像素点的视差。
2. 根据权利要求1所述的方法,其特征在于,所述梯度为像素点与所述像素点的相邻 像素点之间的亮度差值,或者色差值。
3. 根据权利要求1所述的方法,其特征在于,所述计算所述多个视图中所述像素点的 多个方向上的梯度的步骤包括计算所述多个视图中所述像素点的8个方向上的梯度。
4. 根据权利要求1所述的方法,其特征在于,所述多个视图包括所述像素点所在的当 前视图和所述像素点相对应的参考像素点的参考视图。
5. 根据权利要求4所述的方法,其特征在于,所述根据所述梯度计算所述像素点视差 对应的匹配误差的步骤包括根据所述梯度计算所述当前视图中像素点相对于所述参考视图中的参考像素点的视 差对应的匹配误差。
6. 根据权利要求4所述的方法,其特征在于,所述计算所述多个视图中所述像素点的 多个方向上的梯度的步骤之后包括对当前视图中的像素点进行运动检测,得到检测结果; 所述根据所述梯度计算所述像素点视差对应的匹配误差,包括 参考所述检测结果,根据所述梯度计算所述像素点视差对应的匹配误差。
7. 根据权利要求6所述的方法,其特征在于,所述对当前视图中的像素点进行运动检 测的步骤包括计算以所述像素点为中心的,N,NG {1,3,5,7,......}窗口内的所有像素点亮度的平均值,与时间上相邻帧的同位置区域的像素点的亮度平均值的差异; 若差异大于预定的运动检测门限,则所述像素点为运动; 若差异不大于预定的运动检测门限,则所述像素点为静止。
8. —种视差计算方法,其特征在于,所述方法包括获取像素点的多个视图,所述多个视图包括所述像素点所在的当前视图和所述像素点 相对应的参考像素点的参考视图;对当前视图中的像素点进行运动检测;根据运动检测的结果计算所述像素点视差对应的匹配误差; 根据所述匹配误差计算所述像素点的视差。
9. 根据权利要求8所述的方法,其特征在于,所述根据运动检测的结果计算所述像素 点视差对应的匹配误差的步骤之后,包括计算所述多个视图中所述像素点的多个方向上的梯度; 根据所述梯度对所述匹配误差进行修正;所述根据运动检测的结果计算所述像素点视差对应的匹配误差,包括 根据所述修正后的匹配误差计算所述像素点的视差。
10. 根据权利要求8所述的方法,其特征在于,所述对当前视图中的像素点进行运动检测的步骤包括计算以所述像素点为中心的,N,NG {1,3,5,7,......}窗口内的所有像素点亮度的平均值,与时间上相邻帧的同位置区域的像素点的亮度平均值的差异; 若差异大于预定的运动检测门限,则所述像素点为运动; 若差异不大于预定的运动检测门限,则所述像素点为静止。
11. 根据权利要求8所述的方法,其特征在于,对所述当前像素点进行运动检测之前还 包括所述当前像素点是否是帧组中的第一帧,则计算所述当前像素点的匹配误差,或者,所 述当前像素点不是帧组中的第一帧,对所述当前像素点进行运动检测。
12. —种视差计算装置,其特征在于所述装置包括 获取单元,用于获取像素点的多个视图;梯度计算单元,用于计算所述多个视图中所述像素点的多个方向上的梯度;匹配误差单元,用于根据所述梯度计算所述像素点视差对应的匹配误差;视差计算单元,用于根据所述匹配误差计算所述像素点的视差。
13. 根据权利要求12所述的装置,其特征在于包括,所述多个视图包括所述像素点所 在的当前视图和所述像素点相对应的参考像素点的参考视图,所述装置还包括运动检测单元,用于对所述当前视图中的像素点进行运动检测;所述匹配误差单元,还用于参考所述检测结果,根据所述梯度计算所述像素点视差对 应的匹配误差。
14. 一种视差计算装置,其特征在于,所述装置包括获取单元,用于获取像素点的多个视图,所述多个视图包括所述像素点所在的当前视 图和所述像素点相对应的参考像素点的参考视图;运动检测单元,对所述当前视图中的像素点进行运动检测;匹配误差单元,根据运动检测的结果计算所述像素点视差对应的匹配误差;视差计算单元,用于根据所述匹配误差计算所述像素点的视差。
15. 根据权利要求14所述的装置,其特征在于,还包括 梯度计算单元,用于计算所述多个视图中所述像素点的多个方向上的梯度; 所述匹配误差单元,还用于根据所述梯度对所述匹配误差进行修正。
16. 根据权利要求14所述的装置,其特征在于,包括帧组判断单元,用于判断当前像素点是否是帧组中的第一帧,如果是第一帧则由所述 匹配误差单元执行,否则,由所述运动检测单元执行。
17. 根据权利要求14所述的装置,其特征在于,所述运动检测包括计算以所述像素点为中心的,N,NG {1,3,5,7,......}窗口内的所有像素点亮度的平均值,与时间上相邻帧的同位置区域的像素点的亮度平均值的差异;若差异大于预定的运动检测门限,则所述像素点为运动; 若差异不大于预定的运动检测门限,则所述像素点为静止。
全文摘要
本发明实施例提供一种视差计算方法及装置,所述方法包括获取像素点的多个视图;计算所述多个视图中所述像素点的多个方向上的梯度;根据所述梯度计算所述像素点视差对应的匹配误差;根据所述匹配误差计算所述当前像素点的视差。通过本发明实施例提供视差计算方法及装置提高了视差估计的准确度。
文档编号H04N15/00GK101790103SQ20091000598
公开日2010年7月28日 申请日期2009年1月22日 优先权日2009年1月22日
发明者元辉, 刘晓仙, 常义林, 杨付正, 杨海涛, 林四新, 霍俊彦 申请人:华为技术有限公司;西安电子科技大学

最新回复(0)