• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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.czjhyjcfj.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 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 星座| 舒兰市| 萨迦县| 营山县| 牙克石市| 洪湖市| 固镇县| 铁岭市| 汕头市| 额济纳旗| 冕宁县| 扶余县| 迭部县| 长乐市| 无棣县| 开远市| 达日县| 五指山市| 永登县| 襄汾县| 山东省| 无为县| 嘉义县| 曲靖市| 醴陵市| 荣成市| 新晃| 兴海县| 广平县| 垦利县| 大余县| 长兴县| 安远县| 道真| 南平市| 时尚| 河曲县| 象山县| 新晃| 靖远县| 陆河县|