一種高清媒體信息發(fā)布終端的設(shè)計(jì)
1 引言
本文引用地址:http://2s4d.com/article/149719.htm隨著通信技術(shù)的不斷發(fā)展, 高清應(yīng)用的日益普及, 傳統(tǒng)的多媒體信息發(fā)布終端已不能滿足高清媒體的播放需求。針對(duì)現(xiàn)有技術(shù)存在的系統(tǒng)復(fù)雜, 成本較高, 播放質(zhì)量差等不足, 本文介紹一種高清媒體信息發(fā)布終端設(shè)計(jì)方案, 該方案采用嵌入式平臺(tái)架構(gòu)及硬件解碼技術(shù), 支持多種音視頻及圖片格式, 能夠?qū)崿F(xiàn)視頻、音頻、圖片和滾動(dòng)字幕等多媒體信息的組合播放, 播放質(zhì)量可達(dá)到卓越的高清電視品質(zhì)。做為高清媒體發(fā)布系統(tǒng)的終端節(jié)點(diǎn), 該系統(tǒng)在遠(yuǎn)程中央控制系統(tǒng)管理和控制下, 可實(shí)現(xiàn)定時(shí)或即時(shí)的播放廣告、新聞、天氣預(yù)報(bào)、物業(yè)通知等信息, 在第一時(shí)間將最新鮮的資訊傳遞給受眾人群; 這種分眾化的傳播模式能夠細(xì)分受眾群體、區(qū)分受眾需求, 優(yōu)化傳播過程, 提高受眾群體覆蓋的準(zhǔn)確性, 從而達(dá)到傳播效果的最優(yōu)化, 在樓宇電視、銀行、社區(qū)、車站、機(jī)場等廣告播放和信息發(fā)布市場擁有廣闊的應(yīng)用前景。
2 硬件系統(tǒng)結(jié)構(gòu)
本系統(tǒng)的主處理器選用S igma Designs公司的專業(yè)級(jí)的高清視頻解碼芯片EM8623L。該芯片同時(shí)集成了V ideo Decoder ( R ISC ) , ARM, DSP 三顆芯片, 支持包括MPEG - 1 /2 /4 SD /HD、WMV9 SD /HD、D ivx、H 264、VC - 1等在內(nèi)的多種視頻格式解碼, 音頻: MPEG - 1、Layer1 /2 /3(MP3)、AC - 3、AAC、PCM、WMA9等。內(nèi)嵌的200MH z的ARM負(fù)責(zé)核心主控, 內(nèi)存帶寬32位, 并最大支持256MB的DDR, 支持64MB的閃存擴(kuò)展。32位DSP專門負(fù)責(zé)音頻處理, 16位R ISC 處理器負(fù)責(zé)視頻解碼。EM8623L 還具有2D 圖形引擎及IDE、DV I、PC I、U SB 等豐富接口支持。這款基于嵌入式架構(gòu)和硬解碼的芯片解決方案在成本、功耗和效率上都能很好的滿足高清媒體播放終端設(shè)備需求。
本文所述的高清媒體信息發(fā)布終端硬件系統(tǒng)結(jié)構(gòu)主要包括: 高清解碼芯片EM 8623L; 128MB SDRAM 和8MB 閃存; 網(wǎng)絡(luò)接口控制器; 前面板控制電路; 內(nèi)置2 5英寸筆記本SATA 硬盤接口; 提供高清數(shù)字多媒體接口(HDM I)、高清晰視頻色差分量接口( YPbPr)、復(fù)合視頻信號(hào)接口(V IDEO)等視頻接口, 光纖數(shù)字音頻接口( S /PD IF)、同軸數(shù)字音頻接口( COAX IAL)、雙聲道立體聲音頻接口( R- AUD IO - L)等音頻接口。此外還提供了USB2 0接口, 可與外接移動(dòng)存儲(chǔ)設(shè)備連接, 播放其中的影音資源, 并提供固件升級(jí)功能。
3 軟件設(shè)計(jì)
3.1 軟件架構(gòu)設(shè)計(jì)
軟件系統(tǒng)根據(jù)嵌入式系統(tǒng)原理和多媒體信息發(fā)布應(yīng)用需求進(jìn)行設(shè)計(jì), 系統(tǒng)架構(gòu)如圖1, 主要由硬件驅(qū)動(dòng)層, 實(shí)時(shí)操作系統(tǒng)層, 中間層和應(yīng)用程序?qū)咏M成。硬件驅(qū)動(dòng)層是與硬件聯(lián)系最緊密的軟件層, 包括音視頻輸出接口、N IC、SATA控制器, USB2 0控制器、F lash、RS232和前面板/遙控器等的驅(qū)動(dòng), 以及和訪問硬件地址寄存器的API, 是系統(tǒng)穩(wěn)定高效運(yùn)行的重要基礎(chǔ)。設(shè)備驅(qū)動(dòng)的加載可以隨著操作系統(tǒng)啟動(dòng)時(shí)在內(nèi)核中加載,也可以在操作系統(tǒng)起來之后, 單獨(dú)進(jìn)行模塊加載, 具體可在內(nèi)核編譯時(shí)進(jìn)行驅(qū)動(dòng)加載的設(shè)定, 使得內(nèi)核大小的設(shè)定較為靈活, 方便根據(jù)F lash空間做出適當(dāng)?shù)恼{(diào)整。
圖1 系統(tǒng)軟件結(jié)構(gòu)圖
實(shí)時(shí)操作系統(tǒng)是嵌入式設(shè)備軟件的核心部分。uC linux是針對(duì)嵌入式處理器特點(diǎn)設(shè)計(jì)的一種實(shí)時(shí)操作系統(tǒng), 它繼承了標(biāo)準(zhǔn)L inux 強(qiáng)大的網(wǎng)絡(luò)功能和多任務(wù)管理功能, 支持多種文件系統(tǒng), 提供標(biāo)準(zhǔn)豐富的API, 具有執(zhí)行效率高、占用空間小、可擴(kuò)展性強(qiáng)和良好的可移植性等優(yōu)點(diǎn)。除此, 他還專為無MMU 的處理器設(shè)計(jì), 并對(duì)L inux 內(nèi)存管理和進(jìn)程管理進(jìn)行了改寫, 滿足無MMU 處理器的開發(fā)要求。由于EM8623L是一款沒有MMU 的處理器, 因此本系統(tǒng)采用uC linux 作為操作系統(tǒng)內(nèi)核。
中間層包括私有協(xié)議棧模塊, PPPOE ( Po int- to- po intpro tocol over E thernet)模塊, 音視頻解碼模塊和2D圖形加速器模塊。這些模塊處在實(shí)時(shí)操作系統(tǒng)層和應(yīng)用程序?qū)又g,向上提供API接口供應(yīng)用程序調(diào)用, 向下通過實(shí)時(shí)操作系統(tǒng)實(shí)現(xiàn)API接口函數(shù)到硬件驅(qū)動(dòng)層的映射。私用協(xié)議棧模塊是一種基于UDP的私有可靠的數(shù)據(jù)報(bào)協(xié)議, 為支持遠(yuǎn)程大數(shù)據(jù)量下載而自主設(shè)計(jì)的。該協(xié)議??筛鶕?jù)不同的網(wǎng)絡(luò)丟包率采取自適應(yīng)重發(fā)、補(bǔ)發(fā)等容錯(cuò)機(jī)制, 克服了UDP協(xié)議數(shù)據(jù)傳輸?shù)牟豢煽啃?。在網(wǎng)絡(luò)丟包率較高的網(wǎng)絡(luò)環(huán)境中能表現(xiàn)出較為強(qiáng)勁的數(shù)據(jù)接收能力, 較好的滿足了大數(shù)據(jù)量高清媒體的高速可靠下載任務(wù), 有效數(shù)據(jù)下載率可達(dá)現(xiàn)有帶寬的80%以上。PPPOE模塊支持系統(tǒng)ADSL網(wǎng)絡(luò)接入功能, 通過將開源的標(biāo)準(zhǔn)L inux上的PPPOE代碼移植到嵌入式uC linux 內(nèi)核實(shí)現(xiàn)。音視頻解碼模塊是Sigma DesigNS開發(fā)的一個(gè)完整的文件播放器, 用于播放EM86231硬解碼支持的多標(biāo)準(zhǔn)音視頻文件和先進(jìn)的顯示處理功能(支持HDM I/YPbPr/AV 等視頻輸出和S /PDIF, 雙聲道等音頻輸出)。2D圖形加速器支持高速OSD和GU I,為高清晰度顯示器提供高質(zhì)量的圖像。
應(yīng)用程序?qū)犹幱谲浖到y(tǒng)的最頂層, 實(shí)現(xiàn)系統(tǒng)應(yīng)用軟件的主體功能, 主要包括遙控器接收處理, 圖形用戶界面顯示, 高清媒體文件本地下載, 網(wǎng)絡(luò)在線升級(jí), 系統(tǒng)登陸遠(yuǎn)程服務(wù)器的注冊(cè)認(rèn)證, 視頻/音頻/圖片/飛字等的分時(shí)控制播放和組合播放等。
3.2 系統(tǒng)任務(wù)設(shè)計(jì)
針對(duì)高清媒體信息發(fā)布所要求的準(zhǔn)確性, 實(shí)時(shí)性和和即時(shí)性, 本系統(tǒng)主要設(shè)計(jì)了四個(gè)系統(tǒng)任務(wù), 分別是: 主控任務(wù)、計(jì)時(shí)線程、網(wǎng)絡(luò)任務(wù)線程和飛字播放線程。主控任務(wù)主要負(fù)責(zé)各任務(wù)調(diào)度, 監(jiān)控服務(wù)器對(duì)主窗口和飛字窗口發(fā)出的控制命令(如暫停, 快進(jìn), 快退, 停止, 繼續(xù)等操作) , 以及根據(jù)下載到本地硬盤的各種節(jié)目制作單播放相應(yīng)的媒體節(jié)目, 可以實(shí)現(xiàn)順序播放, 插播控制,按時(shí)間播控和手動(dòng)播放等。網(wǎng)絡(luò)任務(wù)線程包括控制信息收發(fā)線程和數(shù)據(jù)下載線程。控制信息收發(fā)線程和數(shù)據(jù)線程完成高清媒體文件的遠(yuǎn)程下載和本地存儲(chǔ), 控制信息收發(fā)線程主要負(fù)責(zé)協(xié)議的握手, 即協(xié)議信息發(fā)起端在200ms內(nèi)未等到約定協(xié)議信息的到達(dá), 便判定信息超時(shí)并進(jìn)行重發(fā); 數(shù)據(jù)線程主要負(fù)責(zé)網(wǎng)絡(luò)推送的媒體文件的本地下載和存儲(chǔ)。
計(jì)時(shí)線程主要負(fù)責(zé)獲得當(dāng)前的系統(tǒng)時(shí)間, 然后把系統(tǒng)時(shí)間與本地時(shí)間控制列表中每條記錄的播放時(shí)間、插播控制列表的每條記錄的播放時(shí)間進(jìn)行比較, 如果有記錄的播放時(shí)間到, 則進(jìn)行相應(yīng)的播放處理, 播放處理分為主窗口和飛字窗口。飛字播放線程實(shí)現(xiàn)根據(jù)飛字循環(huán)播放列表, 飛字插播列表, 飛字時(shí)間控制列表中的節(jié)目順序進(jìn)行相應(yīng)的飛字播放操作。系統(tǒng)整體工作流程具體步驟如下:
( 1)啟動(dòng)bootloader, 進(jìn)行必要的硬件初始化;
( 2)從flash中啟動(dòng)rom fs;
( 3)判斷是否啟動(dòng)成功, 如果成功的話, 接下來解壓app bin g z, 進(jìn)行內(nèi)核的初始化, 加載相應(yīng)的設(shè)備驅(qū)動(dòng), 啟動(dòng)上層的應(yīng)用程序。
( 4) 如果不成功則從硬盤中讀取rom fs b in, 并寫入ROM 中, 并重復(fù)進(jìn)行( 3) 操作;
( 5)讀取flash中默認(rèn)的配置參數(shù)并設(shè)置相應(yīng)的參數(shù);
( 6)啟動(dòng)DHCP, 獲取I P地址、網(wǎng)關(guān)、DNS 服務(wù)器IP、子網(wǎng)掩碼等;
( 7)啟動(dòng)網(wǎng)絡(luò)線程任務(wù), 進(jìn)行終端與服務(wù)器的對(duì)接, 注冊(cè)認(rèn)證; 媒體數(shù)據(jù)下載等; 如果與服務(wù)器連接成功, 則同步終端系統(tǒng)時(shí)間;
( 8)啟動(dòng)主控任務(wù), 按照播放優(yōu)先級(jí)播放指定播出列表節(jié)目。主控任務(wù)流程圖如圖2所示。
圖2 主控任務(wù)流程
4 結(jié)束語
本文設(shè)計(jì)了一個(gè)基于EM8623L的高清媒體發(fā)布終端, 具有低功耗, 結(jié)構(gòu)緊湊, 高穩(wěn)定性等特點(diǎn)。支持高效可靠的高清媒體節(jié)目本地下載; 支持順序播放、即時(shí)播放和定時(shí)播放功能; 支持幾乎所有高清視頻媒體的流暢播放; 能夠?qū)崿F(xiàn)視頻、音頻、圖片和滾動(dòng)字幕等多媒體信息的組合播放; 并接受前端控制系統(tǒng)的實(shí)時(shí)監(jiān)控; 具有多種音視頻輸出接口, 支持1080P純高清顯示。目前結(jié)合前端控制系統(tǒng)在銀行, 機(jī)場等場所已經(jīng)得到廣泛推廣和應(yīng)用。
評(píng)論