• 沒有找到結果。

整合成果:多媒體通訊與串流平台

本計畫之多媒體通訊與串流整合平台為MPEG-21 標準 Part 12 (以下簡稱 Test Bed)。其主要目的是將多種先進的多媒體技術實作並整合於此架構中,例如可調層次式 視頻編碼技術,串流多媒體伺服器與資料庫,智財管理與保護等等。平台的發展歷程自 2002 年 12 月開始,先將此測試平台提案到 MPEG 標準委員會,成為 MPEG-21 Part 12:

Multimedia Test Bed for Resource Delivery 的工作草案(Working Draft)。經過持續努力,

這個工作草案於2003 年 12 月晉升至大會草案(Committee Draft/Proposed Draft of Tech-nical Report)。目前本案已正式成為 MPEG 技術報告類標準文件: ISO/IEC JTC 1/SC 29, Inofrmation Technology– Multimedia Framework (MPEG-21) – Part 12。其後,本研究群在 此定案的Test Bed 參考軟體上繼續進行研發,例如針對當時 MPEG-21 尚不明確的智慧 財產權保護機制,持續追蹤標準的進展,進而加強Test Bed 原有功能,結合另一參考軟 體,目前已可展現部份MPEG-21 Rights Expression Language (REL) 功能,並從中窺見 未來多媒體內容保護技術的輪廓。

以下,將大略描述本計畫Test Bed 的設計與實作。整個 Test Bed 的執行環境可區分 為三大部份,如圖 15 所示。Server 端負責多媒體串流傳輸,將 Client 端要求的內容自 資料庫中取出,加以適當切割後傳至網路上;Client 端接收到串流資訊後加以組合、解 碼、以及播放;為了在區域網路中模擬可能發生的傳輸錯誤,Test Bed 包含了一個 Network Emulator,用以模擬諸如 Packet Loss、Packet Delay、Bandwidth 變化等等傳輸狀況。此 種執行環境雖然較為複雜,卻提供相當大的彈性,在研究時可以單獨使用任何一個部份

FGS Server

Player 2 (single layer) Ethernet Interface

Player 2 (single layer) Ethernet Interface

„ Digital Item Adaptation (DIA): 這是 MPEG-21 中相當重要的一個概念。同樣的

數位內容,因為網路傳輸條件或接收端的能力的限制,必須視情況加以調整,

搭配,在session 建立時即可根據多媒體類型決定 DIA 元件,接著在依據不同 的條件 (Test Bed 中目前實作 network profile) 調整輸出串流的資訊量。

„ Streamer: 主要功能為切割多媒體 bitstream,使其符合網路傳輸,處理後的資 料形成Packet。此元件也會根據輸入的 QoS 資訊決定該如何向 DIA 元件取得 資料。

„ Packet Buffer: 為一 ring buffer,用以暫存尚未送出的 Packet。

„ IPMPFilter (PostDIAFilter): 在 Test Bed 的設計中,Server 端只有一個 IPMP Control Point 可供處理資料,其位置在 DIA 與 Streamer 之間。其意義為處理即 將送出的bitstream,例如對串流加密等等。

„ Server Controller: 這是 Server 端最複雜的元件,主要功能是控制 Server 端其他 元件的啟動、運作、關閉,而session 的建立與結束也是由此元件負責。

„ QoS Decision: 收集不同的傳輸限制條件,並將控制訊號送至相關的元件,以 便控制傳輸品質。目前的條件來源為Network Profile 與 Packet Buffer 的狀態。

z Client 端

„ Packet Buffer: 與 Server 端的 Packet Buffer 為相同的 ring buffer 結構,但則是作 為已接收尚未處理的Packet 暫存區。不同的 bitstream 會對應一個專屬的 Packet Buffer。

„ Stream Buffer: 簡單的說,Stream Buffer 是將 Packet 組合成 bitstream 的暫存區。

但因為Client 端可能碰到 Packet Loss 的情形,所以 Stream Buffer 在組合 bitstream 時仍以 ring buffer 的管理方式,且依據時間順序排列,未收到的時序 則以place holder 暫時取代。一個 Stream Buffer 對應一個 Packet Buffer,以方 便處理packet re-transmission。

„ Decoder: 將組合後的 bitstream 解壓縮為可播放的格式。如果要對抗傳輸錯誤,

error concealment 功能可在此元件內實作。

„ Output Buffer: 解壓縮後的資料置放於此暫存區中,供播放元件讀取。

„ IPMPFilter (PreDecoderFilter): 在 Client 端,IPMP Control Point 有兩個位置。這 是第一個Control Point,位於 Stream Buffer 與 Decoder 之間,目的是處理接收 到的bitstream。其功能對應於 Server 端的 PostDIAFilter。因此,如果 PostDIAFilter 中放入加密Tool,則此處放入的就是解密 Tool。

„ IPMPFilter (PostDecoderFilter): 在 Client 端,IPMP Control Point 有兩個位置。

這是第二個Control Point,位於 Decoder 與 Output Buffer 之間,目的是處理解 decode 後的資料,例如加入 digital watermark,防止隨意散佈數位內容。

„ Client Controller: 這是 Client 端相當複雜的元件,負責管理 Client 端其他元件 的運作。當session 建立或結束時,Client Controller 與 Server Controller 互相通 訊並交換相關資訊。當傳輸有錯誤時,Client Controller 也負責發出重傳命令,

要求Server 端重送特定的 Packet。

„ QoS Decision: Client 端的 QoS 設計目的是根據網路狀況分析,再將調整參數送 至Client Controller 進行處理。不過目前因為 Network Profile 為已知,所以此部 份的實作為無動作。

„ Packet Loss Monitor: 負責監控 Packet Loss 狀態,如果還在時間容許範圍內,

則透過Client Controller 發出 re-transmission 的要求。

z Network Emulator

„ NISTnet: 由 NIST 開發的 Linux kernel module 以及相關的 user mode utilities,

用來在兩張網路卡之間模擬各種網路傳輸狀況,可設定多種參數,例如packet loss rate 與 transmission delay 等等。

„ Network Profile: 為一 Test Bed 定義的文字檔案,其格式可描述某一時間區間之 packet loss rate、delay、bandwidth 等等。

利用上述的各項元件,整個Test Bed 的運作流程簡述如下:Client 確定欲播放的媒 體URL 後,Client Controller 與 Server Controller 透過 RTSP 建立 session;Server 端確認 媒體存在後,根據要求將相關的元件設定好,並開始把媒體的設定資訊透過Server Controller 送至 Client 端;Client 根據接到的設定資訊將各元件啟動,並傳送播放指令到 Server;Server 從 Media Database 中取出 bitstream,根據 QoS 資訊進行 DIA,切割 bitstream 成適合傳輸的大小,並轉換為Packet;Packet 經過 RTP channel 傳送到 Client 端;Client 將收到的Packet 組合成 bitstream,送入 Decoder 解碼,解碼結果放入 Output Buffer 供 player 播放。在運作過程中,Client 端可根據 Packet Loss 情況,透過 Client Controller 發 出re-transmission 需求,而 Server 端則據此透過 RTP 重送 Packet。如果有 IPMP 的需求,

則必須在session 建立時,在 Server 端啟動必須的 Tool,並透過 RTSP 將 IPMP 相關資訊 傳至Client 端,待 Client 將相關的 Tool 啟動並連接至 IPMPFilter 後,才能發出播放命令。

本計畫完成的MPEG-21 Test Bed 標準 reference software 功能如下:

z 支援的媒體格式:MPEG-4 ASP (Advanced Simple Profile)、FGS (Fine Granularity Scalability)、BSAC (Bit Sliced Arithmetic Coding)

z 支援的 IPMP Tool:DES Tool (Data Encryption Standard) z 可展示的多媒體傳輸:

„ 單一 Video (ASP or FGS)、單一 Audio (BSAC)、影音 (ASP+BSAC or FGS+BSAC)

„ 在無 IPMP 狀況下,可搭配各式 Network Profile 測試

„ 可使用 GUI 或 Command-line 版本的 Client 端。GUI 版本直接播放媒體於視窗 中;Command-line 版本則將 Output Buffer 的資料依序寫入指定的檔案中。

本計畫於MPEG-21 Test Bed 標準制定程序定案後,仍持續注意 MPEG-21 標準的進展,

並適時修正或增加功能。例如:

z 修正 Initial Object Descriptor (IOD) 處理程序 buffer 過小的問題。

z 結合 MPEG-21 Rights Expression Language (REL) 的 ContentGuard reference soft-ware,實作 IPMP REL Tool,為 Test Bed 加上 REL 處理功能。

z 目前可展現的 IPMP 功能為:

„ 以 DES 加密傳送的 bitstream。

„ 每隔一段時間改變 DES key 以提高安全度。

„ 修改 Client 端使其直接讀取 local file 播放。

„ 利用 REL 達到 preview 類型的應用。此種應用允許一小段時間內無限制播放 bitstream,當時間超過時,則必須有 license 才能取得播放權限。

„ 利用 REL 達到類似 OMA Super Distribution 類型的應用。在此種應用環境中,

加密的bitstream 可以任意散佈,播放端必須擁有相對應的 license 才能取得播 放權限。