新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于Android系統(tǒng)的H.264視頻壓縮技術(shù)實(shí)現(xiàn)

基于Android系統(tǒng)的H.264視頻壓縮技術(shù)實(shí)現(xiàn)

作者: 時(shí)間:2011-12-16 來(lái)源:網(wǎng)絡(luò) 收藏

3.2 底層驅(qū)動(dòng)移植模塊設(shè)計(jì)
本身是一個(gè)龐大的,移植需要考慮的硬件抽象層(HAL)和Linux中的相關(guān)設(shè)備驅(qū)動(dòng)程序。移植的目的就是為了改動(dòng)較小的內(nèi)容,支撐較為龐大的上層系統(tǒng)。該系統(tǒng)驅(qū)動(dòng)的移植主要為滿足上層應(yīng)用層的USB攝像頭采集需求。
系統(tǒng)驅(qū)動(dòng)移植首先要熟悉硬件抽象層的接口,其次要集成和復(fù)用已有的驅(qū)動(dòng)程序,主要的工作量在硬件抽象層的中。移植的主要工作有兩方面:Linux驅(qū)動(dòng)、Android系統(tǒng)硬件抽象層。
USB攝像頭驅(qū)動(dòng)程序介于采集應(yīng)用程序與Linux內(nèi)核中USB核心的中間層。其一,USB攝像頭驅(qū)動(dòng)向USB核心注冊(cè)本身的信息,并調(diào)用USB核心提供的API函數(shù)為上層服務(wù);其二,應(yīng)用程序通過(guò)調(diào)用USB攝像頭驅(qū)動(dòng)的一套接口函數(shù)進(jìn)行采集和調(diào)整攝像頭參數(shù)等操作,如圖5所示。

本文引用地址:http://m.butianyuan.cn/article/165986.htm

d.JPG


3.3 視頻采集模塊設(shè)計(jì)
Android系統(tǒng)的H.264的視頻采集部分包括Android視頻流的提取以及Android界面設(shè)計(jì)兩部分。Android可以在拍照視頻預(yù)覽時(shí)截取視頻流的數(shù)據(jù)。每獲得一幀調(diào)用相應(yīng)的接口函數(shù)。其中在Android的上層界面中定義了一個(gè)SurfaceView類(lèi),主要用于顯示采集到的圖像。Android通過(guò)USB攝像頭采集格式為YUV的視頻數(shù)據(jù),通過(guò)SurfaceView類(lèi)接口傳輸?shù)綉?yīng)用層通過(guò)圖像繪制進(jìn)行顯示。
應(yīng)用程序界面設(shè)計(jì)具體步驟:打開(kāi)Android項(xiàng)目里的res\layout目錄,用xml語(yǔ)言來(lái)編輯設(shè)計(jì)程序界面。首先確定界面的布局,嵌套ViewGroup的Linear-Layout和RelativeLayou進(jìn)行布局,調(diào)整android:layout_width、android:layout_height、android:back-ground、android:padding等參數(shù)值,達(dá)到滿意的整體布局效果。然后在ViewGrotrp布局中添加View控件:textview、button根據(jù)實(shí)際需要調(diào)整各控件的android:id、android:layout_heigllt、android:layout_width等參數(shù)值,最終完成對(duì)Android應(yīng)用程序UI的布局。
3.4 H.264視頻模塊設(shè)計(jì)
H.264是由ITU-T的VCEG和ISO/IEC的MPEG聯(lián)合組建的聯(lián)合視頻組提出的一個(gè)新數(shù)字視頻編碼標(biāo)準(zhǔn)。它由VCL層和NAL層組成,VCL層主要負(fù)責(zé)編解碼,主要包括運(yùn)動(dòng)補(bǔ)償、變換編碼、熵編碼等;NAL層主要為VCL提供與網(wǎng)絡(luò)無(wú)關(guān)的統(tǒng)一接口,負(fù)責(zé)將視頻數(shù)據(jù)封裝打包后傳遞給網(wǎng)絡(luò)。
H.264標(biāo)準(zhǔn)視頻算法包括5個(gè)環(huán)節(jié):幀間幀內(nèi)預(yù)測(cè)編碼、正反變換編碼、量化反量化編碼、環(huán)路濾波和熵編碼。算法流程如圖6所示。

e.JPG


是在Android操作系統(tǒng)上封裝編譯生成Android底層Library的JNI動(dòng)態(tài)鏈接庫(kù),進(jìn)而H.264標(biāo)準(zhǔn)編解碼。具體實(shí)現(xiàn)步驟:選擇合適的編碼器,系統(tǒng)采用X264的編碼器。X264省去了部分復(fù)雜增益,編碼速度非???,可以對(duì)CIF格式圖像實(shí)時(shí)編碼。H.264壓縮畫(huà)面以及分辨率:支持CIF/QCIF;圖像分辨率:352×288;壓縮格式H.264、MPEG-4壓縮格式;壓縮幀率:1~25幀可調(diào);壓縮碼率:64 kbit·s-1~2 Mbit·s-1:碼流控制方式:變碼流、動(dòng)碼流、混合碼流。H.264的優(yōu)勢(shì)主要體現(xiàn)在下面幾個(gè)方面:(1)精確匹配解碼,避免錯(cuò)誤累積;(2)更簡(jiǎn)單的規(guī)范實(shí)施;(3)強(qiáng)大的容錯(cuò)能力;(4)高效壓縮,比其他視頻壓縮能力高50%以上;(5)時(shí)延級(jí)差,以適應(yīng)更多應(yīng)用環(huán)境等。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉