劉 佳
(中國移動通信集團(tuán)廣西有限公司,廣西 南寧 530000)
近年來,隨著視頻會議等視頻媒體業(yè)務(wù)的不斷發(fā)展,視頻質(zhì)量不斷提升,導(dǎo)致視頻數(shù)據(jù)傳輸對網(wǎng)絡(luò)帶寬的要求也不斷提高。因此,在保證視頻質(zhì)量的同時(shí)降低視頻碼率,具有十分重要的意義。國內(nèi)外許多研究人員都對該問題展開了研究[1-4],例如,幀率下采樣算法在編碼前對視頻圖像進(jìn)行場景檢測,丟棄一些幀不進(jìn)行編碼,從而降低視頻在時(shí)域上的冗余,并在解碼端通過FRUC算法恢復(fù)編碼前的丟棄幀。ROI區(qū)域優(yōu)化方法也是一個(gè)重要的研究方向?;赗OI人眼感興趣區(qū)域的視頻編碼主要是通過對人眼感興趣的區(qū)域分配更多的比特,而對人眼不感興趣的區(qū)域分配較少的比特,這樣可以在同等碼率條件下達(dá)到改善主觀質(zhì)量的目的。超分算法也是降碼率的一個(gè)重要研究方向[5],其在視頻編碼前進(jìn)行分辨率下采樣,極大程度地降低了視頻碼率,在視頻解碼后對視頻進(jìn)行超分處理,實(shí)現(xiàn)分辨率的提升,增加視頻細(xì)節(jié)。
然而,上述算法的使用場景都受到一定的限制。幀率下采樣算法適用于監(jiān)控等對視頻流暢度要求不高的場景;固定ROI區(qū)域編碼無法智能適應(yīng)感興趣區(qū)域?qū)崟r(shí)變化的場景;超分算法對視頻處理平臺性能有較高的要求。本文提出一種視頻編碼前的圖像預(yù)處理算法,能夠在保持視頻清晰度的同時(shí)降低視頻碼率,具有廣泛的適用場景。
多任務(wù)級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(Multi-task Cascaded Convolutional Neural Networks,MTCNN)是 一 種基于深度學(xué)習(xí)的人臉檢測算法[6]。該算法基于cascade框架實(shí)現(xiàn)人臉檢測與對齊,并且在一個(gè)網(wǎng)絡(luò)里實(shí)現(xiàn)了人臉檢測與5點(diǎn)標(biāo)定的模型。算法主要通過CNN模型級聯(lián)實(shí)現(xiàn)多任務(wù)學(xué)習(xí)網(wǎng)絡(luò),流程如 圖1所示。
圖1 MTCNN算法流程圖
整個(gè)模型分為3個(gè)階段:第1階段通過一個(gè)淺層CNN網(wǎng)絡(luò)快速生成一系列候選窗口;第2階段通過一個(gè)能力更強(qiáng)的CNN網(wǎng)絡(luò)排除絕大部分非人臉的候選窗口;第3階段通過一個(gè)能力更強(qiáng)的網(wǎng)絡(luò)找到人臉上的5個(gè)標(biāo)記點(diǎn)。相比于傳統(tǒng)的人臉檢測算法,MTCNN檢測速度更快,缺點(diǎn)是容易對人的側(cè)臉造成漏檢。本文針對會議場景,使用由MTCNN算法檢測出的人臉區(qū)域作為視頻幀的ROI。
在視頻編碼過程中,時(shí)域噪聲和空域噪聲會占用較多的比特。合理利用ROI區(qū)域和運(yùn)動區(qū)域信息,對編碼前的視頻幀進(jìn)行時(shí)域和空域?yàn)V波,可以在保持圖像細(xì)節(jié)的基礎(chǔ)上降低視頻碼率。在編碼碼率受限的情況下,提高濾波強(qiáng)度可以進(jìn)一步降低時(shí)域和空域復(fù)雜度,從而降低視頻碼率。
自適應(yīng)中值濾波器是一種常用的非線性濾波器,可以用來降低視頻幀的噪點(diǎn)和空間上的信息冗余。其基本原理是選擇待處理像素的一個(gè)鄰域中各像素值的中值來代替待處理的像素,其主要功能是利用像素的灰度值與周圍像素比較接近的特點(diǎn),消除孤立的噪聲點(diǎn)。自適應(yīng)中值濾波器在均值濾波的基礎(chǔ)上,動態(tài)地改變?yōu)V波器的窗口尺寸大小。在濾波的過程中,自適應(yīng)中值濾波器會根據(jù)預(yù)先設(shè)定好的條件,改變?yōu)V波窗口的尺寸大小。和其他空間濾波相比,自適應(yīng)均值濾波能在很大程度上保護(hù)圖像的細(xì)節(jié)。本文在視頻非ROI區(qū)域使用自適應(yīng)中值濾波器進(jìn)行處理。
時(shí)域降噪在視頻靜止區(qū)域有明顯的效果,能夠極大程度地降低噪聲。為了保證視頻幀預(yù)處理的實(shí)時(shí)性,本文采用計(jì)算復(fù)雜度小的時(shí)域均值濾波。
整體視頻預(yù)處理流程如圖2所示。
圖2 視頻幀預(yù)處理整體流程
本文選用分辨率4K、幀率30 f·s-1的視頻素材作為樣本進(jìn)行測試。首先使用MTCNN算法檢測視頻中的人臉區(qū)域,作為視頻的ROI區(qū)域。在對視頻幀進(jìn)行自適應(yīng)中值濾波時(shí),減小ROI區(qū)域的濾波強(qiáng)度以保持ROI區(qū)域的清晰度。同步使用背景差分法檢測視頻變化區(qū)域,并根據(jù)檢測結(jié)果對靜止區(qū)域進(jìn)行時(shí)域均值濾波,避免產(chǎn)生視頻拖尾現(xiàn)象。經(jīng)過預(yù)處理的視頻幀降低了時(shí)域和空域復(fù)雜度,從而可以降低編碼后的視頻碼率。另外,對于支持QP區(qū)域可配的編碼器,可以根據(jù)ROI區(qū)域信息更加合理地分配碼率分布,進(jìn)一步提高感興趣區(qū)域的 清晰度。
MTCNN算法的人臉檢測結(jié)果如圖3所示,本文實(shí)驗(yàn)中,所有的人臉區(qū)域整合為一個(gè)大的ROI區(qū)域,在非ROI區(qū)域提高自適應(yīng)濾波窗口可以適當(dāng)提高濾波強(qiáng)度,以達(dá)到進(jìn)一步降低視頻碼率的效果。運(yùn)動區(qū)域檢測的結(jié)果如圖4所示。視頻預(yù)處理和未經(jīng)過預(yù)處理的幀長度分布如圖5所示,對比進(jìn)行編碼預(yù)處理的H264編碼和未經(jīng)過編碼預(yù)處理的H264編碼可以看出,經(jīng)過預(yù)處理的視頻幀長度得到了很明顯的改善。在視頻會議場景,碼率可以降低20%~30%。
圖3 MTCNN人臉檢測結(jié)果
圖4 變化區(qū)域檢測結(jié)果
圖5 視頻預(yù)處理和未經(jīng)過預(yù)處理的幀長度分布圖
針對高清視頻碼率過高的問題,本文提出了一種基于圖像預(yù)處理的視頻降碼率算法。充分利用ROI區(qū)域和運(yùn)動區(qū)域信息進(jìn)行自適應(yīng)濾波處理,降低了編碼前視頻幀的時(shí)域和空域復(fù)雜度。實(shí)驗(yàn)結(jié)果表明,本文算法能夠在保持視頻清晰度的前提下降低視頻編碼碼率,為高清視頻編碼技術(shù)提供了一種新思路。