AVS-M實(shí)時(shí)編碼器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
AVS-M實(shí)時(shí)編碼器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
AVS-M實(shí)時(shí)編碼器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
AVS-M實(shí)時(shí)編碼器的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
AVS-M實(shí)時(shí)編碼器的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、AVS-M實(shí)時(shí)編碼器的設(shè)計(jì)與實(shí)現(xiàn)摘要:實(shí)現(xiàn)了一種全集成可變帶寬中頻寬帶低通濾波器,討論分析了跨導(dǎo)放大器-電容(OTAC)連續(xù)時(shí)間型濾波器的結(jié)構(gòu)、設(shè)計(jì)和具體實(shí)現(xiàn),使用外部可編程電路對(duì)所設(shè)計(jì)濾波器帶寬進(jìn)行控制,并利用ADS軟件進(jìn)行電路設(shè)計(jì)和仿真驗(yàn)證。仿真結(jié)果表明,該濾波器帶寬的可調(diào)范圍為126 MHz,阻帶抑制率大于35 dB,帶內(nèi)波紋小于05 dB,采用18 V電源,TSMC 018m CMOS工藝庫(kù)仿真,功耗小于21 mW,頻響曲線接近理想狀態(tài)。關(guān)鍵詞:Butte AVS-M是AVS標(biāo)準(zhǔn)的第7部分一款專門(mén)為移動(dòng)通訊環(huán)境而設(shè)計(jì)的視頻編解碼標(biāo)準(zhǔn)。本項(xiàng)目的目的是要驗(yàn)證AVS-M在應(yīng)用環(huán)境中的性能表現(xiàn)

2、,借此證明該標(biāo)準(zhǔn)的實(shí)用價(jià)值,為其在國(guó)內(nèi)的產(chǎn)業(yè)化過(guò)程作貢獻(xiàn)。移動(dòng)通訊終端具有帶寬低,誤碼率高和計(jì)算能力弱等特點(diǎn),目前主要以MPEG-4 SP為視頻編解碼的標(biāo)準(zhǔn),今后國(guó)際上可能的升級(jí)方案有H.264和VC-1等。本項(xiàng)目通過(guò)在相同測(cè)試環(huán)境下對(duì)比AVS-M與H.264標(biāo)準(zhǔn)的實(shí)際性能表現(xiàn)來(lái)證明AVS-M標(biāo)準(zhǔn)的實(shí)用價(jià)值。為了貼近真實(shí)的使用環(huán)境,本項(xiàng)目實(shí)現(xiàn)的編碼器需要實(shí)現(xiàn)實(shí)時(shí)音視頻采集、實(shí)時(shí)編碼、實(shí)時(shí)通過(guò)以太網(wǎng)以MPEG2 TS流的形式輸出碼流的功能。 VLC與x264是兩款遵循GPL標(biāo)準(zhǔn)發(fā)布的開(kāi)源軟件,其中VLC是一個(gè)流媒體平臺(tái),支持插件功能;x264是一款H.264編碼庫(kù),并針對(duì)x86平臺(tái)進(jìn)行了優(yōu)化。為

3、了盡快取得驗(yàn)證結(jié)果,本項(xiàng)目采用VLC和x264項(xiàng)目為設(shè)計(jì)的出發(fā)點(diǎn)。VLC以插件的形式實(shí)現(xiàn)了實(shí)時(shí)音視頻采集,H.264編碼,MPEG2 TS流復(fù)用和以太網(wǎng)輸出等功能,恰好契合本項(xiàng)目的總體需求;AVS-M標(biāo)準(zhǔn)起源于于H.264標(biāo)準(zhǔn),兩者結(jié)構(gòu)類似、功能相同,以H.264為基礎(chǔ)開(kāi)發(fā)AVS-M標(biāo)準(zhǔn)能加快開(kāi)發(fā)進(jìn)度,并且采用同一代碼樹(shù)也能更好的比較AVS-M與H.264標(biāo)準(zhǔn)的實(shí)際性能差異。為了更符合實(shí)際的使用環(huán)境,本項(xiàng)目采用AAC+作為音頻的編碼標(biāo)準(zhǔn)。VLC本身并不支持AAC+的編碼功能,而只支持其解碼功能,在此采用3GPP工程的26410-700作為AAC+標(biāo)準(zhǔn)的實(shí)現(xiàn),通過(guò)插件的方式來(lái)實(shí)現(xiàn)AAC+音頻編碼

4、功能。 VLC不但支持音視頻數(shù)據(jù)的采集、編碼、復(fù)用和以太網(wǎng)發(fā)送功能,而且還支持碼流的以太網(wǎng)接收、解復(fù)用、解碼和播放功能。為了驗(yàn)證編碼器的實(shí)際編碼效果,本項(xiàng)目也采用VLC作為碼流的接收端,通過(guò)實(shí)時(shí)觀看播放的效果來(lái)評(píng)判編碼器的性能表現(xiàn)。支持AVS-M解碼功能的VLC為另一項(xiàng)目的開(kāi)發(fā)成果,在本文不作詳細(xì)描述。編碼器 音頻和視頻編碼都是計(jì)算密集型的操作,如果要實(shí)時(shí)編碼就需要一個(gè)強(qiáng)勁的運(yùn)算平臺(tái),這里采用一臺(tái)Dell PowerEdge 2950 服務(wù)器作用編碼器的硬件基礎(chǔ)。PowerEdge 2950配置有一顆Intel Xeon 5160 (Woodcrest) 3.0GHz雙核CPU、1GB DDR

5、2內(nèi)存、SATA II 硬盤(pán)、內(nèi)置雙Broadcom BCM5708C NetXtreme II GigE千兆以太網(wǎng)控制器,并具有兩條PCI-X擴(kuò)展插槽以擴(kuò)充外設(shè)接口功能。操作系統(tǒng)選用Red Hat Enterprise Linux 4 (32bit)操作系統(tǒng)。 PowerEdge 2950本身不具有音視頻采集接口,需要通過(guò)相應(yīng)的采集卡擴(kuò)展。這里采用一塊Osprey 230采集卡作為實(shí)時(shí)音視頻采集接口,它采用PCI-X接口形式,支持PAL/NTSC/SECAM視頻標(biāo)準(zhǔn),能實(shí)時(shí)采集一路標(biāo)清視頻及雙聲道的音頻。以太網(wǎng)輸出采用PowerEdge 2950內(nèi)置的千兆以太網(wǎng)接口。編碼器的整體框圖如下圖所

6、示: 整個(gè)編碼了流程為:PAL/NTSC/SECAM的視頻信號(hào)通過(guò)Composite或S-Video接口,音頻通過(guò)雙聲道音頻接口進(jìn)入Osprey 230 采集卡;Osprey 230由Video4Linux2與OSS驅(qū)動(dòng)程序來(lái)驅(qū)動(dòng),VLC通過(guò)這兩個(gè)接口控制采集卡,實(shí)時(shí)讀取音視頻數(shù)據(jù),并分別將音視頻數(shù)據(jù)送到AVS-M編碼器與AAC+編碼器進(jìn)行編碼;編碼后生成的碼流送到MPEG2 TS 復(fù)用器進(jìn)行復(fù)用;復(fù)用后的TS流通過(guò)以太網(wǎng)接口以UDP單播或組播的方式發(fā)送出去。1 編碼庫(kù) 開(kāi)發(fā)支持AVS-M標(biāo)準(zhǔn)的編碼庫(kù)是本項(xiàng)目的重點(diǎn),根據(jù)AVS-M標(biāo)準(zhǔn)與H.264標(biāo)準(zhǔn)的異同對(duì)x264編碼庫(kù)進(jìn)行修改,修改的原則是

7、在不改變?cè)菻.264編碼功能的前提下增加AVS-M編碼功能。為了同時(shí)支持上述兩個(gè)標(biāo)準(zhǔn),在此采用運(yùn)行時(shí)開(kāi)關(guān)的方法使得編碼庫(kù)既支持H.264標(biāo)準(zhǔn)又支持AVS-M標(biāo)準(zhǔn),并且兩者可以動(dòng)態(tài)地切換。如下是在開(kāi)發(fā)過(guò)程中涉及的兩個(gè)標(biāo)準(zhǔn)的不同部分。a)NAL層 AVS-M和H.264類似,碼流的基本單元都是NAL,每個(gè)NAL可以包含序列頭、圖像頭和條帶等多種語(yǔ)法結(jié)構(gòu)。不同之處是H.264中為了避免與起始碼混淆,當(dāng)NAL內(nèi)部出現(xiàn)0x000001時(shí),要在0x01之前插入一個(gè)0x03。所以我們?cè)趯?shí)現(xiàn)AVS-M時(shí),要把這個(gè)插入0x03的模塊刪除。b)條帶上層語(yǔ)義 在AVS-M中,有和H.264相對(duì)應(yīng)的序列參數(shù)集和圖像

8、參數(shù)集。另外AVS-M增加了圖像頭,這使得每幀圖像數(shù)據(jù)的邊界清晰明了,方便了解碼器的實(shí)現(xiàn)。我們?cè)趯?shí)現(xiàn)AVS-M時(shí),也要相應(yīng)地加入圖像頭的支持。c)幀內(nèi)預(yù)測(cè) 在亮度幀內(nèi)預(yù)測(cè)中,AVS-M和H.264都有9種模式,但是他們的排列順序是不相同的,如圖1所示。在實(shí)現(xiàn)過(guò)程中,我們使用了一個(gè)映射表將兩種不同的排列順序聯(lián)系起來(lái),使得代碼的改動(dòng)達(dá)到了最小。當(dāng)然我們也要按照標(biāo)準(zhǔn)修改幀內(nèi)預(yù)測(cè)的細(xì)微差別。 另外,AVS-M中只有4x4一種幀內(nèi)預(yù)測(cè)模式,而H.264還有16x16和8x8兩種模式,所以我們要關(guān)掉兩種不用的模式。在色度方面,AVS-M不用基于“平面”的預(yù)測(cè),所以也要把它從X264中去掉。最后還要注意,在

9、幀間預(yù)測(cè)幀(P幀)中如果出現(xiàn)幀內(nèi)預(yù)測(cè)宏塊,它的相鄰幀間預(yù)測(cè)塊的幀內(nèi)預(yù)測(cè)模式的預(yù)測(cè)值在AVS-M中被定義為不可用(-1),而在H.264中被定義為DC預(yù)測(cè)模式(2)。d)運(yùn)動(dòng)向量預(yù)測(cè) 在AVS-M中,當(dāng)前塊的運(yùn)動(dòng)向量預(yù)測(cè)是使用它左下角、上方和右上角的運(yùn)動(dòng)向量,而H.264是使用左上角、上方和右上角的運(yùn)動(dòng)向量,如圖2所示。 另外,運(yùn)動(dòng)向量預(yù)測(cè)值的計(jì)算方法也略有不同。e)分?jǐn)?shù)像素插值 在AVS-M和H.264中,半像素精度的樣本值都是使用雙線性插值的方法,當(dāng)然它們使用了不同的濾波器。最需要注意的是,在水平和垂直方向都是四分之一精度的樣本預(yù)測(cè)時(shí),AVS-M使用的是“星形”法,而H.264使用的是“菱形

10、”法,如圖3所示。 在AVS-M中,e,g,p和r采用下面公式計(jì)算。e=( F+j+1 ) 1g=( G+j+1 ) 1p=( N+j+1 ) 1r=( O+j+1 ) 1 而在H.264中,e,g,p和r采用下面公式計(jì)算。e=( b+h+1 ) 1g=( b+m+1 ) 1p=( h+t+1 ) 1r=( m+t+1 ) 1f)變換和反變換 AVS-M和H.264使用了類似的整數(shù)DCT變換,需要注意的是色度方面。在AVS-M中,色度使用了和亮度相同的變換方法,而H.264中對(duì)色度的DC分量又進(jìn)行了一次變換。 AVS-M和H.264使用了類似的量化方法,都是使用了查表、乘法和移位,而避免了除法

11、。需要注意的是AVS-M中要對(duì)量度量化參數(shù)做一次映射來(lái)做為色度的量化參數(shù)。g)變長(zhǎng)編碼 AVS-M使用了基于上下文的多階哥侖布碼,而H.264有專門(mén)的CAVLC或CABAC編碼方式。需要注意的是在AVS-M中對(duì)幀內(nèi)預(yù)測(cè)增加了一種“直接”模式,即所有4x4塊都使用預(yù)測(cè)模式。所以我們?cè)谧冮L(zhǎng)編碼時(shí),要先判斷“直接”模式是否出現(xiàn),然后再進(jìn)行相應(yīng)的處理。h)環(huán)路濾波 AVS-M和H.264中都有環(huán)路濾波,這可以顯著減少塊效應(yīng),提高視覺(jué)質(zhì)量。它們的具體實(shí)現(xiàn)是不同的,總體來(lái)說(shuō)AVS-M要比H.264簡(jiǎn)化。i)調(diào)試 在調(diào)試過(guò)程中,我們使用了比較法。就是從編碼器端將每幀的預(yù)測(cè)值和殘差存到一個(gè)文件中,然后使用標(biāo)準(zhǔn)

12、的解碼器進(jìn)行解碼,并在解碼的同時(shí)比較預(yù)測(cè)值和殘差,然后確定出錯(cuò)的宏塊,進(jìn)行調(diào)試。這樣通過(guò)比較編碼器端的重建圖像和解碼器端的輸出圖像,從而保證的編碼器的正確性。優(yōu)化 視頻編碼需要消耗大量的計(jì)算資源,如果不針對(duì)特殊平臺(tái)進(jìn)行優(yōu)化就很難滿足實(shí)時(shí)編碼的要求。本項(xiàng)目采用的硬件平臺(tái)是Intel的Xeon系列,它具有MMX,SSE,SSE2等加速指令集。x264本身已經(jīng)針對(duì)MMX和SSE指令集進(jìn)行了優(yōu)化,鑒于AVS-M與H.264的相似性,針對(duì)H.264的優(yōu)化策略應(yīng)該多數(shù)多能應(yīng)用于AVS-M標(biāo)準(zhǔn)上。因?yàn)樵谙嗤妮斎胂聝?yōu)化和不優(yōu)化的編碼器所產(chǎn)生的碼流應(yīng)該二進(jìn)制相等,因此在開(kāi)發(fā)過(guò)程中采用了在相同輸入的前提下,比較

13、不優(yōu)化與優(yōu)化兩個(gè)版本輸出的碼流是否是二進(jìn)制相等,以確定的那些優(yōu)化模塊是AVS-M與H.264能共用的。 具體比較時(shí)采用二分法以加快比較的速度先屏蔽一半的優(yōu)化模塊,然后比較開(kāi)啟優(yōu)化模塊與關(guān)閉優(yōu)化模塊時(shí)產(chǎn)生的碼流是否相等,如果相等則當(dāng)前開(kāi)啟的優(yōu)化模塊為AVS-M與H.264能共用的,如果不等則縮小范圍繼續(xù)比較,直道能確定每一個(gè)優(yōu)化模塊。經(jīng)過(guò)上述比較之后,最終確定只有四個(gè)優(yōu)化模塊二者不能共用,其他的模塊兩者都能共用,其中兩個(gè)不能共用的模塊可以通過(guò)修改C代碼解決,另兩個(gè)需要修改MMX/SSE匯編代碼。測(cè)試 對(duì)音視頻的編解碼效果的對(duì)比分析主要基于兩個(gè)方面客觀指標(biāo)和主觀感受。當(dāng)前,已經(jīng)有不少針對(duì)AVS-M

14、與H.264的基于客觀指標(biāo)(PSNR)的對(duì)比測(cè)試了,本文沒(méi)有必要再次重復(fù)進(jìn)行這些測(cè)試,本文將就二者在實(shí)時(shí)編碼條件下的觀眾主觀感受進(jìn)行對(duì)比測(cè)試。測(cè)試主要以觀眾在觀看經(jīng)過(guò)實(shí)時(shí)編碼處理后的音視頻時(shí)是否能感覺(jué)到有明顯的失真現(xiàn)象為依據(jù)??疾旆炙膫€(gè)方面,即視頻的清晰程度和連貫程度及音頻的清晰程度和連貫程度,每個(gè)方面根據(jù)觀眾的實(shí)際感受進(jìn)行評(píng)分,評(píng)分的標(biāo)準(zhǔn)如下表所示: 對(duì)比測(cè)試的環(huán)境設(shè)置為視頻幀率25,固定碼率控制模式、關(guān)閉loopfilter功能、GOP為15、H.264采用baseline級(jí);音頻采樣率為48000、雙聲道、AAC HE編碼格式、碼率52kbps。測(cè)試的結(jié)果記錄如下表所示(其中四個(gè)字母依次代表“視頻清晰程度”、“視頻連貫程度”、“音頻清晰程度”和“音頻連貫程度”)本文小結(jié) 比較測(cè)試的結(jié)果數(shù)據(jù),可以看出AVS-M在低碼率(32512Kbps)、低分辨率(SQCIFCIF)的條件下有接近H.264的性能表現(xiàn),但總體

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論