視頻監(jiān)視領域的視頻壓縮與數(shù)據(jù)流
就因特網協(xié)議視頻監(jiān)視系統(tǒng) (VSIP) 而言,處理網絡流量的硬件是攝像頭系統(tǒng)的重要組成部分,因為視頻信號要通過攝像頭進行數(shù)字化、壓縮處理,然后才傳輸?shù)揭曨l服務器,從而解決網絡的帶寬限制問題。DSP/GPP 等異構處理器架構有助于最大化系統(tǒng)性能。視頻采集、存儲和視頻流都是中斷密集型 (Interrupt intensive) 任務,我們可將其分配給 GPP 來處理,而高密度 MIPS 視頻壓縮工作則交給 DSP 去完成。數(shù)據(jù)傳輸給視頻服務器后,服務器將壓縮視頻流作為文件存儲在硬盤驅動器上,從而避免了像傳統(tǒng)模擬存儲設備那樣出現(xiàn)視頻質量下降問題。我們針對數(shù)字視頻信號的壓縮技術開發(fā)了多種標準,可分為以下兩大類:
* 運動估算 (ME) 法:每 N 幀為一個圖像組 (GOP)。我們對圖像組中的第一幀進行獨立編碼,而對其它 (N-1) 幀來說,我們只將當前幀與其前面已編碼的幀(即前向參考幀)的時差加以編碼。常用的標準為 MPEG-2、MPEG-4、H.263 及 H.264。
* 靜態(tài)影像壓縮法:每個視頻幀作為靜態(tài)影像獨立編碼。最常用的標準為 JPEG。MJPEG 標準采用 JPEG 算法對每個幀進行編碼。
運動估算法與靜態(tài)影像壓縮法的比較
圖 1 顯示了 H.264 編碼器的結構圖。與其它 ME 視頻編碼標準類似,H.264 編碼器將輸入影像分為多個16 x 16 像素的宏塊 (MB) ,然后逐塊處理。H.264 編碼器包括正向路徑和重構路徑。正向路徑將幀編碼為比特位;重構路徑從編碼位中產生一個參考幀。下圖中的 IDCT、IQ、 ME 和 MC分別代表(反向)離散余弦變換、(反向)量化、運動估算及運動補償。
圖 1:H.264 編碼器結構圖。 |
在正向路徑中(從 DCT至 Q),每個宏塊 (MB) 均可以幀內模式或幀間模式編碼。在幀間模式下,運動估算 (ME) 模塊將參考 MB 位于前面已編碼的幀處;而在幀內模式下,參考MB 在當前幀中由采樣形成。
重構路徑 (從 IQ 至 IDCT)的目的是確保編碼器和解碼器采用相同的參考幀生成影像。否則就會累積編碼器與解碼器間的誤差。
圖 2:JPEG 編碼器結構圖。 |
圖 2 給出了 JPEG 編碼器結構圖。該編碼器將輸入影像分為多個 8x8 像素的模塊,然后逐個處理。每個模塊首先通過 DCT 模塊,隨后量化器根據(jù)量化矩陣對 DCT 系數(shù)進行取整。在此過程中,編碼質量與壓縮比均可根據(jù)量化步驟調節(jié)。最后熵編碼器對量化器輸出進行編碼,并生成 JPEG 影像。
由于連續(xù)視頻幀通常包括大量相關信息,因此 ME 方法可實現(xiàn)更高的壓縮比。舉例來說,就每秒 30 幀的標準 NTSC 分辨率而言,H.264 編碼器能以 2 mbps 的速度進行視頻編碼,從而實現(xiàn)了平均壓縮比高達 60:1 的影像質量。在影像質量相同的情況下,MJPEG 的壓縮比則為10:1 至 15:1。
MJPEG 相對于 ME 方法有如下幾點優(yōu)勢。首先,JPEG 需要的計算量和功耗相對大幅降低。此外,大多數(shù)PC 都配置了 JPEG 影像專用的解碼及顯示軟件。如果記錄特定事件只需一幅或幾幅影像,比如人通過門口,那么 MJPEG 的效率會更高。如果網絡帶寬沒有保證,那么我們更傾向于采用 MJPEG 標準,因為某幀的丟失或延遲不會影響其它幀。而對于 ME 方法來說,某幀的延遲或丟失會導致整個 GOP 的延遲或丟失,因為只有獲得前向參考幀 (previous reference frame) 才能對下一幀進行解碼。
評論