本申請涉及視頻處理技術(shù)領(lǐng)域,特別是涉及一種視頻幀率的轉(zhuǎn)換方法和一種視頻幀率的轉(zhuǎn)換裝置。
背景技術(shù):
基于運(yùn)動估計和運(yùn)動補(bǔ)償?shù)囊曨l幀率轉(zhuǎn)換是把低的輸入視頻幀率轉(zhuǎn)換為高的視頻幀率,以適應(yīng)液晶電視的需求。運(yùn)動估計是視頻幀率轉(zhuǎn)換中的一個重要技術(shù),如果運(yùn)動估計不夠準(zhǔn)確,很容易對視頻畫面產(chǎn)生影響。在進(jìn)行運(yùn)動估計時,首先需要確定一個合適的運(yùn)動矢量,運(yùn)動矢量的準(zhǔn)確性越高,運(yùn)動估計也就越準(zhǔn)確。
但是,光線的變化會對運(yùn)動矢量的評價造成較大的影響,從而引起誤判,已有技術(shù)中通常使用計算全局或者局部的亮度平均值的方法消除運(yùn)動估計中光線變化帶來的影響。例如,在運(yùn)動估計計算匹配塊之間的像素值的絕對差和時,可以先將每個塊的像素值統(tǒng)一減去該平均值,再用去除亮度的值計算絕對差和。但是,光線的變化通常都是局部的,計算全局或者局部的平均值,只能粗略的估計匹配塊的亮度,不能準(zhǔn)確的去除亮度變化帶來的影響。而且,當(dāng)一個塊內(nèi)同時包含光線變化區(qū)域和沒有光線變化的區(qū)域時,采用上述方法根本無法準(zhǔn)確評價兩個匹配塊之間的運(yùn)動矢量。
技術(shù)實現(xiàn)要素:
鑒于上述問題,提出了本申請實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種視頻幀率的轉(zhuǎn)換方法和相應(yīng)的一種視頻幀率的轉(zhuǎn)換裝置。
為了解決上述問題,本申請實施例公開了一種視頻幀率的轉(zhuǎn)換方法,包括:
計算相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及像素值的絕對差和sadp,所述匹配塊為按照預(yù)設(shè)規(guī)則在參考幀的特定搜索范圍內(nèi)進(jìn)行匹配所獲得的相似度最大的宏塊;
對所述sade、sada、sadgrad和sadp加權(quán)求和,獲得所述兩個匹配塊之間的運(yùn)動矢量評價參數(shù);
當(dāng)所述運(yùn)動矢量評價參數(shù)小于預(yù)設(shè)閾值時,采用當(dāng)前的運(yùn)動矢量對所述相鄰的兩張圖像進(jìn)行視頻幀率轉(zhuǎn)換。
可選地,所述兩個匹配塊中包括有多個對應(yīng)的像素點,在所述計算相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad以及像素值的絕對差和sadp的步驟前,還包括:
分別計算兩個匹配塊中對應(yīng)的每個像素點的邊緣大小和邊緣方向。
可選地,所述每個像素點的邊緣方向包括水平方向x、垂直方向y、45度方向xy和135度方向yx,所述分別計算兩個匹配塊中對應(yīng)的每個像素點的邊緣大小和邊緣方向的步驟包括:
分別計算每個像素點的水平方向x的邊緣大小ex、垂直方向y的邊緣大小ey、45度方向xy的邊緣大小exy和135度方向yx的邊緣大小eyx;以所述ex、ey、exy和eyx中的最大值作為所述像素點的邊緣大小,以所述最大值對應(yīng)的方向作為所述像素點的邊緣方向;
或,
分別計算每個像素點的水平方向x的邊緣大小ex和垂直方向y的邊緣大小ey;以所述ex和ey的平方和的算術(shù)平方根作為所述像素點的邊緣大小,以所述ey與ex的比值的反正切函數(shù)對應(yīng)的角度作為所述像素點的邊緣方向。
可選地,計算相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade和邊緣方向的絕對差和sada的步驟包括:
分別計算兩個匹配塊中對應(yīng)的每個像素點的邊緣大小的差的絕對值和邊緣方向的差的絕對值;
累加所述邊緣大小的差的絕對值,作為所述邊緣大小的絕對差和sade;
累加所述邊緣方向的差的絕對值,作為所述邊緣方向的絕對差和sada。
可選地,計算相鄰的兩張圖像的兩個匹配塊之間的梯度的絕對差和sadgrad的步驟包括:
計算兩個匹配塊中每個像素點的梯度,所述兩個匹配塊中包括有多個對應(yīng)的像素點;
分別計算所述兩個匹配塊中對應(yīng)的像素點之間的梯度的差的絕對值;
累加所述梯度的差的絕對值,作為所述梯度的絕對差和sadgrad。
可選地,所述計算兩個匹配塊中每個像素點的梯度的步驟包括:
分別計算每個像素點的水平梯度gradx和垂直梯度grady;
累加所述gradx和grady值作為所述像素點的梯度。
可選地,計算相鄰的兩張圖像的兩個匹配塊之間的像素值的絕對差和sadp的步驟包括:
計算兩個匹配塊中每個像素點的像素值,所述兩個匹配塊中包括有多個對應(yīng)的像素點;
分別計算所述兩個匹配塊中對應(yīng)的像素點之間的像素值的差的絕對值;
累加所述像素值的差的絕對值,作為所述像素值的絕對差和sadp。
為了解決上述問題,本申請實施例公開了一種視頻幀率的轉(zhuǎn)換裝置,包括:
計算模塊,用于計算相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及像素值的絕對差和sadp,所述匹配塊為按照預(yù)設(shè)規(guī)則在參考幀的特定搜索范圍內(nèi)進(jìn)行匹配所獲得的相似度最大的宏塊;
加權(quán)模塊,用于對所述sade、sada、sadgrad和sadp加權(quán)求和,獲得所述兩個匹配塊之間的運(yùn)動矢量評價參數(shù);
轉(zhuǎn)換模塊,用于當(dāng)所述運(yùn)動矢量評價參數(shù)小于預(yù)設(shè)閾值時,采用當(dāng)前的運(yùn)動矢量對所述相鄰的兩張圖像進(jìn)行視頻幀率轉(zhuǎn)換。
可選地,所述兩個匹配塊中包括有多個對應(yīng)的像素點,所述計算模塊包括:
邊緣大小和邊緣方向計算子模塊,用于分別計算兩個匹配塊中對應(yīng)的每個像素點的邊緣大小和邊緣方向。
可選地,所述每個像素點的邊緣方向包括水平方向x、垂直方向y、45度方向xy和135度方向yx,所述邊緣大小和邊緣方向計算子模塊包括:
第一邊緣大小和邊緣方向計算單元,用于分別計算每個像素點的水平方向x的邊緣大小ex、垂直方向y的邊緣大小ey、45度方向xy的邊緣大小exy和135度方向yx的邊緣大小eyx;以所述ex、ey、exy和eyx中的最大值作為所述像素點的邊緣大小,以所述最大值對應(yīng)的方向作為所述像素點的邊緣方向;
或,
第二邊緣大小和邊緣方向計算單元,用于分別計算每個像素點的水平方向x的邊緣大小ex和垂直方向y的邊緣大小ey;以所述ex和ey的平方和的算術(shù)平方根作為所述像素點的邊緣大小,以所述ey與ex的比值的反正切函數(shù)對應(yīng)的角度作為所述像素點的邊緣方向。
可選地,所述計算模塊還包括:
邊緣大小和邊緣方向的差的絕對值計算子模塊,用于分別計算兩個匹配塊中對應(yīng)的每個像素點的邊緣大小的差的絕對值和邊緣方向的差的絕對值;
邊緣大小的差的絕對值累加子模塊,用于累加所述邊緣大小的差的絕對值,作為所述邊緣大小的絕對差和sade;
邊緣方向的差的絕對值累加子模塊,用于累加所述邊緣方向的差的絕對值,作為所述邊緣方向的絕對差和sada。
可選地,所述計算模塊還包括:
梯度計算子模塊,用于計算兩個匹配塊中每個像素點的梯度,所述兩個匹配塊中包括有多個對應(yīng)的像素點;
梯度的差的絕對值計算子模塊,用于分別計算所述兩個匹配塊中對應(yīng)的像素點之間的梯度的差的絕對值;
梯度的差的絕對值累加子模塊,用于累加所述梯度的差的絕對值,作為所述梯度的絕對差和sadgrad。
可選地,所述梯度計算子模塊包括:
水平梯度和垂直梯度計算單元,用于分別計算每個像素點的水平梯度gradx和垂直梯度grady;
水平梯度和垂直梯度累加單元,用于累加所述gradx和grady值作為所述像素點的梯度。
可選地,所述計算模塊還包括:
像素值計算子模塊,用于計算兩個匹配塊中每個像素點的像素值,所述兩個匹配塊中包括有多個對應(yīng)的像素點;
像素值的差的絕對值計算子模塊,用于分別計算所述兩個匹配塊中對應(yīng)的像素點之間的像素值的差的絕對值;
像素值的差的絕對值累加子模塊,用于累加所述像素值的差的絕對值,作為所述像素值的絕對差和sadp。
與背景技術(shù)相比,本申請實施例包括以下優(yōu)點:
本申請實施例,通過確定相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及像素值的絕對差和sadp,然后對所述sade、sada、sadgrad和sadp加權(quán)求和,獲得所述兩個匹配塊之間的運(yùn)動矢量評價參數(shù),從而當(dāng)所述運(yùn)動矢量評價參數(shù)滿足預(yù)設(shè)要求時,可以采用當(dāng)前的運(yùn)動矢量對所述相鄰的兩張圖像進(jìn)行視頻幀率轉(zhuǎn)換,由于在光線變化時,像素間的梯度和邊緣基本不會發(fā)生變化,因此,本申請實施例在計算兩個匹配塊之間的運(yùn)動矢量評價參數(shù)時,增加了兩個匹配塊之間的梯度的絕對差和以及邊緣大小和邊緣方向的絕對差和,即使在光線有變化時,像素值的絕對差和很大,但是邊緣和梯度的絕對差和仍然很小,從而可以據(jù)此正確的判定兩個塊的匹配,有效地消除了光線變化帶來的影響,提高了運(yùn)動估計中運(yùn)動矢量在光線變化場景下的準(zhǔn)確性,進(jìn)而提高了視頻幀率轉(zhuǎn)換的效率和準(zhǔn)確性。
附圖說明
圖1是本申請的一種視頻幀率的轉(zhuǎn)換方法實施例一的步驟流程圖;
圖2是本申請的一種視頻幀率的轉(zhuǎn)換方法實施例二的步驟流程圖;
圖3是本申請的一種視頻幀率的轉(zhuǎn)換裝置實施例的結(jié)構(gòu)框圖。
具體實施方式
為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本申請作進(jìn)一步詳細(xì)的說明。
參照圖1,示出了本申請的一種視頻幀率的轉(zhuǎn)換方法實施例一的步驟流程圖,具體可以包括如下步驟:
步驟101,計算相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及像素值的絕對差和sadp;
通常,為了滿足液晶電視對視頻畫質(zhì)的要求,需要將輸入的較低的幀率的視頻轉(zhuǎn)換為較高的幀率的視頻。在進(jìn)行視頻幀率轉(zhuǎn)化時,主要時通過運(yùn)動估計和運(yùn)動補(bǔ)償來實現(xiàn)的。
運(yùn)動估計(motionestimation)是視頻編碼和視頻處理中廣泛使用的一種技術(shù),其基本思想是將圖像序列的每一幀分成許多互不重疊的宏塊,并認(rèn)為宏塊內(nèi)所有像素的位移量都相同,然后針對每個宏塊,找到相對應(yīng)的匹配塊,所述匹配塊為按照預(yù)設(shè)規(guī)則在參考幀的特定搜索范圍內(nèi)進(jìn)行匹配所獲得的相似度最大的宏塊,匹配塊與當(dāng)前塊的相對位移即為運(yùn)動矢量。
運(yùn)動補(bǔ)償(motioncompensation)是一種描述相鄰幀差別的方法,能夠通過先前的局部圖像來預(yù)測、補(bǔ)償當(dāng)前的局部圖像,可以有效地減少幀序列冗余信息。
通常,在進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償時,首先需要計算兩個匹配塊之間地運(yùn)動矢量,而運(yùn)動矢量是否正確,則嚴(yán)重影響運(yùn)動估計以及視頻幀率轉(zhuǎn)換的效果。
一般地,當(dāng)光線變化時,圖像內(nèi)像素間的亮度差值是不會變化或者變化非常微小的,因此,可以采用圖像之間的梯度和邊緣作為反映像素間亮度差值的特征。
在本申請實施例中,為了消除光線變化對運(yùn)動矢量計算造成的影響,可以首先確定相鄰的兩張圖像的兩個匹配塊之間的絕對差和(sad,thesumofabsolutedifference),具體地,所述絕對差和可以包括邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及像素值的絕對差和sadp。
在具體實現(xiàn)中,可以首先分別計算相鄰兩張圖像的兩個匹配塊上對應(yīng)的每個像素點的邊緣大小的差的絕對值,然后通過累加所有像素點的邊緣大小的差的絕對值,獲得邊緣大小的絕對差和sade。
類似地,可以采用上述方法計算獲得邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及,像素值的絕對差和sadp,本申請實施例對此不再贅述。
步驟102,對所述sade、sada、sadgrad和sadp加權(quán)求和,獲得所述兩個匹配塊之間的運(yùn)動矢量評價參數(shù);
在具體實現(xiàn)中,在獲得邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及,像素值的絕對差和sadp后,可以為上述四類絕對差和分別設(shè)定一權(quán)重,通過加權(quán)求和的方式獲得兩個匹配塊之間的運(yùn)動矢量評價參數(shù)。本領(lǐng)域技術(shù)人員可以根據(jù)實際需要選定每個絕對差和的權(quán)重的大小,本申請實施例對此不作限定。
步驟103,當(dāng)所述運(yùn)動矢量評價參數(shù)滿足預(yù)設(shè)要求時,采用當(dāng)前的運(yùn)動矢量對所述相鄰的兩張圖像進(jìn)行視頻幀率轉(zhuǎn)換。
在本申請實施例中,在通過步驟102獲得運(yùn)動矢量評價參數(shù)后,可以根據(jù)該評價參數(shù),評價當(dāng)前的運(yùn)動矢量是否為正確的運(yùn)動矢量。
通常,步驟102獲得的運(yùn)動矢量評價參數(shù)越小,可以認(rèn)為兩個匹配塊之間的匹配度越高,當(dāng)前的運(yùn)動矢量越好;而當(dāng)該評價參數(shù)越大,則可以認(rèn)為兩個匹配塊之間的匹配度越低,當(dāng)前的運(yùn)動矢量越差。因此,可以設(shè)定一預(yù)設(shè)閾值,當(dāng)在步驟102中獲得的運(yùn)動矢量評價參數(shù)小于該預(yù)設(shè)閾值時可以認(rèn)為當(dāng)前的運(yùn)動矢量較好,兩張圖像的匹配塊之間的匹配度較高,從而可以采用當(dāng)前的運(yùn)動矢量進(jìn)行視頻幀率轉(zhuǎn)換。當(dāng)然,本領(lǐng)域技術(shù)人員可以根據(jù)實際需要設(shè)定預(yù)設(shè)閾值的大小,本申請實施例對此不作限定。
在本申請實施例中,通過確定相鄰的兩張圖像的兩個匹配塊之間的絕對差和,所述絕對差和包括邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,和/或,以及像素值的絕對差和sadp,然后依據(jù)對所述sade、sada、sadgrad和/或sadp加權(quán)求和,確定獲得所述兩個匹配塊之間的運(yùn)動矢量評價參數(shù),從而當(dāng)所述運(yùn)動矢量評價參數(shù)滿足預(yù)設(shè)要求時,可以采用當(dāng)前的運(yùn)動矢量對所述相鄰的兩張圖像進(jìn)行視頻幀率轉(zhuǎn)換,由于在光線變化時,像素間的梯度和邊緣基本不會發(fā)生變化,因此,本申請實施例在計算兩個匹配塊之間的運(yùn)動矢量評價參數(shù)時,增加了兩個匹配塊之間的梯度的絕對差和以及邊緣大小和邊緣方向的絕對差和,即使在光線有變化時,像素值的絕對差和很大,但是邊緣和梯度的絕對差和仍然很小,從而可以據(jù)此正確的判定兩個塊的匹配從而通過在計算運(yùn)動矢量評價參數(shù)時融合了匹配塊之間的梯度和邊緣,有效地消除了光線變化帶來的影響,提高了運(yùn)動估計中運(yùn)動矢量在光線變化場景下的準(zhǔn)確性,進(jìn)而提高了視頻幀率轉(zhuǎn)換的效率和準(zhǔn)確性。
參照圖2,示出了本申請的一種視頻幀率的轉(zhuǎn)換方法實施例二的步驟流程圖,具體可以包括如下步驟:
步驟201,計算相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade和邊緣方向的絕對差和sada;
通常,為了滿足液晶電視對視頻畫質(zhì)的要求,需要對輸入的較低的幀率的視頻進(jìn)行視頻幀率轉(zhuǎn)換,所述視頻幀率轉(zhuǎn)換是指將輸入的低幀率的視頻轉(zhuǎn)換為高幀率的視頻。在進(jìn)行視頻幀率轉(zhuǎn)換時,運(yùn)動估計便是其中的關(guān)鍵環(huán)節(jié)。在進(jìn)行運(yùn)動估計時,首先需要判斷所獲得的運(yùn)動矢量是否正確。
在本申請實施例中,為了消除光線變化對運(yùn)動矢量的判斷的影響,可以計算相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade和邊緣方向的絕對差和sada。
通常,可以通過使用邊緣檢測算子如sobel算子,prewitt算子等,對當(dāng)前像素點進(jìn)行邊緣檢測,得到該像素點的邊緣信息,所述邊緣信息包括邊緣的大小和方向。
因此,在具體實現(xiàn)中,可以首先分別計算兩個匹配塊中對應(yīng)的每個像素點的邊緣大小和邊緣方向。
作為本申請的一種示例,可以通過邊緣檢測算子及其變形算子,分別計算每個像素點的水平方向x的邊緣大小ex、垂直方向y的邊緣大小ey、45度方向xy的邊緣大小exy和135度方向yx的邊緣大小eyx,然后以所述ex、ey、exy和eyx中的最大值作為所述像素點的邊緣大小,以所述最大值對應(yīng)的方向作為所述像素點的邊緣方向。即:
e=max(ex,ey,exy,eyx)
其中,e為像素點的邊緣大小的表達(dá)式,a為像素點的邊緣方向的表達(dá)式。
作為本申請的另一種示例,還可以通過邊緣檢測算子,得到兩個方向的邊緣的大小,即分別計算每個像素點的水平方向x的邊緣大小ex和垂直方向y的邊緣大小ey,然后以所述ex和ey的平方和的算術(shù)平方根作為所述像素點的邊緣大小,以所述ey與ex的比值的反正切函數(shù)對應(yīng)的角度作為所述像素點的邊緣方向。
具體地,可以采用如下公式計算像素點地邊緣大小和邊緣方向:
其中,e為像素點的邊緣大小的表達(dá)式,a為像素點的邊緣方向的表達(dá)式。
在分別獲得兩個匹配塊之間的每個像素點的邊緣大小和邊緣方向后,進(jìn)一步可以分別計算兩個匹配塊中對應(yīng)的每個像素點的邊緣大小的差的絕對值和邊緣方向的差的絕對值,通過累加所述邊緣大小的差的絕對值,作為所述邊緣大小的絕對差和sade,累加所述邊緣方向的差的絕對值,作為所述邊緣方向的絕對差和sada。
具體地,可以采用如下公式計算兩個匹配塊之間的邊緣大小的絕對差和sade:
其中,sade為兩個匹配塊之間的邊緣大小的絕對差和,eacur和ebpre分別表示兩個匹配塊上對應(yīng)的像素點的邊緣大小,usad表示匹配塊的范圍。
可以采用如下公式計算兩個匹配塊之間的邊緣方向的絕對差和sada:
其中,sada為兩個匹配塊之間的邊緣方向的絕對差和,aacur和abpre分別表示兩個匹配塊上對應(yīng)的像素點的邊緣方向,usad表示匹配塊的范圍。
步驟202,計算相鄰的兩張圖像的兩個匹配塊之間的梯度的絕對差和sadgrad;
在本申請實施例中,可以首先計算兩個匹配塊中每個像素點的梯度。具體地,可以通過在圖像上對像素點使用梯度算子來獲得每個像素點的梯度。
通常,不同的梯度算子有不同的計算復(fù)雜度,作為本申請實施例的一種示例,從成本和效果綜合考慮,可以使用簡單的梯度算子來計算梯度。例如,可以分別計算每個像素點的水平梯度gradx和垂直梯度grady,通過累加所述gradx和grady值作為所述像素點的梯度。
在具體實現(xiàn)中,可以采用如下公式計算每個像素點的水平梯度gradx:
gradx=|pcur-plpre|
可以采用如下公式計算每個像素點的垂直梯度grady:
grady=|pcur-pdpre|
進(jìn)而獲得每個像素點的梯度為:
grad=gradx+grady
其中,pcur表示當(dāng)前像素點,plpre表示當(dāng)前像素左邊的相鄰像素點,pdpre表示當(dāng)前像素點下邊的相鄰像素點,gradx為水平梯度,grady為垂直梯度,grad表示最終的梯度。
在獲得每個像素點的梯度后,進(jìn)一步可以分別計算所述兩個匹配塊中對應(yīng)的像素點之間的梯度的差的絕對值,然后累加所述梯度的差的絕對值,作為所述梯度的絕對差和sadgrad。
具體地,可以采用如下公式計算兩個匹配塊之間的梯度的絕對差和sadgrad:
其中,gradacur和gradbpre分別表示兩個匹配塊上對應(yīng)的像素點的梯度,usad表示匹配塊的范圍,sadgrad表示兩個匹配塊之間的梯度的絕對差和。
步驟203,計算相鄰的兩張圖像的兩個匹配塊之間的像素值的絕對差和sadp;
在具體實現(xiàn)中,可以首先計算兩個匹配塊中每個像素點的像素值,由于兩個匹配塊中包括有多個對應(yīng)的像素點,因此,在計算出兩個匹配塊中每個像素點的像素值之后,可以分別計算所述兩個匹配塊中對應(yīng)的像素點之間的像素值的差的絕對值,通過累加所述像素值的差的絕對值,作為所述像素值的絕對差和sadp。
具體地,可以采用如下公式計算兩個匹配塊之間的像素值的絕對差和sadp:
其中,pixelcur和pixelpre分別表示兩個匹配塊上對應(yīng)的像素點的像素值,usad表示匹配塊的范圍,sadp表示兩個匹配塊之間的像素值的絕對差和。
步驟204,對所述sade、sada、sadgrad和sadp加權(quán)求和,獲得所述兩個匹配塊之間的運(yùn)動矢量評價參數(shù);
在具體實現(xiàn)中,在獲得邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及,像素值的絕對差和sadp后,可以為上述四類絕對差和分別設(shè)定一權(quán)重值,通過加權(quán)求和的方式獲得兩個匹配塊之間的運(yùn)動矢量評價參數(shù)。本領(lǐng)域技術(shù)人員可以根據(jù)實際需要選定每個絕對差和的權(quán)重的大小,本申請實施例對此不作限定。
例如,可以設(shè)定邊緣大小的絕對差和sade的權(quán)重值為we、設(shè)定邊緣方向的絕對差和sada的權(quán)重值為wa、設(shè)定梯度的絕對差和sadgrad的權(quán)重值為wgrad,以及,設(shè)定像素值的絕對差和sadp的權(quán)重值為wp,然后采用如下公式計算出兩個匹配塊之間的運(yùn)動矢量評價參數(shù):
sad=sadp×wp+sadgrad×wgrad+sade×we+sada×wa
其中,sad為兩個匹配塊之間的運(yùn)動矢量評價參數(shù)的表達(dá)式。
通常,sad越小,表示兩個匹配塊之間的匹配度越高,當(dāng)前的運(yùn)動矢量越好;sad越大,表示兩個匹配塊之間的匹配度越低,當(dāng)前的運(yùn)動矢量越差。
步驟205,當(dāng)所述運(yùn)動矢量評價參數(shù)滿足預(yù)設(shè)要求時,采用當(dāng)前的運(yùn)動矢量對所述相鄰的兩張圖像進(jìn)行視頻幀率轉(zhuǎn)換。
在本申請實施例中,在獲得運(yùn)動矢量評價參數(shù)sad后,可以根據(jù)該sad的大小,評價當(dāng)前的運(yùn)動矢量是否為正確的運(yùn)動矢量。
具體地,可以設(shè)定一預(yù)設(shè)閾值,當(dāng)sad小于該預(yù)設(shè)閾值時可以認(rèn)為當(dāng)前的運(yùn)動矢量較好,兩張圖像的匹配塊之間的匹配度較高,從而可以采用當(dāng)前的運(yùn)動矢量進(jìn)行視頻幀率轉(zhuǎn)換。當(dāng)然,本領(lǐng)域技術(shù)人員可以根據(jù)實際需要設(shè)定預(yù)設(shè)閾值的大小,本申請實施例對此不作限定。
在本申請實施例中,在評價相鄰兩張圖像地兩個匹配塊之間地運(yùn)動矢量是否正確時,通過增加梯度和邊緣的絕對差和,能夠有效地消除光線變化對運(yùn)動矢量地判斷帶來的影響,提高了運(yùn)動估計中運(yùn)動矢量在光線變化場景下的準(zhǔn)確性,也提高了視頻幀率轉(zhuǎn)換的準(zhǔn)確性。
需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請實施例并不受所描述的動作順序的限制,因為依據(jù)本申請實施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本申請實施例所必須的。
參照圖3,示出了本申請的一種視頻幀率的轉(zhuǎn)換裝置實施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
計算模塊301,用于計算相鄰的兩張圖像的兩個匹配塊之間的邊緣大小的絕對差和sade、邊緣方向的絕對差和sada、梯度的絕對差和sadgrad,以及像素值的絕對差和sadp,所述匹配塊為按照預(yù)設(shè)規(guī)則在參考幀的特定搜索范圍內(nèi)進(jìn)行匹配所獲得的相似度最大的宏塊;
加權(quán)模塊302,用于對所述sade、sada、sadgrad和sadp加權(quán)求和,獲得所述兩個匹配塊之間的運(yùn)動矢量評價參數(shù);
轉(zhuǎn)換模塊303,用于當(dāng)所述運(yùn)動矢量評價參數(shù)小于預(yù)設(shè)閾值時,采用當(dāng)前的運(yùn)動矢量對所述相鄰的兩張圖像進(jìn)行視頻幀率轉(zhuǎn)換。
在本申請實施例中,所述兩個匹配塊中包括有多個對應(yīng)的像素點,所述計算模塊301具體可以包括如下子模塊:
邊緣大小和邊緣方向計算子模塊,用于分別確定兩個匹配塊中對應(yīng)的每個像素點的邊緣大小和邊緣方向。
在本申請實施例中,所述每個像素點的邊緣方向包括水平方向x、垂直方向y、45度方向xy和135度方向yx,所述邊緣大小和邊緣方向計算子模塊具體可以包括如下單元:
第一邊緣大小和邊緣方向計算單元,用于分別計算每個像素點的水平方向x的邊緣大小ex、垂直方向y的邊緣大小ey、45度方向xy的邊緣大小exy和135度方向yx的邊緣大小eyx;以所述ex、ey、exy和eyx中的最大值作為所述像素點的邊緣大小,以所述最大值對應(yīng)的方向作為所述像素點的邊緣方向;
或,
第二邊緣大小和邊緣方向計算單元,用于分別計算每個像素點的水平方向x的邊緣大小ex和垂直方向y的邊緣大小ey;以所述ex和ey的平方和的算術(shù)平方根作為所述像素點的邊緣大小,以所述ey與ex的比值的反正切函數(shù)對應(yīng)的角度作為所述像素點的邊緣方向。
在本申請實施例中,所述計算模塊301還可以包括如下子模塊:
邊緣大小和邊緣方向的差的絕對值計算子模塊,用于分別計算兩個匹配塊中對應(yīng)的每個像素點的邊緣大小的差的絕對值和邊緣方向的差的絕對值;
邊緣大小的差的絕對值累加子模塊,用于累加所述邊緣大小的差的絕對值,作為所述邊緣大小的絕對差和sade;
邊緣方向的差的絕對值累加子模塊,用于累加所述邊緣方向的差的絕對值,作為所述邊緣方向的絕對差和sada。
在本申請實施例中,所述計算模塊301還可以包括如下子模塊:
梯度計算子模塊,用于計算兩個匹配塊中每個像素點的梯度,所述兩個匹配塊中包括有多個對應(yīng)的像素點;
梯度的差的絕對值計算子模塊,用于分別計算所述兩個匹配塊中對應(yīng)的像素點之間的梯度的差的絕對值;
梯度的差的絕對值累加子模塊,用于累加所述梯度的差的絕對值,作為所述梯度的絕對差和sadgrad。
在本申請實施例中,所述梯度計算子模塊具體可以包括如下單元:
水平梯度和垂直梯度計算單元,用于分別計算每個像素點的水平梯度gradx和垂直梯度grady;
水平梯度和垂直梯度累加單元,用于累加所述gradx和grady值作為所述像素點的梯度。
在本申請實施例中,所述計算模塊301還可以包括如下子模塊:
像素值計算子模塊,用于計算兩個匹配塊中每個像素點的像素值,所述兩個匹配塊中包括有多個對應(yīng)的像素點;
像素值的差的絕對值計算子模塊,用于分別計算所述兩個匹配塊中對應(yīng)的像素點之間的像素值的差的絕對值;
像素值的差的絕對值累加子模塊,用于累加所述像素值的差的絕對值,作為所述像素值的絕對差和sadp。
對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請實施例的實施例可提供為方法、裝置、或計算機(jī)程序產(chǎn)品。因此,本申請實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請實施例可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
本申請實施例是參照根據(jù)本申請實施例的方法、終端設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本申請實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請實施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對本申請所提供的一種視頻幀率的轉(zhuǎn)換方法和一種視頻幀率的轉(zhuǎn)換裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。