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

From Web3D.org
Jump to: navigation, search
(section title: Polygon reduction and geometric compression)
(reformat sections, add TOC)
Line 1: Line 1:
 
'''Synopsis'''.  Lots of work has been accomplished towards proper support of X3D Binary Compression for a wide variety of potential uses.
 
'''Synopsis'''.  Lots of work has been accomplished towards proper support of X3D Binary Compression for a wide variety of potential uses.
  
* '''Standards'''
+
== 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 gzip compression and MIME Type definitions  
+
* Optional 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 (TODO need reference)
+
** Original compression technique of gzip compression for .wrl VRML called .wrz (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]
** Multiple filters implemented in open-source [http://www.xj3d.org Xj3D] and [https://savage.nps.edu/X3D-Edit X3D-Edit]
+
* Multiple filters implemented in open-source [http://www.xj3d.org Xj3D] and [https://savage.nps.edu/X3D-Edit X3D-Edit]
** 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
  
* '''Binary encodings'''
+
== 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, ensuring that [http://www.w3.org/TR/xbc-use-cases/#x3dtrans 3D Model Compression, Serialization and Transmission] use-case requirements are defined and met
+
* 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, ensuring that [http://www.w3.org/TR/xbc-use-cases/#x3dtrans 3D Model Compression, Serialization and Transmission] use-case requirements are defined and met
** 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]
** This meets most needs of digital authors for digital rights management
+
* These capabilitie meets most needs of digital authors for digital rights management (DRM)
  
* '''Networking'''
+
== Networking ==
** Several capabilities are available for flexible network transmission
+
* Several capabilities are available 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
+
* TODO: Willing to consider further addition of progressive-mesh geometric streaming technologies, perhaps by a public Call for Contributions
*** For example, the original [http://www.web3d.org/x3d/binary/X3dBinaryRFP.html X3D Compressed Binary Encoding Request For Proposals (RFP)]
+
** For example, the original [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 patented submissions to working group while under consideration, if desired
+
** Submitters can restrict patented submissions to working group while under consideration, 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
  
* '''Implementations'''
+
== Implementations ==
** 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:  [[Player_support_for_X3D_components]] and [[Tool_support_for_X3D_components]]
+
** Ongoing status:  [[Player_support_for_X3D_components]] and [[Tool_support_for_X3D_components]]
** Several thousand [http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples X3D Examples] available in ''.x3db'' form, encoded by Xj3D
+
* Several thousand [http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples X3D Examples] available in ''.x3db'' form, encoded by Xj3D
*** TODO: Plan to similarly automate conversions with XIOT for cross-check validation testing
+
** TODO: Plan to similarly automate conversions with XIOT for cross-check 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: A workshop might be a rapid way to compare candidate technologies that might complete these capabilities
+
* TODO: A workshop might be a rapid way to compare candidate technologies that might complete these capabilities
** X3D appears to have have an '''80% solution already available''' that meets various requirements for a general 3D transmission format
+
* X3D appears to have have an '''80% solution already available''' that meets various requirements for a general 3D transmission format

Revision as of 10:09, 19 December 2011

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

Standards

Polygon reduction and geometric compression

Binary encodings

Networking

  • Several capabilities are available 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
  • 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 patented submissions to working group while under consideration, 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

Implementations

Looking ahead

  • Web3D's X3D and CAD Working Groups each have member commitments to pursue this continued innovative work in 2012
  • TODO: A workshop might be a rapid way to compare candidate technologies that might complete these capabilities
  • X3D appears to have have an 80% solution already available that meets various requirements for a general 3D transmission format