日韩欧美国产一区二区三区_五月天欧美精品_国产精品一区不卡_欧美精品乱码久久久久久

內容字號:默認大號超大號

段落設置:段首縮進取消段首縮進

字體設置:切換到微軟雅黑切換到宋體






基于MPEG-4視頻標準數字視頻錄像機的設計與實現(2)

時間:2009-09-10 來源:消費電子設計 作者:小甜甜 點擊:

    顯示開機畫面,其主要通過AT2042的JPEG解碼功能來實現。首先配置AT2042的JPEG解碼功能,將要顯示圖像先以頭文件的形式添加到程序中,當需要顯示時再將圖像數據發送給AT2042。

2.2 Linux系統的配置及設備驅動程序的編寫
    本系統使用的是Linux2.4.18內核,在內核配置中需增加以下幾個內容:由于本系統中要實現對視頻編碼數據的存儲,故要添加內核配置中USB support選項中的USB Mass storage support;在調試時需要通過以太網來燒些程序,故內核配置時需添加LAN91C111網卡驅動,方法為在NetWork device support選項下選擇SMC91111 support,同時內核要支持各種文件系統,需在File system選項下進行相應配置。

    系設備驅動程序主要完成以下的功能:

    AT2042設備驅動子模塊系統調用是操作系統內核和上層應用程序之間的接口,AT2042設備驅動子模塊是操作系統內核和AT2042硬件設備之間的接口。操作系統內核向AT2042設備驅動子模塊提供內核API和其他的內核支持。AT2042設備驅動子模塊為上層應用程序屏蔽了AT2042硬件的細節,這樣在應用程序看來,AT2042硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對AT2042硬件設備進行操作。AT2042設備驅動子模塊作為系統內核的一部分,主要完成對AT2042的初始化、編解碼數據的讀寫、以及編解碼功能參數的設置。包含的功能函數主要有模塊入口函數、設備操作函數集合和中斷服務程序等。

2.3 數字視頻錄像機應用軟件的設計與實現
    (1)界面顯示與菜單功能的設計與實現。界面和菜單的顯示是通過AT2042的OSD(on Screen Display)功能來實現的,AT2042共有3個顯示層面,分別為底層是背景層、中間是回放層,頂層是OSD層。

    OSD層支持16色的調色板。由于AT2042自身沒有相應的ROM存儲OSD所要顯示的圖片及文字數據,故在利用OSD功能來顯示圖片或文字時,首先要將需顯示的圖片或文字數據加載到AT2042的SDRAM中,然后調用顯示功能將圖片或文字顯示在OSD層上。

這個功能的實現過程中主要調用以下2個函數:
    void at2042_load_font(uns8 * font_data,uns32font_data_size)該函數的主要功能是把要顯示的數據加載到AT2042的SDRAM中,同時設置顯示位置,即垂直、水平像素點的位置。

    void osd_on_off(uns8 temp)該函數的功能是打開或關閉OSD模式。

(2)MPEG-4視頻編碼實現。該功能主要利用AT2042來實現。首先,配置相應的編碼寄存器,例如編碼模式、編碼像素點、編碼幀率及設置編碼流格式(PES,PS,TS)等。本系統中采用MPEG-4模式、720X576、每秒25幀及生成PES流來對視頻數據進行編碼。

AT2042視頻編碼的流程如圖9所示。

    實現這一功能主要通過對以下幾個函數的調用:

  void set_encoder_parameter(uns16 hsize,uns16vsize,uns8 rate,uns8 mode)該函數用來設置編碼參數;

  void video_encoder_start(uns8 mode)該函數用來啟動AT2042的編碼功能;

  void video_encoder_stop(uns8 mode)該函數用來關閉AT2042的編碼功能;

    0 0 (請您對文章做出評價)void encoding_stream_read(uns8 * data,uns32 data_size)該函數實現將編碼數據從MuxFIFO中讀出。

(3)解碼功能實現。實現的具體流程如圖10所示。
    實現這些功能主要通過對以下幾個函數的調用:

  void set_decoder_parameter(uns16 hsize,uns16 vsize,uns8 rate,uns8 mode)該函數用來設置解碼參數;

  void video_decoder_start(uns8 mode)該函數用來啟動AT2042的解碼功能;

  void video_decoder_stop(uns8 mode)該函數用來關閉AT2042的解碼功能;

  void get_file_length(const char * file_name)該函數用來獲取文件的長度;

  void video_replay(const char * file_name,uns8mode)該函主要實現對視頻文件的播放控制,mode控制播放模式(暫停、快進、快退)。

3 測試結果
實驗結果進行測試,可以采用2套方案來完成。
    (1)使用自行設計的硬件平臺,在該平臺上完成對視頻編解碼的測試。圖11為在本系統平臺上對編碼數據的解碼播放截圖。

    (2)將編碼后的視頻文件拷貝到PC機上,應用Media Player、暴風音影和風雷音影等視頻播放軟件對編碼結果進行測試,同時可以對比解碼播放的效果。因為本系統中視頻文件是以PES流形式保存到儲存介質。PES滿足ISO13818標準,所以PC平臺上的普通視頻播放器都能播放該文件。圖12是用風雷音影播放器對編碼結果進行解碼播放的截圖。

    由圖可以看出,解碼出的視頻文件是720X576像素點,解碼播放的速率為25.59 f/s。畫面沒有出現失真現象,沒有明顯的塊效應。由表1中的數據可得,在使用AT2042對靜止圖像編碼時,可實現接近100:1的壓縮比,在對動態畫面進行編碼時,可以實現40:1的壓縮比。

4 結 語
    本文詳細介紹基于專用視頻編解碼芯片AT2042的數字視頻錄像機系統的硬件設計和軟件開發流程。該系統已實現對視頻數據的編碼和解碼,同時實現了MPEG-4/MPEG-2/MPEG-1 H.263視頻標準,并已作為成型產品推向市場。


(中國集群通信網 | 責任編輯:陳曉亮)

中國集群通信網,國內首家集群通信專業網站。

Copyright © PttCn.Net, All Rights Reserved.   

聯系我們 聯系我們 中國集群通信網 對講機學堂 對講機世界

主站蜘蛛池模板: 色琪琪综合男人的天堂aⅴ视频| 久久成人av网站| 国产精品亚洲美女av网站| 国产国语刺激对白av不卡| 日韩亚洲欧美中文在线| 日韩专区中文字幕| 久久99久国产精品黄毛片入口 | 91久久精品美女| www黄色av| 精品亚洲第一| 久久精品美女视频网站| 国产伊人精品在线v| 色综合久久久久久中文网| 国产福利视频一区| 日本不卡免费高清视频| 国产美女久久精品香蕉69| 国产精品久久久久久亚洲影视| 精品麻豆av| av免费观看国产| 欧美中文字幕精品| 性欧美精品一区二区三区在线播放V| 久久天天躁夜夜躁狠狠躁2022| 日韩在线视频免费观看高清中文| 国产精品极品尤物在线观看| 久久久国产精品亚洲一区| 久久免费视频网站| 日韩免费中文字幕| 久久精品视频va| 亚洲视频导航| 国产日韩精品在线| 欧美日韩国产第一页| 91免费精品视频| 亚洲欧美日韩综合一区| 91精品国产综合久久香蕉最新版| 97精品国产97久久久久久免费| 国产成人精品自拍| 日韩中文字幕三区| 日韩一区视频在线| 69av在线视频| 久久久国产一区二区| 亚洲综合在线小说|