mpeg-4 bifs overview
DESCRIPTION
MPEG-4 BIFS Overview given during the WorldDMB TC seminar on May 25th, 2011.TRANSCRIPT
![Page 1: MPEG-4 BIFS Overview](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/1.jpg)
MPEG-4 BIFSBInary Format for Scenes
Cyril Concolato
WorldDMB TC Seminar
25/05/2011
![Page 2: MPEG-4 BIFS Overview](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/6.jpg)
page 6
BIFS Shape Sub-Tree
ShapeShape
ApperanceApperance
Material2DMaterial2D
LinePropertiesLineProperties
RadialGradientRadial
GradientTransform
2DTransform
2D
RectangleRectangle
![Page 7: MPEG-4 BIFS Overview](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/8.jpg)
page 8
BIFS Grouping and Positioning Tree
GroupGroup
ShapeShape
RectangleRectangle
Transform2Dtranslation 100 100Transform2D
translation 100 100
ShapeShape
CircleCircle
![Page 9: MPEG-4 BIFS Overview](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/9.jpg)
page 9
BIFS Complex Positioning
![Page 10: MPEG-4 BIFS Overview](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/11.jpg)
page 11
Integration 2D / 3D
Specific nodes for creating 2D/3D context• 3D: « Layer3D », « CompositeTexture »• 2D: « Layer2D », « CompositeTexture2D »
![Page 12: MPEG-4 BIFS Overview](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081506/558c897fd8b42a073d8b466b/html5/thumbnails/18.jpg)
BIFS Examples
page 18
Cartoons Animated 3D Worlds
PowerPoint Slides Maps