主頁(http://www.130131.com):基于MPEG-4視頻標準數(shù)字視頻錄像機的設計與實現(xiàn)
1 數(shù)字視頻錄像機的硬件設計 在基于S3C2410與AT2042的數(shù)字視頻錄像機的設計和實現(xiàn)中,其終端設備以Samsung公司的32位處理器S3C2410為主控處理器,利用Pentamicro公司的AT2042芯片完成雙通道視頻編碼與解碼,其視頻錄像功能具有高分辨率和高質(zhì)量。本文將介紹此終端的系統(tǒng)整體設計,并詳細分析系統(tǒng)軟硬件設計,最后給出測試結果和結論。根據(jù)市場的需求,本系統(tǒng)預計實現(xiàn)下列幾項指標: (1)實現(xiàn)對視頻數(shù)據(jù)的MPEG-4標準的編解碼; (2)編解碼像素為720X576像素點,實現(xiàn)25 f/s; (3)實現(xiàn)JPEG編碼和解碼; (4)實現(xiàn)USB/SD卡儲存。 1.1 基于S3C2410與AT2042的數(shù)字視頻錄像機整體設計 該系統(tǒng)主要依靠AT2042的編解碼功能,系統(tǒng)的硬件框圖如圖1所示,它主要由視頻編碼子系統(tǒng)、主控系統(tǒng)、數(shù)據(jù)處理子系統(tǒng)和視頻解碼子系統(tǒng)4大部分構成。 
韓國Pentamicro公司生產(chǎn)的AT2042芯片的功能模塊如圖2所示,AT2042是一個內(nèi)置微控制器ARM946E的2通道音視頻編解碼 (A/VCODEC)芯片,主要完成對視頻和語音數(shù)據(jù)的編碼和解碼,支持多種音視頻編解碼標準,可直接與IBM,Motorola,ARM,XscaIe 和Axis等多種CPU接口,無需其他附加電路。 
1.2 視頻編解碼電路設計 視頻編解碼電路主要包括視頻編解碼電路和視頻壓縮/解壓芯片AT2042。其中,AT2042主要負責對數(shù)字視頻數(shù)據(jù)進行硬件壓縮和解壓縮,而視頻編解碼電路則是基帶模擬視頻信號和AT2042之間的一個接口電路,它包括一個視頻編碼芯片和一個視頻解碼芯片,主要負責視頻數(shù)據(jù)的模/數(shù)和數(shù)/模轉換,以及數(shù)字視頻信號格式的轉換。在壓縮編碼過程中,輸入的NTSC/PAL/SECAM視頻信號先經(jīng)過視頻解碼芯片進行前端處理,產(chǎn)生符合AT2042視頻接口標準的8 b ITU-R BT.656數(shù)字視頻信號。在外部主CPU的控制下,該數(shù)字視頻數(shù)據(jù)由壓縮/解壓芯片AT2042進行硬件壓縮編碼,產(chǎn)生的編碼數(shù)據(jù)流通過芯片內(nèi)部集成的 Mux FIFO接口輸出。網(wǎng)絡視頻服務器的解壓縮編碼是壓縮編碼的逆過程,需要解壓的數(shù)據(jù)流通過AT2042內(nèi)部集成的Demux FIFO接口輸入。視頻采集接口框圖如圖3所示:

攝像頭采集輸出信號為NTSC,PAL或SECAM制式的電視信號,必須經(jīng)過視頻解碼處理才能轉化成適合AT2042進行編碼的數(shù)字信號。 TVP5150是TI公司生產(chǎn)的一款電視信號解碼專用芯片,它對輸入的模擬信號進行A/D轉化,通過設置相應的寄存器可以使輸出信號滿足RGB格式或 YUV422格式。由于在本系統(tǒng)中AT2042視頻接口滿足ITU.RBT656標準,故TVP5150輸出配置為8位YUV422格式。 視頻輸出如圖4所示。 
現(xiàn)在的數(shù)字電視視頻接口還沒有實現(xiàn)統(tǒng)一的工業(yè)標準,故在視頻輸出端設計時,仍使用現(xiàn)在比較流行的A/V接口或S-video接口。由于上述2種接口傳輸?shù)臑槟M電視信號,故在AT2042的視頻輸出端口需要增加一級處理,即將數(shù)字信號轉化為模擬電視信號。在后端設計中選用SAA7121,它是一款專用的電視信號編碼芯片,可以將輸入的數(shù)字信號經(jīng)過內(nèi)部的D/A轉化為適于傳輸?shù)哪M電視信號,通過配置相應的寄存器可以輸出滿足S-video接口或復用接口的信號。 1.3 AT2042的主機接口 主控CPU(S3C2410)和AT2042是數(shù)字視頻錄像機的核心處理芯片,S3C2410控制整個數(shù)字視頻錄像機系統(tǒng)的運行,AT2042除完成對視頻信號的硬件壓縮編碼外,還可對壓縮后的視頻數(shù)據(jù)進行硬件解壓縮。AT2042壓縮編碼后的視頻數(shù)據(jù)通過芯片內(nèi)部集成的Mux FIFO接口輸出后,外部主CPU負責對其進行USB存儲器處理,處理后的視頻數(shù)據(jù)可以存儲在物理介質(zhì)上,以便在需要時通過鍵盤操作進行回放。 圖5為S3C2410與AT2042接口框圖。
AT2042的CPU_SEL[2:0]是主控CPU選擇引腳,經(jīng)配置這幾個引腳的高低電平,使AT2042可選擇主控CPU,CPU_SEL[2:0]為010選擇ARM結構芯片; nCS,nWAIT等為總線控制信號線; HCLK是AT2042主機接口的工作時鐘,一般要求工作在50 MHz,當S3C2410在復位后設置FCLK為200MHz,HCLK為100 MHz,PCLK為50 MHz。故將S3C2410的PCLK引腳與AT2042的HCLK引腳相連。 通過這種機制,S3C2410可以實現(xiàn)簡單的訪問AT2042。 AT2042與CPU的通信機制如圖6所示,CPU對AT2042的控制和訪問主要通過AT2042的2個寄存器(status register和command register)和4個FIFO(Tx FIFO,Rx FIFO,Multiplex FIFO和De-Multiplex FIFO)完成。 
2 數(shù)字視頻錄像機的軟件實現(xiàn) 數(shù)字視頻錄像機系統(tǒng)的軟件設計包括:Bootload代碼的編寫、Linux操作系統(tǒng)的內(nèi)核生成和Linux下驅動程序和應用程序的開發(fā)、文件系統(tǒng)的生成和配置以及用戶應用程序4大塊。 數(shù)字視頻錄像機軟件開發(fā)的整體架構如圖7所示。
2.1 系統(tǒng)啟動Bootloader程序設計編寫 Bootloader是系統(tǒng)啟動時執(zhí)行的第一個程序,其主要完成對硬件系統(tǒng)的初始化。具體包括:S3C2410的初始化、TVP5150功能配置、 SAA7121功能配置、加載AT2042固件、以太網(wǎng)及串口初始化。由于在開機時要顯示開機畫面,故除在Bootloader中初始化相應硬件資源外,還應將開機畫面的圖片數(shù)據(jù),傳送到AT2042SDRAM中。Bootloader整體流程圖如圖8所示。
(中國集群通信網(wǎng) | 責任編輯:陳曉亮)
|