劉 佳
(中國移動通信集團廣西有限公司,廣西 南寧 530000)
近年來,隨著視頻會議等視頻媒體業務的不斷發展,視頻質量不斷提升,導致視頻數據傳輸對網絡帶寬的要求也不斷提高。因此,在保證視頻質量的同時降低視頻碼率,具有十分重要的意義。國內外許多研究人員都對該問題展開了研究[1-4],例如,幀率下采樣算法在編碼前對視頻圖像進行場景檢測,丟棄一些幀不進行編碼,從而降低視頻在時域上的冗余,并在解碼端通過FRUC算法恢復編碼前的丟棄幀。ROI區域優化方法也是一個重要的研究方向。基于ROI人眼感興趣區域的視頻編碼主要是通過對人眼感興趣的區域分配更多的比特,而對人眼不感興趣的區域分配較少的比特,這樣可以在同等碼率條件下達到改善主觀質量的目的。超分算法也是降碼率的一個重要研究方向[5],其在視頻編碼前進行分辨率下采樣,極大程度地降低了視頻碼率,在視頻解碼后對視頻進行超分處理,實現分辨率的提升,增加視頻細節。
然而,上述算法的使用場景都受到一定的限制。幀率下采樣算法適用于監控等對視頻流暢度要求不高的場景;固定ROI區域編碼無法智能適應感興趣區域實時變化的場景;超分算法對視頻處理平臺性能有較高的要求。本文提出一種視頻編碼前的圖像預處理算法,能夠在保持視頻清晰度的同時降低視頻碼率,具有廣泛的適用場景。
多任務級聯卷積神經網絡(Multi-task Cascaded Convolutional Neural Networks,MTCNN)是 一 種基于深度學習的人臉檢測算法[6]。該算法基于cascade框架實現人臉檢測與對齊,并且在一個網絡里實現了人臉檢測與5點標定的模型。算法主要通過CNN模型級聯實現多任務學習網絡,流程如 圖1所示。

圖1 MTCNN算法流程圖
整個模型分為3個階段:第1階段通過一個淺層CNN網絡快速生成一系列候選窗口;第2階段通過一個能力更強的CNN網絡排除絕大部分非人臉的候選窗口;第3階段通過一個能力更強的網絡找到人臉上的5個標記點。相比于傳統的人臉檢測算法,MTCNN檢測速度更快,缺點是容易對人的側臉造成漏檢。本文針對會議場景,使用由MTCNN算法檢測出的人臉區域作為視頻幀的ROI。
在視頻編碼過程中,時域噪聲和空域噪聲會占用較多的比特。合理利用ROI區域和運動區域信息,對編碼前的視頻幀進行時域和空域濾波,可以在保持圖像細節的基礎上降低視頻碼率。在編碼碼率受限的情況下,提高濾波強度可以進一步降低時域和空域復雜度,從而降低視頻碼率。
自適應中值濾波器是一種常用的非線性濾波器,可以用來降低視頻幀的噪點和空間上的信息冗余。其基本原理是選擇待處理像素的一個鄰域中各像素值的中值來代替待處理的像素,其主要功能是利用像素的灰度值與周圍像素比較接近的特點,消除孤立的噪聲點。自適應中值濾波器在均值濾波的基礎上,動態地改變濾波器的窗口尺寸大小。在濾波的過程中,自適應中值濾波器會根據預先設定好的條件,改變濾波窗口的尺寸大小。和其他空間濾波相比,自適應均值濾波能在很大程度上保護圖像的細節。本文在視頻非ROI區域使用自適應中值濾波器進行處理。
時域降噪在視頻靜止區域有明顯的效果,能夠極大程度地降低噪聲。為了保證視頻幀預處理的實時性,本文采用計算復雜度小的時域均值濾波。
整體視頻預處理流程如圖2所示。

圖2 視頻幀預處理整體流程
本文選用分辨率4K、幀率30 f·s-1的視頻素材作為樣本進行測試。首先使用MTCNN算法檢測視頻中的人臉區域,作為視頻的ROI區域。在對視頻幀進行自適應中值濾波時,減小ROI區域的濾波強度以保持ROI區域的清晰度。同步使用背景差分法檢測視頻變化區域,并根據檢測結果對靜止區域進行時域均值濾波,避免產生視頻拖尾現象。經過預處理的視頻幀降低了時域和空域復雜度,從而可以降低編碼后的視頻碼率。另外,對于支持QP區域可配的編碼器,可以根據ROI區域信息更加合理地分配碼率分布,進一步提高感興趣區域的 清晰度。
MTCNN算法的人臉檢測結果如圖3所示,本文實驗中,所有的人臉區域整合為一個大的ROI區域,在非ROI區域提高自適應濾波窗口可以適當提高濾波強度,以達到進一步降低視頻碼率的效果。運動區域檢測的結果如圖4所示。視頻預處理和未經過預處理的幀長度分布如圖5所示,對比進行編碼預處理的H264編碼和未經過編碼預處理的H264編碼可以看出,經過預處理的視頻幀長度得到了很明顯的改善。在視頻會議場景,碼率可以降低20%~30%。

圖3 MTCNN人臉檢測結果

圖4 變化區域檢測結果

圖5 視頻預處理和未經過預處理的幀長度分布圖
針對高清視頻碼率過高的問題,本文提出了一種基于圖像預處理的視頻降碼率算法。充分利用ROI區域和運動區域信息進行自適應濾波處理,降低了編碼前視頻幀的時域和空域復雜度。實驗結果表明,本文算法能夠在保持視頻清晰度的前提下降低視頻編碼碼率,為高清視頻編碼技術提供了一種新思路。