Top Banner
MPEG-4 BIFS BInary Format for Scenes Cyril Concolato WorldDMB TC Seminar 25/05/2011
18

MPEG-4 BIFS Overview

Jun 26, 2015

Download

Technology

Cyril Concolato

MPEG-4 BIFS Overview given during the WorldDMB TC seminar on May 25th, 2011.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MPEG-4 BIFS Overview

MPEG-4 BIFSBInary Format for Scenes

Cyril Concolato

WorldDMB TC Seminar

25/05/2011

Page 2: MPEG-4 BIFS Overview

First Scene Description language of MPEG• First version standardized in 1999• Based on another ISO standard (VRML’97)

Builds on VRML (3D language) and adds• 2D Vector Graphics• Improved Text handling• Improved Media Management• Binarization• Streamability • XML formats: XMT• Access with Java Code (MPEG-J)

page 2

MPEG-4 BIFS Overview

Page 3: MPEG-4 BIFS Overview

A BIFS Scene is • a tree made of nodes• And a set of ROUTEs

Each BIFS node has• A type

- Graphical nodes (2D, 3D)- Audio nodes- Grouping, Transformation nodes- Interactivity nodes- Animation nodes

• An optional ID• A set of properties

- Single value or multiple values

page 3

MPEG-4 BIFS/VRML Principles

Page 4: MPEG-4 BIFS Overview

A BIFS Value is a typed values• Simple Types

- Booleans, Integer, Decimals (Single, Pair, Triplet), Color (R,G,B) [0,1]3, Times, Strings

• Complex Types- Nodes, BIFS Commands, ECMAScript Code

page 4

MPEG-4 BIFS/VRML Value Types

Page 5: MPEG-4 BIFS Overview

Every visual object requires a « Shape » node• With 2 properties: appearance and geometry

The geometry property holds a Geometric node• 2D geom. nodes: Rectangle, Ellipse, Curve2D…• 3D geom. nodes: Sphere, Box, IndexedFaceSet, …

The appearance property holds an Appearance node with the following properties• material: Nodes describing painting (filling, stroking)

…• texture and textureTransform: raster or vector

graphics images and transformations

page 5

BIFS Graphics Nodes

Page 6: MPEG-4 BIFS Overview

page 6

BIFS Shape Sub-Tree

ShapeShape

ApperanceApperance

Material2DMaterial2D

LinePropertiesLineProperties

RadialGradientRadial

GradientTransform

2DTransform

2D

RectangleRectangle

Page 7: MPEG-4 BIFS Overview

Global and Local Coordinate System • Origin = Center of the Window or Graphical Object• Axis: X rightward, Y upward

Units• Two units: pixel or meter (3D worlds)

Transformations• Using intermediate nodes• Either with transformation matrices or complex

layout algorithms

page 7

BIFS Positioning

Page 8: MPEG-4 BIFS Overview

page 8

BIFS Grouping and Positioning Tree

GroupGroup

ShapeShape

RectangleRectangle

Transform2Dtranslation 100 100Transform2D

translation 100 100

ShapeShape

CircleCircle

Page 9: MPEG-4 BIFS Overview

page 9

BIFS Complex Positioning

Page 10: MPEG-4 BIFS Overview

Rich-Media et Convergencepage 10

MPEG-4 BIFS 3D

MPEG-4 BIFS V1• VRML + Facial Animation + Mesh Compression

MPEG-4 BIFS V2• Body Animations

MPEG-4 AFX = Animation Framework Extension

• Subdivision Surfaces, Nurbs, Wavelet Compression, …• Interpolator Compression, Skeleton based animation• Improved texturing

See http://www.mpeg-3dgc.com/

Page 11: MPEG-4 BIFS Overview

page 11

Integration 2D / 3D

Specific nodes for creating 2D/3D context• 3D: « Layer3D », « CompositeTexture »• 2D: « Layer2D », « CompositeTexture2D »

Page 12: MPEG-4 BIFS Overview

Each property has a interactive type• eventIn – can receive events (write-only)• eventOut – can emit events (read-only)• field – cannot receive or emit event (constant)• exposedField – can emit and receive (read/write)

Two properties can be connected by a ROUTE• Emitting node + eventOut • Receiving node + eventIn• Requires the same value data type (e.g. Booleans)

page 12

BIFS Interactivity and Animations

Page 13: MPEG-4 BIFS Overview

page 13

BIFS Animation Principle

Requires 3 nodes and 2 routes

• Timer node = TimeSensor• Interpolation node = ScalarInterpolator, ColorInterpolator,

CoordinateInterpolator …• Animation target node = any node

TimeSensor ScalarInterpolator Transform2Droutes

…routes

fraction_changedset_fraction

value_changed translation

Page 14: MPEG-4 BIFS Overview

Update = declarative description of scene modifications• Using a node identifier (target)• A property of this node to modify (e.g. color, position…)• The index of the value of the property to modify (for arrays)

Update types• Insertion of a value, a node, a route• Replacement of a value, a node, a route• Deletion of a value, a node, a route• Replacement of the whole scene

Examples• REPLACE M.emissiveColor BY 1 0 0• DELETE ROUTE R1• INSERT AT MonPolygone.point[0] -50 -50

page 14

MPEG-4 BIFS Update

Page 15: MPEG-4 BIFS Overview

BIFS Command Stream• All access units are BIFS updates (not necessarily

related)

BIFS Animation Stream• All access units are REPLACE Updates, modifying

the properties of a global set of nodes/properties• Coded in a specific manner to exploit redundancy

- Quantization / Prediction / Arithmetic Codind

page 15

MPEG-4 BIFS Streams

Page 16: MPEG-4 BIFS Overview

Use of specific listener nodes• TouchSensor, InputSensor, PlaneSensor,

ProximitySensor … Routing of events from the listener towards a target

node• Requires same type of property value (e.g. Boolean ->

Boolean …)• Possible type castings using the « Valuator » node

Possible targets• Any node• The « Conditional » node

- Place holder for BIFS updates to be executed when needed• The « Script » node

- Place holder for ECMAScript code

page 16

BIFS Interactivity

Page 17: MPEG-4 BIFS Overview

The USE concept• Copy / Paste of scene tree• Used when 2 parts of the tree are

the same The PROTO concept• Parametric copy / paste• Used when 2 parts of the

tree are almost the same The EXTERNPROTO concept• PROTO outside the main scene • Library of Scene Components

page 17

Advanced Scene Tree Management

N1 USE N1

Page 18: MPEG-4 BIFS Overview

BIFS Examples

page 18

Cartoons Animated 3D Worlds

PowerPoint Slides Maps