專利名稱:一種視頻數據還原的插幀方法
技術領域:
本發明涉及視頻圖像處理領域,尤其涉及一種視頻數據還原的插幀方法。
背景技術:
在網絡視頻傳輸系統中,視頻都是先經過壓縮,通過網絡傳輸到接收方,再由接收方解碼顯示。但是在很多實際應用的場合,由于受網絡帶寬的限制,現有的視頻編解碼算法無法滿足人們對視頻流暢顯示的需求。顯示設備顯示圖像的質量在很大程度上取決于掃描模式和圖像的刷新率,傳統的顯示設備的掃描模式是隔行掃描,其圖像的刷新率一般為60場/秒。在被顯示圖像從前幀切換到下一幀之前,雖然在同一幀中圖像被連續顯示,但人眼預期圖像在下一幀的圖像的顯示,是在前幀圖像上的運動物體的運動方向上移動的同時觀看該圖像。換句話說,由于眼睛的跟隨運動是連續的,且進行的取樣比幀間隔更精確,因此人眼觀看兩相鄰幀之間的圖像,看到的是模糊的圖像。為了解決這一問題,只能使顯示的幀間隔更短,這樣,可能改善具有少數目顯示幀的運動畫面中都不自然的運動。插幀方法是在不改變原有碼流的情況下,在解碼出來的每兩幀之間插出一幀,使顯示的視頻幀率比原來提高了將近1倍,有效的改善了視頻流暢性問題。插幀算法是基于物體的運動是平滑連續的,這個假設對于大多數視頻序列都是適用的。插幀算法的總體思路如圖1所示。設當前幀的運動向量為(mVlx,mVly),插出幀的運動向量為(mvx = mvlx/2, mvy = mvly/2)。插出幀每個象素值的計算公式為F (x,y) = [Flri (x+mvx, y+mvy) +Fn (x-mvx, y-mvy) ] /2 ο其中Flri (χ, y)表示前一幀(x, y)位置的象素值,Fn(x,y)表示當前幀(x, y)位置的象素值。在實際應用中,根據上述方法生成的插幀效果并不理想。這主要是由于以下幾個因素的影響(1)視頻編解碼算法中有I幀和I宏塊,I幀和I宏塊的運動向量為0,這些運動向量對插幀沒有參考意義。(2) 一幀圖像中雖然大部分物體運動是連續的,可能有小部分是不連續的,這樣插幀的局部效果會比較差。(3)實際情況中由于光線變化和攝像機采集的影響,編碼信息中的一些運動向量并不是物體的真實運動,這些運動向量不能用來作為插幀的參考運動向量。(4)在場景變換和前后兩幀物體運動變化很大的情況下,插幀的馬賽克現象比較嚴重。現有的插幀實現方法大部分都是針對特定的編解碼算法,而且復雜度高,插幀效果也是針對測試序列而言,在實際應用中效果并不理想。
發明內容
本發明的目的在于克服現有技術的缺陷和不足,提供一種對視頻壓縮圖像進行解壓縮的方法,該方法設計簡單,使視頻流顯示的幀數更加流暢,提高了視頻質量。為達到上述目的,本發明是通過以下技術方案來實現的一種視頻數據還原的插幀方法,包括如下步驟Sl 將解壓后的相鄰兩幀圖像分別分解為至少包括兩個像素塊的區域;S2 判斷第一幀圖像與第二幀圖像相對應像素塊的相關性;S3 根據兩幀圖像對應像素塊的相關性,在相鄰兩幀圖像間插入內插幀;S4:顯示內插幀。進一步的,所述像素塊區域包括靜止像素區域、運動很慢的區域和快速運動像素區域。進一步的,所述內插幀至少包括兩個像素塊區域。進一步的,判斷像素塊的運動矢量相關性。進一步的,根據像素塊的運動矢量相關性生成內插幀像素塊。進一步的,所述內插幀采用OBMC方法來進行運動補償產生。進一步的,所述步驟Sl中的像素塊可以根據圖像的特征進行區域大小調整。本發明公開一種一種對視頻壓縮圖像進行解壓縮的方法,該方法設計簡單,使視頻流顯示的幀數更加流暢,提高了視頻質量,具有廣泛的適用性。
下面根據附圖和實施例對本發明作進一步詳細說明。圖1為現有技術中插幀實現方法;圖2為本發明視頻數據還原的插幀方法的流程圖;圖3為OBMC圖示。圖4為OBMC算法像素塊中的小塊示意圖。
具體實施例方式圖1為現有技術中內插幀實現的方法,內插幀是通過幀間預測根據運動的慣性計算得到的。采用預測編碼的方法消除序列圖像在時間上的相關性,即不直接傳送當前幀的像素值,而是傳送幀和其前一幀或后一幀的對應像素之間的差值,這稱為幀間預測。幀間預測編碼是利用視頻圖像幀間的相關性,即時間相關性,來達到圖像壓縮的目的。在圖像傳輸技術中,活動圖像特別是電視圖像是關注的主要對象。活動圖像是由時間上以幀周期為間隔的連續圖像幀組成的時間圖像序列,它在時間上比在空間上具有更大的相關性。大多數電視圖像相鄰幀間細節變化是很小的,即視頻圖像幀間具有很強的相關性,利用幀所具有的相關性的特點進行幀間編碼,可獲得比幀內編碼高得多的壓縮比。對于靜止圖像或活動很慢的圖像,可以少傳一些幀,如隔幀傳輸,未傳輸的幀利用接收端的幀存儲器中前一幀的數據作為該幀數據,對視覺沒有什么影響。由于人眼對圖像中靜止或活動慢的部分,要求有較高的空間分辨率,而對時間分辨率的要求可低些。
當圖像中存在著運動物體時,簡單的預測不能收到好的效果,例如在圖2中當前幀與前一幀的背景完全一樣,只是圖中像素塊平移了一個位置,如果簡單地以第幀像素值作為F幀的預測值,則當前像素塊與前一幀像素塊的預測誤差都不為零。如果已經知道了像素塊的方向和速度,可以從像素塊在幀的位置推算出它在F幀中的位置來,而背景圖像(不考慮被遮擋的部分)仍以前一幀的背景代替,將這種考慮了像素塊位移的而-1幀圖像作為F幀的預測值,就比簡單的預測準確得多,從而可以達到更高的數據壓縮比。這種預測方法稱為具有運動補償的幀間預測。本實施例中提出一種視頻數據還原的插幀方法,根據視頻前后幀之間的相關性插值出新的一幅視頻圖像。圖2為該方法的流程圖,包括Sl 將解壓后的相鄰兩幀圖像分別分解為至少包括兩個像素塊的區域;S2 判斷第一幀圖像與第二幀圖像相對應像素塊的相關性;S3 根據兩幀圖像對應像素塊的相關性,在相鄰兩幀圖像間插入內插幀;S4:顯示內插幀。圖3為OBMC圖示。從圖3可以看出,內插幀像素塊的運動向量估計是通過OBMC (重疊宏塊運動補償的方法)來計算得到的,該方法可以有效的防止某一塊運動量過大引起的估計不準確。圖4為像素塊中的小塊示意圖。一個宏塊由4個Block組成,一個宏塊為16x16象素矩陣,一個Block為8x8象素矩陣。數據編碼以宏塊為單位,運動預測以Block為單位。 I宏塊直接以象素值編碼,不進行運動預測。補償塊是通過前后幀圖像的運動關系計算出中間插幀圖像的一塊。對所述宏塊的運動向量進行分類取 SAD = Σ blocksize abs [Fn-1 (x+mvx, y+mvy) -Fn (x-mvx, y-mvy)],其中Σ blocksize表示對一個8x8的象素矩陣求和,Fn-I (a, b)表示前一幀(a, b)位置的象素值,i^(a,b)表示當前幀(a,b)位置的象素值,abs()表示取括號中數字的絕對值;當SAD <閾值T (在該方法中T取值切(8x8))時,運動向量(mvx,mvy)可以作為插出幀的參考運動向量。當SAD >閾值T時,取插出幀當前Block上方,左方,左上方3個 Block的運動向量分別計算SAD值,取其中SAD值最小的運動向量作為當前Block的運動向量;用OBMC方法生成插出幀的每個象素每個補償塊要覆蓋周圍4個Block,區域A中象素值的計算公式為
權利要求
1.一種視頻數據還原的插幀方法,其特征在于,包括如下步驟51將解壓后的相鄰兩幀圖像分別分解為至少包括兩個像素塊的區域;52判斷第一幀圖像與第二幀圖像相對應像素塊的相關性;53根據兩幀圖像對應像素塊的相關性,在相鄰兩幀圖像間插入內插幀;54顯示內插幀。
2.根據權利要求1所述的視頻數據還原的插幀方法,其特征在于,所述像素塊區域包括靜止像素區域、慢運動像素區域和快速運動像素區域。
3.根據權利要求1所述的視頻數據還原的插幀方法,其特征在于,所述內插幀至少包括兩個像素塊區域。
4.根據權利要求1所述的視頻數據還原的插幀方法,其特征在于,判斷步驟S2中像素塊的運動矢量相關性。
5.根據權利要求4所述的視頻數據還原的插幀方法,其特征在于,根據像素塊的運動矢量相關性生成內插幀像素塊。
6.根據權利要求4所述的視頻數據還原的插幀方法,其特征在于,所述內插幀像素塊采用OBMC方法進行運動補償產生。
7.根據權利要求1所述的視頻數據還原的插幀方法,其特征在于,所述步驟Sl中的像素塊可以根據圖像的特征進行區域大小調整。
全文摘要
本發明公開一種視頻數據還原的插幀方法,根據視頻前后幀之間的相關性插值出新的一幅視頻圖像,首先將解壓后的相鄰兩幀圖像分別分解為至少包括兩個像素塊的區域;判斷第一幀圖像與第二幀圖像相對應像素塊的相關性;根據兩幀圖像對應像素塊的相關性,在相鄰兩幀圖像間插入內插幀;顯示內插幀。該方法設計簡單,使視頻流顯示的幀數更加流暢,提高了視頻質量,具有廣泛的適用性。
文檔編號H04N7/26GK102378010SQ20111036126
公開日2012年3月14日 申請日期2011年11月15日 優先權日2011年11月15日
發明者王芳 申請人:無錫港灣網絡科技有限公司