專利名稱:一種視頻幀率提升方法
一種視頻幀率提升方法技術(shù)領(lǐng)域
本發(fā)明屬于視頻數(shù)據(jù)處理領(lǐng)域,更具體地,涉及一種視頻幀率提升方法。
背景技術(shù):
視頻幀率提升方法指的是通過視頻相鄰兩幀的數(shù)據(jù),用運動估計和插值的方法計算出中間幀并插入原視頻圖像序列,實現(xiàn)整個視頻幀率的提高。
傳統(tǒng)的視頻幀率提升方法是基于分塊分層的雙向運動補償插幀算法,其存在以下問題:
1、視頻本身質(zhì)量對運動估計準確性有較大影響。
2、分塊大小一旦固定,會出現(xiàn)譬如同一塊中包含不同運動情況物體的現(xiàn)象出現(xiàn),進而影響整個算法的效果。
3、雙線性插值算法基于塊內(nèi)像素運動線性變化的假設(shè),且并未有最優(yōu)的矢量選取規(guī)則。發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提供一種視頻幀率提升方法,旨在解決現(xiàn)有視頻幀率提升方法在預(yù)處理、雙線性插值優(yōu)化、自適應(yīng)塊分裂方面存在的問題。
為實現(xiàn)上述目的,本發(fā)明提供了一種視頻幀率提升方法,包括以下步
驟:
(I)讀入視頻;
(2)設(shè)置計數(shù)器i=l,并采用以下公式計算視頻的第i幀作為當前幀、當前幀的下一幀中所有像素點的梯度值,Ji (x,y)
權(quán)利要求
1.一種視頻幀率提升方法,其特征在于,包括以下步驟: (1)讀入視頻; (2)設(shè)置計數(shù)器i=l,并采用以下公式計算視頻的第i幀作為當前幀、當前幀的下一幀中所有像素點的梯度值,(x,y) =、/(/(\'1-.1 O-/仏少))2+(/狀少 + 1) —/仏少.))2、Jh (x,y) =V(7i+i(x+少)—4ιO,y))2 + (4i(x,j+i)-/M(>'.>;))2,其中(x,y)表示幀中像素點的坐標,Ii (X,y)表示第i幀中像素點的像素值,Ji (X,y)表示第i幀中像素點的梯度值; (3)將第i幀和第i+Ι幀中所有像素點的梯度值作為像素值,重新構(gòu)建第i幀和第i+1幀的像素點集合以形成重新構(gòu)建的第i幀和第i+Ι幀; (4)對重新構(gòu)建的第i幀和第i+Ι幀進行基于預(yù)測的雙向分層運動估計,以得到前向運動矢量場和后向運動矢量場; (5)根據(jù)前向運動矢量場和后向運動矢量場,并采用雙線性插值法計算出第i幀和第i+Ι幀中每個像素的運動矢量,并對第i幀中像素做遮擋判斷, (6)利用雙向運動補償插值算法計算將要插入在第i幀和第i+Ι幀之間的M-1個幀中每個像素的值,其中M為大于2的正整數(shù); (7)去除M-1個插入幀的塊效應(yīng),并在第i幀和第i+Ι幀的中間插入M-1個插入幀; (8)設(shè)置i=i+l,并重復(fù)步驟(2)至(7),直到視頻的所有幀都處理完畢為止。
2.根據(jù)權(quán)利要求1所述的視頻幀率提升方法,其特征在于,步驟(4)包括以下子步驟: (4.1)把重新構(gòu)建的第i幀和第i+Ι幀分為N*N大小的塊,其中N的大小為8或16 ; (4.2)采用均值濾波法對重新構(gòu)建的第i幀和第i+Ι幀分別進行分層,其中分層的層數(shù)是大于等于3; (4.3)對分層后的第i幀和第i+Ι幀進行前向運動估計,以得到前向運動矢量場; (4.4)對分層后的第i幀和第i+Ι幀進行后向運動估計,以得到后向運動矢量場; (4.5)根據(jù)前向運動矢量場和后向運動矢量場判斷第i幀和第i+Ι幀之間是否存在場景切換或運動過于劇烈,如果存在場景切換或運動過于劇烈,則轉(zhuǎn)入步驟(4.6),否則轉(zhuǎn)入步驟(4.7); (4.6)直接將第i+Ι幀插入第i幀和第i+Ι幀之間,設(shè)置i=i+l,并返回步驟(2); (4.7)采用矢量中值濾波對上述得到的前向和后向運動矢量場中不可靠的運動矢量進行處理,并尋找搜索窗中,距離其它矢量最近的運動矢量替代該不可靠的運動矢量。
3.根據(jù)權(quán)利要求2所述的視頻幀率提升方法,其特征在于,步驟(4.3)包括以下子步驟: (4.3.1)對第i幀中最上層的所有塊進行前向運動估計,以獲得所有塊的運動矢量; (4.3.2)根據(jù)第i幀中最上層所有塊的運動矢量計算第i幀中第二層所有塊的運動矢量; (4.3.3)根據(jù)第i幀中最二層所有塊的運動矢量計算第i幀中第三層所有塊的運動矢量。
4.根據(jù)權(quán)利要求3所述的視頻幀率提升方法,其特征在于,步驟(4.3.1)包括以下子步驟: (4.3.1.1)設(shè)置計數(shù)器k=l,對第k塊進行空間運動矢量預(yù)測,以得到最上層第k塊的空間運動預(yù)測矢量; (4.3.1.2)使用PMVFAST算法獲取第k塊的運動矢量; (4.3.1.3)設(shè)置k=k+l,并重復(fù)上述步驟(4.3.1.1)和(4.3.1.2),直到獲取第i幀中最上層所有塊的運動矢量為止。
5.根據(jù)權(quán)利要求3所述的視頻幀率提升方法,其特征在于,步驟(4.3.2)包括以下子步驟: (4.3.2.1)設(shè)置計數(shù)器m=l,并對步驟(4.2)分層后的第i幀中第二層的第m塊進行層間運動預(yù)測,以得到第二層的第m塊的層間運動預(yù)測矢量; (4.3.2.2)對第i幀中第二層的第m塊進行全局運動估計,以得到第二層的第m塊的全局運動預(yù)測矢量; (4.3.2.3)使用PMVFAST算法獲取第二層的第m塊的運動矢量; (4.3.2.4)設(shè)置m=m+l,并重復(fù)上述步驟(4.3.2.1)至(4.3.2.3),直到獲取第i幀中第二層所有塊的運動矢量為止。
6.根據(jù)權(quán)利要求3所述的視頻幀率提升方法,其特征在于,步驟(4.3.3)包括以下子步驟: (4.3.3.1)設(shè)置計數(shù)器n=l,并對步驟(4.2)分層后的第i幀中第三層的第η塊進行層間運動預(yù)測,以得到第三層的第η塊的層間運動預(yù)測矢量; (4.3.3.2)對第i幀中第三層的第η塊進行全局運動估計,以得到第三層的第η塊的全局運動預(yù)測矢量; (4.3.3.3)使用PMVFAST算法獲取第三層的第η塊的運動矢量MVC ; (4.3.3.4)判斷第η塊的SAD值是否超過某一閾值,如果超過,則轉(zhuǎn)入步驟(4.3.3.5),否則轉(zhuǎn)入步驟(4.4.3.6); (4.3.3.5)把第η塊分為4q個均勻大小的小塊,其中q為正整數(shù),且滿足4q ( N2,對這4q塊,在η塊的運動矢量所指區(qū)域的p*p (p為正整數(shù))大小范圍內(nèi)找到SAD值最小的小塊的運動矢量,然后轉(zhuǎn)入步驟(4.3.3.6); (4.3.3.6)設(shè)置n =n+l,并重復(fù)上述步驟(4.3.3.1)至(4.3.3.5),直到獲取第i幀中第三層所有塊的運動矢量為止。
7.根據(jù)權(quán)利要求2所述的視頻幀率提升方法,其特征在于,步驟(4.4)包括以下子步驟: (4.4.1)對第i+Ι幀中最上層的所有塊進行后向運動估計,以獲得所有塊的運動矢量; (4.4.2)根據(jù)第i+Ι幀中最上層所有塊的運動矢量計算第i+Ι幀中第二層所有塊的運動矢量; (4.4.3)根據(jù)第i+Ι幀中最二層所有塊的運動矢量計算第i+Ι幀中第三層所有塊的運動矢量。
8.根據(jù)權(quán)利要求6所述的視頻幀率提升方法,其特征在于,步驟(4.4.1)包括以下子步驟:(4.4.1.1)設(shè)置計數(shù)器k’ =1,對第k’塊進行空間運動矢量預(yù)測,以得到最上層第k’塊的空間運動預(yù)測矢量; (4.4.1.2)使用PMVFAST算法獲取第k’塊的運動矢量; (4.4.1.3)設(shè)置讓’ =k,+1,并重復(fù)上述步驟(4.4.1.1)和(4.4.1.2),直到獲取第i+1幀中最上層所有塊的運動矢量為止。
9.根據(jù)權(quán)利要求6所述的視頻幀率提升方法,其特征在于,步驟(4.4.2)包括以下子步驟: (4.4.2.1)設(shè)置計數(shù)器m’ =1,并對步驟(4.2)分層后的第i+Ι幀中第二層的第m’塊進行層間運動預(yù)測,以得到第二層的第m’塊的層間運動預(yù)測矢量; (4.4.2.2)對第i+Ι幀中第二層的第m’塊進行全局運動估計,以得到第二層的第m’塊的全局運動預(yù)測矢量; (4.4.2.3)使用PMVFAST算法獲取第二層的第m’塊的運動矢量; (4.4.2.4)設(shè)置m’ =m’ +1,并重復(fù)上述步驟(4.4.2.1)至(4.4.2.3),直到獲取第i+1幀中第二層所有塊的運動矢量為止。
10.根據(jù)權(quán)利要求6所述的視頻幀率提升方法,其特征在于,步驟(4.4.3)包括以下子步驟: (4.4.3.1)設(shè)置計數(shù)器η’ =1,并對步驟(4.2)分層后的第i+Ι幀中第三層的第η’塊進行層間運動預(yù)測,以得到第三層的第η’塊的層間運動預(yù)測矢量; (4.4.3.2)對第i+Ι幀中第三層的第η’塊進行全局運動估計,以得到第三層的第η’塊的全局運動預(yù)測矢量; (4.4.3.3)使用PMVFAST算法獲取第三層的第η’塊的運動矢量; (4.4.3.4)判斷第η’塊的SAD值是否超過某一閾值,如果超過,則轉(zhuǎn)入步驟(4.4.3.5),否則轉(zhuǎn)入步驟(4.4.3.6); (4.4.3.5)把第η’塊分為4q個均勻大小的小塊,且滿足4q ^ N2,對這4q塊,在η’塊的運動矢量所指區(qū)域的P’ *Ρ’大小范圍內(nèi)找到SAD值最小的小塊的運動矢量,其中P’和q均為正整數(shù),然后轉(zhuǎn)入步驟(4.4.3.6); (4.4.3.6)設(shè)置η’ =η,+1,并重復(fù)上述步驟(4.4.3.1)至(4.4.3.5),直到獲取第i幀中第三層所有塊的運動矢量為止。
全文摘要
本發(fā)明公開了一種視頻幀率提升方法,包括讀入視頻,設(shè)置計數(shù)器i=1,并計算視頻的第i幀作為當前幀、當前幀的下一幀中所有像素點的梯度值,將第i幀和第i+1幀中所有像素點的梯度值作為像素值,重新構(gòu)建第i幀和第i+1幀的像素點集合以形成重新構(gòu)建的第i幀和第i+1幀,對重新構(gòu)建的第i幀和第i+1幀進行基于預(yù)測的雙向分層運動估計,以得到前向運動矢量場和后向運動矢量場,根據(jù)前向運動矢量場和后向運動矢量場,并采用雙線性插值法計算出第i幀和第i+1幀中每個像素的運動矢量,并對第i幀中像素做遮擋判斷。相對于現(xiàn)有的視頻幀率提升方法,本發(fā)明減小了視頻本身質(zhì)量對運動估計準確性的影響,解決了分塊過大帶來的問題,并使得雙線性插值的結(jié)果更精確。
文檔編號H04N7/36GK103152566SQ20131005700
公開日2013年6月12日 申請日期2013年2月22日 優(yōu)先權(quán)日2013年2月22日
發(fā)明者謝玖實, 譚毅華, 李彥勝, 田金文 申請人:華中科技大學(xué)