智能手機監(jiān)控(以下簡稱手機監(jiān)控)相對于傳統(tǒng)監(jiān)控最大的特點就是“AnyTime、AnyWhere、AnyDevice”(任何時間、任何地點、任何設備),實現手機監(jiān)控的三大要數是智能手機、攝像機和3G網絡。攝像機和智能手機是手機監(jiān)控的前后端,攝像機通過有線或者3G網絡和互聯網連接,智能手機通過3G網絡和互聯網連接,從而形成攝像機和智能手機的視頻信號通道連接,下面分別探討這三大要素目前的狀況以及在手機監(jiān)控中實現高清視頻的可能性。
智能手機和3G網絡現狀
2013年7月,工信部發(fā)布了《2013年上半年電信業(yè)統(tǒng)計分析》,文中指出:“3G移動電話用戶凈增8606.6萬戶,超過去年全年凈增量80%,總數達3.19億戶”,從這些數字可以看出3G用戶數量發(fā)展迅猛。如此龐大的基數,為通過3G網絡部署的手機監(jiān)控應用提供了廣泛的
用戶基礎;同時,以ios和android操作系統(tǒng)為代表的智能手機和平板電腦也迅速普及,主流智能手機的屏幕分辨率也發(fā)展到了如今的1280×720,甚至出現了1920×1080這樣的全高清分辨率,這使得智能手機完全可以支持高清分辨率的視頻應用;使用這些便攜智能終端,加上3G網絡的支撐,用戶可以隨時隨地地觀看來自任何地點攝像機的監(jiān)控視頻,這種的便捷性會大大促進手機監(jiān)控應用的發(fā)展。
在基于IP網絡的監(jiān)控系統(tǒng)中,網絡攝像機作為視頻信息的采集者直接決定了監(jiān)控系統(tǒng)中視頻信息量。目前, 高清攝像機已經被普遍應用在監(jiān)控系統(tǒng)中,對于攝像機來講,更高的分辨率,就可以提供了更多的細節(jié)特征或者更大的視野范圍,這些對于監(jiān)控應用無疑是有利的。從安防監(jiān)控攝像機的發(fā)展來看,主流分辨率經歷了CIF、D1到現在的百萬像素、二百萬像素甚至五百萬像素,這樣的一個發(fā)展過程充分體現了監(jiān)控應用對高分辨率的不斷追求。以前制約手機監(jiān)控應用中使用高清分辯率的主要技術障礙就是無線網絡帶寬不足和手機屏幕分辨率過低,而隨著智能手機和3G網絡的發(fā)展,智能手機已經完全能勝任高清視頻的顯示,無線網絡帶寬也比2G時代有了很大的提高,手機監(jiān)控的高清應用將破繭而出。
低碼率高清攝像機設計與實現
通過上面的探討可以知道碼率低于512kbps的高清攝像機可以實現手機監(jiān)控的高清應用,即使不用高清,低碼率也可以降低手機監(jiān)控的使用成本。為了使高清攝像機大幅降低碼率,不僅要采用H.264等先進的編碼算法,而且要從系統(tǒng)的角度全面考慮,從攝像機的各個環(huán)節(jié)降低碼率。
1、選擇低噪聲的圖像傳感器
圖像傳感器是獲取視頻信號的源頭,選擇高信噪比的低噪聲傳感器是必須的,這為后續(xù)處理提供了基礎條件。
2、注重降噪的圖像處理過程(ISP)
清晰而且低噪聲的圖像是獲得低碼率視頻的首要條件, 圖像噪聲混入到圖像細節(jié)特征中,會大大增加后續(xù)編碼過程的信息量,從而增加碼流。所以首先要獲取清晰而且低噪聲的圖像,這對圖像處理過程(ISP)提出了一些要求。ISP主要包括demosaic、濾波、銳化、白平衡、曝光控制、gamma校正等處理過程,其中濾波和銳化處理對噪聲影響最大。濾波算法很多,我們需要選擇能保持邊緣信息的濾波算法,這樣才不會降低清晰度;應用3D濾波也是一個不錯的選擇,它可以利用到幀間信息。濾波和銳化共同作用的結果,才能獲得低噪聲的清晰圖像,然后進行下一步的視頻編碼處理。
3、選擇高壓縮率的視頻編碼器
H.264作為一個成熟的視頻編碼標準,已經廣泛使用在網絡攝像機中,而且也被智能手機普遍支持?;谶@個原因,如同其他攝像機廠商一樣,我們也同樣選擇H.264視頻編碼器來進行視頻編碼。再進一步,我們選擇了Main Profile,理由是可以使用B幀和CABAC編碼。這兩個功能對降低碼率有很大的作用,B幀可以進行雙向預測,使得預測更加準確,可以減少碼流;同時還可以設置解碼后的B幀不再做為參考幀,這樣就可以把量化造成的誤差局限在本幀范圍內而不繼續(xù)擴散,因此可以適當增大B幀的量化參數,減少碼流的同時而不對視頻質量造成明顯損害。相對于CAVLC編碼,在相同編碼信息源數據的情況下,CABAC編碼可以節(jié)約10%左右的碼流,這個差距足以令CABAC成為我們的不二的選擇。
4、優(yōu)化視頻編碼碼流
H.264編碼中存在I幀,P幀和B幀。其中I幀是幀內預測編碼,盡可能實現全部幀內預測方式,這樣可以提高預測準確性,減少殘差數據量,從而降低碼流。 在一個GOP中,P幀和B幀的數量遠遠大于I幀,所以這兩種幀編碼是決定視頻碼流大小的主要因素。對于P幀和B幀編碼,幀間預測的準確性直接決定了殘差信息量,因此必須盡可能提高預測準確性,手段包括增加參考幀和擴大搜索范圍;受硬件資源的制約,在攝像機中實現全像素搜索是不現實的,但是搜索點數太少會嚴重影響搜索精度,因此應該盡可能增加搜索點數,獲得高的搜索精度,最后再用1/2像素和1/4像素匹配最佳位置。
5、根據像素信息重要性分配宏塊QP
量化參數QP直接決定了畫面質量,同時對碼率大小也有極大影響。增加QP,量化誤差增大,畫面細節(jié)丟失,碼率變小;減小QP則會產生相反的影響;這就為選擇合適的QP值帶來困惑。理想的解決方式是:畫面中包含重要信息的部分需要細節(jié),這些部分應該使用較小的QP值;畫面的其他部分則不需要過多細節(jié),這些地方可以使用相對較大的QP值。通過這種變化QP的方式,可以大大減少畫面中不關注細節(jié)部分的編碼碼流,同時又不會危害到畫面中的監(jiān)控對象畫面,這是降低碼流的一個重要環(huán)節(jié)。
6、實施智能分析
智能分析是指對圖像進行分析,主要有兩個功能:運動分析和圖像區(qū)域分析。運動分析是為了獲得視頻中的運動物體,如人和車輛等物體,分析結果可以進一步用于入侵檢測等告警規(guī)則;圖像區(qū)域分析是實現QP分配的基礎條件,分析結果是獲得運動區(qū)域和靜止區(qū)域的分布,通常靜止區(qū)域都是一些背景區(qū)域,這些區(qū)域可以在H.264編碼過程中應用較大的QP值,達到減小碼率的目的。
7、應用碼率智能自適應控制
3G網絡的實時有效帶寬處于一個不斷變化的波動狀態(tài),及時有效地匹配視頻輸出碼率和實時可用帶寬,可以提高網絡傳輸效率,從而在相同條件下為客戶端提供更好質量的視頻碼流。網絡實時帶寬是不可預知因素,考慮到瞬間的帶寬抖動不會對通信造成實質影響,我們只需要針對作用時間較長的慢速抖動進行處理,可以預設一個基本帶寬參數,然后檢測碼流發(fā)送過程中的TCP的擁塞狀態(tài),據此進行修正,作為實時帶寬的近似值。
場景內容(包括環(huán)境光線條件)的變化是引起碼率主動變化的主要因素,而碼率適應過程則是需要動態(tài)調整若干參數,這些參數包括:視頻幀率、量化參數QP、視頻濾波強度、圖像銳化強度和圖像分析靈敏度等,分別分布在ISP、智能分析、H.264編碼等多個處理環(huán)節(jié)。每個參數對碼率的影響不同,需要調整哪些參數,以及調整的幅度,需要一個比較復雜的控制策略來實現,這個過程就是碼率智能自適應控制。碼率自適應控制需要較高的實時性;另外,為了保證碼率變化的平滑過渡,參數調整過程也需要進行漸變過渡,這樣才能獲得較佳的視覺效果。
通過以上分析, 低碼率高清攝像機在手機監(jiān)控應用有著現實的意義,技術上也完全可行。我們已經使用單片altera的CYCLONE IV(EP4CE115)作為主芯片,實現了低碼率高清攝像機(GlobalEagle)的最大分辨率和幀率是1280×720×25fps,平均碼率小于512Kbps。隨著FPGA工藝的進步,FPGA的資源越來越多,運動宏塊的預測可以做到越來越準確,編碼碼流會越來越少,下一步我們準備用CYCLONE V來實現1920×1080×25fps的平均碼率小于1024Kbps的低碼率高清攝像機。