數字視頻壓縮的大容量記錄系統設計
發布時間:2007/8/30 0:00:00 訪問次數:512
作者:空軍工程大學 陳國慶 張登福 寇明延
引言
隨著計算機技術、多媒體和數據通信技術的迅速發展,數字視頻的應用越來越廣,如視頻監控、視頻會議和移動電視等。數字視頻數據量巨大,不利于傳輸和存儲,使其應用受到很大限制。為解決視頻數據的存儲和傳輸問題,唯一的途徑就是對視頻數據進行壓縮。常見的視頻壓縮方法有MPEG系列和H.26x系列。考慮到壓縮技術的成熟度、成本和主要用途,采用MPEG-1作為壓縮標準,設計出基于ARM處理器的嵌入式數字視頻記錄系統。該系統適用于視頻監控、視頻會議等多種應用場合,同時還可安裝在飛行器上,用于實時記錄飛行器的飛行及訓練過程中的各種信息。
目前,市場上有大量的基于PCI總線的MPEG-1視頻壓縮卡和PC機構架的網絡視頻服務器。與之相比,我們設計的視頻記錄系統具有成本低、體積小和功耗低等優勢。
1 系統工作原理
視頻壓縮記錄系統的設計著眼于控制器的嵌入化和整體的便攜性。本系統主要由3部分組成,即壓縮部分、控制部分和存儲部分。視頻記錄系統的結構組成如圖1所示。其中壓縮部分由MPEG1音視頻壓縮電路組成,主要功能是實現對輸入的音視頻信號解碼、數字化和壓縮編碼,產生MPEG1程序流和傳輸流;控制部分由ARM最小系統組成,用于實現對整個系統的控制、數據流管理和IDE接口控制;存儲部分由大容量硬盤或CF存儲卡組成,實現對壓縮數據的實時長時間記錄。
系統啟動時,ARM處理器對整個壓縮系統進行初始化,首先通過HOST接口對SZ1510內部寄存器進行配置,并使用SZ1510的串行接口模擬I2C總線對視頻解碼器SAA7113H進行初始化。當設置好MPEG-1的壓縮格式及數據速率后,系統開始正常工作,音視頻信號經AK4550音頻處理芯片和SAA7113視頻處理芯片進行A/D轉換,輸出8位的PCM格式數字音頻信號和4∶2∶0的YCbCr數字視頻信號,傳入SZ1510音視頻壓縮采集芯片進行處理,將數字音視頻數據轉化為符合MPEG-1格式的混合影視文件,最后MPEG1數據流在ARM處理器的控制下通過IDE接口寫入硬盤或CF卡。在工作時,ARM還將不斷監視相關信號,并在圖像中加入相應的標志,直到接收到關機信號,系統自動結束壓縮工作。
2 硬件電路設計
由于MPEG-1壓縮算法需要很大的運算量,用軟件實時完成比較困難,所以在本系統中主要依靠專用芯片實現對視頻信號的高效壓縮。目前,常用的MPEG-1壓縮芯片有VW2010、W99200F、WIS 7007SB等。本設計采用的是Zapex公司的SZ1510 MPEG-1 A/V編碼芯片,自身完成音視頻的同步編碼,16位HOST接口易于與多種微處理器連接。另外,該芯片還可以直接控制視頻解碼芯片SAA7113H、音頻解碼芯片AK4550VT和SDRAM(KM416S1020CT-G10)。CPU采用Philips公司的ARM7TDMIS內核微控制器LPC2214,通過其I/O端口控制IDE接口硬盤或CF卡的數據讀取和存儲。
圖1 數字視頻記錄系統結構框圖
2.1 MPEG-1壓縮電路設計
SZ1510是一個 MPEG-1和運動JPEG圖像編碼器。其內置的視頻壓縮核經過優化,適合高效、實時的MPEG1數字圖像壓縮,具有功能多、功耗低、溫度范圍寬等特點;同時整合了TI公司的TMS320C54X高性能DSP內核,可依據MPEG-1標準對音視頻同步編碼。
(1) 時鐘同步電路設置
SZ1510是一個復雜的視頻壓縮小系統,要完成音視頻的同步,MPEG-1視頻的壓縮以及系統內部數據流的復合、調度;時鐘關系較為復雜,是系統設計的一個難點。時鐘配置可分為主時鐘、音視頻時鐘、視頻壓縮核時鐘、DSP核時鐘以及擴展的I2S接口時鐘幾部分。其功能和關系為:
◆ 主時鐘。SZ1510的主時鐘為穩定的27 MHz(CLK)。該時鐘在芯片內部被PLL1倍頻為81 MHz,驅動SZ1510的視頻壓縮核及SDRAM。PLL2連到DSP內核,通過軟件配置使其工作在94.5 MHz,用于音頻壓縮和系統數據流復合。
◆ 音視頻時鐘。視頻時鐘來自視頻解碼器,典型值為27 MHz。音頻時鐘由視頻時鐘分頻產生。
◆ I2S接口時鐘。本系統中在音視頻同步設計中使用I2S接口的從模式,由SZ1510產生串行時鐘和幀同步信號。
(2) 主機(HOST)端口設置
SZ1510作為從設備,受主機控制,其HOST接口是SZ1510的控制和數據交換接口。SZ1510可以選擇復用或不復用的Intel和Motorola總線類型;不復用總線,又可以分為8位和16位。具體的主機端口由HCONFIG[1∶0]引腳和SysConfig[3]寄存器配置。在本系統設計中,通過跳線把HCONFIG0拉低,HCONFIG1拉高,使其工作在Intel 8051類型的非復用的16位數據總線模式下。
2.2 LPC2214微處理器電路設計
LPC2214是一款基于32位ARM7TDMI-S,支持實時仿真和跟蹤的CPU;帶有16 KB片內SRAM、256 KB嵌入的高速Flash存儲器、128位寬度的存儲器接口和獨特的加速結構,使32位代碼能夠在最大時鐘速率60 MHz下運行。
作者:空軍工程大學 陳國慶 張登福 寇明延
引言
隨著計算機技術、多媒體和數據通信技術的迅速發展,數字視頻的應用越來越廣,如視頻監控、視頻會議和移動電視等。數字視頻數據量巨大,不利于傳輸和存儲,使其應用受到很大限制。為解決視頻數據的存儲和傳輸問題,唯一的途徑就是對視頻數據進行壓縮。常見的視頻壓縮方法有MPEG系列和H.26x系列。考慮到壓縮技術的成熟度、成本和主要用途,采用MPEG-1作為壓縮標準,設計出基于ARM處理器的嵌入式數字視頻記錄系統。該系統適用于視頻監控、視頻會議等多種應用場合,同時還可安裝在飛行器上,用于實時記錄飛行器的飛行及訓練過程中的各種信息。
目前,市場上有大量的基于PCI總線的MPEG-1視頻壓縮卡和PC機構架的網絡視頻服務器。與之相比,我們設計的視頻記錄系統具有成本低、體積小和功耗低等優勢。
1 系統工作原理
視頻壓縮記錄系統的設計著眼于控制器的嵌入化和整體的便攜性。本系統主要由3部分組成,即壓縮部分、控制部分和存儲部分。視頻記錄系統的結構組成如圖1所示。其中壓縮部分由MPEG1音視頻壓縮電路組成,主要功能是實現對輸入的音視頻信號解碼、數字化和壓縮編碼,產生MPEG1程序流和傳輸流;控制部分由ARM最小系統組成,用于實現對整個系統的控制、數據流管理和IDE接口控制;存儲部分由大容量硬盤或CF存儲卡組成,實現對壓縮數據的實時長時間記錄。
系統啟動時,ARM處理器對整個壓縮系統進行初始化,首先通過HOST接口對SZ1510內部寄存器進行配置,并使用SZ1510的串行接口模擬I2C總線對視頻解碼器SAA7113H進行初始化。當設置好MPEG-1的壓縮格式及數據速率后,系統開始正常工作,音視頻信號經AK4550音頻處理芯片和SAA7113視頻處理芯片進行A/D轉換,輸出8位的PCM格式數字音頻信號和4∶2∶0的YCbCr數字視頻信號,傳入SZ1510音視頻壓縮采集芯片進行處理,將數字音視頻數據轉化為符合MPEG-1格式的混合影視文件,最后MPEG1數據流在ARM處理器的控制下通過IDE接口寫入硬盤或CF卡。在工作時,ARM還將不斷監視相關信號,并在圖像中加入相應的標志,直到接收到關機信號,系統自動結束壓縮工作。
2 硬件電路設計
由于MPEG-1壓縮算法需要很大的運算量,用軟件實時完成比較困難,所以在本系統中主要依靠專用芯片實現對視頻信號的高效壓縮。目前,常用的MPEG-1壓縮芯片有VW2010、W99200F、WIS 7007SB等。本設計采用的是Zapex公司的SZ1510 MPEG-1 A/V編碼芯片,自身完成音視頻的同步編碼,16位HOST接口易于與多種微處理器連接。另外,該芯片還可以直接控制視頻解碼芯片SAA7113H、音頻解碼芯片AK4550VT和SDRAM(KM416S1020CT-G10)。CPU采用Philips公司的ARM7TDMIS內核微控制器LPC2214,通過其I/O端口控制IDE接口硬盤或CF卡的數據讀取和存儲。
圖1 數字視頻記錄系統結構框圖
2.1 MPEG-1壓縮電路設計
SZ1510是一個 MPEG-1和運動JPEG圖像編碼器。其內置的視頻壓縮核經過優化,適合高效、實時的MPEG1數字圖像壓縮,具有功能多、功耗低、溫度范圍寬等特點;同時整合了TI公司的TMS320C54X高性能DSP內核,可依據MPEG-1標準對音視頻同步編碼。
(1) 時鐘同步電路設置
SZ1510是一個復雜的視頻壓縮小系統,要完成音視頻的同步,MPEG-1視頻的壓縮以及系統內部數據流的復合、調度;時鐘關系較為復雜,是系統設計的一個難點。時鐘配置可分為主時鐘、音視頻時鐘、視頻壓縮核時鐘、DSP核時鐘以及擴展的I2S接口時鐘幾部分。其功能和關系為:
◆ 主時鐘。SZ1510的主時鐘為穩定的27 MHz(CLK)。該時鐘在芯片內部被PLL1倍頻為81 MHz,驅動SZ1510的視頻壓縮核及SDRAM。PLL2連到DSP內核,通過軟件配置使其工作在94.5 MHz,用于音頻壓縮和系統數據流復合。
◆ 音視頻時鐘。視頻時鐘來自視頻解碼器,典型值為27 MHz。音頻時鐘由視頻時鐘分頻產生。
◆ I2S接口時鐘。本系統中在音視頻同步設計中使用I2S接口的從模式,由SZ1510產生串行時鐘和幀同步信號。
(2) 主機(HOST)端口設置
SZ1510作為從設備,受主機控制,其HOST接口是SZ1510的控制和數據交換接口。SZ1510可以選擇復用或不復用的Intel和Motorola總線類型;不復用總線,又可以分為8位和16位。具體的主機端口由HCONFIG[1∶0]引腳和SysConfig[3]寄存器配置。在本系統設計中,通過跳線把HCONFIG0拉低,HCONFIG1拉高,使其工作在Intel 8051類型的非復用的16位數據總線模式下。
2.2 LPC2214微處理器電路設計
LPC2214是一款基于32位ARM7TDMI-S,支持實時仿真和跟蹤的CPU;帶有16 KB片內SRAM、256 KB嵌入的高速Flash存儲器、128位寬度的存儲器接口和獨特的加速結構,使32位代碼能夠在最大時鐘速率60 MHz下運行。