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

From Web3D.org
Jump to: navigation, search
m
m (Polygon Reduction and Geometric Compression)
Line 18: Line 18:
 
* The X3D Compressed Binary Encoding defines extensible, repeatable [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/concepts.html#X3DCompressionDataFlow compression] and [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/concepts.html#X3DDecompressionDataFlow decompression] algorithms for [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/concepts.html#OverviewIntroduction data-flow production chains]. Multiple type-specific [http://www.web3d.org/files/specifications/19776-3/V3.1/Part03/EncodingOfFields.html field encoders] and geometric compression algorithms can be used in concert, but no specific geometric compression algorithms are referenced or required.
 
* The X3D Compressed Binary Encoding defines extensible, repeatable [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/concepts.html#X3DCompressionDataFlow compression] and [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/concepts.html#X3DDecompressionDataFlow decompression] algorithms for [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/concepts.html#OverviewIntroduction data-flow production chains]. Multiple type-specific [http://www.web3d.org/files/specifications/19776-3/V3.1/Part03/EncodingOfFields.html field encoders] and geometric compression algorithms can be used in concert, but no specific geometric compression algorithms are referenced or required.
 
* [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/concepts.html#X3DCanonicalForm X3D Canonicalization (C14N)] provides standardized formatting so that digital signatures are not thwarted by whitespace variations.
 
* [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/concepts.html#X3DCanonicalForm X3D Canonicalization (C14N)] provides standardized formatting so that digital signatures are not thwarted by whitespace variations.
Best practices:
+
Best practices and examples:
 
* [http://www.web3d.org/x3d/workgroups/cad CAD Distillation Filter (CDF)] technique allowing successive refinement of large X3D scenes into tighter X3D scenes.
 
* [http://www.web3d.org/x3d/workgroups/cad CAD Distillation Filter (CDF)] technique allowing successive refinement of large X3D scenes into tighter X3D scenes.
 
* A highly effective exemplar algorithm for [http://www.cs.unc.edu/~isenburg/research/asciicoder Coding Polygon Meshes as Compressable ASCII] is demonstrated in the [http://www.web3d.org/x3d/content/examples/Basic/ExperimentalBinaryCompression Experimental Binary Compression examples].
 
* A highly effective exemplar algorithm for [http://www.cs.unc.edu/~isenburg/research/asciicoder Coding Polygon Meshes as Compressable ASCII] is demonstrated in the [http://www.web3d.org/x3d/content/examples/Basic/ExperimentalBinaryCompression Experimental Binary Compression examples].
Line 24: Line 24:
 
* The [http://www2.hrp.no/vr/tools/chisel/install.htm Chisel VRML Optimisation Tool] has an excellent set of data-reduction tools for VRML that are worth repeating for X3D.
 
* The [http://www2.hrp.no/vr/tools/chisel/install.htm Chisel VRML Optimisation Tool] has an excellent set of data-reduction tools for VRML that are worth repeating for X3D.
 
* Multiple other [http://www.web3d.org/x3d/content/examples/X3dResources.html#Conversions conversion and translation tools] available with supporting capabilities.
 
* Multiple other [http://www.web3d.org/x3d/content/examples/X3dResources.html#Conversions conversion and translation tools] available with supporting capabilities.
 +
* TODO: MPEG4 effort
 +
* TODO: Fraunhofer effort
  
 
== Data-Centric Binary Encodings ==
 
== Data-Centric Binary Encodings ==

Revision as of 10:39, 21 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.

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

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.