新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 數(shù)字電影放映系統(tǒng)實現(xiàn)方案

數(shù)字電影放映系統(tǒng)實現(xiàn)方案

作者: 時間:2016-12-20 來源:網(wǎng)絡(luò) 收藏

2.3 ARM端解碼應(yīng)用程序的設(shè)計

本系統(tǒng)的應(yīng)用程序是在Linux系統(tǒng)環(huán)境下,利用DaVinci技術(shù)的Codec Engine提供的API來完成的。應(yīng)用程序運行在TMS320DM6446雙核處理器的ARM端,解碼存儲在硬盤里的音頻、視頻、語音數(shù)據(jù),通過視頻末端輸出接口(VPBE)輸出,在OSD上實時顯示。

解碼線程的流程如圖4所示。

應(yīng)用程序主要包括5個POSIX線程:主線程(控制線程)、視頻線程、顯示線程、語音線程以及音頻線程。從圖4中可以看到,視頻、語音、音頻線程在主線程變成控制線程之前產(chǎn)生。顯示線程由視頻線程產(chǎn)生。“MSP430+IR”用來接收用戶輸入的命令,只有在命令行里提供了一個視頻文件時,才能建立視頻線程。同時,由于音頻和語音要求同樣的外設(shè)(AIC33),因此,不能同時解碼音頻和語音文件。此外,所有的線程都是搶占式的,基于優(yōu)先級的時序(SCHED_FIFO),其中,顯示線程具有最高的優(yōu)先級,接下來是視頻線程,控制線程的優(yōu)先級最低。線程的初始化由Rendezvous公用程序模塊來同步。該模塊使用POSIX的條件來同步線程的初始化。每個線程執(zhí)行其初始化后,通知Rendezvous的對象。所有的線程都結(jié)束初始化后,同時解鎖,開始執(zhí)行主循環(huán)。

3 測試結(jié)果

本系統(tǒng)的軟件開發(fā)是在虛擬機上的Linux操作系統(tǒng)下進行的,Linux操作系統(tǒng)的版本為Monta Vista Linux Professional Edition v4。測試前,用交叉網(wǎng)線將硬件平臺通過交換機與主機相連,并配置NFS(Network File System,網(wǎng)絡(luò)文件系統(tǒng))服務(wù),使得開發(fā)板和主機可以互相訪問;同時,在主機的Windows環(huán)境下,將開發(fā)板與主機用串口線相連,設(shè)置超級終端,通過超級終端監(jiān)控硬件系統(tǒng)的啟動情況,并設(shè)置命令參數(shù)。

測試時,在超級終端里輸入解碼命令,硬件系統(tǒng)通過MSP430解析輸入的命令,讀取存儲在HDD(硬盤)里的音視頻數(shù)據(jù),利用OSD在線顯示解碼的影片。圖5~圖7分別為對MPEG-2、MPEG-4、H.264音視頻的解碼圖像。





結(jié)語

本文結(jié)合達芬奇數(shù)字多媒體技術(shù)提出了數(shù)字電影放映系統(tǒng)的硬件解決方案及軟件設(shè)計方法。利用達芬奇對高層Linux的支持、標準化的API以及產(chǎn)品化的底層驅(qū)動器,大大降低了設(shè)計數(shù)字視頻系統(tǒng)的復(fù)雜性,縮短了產(chǎn)品的開發(fā)周期。測試表明,所設(shè)計的數(shù)字電影放映系統(tǒng)支持多種格式的數(shù)字影片的高清播放,且具有高穩(wěn)定性和高可靠性。該設(shè)計方案還可以用于其他數(shù)字產(chǎn)品的開發(fā),如IP機頂盒、網(wǎng)絡(luò)攝像機、醫(yī)學圖像處理、視頻會議等。


上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉