公衍超, 張森森, 何書婷, 李寶貴, 劉穎, 林慶帆,4
(1. 西安郵電大學通信與信息工程學院, 710121, 西安; 2. 陜西省法庭科學電子信息實驗研究中心, 710121, 西安; 3. 陜西省無線通信與信息處理技術國際聯合研究中心, 710121, 西安; 4. 新加坡XsecPro公司, 787820, 新加坡)
視頻監控系統被廣泛應用于刑事偵查、司法取證等領域,有力維護了社會穩定與人民的人身與財產安全。在視頻監控系統中,監控視頻要依次經過采集、編碼、傳輸、存儲、解碼、顯示、分析等操作。監控視頻編碼的目的就是用更少的編碼碼率獲得更高質量的重建視頻,所以編碼是保證整個視頻監控系統有效運行的關鍵技術之一。當前視頻監控系統中,被廣泛使用的視頻編碼標準是由國際電信聯盟電信標準化部門(ITU-T)和國際標準化組織(ISO)/國際電工委員會(IEC)分別于2003年和2013年共同發布的H.264/AVC標準[1]和HEVC標準[2-3]。但是,隨著近幾年視頻類型的多樣化發展和視頻應用需求的快速變化,H.264/AVC和HEVC標準的編碼效率已經很難滿足實際需求。相應地,由ITU-T和ISO/IEC聯合制定的通用視頻編碼(VVC)標準[4]應運而生。VVC是2020年發布的當前最新國際視頻編碼標準,其編碼效率大約是HEVC標準的2倍,H.264/AVC標準的4倍。
H.264/AVC、HEVC和VVC標準都采用基于預測、變換、量化、熵編碼的混合編碼框架。其中,量化是將具有較大動態取值范圍的變換系數進行多對一映射以減小變換系數的取值空間,在有效去除視頻部分視覺冗余的同時,提高熵編碼去除熵冗余的能力,有力保證了視頻編碼的效率。量化的核心是多對一的映射機制,而量化參數(QP)是控制多對一映射程度的編碼參數。QP通常取0及有限的正整數。QP取值越大則對應更大取值范圍的變換系數被映射為同一取值,導致視頻編碼的失真越大,而編碼碼率則越小。所以,QP取值顯著影響視頻編碼的效率,是量化模塊中一個非常關鍵的編碼參數。量化參數級聯(QPC)即是研究在編碼過程中如何選擇最優QP的一類方法。H.264/AVC和HEVC標準的官方測試模型JM和HM分別推薦文獻 [5-6]提出的QPC方法。但是,文獻 [5-6]提出的QPC方法都屬于固定取值的方法,即不管編碼輸入因素如何變化,相鄰時間層對應的QP差值是一樣的。固定取值的方法雖然簡單但是編碼效率較低。為了進一步提高視頻編碼的效率,一些更加有效的QPC方法被提出[7-14]。
基于實驗統計,文獻 [7]構建了QP與拉格朗日因子的對數關系,并將其應用于QP的選擇過程中。文獻 [8-9]探索了分級預測結構中不同時間層之間碼率與失真的依賴關系,并分別提出了基于率失真優化的QPC方法。不同的是,文獻 [8]探索的是相鄰時間層之間的碼率與失真的依賴關系,而文獻 [9]探索的是時間0層與其他更高時間層之間的碼率與失真的依賴關系。文獻 [10-14]分析了分級預測結構中圖像間的參考依賴性對QP選擇的影響,并分別提出了有效的QPC方法。不同的是,文獻 [10-13]只考慮了最近參考幀對QP選擇的影響,而文獻 [14]則考慮了所有參考幀對QP選擇的影響。
以上提出的QPC方法[5-14]都是面向早期的H.264/AVC和HEVC標準。由于VVC標準推薦使用了大量新編碼技術,所以這些QPC方法[5-14]并不適用。當前VVC標準的官方測試模型VTM[15]推薦使用JCTVC-X0038提案提出的QPC方法[16],下文簡稱為JCTVC-X0038 QPC方法。JCTVC-X0038 QPC方法忽略了視頻內容特性對QP選擇的重要影響,其編碼效率還有較大的提升空間。針對以上問題,本文面向VVC的混合編碼框架,在分析視頻內容特性等因素對QP選擇影響的基礎上,提出了一種有效考慮監控視頻空時域內容特性的VVC 量化參數級聯方法(SCA-QPC)。
在視頻編碼中,需要根據應用場景需求選擇適合的編碼結構。VTM支持3種編碼結構,即全幀內、隨機接入、低時延(LD)[15]。圖1為圖像組(GOP)為8的LD結構。圖像序列號(POC)反映了圖像在視頻中的顯示順序,而編碼順序(CO)則反映了圖像在視頻編碼中的順序。在LD結構中,所有圖像的POC和CO是一樣的,即編碼結構時延為0。所以,LD結構適用于視頻監控、視頻會議、視頻通話等對視頻數據傳輸實時性要求較高的應用場景。

RP1—第一個幀間參考幀;RP2—第二個幀間參考幀;RP3—第3個幀間參考幀;RP4—第4個幀間參考幀;IDR—瞬時解碼刷新幀;P/B—通常的P幀或B幀。
在LD結構中,視頻的第一幅圖像被編碼為瞬時解碼刷新(IDR)幀,剩余圖像則根據其POC組成GOP。處在同一GOP的圖像又根據其相對圖像序列號(rPOC)被劃分到不同的時間層。rPOC反映了圖像在GOP中的顯示順序。時間層是介于GOP和圖像之間的一個編碼層級,可以有效反映圖像在GOP中的重要性。圖1中由紅色、粉色、藍色、綠色、黃色標識的圖像分別處于時間0層、時間1層、時間2層、時間3層、時間4層。混合編碼框架中的幀間編碼幀,例如通常的P幀或B幀,需要利用幀間預測技術參考已經編碼重建的圖像以消除其包含的時域冗余。圖1中的箭頭方向表示參考圖像(RP)的來源。通常,RP的數量越多,則對應的編碼率失真性能越高,但編碼復雜度也會顯著增大。為了有效權衡編碼率失真性能和復雜度,VTM允許支持的最大RP數量為4。圖1中的RP1、RP2、RP3、RP4分別表示第1~4個幀間參考幀的來源。通常,時間層越低的圖像對整個視頻編碼的效率影響越大,反映在QP選擇上就是時間層越低的圖像用更小的QP編碼,以優先保證編碼質量。這也是當前大部分QPC方法[5-14,16]在選擇QP時遵循的基本規則。以上規則可表示為
Qt=Qt-1+Δt, 1≤t≤NL
(1)
式中:Qt表示給第t個時間層圖像選擇的量化參數;Q0表示初始量化參數,通常由編碼者在配置文件中初始設定;NL表示時間層數;Δt表示第t個時間層圖像和第t-1個時間層圖像對應的量化參數差值。
QPC方法的目的是選擇最優的Δt,用Δt,opt表示。JCTVC-X0038 QPC方法是當前唯一面向VVC標準提出的QPC方法,其設置QP的方案也如式(1)所示,其中Δt被進一步表達為包括Δα、ω、β的線性模型。JCTVC-X0038 QPC方法的QP設置方案表示為
Qt=Qt-1+Δt=
Qt-1+(Δα+Clip3(0, 3,ω(Qt-1+Δα)+β))
(2)
式中:Clip3(γ,φ,θ)表示將θ的取值限定在γ~φ范圍內;ω為縮放因子;β為截距因子;Δα為JCTVC-X0038 QPC方法設置的相鄰時間層量化參數偏移量的差值。
Δα、ω、β的取值如表1所示,其取值只與時間層相關,與視頻內容特性等因素無關。

表1 JCTVC-X0038 QPC方法中的參數取值
下面,通過實驗進一步確認JCTVC-X0038 QPC方法設定的具體QP。選擇兩個典型的具有不同內容特性的監控視頻DormitoryHall 和MeetingRoom作為測試序列。圖2所示為DormitoryHall 序列和MeetingRoom序列的第1幀及第250幀。DormitoryHall序列是由固定監控攝像頭拍攝的宿舍走廊場景,其變化區域由綠色虛線框標注。MeetingRoom序列是由旋轉監控攝像頭拍攝的會議室場景,其明顯變化區域由紅色虛線框標注。其中,A區域和B區域分別為攝像頭在旋轉拍攝過程中視頻消失的區域和新進入的區域。結合圖2易得出以下結論,相比于DormitoryHall序列,MeetingRoom序列包含的場景內容紋理更加復雜,且變化區域更大,序列整體運動更快。這兩個測試序列的詳細視頻內容特性量化評價參見后文第3.1小節。使用的編碼器為VTM16.2[15],其他主要編碼參數設置與配置文件encoder_lowdelay_P_vtm中的默認設置一致,如表2所示。表3 所示為JCTVC-X0038 QPC方法最終選擇的Δt。

表2 主要編碼參數配置

表3 JCTVC-X0038 QPC方法選擇的Δt

(a)DormitoryHall序列第1幀
結合式(2)、表1和表3易得出以下結論:JCTVC-X0038 QPC方法給不同測試序列選擇的Δt是一樣的,即JCTVC-X0038 QPC方法并未考慮視頻序列內容特性對QP選擇的影響。但是,視頻作為視頻編碼操作的輸入信源,信源特性會顯著影響視頻編碼過程中子技術的參數選擇與運行效率,最終會顯著影響視頻編碼的整體效率。所以,理論上視頻的內容特性會顯著影響QP的選擇,下一節也將從理論與實驗兩個角度證明以上推斷。綜上所述可知,VTM當前推薦的JCTVC-X0038 QPC方法是不優化的,其編碼性能還可進一步提高。
VVC采用基于預測、變換、量化、熵編碼的混合編碼框架以消除原始視頻中的各類冗余信息,達到數據壓縮的目的。從信源的角度看,視頻是一系列圖像在時間維度上的集合,相鄰圖像內容的相關性很強,即存在很多時域冗余。VVC采用幀間預測技術[15,17]消除視頻中的時域冗余,其基本原理表示為
ri,b=oi,b-pj,b
(3)
式中:oi,b表示第i幅圖像的第b個編碼塊;ri,b表示第i幅圖像第b個編碼塊對應的殘差塊;pj,b表示oi,b在第j幅圖像通過運動估計找到的最優匹配塊,第j幅圖像是第i幅圖像的參考圖像。相比于編碼塊,殘差塊對應的符號概率密度分布更加趨于不均勻,能量更加集中,其經過變換量化進一步處理后更利于提高熵編碼技術去冗余的能力,最終提升視頻編碼的效率。
由式(3)易看出,第j幅圖像的質量會顯著影響第i幅圖像最優匹配塊的選擇效率,進而影響殘差塊中殘差值的概率密度分布特征和熵編碼的去冗余能力,最終影響第i幅圖像的編碼效率。所以,給第j幅圖像選擇的QP不僅影響本圖像的編碼效率,也顯著影響以第j幅圖像為參考圖像的其他圖像編碼效率。另外,為了有效權衡編碼復雜度和率失真性能,VTM支持的參考圖像數量和來源是固定的,其中參考圖像數量最大為4[15],LD結構中參考圖像的來源參考圖1中的箭頭方向。由圖1易看出,低時間層圖像,例如時間0層與時間1層圖像,會被更多的圖像作為參考圖像。綜上可以得到第1個推論:相比于其他更高時間層圖像,時間0層和時間1層圖像對整個視頻編碼效率的影響更大。
下面從實驗角度驗證上述第1個推論的準確性。對于實驗選擇的測試序列,編碼器、編碼結構、檔次、Q0等都與第1節描述的實驗設置一致。為了盡量避免不同編碼方法得到的碼率相差過大,設置時間0層圖像的實際編碼QP為Q0-Δ1,Qt的取值按照式(1)設置,其中Δ1分別取1、2、3、4,Δ2分別取3、4、5、6,Δ3分別取0、1、2,Δ4分別取0、1、2。Δ1、Δ2、Δ3、Δ4取不同的值就對應著不同的QPC方法。與表3中的數據對比易看出,本實驗中設置的Δt包含了JCTVC-X0038 QPC方法得到的所有取值,且在此基礎上進行了適當擴展。
率失真性能是衡量QPC方法的關鍵指標,且通常使用BD-rate[9,14,17-20]作為測度,用符號ΔR表示。ΔR反映了待評價方法在與基準方法在獲得同等感知質量的重建視頻前提下,可以節省多少碼率。首先,將JCTVC-X0038 QPC方法作為基準方法,計算不同Δ1、Δ2、Δ3、Δ4取值組合對應的QPC方法的ΔR。然后,進一步選擇Δ2、Δ3、Δ4取相同值而Δ1取不同值的QPC方法,計算這些方法對應的ΔR隨著Δ1取值變化時的絕對值變化量。這一數據可以有效反映時間0層和時間1層圖像的QP對整體視頻編碼率失真性能的影響程度。按照同樣的原理,分別計算Δ2、Δ3、Δ4取值變化時其對應的ΔR絕對值變化量。具體數值如表4所示。

表4 ΔR的絕對值變化量
由表4數據易看出,對于不同內容特性的測試序列,Δ1對應的ΔR絕對值變化量都是最大的。所以,相比于其他時間層,時間0層和時間1層對于整個視頻編碼率失真性能的影響是最大的。另外,相比于Δ3、Δ4對應的ΔR絕對值變化量,Δ2對應的ΔR絕對值變化量也明顯更大。Δ2反映的是時間1層和時間2層QP之間的差值,所以Δ2對應的ΔR絕對值變化量也部分反映了時間1層圖像對于整個視頻編碼率失真性能的影響。綜上可知,表4數據證明了第1個推論的準確性。基于這一推論,權衡方法復雜度與編碼效率,本文后續研究只探究Δ1,opt和Δ2,opt的選擇,Δ3和Δ4則按照JCTVC-X0038 QPC方法進行默認設置。
視頻作為一幅幅圖像在時間維度上的集合,其內容特性可以從空域和時域兩個角度評價[21]。空域通常指的是圖像紋理復雜度,時域通常指的是視頻內容的運動快慢[21]。第2.1小節研究內容說明了參考圖像會影響編碼圖像的編碼效率,具體影響程度會與本小節關注的視頻空時域內容特性密切相關。通常,視頻紋理越簡單或運動越慢時,相鄰圖像內容變化較小,其相關性較強,此時參考圖像會對編碼圖像產生較大的影響,反之亦然。下面通過實驗驗證上述分析。
選擇的測試序列、編碼器、編碼結構、檔次、Q0等都與第1節描述的實驗設置一致,但本實驗只編碼序列的前2幀,第2幀編碼時會將第1幀作為參考圖像。相比于MeetingRoom序列,DormitoryHall 序列的紋理更加簡單運動更慢。圖3所示為Q0分別為22、27、32、37時第2幀對應的預測殘差概率密度分布。由圖中數據易看出,不論Q0取值為多少,DormitoryHall 序列對應的取值接近于0的殘差明顯更多,概率密度分布曲線的形狀更加陡峭,能量更加集中。這表明相比于MeetingRoom序列,DormitoryHall 序列對應預測技術的效率更高,即第1幀對于第2幀的影響更大。這一實驗數據驗證了之前的分析,即對于紋理越簡單或運動越慢的視頻,參考圖像對編碼圖像的影響更大。

(a)Q0=22
假定整個視頻的編碼總碼率為Rc,分配給低時間層圖像和高時間層圖像的碼率分別為Rl和Ru。首先,對于紋理簡單或運動慢的視頻,參考圖像對編碼圖像的影響更大,其對于整個視頻的編碼效率的影響也更大。其次,由第2.1小節分析及圖1易知,低時間層圖像會被更多圖像做參考圖像。結合上述兩點可知,對于紋理簡單或運動慢的視頻,在實際編碼時應增大Rl,用更小的QP編碼低時間層圖像,以優先保證編碼質量。在Rc近似不變的情況下,增大Rl意味著減小Ru,即其他高時間層圖像對應的QP會增大。這最終會導致時間層圖像間的QP差值增大。綜上,得出第2個推論:視頻的空時域內容特性對QP的選擇具有重要影響,且紋理越簡單運動越慢的視頻,其對應的Δ1,opt和Δ2,opt會越大。
下面進行實驗證明上述第2個推論的準確性。測試序列、編碼器、編碼結構、檔次、Q0、時間0層圖像編碼QP等都與第2.1小節描述的實驗設置一致,Qt按照式(1)設置,其中,Δ1和Δ2都分別取1~10之間的整數,Δ3和Δ4被分別設置為由JCTVC-X0038 QPC方法得出的值,即0和1。然后,以JCTVC-X0038 QPC方法為基準方法計算不同Δ1和Δ2組合對應的ΔR。
圖4為不同Δ1和Δ2組合對應的ΔR。如圖4(a)中紅點所示,當Δ1和Δ2分別為3和6時,其對應的ΔR最小,為-3.58%。所以,MeetingRoom序列對應的Δ1,opt和Δ2,opt分別為3和6。同理,如圖4 (b)中紅點所示,DormitoryHall 序列對應的Δ1,opt和Δ2,opt分別為4和8。這一實驗結果驗證了第2個推論的準確性。另外,圖4和表3的結果也直觀地證明了JCTVC-X0038 QPC方法并不是最優的。

(a)MeetingRoom
本文提出的SCA-QPC方法也按照式(1)的方案設置每個時間層的QP。進一步基于第2節證明的第1個推論,SCA-QPC方法只探究Δ1,opt和Δ2,opt的選擇,Δ3和Δ4則按照JCTVC-X0038 QPC方法進行默認設置。Δ1,opt和Δ2,opt的選擇方法將在第3.2小節描述。另外,基于第2節證明的第2個推論,在構建Δ1,opt和Δ2,opt的選擇方法時,充分考慮視頻空時域內容特性的顯著影響。視頻空時域內容特性的量化評價將在第3.1小節描述。
本文采用梯度σ衡量視頻的紋理復雜度[22],σ越大表示視頻的紋理越復雜,計算式為
(4)
式中:v表示視頻包含的圖像數;w、h分別表示圖像的寬和高;Gp(i,x,y)表示第i幅圖像第x行第y列像素4個紋理方向對應的梯度最大值,計算式為

(5)
其中,I(i,x-3+m,y-3+n)表示第i幅圖像第x-3+m行第y-3+n列像素的亮度值,gk(m,n)表示第k個紋理方向對應的加權濾波器,其取值如圖5所示。

(a)g1(m,n)
采用背景幀差d衡量視頻的運動快慢[21],d越大表示視頻的運動越快,計算式為
(6)
式中:Ib(i,x,y)表示第i幅圖像第x行第y列像素的背景亮度值,計算式為
y-3+n)a(m,n))
(7)
其中,a(m,n)表示加權濾波器,其取值由圖6所示。

圖6 加權濾波器a(m,n)的取值
表5為DormitoryHall和MeetingRoom兩個序列對應的σ與d。相比于DormitoryHall序列,MeetingRoom序列的紋理更加復雜運動越快,而其對應的σ與d取值也更大。所以,σ與d能夠比較準確地評價視頻的空時域內容特性。

表5 視頻評價指標σ與d的取值
由于良好的非線性映射能力和低復雜度特性,反向傳播神經網絡(BPNN)被廣泛應用于回歸預測[23-26]。權衡方法準確率和復雜度,本文構建了基于輕量型BPNN的Δt,opt(t=1,2)預測模型,如圖7所示。特別說明,本文構建的Δ1,opt與Δ2,opt的預測模型是獨立的,但是二者的網絡結構是類似的。只是在訓練時使用了不同的訓練數據,以使其訓練好的網絡模型和對應的參數組合能夠分別適用于Δ1,opt和Δ2,opt的預測。

圖7 Δt,opt(t=1,2)的預測模型

最終,SCA-QPC方法的具體實施步驟如下。
(1)對于待編碼的視頻,分別根據式(4)和式(6)計算其對應的σ和d。


(8)
如表3所示,當大于等于時間3層即t≥3時,圖像對應的Δt按照JCTVC-X0038 QPC方法得出的值進行設置。
(4)根據第(3)步設置的QP編碼視頻,完成編碼操作。


表6 Δt,opt(t=1,2)的預測結果
率失真性能是衡量QPC方法編碼效率的最關鍵指標,且通常使用ΔR作為測度[9,14,17-20]。目前,JCTVC-X0038 QPC方法是唯一面向VVC標準提出的QPC方法,且被VTM集成。所以,本小節將JCTVC-X0038 QPC方法作為對比方法,以評估SCA-QPC方法的率失真性能。
所有測試序列分別使用JCTVC-X0038 QPC方法和SCA-QPC方法編碼,獲得對應的編碼碼率和失真數據。編碼器、編碼結構、檔次、GOP大小、Q0等與第1節描述的實驗設置一致。以JCTVC-X0038 QPC方法為基準,計算SCA-QPC方法對應的ΔR,結果如表7所示。對于所有測試序列,SCA-QPC方法對應的平均ΔR為-4.26%,即相比于JCTVC-X0038 QPC方法,SCA-QPC方法在獲得同等質量重建視頻的前提下,可以節省4.26%的編碼碼率。相比于JCTVC-X0038 QPC方法,SCA-QPC方法顯著提高了監控視頻的編碼效率。圖8給出了Carpark和DiningHall兩個序列的率失真曲線,以直觀地感知SCA-QPC方法對應的率失真性能提升。

表7 SCA-QPC對應的ΔR
如表7所示,對于紋理簡單運動慢的序列,SCA-QPC方法可以提升較高的率失真性能,例如DiningHall序列對應的ΔR為-8.05%。對于紋理復雜運動快的序列,SCA-QPC方法提升的率失真性能有限,例如ElectricBicyclePark序列對應的ΔR為-0.43%。這主要是因為,如第2.2小節分析,相比于紋理簡單運動慢的視頻,紋理復雜運動快的視頻其對應的Δt,opt(t=1,2)較小,更加接近于JCTVC-X0038 QPC方法得出的Δt(t=1,2)。因此,相比于紋理簡單運動慢的視頻,SCA-QPC方法對于紋理復雜運動快視頻的編碼性能提升空間有限,所以其對應的ΔR較小。
本文面向監控視頻提出了一種適用于最新VVC標準考慮視頻空時域復雜度的QPC方法,實驗結果證明了提出方法可以有效提高監控視頻的編碼效率。本文研究得到如下有意義結論:
(1)從率失真性能角度看,VVC標準當前推薦的JCTVC-X0038 QPC方法不是最優的,其性能還有較大提升空間;
(2)在VVC低時延結構中,低時間層圖像對于整個視頻編碼效率的影響更大;
(3)視頻的空時域內容特性是影響VVC量化參數選擇的重要因素,且對于紋理簡單運動快的視頻,其對應的時間層之間最優QP的差值越大;
(4)BPNN可以有效應用于VVC標準的QP選擇中。
后續有價值的研究方向包括:適用于屏幕內容視頻、360°全景視頻等其他類型視頻的QPC方法;適用于VVC標準隨機接入結構的QPC方法。