• 沒有找到結果。

行政院國家科學委員會補助產學合作研究計畫成果完整報告

3. 實驗及成果

在第一年計畫中,我們利用前一節所研發的技術成果,完成符合MPEG-4 標準的第

十一部份中所定義如何與其他使用者共享場景的機制。這個機制定義了必要的Muti-user Node (MUNode),以及伺服端與用戶端傳遞場景更新訊息的格式(MUCommand),並建 議了伺服端所要實作的通訊模組(MU Server Modules)。其概念可由圖<十二>所示。

Client 1

MUTech Message Handler

DMIF

DMIFInstancer MUChannel Managaer

Client 1

Session Control Control Plane

Shared Zones & Shared ObjectsObjects & Scenes Data Plane

AV-Stream

MSC(MUTech Session Controller)

> setting up control channel

> assigning clientID

> maintaining the session state MSC(MUTech Session Controller)

> setting up control channel

> assigning clientID

> maintaining the session state

MBK(MUTech Bookkeeper)

> synchronizing the state of shared objects

> maintaining a complete scene graph containing all zones and nodes MBK(MUTech Bookkeeper)

> synchronizing the state of shared objects

> maintaining a complete scene graph containing all zones and nodes

MMH(MUTech Message Handler)

> providing a interface to client for sending/receiving MU msg MMH(MUTech Message Handler)

> providing a interface to client for sending/receiving MU msg

圖<十二>

„ MSC(MUTech Session Controller):

此模組如其名般,管理使用者對 Session 的控制訊息,以及紀錄使用者參與狀態,

處理MUControlMessage 訊息。

„ MBK(MUTech Bookkeeper):

此模組有一份Session 的複製 Scene Tree,可以使用此 Scene Tree 對使用者同步,以 及作MUCommandMessage 訊息的傳輸

結合MSC 與 MBK,圖<十三>表示出多 Session 下的架構。

MSC

MBK MBK MBK

Client Client Client Client Client Client Client Client Initialize

Scene Tree Scene Tree Scene Tree

MUCommandMessage

MUCommandMessage MUCommandMessage

MUControlMessage

圖<十三>

為了更近一步驗證我們多人平台的可行性,我們再利用這套系統開發了下述三個多 人世界下的應用,以證實其實用性。

多人棋類遊戲

在我們的系統架構下,可以很輕易的將外部的單人棋類小遊戲轉換為三維環境下的 多人連線棋類遊戲。

圖<十四 >

多人虛擬會議室

利用我們的系統,藉由嵌入投影簡報軟體以及繪圖軟體,便可以很輕易的在虛擬會 議室中提供功能強大的投影簡報功能以及共享白板。

圖<十五>

家庭多媒體娛樂中心

我們提供了一個家庭虛擬實境的空間,在這個空間裡可以與遠端的使用者一起玩電 動遊戲機的遊戲以及同步瀏覽三維空間中的相片集。

圖<十六>

第二部份 - 【多媒體應用程式快速開發系統設計及實作】

1. 前言與研究目的

隨著時代的演進,個人電腦幾乎是每戶都必備的工具或娛樂設備,而多媒體也隨之 與日俱增,對大多數人而言,更是生活不可或缺的一部分。所謂的多媒體,一般包括了 影片、聲音、動畫、圖片、音樂、文字等等。這些多媒體充斥人們的周圍,在日常生活 中,每天都會接觸到。

隨著人們對於多媒體的需求量越來越大,漸漸地,人們也會想要自己來製作多媒體 應用。製作符合個人想法的多媒體應用的需求,於是漸漸顯現出來。例如想要具體化地 展示出自己的想法時,人們會希望能夠快速地、方便地做出一個多媒體的模型,甚至可 以進一步地,繼續發展直到一個完整的多媒體應用。

對一般的使用者而言,要製作多媒體最重要的要素就是快速性、方便性及多樣性。

Script 語言,特色為語法簡單、易學,很適合用來做為快速開發的語言,因此為了達到 快速性及方便性,我們用Script 語言來做為我們的開發語言。MPEG-4 提供了豐富的多 媒體內容,因此為了達到多樣性,我們用MPEG-4 做為 RAMAD 系統的其中一個元件。

然而製作多媒體是一件很複雜的工作,即使對一個很有經驗的多媒體開發者而言,

要製作出一個多媒體應用也不是一件很容易的事,因此要設計出一個環境,讓一般使用 者可以很快速地、很方便地製作出一個多媒體應用,是一個相當富有挑戰性的研究題 目。我們的目的就是希望能設計並且實作出一個多媒體應用程式快速開發系統(RAMAD system,RApid Multimedia Application Development system)。

RAD(Rapid Application Development)是一個開發一般應用程式的方法論,其與傳 統開發流程的比較如圖一所示。根據以往的開發經驗,在開發應用程式的過程中是需要 重複的修改、測試,用傳統循序式的開發方式,測試結果不是預期的就必須重頭來過,

如此耗費大量的人力、時間及金錢;而 RAD 就是把開發過程變成循環式的開發過程,

在開發過程中,可以作修改、測試、再修改、再測試,如此週而復始,直到達到目標。

RAD 的方式不但開發流程不用重新來過,節省許多的資源,更可以開快開發的速度。

而重複修改的狀況,對於開發多媒體應用程式而言,更是如此,因此我們利用 RAD 的 精神來設計出一個可以快速地開發多媒體應用程式的系統。

圖一︰RAD 開發流程與傳統開發流程的比較

RAMAD Class Library Application layer

(implemented by Python)

在架構圖中,紅線以上的為應用層(Application Layer),主要是由Python 語言所實