珠海醋酸纖維有限公司 黎毅鴻 練志堅
攝像頭視頻編碼標準的選擇和視頻流碼率的調節,是直接影響視頻流大小以及后端存儲容量消耗速度快慢的關鍵因素;而在使用虛擬化存儲技術的視頻監控系統中,虛擬資源池的應用配置能實現存儲容量的個性化分配。以上兩個方面的理論分析及應用,對實現在用視頻監控系統錄像存儲天數提升和差異化配置的精細化管理有一定參考價值。
在以數字化網絡為架構的視頻監控系統中,用戶可方便快捷地增加前端監控點位,但前端監控點的增加帶來的是后端存儲資源消耗加快的壓力。本文將從前端IP攝像頭的視頻編碼標準選擇、碼流參數配置和后端虛擬化存儲的應用、虛擬資源池的配置這兩個方面深入分析,探討在不增加存儲資源的前提下,提高在用存儲資源的利用率和提升IP攝像頭錄像存儲時間的方法。
目前國內安防行業中,視頻監控攝像頭使用的主流視頻編碼標準是H.265/MPEG-HEVC和H.264/MPEGAVC。因H.265作為H.264的迭代標準向下兼容,所以安防廠商的大部分視頻監控產品可同時支持H.264和H.265,新舊標準的多元化選擇既滿足了新客戶使用最新技術的增量需求,也兼顧了舊客戶舊設備更新過渡的存量需求。
HEVC是2013年1月由ISO/IEC和ITU-T組織同時發布的新一代視頻編碼標準,是在H.264/MPEG-AVC的基礎上優化開發而來的,其架構與H.264有很大的相似之處,均包含了幀內預測、幀間預測、去區塊濾波器、熵編碼等模塊。HEVC采用了更大的宏塊,最大支持64×64像素的宏塊,而H.264最大支持的宏塊為16×16;HEVC的幀內預測方式有35種, 而H.264只有10種預測方式;HEVC支持時域+空域的向量預測方式,而H.264只支持空域的向量預測方式;HEVC支持8階的插值濾波器,而H.264只支持6階插值濾波器;HEVC支持8×8/16×16/32×32的DCT變換,而H.264只支持4×4/ 8×8的DCT變換。
H.265能實現以2Mps以下碼率對1080P像素的視頻進行壓縮編碼,在同樣畫質的條件下,使用H.265編碼產生的碼流要比使用H.264少50%,換言之就是節省50%的存儲空間。因此有條件的用戶應優先選用H.265編碼格式進行視頻編碼壓縮,其次才是H.264。雖然H.265的編碼壓縮能力先進,但拋開場景談編碼碼率是不嚴謹的,其對不同場景的編碼壓縮效果不能一概而論,實際視頻流碼率大小要視場景及用戶參數設置具體分析。
海康和大華作為國內安防行業的兩大龍頭,其產品具有一定的參考價值,在這兩個廠家生產的攝像頭均有固定碼率和變化碼率的配置選擇,結合碼率上限設定值使用。
在選擇固定碼率時,攝像頭基本會在一個固定碼率值上進行編碼輸出,用戶能精準計算視頻錄像的存儲占用情況。在使用變碼率時,攝像頭會根據場景的變化適時調節編碼壓縮性能,使視頻流碼率產生波動,存儲占用情況卻不能得到精確計算。但不管哪種模式,都存在場景發生變化時,攝像頭為確保碼率不超過設定值而加強編碼壓縮性能來犧牲部分畫質的情況。因此攝像頭編碼碼率的選擇成為平衡畫質和存儲占用空間的關鍵參數,為此我們需要了解在實際應用中,在不同編碼碼率設定值下視頻畫面清晰度的差距,從而選擇最合適自身需求的視頻碼率,節省更多存儲空間。
如圖1所示,其他配置相同的前提下設置三組不同碼率,然后通過電子放大截圖觀察成像細節,以了解攝像頭碼率大小對成像畫質的影響和其中關系。

圖1 不同碼率下攝像頭畫面細節放大對比圖Fig.1 Magnified comparison of camera details at different bit rates
對比畫面中各個部分內容,發現靜態物體輪廓、陰影等紋理簡單部分的畫面清晰度隨碼率設定值變化不大,但動態物體及紋理復雜部分的細節清晰度與實際視頻碼率呈現正相關的關系,且當碼率降低時,紋理復雜部分會變成模糊的塊狀區域。我們再結合H.265編碼格式標準工作原理進行分析,在編碼過程中,編碼器會將圖像劃分為“樹編碼單元”,然后根據編碼單元內圖像紋理特性進行“四叉樹結構”的遞歸分割,最后畫面將被分割成最大64×64像素、最小4×4像素的宏塊。之后編碼器會將參考幀、當前幀塊化后的圖像進行比較并得出差值,這些差值連同原圖像數據經算法運算并經解碼器進行去塊化處理后產生我們所看到的圖像。因此當碼率設定值降低時,編碼器為滿足低碼率輸出要求會將對比的差值(畫面動態變化量)經運算變換后的信號加以過濾,至使視頻中紋理復雜部分的細節被抹除。而畫面的動態變化量的產生主要來自兩個部分,其一是場景紋理復雜內容,其二是場景動態內容。由于紋理復雜內容受攝像頭晃動、光線等環境因素的輕微改變而產生變化量,而動態內容本身就持續產生變化量,就出現了隨著碼率設定的降低,畫面細節及動態部分越來越模糊的現象。
為更直觀展示碼率模式的選擇和碼率上限值設定對實際視頻碼率產生的影響,我們觀察6個場景下攝像頭在不同設定時產生視頻流的碼率變化情況,并作分析對比,如表1所示。測試中的不同場景下,攝像頭選擇固定碼率模式時的平均碼率約為碼率上限設定值的85%左右。而選擇變碼率模式時的實測平均碼率較小,畫面紋理簡單的場景如資料室、主干道,實際碼率只有碼率上限設定值的5%~10%,對于畫面紋理復雜的場景如用餐時的食堂、管道閥門密布的化工車間,實際碼率能達到碼率上限設定值的40%~70%。尤其通過食堂場景比較,發現無用餐時食堂畫面碼率只有用餐時畫面碼率的約30%,所以選擇“變碼率加高碼率上限”的配置組合能節約較多存儲資源。

表1 不同場景下不同攝像頭配置參數的實際碼率交叉對比表Tab.1 Actual bit rate cross comparison table of different camera configuration parameters in different scenarios
虛擬化存儲指的是把物理存儲設備通過計算機軟件技術實現資源池生成,這樣做能將物理存儲設備的邊界消除,并能方便地在軟件技術支持下通過增加物理存儲設備進行存儲擴容。其他計算機設備直接與虛擬的資源池匹配并在資源池上進行數據存儲,而不需要與物理存儲設備進行對接,這在視頻監控系統中有很好的應用前景和價值。
視頻云存儲系統是在傳統IP-SAN上融合了計算機集群、虛擬化等技術,針對視頻流開發的存儲技術。與傳統IP-SAN以文件系統為基礎進行讀寫相比,視頻云存儲系統集成了編、解碼器,實現了視頻流的直接讀寫,并運用了虛擬存儲技術,通過生成大小可編輯的虛擬化資源池,擺脫了以邏輯卷作為最小存儲單元的容量邊界束縛。
在搭建好的視頻云存儲系統上,可以在容量范圍內配置處一個或多個容量大小不一的虛擬資源池。如圖2所示,在總虛擬資源池上用戶可按存儲天數、攝像頭分辨率及其他需求開設多個子資源池進行分類管理,并分配不同大小的存儲容量。經計算后對錄像存儲時間需求不一的攝像頭進行分類配置,分別與不同容量大小的虛擬資源池進行錄像計劃關聯配置。低需求場景的攝像頭存儲路徑關聯低容量資源池,再把節省出來的容量分配給高需求場景攝像頭關聯的資源池,實現對攝像頭錄像存儲差異化管理的目的,這種管理優勢是傳統NVR、DVR等獨立錄像機所不具備的。

圖2 視頻監控系統虛擬資源池示意圖Fig.2 Virtual resource pool of video surveillance system
本文描述了前端攝像頭在H.265編碼格式標準下,根據場景需求的差異化配置實現輸出視頻流碼率最優的原理;并介紹了后端虛擬化技術在視頻存儲的應用,和通過虛擬化資源池配置實現錄像存儲時間差異化管理方法。結合以上兩點,為讀者提供一種節省視頻錄像存儲資源的開放性思路和相關理論。