Difference between revisions of "X3D Binary Compression Capabilities and Plans"

From Web3D.org
Jump to: navigation, search
(Polygon Reduction and Geometric Compression)
(Data-Centric Binary Encodings)
Line 42: Line 42:
 
** Relevant example scenes maintained as part of [http://www.web3d.org/x3d/content/examples/Basic/Security X3D Basic Examples Archive - Security].
 
** Relevant example scenes maintained as part of [http://www.web3d.org/x3d/content/examples/Basic/Security X3D Basic Examples Archive - Security].
 
* These capabilities meets most needs of digital authors for digital rights management (DRM).
 
* These capabilities meets most needs of digital authors for digital rights management (DRM).
* We will build a table of data compression benchmark results, providing a full comparison of existing tools (compression ratio, computational complexity, memory usage, etc.)
+
* Following submission of candidate technologies, we will build a table of data compression benchmark results, providing a full comparison of existing tools (compression ratio, computational complexity, memory usage, etc.)
  
 
== Network Streaming ==
 
== Network Streaming ==

Revision as of 16:32, 27 March 2013

Motivation: Lots of work has been accomplished using the X3D Compressed Binary Encoding (CBE) standard for a wide variety of Web-based 3D graphics usages. 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 for achieving broader industry interoperability.

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

Use Cases

Defining example usages and authoring requirements for compressed X3D scenes is helpful, providing useful criteria for technical capabilities. Use cases enable us to determine whether each possible improvement effectively meets a declared need.

  • TODO Web3D members will review past work and provided an updated set of use cases
  • TODO Consider whether we also want to include a call for further use cases in our forthcoming public Call for Contributions

Existing Compression Usage for X3D and VRML97

A solid foundation exists for continued progress.

  • 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 and examples:

Data-Centric Binary Encodings

The X3D Compressed Binary Encoding (CBE) uses the ISO Fast Infoset (FI) standard to compress XML information, which is how the CBE maintains equivalent expressive power with other X3D scene 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. Such possibilities are being actively discussed on the x3d-public mailing list.
    • 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.
  • We are keen to consider common, sharable technical strategies with MPEG-4 and Collada. Web3D Consortium has been waiting for a response from The Khronos Group and MPEG standards SC 29 committee since a joint meeting at SIGGRAPH conference August 2012. To date, formal MPEG4 communications have indicated that a royalty-free solution is not possible.
  • TODO: An open meeting on 3D Transmission Formats might be a useful way to compare candidate technologies to complete these capabilities. We are considering a workshop at the Web3D 2013 conference on 19 June 2013 in San Sebastian Spain.