• 沒有找到結果。

MPEG-4 場景描述語言

二、 相關研究與探討

2.2 MPEG-4 場景描述語言

目前 MPEG-4 系統的場景描述語言,大致上有 BIFS,BT script,與 XMT 三 種,以下分別作介紹:

2.2.1 BIFS

BIFS 是 Binary Format for Scenes 的縮寫,在 MPEG-4 系統中,是一種 Binary Format 的場景描述語言,MPEG 組織對 BIFS 做以下的定義[1]:

“A coded representation of interactive audio-visual scene description information (Binary Format for Scenes – BIFS)”

在 MPEG-4 檔案中,壓縮好的場景描述部分稱為 BIFS stream,可以用來控制 場景內物件的動作,管理場景劇情的演出,但是由於 BIFS 是經過壓縮後的二元 碼,所以這些二元碼以使用者的角度來看,只是一堆雜亂無章的序列,無法直接 告知使用者此場景的相關訊息,屬於較低階的表示方式。

2.2.2 BT script

由於 BIFS 是以二進位的方式編碼,並不適合編輯者直接撰寫來描述場景的 控制,因此,ENST 公司[10]根據 VRML 的語法,發展一種 BIFS Text(BT)的格 式,顧名思義就是 BIFS 的 textual format,方便編輯者以撰寫程式語言的方式,來 達到場景控制的目的,另外,BT script 將 BIFS 表達的意義以 Node 的方式作對應,

可以很精確的描述 BIFS stream 的意思。

2.2.3 XMT

XMT 分成 XMT-A 與 XMT-O 兩種[1],都是以 XML 為架構[22]的 textual format 場景描述語言。MPEG 組織將 XMT-A 訂為 low-level 的 MPEG-4 場景描述 語言,與 BT script 相同,可以很精確的表達 BIFS stream 的意義。而 XMT-O 是 high-level 的 MPEG-4 場景描述語言,除了以 XML 語法為架構外,並且由 SMIL 為基礎作延伸,與 XMT-A 不同的地方是,XMT-O 隱藏 BIFS 一部份的複雜性,

企圖以較容易的程式撰寫方式來控制場景物件的關係,但是,也因為如此,XMT-O 對場景內物件的控制力比起 XMT-A 或是 BT script 就顯得弱了許多。

2.2.4 分析比較

接下來,我們以一個例子說明 BT script 與 XMT 如何描述場景的物件,圖 10 表示在場景內有一張 JPEG 格式的圖片,若以 BT script 來表達,如圖 11 所示,

若以 XMT-A 來表達,如圖 12 所示,若以 XMT-O 來表達,如圖 9 所示。我們可 以發現,BT script 與 XMT-A 的語法很接近,都需要分別撰寫場景描述與物件描 述子兩部分的程式碼,不同的地方在於 BT script 以 VRML 語法為架構,而 XMT-A 則是以 XML 為架構。另外,XMT-O 則是三種描述語言中最簡易的一種,場景描 述程式碼與物件描述子程式碼是寫在同一個區域,複雜性較低。

<img src="picture.jpg" dur="indefinite">

<transformation scale="1.0 1.0"/>

</img>

圖 9 以 XMT-O 語法表示圖片

圖 10 圖片之呈現

//場景描述:

Shape {

appearance Appearance {

material Material2D { filled true } texture ImageTexture { url 11 } }

geometry Bitmap { scale 1.0 1.0 }

}

//物件描述子:

ObjectDescriptor {

objectDescriptorID 11 esdescr [

ES_Descriptor { es_id 11

decConfigDescr DecoderConfigDescriptor { objectTypeIndication 108 streamType 4 }

slConfigDescr SLConfigDescriptor { }

muxInfo muxInfo { fileName picture.jpg } }

] }

圖 11 以 BT script 語法表示圖片

<!--場景描述:-->

<Shape>

<appearance>

<Appearance>

<material><Material2D filled="true"/></material>

<texture><ImageTexture url="11"/></texture>

</Appearance>

</appearance>

<geometry>

< Bitmap scale="1.0 1.0"/>

</geometry>

</Shape>

<!--物件描述子:-->

<ObjectDescriptor objectDescriptorID="11">

<esdescr>

<ES_Descriptor es_id="11">

<decConfigDescr>

<DecoderConfigDescriptor objectTypeIndication="108" streamType="4"/>

</decConfigDescr>

<slConfigDescr><SLConfigDescriptor/></slConfigDescr>

<muxInfo>

本節介紹兩個現有的 MPEG-4 編輯工具,分別是 Digimax 的 MAXPEG Author

[13]與資策會多媒體實驗室的 E-Learning Authoring Tool[15]。透過本節的介紹,

可以知道這些 MPEG-4 編輯工具的優缺點。

在編輯場景的時候可能會用到 Scene Tree 視窗或是 JavaScript 語言,Scene Tree 視

相關文件