00]将场A中每一像素点作为中心像素点与其周边像素点构成一个像素块,与场B’中对应的像素块作SAD计算,计算结果记为SAD_AB。
[0101]3)如果SAD_AC>TH_AC或者SAD_AB>TH_AB,则判断该中心像素点相对于后一场有运动,否则,判断该中心像素点相对于后一场无运动。其中TH_AC和TH_AB为阈值。
[0102]如果AREA_max-AREA_min>TH_AREA,则 TH_AC 取固定值 TH_AC_C0N ;
[0103]否则,TH_AC=(AREA_max-AREA_min) *n2
[0104]其中,AREAjnax为场A中当前中心像素点与其周边像素点构成的像素块中的最大像素值;AREA_min为场A中当前中心像素点与其周边像素点构成的像素块中的最小像素值;TH_AREA为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取55 ;TH_AC_C0N为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取230 ;n2为可调参数,可根据实际调试结果确定,优选地取I。
[0105]如果PXL_Freq>TH_FREQ,则 TH_AB = TH_HIGH ;否则,TH_AB = TH_L0W。
[0106]其中,TH_FREQ为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取95 ;TH_HIGH为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取650 ;TH_L0W为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取140 ;PXL_Freq=I 2*PXL_cur-PXL_up-PXL_dn |, PXL_cur为场A中的当前中心像素点;PXL_up为场A中当前中心像素点上面一行对应的像素点,PXL_dn为场A中当前中心像素点下面一行对应的像素点。
[0107]需要说明的是,步骤SI和步骤S2-S3可以是先后依次执彳丁,也可以同时执打。
[0108]参照图7,在本发明的另一个优选实施例中,本发明的视频解交错中的隔行视频运动检测方法采用相连的ABC三场视频数据进行计算,场A为当前场,场B为后一场,场C为后后场,具体包括以下步骤:
[0109]步骤S1、检测场A中的连续静止像素块。
[0110]具体地,首先将场A与场C的数据划分成若干个M*N的像素块,然后对场A与场C对应的像素块做SAD计算,得到SAD值SAD_BLK,如果SAD_BLK满足条件SAD_BLK〈TH_BLKI I SAD_BLK〈 (PXL_max - PXL_min) *nl,则判断场A中当前像素块属于静止像素块。其中M*N优选为8*8。
[0111]其中,TH_BLK为可调阈值,可根据实际调试结果确定。对于8*8的像素块,参考值为130。PXLjnax为场A中当前像素块中的最大像素值,PXLjnin为场A中当前像素块中的最小像素值;nl为可调参数,对于8*8的像素块,参考值为3。
[0112]如果水平或垂直方向有连续NI个像素块属于静止像素块,则判断这些静止像素块为场A中的连续静止像素块,且场A中这些静止像素块区域中的像素点相对于后一场无运动。
[0113]步骤S2、计算插值场。
[0114]应用插值算法计算出后一场与场A具有相同相位处的像素值,这些像素值构成后一场的插值场场B’。
[0115]具体地,插值算法包括以下步骤:
[0116]I)空域插值
[0117]对于每个插值位置,计算插值位置周边像素点在a度、(a+45)度和(a+90)度三个方向上的像素梯度,选择像素梯度最小方向上的两个像素点求像素平均值G,其中O彡a彡180。优选地a为45。
[0118]2)中值滤波
[0119]对于每个插值位置,计算中值median (B,E,G,P,P),其中B和E为插值位置上下行对应的像素点的像素值,G为步骤I)中计算得到的像素平均值,P为前一场对应位置的像素值,median表示取中值的函数。中值滤波结果作为最终插值结果,即作为插值场相应像素点的像素值。
[0120]步骤S3、对于场A中不处于连续静止像素块中的每一个像素点,基于像素点进行运动检测。
[0121]对于场A处于连续静止像素块中的每一个像素点,判断其相对于后一场无运动;对于场A不处于连续静止像素块中的每一个像素点,进行运动检测。
[0122]具体地,步骤S3包括以下步骤:
[0123]I)场A与场C做基于像素点的运动检测
[0124]将场A中不处于连续静止像素块的每一像素点作为中心像素点与其周边像素点构成一个像素块(H*V),并与场C中对应的像素块作SAD计算,计算结果记为SAD_AC。
[0125]其中,H*V像素块可以是5*3和3*3,优选地,本发明中的H*V像素块采用5*3。
[0126]2)场A与场B’做基于像素点的运动检测
[0127]将场A中不处于连续静止像素块的每一像素点作为中心像素点与其周边像素点构成一个像素块,与场B’中对应的像素块作SAD计算,计算结果记为SAD_AB。
[0128]3)如果SAD_AC>TH_AC或者SAD_AB>TH_AB,则判断该中心像素点相对于后一场有运动,否则,判断该中心像素点相对于后一场无运动。其中TH_AC和TH_AB为阈值。
[0129]如果AREA_max-AREA_min>TH_AREA,则 TH_AC 取固定值 TH_AC_C0N ;
[0130]否则,TH_AC=(AREA_max-AREA_min) *n2
[0131]其中,AREA_max为场A中当前中心像素点与其周边像素点构成的像素块中的最大像素值;AREA_min为场A中当前中心像素点与其周边像素点构成的像素块中的最小像素值;TH_AREA为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取55 ;TH_AC_C0N为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取230 ;n2为可调参数,可根据实际调试结果确定,对于5*3的像素块,优选地取I。
[0132]如果PXL_Freq>TH_FREQ,则 TH_AB = TH_HIGH ;否则,TH_AB = TH_L0W。
[0133]其中,TH_FREQ为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取95 ;TH_HIGH为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取650 ;TH_L0W为可调阈值,可根据实际调试结果确定,对于5*3的像素块,优选地取140 ;PXL_Freq=I 2*PXL_cur-PXL_up-PXL_dn |, PXL_cur为场A中的当前中心像素点;PXL_up为场A中当前中心像素点上面一行对应的像素点,PXL_dn为场A中当前中心像素点下面一行对应的像素点。
[0134]需要说明的是,步骤SI和步骤S2可以是先后依次执行,也可以同时执行,待步骤SI和步骤S2均完成后,再执行步骤S3。
[0135]参照图8,在本发明的一个优选实施例中,视频解交错中的隔行视频运动检测系统采用相连的ABC三场视频数据进行计算,场A为当前场,场B为后一场,场C为后后场,包括连续静止像素块检测模块、插值场计算模块和基于像素点的运动检测模块。
[0136]连续静止像素块检测模块用于检测场A中的连续静止像素块。
[0137]具体地,首先将场A与场C的数据划分成若干个M*N的像素块,然后场A与场C对应的像素块做SAD计算,得到SAD值SAD_BLK,如果SAD_BLK满足条件SAD_BLK〈TH_BLKI I SAD_BLK〈 (PXL_max-PXL_min) *nl,则判断场A中当前像素块属于静止像素块。其中M*N优选为8*8。
[0138]其中,TH_BLK为可调阈值,可根据实际调试结果确定。对于8*8的像素块,参考值为130。PXLjnax为场A中当前像素块中的最大像素值,PXLjnin为场A中当前像素块中的最小像素值;nl为可调参数,对于8*8的像素块,参考值为3。
[0139]如果水平或垂直方向有连续NI个像素块属于静止像素块,则判断这些静止像素块为场A中的连续静止像素块,且场A中这些静止像素块区域中的像素点相对于后一场无运动。
[0140]插值场计算模块用于计算插值场。
[0141]具体地,插值场计算模块应用插值算法计算出后一场与场A具有相同相位处的像素值,这些像素值构成后一场的插值场场B’。
[0142]具体地,插值算法包括以下步骤:
[0143]I)空域插值
[0144]参照图5,对于每个插值位置,计算插值位置周边像素点在a度、(a+45)度和(a+90)度三个方向上的像素梯度,选择像素梯度最小方向上的两个像素点求像素平均值G,其中O彡a<180。优选地a为45。
[0145]2)中值滤波
[0146]对于每个插值位置,计算中值median (B,E,G,P,P),其中B和E为插值位置上下行对应的像素点的像素值,G为步骤I)中计算得到的像素平均值,P为前一场对应位置的像素值,median表示取中值的函数。中值滤波结果作为最终插值结果,即作为插值场相应像素点的像素值。
[0147]基于像素点的运动检测模块与连续静止像素块检测模块和插值场计算模块相连,用于基于像素点对场A中的每个像素点进行运动检测。
[0148]具体地,基于像素点进行运动检测时,对于场A中每一个像素点,采用以下步骤进行运动检测:
[0149]I)场A与场C做基于像素点的运动检测
[0150]将场A中每一像素点作为中心像素点作为中心像素点与其周边像素点构成一个像素块(H*V),并与场C中对应的像素块作SAD计算,计算结果记为SAD_AC。
[0151]其中,H*V像素块可以是5*3和3*3,优选地,本发明中的H*V像素块采用5*3。
[0152]2)场A与场B’做基于像素点的运动检测
[0153]将场A中每一像素点作为中心像素点与其周边像素点构成一个像素块,与场B’中对应的像素块作SAD计算,计算结果记为SAD_AB。
[0154]3)如果SAD_AC>TH_AC或者SAD_AB>TH_AB,则判断该中心像素点相对于后一场有运动,否则