二、 相關研究與探討
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 視