《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android的視頻監控系統設計與實現
NI-LabVIEW 2025
基于Android的視頻監控系統設計與實現
來源:電子技術應用2012年第7期
李 昂, 宋海聲, 蘇小蕓
西北師范大學 物理與電子工程學院,甘肅 蘭州730070
摘要: 提出了一種基于Android平臺的視頻監控系統方法。闡述了系統的結構框架,介紹了Android操作系統及其應用層的開發,重點描述了PDA端視頻處理的實現。系統采用Blackfin533芯片實現對視頻的H.264編碼,并應用快速模式選擇算法優化編碼過程,可使通信模塊和數據處理模塊通過Android平臺代碼完成。在3G無線網絡環境下,實現了后臺對遠端的實時視頻監控。測試表明,延遲可控制在5 s以內。
中圖分類號: TP39
文獻標識碼: A
文章編號: 0258-7998(2012)07-0138-02
Design and implementation of video monitoring system based on Android
Li Ang, Song Haisheng, Su Xiaoyun
College of Physics and Electronic Engineering, Northwest Normal University, Lanzhou 730070,China
Abstract: An idea and program of video monitoring system based on Android is presented.This paper introduces the system architecture and Android operating system and development of application layer.It emphatically discusses the ideas and methods of PDA video processing.It uses Blackfin533 for H.264 data decoding and fast mode selection algorithm for optimal coding, The communication module and data processing module are realized through the Android platform code. It achieves the remote real-time video surveillance from backstage in 3G wireless networks.Through testing, the delay is controlled in less than 5 seconds.
Key words : Android; H.264 decoding;fast mode selection algorithm

    目前視頻監控系統正朝著數字化、網絡化、功能綜合化的方向不斷發展。傳統的視頻監控系統大多通過線纜或光纖將視頻信號傳輸到監控中心,但由于網線的限制,不利于監控系統的迅速搭建。隨著無線網絡特別是3G網絡的普及,視頻監控系統面臨著更加廣闊和自由的空間[1]。

    3G網絡在移動環境下支持的帶寬有限,而視頻監控系統的實時性要求盡可能清晰流暢地傳輸視頻信號,因此需要在保證視頻信號不失真的情況下,進行最大可能的壓縮。H.264標準采用了高精度、多模式預測技術提高壓縮比以降低碼流[2],可廣泛應用于遠程監控、電視會議以及可視電話等領域。
    本文介紹了一種基于Android系統的視頻監控系統,利用PDA結合H.264編碼技術和3G無線網絡通信技術實現了對遠程視頻的實時監控。
1 系統概述
    如圖1所示,系統采用C/S架構,硬件部分包括帶攝像頭的PDA、H.264編碼器和后臺監控計算機。系統的關鍵技術是編碼器的設計,將拍攝到的模擬信號轉換成數字信號,通過H.264編碼器進行編碼壓縮,最后利用3G無線網絡將壓縮后的數據傳送到后臺監控計算機完成實時顯示。后臺計算機還可以通過3G網絡向PDA發送控制命令,實現云臺控制等相關操作。本文主要介紹PDA端的設計與實現。

2 Android操作系統
    Android是一種以Linux為基礎的開放源碼操作系統,主要用于便攜設備。Android擁有一個提供Java編程語言功能的核心庫。每個Java編寫的應用程序都擁有一個獨立的Dalvik虛擬機實例。Dalvik被設計成一個可以同時高效運行多個虛擬系統的設備,這樣的特點使得Android系統能夠很好地適應手機特殊的運行環境。通過在Eclipse上安裝Android SDK插件,可以輕松搭建Android開發平臺,在該平臺編譯的代碼可自動生成APK文件,直接進行安裝使用[3]。
3 PDA端視頻處理的實現
    基于Android的視頻監控系統最重要的部分就是PDA以及外設的設計和視頻的處理。PDA有限的內存要求這部分的實現盡量做到低功耗、高性能,達到算法和軟件的最優化。
    由于DSP芯片具有極強的可編程性,方便后期進行編碼的比較和優化。因此編碼器采用ADI公司推出的DSP芯片Blackfin533。該芯片集成了大量的外設和存儲器接口,在結構上對C/C++進行了優化,能夠達到很高的代碼密度,可以滿足H.264編碼的實時要求。
3.1 H.264算法的優化選擇
    與以往的視頻編碼標準(如H.263和Mpeg系列)只采用一種或兩種宏塊編碼模式不同,H.264采用從16×16到4×4的七種宏塊編碼模式,使得H.264相比H.263節省了大約50%的碼率。但同時面臨著可觀的運算量消耗[4]。為了達到實時編碼,如何實現快速的模式選擇算法成為解決問題的關鍵[5-6]。H.264/AVC的宏塊編碼模式大量應用了遍歷,使得運算量過大,適當地減少遍歷的模式或者提前終止遍歷就可以提高編碼的速度[7]。而減少無效遍歷的關鍵在于限制遍歷的范圍和制定可靠的終止準則。
     Curr為當前待編碼的宏塊,A、B、C、D分別為四個方向的相鄰宏塊,A_cost、B_cost、C_cost和D_cost分別為A、B、C、D的編碼代價,門限T利用式(1)計算得出:
    T=(5×A_cost+5×B_cost+4×C_cost+2×A_cost)>>4                  (1)
    Curr分別按照4個相鄰宏塊和自身宏塊的模式編碼,比較其代價值得到最優編碼。圖2所示為對宏塊A和B的優化編碼流程圖(對宏塊C和D的編碼類似)。通過測試比較及優化算法的處理,視頻在保真的情況下,有效地降低了壓縮比,提高了算法的運算速度。

3.2 軟件的設計
    Android平臺實現主要包括通信模塊和數據處理模塊。
    通信模塊采用了Socket網絡通信技術進行UDB通信。通信之前的準備工作是完成Socket的創建,同時綁定Socket和端口號,設置開始監聽端口。監聽開始后,主程序循環監聽、接收請求信號,同時創建新的客戶連接Socket以及相應的通信進程。
    數據處理模塊主要是對視頻流數據的提取和傳導。開啟攝像頭后,在視頻預覽時截取視頻流每一幀的數據。把截取到的數據傳輸到應用層進行圖像繪制,通過外設傳輸到DSP芯片進行視頻編碼,編碼后將數據通過網絡傳送到后臺監控室。Android應用層[8]的核心代碼如下:
    p0=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
                                                                // 創建socket
    bind(p0,(struct sockaddr *)&(addr_org),sizeof(struct sock-
          addr_in));                        // 綁定IP和端口
    sendto(p0, SendDataBuff, ulLen, 0, (struct sockaddr *)&
        (addr_dst), sizeof(sockaddr_in));
            // 向指定IP發送SendDataBuff中的視頻數據
     public ImageSurfaceView(Context context, AttributeSet attrs)
         {paint = new Paint(); paint.setColor(Color.WHITE);
        paint.setAntiAlias(true);
        …… setFocusable(true);}    //初始化SurfaceView類
        public void surfaceCreated(SurfaceHolder holder) {……
        screenH = this.getHeight();screenW = this.getWidth
        ();handler.post(imageRunnable);}
                    //創建SurfaceView用于顯示捕捉的圖像
     Camera openCamera() {}                 //打開攝像頭
    android.hardware.camera.PreviewCallback 
                     //用來調用每幀圖像數據data的接口
    DSP芯片中軟件設計的主要目的是提高運算速度和效率。宏塊編碼采用不同位置獨立編碼,編程時盡可能地將判斷轉移到循環外,杜絕了大量幀內和幀間宏塊的重復判斷。利用快速的模式選擇算法對宏塊進行編碼,進一步提高了編碼效率。使用Blackfin533芯片專用的視頻指令SAA求取絕對差值求和函數SAD(),在很大程度上提高了運算速度。具體SAA的使用代碼如下:
     for(i=0;i<16*16;i++)
       sad+=abs( *pSrc++ - *pRef++);
       LSETUP(sad_START,sad_END) LC0=P1; 
       sad_START:
       r3 = [i1++]; 
     SAA(r1:0,r3:2) || r1= [i0++] || r2= [i1++];    
     SAA(r1:0,r3:2)(R) || r0= [i0++] || r3= [i1++];    
     SAA(r1:0,r3:2) || r1= [i0++] || r2= [i1++];
          sad_END:SAA(r1:0,r3:2)(R) || r0=[i0++] || r2=
        [i1++]
4 實現結果
    圖3為系統在HTC G14手機和后臺計算機中利用聯通3G網絡實驗的結果。手機拍攝預覽的視頻顯示在計算機上;后臺可選擇監視某一臺手機的視野,還可以通過發送命令放大或縮小視野的范圍,整個過程不受距離限制。經過多次測試,PDA端與后臺在同一幀的顯示僅存在3 s~5 s的延遲。

 

 

    目前,基于Android的視頻監控系統已在實驗室測試使用,基本完成了后臺計算機對PDA端攝像頭視野的實時監控功能。系統利用了3G網絡數據高傳輸速度中和Android系統開發便利的優勢,優化了H.264編碼方法和軟件編程。整個系統從軟件到硬件,開發成本低,實際使用方便。隨著網絡技術和視頻編碼技術的不斷發展,移動視頻監控有望在未來成為監控系統的主流發展方向。

參考文獻
[1] 曹曉芳,王超,李杰.一種基于Android智能手機的遠程視頻監控的設計[J].電子器件,2011,34(6):709-712.
[2] 李文新,李宇光,胡延蘇,等.嵌入式無線局域網中H.264視頻傳輸的QoS研究[J].計算機科學,2011,38(5):83-85.
[3] 耿東久,索岳,陳渝,等.基于Android手機的遠程訪問和控制系統[J].計算機應用,2011,31(2):559-561.
[4] 西剎子.安防天下&mdash;&mdash;智能網絡視頻監控技術詳解與實踐[M].北京:清華大學出版社,2010.
[5] 閆健恩,許海燕,林建秋.基于ADSP-Blackfin533的H.264視頻編碼器的實現[J].微計算機信息,2006(5):27-29.
[6] 顧梅花,余寧梅,寇立康,等.H.264快速模式選擇算法中的提前終止策略[J].中國圖像圖形學報,2011,16(3):305-309.
[7] 盧光輝.P幀快速模式選擇算法[J].電子科技大學學報,2010,39(3):397-401.
[8] 韓超,梁泉.Android系統原理及開發要點詳解[M].北京:電子工業出版社,2010.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 狠狠色狠狠色综合日日小蛇 | 欧美午夜在线观看 | 成人网18免费软件 | 福利亚洲 | 法国18sexxxx性xxx | 黄色中文字幕在线观看 | 国产成人精品综合久久久 | 免费在线观看一级毛片 | 成年人污视频 | 天天操天天射天天爽 | 亚洲高清日韩精品第一区 | 国产高清视频 | 精品免费在线视频 | 手机看片日韩欧美 | 亚洲国产精品视频 | 亚洲欧美精品日韩欧美 | 成人性动漫网站 | 国产精品1区2区3区在线播放 | 久久久青青草 | 极品嫩模众筹福利写真视频 | 天天做天天干 | 九月丁香激情综合婷婷玉立 | 曰韩在线 | 日韩毛片大全免费高清 | 日日干天天插 | 国产黄色片一级 | 日韩深夜 | 一级特黄爽大片刺激 | 最近中文字幕大全高清视频 | 性生大片一级毛片免费观看 | 日日噜噜夜夜狠狠扒开双腿 | 高清国产精品入口麻豆 | 最新欧美日韩 | 国产乱人免费视频 | 日日碰日日摸日日澡视频播放 | 国产16页 | 日韩亚洲欧美在线爱色 | 91久久青青草原线免费 | 欧美日韩在线播放 | 亚洲日韩中文第一精品 | 精品久久久一二三区 |