MPEG4音視頻編碼卡的設(shè)計(jì)與實(shí)現(xiàn)
2004年7月B版
摘 要:本文介紹了一塊基于PCI總線的單路MPEG4音視頻編碼卡的設(shè)計(jì)與實(shí)現(xiàn)。該卡實(shí)現(xiàn)了音視頻流的實(shí)時(shí)MPEG4編碼壓縮,并通過通用PC平臺(tái)可以實(shí)現(xiàn)壓縮視頻流的錄制或者網(wǎng)絡(luò)傳輸功能,符合當(dāng)今流媒體技術(shù)的發(fā)展和應(yīng)用推廣。
關(guān)鍵詞:MPEG4;視頻編碼;網(wǎng)絡(luò);流媒體
引言
在網(wǎng)絡(luò)技術(shù)高度發(fā)展的今天,流媒體技術(shù)得到了廣泛的應(yīng)用,能夠達(dá)到低傳輸碼率、高圖像質(zhì)量的視頻流更是流媒體技術(shù)發(fā)展所追求的目標(biāo)。流媒體音視頻編碼技術(shù)的發(fā)展正代表著該領(lǐng)域的技術(shù)發(fā)展動(dòng)向。MPEG4視頻編解碼技術(shù)由于其圖像質(zhì)量高、圖像傳輸碼率低,從而得到網(wǎng)絡(luò)視頻傳輸領(lǐng)域的青睞,加上其根據(jù)圖像的實(shí)際情況實(shí)現(xiàn)可變編碼的特性,編碼的效率高,符合流媒體技術(shù)的發(fā)展方向。
本設(shè)計(jì)給出了一款利用硬件ASIC進(jìn)行MPEG4圖像編碼的PCI卡的實(shí)現(xiàn)方法,充分利用了PC平臺(tái)的優(yōu)勢進(jìn)行MPEG4音視頻流的網(wǎng)絡(luò)傳輸、硬盤存儲(chǔ)以及聲音和畫面預(yù)覽等功能,使MPEG4視頻壓縮技術(shù)達(dá)到實(shí)用化水平。
硬件設(shè)計(jì)
該MPEG4編碼卡的硬件設(shè)計(jì)見圖1所示。該圖表示了各芯片之間的連接關(guān)系,下面對框圖中的主要芯片在本設(shè)計(jì)中的功能進(jìn)行說明。
視頻信號采樣芯片SAA7114
SAA7114是PHILIPS公司的主流高端視頻采樣芯片,采樣支持4:2:2、4:2:0、4:1:1和4:1:0格式,A/D采樣轉(zhuǎn)換精度達(dá)到9bit。該芯片主要完成了模擬視頻信號的數(shù)字采樣,將模擬彩色視頻信號轉(zhuǎn)換成標(biāo)準(zhǔn)的符合ITU656標(biāo)準(zhǔn)輸出格式的數(shù)字視頻信號,前端輸入的模擬視頻信號可以是PAL制、NTSC制或者SECAM制。該芯片的控制接口是I2C接口,通過該接口直接讀寫芯片內(nèi)部的寄存器,完成對該芯片的實(shí)時(shí)控制。本設(shè)計(jì)中模擬視頻信號輸入端提供了兩種輸入接口,即符合視頻信號接口和S端子視頻信號輸入接口,以適應(yīng)不同視頻輸入場合的需要。數(shù)字視頻輸出端直接利用了該芯片的I和X這兩個(gè)ITU656輸出接口,一路提供給視頻編碼部分電路,另一路提供給多媒體PCI橋接芯片SAA7146,實(shí)現(xiàn)實(shí)時(shí)本機(jī)的圖像預(yù)覽功能。這樣利用一塊芯片同時(shí)完成圖像預(yù)覽和圖像壓縮的功能。
音頻信號采樣芯片PCM1800
PCM1800是TI公司所屬的BURR-BROWN公司的立體聲音頻采樣芯片,采樣精度達(dá)20bit;支持的采樣速率有32kHz、44.1kHz和48kHz;支持多種數(shù)據(jù)串行輸出模式,包括I2S串行總線模式。本設(shè)計(jì)中該芯片主要完成立體聲的音頻信號采樣,將模擬立體聲音頻信號轉(zhuǎn)換成標(biāo)準(zhǔn)的符合I2S總線標(biāo)準(zhǔn)格式的數(shù)字音頻信號輸出給MPEG4編碼芯片IME6400進(jìn)行音頻編碼以及音視頻流合成。同時(shí),音頻信號經(jīng)射隨器輸出,經(jīng)音頻電纜連接到計(jì)算機(jī)聲卡輸入端實(shí)現(xiàn)音頻預(yù)覽功能。
音視頻壓縮編碼芯片IME6400
IME6400是InTime公司的同時(shí)支持MPEG1/2/4三種視頻編碼標(biāo)準(zhǔn)的硬件音視頻編碼壓縮芯片,芯片內(nèi)部帶有圖像壓縮硬核,外掛8M字節(jié)SDRAM配合工作,與流行的MPEG4軟件編碼的不同之處在于輸出視頻流的畫面可達(dá)720X480@30fps或者720X576@25fps,是通用DSP芯片軟件算法編碼畫面的4倍。該芯片的內(nèi)部框圖如圖2所示。
本設(shè)計(jì)中,該芯片主要完成了視頻的MPEG4編碼和音頻的MPEG1層2編碼,實(shí)現(xiàn)不同標(biāo)準(zhǔn)的音視頻編碼標(biāo)準(zhǔn)與該芯片初始化配置微碼有關(guān),該微碼在啟動(dòng)該芯片工作前下載到芯片內(nèi)部,然后復(fù)位該芯片開始工作。由于該芯片的數(shù)字視頻輸入接口為ITU601格式,與SAA7114視頻輸出的ITU656格式接口不匹配,本設(shè)計(jì)利用了可編程CPLD進(jìn)行了接口格式轉(zhuǎn)換。同時(shí)本設(shè)計(jì)還利用了可編程CPLD完成了該芯片的host主控制接口與PCI橋接芯片SAA7146的DEBI接口之間的匹配問題。這兩步分的轉(zhuǎn)換框圖在可編程芯片CPLD部分進(jìn)行介紹。
可編程門陣列CPLD
CPLD是可編程邏輯陣列,內(nèi)部邏輯電路根據(jù)需要自行編程。本設(shè)計(jì)中該芯片主要完成了ITU656接口到ITU601接口的轉(zhuǎn)換以及IME6400的Host接口邏輯與SAA7146的DEBI接口邏輯的轉(zhuǎn)換。其邏輯轉(zhuǎn)換框圖如圖3和圖4所示。
ITU656接口為8bit數(shù)據(jù)位寬接口,為內(nèi)同步方式,即同步字嵌入于ITU656碼流當(dāng)中;ITU601接口為16bit數(shù)據(jù)位寬接口,為外同步方式,即同步信號用單獨(dú)的信號線傳輸。從ITU656接口轉(zhuǎn)換為ITU601接口的方式是通過將嵌入在ITU656碼流內(nèi)部的同步信號提取出來,同時(shí)將表示亮度和色度的數(shù)據(jù)流分離開,排成16bit數(shù)據(jù)位寬的ITU601格式同時(shí)輸出,從而完成格式的轉(zhuǎn)換。
IME6400的Host接口為地址和數(shù)據(jù)分開的非復(fù)用總線控制方式,SAA7146的DEBI接口為數(shù)據(jù)和地址復(fù)用的總線控制方式。這里通過DEBI的ALE信號來分離復(fù)用總線上的地址和數(shù)據(jù)總線,利用ALE的邊沿觸發(fā)信號將地址鎖存到地址寄存器當(dāng)中。
多媒體PCI橋接芯片SAA7146
SAA7146是PHILIPS公司的多媒體PCI橋接芯片,芯片上直接提供了豐富的音視頻接口,有5個(gè)I2S接口、2個(gè)D1接口、1個(gè)DEBI地址數(shù)據(jù)復(fù)用接口、I2C控制接口以及通用I/O接口等。同時(shí)該芯片內(nèi)部帶有多種圖像處理功能,在多媒體領(lǐng)域的硬件設(shè)計(jì)上非常方便。本設(shè)計(jì)中該芯片主要完成了預(yù)覽視頻流的DMA傳輸和裁剪、壓縮音視頻流的DMA傳輸以及利用其I2C接口和DEBI接口對其它芯片進(jìn)行控制。
上面主要介紹了各個(gè)關(guān)鍵芯片的功能,在系統(tǒng)實(shí)際工作時(shí)芯片的初始化具有的一定的順序,否則會(huì)出現(xiàn)系統(tǒng)工作不正常,這是實(shí)際調(diào)試的結(jié)果。
結(jié)語
該MPEG4編碼卡的特點(diǎn)是應(yīng)用范圍廣、圖像清晰度高、支持恒定和可變速率視頻編碼、兼容視頻標(biāo)準(zhǔn)多,不同的微碼能夠支持不同的視頻編碼標(biāo)準(zhǔn)。目前,本設(shè)計(jì)的MPEG4音視頻壓縮版本已經(jīng)在Windows2000操作系統(tǒng)下調(diào)試完成,實(shí)現(xiàn)了本地預(yù)覽、硬盤存儲(chǔ)和網(wǎng)絡(luò)傳輸?shù)裙δ??!?/P>
參考文獻(xiàn)
1. Recommendation ITU-R BT.656-4, Interfaces For Digital Component Video Signals in 525-line and 625-line Television Systems Operating at the 4:2:2 Level of Recommendation ITU-R BT.601 (Part A).
2. Studio encoding parameters of digital television for standard 4:3 and wide-screen 16:9 aspect ratios
3. 鐘玉琢,王琪,賀玉文著,‘基于對象的多媒體數(shù)據(jù)壓縮編碼國際標(biāo)準(zhǔn)--MPEG4及其校驗(yàn)?zāi)P汀?,科學(xué)出版社,2000年10月
評論