日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于Android系統(tǒng)的H.264視頻壓縮技術實現

摘要 提出了基于Android平臺的H.264視頻壓縮技術設計方案,該方案終端設計是基于S3C6410處理器的硬件和Android 2.3版本的軟件平臺,通過終端USB攝像頭的驅動移植、視頻圖像的H.264標準壓縮以及Socket網絡編程,實現網絡視頻監(jiān)控的實時顯示。
關鍵詞 Android;USB驅動;H.264.壓縮算法

    視頻服務器在目前視頻領域中的應用,主要是利用網絡視頻服務器構建遠程監(jiān)控系統(tǒng)?;诰W絡視頻服務器的多通道數字傳播技術,具有傳統(tǒng)的模擬視頻輸出系統(tǒng)無可比擬的諸多優(yōu)勢。但要使網絡視頻監(jiān)控得到普及還有待于解決以下問題:盡快提高視頻壓縮的技術水平,目前先進的壓縮標準H.264可以部分解決視頻質量和網絡帶寬占用這個矛盾。
    H.264/AVC標準是一種高性能的視頻編解碼技術,相比以前的標準,具有更高的壓縮率、高質量圖像、容錯功能、并有很強的網絡適應性。
    隨著Android技術的迅猛發(fā)展和日趨成熟,其開放性、便攜性、良好的兼容性、無縫結合網絡通信等特點將使Android操作系統(tǒng)在未來工業(yè)領域中有廣泛的應用。

1 系統(tǒng)概述
    基于Android平臺的視頻服務器監(jiān)控系統(tǒng)由監(jiān)控前端、監(jiān)控終端和網絡3部分組成。監(jiān)控前端是一個嵌入式Android系統(tǒng),通過S3C6410的USB攝像頭采集視頻數據,并傳送給Android應用層的編解碼模塊,應用層通過調用JNI接口鏈接Android底層封裝的動態(tài)庫,實現基于H.264標準視頻壓縮,將壓縮數據打包發(fā)送到IP網絡上,監(jiān)控終端通過網絡接收數據包,最后解碼進行實時播放。基于Android平臺的H.264視頻壓縮技術的總體框架圖,如圖1所示。



2 系統(tǒng)的硬件設計
    基于Android視頻服務器系統(tǒng)包括視頻信息采集模塊、視頻信息編解碼模塊、視頻數據傳輸和顯示模塊組成。視頻信息采集和編碼模塊是整個監(jiān)控系統(tǒng)的前端,主要由USB攝像頭和Android底層的系統(tǒng)庫實現;視頻數據傳輸模塊是整個監(jiān)控系統(tǒng)的中繼,負責監(jiān)控前端和監(jiān)控終端視頻數據的交互工作;監(jiān)控終端主要由LCD顯示模塊和電源模塊組成,LCD顯示模塊實時查看視頻,電源模塊為系統(tǒng)提供運行所需的能量。
    該技術設計采用Samsung公司的ARM11 S3C6410嵌入式處理器為核心,其主頻為533 MHz/667 MHz,S3C6410是基于16/32-bitRISC內核的低成本、低功耗、高性能微處理器解決方案,內部集成多個功能強大的硬件加速器,結合外部極佳的接口設備,能夠滿足Android程序開發(fā)的需求。其外接存儲設備包括256 M的DDR-SDRAM、2MB的NOR Flash、2 GB的NAND Flash。外圍接口包括串行口、JTAG調試接口和USB接口,其中USB接口連接攝像頭負責視頻數據的采集,LCD進行實時顯示。視頻采集設備硬件結構如圖2所示。

[!--empirenews.page--]

3 軟件設計概述
    Android的系統(tǒng)構架分為應用層、應用框架層、系統(tǒng)運行庫和IJnux內核層,Android應用程序的開發(fā)通過應用框架與Android底層進行交互。技術實現設計采用模塊化設計方案,主要包括底層驅動移植模塊、視頻采集模塊、視頻壓縮傳輸模塊和視頻顯示模塊。
    基于Android的視頻服務器系統(tǒng)主要包括監(jiān)控前端、中間網絡和監(jiān)控終端。監(jiān)控前端的USB攝像頭采集視頻數據,Android應用層調用封裝的JNI庫進行標準的H.264壓縮,經過網絡打包發(fā)送給監(jiān)控終端,終端通過解碼實時查看視頻。其中流媒體服務器主要由3層結構組成:服務器、網絡服務接口和驅動模塊,如圖3所示。


3.1 操作系統(tǒng)結構
    Android作為終端操作系統(tǒng),其軟件層次自下而上分為:基于Linux內核的操作系統(tǒng)層,各種庫和Android運行環(huán)境,應用程序框架和應用程序。結構圖如圖4所示。
    (1)應用程序。應用程序包括Email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有應用程序均使用Java語言編寫。
    (2)應用程序框架。應用程序架構設計簡化了組件的重用;任一個應用程序都可以發(fā)布功能塊并且其它應用程序都可以使用其所發(fā)布的功能塊。
    (3)系統(tǒng)運行庫。當使用Android應用框架時,Android系統(tǒng)會通過一些C/C++庫來支持使用的各個組件,使其能更好地服務。其中包括Bionic系統(tǒng)C庫,多媒體庫,關系數據庫SQLite,Web瀏覽器引擎Webkit等。
    (4)Linux內核。Android的核心系統(tǒng)依賴于Linux 2.6內核,它同時也是硬件和軟件之間的抽象層。此外Android對其做了部分修改,主要涉及兩部分。Binder(IPC):提供有效的進程間通信,實現了自己的功能;電源管理:主要為省電,作為手持終端設備低耗電是追求目標。[!--empirenews.page--]
3.2 底層驅動移植模塊設計
    Android系統(tǒng)本身是一個龐大的系統(tǒng),移植需要考慮Android系統(tǒng)的硬件抽象層(HAL)和Linux中的相關設備驅動程序。移植的目的就是為了改動較小的內容,支撐較為龐大的上層系統(tǒng)。該系統(tǒng)驅動的移植主要為滿足上層應用層的USB攝像頭視頻采集需求。
    Android系統(tǒng)驅動移植首先要熟悉硬件抽象層的接口,其次要集成和復用已有的驅動程序,主要的工作量在硬件抽象層的實現中。移植的主要工作有兩方面:Linux驅動、Android系統(tǒng)硬件抽象層。
    USB攝像頭驅動程序介于視頻采集應用程序與Linux內核中USB核心的中間層。其一,USB攝像頭驅動向USB核心注冊本身的信息,并調用USB核心提供的API函數為上層服務;其二,應用程序通過調用USB攝像頭驅動的一套接口函數進行視頻采集和調整攝像頭參數等操作,如圖5所示。


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


    技術實現是在Android操作系統(tǒng)上封裝編譯生成Android底層Library的JNI動態(tài)鏈接庫,進而實現H.264標準編解碼。具體實現步驟:選擇合適的編碼器,系統(tǒng)采用X264的編碼器。X264省去了部分復雜增益,編碼速度非常快,可以對CIF格式圖像實時編碼。H.264壓縮畫面以及分辨率:支持CIF/QCIF;圖像分辨率:352×288;壓縮格式H.264、MPEG-4壓縮格式;壓縮幀率:1~25幀可調;壓縮碼率:64 kbit·s-1~2 Mbit·s-1:碼流控制方式:變碼流、動碼流、混合碼流。H.264的優(yōu)勢主要體現在下面幾個方面:(1)精確匹配解碼,避免錯誤累積;(2)更簡單的規(guī)范實施;(3)強大的容錯能力;(4)高效壓縮,比其他視頻壓縮能力高50%以上;(5)時延級差,以適應更多應用環(huán)境等。[!--empirenews.page--]
3.5 主程序流程設計
    基于Android視頻服務器系統(tǒng)終端要接受來自監(jiān)控前端的視頻數據,必須采用Socket網絡通信技術。
    在進行Socket通信前必須對Socket初始化包括:創(chuàng)建Socket、綁定Socket和端口號、開始監(jiān)聽端口等步驟。創(chuàng)建Socket服務線程。當監(jiān)聽產生后,主進程負責不斷循環(huán)地監(jiān)聽接收到的請求并建立新的客戶連接Socket,創(chuàng)建針對此Socket的通信進程。


3.6 顯示模塊設計
    Android平臺的視頻服務器監(jiān)控系統(tǒng)終端顯示需要對視頻數據進行解碼,通過LCD液晶顯示屏實時觀看。解碼過程是編碼的反變換,其中包括獲取視頻流,視頻流信息的配置,視頻流的幀解壓,以及圖像處理過程。該系統(tǒng)選擇4.3寸(10.92 cm)LCD顯示屏在進行顯示端實時查看視頻圖像。

4 結束語
    基于Android系統(tǒng)的視頻客戶控制界面,無需專用監(jiān)控軟件、使用方便、成本低。系統(tǒng)通過Arm11CPU直接進行視頻處理和傳輸,在提供高性能的同時,也允許在性能和功耗間做權衡滿足某些特殊的應用需求。鑒于Android視頻服務器的高性能和前沿性,基于Android平臺的視頻服務器可以在安全性要求高的各種場合得到應用,同時結合實際的應用再可以進行功能擴展,可應用到眾多的有線或無線視頻監(jiān)控領域。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉