亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法

文檔序號(hào):6557109閱讀:280來源:國(guó)知局
專利名稱:一種基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算,尤其涉及一種基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法。
背景技術(shù)
視頻轉(zhuǎn)換編碼可以理解為從一種視頻壓縮格式到另一種視頻壓縮格式的轉(zhuǎn)換,這里所說的格式包括碼流的句法和碼流中的相關(guān)參數(shù),如編碼碼率、視頻圖像空間分辨率、時(shí)間分辨率、對(duì)網(wǎng)絡(luò)帶寬的適應(yīng)能力等,其實(shí)質(zhì)就是為適應(yīng)傳輸網(wǎng)絡(luò)的不同帶寬情況或根據(jù)客戶端的解碼能力,把一種壓縮格式的視頻流轉(zhuǎn)換為同種或另一種壓縮格式的視頻流。
可擴(kuò)展視頻編碼是另一種以多層的方式壓縮視頻并根據(jù)網(wǎng)絡(luò)帶寬的變化情況傳輸其中合適的幾層的編碼方法。它將原始視頻數(shù)據(jù)壓縮成一個(gè)基本層和若干個(gè)增強(qiáng)層,基本層必須保證全部傳輸,帶寬越寬,能傳輸?shù)脑鰪?qiáng)層數(shù)就越多,重建視頻圖像質(zhì)量越好,增強(qiáng)層依賴于基本層,沒有基本層有再多的增強(qiáng)層也沒有用。
可擴(kuò)展視頻編碼方法主要有空域分層、時(shí)域分層、信噪比(SNR)分層、精細(xì)可分層(FGS)等方法,它通過進(jìn)行一次編碼,就可以生成一路適合多種信道環(huán)境的碼流,因而其靈活性高于視頻轉(zhuǎn)換編碼方法,但是可擴(kuò)展視頻要求解碼器支持多層解碼,這種復(fù)雜的解碼功能在手持終端上不容易被支持,另外,其碼率控制方式遠(yuǎn)遠(yuǎn)復(fù)雜于視頻轉(zhuǎn)換編碼,導(dǎo)致流媒體服務(wù)器端的運(yùn)算復(fù)雜度提高,而且由于分層導(dǎo)致頭信息增加,這種編碼方式得到的重建視頻圖像質(zhì)量與在相同的帶寬條件下視頻轉(zhuǎn)換編碼獲得的重建視頻圖像質(zhì)量相比要差。多描述編碼是一種將原始視頻編碼成多路視頻流,其中任何一路視頻流都可單獨(dú)解碼播放,通過多路解碼視頻流的合并來獲得更好的重建圖像質(zhì)量并增強(qiáng)視頻流對(duì)網(wǎng)絡(luò)的適應(yīng)性,但是其實(shí)現(xiàn)復(fù)雜度很高,而且重建視頻圖像質(zhì)量的波動(dòng)通常較大。因此,可擴(kuò)展視頻編碼方法與視頻轉(zhuǎn)換編碼方法相比,運(yùn)算復(fù)雜度高,應(yīng)用范圍有限。
隨著無線網(wǎng)絡(luò)傳輸帶寬的不斷提高,以及多媒體檢索業(yè)務(wù)的不斷發(fā)展,對(duì)已有編碼視頻流進(jìn)行時(shí)間轉(zhuǎn)換編碼的需求越來越強(qiáng)烈。時(shí)間分辨率變換(幀率變換),實(shí)際上就是指通過丟幀的方式來滿足網(wǎng)絡(luò)帶寬變化或終端對(duì)輸入視頻流的解碼需求。最簡(jiǎn)單的時(shí)間分辨率變換方法是丟棄雙向預(yù)測(cè)幀(B幀),由于B幀在編碼時(shí)不用做其它幀的參考幀,因此轉(zhuǎn)換編碼器僅需要對(duì)原碼流進(jìn)行語(yǔ)法轉(zhuǎn)換,不會(huì)影響解碼器對(duì)其它幀的正確解碼。然而,當(dāng)丟棄幀不僅限于B幀時(shí),原碼流的部分運(yùn)動(dòng)矢量由于其參考幀在新碼流中被丟棄而變得無效,需要對(duì)運(yùn)動(dòng)矢量進(jìn)行修正,因此視頻時(shí)間分辨率變換(視頻時(shí)間分辯率變換就是根據(jù)實(shí)際網(wǎng)絡(luò)傳輸帶寬的變化去掉編碼視頻流中某些幀的數(shù)據(jù)比特)的關(guān)鍵問題也歸結(jié)為運(yùn)動(dòng)矢量的快速重估,即尋找既能利用原碼流中運(yùn)動(dòng)矢量信息而又不致引入明顯的重建視頻圖像質(zhì)量降低的方案。
在現(xiàn)有的處理方法中,歸納起來主要有三種方法最直接的時(shí)間視頻分辨率轉(zhuǎn)換編碼方式是先把待轉(zhuǎn)換的編碼視頻流完全解碼,再用需要的編碼格式采用全搜索塊匹配算法(FS)重新進(jìn)行運(yùn)動(dòng)估計(jì)而不利用編碼視頻流中已有的任何運(yùn)動(dòng)信息,得到符合轉(zhuǎn)換要求的具有較好重建視頻圖像質(zhì)量的編碼視頻流,但是全搜索塊匹配算法會(huì)消耗處理器大部分的計(jì)算資源,因此一般不采用;另外一種是對(duì)運(yùn)動(dòng)矢量采用雙線性內(nèi)插(BILINEAR),對(duì)內(nèi)插后的運(yùn)動(dòng)矢量進(jìn)行修正,可以根據(jù)跳幀數(shù)和運(yùn)動(dòng)矢量累計(jì)幅度確定搜索范圍,在此范圍內(nèi)搜索得到更新的運(yùn)動(dòng)矢量。
還有一種是Jeongnam Youn和Ming-Ting Sun在文章《A fast motion vectorcomposition method for temporal transcoding》提出的稱為前向主控矢量選擇法FDVS,相對(duì)上述兩種方法,具有較小的計(jì)算量和更好的性能,如圖1所示,每幀中構(gòu)成一個(gè)大正方形的四個(gè)小正方形分別稱之為編碼宏塊S1(左上)、S2(右上)、S3(左下)、S4(右下),該方法通過從丟棄幀(n-1)中找到以該幀數(shù)據(jù)為參考的后續(xù)幀(n)中的編碼宏塊S1(運(yùn)動(dòng)矢量為I1(n))的匹配宏塊MB1’的對(duì)應(yīng)位置,從其部分覆蓋的四個(gè)編碼宏塊S1、S2、S3、S4對(duì)應(yīng)的運(yùn)動(dòng)矢量選擇一個(gè)主控運(yùn)動(dòng)矢量,這個(gè)主控運(yùn)動(dòng)矢量為主控宏塊S2的運(yùn)動(dòng)矢量I2(n-1),主控宏塊是指四個(gè)宏塊中被匹配宏塊覆蓋最大的那個(gè)宏塊,然而,當(dāng)其在參考幀(n-1)中的對(duì)應(yīng)匹配位置覆蓋的四個(gè)編碼宏塊的面積比較接近時(shí),如圖2所示,此時(shí)主控矢量選擇法FDVS仍然簡(jiǎn)單的按照覆蓋面積大小選擇主控運(yùn)動(dòng)矢量,獲得的主控運(yùn)動(dòng)矢量缺乏代表性,從而影響解碼端的重建視頻圖像質(zhì)量。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,以解決現(xiàn)有技術(shù)FDVS算法中在覆蓋面積接近的情況下選取的運(yùn)動(dòng)矢量缺乏代表性的問題,獲得較好的重建視頻圖像質(zhì)量。
本發(fā)明所采用的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法包括如下步驟
A、在采用主控矢量選擇法的時(shí)間視頻分辨率轉(zhuǎn)換中,檢測(cè)待轉(zhuǎn)換編碼視檢測(cè)頻流中采用幀間編碼方式編碼的宏塊對(duì)于被丟棄的參考幀的覆蓋狀態(tài);B、至少當(dāng)匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為兩塊或四塊,所述各個(gè)編碼宏塊的面積比較接近并且均采用幀間編碼方式編碼時(shí),根據(jù)與所述編碼宏塊相關(guān)的離散余弦變換(DCT,Discrete Cosine Transform)直流系數(shù)確定當(dāng)前編碼宏塊在前一參考幀中的匹配位置,據(jù)此取得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
所述的步驟B中,若所述匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為四塊時(shí),根據(jù)四個(gè)被覆蓋的編碼宏塊的各自運(yùn)動(dòng)矢量,確定所述編碼宏塊的DCT直流系數(shù)計(jì)算參照值。
所述的步驟B之后,若當(dāng)前編碼宏塊參考幀的參考幀也被丟棄,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
所述的步驟B包括如下步驟B1、若所覆蓋的編碼宏塊為四塊時(shí),判斷是否存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,進(jìn)行如下操作B11、若存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,則相應(yīng)宏塊被選為主控宏塊,若該主控宏塊采用幀內(nèi)編碼方式,則當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;若該主控宏塊采用幀間編碼方式,則轉(zhuǎn)入步驟B2;B12、否則,判斷其中是否存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,進(jìn)行如下操作B121、若存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;B122、否則,判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量是否都不相等,進(jìn)行如下操作B1221、若四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量都不相等,則選擇殘差DCT直流系數(shù)最大的被覆蓋編碼宏塊在前一參考幀中的對(duì)應(yīng)位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟B2;B1222、否則,選擇殘差DCT直流系數(shù)最小的被覆蓋編碼宏塊在前一參考幀中的對(duì)應(yīng)位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟B2;B2、判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作
B21、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量;B22、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
所述的步驟B中還包括如下步驟BA、若所覆蓋的編碼宏塊為兩塊時(shí),判斷是否存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,進(jìn)行如下操作BA1、若存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,若該覆蓋編碼宏塊采用幀間編碼方式編碼,則采用該被覆蓋編碼宏塊在前一參考幀中的匹配位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)步驟BB,若該覆蓋編碼宏塊采用幀內(nèi)編碼方式編碼,則當(dāng)前編碼宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;BA2、否則,判斷其中是否存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,進(jìn)行如下操作BA21、若存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;BA22、否則,比較兩個(gè)宏塊中覆蓋面積較大的兩個(gè)8*8塊的直流系數(shù)之和的大小,選擇兩者之中較大的一個(gè)被覆蓋編碼宏塊在前一參考幀中的匹配位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟BB;BB、判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作BB1、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量;BB2、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
所述的步驟BB之后還包括如下步驟BCBC、進(jìn)一步選擇搜索窗口以更新運(yùn)動(dòng)矢量,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=1,β=1.25。
所述的步驟B中還包括如下步驟Ba、若所覆蓋的編碼宏塊為一塊時(shí),若該宏塊采用幀間編碼方式編碼,則把該宏塊在前一參考幀中的匹配位置作為當(dāng)前宏塊在前一參考幀中的匹配位置,轉(zhuǎn)入步驟Bb,若該宏塊采用幀內(nèi)編碼方式編碼,則當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;Bb、判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作Bb1、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量;Bb2、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
所述的步驟B之后還包括如下步驟CC、根據(jù)四個(gè)覆蓋宏塊的運(yùn)動(dòng)矢量的情況及丟幀數(shù)進(jìn)一步選擇搜索窗口以更新。
所述的步驟C包括如下步驟C1、判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量是否都相等,進(jìn)行如下操作C11、若都相等,不需要對(duì)運(yùn)動(dòng)矢量進(jìn)行更新;C12、否則,判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量是否都不相等,進(jìn)行如下操作C121、若都不相等,選取較大的搜索窗口對(duì)其進(jìn)行更新,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=2,β=1.5;C122、否則,選取較大的搜索窗口對(duì)其進(jìn)行更新,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=1,β=1.25。
本發(fā)明的有益效果為在本發(fā)明中,通過利用已編碼視頻流中的運(yùn)動(dòng)信息和DCT變換得到的直流系數(shù)重新估計(jì)轉(zhuǎn)換編碼后視頻流的運(yùn)動(dòng)矢量,可減少視頻轉(zhuǎn)換編碼過程中的計(jì)算量,提高編碼速度,本方法可極大地減少視頻轉(zhuǎn)換編碼過程中的計(jì)算量,而且獲得接近于全搜索塊匹配方法的重建視頻圖像質(zhì)量,同時(shí)可以有效地降低網(wǎng)絡(luò)帶寬變化對(duì)重建視頻圖像質(zhì)量的影響,提高網(wǎng)絡(luò)帶寬的利用率,以保證視頻流的可擴(kuò)展性和交互性,為用戶提供極佳的視覺體驗(yàn)。


圖1是前向主控矢量選擇法示意圖;圖2是前向主控矢量選擇法特殊情況示意圖;圖3為本發(fā)明總體控制流程示意圖;圖4為本發(fā)明中對(duì)于覆蓋四塊的基本控制流程示意圖;圖5為本發(fā)明中對(duì)于覆蓋四塊的具體控制流程示意圖;圖6為本發(fā)明中對(duì)于覆蓋二塊的具體控制流程示意圖;圖7為本發(fā)明中對(duì)于覆蓋一塊的具體控制流程示意圖;具體實(shí)施方式
下面根據(jù)附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明視頻編碼國(guó)際標(biāo)準(zhǔn)中,幀間預(yù)測(cè)編碼可采用幀預(yù)測(cè)和場(chǎng)預(yù)測(cè)兩種方式,因此前向預(yù)測(cè)幀的每一宏塊運(yùn)動(dòng)矢量的個(gè)數(shù)可能是一個(gè)或兩個(gè)。如果時(shí)間分辨率轉(zhuǎn)換編碼前輸入編碼視頻流中使用幀間編碼方式編碼的宏塊采用幀預(yù)測(cè)方式,那么所得的運(yùn)動(dòng)矢量就是該宏塊的運(yùn)動(dòng)矢量。如果采用場(chǎng)預(yù)測(cè),每一宏塊被分成16*8奇偶兩個(gè)塊,則該宏塊的運(yùn)動(dòng)矢量為DCT變換后擁有大的直流系數(shù)之和的16*8塊對(duì)應(yīng)的運(yùn)動(dòng)矢量,這樣做的原因在于塊匹配方法建立宏塊內(nèi)所有像素都處于平動(dòng)狀態(tài)下且擁有相同的運(yùn)動(dòng)趨勢(shì)這一假設(shè)條件下,但通常在物體邊緣處,這一條件很難滿足,所以塊匹配方法在物體邊緣處存在產(chǎn)生大的預(yù)測(cè)誤差這一趨勢(shì),同時(shí)經(jīng)過運(yùn)動(dòng)補(bǔ)償?shù)玫降臍埐詈陦K的像素值服從拉普拉斯分布,這意味著量化后直流系數(shù)不為零的可能性大于交流系數(shù),且實(shí)驗(yàn)證明宏塊的活動(dòng)性與DCT系數(shù)的能量有關(guān),所以選擇大的DC系數(shù)作為宏塊活動(dòng)性的判斷標(biāo)志。
根據(jù)圖3,本發(fā)明的總體控制流程如下1)在采用主控矢量選擇法的時(shí)間視頻分辨率轉(zhuǎn)換中,檢測(cè)待轉(zhuǎn)換編碼視頻流中采用幀間編碼方式編碼的宏塊對(duì)于被丟棄的參考幀的覆蓋狀態(tài)。
2)至少當(dāng)匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為兩塊或四塊,所述各個(gè)編碼宏塊的面積比較接近并且均采用幀間編碼方式編碼時(shí),根據(jù)與所述編碼宏塊相關(guān)的DCT直流系數(shù)確定當(dāng)前編碼宏塊在前一參考幀中的匹配位置,據(jù)此取得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
如上所述,需要指出的是,本發(fā)明的處理均是在像素域進(jìn)行的,不在頻域進(jìn)行的主要原因在于頻域視頻轉(zhuǎn)換編碼建立在運(yùn)動(dòng)補(bǔ)償過程的線性化、不考慮幀緩存前的截?cái)嗪瘮?shù)、DCT/IDCT變換在編解碼過程中具有一致的算術(shù)精度以及轉(zhuǎn)換編碼后每個(gè)宏塊的編碼模式和轉(zhuǎn)換前的編碼模式相一致的四個(gè)假設(shè)條件下,但是通常情況下這四種假設(shè)很難成立,由此會(huì)產(chǎn)生漂移錯(cuò)誤而降低重建視頻圖像的質(zhì)量。
如圖4所示,對(duì)于匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為四塊時(shí),采用如下的基本控制流程a)檢測(cè)待轉(zhuǎn)換編碼視頻流中采用幀間編碼方式編碼的宏塊對(duì)于被丟棄的參考幀的覆蓋狀態(tài)。
b)所覆蓋的編碼宏塊為四塊,各個(gè)編碼宏塊的面積比較接近并且均采用幀間編碼方式編碼。
c)根據(jù)四個(gè)被覆蓋的編碼宏塊的各自運(yùn)動(dòng)矢量,確定所述編碼宏塊的DCT直流系數(shù)計(jì)算參照值。
d)判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作d1)若未丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量,繼續(xù)如下步驟e)。
d2)否則,向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量,繼續(xù)如下步驟e)。
e)根據(jù)四個(gè)覆蓋宏塊的運(yùn)動(dòng)矢量的情況及丟幀數(shù)進(jìn)一步選擇搜索窗口以更新。
如圖5所示,下面就匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為四塊時(shí)的具體控制流程作如下詳細(xì)說明1、檢測(cè)待轉(zhuǎn)換編碼視頻流中采用幀間編碼方式編碼的宏塊對(duì)于被丟棄的參考幀的覆蓋狀態(tài)。
2、所覆蓋的編碼宏塊為四塊時(shí),判斷是否存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,進(jìn)行如下操作21、若存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,則相應(yīng)宏塊被選為主控宏塊,判斷該宏塊是否采用幀內(nèi)編碼方式編碼,進(jìn)行如下操作211、若是采用幀內(nèi)編碼方式編碼,則流程結(jié)束。
212、否則,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量 繼續(xù)如下步驟4。
22、否則,判斷其中是否存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,進(jìn)行如下操作221、若存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束。
222、否則,判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量 是否都不相等,進(jìn)行如下操作2221、若四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量 都不相等,則選擇殘差DCT直流系數(shù)最大的被覆蓋編碼宏塊在前一參考幀中的對(duì)應(yīng)位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟3。
在這種情況下,適用下式v→ref=v→nbi|maxdc8*8,i=1,2,3,4]]>其中, 即為主控宏塊的運(yùn)動(dòng)矢量。
2222、否則,選擇殘差DCT直流系數(shù)最小的被覆蓋編碼宏塊在前一參考幀中的對(duì)應(yīng)位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟3。
在這種情況下,適用下式v→ref=v→nbi|mindc8*8,i=1,2,3,4]]>其中, 即為主控宏塊的運(yùn)動(dòng)矢量。
3、判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作31、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量 繼續(xù)如下步驟4。
32、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量 在此,采用如下計(jì)算vtx=xn-j-xnvty=y(tǒng)n-j-yn其中,(xn,yn)為當(dāng)前編碼宏塊在當(dāng)前幀中的位置,(xn-j,yn-j)為匹配宏塊在最終未丟棄參考幀中的位置,vtx、vty為當(dāng)前宏塊運(yùn)動(dòng)矢量 的水平分量和垂直分量,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù)。
以此取得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量 繼續(xù)如下步驟4。
4、判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量是否都相等,進(jìn)行如下操作41、若都相等,不需要對(duì)運(yùn)動(dòng)矢量 進(jìn)行更新。
42、否則,判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量 是否都不相等,進(jìn)行如下操作421、若都不相等,選取較大的搜索窗口對(duì)其進(jìn)行更新,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=2,β=1.5。
422、否則,選取較大的搜索窗口對(duì)其進(jìn)行更新,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=1,β=1.25。
這樣,通過上述步驟4、41、42、421、422,就根據(jù)四個(gè)覆蓋宏塊的運(yùn)動(dòng)矢量的情況及丟幀數(shù)進(jìn)一步選擇搜索窗口以更新。
如圖6所示,對(duì)于匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為二塊時(shí),采用如下的具體控制流程I、檢測(cè)待轉(zhuǎn)換編碼視頻流中采用幀間編碼方式編碼的宏塊對(duì)于被丟棄的參考幀的覆蓋狀態(tài)。
II、若所覆蓋的編碼宏塊為兩塊時(shí),判斷是否存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,進(jìn)行如下操作II1、若存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,若該覆蓋編碼宏塊采用幀間編碼方式編碼,采用該被覆蓋編碼宏塊在前一參考幀中的匹配位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟III;若該覆蓋編碼宏塊采用幀內(nèi)編碼方式編碼,則當(dāng)前編碼宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束。
II2、否則,判斷其中是否存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,進(jìn)行如下操作II2l、若存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束。
II22、否則,比較兩個(gè)宏塊中覆蓋面積較大的兩個(gè)8*8塊的直流系數(shù)之和的大小,選擇兩者之中較大的一個(gè)被覆蓋編碼宏塊在前一參考幀中的匹配位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟III。
III、判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作III1、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量,繼續(xù)如下步履IV。
III2、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量,繼續(xù)如下步履IV。
IV、進(jìn)一步選擇搜索窗口以更新運(yùn)動(dòng)矢量,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=1,β=1.25。
如圖6所示,對(duì)于匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為一塊時(shí),采用如下的具體控制流程i.檢測(cè)待轉(zhuǎn)換編碼視頻流中采用幀間編碼方式編碼的宏塊對(duì)于被丟棄的參考幀的覆蓋狀態(tài)。
ii.若所覆蓋的編碼宏塊為一塊時(shí),若該宏塊采用幀間編碼方式編碼,把該宏塊在前一參考幀中的匹配位置作為當(dāng)前宏塊在前一參考幀中的匹配位置,轉(zhuǎn)入步驟iii;若該宏塊采用幀內(nèi)編碼方式編碼,則當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束。
iii.判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作iii1、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量。
iii2、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
例如,在時(shí)間分辨率轉(zhuǎn)換編碼實(shí)驗(yàn)中,對(duì)七個(gè)不同運(yùn)動(dòng)復(fù)雜度、編碼速率為384kbit/s、幀率為30幀/s的CIF格式視頻序列做了測(cè)試,每個(gè)序列均編碼240幀,缺省搜索窗口大小為±7,GOP采用IPPPPPPPPP這樣的結(jié)構(gòu),轉(zhuǎn)換編碼后的視頻流速率為100kbit/s、幀率為12幀/s(每三個(gè)相鄰前向預(yù)測(cè)幀中丟棄兩個(gè))。
如下表1所示,采用BILINEAR、FDVS、TFMVRE、TFMVRE+R方法(TFMVRE即本發(fā)明方法,TFMVRE+R為本發(fā)明中采用進(jìn)一步更新的方法,如前述步驟e)或步驟4所述)相對(duì)于FS算法的PSNR變化情況進(jìn)行比較,可以看出,用BILINEAR算法對(duì)運(yùn)動(dòng)緩慢的視頻序列進(jìn)行時(shí)間分辨率轉(zhuǎn)換所得重建視頻圖像質(zhì)量和FDVS、TFMVRE算法相差不大,但是當(dāng)視頻運(yùn)動(dòng)劇烈時(shí),通過本發(fā)明獲得重建視頻質(zhì)量與FDVS、TFMVRE算法相差很大。
原因在于視頻運(yùn)動(dòng)平緩時(shí),待轉(zhuǎn)換編碼流中采用幀間編碼方式編碼的宏塊在其參考幀的最佳匹配位置覆蓋參考幀某一宏塊很大一部分面積的可能性較大,如視頻序列Akiyo,此時(shí)通過BILINEAR算法獲得的運(yùn)動(dòng)矢量比較接近于通過FDVS、TFMVRE算法獲得的運(yùn)動(dòng)矢量。
但是,當(dāng)視頻運(yùn)動(dòng)劇烈時(shí),其在參考幀中的最佳匹配位置在四個(gè)或兩個(gè)覆蓋宏塊中面積接近的可能性增大,此時(shí)BILINEAR算法獲得的運(yùn)動(dòng)矢量缺乏代表性,所以重建視頻圖像質(zhì)量比較差(如視頻序列Football);用FDVS算法對(duì)運(yùn)動(dòng)緩慢的視頻序列進(jìn)行時(shí)間分辨率轉(zhuǎn)換編碼時(shí),獲得的運(yùn)動(dòng)矢量大部分同TFMVRE算法相同,只是在偶爾的局部運(yùn)動(dòng)劇烈區(qū)域的重建視頻圖像質(zhì)量低于TFMVRE算法,所以總體重建視頻質(zhì)量相差不大,但是當(dāng)視頻運(yùn)動(dòng)劇烈時(shí),該算法獲得的重建視頻圖像質(zhì)量低于TFMVRE算法,同時(shí)對(duì)于運(yùn)動(dòng)相對(duì)平緩的視頻序列Foreman、Paris,F(xiàn)DVS算法獲得重建視頻圖像質(zhì)量?jī)?yōu)于運(yùn)動(dòng)劇烈的視頻序列Tennis、Football,原因同BILINEAR算法對(duì)運(yùn)動(dòng)劇烈的視頻編碼表現(xiàn)下降相同。
本發(fā)明針對(duì)FDVS算法對(duì)覆蓋宏塊面積接近時(shí)選擇的運(yùn)動(dòng)矢量缺乏代表性做了修改,尤其在視頻運(yùn)動(dòng)劇烈時(shí)本發(fā)明獲得的重建視頻質(zhì)量大大優(yōu)于FDVS算法;本發(fā)明TFMVRE+R(refinement)的進(jìn)一步更新的方法,通過對(duì)得到的運(yùn)動(dòng)矢量進(jìn)行更新,可獲得接近于FS算法的重建視頻圖像質(zhì)量。

該表1中不同序列使用各種時(shí)域轉(zhuǎn)換編碼算法所得PSNR(單位dB)(相對(duì)于FS)表1綜上所述,本發(fā)明利用已編碼視頻流中的運(yùn)動(dòng)信息和DCT變換得到的直流系數(shù)重新估計(jì)轉(zhuǎn)換編碼后視頻流的運(yùn)動(dòng)矢量,可減少視頻轉(zhuǎn)換編碼過程中的計(jì)算量,提高編碼速度。
權(quán)利要求
1.一種基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于它包括如下步驟A、在采用主控矢量選擇法的時(shí)間視頻分辨率轉(zhuǎn)換中,檢測(cè)待轉(zhuǎn)換編碼視頻流中采用幀間編碼方式編碼的宏塊對(duì)于被丟棄的參考幀的覆蓋狀態(tài);B、至少當(dāng)匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為兩塊或四塊,所述各個(gè)編碼宏塊的面積比較接近并且均采用幀間編碼方式編碼時(shí),根據(jù)與所述編碼宏塊相關(guān)的DCT直流系數(shù)確定當(dāng)前編碼宏塊在前一參考幀中的匹配位置,據(jù)此取得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
2.根據(jù)權(quán)利要求1所述的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于所述的步驟B中,若所述匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為四塊時(shí),根據(jù)四個(gè)被覆蓋的編碼宏塊的各自運(yùn)動(dòng)矢量,確定所述編碼宏塊的DCT直流系數(shù)計(jì)算參照值。
3.根據(jù)權(quán)利要求2所述的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于所述的步驟B之后,若當(dāng)前編碼宏塊參考幀的參考幀也被丟棄,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
4.根據(jù)權(quán)利要求1-3中任意一項(xiàng)所述的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于所述的步驟B包括如下步驟B1、若所覆蓋的編碼宏塊為四塊時(shí),判斷是否存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,進(jìn)行如下操作B11、若存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,則相應(yīng)宏塊被選為主控宏塊,若該主控宏塊采用幀內(nèi)編碼方式,則當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束,若該主控宏塊采用幀間編碼方式,則轉(zhuǎn)入步驟B2;B12、否則,判斷其中是否存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,進(jìn)行如下操作B121、若存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;B122、否則,判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量是否都不相等,進(jìn)行如下操作B1221、若四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量都不相等,則選擇殘差DCT直流系數(shù)最大的被覆蓋編碼宏塊在前一參考幀中的對(duì)應(yīng)位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟B2;B1222、否則,選擇殘差DCT直流系數(shù)最小的被覆蓋編碼宏塊在前一參考幀中的對(duì)應(yīng)位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟B2;B2、判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作B21、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量;B22、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
5.根據(jù)權(quán)利要求4所述的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于所述的步驟B中還包括如下步驟BA、若所覆蓋的編碼宏塊為兩塊時(shí),判斷是否存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,進(jìn)行如下操作BA1、若存在大于像素點(diǎn)數(shù)閥值T的被覆蓋部分,若該覆蓋編碼宏塊采用幀間編碼方式編碼,則采用該被覆蓋編碼宏塊在前一參考幀中的匹配位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)步驟BB,若該覆蓋編碼宏塊采用幀內(nèi)編碼方式編碼,則當(dāng)前編碼宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;BA2、否則,判斷其中是否存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,進(jìn)行如下操作BA21、若存在采用幀內(nèi)編碼方式編碼的被覆蓋部分,當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;BA22、否則,比較兩個(gè)宏塊中覆蓋面積較大的兩個(gè)8*8塊的直流系數(shù)之和的大小,選擇兩者之中較大的一個(gè)被覆蓋編碼宏塊在前一參考幀中的匹配位置作為當(dāng)前編碼宏塊在前一參考幀中的匹配位置,繼續(xù)如下步驟BB;BB、判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作BB1、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量;BB2、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
6.根據(jù)權(quán)利要求5所述的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于所述的步驟BB之后還包括如下步驟BCBC、進(jìn)一步選擇搜索窗口以更新運(yùn)動(dòng)矢量,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=1,β=1.25。
7.根據(jù)權(quán)利要求4所述的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于所述的步驟B中還包括如下步驟Ba、若所覆蓋的編碼宏塊為一塊時(shí),若該宏塊采用幀間編碼方式編碼,則把該宏塊在前一參考幀中的匹配位置作為當(dāng)前宏塊在前一參考幀中的匹配位置,轉(zhuǎn)入步驟Bb,若該宏塊采用幀內(nèi)編碼方式編碼,則當(dāng)前宏塊也采用幀內(nèi)編碼方式編碼,流程結(jié)束;Bb、判斷當(dāng)前編碼宏塊參考幀的參考幀是否也被丟棄,進(jìn)行如下操作Bb1、若未被丟棄,直接更新當(dāng)前獲得的運(yùn)動(dòng)矢量;Bb2、否則,則向前搜尋,直到當(dāng)前編碼宏塊的參考幀不是丟棄幀為止,獲得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量。
8.根據(jù)權(quán)利要求1-3中任意一項(xiàng)所述的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于所述的步驟B之后還包括如下步驟CC、根據(jù)四個(gè)覆蓋宏塊的運(yùn)動(dòng)矢量的情況及丟幀數(shù)進(jìn)一步選擇搜索窗口以更新。
9.根據(jù)權(quán)利要求8所述的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,其特征在于所述的步驟C包括如下步驟C1、判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量是否都相等,進(jìn)行如下操作C11、若都相等,不需要對(duì)運(yùn)動(dòng)矢量進(jìn)行更新;C12、否則,判斷四個(gè)被覆蓋編碼宏塊的運(yùn)動(dòng)矢量是否都不相等,進(jìn)行如下操作C121、若都不相等,選取較大的搜索窗口對(duì)其進(jìn)行更新,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=2,β=1.5;C122、否則,選取較大的搜索窗口對(duì)其進(jìn)行更新,所述的搜索窗口以下式更新SW=±m(xù)in(defaultSW,α*βj-1)其中,SW為當(dāng)前運(yùn)動(dòng)矢量更新時(shí)所需的搜索窗口的大小,defaultSW為全搜索塊匹配計(jì)算中缺省的搜索窗大小,j為當(dāng)前幀與非丟棄幀的參考幀之間丟幀的個(gè)數(shù),α=1,β=1.25。
全文摘要
一種涉及計(jì)算的基于時(shí)間分辨率變換的視頻轉(zhuǎn)換處理方法,它采用A.在采用主控矢量選擇法的時(shí)間視頻分辨率轉(zhuǎn)換中,檢測(cè)待轉(zhuǎn)換編碼視頻流中采用幀間編碼方式編碼的宏塊對(duì)于被丟棄的參考幀的覆蓋狀態(tài),B.至少當(dāng)匹配宏塊在參考幀中的對(duì)應(yīng)匹配位置所覆蓋的編碼宏塊為兩塊或四塊,所述各個(gè)編碼宏塊的面積比較接近并且均采用幀間編碼方式編碼時(shí),根據(jù)與所述編碼宏塊相關(guān)的DCT直流系數(shù)確定當(dāng)前編碼宏塊在前一參考幀中的匹配位置,據(jù)此取得當(dāng)前編碼宏塊的運(yùn)動(dòng)矢量;還包括步驟C根據(jù)四個(gè)覆蓋宏塊的運(yùn)動(dòng)矢量的情況及丟幀數(shù)進(jìn)一步選擇搜索窗口以更新,本發(fā)明解決了FDVS算法中運(yùn)動(dòng)矢量缺乏代表性的問題,獲得較好的重建視頻圖像質(zhì)量。
文檔編號(hào)G06T9/00GK101094398SQ200610061250
公開日2007年12月26日 申請(qǐng)日期2006年6月20日 優(yōu)先權(quán)日2006年6月20日
發(fā)明者魯照華 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1