3.1 UPnP媒體流模塊的實(shí)現(xiàn)
我們實(shí)現(xiàn)的UPnP媒體流模塊符合Intel的網(wǎng)絡(luò)多媒體產(chǎn)品規(guī)范[3](Networked Media Product Requirements:NMPR v1.0)。NMPR規(guī)范將媒體設(shè)備劃分為3部分: 媒體服務(wù)器(Media Server)、播放器(Renderer)和控制點(diǎn)(Control Point),并且利用UPnP協(xié)議完成這3部分之間媒體數(shù)據(jù)和控制命令的傳輸。我們實(shí)現(xiàn)的UPnP媒體流模塊實(shí)際上包含了Renderer和Control Point這兩部分,媒體服務(wù)器可以是符合NMPR規(guī)范的任意的PC機(jī)。

圖6 UPnP媒體流模塊的實(shí)現(xiàn)
圖6描述了UPnP媒體流模塊的實(shí)現(xiàn)過(guò)程。首先應(yīng)用代理模塊向控制點(diǎn)發(fā)送用戶的數(shù)據(jù)請(qǐng)求,控制點(diǎn)接收到用戶的請(qǐng)求后就與媒體服務(wù)器進(jìn)行通信;然后將媒體服務(wù)器的響應(yīng)信息返回給應(yīng)用代理模塊,隨后媒體服務(wù)器將用戶所請(qǐng)求的媒體數(shù)據(jù)傳輸給Renderer;最后Renderer將這些數(shù)據(jù)返回給應(yīng)用代理模塊,再由通信協(xié)議模塊傳輸給ESS子系統(tǒng),再由ESS子系統(tǒng)對(duì)這些媒體數(shù)據(jù)進(jìn)行解碼輸出。同時(shí)控制點(diǎn)還可與Renderer相互通信,實(shí)現(xiàn)一系列媒體播放的功能。
3.2 DPRAM媒體數(shù)據(jù)傳輸功能的實(shí)現(xiàn)
通信協(xié)議模塊實(shí)現(xiàn)的主要功能有:將Packet拆分成多個(gè)mPacket;向通信驅(qū)動(dòng)模塊發(fā)送或接收mPacket;向應(yīng)用代理模塊發(fā)送用戶的數(shù)據(jù)請(qǐng)求和控制命令,并接收服務(wù)器的響應(yīng)消息;管理請(qǐng)求隊(duì)列和響應(yīng)隊(duì)列。完成一次IXP子系統(tǒng)和ESS子系統(tǒng)之間媒體數(shù)據(jù)傳輸所涉及的數(shù)據(jù)變化如圖7所示。

圖7 IXP子系統(tǒng)和ESS子系統(tǒng)之間數(shù)據(jù)傳輸所涉及的數(shù)據(jù)變化
應(yīng)用代理層到DPRAM的數(shù)據(jù)傳輸過(guò)程為:① 應(yīng)用層根據(jù)需要將相應(yīng)的數(shù)據(jù)傳遞到傳輸層;② 傳輸層收到報(bào)文后檢查報(bào)文的長(zhǎng)度,如果報(bào)文長(zhǎng)度大于底層所能夠傳輸?shù)膱?bào)文長(zhǎng)度,則傳輸層將報(bào)文進(jìn)行拆分,添加相應(yīng)的報(bào)頭信息,以保證接收端能夠正確地重組,并傳遞給鏈路層;③ 鏈路層收到上層報(bào)文后,在報(bào)頭添加相應(yīng)的控制信息,以保證接收端能夠正確地存取數(shù)據(jù),然后將報(bào)文發(fā)送到DPRAM上。反之,由DPRAM到應(yīng)用層的數(shù)據(jù)傳輸過(guò)程為:① 鏈路層從DPRAM中讀取報(bào)文,并去掉相應(yīng)的報(bào)頭信息,將數(shù)據(jù)傳遞給傳輸層;② 傳輸層收到底層傳遞的數(shù)據(jù)后,根據(jù)該層添加的報(bào)頭信息重組報(bào)文,然后傳遞給應(yīng)用層。
4 結(jié)束語(yǔ)
本文結(jié)合了IXP網(wǎng)絡(luò)處理器和ESS解碼芯片的特點(diǎn),實(shí)現(xiàn)了一種具有高性價(jià)比的家庭媒體中心系統(tǒng)。它充分滿足了數(shù)字媒體在家庭內(nèi)部以及外部Internet充分流通和共享的需求。





