• 沒有找到結果。

...

...

BIFS Command (Replace Scene)

e.g. Audio Source

Audio Stream

圖 5:OD 使得 SD 和 ES 做一連結

(2) SD(Scene Description) : 場景描述資訊是由場景描述語言(scene

description language)來完成。場景描述語言是用來描述物件之間的行為,彼 如說物件的位置、大小、物件和物件之間的關係等等。MPEG-4 所使用的場 景描述語言為 BIFS(Binary Format for Scene)。

‹ 針對 MPEG-4 system 的 binary format 場景描述語言,根據 VRML[15]的語法所延伸

‹ Node、Field 為構成場景的基本元素

‹ 三種 BIFS command (Replace, Insert, Delete)控制場景劇情

‹ Route 和 Event 控制場景內物件之間訊息的傳遞

些物件所構成的場景,需要額外的系統資訊來描述物件間時間與空間的關係,如 物件特效與物件的合成還有物件互動的資訊。這些建構場景所需要的系統資訊,

稱為場景描述(Scene Description)。如圖所示,這是一個場景的例子,若是將這個 場景以樹狀結構來描述就會如圖所示。

multiplexed downstream control / data

multiplexed upstream control / data

audiovisual presentation

3D objects 2D background

voice sprite

hypothetical viewer projection

z user events

audiovisual

speaker display

user input

圖 6:一多媒體物件所組成的場景

scene

globe desk

person audiovisual

presentation 2D background furniture

voice sprite

圖 7:上圖中物件所構成的場景樹

在 MPEG-4 媒體資料,是以 BIFS(Binary Format for Scene)來描述場景資訊,

BIFS 是 VRML 語言的擴充,並且 MPEG-4 新增了數個 VRML 所沒有的機制: 資 料串流、場景更新、資料壓縮。

在 BIFS 的定義中,一個場景主要由 nodes、fields、routes 所構成。經由各 種大小不同的 node 和 field 相構成就可以成為一個多媒體物件( MediaObject ),

而多媒體物件的互動行為則必須由 routes 來完成。

„ Node : 場景構成的基本單位,可是看為是一種物件

„ Field : field 為 node 的屬性,舉例來說 FontStyle node 所擁有的 fields 有以 下: family, style, size, spacing。

„ Event :

‹ 大部分的 Node 有能力去處理進入事件(eventIns),靠著 eventIns 指示, Node 可改變目前的狀態

‹ Node 可以對改變的狀態有所反應,藉著送出一些發生事件 (eventOuts)

„ Route : 為 field 之間互相傳遞事件(event)的管道。有些特別的功能必須利 用 routes 才能完成,如使物件在場景中的移動、接收滑鼠的 click event 等。

在場景描述的架構中,場景可以隨時間產生不同的變化,所以 BIFS 定義了 場景描述命令(BIFS Command)來完成這項工作,可以插入、刪除、取代節點和 取代整個節點,透過這些命令可以改變整個場景的樹狀結構及節點內容,達到場 景轉換的目的。

ROUTE: routeID Insert

Delete

Replace

Replace Scene

Node: nodeID

Id xValue : nodeID

ROUTE: nodeID1

Inde x Begin End

NodeVa lue Inde x

Node: nodeID Id xValue : nodeID

Node: nodeID

Id xValue : nodeID

ROUTE: routeID

NodeVa lue

Inde x

nodeID1 Scene: Scene Va lue

BIFS Update

圖 8:BIFS 指令的種類

下面這個例子是用route來達成動畫的效果,這裡的動畫是一多媒體物件沿著 它所設的路徑移動。TimeSensor節點產生時間資訊給PositionInterpolator2D節點,

PositionInterpolator2D節點產生位置資訊給Transform2D節點,這樣這個多媒體物件 就會延著動畫路徑移動。

BIFS 語法:

<Route fromNode="Node1" fromField="field1" toNode="Node2" toField="field2"/>

Transform2D TimeSensor PositionInterpolator2D

value change

translation

圖 9:Route 的運作模式

相關文件