李汶隆,劉念林,柳春青
(1.四川科瑞軟件有限責任公司,四川 成都 610041;2.四川湖山電器股份有限公司,四川 成都 610041)
在實際視頻應用過程中,視頻需要在各種復雜條件下采集與傳輸,如無人機動態視頻采集與無線傳輸。因此,針對視頻內容變換頻繁的應用場景,進行低碼率或碼率波動較小的的視頻流傳輸是當前的研究熱點。在當前主流視頻編碼過程中,編碼比特率主要由輸入的視頻內容特性及編碼策略等因素共同決定。對于細節豐富、內容跳變頻繁的視頻圖像,編碼所占用的比特數就較多;對于視頻內容單一、運動量不大的視頻圖像,編碼所占用的比特數就較小。因此,當前業內研究熱點是:恒定碼率條件下,盡可能降低碼率波動;可變碼率條件下,在保障圖像質量的情況下,盡可能使編碼的碼率較低。
當前主流視頻編碼算法主要通過視頻待處理單元的像素絕對誤差均值(以下簡稱MAD值)來表征待處理單元的“運動”劇烈程度,MAD值越大,表明當前處理單元和前一幀圖像相比“運動”劇烈,則需要為當前處理單元分配更多的編碼比特數來表征細節,即為量化參數(以下簡稱QP)值要小;MAD值越小,表明當前處理單元和前一幀相比,“運動”不劇烈,可以采用較大的QP值,用較少的編碼比特來表征細節。
從上述描述可以看出,MAD值和QP值關系到編碼比特數的分配,與視頻圖像質量和傳輸帶寬等指標等息息相關。由于QP值將作為參數用于碼率控制與率失真優化(Rate Distortion Optimation,RDO),其中,RDO的計算需要MAD值與QP值作為輸入參數,而視頻圖像幀的待處理單元的MAD需要通過RDO來計算。為了解決上述難題,傳統方法主要通過線性模型對即將處理的圖像單元的MAD進行線性預測,預測出當前待處理圖像單元的運動復雜度,之后通過二次RD模型計算得到QP值,從而為該圖像處理單元進行編碼比特的分配。
主流的視頻編碼處理都是在率失真理論指導下進行視頻壓縮處理,即在特定的碼率下能達到的最小期望失真或者在一定的失真限制條件下,能夠用最小的碼率來盡可能多的信息表示。在率失真理論的支撐下,視頻編碼根據實際輸出碼流的特點,業內碼率控制方法主要分為固定碼率控制方法(Constant Bit Rate,CBR)和變長碼率控制方法(Variable Bit Rate,VBR)。
香農于1948年在論文《通信的數學理論》中首次提到了信息率-失真函數的概念,證明了信息是可以被量化的,并闡述了如何在保證準確率的前提下用數字編碼對信息進行壓縮和傳輸。率失真理論正是在這一基礎上進行理論定義:對于確定的信源和失真度量,在規定的碼率條件下,能夠使得失真度最小;或者在一定的失真限制情況下,使得碼率盡可能小。在視頻圖像處理領域,率失真理論是碼率控制算法的基礎,描述了編碼碼率與失真度之間的關系。
當前主流視頻編碼標準僅對視頻壓縮的過程和碼流的比特代表的含義等有明確的要求。為了促進視頻處理技術的發展,未對碼率控制方法進行定義,在率失真理論的支撐下,讓各個機構根據實際應用場景的側重點進行碼率控制的研制,這也促進了視頻技術的大力發展。業內比較經典的碼率控制算法主要有應用于H.261的RM8模型算法、應用于MPEG2的TM5模型算法、應用于MPEG-4的VM8模型算法以及應用于H.263的TMN8模型算法。以上算法能夠較好地針對普通視頻應用場景進行碼率控制,但仍然存在應用場景缺陷,主要表現如下。
(1)針對視頻內容突變帶來的問題沒有較好地解決。當視頻內容發生突變時,由于視頻幀間編碼采用前面參考幀進行編碼壓縮,因此,在這種情況下,幀間編碼的參考幀與待編碼幀存在較大差異,由此計算出來的估計值不準確。
(2)同一幀視頻圖像中,相鄰視頻圖像處理區域有明顯塊效應。由于視頻編碼過程中,量化參數(QP)決定了視頻圖像的編碼質量,但視頻幀中各個量化參數可能差異較大,從而造成同一幀視頻圖像在編碼后有方塊效應,影響人眼視覺主觀感受。
H.261、AVS、H.264及H.265等國際國內壓縮標準對視頻編碼最終形成的碼流信息語法結構進行了定義,對碼率控制采用的方式沒有做明確的限制,開發人員可以結合各自行業特點,采用不同的編碼策略來滿足各自需求。隨著基于視頻應用的行業的大力發展,視頻編碼過程中碼率控制算法在不斷地演進與更新[3]。
1.3.1 基本思想
主流的碼率控制算法主要基于率失真理論,在失真與信息表示之間得到最優解。通過對當前待處理區域分配的比特數及幀間像素絕對誤差均值進行估計,基于線性算法模型,計算得到當前待處理區域的量化參數QP值。該方法能較好地解決“蛋雞悖論”,但適應場景有局限性,如已編碼幀與當前幀視頻內容差別較大的情況和視頻內容中有劇烈運動的情況,就不能很好地預測出待處理區域的MAD值[4]。在實際視頻應用場景中,視頻內容劇烈變化的情況時有發生。因此,針對場景變換的視頻場景,如何準確地進行MAD值的預測至關重要。
1.3.2 算法建模
參考文獻[1]針對視頻圖像產生的白噪聲,通過MAD的方差來表征視頻圖像在時間通道中的內容變化情況。本文針對視頻內容的突變,在時空網絡場景中對視頻內容的動靜屬性相對關系進行建模,得到視頻幀中在時空通道中的視頻變化因子表征值。主要過程如下。
(1)根據視頻序列在時空通道中的關系屬性,計算視頻運動屬性因子,并通過運動屬性因子來判斷視頻內容是靜止還是運動。運動屬性因子的選擇直接影響到當前待處理視頻序列在時空網絡中的收斂速度及效果,因此,選擇一種適合的方式是本文需要解決的關鍵問題。
假設在一定時間區間內,視頻采集鏡頭沒有發生角度變化且未引入噪聲,圖像間的差異主要由視頻中的運動內容產生,則有:

式中:Yx,y(t)表示視頻圖像內容值;Bx,y表示背景圖像的內容值,是定值;M(t)表示當前視頻內容中的運動部分,是變化值。則時空信息中幀間差分圖像定義為:

式中:Diffx,y(t)代表t時刻前后幀圖像的差分值。假設在時空網絡中視頻采集鏡頭沒有進行切換且沒有引入噪聲,則計算差分圖像相臨3個處理區域塊都大于運動屬性因子TH或都小于運動屬性因子TH的概率,計算公式為:

式中:u代表區間(TH,+∞)變數,相臨3個處理區域塊大于閾值的概率為:

參考文獻[1]通過概率方式對δ及TH的取值進行了論證,本文也采用類似的取值思路。考慮到實際視頻序列的特征,本文取動靜屬性因子TH為。
(2)對待處理區域MAD值進行基于動靜趨勢屬性進行矯正。參考文獻[2]中,作者提出了一種基于空間相關性的MAD預測模型的改進算法,能夠較好地對原線形預測模型進行矯正。本文在考慮時空屬性的基礎上提出空間關聯因子與時間關聯因子。
空間關聯因子為:

MADcb-1和MADRcb-1分別為前一基本單元的預測MAD和實際MAD。時間關聯因子為:

當MADcb大于動靜屬性閾值,表征視頻內容發生運動,進行空間屬性預測補償,得到補償后的最終 MAD 值MADc。

當MADcb小于動靜屬性閾值,表征視頻內容未發生運動和鏡頭切換等,進行時間屬性預測補償,得到補償后的最終MAD值MADc。

1.3.3 算法分析
和傳統碼率控制算法相比,本文將方差物理特性基礎理論與視頻圖像在時間與空間的關聯屬性特征相結合,對視頻圖像在時空網絡中的運動屬性因子進行計算,用幀間圖像像素的絕對誤差均值的方差來表征視頻序列在時間網絡信息中的運動狀態[5]。在碼率控制的過程中,在時空網絡中建立時空預測模型,通過視頻動靜屬性因子來表征視頻圖像運動和靜止屬性,分別對待處理區域的MAD值進行基于時空維度的補償矯正。本文通過視頻圖像幀間像素MAD的方差來表征視頻運動屬性因子,對視頻序列在時間通道中的運動情況進行動態分析,使得動靜屬性因子能根據視頻的應用場景動態調整。
本文采用的碼率控制算法在實際工程應用中能有效解決傳統算法在視頻圖像發生內容突變時碼率較高、碼率抖動劇烈以及視頻質量不好的問題,對后續基于視頻圖像的挖掘分析應用具有較好的實際意義。
1.3.4 實驗分析
在H.264測試模型JM上對傳統碼率控制算法及本文提出的基于時空預測模型的視頻碼率控制算法在不同碼率要求及不同視頻內容情況下進行比較分析和討論。其中,碼率控制模式為CBR與VBR;測試序列選用標準測試序列blue_sky與dinner。結果如表1和表2所示。

表1 原測試模型與本文模型算法對比(1 024 kb·s-1)

表2 原測試模型與本文模型算法對比(2 048 kb·s-1)
可以看出,本文所采用算法在CBR碼率控制模式下,在代表圖像質量的圖像峰值信噪比PNSR值不降低的情況下,碼率偏移及碼率峰值波動更小;在VBR碼率控制模式下,圖像峰值信噪比PNSR基本不變化的情況下,所用到的視頻編碼碼率更低。
本文重點闡述了利用時間和空間網絡對視頻圖像進行內容理解,基于方差物理特性,結合視頻時空特征,分析視頻圖像序列在時間通道中的運動情況,對運動趨勢用方差進行表達、動態分析及識別。本文基本思想在于,在時空通道中,以視頻幀間圖像的像素絕對誤差均值(MAD)來表征視頻圖像運動趨勢,用MAD的方差來計算動靜屬性因子,并對待處理區域進行動靜狀態分類,建立預測MAD的補償模型。在實際工程應用中,特別是對于視頻場景切換頻繁、對網絡抖動要求嚴格這一業內較難處理的應用場景,本文提出的算法可動態、快速地完成收斂,具有較好的場景適應性。本文采用的基于時空預測模型的基本思想也可應用于其他視頻圖像處理場景。