手機監控低碼率高清攝像機如何實現
低碼率高清攝像機設計與實現
碼率低于512kbps的高清攝像機可以實現手機監控的高清應用即使不用高清低碼率也可以降低手機監控的使用成本為了使高清攝像機大幅降低碼率不僅要采用H.264等先進的編碼算法而且要從系統的角度全面考慮從攝像機的各個環節降低碼率
1選擇低噪聲的圖像傳感器
圖像傳感器是獲取視頻信號的源頭選擇高信噪比的低噪聲傳感器是必須的這為后續處理提供了基礎條件
2注重降噪的圖像處理過程ISP
清晰而且低噪聲的圖像是獲得低碼率視頻的首要條件 圖像噪聲混入到圖像細節特征中會大大增加后續編碼過程的信息量從而增加碼流所以首先要獲取清晰而且低噪聲的圖像這對圖像處理過程ISP提出了一些要求ISP主要包括demosaic濾波銳化白平衡曝光控制gamma校正等處理過程其中濾波和銳化處理對噪聲影響最大濾波算法很多我們需要選擇能保持邊緣信息的濾波算法這樣才不會降低清晰度應用3D濾波也是一個不錯的選擇它可以利用到幀間信息濾波和銳化共同作用的結果才能獲得低噪聲的清晰圖像然后進行下一步的視頻編碼處理
3選擇高壓縮率的視頻編碼器
H.264作為一個成熟的視頻編碼標準已經廣泛使用在網絡攝像機中而且也被智能手機普遍支持基于這個原因如同其他攝像機廠商一樣我們也同樣選擇H.264視頻編碼器來進行視頻編碼再進一步我們選擇了Main Profile理由是可以使用B幀和CABAC編碼這兩個功能對降低碼率有很大的作用B幀可以進行雙向預測使得預測更加準確可以減少碼流同時還可以設置解碼后的B幀不再做為參考幀這樣就可以把量化造成的誤差局限在本幀范圍內而不繼續擴散因此可以適當增大B幀的量化參數減少碼流的同時而不對視頻質量造成明顯損害相對于CAVLC編碼在相同編碼信息源數據的情況下CABAC編碼可以節約10%左右的碼流這個差距足以令CABAC成為我們的不二的選擇
4優化視頻編碼碼流
H.264編碼中存在I幀P幀和B幀其中I幀是幀內預測編碼盡可能實現全部幀內預測方式這樣可以提高預測準確性減少殘差數據量從而降低碼流 在一個GOP中P幀和B幀的數量遠遠大于I幀所以這兩種幀編碼是決定視頻碼流大小的主要因素對于P幀和B幀編碼幀間預測的準確性直接決定了殘差信息量因此必須盡可能提高預測準確性手段包括增加參考幀和擴大搜索范圍受硬件資源的制約在攝像機中實現全像素搜索是不現實的但是搜索點數太少會嚴重影響搜索精度因此應該盡可能增加搜索點數獲得高的搜索精度最后再用1/2像素和1/4像素匹配最佳位置
5根據像素信息重要性分配宏塊QP
量化參數QP直接決定了畫面質量同時對碼率大小也有極大影響增加QP量化誤差增大畫面細節丟失碼率變小減小QP則會產生相反的影響這就為選擇合適的QP值帶來困惑理想的解決方式是畫面中包含重要信息的部分需要細節這些部分應該使用較小的QP值畫面的其他部分則不需要過多細節這些地方可以使用相對較大的QP值通過這種變化QP的方式可以大大減少畫面中不關注細節部分的編碼碼流同時又不會危害到畫面中的監控對象畫面這是降低碼流的一個重要環節
6實施智能分析
智能分析是指對圖像進行分析主要有兩個功能運動分析和圖像區域分析運動分析是為了獲得視頻中的運動物體如人和車輛等物體分析結果可以進一步用于入侵檢測等告警規則圖像區域分析是實現QP分配的基礎條件分析結果是獲得運動區域和靜止區域的分布通常靜止區域都是一些背景區域這些區域可以在H.264編碼過程中應用較大的QP值達到減小碼率的目的
7應用碼率智能自適應控制
3G網絡的實時有效帶寬處于一個不斷變化的波動狀態及時有效地匹配視頻輸出碼率和實時可用帶寬可以提高網絡傳輸效率從而在相同條件下為客戶端提供更好質量的視頻碼流網絡實時帶寬是不可預知因素考慮到瞬間的帶寬抖動不會對通信造成實質影響我們只需要針對作用時間較長的慢速抖動進行處理可以預設一個基本帶寬參數然后檢測碼流發送過程中的TCP的擁塞狀態據此進行修正作為實時帶寬的近似值
場景內容包括環境光線條件的變化是引起碼率主動變化的主要因素而碼率適應過程則是需要動態調整若干參數這些參數包括視頻幀率量化參數QP視頻濾波強度圖像銳化強度和圖像分析靈敏度等分別分布在ISP智能分析H.264編碼等多個處理環節每個參數對碼率的影響不同需要調整哪些參數以及調整的幅度需要一個比較復雜的控制策略來實現這個過程就是碼率智能自適應控制碼率自適應控制需要較高的實時性另外為了保證碼率變化的平滑過渡參數調整過程也需要進行漸變過渡這樣才能獲得較佳的視覺效果
主芯片的選擇
目前網絡攝像機基本上都采用單芯片的解決方案可供選擇的主要包括ASIC和FPGA傳統高清攝像機大多采用ASIC芯片廠商提供的攝像機解決方案所以這些攝像機都不能實現低碼流高清為了實現低碼流高清可采用FPGA方案該方案具有并行處理機制能帶來實時性和高性能而且設計靈活便于實現低碼率目標所需要的全部處理過程
結束語
通過以上分析 低碼率高清攝像機在手機監控應用有著現實的意義技術上也完全可行我們已經使用單片altera的CYCLONE IVEP4CE115作為主芯片實現了低碼率高清攝像機GlobalEagle的最大分辨率和幀率是1280×720×25fps平均碼率小于512Kbps隨著FPGA工藝的進步FPGA的資源越來越多運動宏塊的預測可以做到越來越準確編碼碼流會越來越少下一步我們準備用CYCLONE V來實現1920×1080×25fps的平均碼率小于1024Kbps的低碼率高清攝像機