X3D Binary Compression Capabilities and Plans

From Web3D.org
Revision as of 10:33, 21 March 2013 by Brutzman (Talk | contribs)

Jump to: navigation, search

Synopsis: Lots of work has been accomplished using X3D Compressed Binary Encoding standard for a wide variety of potential uses. X3D has an 80%-complete solution already available that meets various requirements for a general 3D transmission format. Further improvements and standards-based partnerships are possible.

In progress: We are building a draft 2013 Call For Contributions to further advance these technical capabilities for X3D.

Existing Compression Usage for X3D and VRML97

  • Approved ISO standard Compressed Binary Encoding (CBE) for X3D.
  • Optional, alternative gzip compression and MIME Type definitions for X3D.
  • Optional, alternative gzip compression for VRML97.
    • Original compression technique of applying gzip to .wrl compressed VRML97 files was called .wrz.
    • This emerged as a common practice when gzip was originally used. No formal specification of .wrz or corresponding mime type was produced.
    • Occasionally authors might also gzip .wrl files while retaining the .wrl file extension.

Polygon Reduction and Geometric Compression

Formal specifications:

Best practices:

Data-Centric Binary Encodings

Network Streaming

  • Multiple capabilities are already available in X3D for flexible network transmission.
    • Anchor, Inline, LOD, LoadSensor, Script and Prototype nodes support successive retrieval of content once initial model is displayed.
  • TODO: Willing to consider further addition of progressive-mesh geometric streaming technologies, perhaps by a public Call for Contributions. Note however that an effective progressive-mesh approach is likely dependent on the availability of a corresponding mesh compression algorithm.
  • Intellectual Property Rights (IPR) protections for X3D specification.
    • Patented technologies can be considered, but only when eventual use will be royalty free for X3D use (if eventually accepted).
    • Submitters can restrict access to patented submissions during member-only working group review, if desired.
  • TODO: Use cases and test examples can demonstrate whether http/https and local-file url retrieval are sufficient for a network protocol.
    • Other network protocols (Web sockets, P2P channels, etc.) might be possible, but only if security restrictions can be handled satisfactorily.
    • Javascript Object Notation (JSON) might be suitable for simple streaming of X3D scene-graph data via Script node or external HTML page, which can be useful for progressive mesh and other incremental network-update approaches.
    • JSON might have other uses as well, see Khronos work on Collada2JSON and glTF.
    • Further investigation needed.

X3D Implementations

The following tools implement the X3D Compressed Binary Encoding (CBE) standard.

Looking Ahead

  • Web3D's X3D and CAD Working Groups each have member commitments to pursue this continued innovative work in 2013.
  • TODO: An open workshop on 3D Transmission Formats might be a thorough way to compare candidate technologies to complete these capabilities.
  • Consider common, sharable technical strategies with MPEG-4 and Collada.