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

From Web3D.org
Jump to: navigation, search
(grammar, btw 35 vandalisms remain: Special:WhatLinksHere/Template:PURGE please ban and delete it entirely)
(add missing punctuation to sentence endings)
Line 4: Line 4:
  
 
== Existing Compression Standards ==
 
== Existing Compression Standards ==
* Approved ISO standard [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/X3D_Binary.html Compressed Binary Encoding (CBE) for X3D]
+
* Approved ISO standard [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/X3D_Binary.html Compressed Binary Encoding (CBE) for X3D].
** Based on ISO standard [http://en.wikipedia.org/wiki/Fast_Infoset Fast Infoset (FI)] for XML compression
+
** Based on ISO standard [http://en.wikipedia.org/wiki/Fast_Infoset Fast Infoset (FI)] for XML compression.
* Optional, alternative gzip compression and MIME Type definitions  
+
* Optional, alternative gzip compression and MIME Type definitions .
** XML encoding ([http://www.web3d.org/files/specifications/19776-1/V3.2/Part01/concepts.html#X3DFilesAndTheWorldWideWeb .x3dz/.x3d.gz]), ClassicVRML encoding ([http://www.web3d.org/files/specifications/19776-2/V3.2/Part02/concepts.html#ClassicVRMLEncodedX3DFilesAndWWW .x3dvz/.x3dv.gz]) and Compressed Binary encoding ([http://www.web3d.org/files/specifications/19776-3/V3.1/Part03/concepts.html#X3DFilesAndTheWorldWideWeb .x3db.gz]) file extensions
+
** XML encoding ([http://www.web3d.org/files/specifications/19776-1/V3.2/Part01/concepts.html#X3DFilesAndTheWorldWideWeb .x3dz/.x3d.gz]), ClassicVRML encoding ([http://www.web3d.org/files/specifications/19776-2/V3.2/Part02/concepts.html#ClassicVRMLEncodedX3DFilesAndWWW .x3dvz/.x3dv.gz]) and Compressed Binary encoding ([http://www.web3d.org/files/specifications/19776-3/V3.1/Part03/concepts.html#X3DFilesAndTheWorldWideWeb .x3db.gz]) file extensions.
** Original compression technique of gzip compression for .wrl VRML called .wrz.  This is a common practice. (TODO need reference)
+
** Original compression technique of gzip compression for .wrl VRML called .wrz.  This is a common practice. (TODO need reference).
  
 
== Polygon Reduction and Geometric Compression ==
 
== Polygon Reduction and Geometric Compression ==
* [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.
* 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]
+
* 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].
 
* 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].
* Multiple filters implemented in [http://www.xj3d.org Xj3D] and [https://savage.nps.edu/X3D-Edit X3D-Edit] as open-source
+
* Multiple filters implemented in [http://www.xj3d.org Xj3D] and [https://savage.nps.edu/X3D-Edit X3D-Edit] as open-source.
* 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.
* [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.
  
 
== Data-Centric Binary Encodings ==
 
== Data-Centric Binary Encodings ==
* Plan to add a further-improved X3D Compressed Binary Encoding using now-approved W3C Recommendation for [http://www.w3.org/TR/exi/ Efficient XML Interchange (EXI)]
+
* Plan to add a further-improved X3D Compressed Binary Encoding using now-approved W3C Recommendation for [http://www.w3.org/TR/exi/ Efficient XML Interchange (EXI)].
* Web3D contributed to [http://www.w3.org/XML/EXI/ EXI working group] and [http://www.w3.org/XML/Binary XML Binary Characterization working group] efforts
+
* Web3D contributed to [http://www.w3.org/XML/EXI/ EXI working group] and [http://www.w3.org/XML/Binary XML Binary Characterization working group] efforts.
** [http://www.w3.org/TR/xbc-use-cases/#x3dtrans 3D Model Compression, Serialization and Transmission] use-case requirements are defined and met by EXI
+
** [http://www.w3.org/TR/xbc-use-cases/#x3dtrans 3D Model Compression, Serialization and Transmission] use-case requirements are defined and met by EXI.
* Design includes compatibility with CDF techniques, [http://www.w3.org/TR/xmlenc-core XML Encryption], and [http://www.w3.org/TR/xmldsig-core/ XML Digital Signature] for author authentication
+
* Design includes compatibility with CDF techniques, [http://www.w3.org/TR/xmlenc-core XML Encryption], and [http://www.w3.org/TR/xmldsig-core/ XML Digital Signature] for author authentication.
** 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).
  
 
== Network Streaming ==
 
== Network Streaming ==
* Multiple capabilities are already available in X3D for flexible network transmission
+
* 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
+
** 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.
 
* 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.
** For example, the original August 2003 [http://www.web3d.org/x3d/binary/X3dBinaryRFP.html X3D Compressed Binary Encoding Request For Proposals (RFP)]
+
** For example, the original August 2003 [http://www.web3d.org/x3d/binary/X3dBinaryRFP.html X3D Compressed Binary Encoding Request For Proposals (RFP)].
* [http://www.web3d.org/realtime-3d/about/legal Intellectual Property Rights (IPR)] protections for X3D specification
+
* [http://www.web3d.org/realtime-3d/about/legal 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)
+
** 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
+
** 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
+
* 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
+
** Other network protocols (Web sockets, P2P channels, etc.) might be possible, but only if security restrictions can be handled satisfactorily.
  
 
== X3D Implementations ==
 
== X3D Implementations ==
 
The following tools implement the X3D Compressed Binary Encoding (CBE) standard.
 
The following tools implement the X3D Compressed Binary Encoding (CBE) standard.
* Two independent open-source implementations available
+
* Two independent open-source implementations available.
** C++ codebase: [http://forge.collaviz.org/community/xiot XIOT X3D Input Output Tool] library
+
** C++ codebase: [http://forge.collaviz.org/community/xiot XIOT X3D Input Output Tool] library.
** Java codebase: [http://www.xj3d.org Xj3D]
+
** Java codebase: [http://www.xj3d.org Xj3D].
 
* Ongoing status is maintained on Web3D-member wiki pages:
 
* Ongoing status is maintained on Web3D-member wiki pages:
 
** [[Player_support_for_X3D_components]]
 
** [[Player_support_for_X3D_components]]
 
** [[Tool_support_for_X3D_components]]
 
** [[Tool_support_for_X3D_components]]
* Several thousand [http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples X3D Examples] are available in ''.x3db'' form, encoded by Xj3D
+
* Several thousand [http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples X3D Examples] are available in ''.x3db'' form, encoded by Xj3D.
** TODO: Plan to similarly automate conversions and comparisons, using both Xj3D and XIOT, for cross-check interoperability and validation testing
+
** TODO: Plan to similarly automate conversions and comparisons, using both Xj3D and XIOT, for cross-check interoperability and validation testing.
  
 
== Looking Ahead ==
 
== Looking Ahead ==
* Web3D's X3D and [http://www.web3d.org/realtime-3d/computer-aided-design-cad CAD] Working Groups each have member commitments to pursue this continued innovative work in 2012
+
* Web3D's X3D and [http://www.web3d.org/realtime-3d/computer-aided-design-cad CAD] Working Groups each have member commitments to pursue this continued innovative work in 2012.
* TODO: An open workshop on 3D Transmission Formats might be a thorough way to compare candidate technologies to complete these capabilities
+
* 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
+
* Consider common, sharable technical strategies with MPEG-4 and Collada.

Revision as of 08:54, 4 July 2012

Synopsis: Lots of work has been accomplished towards proper support of X3D Binary Compression for a wide variety of potential uses.

X3D appears to have have an 80% solution already available that meets various requirements for a general 3D transmission format.

Existing Compression Standards

Polygon Reduction and Geometric Compression

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.

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 2012.
  • 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.