編碼器評(píng)測(cè)_經(jīng)典_第1頁(yè)
編碼器評(píng)測(cè)_經(jīng)典_第2頁(yè)
編碼器評(píng)測(cè)_經(jīng)典_第3頁(yè)
編碼器評(píng)測(cè)_經(jīng)典_第4頁(yè)
編碼器評(píng)測(cè)_經(jīng)典_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、轉(zhuǎn)H.264開源編碼器評(píng)測(cè)Peter Lee(2010-04-25 09:57:53) 轉(zhuǎn)載 Peter Lee2003年5月,當(dāng)H.264編碼標(biāo)準(zhǔn)草案發(fā)布時(shí),很多人都覺得H.264太復(fù)雜,不宜實(shí)用。眨眼間3年過去了,以往的論斷、疑惑被如今的現(xiàn)實(shí)沖洗的干干凈凈。隨著硬件性能的提高和視頻編碼工作者對(duì)H.264的不斷優(yōu)化,如今的H.264已完全實(shí)用,最新的達(dá)芬奇芯片上能實(shí)現(xiàn)D1分辨率(720*480)視頻的實(shí)時(shí)編碼,而對(duì)于解碼,普通的PC機(jī)就能實(shí)現(xiàn)x264編碼的DVDrip電影的流暢播放。縱觀過去的三年,有多少人對(duì)H.264傾注了熱情和汗水才換來今天的成績(jī),而那些H.264的開

2、源項(xiàng)目以及參與這些項(xiàng)目的開發(fā)者自然是功不可沒。本文評(píng)測(cè)的是作者接觸過的H.264開源解碼器,包括:JM decoder, T264 decoder, x264 decoder, ffmpeg libavcodec, Intel IPP simple player。評(píng)測(cè)的內(nèi)容有:對(duì)H.264特性的支持、解碼速度以及二次開發(fā)難易程度。一、H.264開源解碼器介紹1、JM decoderJM decoder是H.264的官方源碼,通常也稱為校驗(yàn)?zāi)P汀F涮攸c(diǎn)是支持特性好,實(shí)用性差。本文選用的程序是JM86,不支持high profile,因?yàn)楸疚牟粚?duì)high profile部分進(jìn)行實(shí)驗(yàn)比較。NOTE:

3、 JM一直沒有做實(shí)用化方面的努力,所以其解碼速度代表的是2003年的水平。  2、T264 decoderT264是國(guó)內(nèi)的開源項(xiàng)目,T264 decoder的程序做過匯編優(yōu)化,速度還可以,但只能解T264本身的碼流。作者對(duì)T264 decoder version 0.14(2005-3-29)作了修改,支持baseline的解碼。  3、x264 decoderx264本沒有decoder,但其包含decoder的部分函數(shù)雛形,猜想作者在一開始時(shí)是準(zhǔn)備實(shí)現(xiàn)decoder,后來可能是因?yàn)橛辛薴fmpeg,就放棄了這個(gè)想法(純粹屬于猜測(cè),呵呵)。本文的x264 decoder是

4、作者在x264 svn check out 2005.12.26的基礎(chǔ)上實(shí)現(xiàn)的,支持baseline的解碼。  4、ffmpeg libavcodecffmpeg是一個(gè)大項(xiàng)目,它包含各種音視頻標(biāo)準(zhǔn)的codec,還支持各類file format(.avi, .mp4, .mkv and etc)的parsing。所以,很多開源項(xiàng)目都有直接或間接地采用了ffmpeg,如mplayer播放器就是直接采用了ffmpeg,而mpc播放器則是先采用了ffdshow filter,而ffdshow又采用了ffmpeg。ffmpeg是一個(gè)非常棒的音視頻編解碼庫(kù),支持的標(biāo)準(zhǔn)非常全,而且編解碼速度也很快

5、。本文實(shí)驗(yàn)采用的是cvs check out 2006.02.20的版本,作者對(duì)其中的apiexample demo進(jìn)行了簡(jiǎn)單的修改,用于解碼h.264碼流  5、Intel IPP simple playerIntel的IPP庫(kù),全稱為Integrated Performance Primitives,在Intel的各種處理器平臺(tái)(IA-32, Itanium, xscale and etc)上實(shí)現(xiàn)了信號(hào)處理常用算法、常用數(shù)學(xué)運(yùn)算及音視頻編解碼算法等等。IPP給我的第一感覺是,在Intel的處理器平臺(tái)上,它實(shí)現(xiàn)的各種算法應(yīng)該是最快的,至于實(shí)際結(jié)果如何,待等到實(shí)驗(yàn)比較后見分曉。本文采

6、用的IPP庫(kù)版本為IA32 評(píng)估版Intel IPP simple player是用于播放各種音視頻文件的簡(jiǎn)單播放器,用c+實(shí)用,具體算法調(diào)用IPP庫(kù)來實(shí)現(xiàn)。本文采用的simple player版本是  二、對(duì)于H.264特性的支持1、JM86 decodersupport baseline, extended, main profile  2、T264 decoderbaseline  3、x264 decodeerbaseline  4、ffmpeg libavcodecsupport baseline, main profile, high pro

7、file except the feature: paff, mbaff  5、Intel IPP simple playersupport baseline and main profile  三、評(píng)測(cè)條件1、所用測(cè)試序列表1 所用測(cè)試序列分辨率序列名稱特點(diǎn)編碼幀數(shù)QCIFforeman紋理復(fù)雜度一般運(yùn)動(dòng)劇烈:畫面人物和鏡頭均運(yùn)動(dòng),還有場(chǎng)景的切換300CIFforeman同上300mthr_dotr背景簡(jiǎn)單畫面人物運(yùn)動(dòng)幅度不大100mobile紋理復(fù)雜度極高運(yùn)動(dòng)形式豐富畫面有多個(gè)運(yùn)動(dòng)物體,但各運(yùn)動(dòng)物體運(yùn)動(dòng)方向規(guī)則且平緩,鏡頭也在移動(dòng)200D1(720*480)soccer

8、2鏡頭有移動(dòng),畫面的足球運(yùn)動(dòng)員的運(yùn)動(dòng)也很劇烈300puppy鏡頭無運(yùn)動(dòng),畫面中的玩具小狗也只有簡(jiǎn)單的運(yùn)動(dòng)100  2、編碼參數(shù)參數(shù)設(shè)置示例:x264enc -frames 300 -no-cabac -qp 26 -o test.264 foreman.cif 352x288(相當(dāng)于baseline)量化步長(zhǎng):26和36  2、環(huán)境CPU: Pentium4 2.4GHz, RAM: DDR 512MOS: windows2000 professional+sp4  3、解碼器程序編譯環(huán)境JM86 decoder: vc71 releaseT264 decoder

9、: vc71 releasex264 decodeer: vc71 releaseffmpeg libavcodec: MinGWIntel IPP simple player: vc71 release + directX 9.0c sdk  4、解碼參數(shù)設(shè)置不保存重建序列(note: 是否保存重建序列對(duì)于解碼速度的影響很大)  四、解碼速度比較結(jié)果待補(bǔ)充完整。表2 解碼速度比較(單位:fps)分辨率序列名稱量化步長(zhǎng)JM86 decoderx264 decodeerffmpeg libavcodecQCIFforeman2650fps左右684.93119636874.6

10、41916.67CIFforeman2615fps左右168.44303.8636190.11503.37mthr_dotr26182.82421.2836200634.62mobile26129.28190.0736173.01353.46D1(720*480)soccer2265fps左右53.04105.173660.19158.12puppy2661.54192.233664.64253.85  【note】t264的解碼程序能解jm baseline的碼流,但無法解上面x264生成的碼流,故無法給出實(shí)驗(yàn)結(jié)果。但通過對(duì)自身t264 fast mode碼流的解碼速度進(jìn)行統(tǒng)計(jì),t

11、264 decoder和x264 decoder,解碼速度降低40左右。Intel IPP simple player在我的電腦上編譯未成功,在其它成功編譯的電腦(xp系統(tǒng),directx, , IPP均安裝于C盤)上進(jìn)行簡(jiǎn)單測(cè)試,其解碼速度和ffmpeg的解碼速度相比,降低10%左右。  【簡(jiǎn)單結(jié)論】解碼速度:ffmpeg > IPP simple player > x264 decoder > t264 decoder > jm86 decoder以ffmpeg的編碼速度為基準(zhǔn),假設(shè)為100fps,則:IPP simple player:90fpsx264

12、 decoder:50fpst264 decoder:30fpsjm86 decoder:3fps  五、程序開發(fā)上的比較我估計(jì)閱讀本文的大部分讀者都是搞開發(fā)的,因此,閱讀過程中自然會(huì)思考如何在程序開發(fā)上借鑒或者采用以上開源的H.264解碼器,下面就針對(duì)程序開發(fā)上的難易、適用場(chǎng)合等作個(gè)比較。1、JM86 decoder適合寫paper群體  2、T264 decoder3、x264 decodeer兩者代碼非常相似,所以就合在一起講了。這兩個(gè)源碼的程序結(jié)構(gòu)都比較清晰,支持vc和gcc的編譯環(huán)境,但對(duì)H.264的特性支持不好,解碼速度和ffmpeg相比,還有差距。 

13、 4、ffmpeg libavcodec程序結(jié)構(gòu)比較差,H.264解碼的代碼基本上在h264.c一個(gè)文件中,這個(gè)文件有8000多行,不利于閱讀。編譯環(huán)境為gcc或MinGW,移植到vc下比較難(我嘗試過)。解碼速度快(BTW: 通過doom9論壇了解到,目前最快的h.264解碼器是CoreAVC decoder,比ffmpeg快50%左右)。對(duì)于H.264特性的支持好。  5、Intel IPP simple player分兩個(gè)方面講:(a)IPP庫(kù)我覺得是非常棒的,但實(shí)現(xiàn)的是H.264解碼(IPP中也有H.264編碼)的一些關(guān)鍵函數(shù),如deblock,dct,插值補(bǔ)償?shù)龋荒苤苯幽脕碛谩F渌?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論