馬滔,王軍棉
(延安大學體育學院,陜西延安716000)
傳統的視頻可分級編碼在具體的操作過程中未能考慮到運動矢量編碼的漸進傳輸,當編碼處于較低效率時,視頻大部分碼流主要由運動矢量占據,為滿足復雜異構環境變化的需要,可分級編碼概念在視頻編碼中得以應用,其具有容錯性與可分級性特點[1],能夠適應復雜網絡環境及用戶終端。通常,紋理信息在編碼后視頻流中占據大部分比特,而在低碼率狀態下運動矢量占據大部分碼流[2],因此,必須注重對運動矢量可分級編碼的應用,其對于運動矢量編碼質量提升有著重要的意義。
隨著現代計算機信息技術的不斷發展,視頻編碼在數字視頻處理中得到了廣泛地應用,為通信服務發展提供了必要的技術支持。從時間維度上看,視頻序列相關性強,在運動估計及補償技術的支持下,能夠實現對視頻幀間冗余的去除[3],對編碼進行壓縮。作為視頻處理系統極為重要的組成部分,運動估計在視頻壓縮標準中應用較多,其主要采用常量位移實現簡單模擬運動,其位移便是運動矢量[4]。如圖1所示,其表示的是視頻序列foreman第1幀到第2幀的運動矢量。運動矢量計算完成后,可以實現對運動的估計與補償。以圖2為例,其表示的是原視頻序列第1、2幀直接差值效果圖,加入運動矢量后的視頻第1幀用圖3表示,比較圖2、圖3可以發現當進行第2幀預測后,可以進一步實現對第2幀與原視頻序列第2幀差值效果的明確評估。可以發現第1幀與第2幀在不加運動矢量狀態下,其差異能夠明顯顯現出來[5],當加入運動矢量對下一幀進行預測,其效果大大增強,幀圖像與原序列幀無明顯差異,可以通過對匹配塊及精度的大小的調整對精度進行預測[6]。

圖1 第1幀到第2幀的運動矢量

圖2 第1、2幀直接差值效果圖

圖3 加入運動矢量后的視頻第1幀
可分級技術主要指的是對一部分壓縮比特流物理進行解碼,使其圖像與視頻信息能力得以恢復。當對視頻圖像進行編碼后,可以根據網絡變化情況對壓縮視頻流碼率進行調節,即便碼率降低,也能夠對視頻流進行解碼順利播放,進而形成多種不同碼率視頻流[7]。通常,多會通過可分級編碼生成多種碼率確保視頻流播放,常見的方式有空間、時間可分級[8],一般情況下,第1層所提供的圖像視頻比特流,能夠在一定程度上提升其他層圖像視頻重建質量,除第1層外,其余均為增強層。達到最佳效果[9]。空間可分級是從改變單幀圖像分辨力的角度來對視頻進行分級,形成不同分層,其基本思想是通過解碼第1層形成一個低分辨力的圖像版本,隨后解碼第2層,將第1層解碼的圖像內插到第2層解碼圖像中,隨后以相同的方式解碼后面的增強層。目前的這些運動矢量編碼方法本質上是對塊匹配后計算出的運動矢量比特流進行熵編碼,并能夠對編碼后的比特流進行截取達到相應的可分級性。然而這些運動矢量編碼方法并沒有對運動矢量本身進行分析。筆者針對這種情況提出一種對運動矢量本身進行處理的的思路。
運動矢量編碼具有可分級性的特點,然而其主要針對的是所有的運動矢量,其本身會出現大量冗余,當前的視頻編碼主要是通過分塊匹配實現運動估計。如兩個相鄰幀塊之間不存在劇烈運動,其運動矢量一般較小甚至為零[10]。經過試驗證實,運動矢量比特流中的運動估計及補償預測一般不會受到運動矢量的影響,或這種影響可以忽略不計,其運動名矢量比特流是一定的,基于這一理論,可以對其進行截取,進而實現編碼可分級。首先要對閾值進行設定,然后才能實現對運動矢量的分析判斷[11],比較假設為T狀態下運動矢量模與閾值,保留運動矢量一般為模值較閾值大的情況,假設模值較閾值小,那么可去除運動矢量,可以依據如下公式進行判斷:

由于兩幀間的運動矢量存在最大值,一般可假設T為最大值,運動矢量比特流為0,逐漸將T值減小,可得出部分運動矢量比特流。逐漸完全獲取運動矢量比特流,將截取的運動矢量比特流實施編碼。當閾值為5時,其視頻序列foreman第1幀與第2幀截取完成后運動矢量如圖4所示,與圖1相比,運動矢量模值較低的被去除,僅保留了模值較大的運動矢量。

圖4 閾值為5時截取后第1幀到第2幀運動矢量表示圖
研究采用stefan及foreman視頻序列對運動矢量可分級視頻編碼進行測試,采用GIF視頻格式,幀率設置為30 f/s,分塊大小為8,搜索范圍為4,半像素作為精度。分析視頻前2幀,將第1幀、第2幀分別作為參考幀與預測幀,當運動矢量計算完成后,對閾值進行截取[12],獲得運動矢量比特流,對其模值大小予以相應的計算,運動矢量截取后加入到參考幀中,對下一幀進行預測,得出預測幀圖像后,計算其與原序列第2幀圖像的差值,求出其峰值信噪比與方差。圖5、圖6分別為foreman視頻序列第1幀、第2幀;當閾值假設為5時,將截取后的運動矢量比特流foreman視頻序列第1幀圖像進行預測,得出幀圖像為圖7,當閾值為5時所預測出的幀圖像與原序列第2幀圖像差值如圖8所示,在部分運動變化幅度很小的范圍,其差值卻體現的尤為明顯,比較圖8與加入全運動矢量比特流預測幀圖像,可以發現兩者差別并不大[13],這很大程度上是基于閾值判斷需求,運動矢量模值小的情況下會予以去除。
基于foreman視頻序列的要求,不同閾值下第1幀加入運動矢量預測的第2幀及原序列第2幀方差峰值信噪比如表1所示。當閾值為0時,說明完全保留了運動矢量,在這種情況下,第二幀方差最小,峰值信噪比及比特數則為最大[14]。通常,兩個相鄰幀數運動矢量模值需要有一個最大值,當閾值能夠達到最大值時,此時運動矢量會被完全清除。綜合來看,此時第1幀并未實現預測,只需將兩幀相減便能夠得到差值,此時的比特數為0,方差最大,峰值信噪比則處于最小范圍。

圖5 foreman視頻序列第1幀

圖6 foreman視頻序列第2幀

圖7 閾值為5時的幀圖像

圖8 閾值為5時的幀圖像差值
圖9為stefan視頻序列第1幀,圖10為stefan視頻序列第2幀,圖11為在設定閾值為5時,加入截取后運動矢量比特流的stefan視頻序列第1幀預測出的幀圖像,圖12為預測出的幀圖像與原序列第2幀圖像的差值圖像。

表1 foreman視頻序列在不同閾值下的方差、峰值信噪比及比特數

圖9 stefan視頻序列第1幀

圖10 stefan視頻序列第2幀

圖11 閾值為5時幀圖像

圖12 差值圖像
不同閾值下,stefan視頻序列第1幀加入運動矢量后,對第2幀與原序列第2幀方差及峰值信噪比進行預測,并對未編碼的運動矢量比特數進行預測,其結果如表2所示。通過對實驗結果的分析可以發現,當閾值增大時,運動矢量比特數會出現大幅度降低趨勢[15],在這種模式下,可以在任意點對運動矢量比特流進行截取,并通過在參考幀中加入實現對下一幀的有效預測,該方式能夠在預測過程中先對部分運動矢量進行傳輸,然后逐漸將剩余運動矢量比特流進行傳輸,促進視頻幀圖像質量的提升,滿足質量可分級的要求[16]。

表2 stefan視頻序列在不同閾值下的方差、峰值信噪比及比特數
研究采用運動矢量可分級視頻編碼方法實現了對運動矢量模的判斷,對比特流進行截取,促進質量分級,經過試驗驗證,其可行性得到證實。在實際應用中,要進一步解決其存在的問題,這也是未來運動矢量可分級視頻編碼研究的重要方向。