新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > QNX 下嵌入式視頻監控系統研究

        QNX 下嵌入式視頻監控系統研究

        作者: 時間:2012-12-07 來源:網絡 收藏

        3 系統軟件設計
        3.1 視頻處理流程
        視頻處理流程如圖6所示。監控系統軟件設計的核心部分是視頻信號的采集、編碼等處理,主要由Capture thread、Video thread、Stream writerthread來實現。Capture thread主要完成采集設備的初始化,使它工作在合適的狀態,從采集設備獲取原始視頻數據放到緩沖區,為Video thread編碼作準備。Video thread對Capture thread放到緩沖區中的原始圖像數據進行編碼,得到H.264碼流。Stream writer thread的主要工作是把H.264碼流寫入循環緩沖區。放在循環流緩沖區的碼流可以根據用戶的需求進行進一步的處理,本系統主要將H.264碼流存儲到SD卡中。

        本文引用地址:http://www.104case.com/article/148216.htm

        f.JPG


        3.2 視頻采集設計
        這里主要介紹系統對于USB接口攝像頭的處理方法,其驅動程序中需要提供I/O操作接口函數open()、read()、write()、close(),對中斷的處理,內存映射功能以對I/O通道的控制借口函數ioctl()等,并把他們定義在struct file_operations中。視頻采集系統軟件流程如圖7所示。

        g.JPG


        軟件的主要函數如下:
        Camera_open():用來開啟視頻設備,使用前需要首先聲明一個camera_device類型的設備文件。
        h.JPG
        i.JPG
        camera_get_capability():通過調用ioctl()函數取得設備文件的相關信息,并存放到camera_capability結構里。
        camera_get_picture():通過調用ioctl()函數取得圖像相關信息,并存放到camera_picture結構里。
        camera_capture():用來抓取圖像,采用mmap方式,直接將設備文件/dev/videoO映射到內存,加速文件I/O操作,共享內存通信。
        camera_timer:設定一個定時器,用于控制視頻設備采集圖像的時隙。
        picture_save():保存采集的圖片。
        picture_num():對保存的圖片計數,設定一個最大值,每當該計數器達到最大值時,調用刪除圖片函數picture_del(),一次性將已發送的幾張圖片刪除。
        camera_close():用來關閉視頻設備。

        結語
        對于視頻處理來說,采用+OMAP處理器的解決方案是個不錯的選擇。由于算法實現需要大流量的計算,使用開發平臺,利用的DSP芯片來完成,可以較好地提高編解碼的速率;同時,實時操作系統的編程接口符合POSIX標準,可移植性較強,可支持多種視頻格式編解碼。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东丽区| 乌鲁木齐县| 繁昌县| 进贤县| 铜鼓县| 河北省| 阳高县| 张家口市| 平远县| 淮北市| 基隆市| 和硕县| 个旧市| 鹤岗市| 青阳县| 昭苏县| 县级市| 揭东县| 辉县市| 都江堰市| 浏阳市| 瓦房店市| 伊宁市| 莒南县| 会宁县| 栾川县| 循化| 宜都市| 琼中| 砀山县| 湖北省| 白朗县| 青铜峡市| 金平| 辽源市| 察哈| 西吉县| 义乌市| 渝中区| 德格县| 永德县|