基于DSP的H.264編碼器的系統(tǒng)設(shè)計(jì)與優(yōu)化
1 引言
本文引用地址:http://cafeforensic.com/article/257597.htmH.264是ITU-T的視頻編碼專家組(VCEG)和ISO/IEC的活動(dòng)圖像專家組(MPEG)聯(lián)合制定的視頻壓縮標(biāo)準(zhǔn)。它在H.263/H.263++的基礎(chǔ)上發(fā)展,在繼承所有編碼壓縮技術(shù)優(yōu)點(diǎn)的同時(shí)引入許多全新的編碼技術(shù)和網(wǎng)絡(luò)適配層NAL的概念,從而擁有更高的編碼效率和更好的網(wǎng)絡(luò)適配性。為從低碼率的實(shí)時(shí)通信系統(tǒng)或無(wú)線環(huán)境到高碼率的HDTV和數(shù)字存儲(chǔ)系統(tǒng)提供一個(gè)優(yōu)良的視頻壓縮編碼通用工具。但H.264標(biāo)準(zhǔn)優(yōu)異的性能表現(xiàn)是以編碼運(yùn)算復(fù)雜度和運(yùn)算量大為代價(jià),在通用的PC機(jī)平臺(tái)實(shí)現(xiàn)會(huì)占用較大的CPU和內(nèi)存資源。隨著數(shù)字信號(hào)處理器(DSP)技術(shù)的高速發(fā)展,DSP的處理速度和能力飛速提高。DSP已滿足H.264標(biāo)準(zhǔn)的編解碼運(yùn)算速度要求。因此,在穩(wěn)定的媒體處理器平臺(tái)上實(shí)現(xiàn)H.264標(biāo)準(zhǔn)有著較好的工程意義和應(yīng)用前景。
詳細(xì)介紹了以TMS320DM6446DSP為核心的視頻編碼系統(tǒng)的硬件設(shè)計(jì),并重點(diǎn)研究了H.264編碼器在以TMS320DM 6446為目標(biāo)的CCS平臺(tái)上的移植和優(yōu)化工作。
2 視頻編碼系統(tǒng)硬件設(shè)計(jì)
2.1 DSP的選型
DSP選用TI公司的Davinci媒體處理專用器件TMS320DM6446(簡(jiǎn)稱DM6446)。它采用ARM+DSP雙核架構(gòu),包含一個(gè)TMS320C64x+核心和一個(gè)ARM926EJ-S核心。C64x+核心采用改進(jìn)的超長(zhǎng)指令字VLIW體系結(jié)構(gòu),內(nèi)部擁有8個(gè)并行的運(yùn)算單元,時(shí)鐘頻率600 MHz,峰值處理能力高達(dá)4 752 MI/s。DM6446片內(nèi)為兩級(jí)高速緩存(Cache)結(jié)構(gòu),設(shè)計(jì)有獨(dú)立的32位DDR2 SDRAM接口和16位異步EMIF接口。此外,DM6446還集成有多種適用于視音頻多媒體處理的片內(nèi)資源和接口,如用于和外部解碼器連接的視頻處理前端模塊VPFE、和視頻顯示設(shè)備連接的視頻處理后端模塊VPBE、多通道音頻串口等。
DM6446不僅在處理性能上完全滿足H.264標(biāo)準(zhǔn)要求。而且在內(nèi)部結(jié)構(gòu)、片內(nèi)資源和外部接口上對(duì)視頻處理應(yīng)用專門優(yōu)化,大大降低視頻應(yīng)用的開發(fā)難度和成本。
2.2 系統(tǒng)結(jié)構(gòu)框圖
視頻編碼系統(tǒng)硬件結(jié)構(gòu)原理框圖如圖1所示。主機(jī)通過(guò)PCIE總線對(duì)DSP進(jìn)行初始化加載程序。攝像頭輸出的模擬視頻信號(hào)經(jīng)視頻解碼模塊轉(zhuǎn)換為數(shù)字信號(hào),經(jīng)FPGA轉(zhuǎn)換電平。通過(guò)DM6446的VPFE模塊接口送人DSP,進(jìn)行壓縮編碼處理。編碼后的視頻數(shù)據(jù)從DM6446的EMIF接口輸出通過(guò)PCIE總線送回主機(jī)進(jìn)行下一步處理。DM6446的VPBE模塊可將采集的數(shù)字視頻信號(hào)再轉(zhuǎn)換為模擬信號(hào)輸出至電視進(jìn)行監(jiān)控。DDR2 SDRAM存儲(chǔ)編碼過(guò)程中的原始圖像、參考幀、編碼參數(shù)等數(shù)據(jù)。DM6446通過(guò)I2C總線配置A/D轉(zhuǎn)換器。FPGA與PCIE橋PEX8311之間加入雙端口RAM,以提高數(shù)據(jù)的傳輸效率。
2.3 視頻解碼模塊設(shè)計(jì)
模擬視頻信號(hào)的傳輸格式種類很多,而且國(guó)際上對(duì)數(shù)字視頻信號(hào)的傳輸格式有明確的標(biāo)準(zhǔn)規(guī)定,因此一般通用的A/D轉(zhuǎn)換器并不適合視頻領(lǐng)域應(yīng)用。這里選用專用的視頻解碼器ADV7189B,它支持12路模擬視頻通道,包含3個(gè)具有防噪性能的12位54 MHz的A/D轉(zhuǎn)換器。支持CVBS、S-端子、YprPb 3種格式的模擬視頻信號(hào)輸入,能夠自動(dòng)偵測(cè)NTSL/PAL/SECAM制式,輸出ITU-R BT.656標(biāo)準(zhǔn)的數(shù)字視頻信號(hào)。選用12路模擬通道中的3路,復(fù)用的支持3種模擬視頻格式。ADV7189B輸出10位數(shù)字視頻信號(hào)、獨(dú)立的垂直同步信號(hào)VD、水平同步信號(hào)HD和像素同步時(shí)鐘LLC1,電壓均為3.3 V電平,經(jīng)過(guò)FPGA轉(zhuǎn)換為DM6446要求的1.8 V,然后從DM6446的VPFE模塊專用數(shù)字視頻信號(hào)接口送入DSP。壓縮編碼前,VPFE模塊將ITU-R BT.656標(biāo)準(zhǔn)的視頻數(shù)據(jù)轉(zhuǎn)換為H.264兼容的YUV4:2:O格式,存入DDR2 SDRAM中。VPFE模塊還支持對(duì)視頻數(shù)據(jù)進(jìn)行白平衡、縮放等預(yù)處理操作。ADG3301實(shí)現(xiàn)I2C總線的電平轉(zhuǎn)換。
2.4 視頻編碼模塊設(shè)計(jì)
DM6446片內(nèi)的VPBE模塊包含4個(gè)54 MHz的D/A轉(zhuǎn)換器,可在DM6446內(nèi)部將數(shù)字視頻信號(hào)直接轉(zhuǎn)化為模擬視頻信號(hào),4路輸出,并且支持CVBS、S-端子、YprPb 3種模擬視頻格式。因此,視頻編碼模塊設(shè)計(jì)較為簡(jiǎn)單,只需對(duì)4路模擬輸出信號(hào)放大,就可直接與監(jiān)視設(shè)備連接。選用TI公司的電壓反饋CMOS運(yùn)算放大器OPA357進(jìn)行運(yùn)算放大。
評(píng)論