基于MPEG-4視頻標(biāo)準(zhǔn)數(shù)字視頻錄像機(jī)的設(shè)計(jì)及實(shí)現(xiàn)
實(shí)現(xiàn)這些功能主要通過對(duì)以下幾個(gè)函數(shù)的調(diào)用:
void set_decoder_parameter(uns16 hsize,uns16 vsize,uns8 rate,uns8 mode)該函數(shù)用來設(shè)置解碼參數(shù);
void video_decoder_start(uns8 mode)該函數(shù)用來啟動(dòng)AT2042的解碼功能;
void video_decoder_stop(uns8 mode)該函數(shù)用來關(guān)閉AT2042的解碼功能;
void get_file_length(const char * file_name)該函數(shù)用來獲取文件的長(zhǎng)度;
void video_replay(const char * file_name,uns8mode)該函主要實(shí)現(xiàn)對(duì)視頻文件的播放控制,mode控制播放模式(暫停、快進(jìn)、快退)。
3 測(cè)試結(jié)果
實(shí)驗(yàn)結(jié)果進(jìn)行測(cè)試,可以采用2套方案來完成。
(1)使用自行設(shè)計(jì)的硬件平臺(tái),在該平臺(tái)上完成對(duì)視頻編解碼的測(cè)試。圖11為在本系統(tǒng)平臺(tái)上對(duì)編碼數(shù)據(jù)的解碼播放截圖。
(2)將編碼后的視頻文件拷貝到PC機(jī)上,應(yīng)用Media Player、暴風(fēng)音影和風(fēng)雷音影等視頻播放軟件對(duì)編碼結(jié)果進(jìn)行測(cè)試,同時(shí)可以對(duì)比解碼播放的效果。因?yàn)楸鞠到y(tǒng)中視頻文件是以PES流形式保存到儲(chǔ)存介質(zhì)。PES滿足ISO13818標(biāo)準(zhǔn),所以PC平臺(tái)上的普通視頻播放器都能播放該文件。圖12是用風(fēng)雷音影播放器對(duì)編碼結(jié)果進(jìn)行解碼播放的截圖。
由圖可以看出,解碼出的視頻文件是720X576像素點(diǎn),解碼播放的速率為25.59 f/s。畫面沒有出現(xiàn)失真現(xiàn)象,沒有明顯的塊效應(yīng)。由表1中的數(shù)據(jù)可得,在使用AT2042對(duì)靜止圖像編碼時(shí),可實(shí)現(xiàn)接近100:1的壓縮比,在對(duì)動(dòng)態(tài)畫面進(jìn)行編碼時(shí),可以實(shí)現(xiàn)40:1的壓縮比。
4 結(jié) 語(yǔ)
本文詳細(xì)介紹基于專用視頻編解碼芯片AT2042的數(shù)字視頻錄像機(jī)系統(tǒng)的硬件設(shè)計(jì)和軟件開發(fā)流程。該系統(tǒng)已實(shí)現(xiàn)對(duì)視頻數(shù)據(jù)的編碼和解碼,同時(shí)實(shí)現(xiàn)了MPEG-4/MPEG-2/MPEG-1 H.263視頻標(biāo)準(zhǔn),并已作為成型產(chǎn)品推向市場(chǎng)。
評(píng)論