自適應實時視頻采集處理系統(tǒng)的設計與實現(xiàn)
出處:sharpchang 發(fā)布于:2007-04-17 16:22:18
在信息技術和計算機互聯(lián)網(wǎng)飛速發(fā)展的大背景下,數(shù)字視頻的需求與日俱增。視頻監(jiān)控、視頻會議及各類便攜式、手持式PDA等都需要實時的視頻采集和處理,與此同時,也伴隨著海量數(shù)據(jù)的產生,這就對視頻采集系統(tǒng)的處理能力、并行速度提出了更高的要求。而DSP以其高、快速度、小功耗、高并行性、易于集成等優(yōu)點很好的滿足了這一要求,同時也越來越廣泛地應用于各類實時視頻和嵌入式系統(tǒng)。
本文給出了一個基于TI高端DSP芯片TMS320C6211的自適應實時視頻采集處理系統(tǒng)的設計及實現(xiàn)方法,利用該方法可自適應接收NTSC或PAL視頻,并自動進行50/60Hz場頻的檢測,以將其解碼為數(shù)字視頻,然后通過軟件設置所需的輸出格式與分辨率,來完成實時的視頻采集與處理。
本視頻采集處理系統(tǒng)的總體結構如所示。該系統(tǒng)主要由攝像頭、專用視頻A/D轉換器SAA7114H、視頻緩存單元、處理器TMS320C6211單元和輸出接口構成。其中攝像頭采集的NTSC/PAL模擬視頻信號通過SAA7114H視頻專用解碼芯片來實時接收且完成A/D和格式轉換,并送入同步FIFO芯片SN74V215進行緩沖存儲。FIFO半滿時,可向TMS320C6211申請中斷以請求讀入數(shù)據(jù)。TMS320C6211啟動EDMA以完成數(shù)字視頻的轉存,DSP外圍SDRAM和FLASH用來存儲對數(shù)字視頻所做的后期處理的(例如MPEG-4、H.264壓縮)數(shù)據(jù)與程序。CPLD ispLSI1032E用來產生系統(tǒng)中所需的邏輯控制信號、讀寫控制信號、同步信號和DSP中斷請求信號,輸出接口依據(jù)應用場合可以選擇10 MB/l00MB自適應以太網(wǎng)接口或PCI接口來完成處理后數(shù)字視頻信號的輸出。
◇電路設計
視頻采集處理系統(tǒng)以TMS320C6211 DSP和視頻解碼芯片SAA7114H為。TMS320C6211是TI定點DSP家族的高端產品,采用的VLIW硬件結構,在167 MHz在時鐘下,可達133MIPS,本文采用的TMS320C6211的外部輸入時鐘頻率為25 MHz,倍頻后處理器主頻為150 MHz。視頻解碼芯片SAA7114H是PHILIPS公司的主流視頻處理芯片,具有6個模擬信號輸入端,2個模擬信號處理通道和2個模擬反混疊濾波器,可采樣支持4:2:2、4:2:0、4:1:1和4:1:0格式,A/D采樣轉換可達到9bit。該芯片的控制接口是I2C接口。SAA7114H與同步FIFO及TMS320C6211的連接電路見所示(CPLD及其它部分略去)。
SAA7114H的工作主頻為24.576MHz,DSP可通過I2C總線與其接口,視頻圖像經SAA7114H第20管腳AI11輸人采樣后,可從I port和H port以16位寬度的數(shù)字圖像格式輸出,同時輸出同步信號IGPV、IGPH、IDQ、FID,ICLK以分別表示行、場同步、有效標志、輸出幀同步和像素同步信號,其時序見所示。這些同步信號接入CPLD后,結合DSP便可完成對視頻采集和同步的控制。
◇系統(tǒng)工作原理
DSP配置McBSP1接口的4個管腳CLKR1、CLKX1、FSR1、FSX1均為通用I\O信號,可分別用來模擬I2C總線以完成對SA7114H的配置,同時完成對FIFO的控制。數(shù)字視頻數(shù)據(jù)的傳輸是通過EDMA完成的。此視頻系統(tǒng)包括視頻同步采集和差錯控制兩個過程,其采集過程如下:
1)系統(tǒng)復位后,McBSP1接口FEN和RS均保持低電平,即FIFO處于復位態(tài),不允許寫入。
2)采集開始時,DSP將RS置1,F(xiàn)IFO脫離復位態(tài),然后置FEN為1,并通過CPLD從SAA7114H輸出的視頻幀同步信號FID來鎖存FEN,同時開始視頻采集。
3)FIFO采集1行視頻數(shù)據(jù)后,控制邏輯將產生信號EXT_INT4以通知DSP,DSP通過EDMA響應EXT_INT4中斷,同時將FIFO中的1行視頻數(shù)據(jù)讀入片內SRAM中。EDMA傳輸完1行數(shù)據(jù)后,再次提出中斷請求,DSP響應此中斷后,啟動2個EDMA傳輸,并分離視頻數(shù)據(jù)中的Y、Ch、Cr分量。此后,DSP讀出整行數(shù)據(jù)后清除EXT_INT4中斷。
如將數(shù)字圖像以Y-Cr-Cb表示,Y表示圖像亮度分量,Cr,Cb分別為色差分量。那么,本系統(tǒng)中的設計數(shù)字視頻輸出或存貯格式如下:
1)視頻解碼器SAA7114H輸出的視頻格式為:(Cb0 Y0)、(Cr0 Y1)、(Cb2 Y3)……
2)同步FIFO中存儲的視頻格式為:(CbO YO CrO Y1)、(Cb2 Y2 Cr2 Y3)……
3)片內SRAM中的存儲格式為:(Cb0 Y0 Cr0 Y1)、(Cb2 Y2 Cr2 Y3)……
4)片外SDRAM中的存儲格式為:Y0 Y1 Y2 Y3…、CbO Cb2……、Cr0 Cr2……
SAA7114視頻數(shù)據(jù)采用隔行方式輸出,終的SDRAM視頻數(shù)據(jù)則以逐行方式存儲,以便于直接對視頻序列進行MPEG、H.264壓縮或進行其它處理。系統(tǒng)差錯控制通過檢測FIFO滿標志位來實現(xiàn)。每當采集完1行數(shù)字視頻數(shù)據(jù)后,DSP便自動取走此行數(shù)據(jù),當視頻掃描到下1行時,硬件邏輯將繼續(xù)向FIFO寫入數(shù)據(jù),若DSP讀FIFO的速率小于硬件邏輯寫速率,則FIFO將出現(xiàn)寫溢出,從而導致數(shù)字視頻行數(shù)據(jù)丟失,此時CPLD將啟動EXT_INT5中斷,以表示FIFO溢出錯誤。而此時DSP將復位FIFO,只有FRS信號置1后才能撤銷EXT_INT5,以重新開始視頻圖像的采集。
◇軟件流程
自適應實時視頻采集處理系統(tǒng)軟件主要包括DSP系統(tǒng)配置、SAA7114H配置和EDMA視頻處理程序,本文主要介紹SAA7114H配置及視頻數(shù)據(jù)的讀取處理程序,其系統(tǒng)軟件流程見所示。
◇控制軟件設計
中,系統(tǒng)的初始化包括以下操作:
2)初試化中斷,包括中斷向量重定位、開全局中斷、使能NMI(非屏蔽中斷)、中斷事件映射、使能可屏蔽中斷等。
IRQ_resetAll();
EDMA_resetAll();
Init_interrupts();
3)初始化McBSP1,nit_mcbsp1();
4)初始化SAA7114H,并通過主函數(shù)調用子函數(shù)saa7114_init()。
SAA7114H的配置是通過DSP模擬I2C總線來配置芯片內部各寄存器的,主要配置代碼如下:
For(i=0;saa7114_defRegs[i].nSubAddr?。?xFF;i++)
Err|=IIC_writeReg(slaveAddr,saa7114_defRegs[i].nSubAddr,
Saa7114_defRegs[i].nValue);/*向SAA7114H所用寄存器寫入配置信息*/
SAA7114H的配置包括對輸入輸出視頻分辨率、飽和度、色度、輸出視頻格式等相關信息的設置,其重要寄存器的設置代碼如下:
{AHorzInputStart, OxOO},
{AHorzInputStartMSB, 0xOO},
/*0xOOOO=輸入水平起始于0象素*/
{AHorzInputLength, OxDO},
{AHorzInputLengthMSB,Ox02},
/*0x02D0=輸入水平長度720象素*/
{AVertInputStart,0x15},
/*0x0015=輸入垂直起始于23行(PAL制)*/
{AVertInputLength,0x22},
{AVertInputLengthMSB,0x01},
/*0x0122=輸入垂直長度288+2行PAL制)*/
{AHorzOutputLength,0x60},
{AHorzOutputLengthMSB,0x01},/*0x0160=輸出水平長度352象素*/
{AVertOutputLength,0x90},
/*0x0090=輸出垂直長度144行(單場)*/
{ChromaControl1,Ox09},/*飽和度控制01H:for PAL;O9H:for NTSC*/
{LuminanceBrightness,0x80},
/*亮度設置ITU level*/
完成系統(tǒng)初始化和SAA7114H配置后,即可打開視頻采集通道,以開始視頻采集,包括初始化視頻捕捉EMDA通道和使能視頻捕捉EDMA傳輸,其代碼如下:
Init_edma_ext_int4(); Init_edma_tcc8();
Init_edma_tcc9();
EDMA_enable Channel(hEdma_EXT_INT4);
EDMA_enable Chaining(hEdma_TCC8);
EDMA_enable Chaining(hEdma_TCC9);
使能視頻捕捉代碼如下:
MCBSP_setPin(hMcbsp1,RS);/*RS="1"撤銷FIFO復位信號*/
MCBSP_setPin(hMcbsp1,F(xiàn)EN);/*FEN="1"使能FIFO數(shù)據(jù)采集*/
當采集到1行數(shù)據(jù)后,便可產生EXT_INT4中斷,以將FIFO中的這行視頻數(shù)據(jù)讀入片內SRAM,同時從片內SRAM緩沖區(qū)的1行視頻數(shù)據(jù)中分別提取Y、Cb、Cr分量。存入片外SDRAM緩沖區(qū)中的操作可采用EDMA設計,其EDMA操作如下:
hEdma_EXT_INT4=EDMA_open(EDMA_CHA_EXTINT4,
EDMA_OPEN_REST);/*EDMA通道鏈接到EXT_INT4事件上*/
(hEdma_EXT_INT4,EDMA_OPT_RMK(EDMA_OPT_PRI_HIGH,/*EDMA優(yōu)先權設為"高"*/
EDMA_OPT_ESIZE_32BIT,/*32bits數(shù)據(jù)*/
EDMA_OPT_2DS_NO,/*源一維傳輸*/
EDMA_OPT_SUM_NONE,/*源地址保護不變*/
EDMA_OPT_2DD_YES,/*目的二維傳輸*/
EDMA_OPT_DUM_INC,/*目的地址根據(jù)索引值修改*/
EDMA_OPT_TCINT_YES,/*使能傳輸完成中斷*/
EDMA_OPT_TCC_OF(EDMA_CHA_EXTINT4),/*設置傳輸結束碼*/
EDMA_OPT_LINK_NO,/*禁止重新裝載*/
EDMA_OPT_FS_NO,)/*每次EXT_INT4,EDMA傳輸1行視頻數(shù)據(jù)*/
EDMA_SRC_RMK(VIDEO_PORT),/*源地址為視頻數(shù)據(jù)端口*/
EDMA_CNT_RMK(EDMA_CNT_FRMCNT_OF(0xO),/*塊中數(shù)組長度為1行視頻數(shù)據(jù)*/
EDMA_CNT_ELECNT_OF(xd.para/2)),/*數(shù)據(jù)元長度為1行視頻象素÷ 2*/
EEDMA_DST_RMK(line_buff),/*目的地址為片內視頻緩沖器line_buff*/
EDMA_IDX_RMK(EDMA_IDX_FRMIDX_OF(0x0),/*EDMA傳輸完成后目的地址不變*/EEDMA_RLD_RMK
(EDMA_RLD_ELERLD_OF(xd.para/2),
0));}/*結束*/
本文給出了基于TMS320C6211的自適應實時視頻采集處理系統(tǒng)的設計方法,該系統(tǒng)可自適應接受NTSC或PAL視頻,并以標準YUV格式存貯。同時,本系統(tǒng)還自帶FLASH及10M以太網(wǎng)接口,可與MPEG-4、H.264等視頻壓縮算法接口,可廣泛應用于實時視頻采集、視頻監(jiān)控或其他嵌入式視頻處理系統(tǒng)之中。
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 什么是IIoT,IIoT的知識介紹2025/6/3 17:22:31
 - 物聯(lián)網(wǎng)領域:新興薄膜技術的潛力與挑戰(zhàn)2025/5/12 15:18:17
 - 物聯(lián)網(wǎng)技術解析:組成、應用與發(fā)展趨勢2025/4/24 15:49:06
 - 物聯(lián)網(wǎng)中常見的幾種無線通信方式2025/4/21 17:24:26
 - IoT無線連接基礎知識2025/3/7 17:04:00
 









