專利名稱:基于空間分辨率變換的視頻轉換編碼方法
技術領域:
本發明屬于數據壓縮及通信領域,涉及視頻壓縮及傳輸領域技術,具體講涉及基于空間分辨率變換的視頻轉換編碼方法。
背景技術:
視頻轉換編碼可以理解為從一種視頻壓縮格式到另一種視頻壓縮格式的轉換,這里所說的格式包括碼流的句法和碼流中的相關參數,如編碼碼率、視頻圖像空間分辨率、時間分辨率、對網絡帶寬的適應能力等,其實質就是為適應傳輸網絡的不同帶寬情況或根據客戶端的解碼能力,把一種壓縮格式的視頻流轉換為同種或另一種壓縮格式的視頻流。
可擴展視頻編碼是另一種以多層的方式壓縮視頻并根據網絡帶寬的變化情況傳輸其中合適的幾層的編碼方法。它將原始視頻數據壓縮成一個基本層和若干個增強層,基本層必須保證全部傳輸,帶寬越寬,能傳輸的增強層數就越多,重建視頻圖像質量越好,增強層依賴于基本層,沒有基本層有再多的增強層也沒有用。可擴展視頻編碼方法主要有空域分層、時域分層、SNR(信噪比)分層、FGS(精細可分層)等方法,它通過進行一次編碼,就可以生成一路適合多種信道環境的碼流,因而其靈活性高于視頻轉換編碼方法,但是可擴展視頻要求解碼器支持多層解碼,這種復雜的解碼功能在未來幾年的手持終端上是不容易被支持的,另外其碼率控制方式遠遠復雜于視頻轉換編碼,導致流媒體服務器端的運算復雜度提高,而且由于分層導致頭信息增加,這種編碼方式得到的重建視頻圖像質量與在相同的帶寬條件下視頻轉換編碼獲得的重建視頻圖像質量相比要差。多描述編碼是一種將原始視頻編碼成多路視頻流,其中任何一路視頻流都可單獨解碼播放,通過多路解碼視頻流的合并來獲得更好的重建圖像質量并增強視頻流對網絡的適應性,但是其實現復雜度很高,而且重建視頻圖像質量的波動通常較大。因此,可擴展視頻編碼方法與視頻轉換編碼方法相比,運算復雜度高,應用范圍有限。
隨著移動通信的不斷發展,無線接入帶寬越來越高,通過屏幕較小的手持終端觀看視頻越來越引人注目,同時多媒體檢索的不斷發展也要求能夠用較窄的帶寬、較小的版面瀏覽部分視頻信息,因此需要對編碼視頻流的空間分辨率轉換技術做深入的研究。
傳統的編碼視頻流的空間分辨率下變換方法是對待轉換的視頻流先解碼,然后在像素域實行向下采樣,最后進行編碼,然而由于運動估計的計算量極大,使得這種轉換編碼計算量很大,因此出現許多獲得空域下變換后宏塊運動矢量的快速重估方法。在待轉換視頻流的幀間編碼幀中,假如每個宏塊通過四分之一空域降采樣后變為一個8*8大小的塊,同時原來宏塊的運動矢量 除以2就變成了該8*8塊的運動矢量,則獲得轉換后視頻流幀間編碼幀中宏塊運動矢量 最簡單的方法就是對構成該宏塊的四個8*8塊的運動矢量求平均(MEAN),見公式(1-1)。如果構成該宏塊的四個8*8塊的運動矢量的水平分量和垂直分量的值完全相同,那么采用這種方法是完全合適的,但是當構成該宏塊的四個8*8塊的運動矢量不完全相同時,這種方法會產生很大的誤差。基于此,文獻[1]采用自適應運動矢量重采樣方法(AMVR),即用加權平均的方法來獲得空域降采樣后宏塊的運動矢量 每個運動矢量的權重 等于其對應的轉換前視頻流中宏塊中的4個8*8塊經過DCT變換后的非零交流系數的個數Ai(歸一化后的值),見公式(1-2)。文獻[2]提出了另一種獲取空域下采樣后宏塊運動矢量的方法,稱為中值法(MEDIAN),從四個空域降采樣前宏塊的運動矢量 中選取與其它三個運動矢量距離最小的那個運動矢量除以2作為降采樣后所得宏塊的運動矢量 見公式(1-3)。文獻[3]提出用四個空域降采樣前宏塊的運動矢量 及其均值進行運動估計,如果通過某個運動矢量獲得的SAD值為零,則將該運動矢量作為最終的運動矢量 否則通過公式(1-4)獲得一個新的運動矢量 然后將該矢量獲得的SAD值與之前獲得的五個SAD值比較,選擇SAD值最小的那個運動矢量作為最終的運動矢量 v→s=(Σi=14v→i)/8---(1-1)]]>v→s=(Σi=14Ai×v→i/2)---(1-2)]]>di=Σj=1j≠i4|v→i-v→j|---(1-3)]]>v→ni=(Σi=141SADiv→i)/(Σi=141SADi)---(1-4)]]>文獻[1]~[3]研究了有關空間視頻分辨率轉換編碼過程中快速運動矢量的重估方法以及運動矢量的更新準則,但它們獲得的重建視頻圖像質量并不盡如人意。
發明內容
為克服現有技術的不足,本發明的目的在于提供一種基于空間分辨率變換的視頻轉換編碼方法,該方法可極大地減少視頻轉換編碼過程中的計算量,提高編碼速度,而且獲得接近于全搜索塊匹配方法的重建視頻圖像質量,并可以有效地降低網絡帶寬變化對重建視頻圖像質量的影響,提高網絡帶寬的利用率,同時保證視頻流的可擴展性和交互性,提供極佳的視覺體驗。
本發明采用的技術方案是一種基于空間分辨率變換的視頻轉換編碼方法,通過利用已編碼視頻流中的運動信息和DCT變換得到的直流系數重新估計轉換編碼后視頻流的運動矢量,其特征在于,所述方法在像素域進行,空域降采樣濾波器選用四點像素值取平均的方式,選擇大的DC系數作為宏塊活動性的判斷標志,空間分辨率轉換編碼后得到的編碼視頻流的每一個宏塊對應于轉換前編碼視頻流的四個宏塊,利用這四個宏塊及其相鄰八個宏塊的運動矢量來計算轉換編碼后編碼視頻流中相應宏塊的運動矢量,如果轉換編碼后宏塊對應的轉換編碼前的四個宏塊中任何一個宏塊采用幀內編碼方式,則轉換編碼后的宏塊也采用幀內編碼方式,否則采用幀間編碼方式,轉換編碼后采用幀間編碼方式編碼的宏塊的運動矢量可由公式(1-5)計算獲得
v→s=(r×v→i+(1-r)Σj=18wnj×v→nj)/2---(1-5)]]>公式(1-5)中,wnj=0.125,r、 的取值方式如下(1)如果四個 都相等,所以選取四個宏塊中任一 作為上式中 的取值,r=1;(2)如果四個 都不相等,選取四個宏塊中殘差DCT直流系數最大的那個 作為上式中 的取值,r=0.75;(3)如果上述情況都不成立,選取四個宏塊中殘差DCT直流系數最小的那個 作為上式中的取值,使其逼近于物體的總體運動趨勢,r=1。
為了使 更加精確化,需要根據轉換編碼后宏塊對應的原編碼視頻流中四個宏塊的運動矢量 的情況選擇合適的搜索窗口對 進行更新(初始搜索中心為通過 得到的參考幀中的位置),具體步驟如下(1)如果四個 都相等,表明轉換后編碼宏塊包含的四個8*8塊具有相同的運動趨勢,不需要對 進行更新;(2)如果四個 都不相等,搜索窗口大小為±2;(3)如果上述情況都不成立,選取相對較小的搜索窗口對其進行更新,搜索窗口大小為±1。
本發明具備以下效果由于通過利用已編碼視頻流中的運動信息和DCT變換得到的直流系數重新估計轉換編碼后視頻流的運動矢量,轉換編碼后采用幀間編碼方式編碼的宏塊的運動矢量公式及對 更新,因而可極大地減少視頻轉換編碼過程中的計算量,提高編碼速度,而且獲得接近于全搜索塊匹配方法的重建視頻圖像質量,并可以有效地降低網絡帶寬變化對重建視頻圖像質量的影響,提高網絡帶寬的利用率,同時保證視頻流的可擴展性和交互性,提供極佳的視覺體驗。。
圖1是空間分辨率視頻轉換編碼中的運動矢量估計示意2是DCT直流系數對應位置示意3是視頻序列使用不同空域轉換編碼方法PSNR變化示意圖(相對于FS)圖4是視頻序列Tennis使用不同空域轉換編碼方法所得重建視頻圖像具體實施方式
下面結合附圖和實施例進一步說明本發明。
本發明提出一種基于空間分辨率變換的視頻轉換編碼方法(SFMVRE),該方法通過利用已編碼視頻流中的運動信息和DCT變換得到的直流系數重新估計轉換編碼后視頻流的運動矢量,可減少視頻轉換編碼過程中的計算量,提高編碼速度,而且獲得接近于全搜索塊匹配方法的重建視頻圖像質量。需要指出,方法處理均是在像素域進行的,不在頻域進行的主要原因在于頻域視頻轉換編碼建立在運動補償過程的線性化、不考慮幀緩存前的截斷函數、DCT/IDCT變換在編解碼過程中具有一致的算術精度以及轉換編碼后每個宏塊的編碼模式和轉換前的編碼模式相一致的四個假設條件下,但是通常情況下這四種假設很難成立,因此會產生漂移錯誤而降低重建視頻圖像的質量。
假定轉換后編碼視頻流的空間分辨率是轉換前編碼視頻流的四分之一,考慮到轉換編碼器實現的復雜性和速度等因素,空域降采樣濾波器選用最簡單的四點像素值取平均的方式或其它方法實現。
視頻編碼國際標準中,幀間預測編碼可采用幀預測和場預測兩種方式,因此前向預測幀的每一宏塊運動矢量的個數可能是一個或兩個。如果空間分辨率轉換編碼前輸入編碼視頻流中使用幀間編碼方式編碼的宏塊采用幀預測方式,那么所得的運動矢量就是該宏塊的運動矢量。如果采用場預測,每一宏塊被分成16*8奇偶兩個塊,則該宏塊的運動矢量為DCT變換后擁有大的直流系數之和的16*8塊對應的運動矢量,這樣做的原因在于塊匹配方法建立宏塊內所有像素都處于平動狀態下且擁有相同的運動趨勢這一假設條件下,但通常在物體邊緣處,這一條件很難滿足,所以塊匹配方法在物體邊緣處存在產生大的預測誤差這一趨勢,同時經過運動補償得到的殘差宏塊的像素值服從拉普拉斯分布,這意味著量化后直流系數不為零的可能性大于交流系數,且實驗證明宏塊的活動性與DCT系數的能量有關,所以選擇大的DC系數作為宏塊活動性的判斷標志。
空間分辨率轉換編碼后得到的編碼視頻流的每一個宏塊對應于轉換前編碼視頻流的四個宏塊,為了加快運動矢量重估過程,可利用這四個宏塊及其相鄰八個宏塊的運動矢量來計算轉換編碼后編碼視頻流中相應宏塊的運動矢量。如圖1所示, 是轉換編碼后編碼視頻流中采用幀間編碼方式編碼的宏塊的運動矢量, (i=1...4)是構成該宏塊對應的四個轉換編碼前對應宏塊的運動矢量,為降低塊間效應對重建視頻質量的影響,方法也利用與它們相鄰的八個宏塊的運動矢量 (i=1...8)參與部分宏塊的運動矢量重估過程來平滑運動場,從而提高重建視頻圖像質量。
如果轉換編碼后宏塊對應的轉換編碼前的四個宏塊中任何一個宏塊采用幀內編碼方式,則轉換編碼后的宏塊也采用幀內編碼方式,否則采用幀間編碼方式,原因在于通過適量的引入幀內編碼宏塊,能提高重建視頻圖像的質量,轉換編碼后采用幀間編碼方式編碼的宏塊的運動矢量可由公式(1-5)計算獲得。
v→s=(r×v→i+(1-r)Σj=18wnj×v→nj)/2---(1-5)]]>公式(1-5)中,wnj=0.125,r、 的取值方式如下(4)如果四個 都相等,表明這些宏塊運動相對平坦,所以選取四個宏塊中任一 作為上式中 的取值,r=1;(5)如果四個 都不相等,表明這些宏塊運動比較劇烈,轉換編碼后產生塊效應的可能性較大,需要利用相鄰宏塊的運動矢量來對局部運動矢量場進行平滑,同時考慮到塊匹配運動估計在這樣的區域產生大的預測殘差的可能性較大,所以選取四個宏塊中殘差DCT直流系數(如圖2所示,構成其四個塊殘差DCT直流系數之和)最大的那個 作為上式中 的取值,r=0.75;(6)如果上述情況都不成立,表明四個宏塊中部分宏塊位于物體內部,部分宏塊位于物體邊緣的可能性很大,由于塊匹配運動估計固有的缺點使其在物體邊緣處產生的運動矢量與物體運動的總體趨勢可能不一致,從而導致轉換編碼后在物體邊緣處產生塊效應的可能性增加,所以選取四個宏塊中殘差DCT直流系數最小的那個 作為上式中的取值,使其逼近于物體的總體運動趨勢,r=1。
完成上述過程后,為了使 更加精確化,需要根據轉換編碼后宏塊對應的原編碼視頻流中四個宏塊的運動矢量 的情況選擇合適的搜索窗口對 進行更新(初始搜索中心為通過 得到的參考幀中的位置),具體步驟如下(4)如果四個 都相等,表明轉換后編碼宏塊包含的四個8*8塊具有相同的運動趨勢,所以不需要對 進行更新;(5)如果四個 都不相等,表明轉換后編碼宏塊包含的四個8*8塊具有不同的運動趨勢,所以應選取較大的搜索窗口對其進行更新,搜索窗口大小為±2;(6)如果上述情況都不成立,表明該區域運動相對平緩,所以選取相對較小的搜索窗口對其進行更新,搜索窗口大小為±1。
空間分辨率轉換編碼實驗中,對七個不同運動復雜度、編碼速率為384kbit/s的CIF格式視頻序列做了測試,每個序列均編碼100幀,缺省搜索窗口大小為±7,GOP(group of picture)采用IPPPPPPPPP這樣的結構,空域降采樣后編碼速率為96kbit/s。
表1-1不同序列使用各種空域轉換編碼方法所得PSNR(單位dB)(相對于FS) 表1-1中比較了MEAN、AMVR、MEDIAN、PME、SFMVRE、SFMVRE+R方法相對于FS方法的PSNR變化情況。可以看出,MEAN方法的重建視頻圖像質量最差,原因在于該方法只是簡單地對四個宏塊的運動矢量做平均而不考慮任何紋理信息;AMVR方法次之,原因在于其通過非零交流系數的個數作為四個運動矢量的權重,所以在視頻序列運動相對平緩時運動矢量通過該權重可獲得一定程度的區分,從而得到略優于AMVR方法的重建視頻質量,如視頻序列Akiyo、Garden,但當視頻序列運動劇烈時,每個宏塊都可能包含較多的非零交流系數,那么通過非零交流系數得到的權重就失去了意義,此時AMVR方法類似于MEAN方法,甚至在運動劇烈的視頻序列Football、Mobile中AMVR方法的重建視頻質量低于MEAN方法;MEDIAN方法通過選取四個運動矢量中與其它三個距離最小的運動矢量作為當前宏塊的運動矢量,當視頻運動相對平緩時,該方法傾向于選取預測殘差小的運動矢量,所以重建視頻圖像質量較好,但當運動劇烈時,由于各宏塊的運動變化很大,通過該方法選擇的運動矢量缺乏代表性,所以重建視頻質量較差;PME方法通過對四個運動矢量及其均值進行塊匹配運算等一系列步驟獲得運動矢量,當視頻運動平緩時,該方法獲得的運動矢量比較準確,而且當視頻運動劇烈時,該方法以塊匹配運算后SAD值的倒數作為每個運動矢量的權重,由于利用了當前編碼宏塊在參考幀中的實際SAD值,所以最終獲得的運動矢量略優于上述其它方法;SFMVRE方法通過對視頻序列中運動劇烈的區域進行平滑,同時對運動相對平緩的區域選擇使其更接近于局部區域總體運動趨勢的方法,很好地改善了重建視頻圖像質量,特別是當視頻序列運動劇烈時,如Football、Mobile;SFMVRE+R(refinement)方法通過對SFMVRE方法得到的運動矢量進行更新,可獲得接近于FS方法的重建視頻圖像質量,特別對Football視頻序列而言,該方法獲得的重建視頻圖像質量略高于FS算的重建視頻圖像質量,原因在于該序列運動非常劇烈,所以某些圖像獲得的運動矢量接近或位于搜索窗的邊緣,此時再通過進一步的更新,可能找到更符合物體運動趨勢的運動矢量,導致重建視頻圖像質量會略高于FS方法。
如圖3所示,通過比較運動平緩的視頻序列Akiyo和運動劇烈的視頻序列Football采用不同空域轉換編碼方法時PSNR相對于FS方法的變化情況,可以看出,本發明提出的SFMVRE方法對運動平緩的視頻序列的重建視頻質量改善不大,但運動劇烈的視頻序列相比其它方法重建視頻圖像質量有較明顯的改善。
如圖4所示,視頻序列Tennis通過MEAN、AMVR、MEDIAN方法獲得的重建視頻圖像中乒乓球輪廓比較模糊,同時在乒乓球運動的軌跡上有明顯的塊效應,PME方法獲得的乒乓球輪廓好于MEAN、AMVR、MEDIAN方法,同SFMVRE方法獲得的輪廓接近,但乒乓球運動的軌跡上的塊效應比SFMVRE方法明顯,可以看出,本章提出的SFMVRE方法可獲得更接近于FS方法的重建視頻質量。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
參考文獻[1]Bo Shen,et al,Adaptive motion-vector resampling for compressed videodownscaling,IEEE Transactions on Circuits and Systems for Video Technology,1999,Vol.9929-936[2]Juniehi NAKAJIMA,et al,Motion vector re-estimation for fast video transcodingfrom MPEG-2 to MPEG-4,NIT Cyber Space Laboratories Justy.W.C.Wong,Oscar.C.AU,Modified predictive motion estimation forreduced-resolution video from high-resolution compressed video,ISCAS.99,1999,4524-52權利要求
1.一種基于空間分辨率變換的視頻轉換編碼方法,通過利用已編碼視頻流中的運動信息和DCT變換得到的直流系數重新估計轉換編碼后視頻流的運動矢量,其特征在于,所述方法在像素域進行,空域降采樣濾波器選用四點像素值取平均的方式,選擇大的DC系數作為宏塊活動性的判斷標志,空間分辨率轉換編碼后得到的編碼視頻流的每一個宏塊對應于轉換前編碼視頻流的四個宏塊,利用這四個宏塊及其相鄰八個宏塊的運動矢量來計算轉換編碼后編碼視頻流中相應宏塊的運動矢量,如果轉換編碼后宏塊對應的轉換編碼前的四個宏塊中任何一個宏塊采用幀內編碼方式,則轉換編碼后的宏塊也采用幀內編碼方式,否則采用幀間編碼方式,轉換編碼后采用幀間編碼方式編碼的宏塊的運動矢量可由公式(1-5)計算獲得v→s=(r×v→i+(1-r)Σj=18wnj×v→nj)/2---(1-5)]]>公式(1-5)中,wnj=0.125,r、 的取值方式如下(1)如果四個 都相等,所以選取四個宏塊中任一 作為上式中 的取值,r=1;(2)如果四個 都不相等,選取四個宏塊中殘差DCT直流系數最大的那個 作為上式中 的取值,r=0.75;(3)如果上述情況都不成立,選取四個宏塊中殘差DCT直流系數最小的那個 作為上式中的取值,使其逼近于物體的總體運動趨勢,r=1;為了使 更加精確化,需要根據轉換編碼后宏塊對應的原編碼視頻流中四個宏塊的運動矢量 的情況選擇合適的搜索窗口對 進行更新(初始搜索中心為通過 得到的參考幀中的位置),具體步驟如下(1)如果四個 都相等,表明轉換后編碼宏塊包含的四個8*8塊具有相同的運動趨勢,不需要對 進行更新;(2)如果四個 都不相等,搜索窗口大小為±2;(3)如果上述情況都不成立,選取相對較小的搜索窗口對其進行更新,搜索窗口大小為±1。
全文摘要
本發明屬于數據壓縮及通信領域,涉及視頻壓縮及傳輸領域技術。為提供一種基于空間分辨率變換的視頻轉換編碼方法,可極大地減少視頻轉換編碼過程中的計算量,提高編碼速度,并可以有效地降低網絡帶寬變化對重建視頻圖像質量的影響,同時保證視頻流的可擴展性和交互性,提供極佳的視覺體驗。本發明采用的技術方案是,在像素域通過利用已編碼視頻流中的運動信息和DCT變換得到的直流系數重新估計轉換編碼后視頻流的運動矢量,空域降采樣濾波器選用四點像素值取平均的方式,選擇大的DC系數作為宏塊活動性的判斷標志,利用四個宏塊及其相鄰八個宏塊的運動矢量來計算轉換編碼后編碼視頻流中相應宏塊的運動矢量。本發明主要用于數據壓縮及通信。
文檔編號H04N7/30GK1801939SQ200510122589
公開日2006年7月12日 申請日期2005年12月22日 優先權日2005年12月22日
發明者李華, 魯照華, 侯玲 申請人:天津大學