• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于H.264的嵌入式視頻解碼研究

      2013-09-19 10:18:14張正華胡方來(lái)龔曉亮
      無(wú)線電工程 2013年1期
      關(guān)鍵詞:碼流PC機(jī)解碼器

      張正華,胡方來(lái),蘇 波,吳 韜,龔曉亮

      (1.揚(yáng)州大學(xué)信息工程學(xué)院,江蘇揚(yáng)州225127;2.揚(yáng)州國(guó)脈通信發(fā)展有限責(zé)任公司,江蘇揚(yáng)州225002;3.揚(yáng)州市公安局交通巡邏警察支隊(duì),江蘇揚(yáng)州225007)

      0 引言

      H.264由于其編碼的高復(fù)雜度從一開始就限制了它的應(yīng)用,隨著人們對(duì)編碼算法的改進(jìn),去除了對(duì)編碼效果有限但復(fù)雜度高的一些算法,使得H.264的視頻編解碼技術(shù)逐漸得到應(yīng)用,現(xiàn)在使用得最多的編碼器就是X264[1-3]。相對(duì)而言,解碼器的速度要快得多,目前流行的 H.264解碼器包括 JM Decoder、T264 Decoder、X264 Decoder、ffmpeg 和 Intel的IPP庫(kù)。JM decoder是H.264的官方源碼,也是校驗(yàn)?zāi)P?,支持特性好但是?shí)用性較差;T264是國(guó)內(nèi)的開源項(xiàng)目,只能解T264本身的碼流;X264本身沒有decoder,但包含解碼器的部分函數(shù)雛形;ffmpeg是包含各種音視頻標(biāo)準(zhǔn)的codec,支持的標(biāo)準(zhǔn)全而且解碼速度也很快;IPP用于在Intel的各種處理平臺(tái)上實(shí)現(xiàn)信號(hào)處理常用算法以及音視頻編解碼算法,實(shí)現(xiàn)算法速度較快[4-6]。所有的解碼器中,除了Intel的商用IPP庫(kù)外,以ffmpeg的解碼最快最穩(wěn)定,ffmpeg集合了多種音、視頻的編解碼協(xié)議,可完成MPEG4和H.264等協(xié)議的解碼?;诖瞬⒔Y(jié)合現(xiàn)有的圖像傳輸研究現(xiàn)狀,對(duì)視頻圖像在嵌入式終端上的解碼方式進(jìn)行了研究。

      1 ffmpeg視頻解碼播放步驟

      基于ffmpeg的視頻解碼播放流程如圖1所示。

      圖1 ffmpeg視頻解碼流程

      打開一個(gè)視頻文件并從中得到流,首先就是初始化libavformat/libavcodec;接著調(diào)用 av_register_all()函數(shù)注冊(cè)庫(kù)中含有的所有可用的文件格式和編解碼器,這樣當(dāng)打開文件時(shí)就能夠自動(dòng)選擇相應(yīng)的文件格式和編解碼器;然后調(diào)av_open_input_file()函數(shù)讀取文件頭并將文件信息存儲(chǔ)到pFormatCtx結(jié)構(gòu)體中;調(diào)用av_find_stream_info()函數(shù)取出文件中的流信息;再調(diào)用 avcodec_find_decode r()函數(shù)用來(lái)尋找頻流的解碼器,并得到指向視頻流的上下文的指針;最后調(diào)用avcodec_open()函數(shù)用來(lái)打開解碼器。

      經(jīng)過評(píng)測(cè)發(fā)現(xiàn),各種H.264解碼器中,速度最快的是intel IPP,但是由于其是商用軟件,而其他的各種解碼器都屬于開源項(xiàng)目,所以最適合的選擇就是解碼速度第二的ffmpeg,而且其速度完全可以滿足實(shí)時(shí)播放的要求。

      2 SDL、ffmpeg和 ffplay

      由于ffplay是一個(gè)基于ffmpeg和開放源代碼的跨平臺(tái)多媒體開發(fā)庫(kù)(Simple DirectMedia Layer,SDL)的播放器,因此,如果想在嵌入式平臺(tái)上使用ffplay來(lái)播放視頻文件,需要加入 SDL的支持[7,8]。下面首先交叉編譯SDL,這里采用的版本為SDL-1.2.13,然后編譯 ffplay 和 ffmpeg。

      ①下載SDL安裝包,解壓縮并進(jìn)入SDL所在目錄。

      ② 運(yùn)行配置。鍵入“./configure--help”,由于ARM板資源有限,根據(jù)需要設(shè)置參數(shù),看情況改變prefix目錄和各種選項(xiàng),配置中指定使用幀緩沖設(shè)備,使用arm-linux-gcc交叉編譯。本文中,使用的編譯選項(xiàng)如下:

      ③ make和 make install,make install之后便在prefix目錄下生成所需的動(dòng)態(tài)庫(kù)和include頭文件等。下面使用SDL自帶的例程測(cè)試交叉編譯的SDL是否可以在ARM上使用,運(yùn)行成功后會(huì)生成二進(jìn)制應(yīng)用程序“testwin”,將交叉編譯好的SDL庫(kù)和例程通過nfs掛載到ARM板,運(yùn)行屏幕上出現(xiàn)移動(dòng)的“SDL”說明交叉編譯成功。具體的測(cè)試選項(xiàng)如下:

      ④下載ffmpeg安裝包,創(chuàng)建依賴環(huán)境,在編譯ffmpeg之前可以根據(jù)需要安裝相應(yīng)的codec和依賴包,ffmpeg的支持庫(kù)包括xvid、x264、mp3和3gp等,可以網(wǎng)上下載相應(yīng)的源碼進(jìn)行安裝。

      ⑤交叉編譯。交叉編譯完成后,將會(huì)在目標(biāo)目錄下生成目標(biāo)平臺(tái)處理器格式的二進(jìn)制可執(zhí)行文件ffplay和ffmpeg,將生成的ffplay和ffmpeg移植到開發(fā)板上,同時(shí)將生成的庫(kù)文件移植到ARM上Linux系統(tǒng)的根目錄lib下運(yùn)行。具體的編譯選項(xiàng)如下:

      3 部分程序源碼

      以下為基于ffmpeg的H.264視頻解碼的部分代碼:

      4 測(cè)試結(jié)果

      這里使用了 foreman、news、carphone和 highway四個(gè)視頻序列,編碼30幀,生成4個(gè)不同的H.264格式碼流,將生成的碼流分別在嵌入式平臺(tái)上和PC機(jī)上進(jìn)行了測(cè)試,測(cè)試結(jié)果的對(duì)比如表1和表2所示。

      表1 解碼后圖像質(zhì)量對(duì)比

      表2 解碼時(shí)間對(duì)比

      表1反映了4個(gè)視頻序列分別在嵌入式平臺(tái)和PC機(jī)上解碼后視頻圖像的質(zhì)量對(duì)比,從表中數(shù)據(jù)可以看出,圖像質(zhì)量相差不大,嵌入式平臺(tái)上的解碼效果與PC機(jī)上解碼效果相近。表2反映出2個(gè)平臺(tái)對(duì)同一視頻流解碼速度的對(duì)比,從表中數(shù)據(jù)可以看出,PC機(jī)的解碼速度稍快于嵌入式平臺(tái),單純地從嵌入式平臺(tái)的解碼時(shí)間來(lái)看,其已經(jīng)能夠滿足工程應(yīng)用中的實(shí)時(shí)性要求。

      為了能夠更鮮明地說明目標(biāo)板的解碼效果,圖2和圖3給出了foraman視頻序列解碼前后的圖像對(duì)比效果。圖2是在目標(biāo)板上用ffplay運(yùn)行的帶誤碼的碼流效果,圖3給出了經(jīng)過ffmpeg解碼帶誤碼的碼流后的物理效果圖,從圖中可以得出,在嵌入式終端平臺(tái)上可以對(duì)視頻流進(jìn)行實(shí)時(shí)的解碼處理,且能夠比較真實(shí)地反映源圖像的品質(zhì)。

      圖2 運(yùn)行帶誤碼的碼流

      圖3 解碼后物理效果

      5 結(jié)束語(yǔ)

      在分析了各種解碼器的性能后選用了ffmpeg對(duì)H.264進(jìn)行解碼。研究了ffmpeg的解碼流程和實(shí)現(xiàn)以及ffmpeg解碼 H.264的實(shí)現(xiàn),最后實(shí)現(xiàn)了ffmpeg和ffplay在嵌入式平臺(tái)上的移植并給出了實(shí)現(xiàn)圖。從實(shí)驗(yàn)結(jié)果分析,研究是切實(shí)可行的。目前,智能交通行業(yè)的發(fā)展已經(jīng)迎來(lái)了新浪潮,智能監(jiān)控已成為智能交通行業(yè)車輛信息采集的主要方式[9],嵌入式系統(tǒng)在智能交通上的應(yīng)用已成可能,隨著技術(shù)的不斷深入,交通智能化必定會(huì)在各領(lǐng)域的共同努力下成為不可逆轉(zhuǎn)的趨勢(shì)。從實(shí)際運(yùn)用看,上述研究可以依托視頻傳感器采集的圖像,利用現(xiàn)階段路口大范圍普及的視頻攝像頭,利用現(xiàn)有的資源獲取極大的效益,無(wú)需增加額外的成本。

      [1]畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn)——H.264/AVC[M].北京:人民郵電出版社,2005:68-128.

      [2]郭寶龍,倪 偉,閆允一.通信中的視頻信號(hào)處理[M].北京:電子工業(yè)出版社,2007:30-55.

      [3]馬宇峰,魏 維,楊科利.視頻通信中的錯(cuò)誤隱藏技術(shù)[M].北京:國(guó)防工業(yè)出版社,2007:44-58.

      [4]WIEGAND T,SULLIVAN G J.Overview of the H.264/AVC Video Coding Standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):560-576.

      [5]SULLIVAN G J,TOPIWALA P,LUTHRA A.The H.264/AVC Advanced Video Coding Standard:Overview and Introduction to the Fidelity Range Extensions[C]∥SPIE Conference on Applications of Digital Image Processing,2004:376-382.

      [6]IAIN E,RICHARDSON G.H.264 and MPEG -4 Video Compression[M].The RobertGordon University,Aberdeen,UK,2004:159 -187.

      [7]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2005:415-449.

      [8]何 勛,周 鷹,王亞非.基于S3C2440的H.264軟編解碼器實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010,38(6):38-39.

      [9]王靜靜.面向智能交通的視頻車輛檢測(cè)、跟蹤和識(shí)別算法研究[D].山東:東北大學(xué),2009:12-16.

      猜你喜歡
      碼流PC機(jī)解碼器
      科學(xué)解碼器(一)
      分布式碼流實(shí)時(shí)監(jiān)控與錄制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      數(shù)字電視TS碼流協(xié)議簡(jiǎn)要分析
      視聽(2021年8期)2021-08-12 10:53:42
      科學(xué)解碼器(二)
      科學(xué)解碼器(三)
      線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍(lán)蜻蜓解碼器
      基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
      基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
      VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
      電子制作(2017年23期)2017-02-02 07:16:47
      一種比較ASN.1碼流差異的方法
      垦利县| 当雄县| 盐池县| 翁源县| 南昌市| 航空| 尤溪县| 临汾市| 墨江| 和静县| 广德县| 巨野县| 吉木萨尔县| 龙游县| 黄平县| 八宿县| 连山| 拜城县| 宜丰县| 平乐县| 米泉市| 莒南县| 石嘴山市| 德清县| 怀宁县| 石景山区| 巴林右旗| 年辖:市辖区| 德安县| 福州市| 莫力| 抚宁县| 三穗县| 平湖市| 保亭| 襄垣县| 铜川市| 昭平县| 庄河市| 拉孜县| 长兴县|