Difference between revisions of "X3D Binary Compression Capabilities and Plans"
From Web3D.org
(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 == | |
− | + | * 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 | |
− | + | * 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 | |
− | + | ** Original compression technique of gzip compression for .wrl VRML called .wrz (TODO need reference) | |
− | + | == 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 | |
− | + | * 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 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 | |
− | + | == 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)] | |
− | + | * 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 | |
− | + | ** Relevant example scenes maintained as part of [http://www.web3d.org/x3d/content/examples/Basic/Security X3D Basic Examples Archive - Security] | |
− | * | + | * These capabilitie meets most needs of digital authors for digital rights management (DRM) |
− | + | == 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 | |
− | + | ** 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 | |
− | + | ** 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 | *** Other network protocols (Web sockets, P2P channels, etc.) might be possible, but only if security restrictions can be handled satisfactorily | ||
− | + | == Implementations == | |
− | + | * Two independent open-source implementations available | |
− | + | ** C++ codebase: [http://forge.collaviz.org/community/xiot XIOT X3D Input Output Tool] library | |
− | + | ** Java codebase: [http://www.xj3d.org Xj3D] | |
− | + | ** 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 | |
− | + | ** TODO: Plan to similarly automate conversions with XIOT for cross-check validation testing | |
− | + | == 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 | |
− | + | * 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 |
Revision as of 17: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.
Contents
Standards
- Approved ISO standard Compressed Binary Encoding (CBE) for X3D
- Based on ISO standard Fast Infoset (FI) for XML compression
- Optional gzip compression and MIME Type definitions
- XML encoding (.x3dz/.x3d.gz), ClassicVRML encoding (.x3dvz/.x3dv.gz) and Compressed Binary encoding (.x3db.gz) file extensions
- Original compression technique of gzip compression for .wrl VRML called .wrz (TODO need reference)
Polygon reduction and geometric compression
- CAD Distillation Filter (CDF) technique allowing successive refinement of large X3D scenes into tighter X3D scenes
- Extensible, repeatable compression and decompression algorithms for data-flow production chains
- Multiple filters implemented in open-source Xj3D and X3D-Edit
- Multiple other conversion and translation tools available with supporting capabilities
- X3D Canonicalization (C14N) provides standardized formatting so that digital signatures are not thwarted by whitespace variations
Binary encodings
- Plan to add a further-improved X3D Compressed Binary Encoding using now-approved W3C Recommendation for Efficient XML Interchange (EXI)
- Web3D contributed to EXI working group and XML Binary Characterization working group efforts, ensuring that 3D Model Compression, Serialization and Transmission use-case requirements are defined and met
- Design includes compatibility with CDF techniques, XML Encryption, and XML Digital Signature for author authentication
- Relevant example scenes maintained as part of X3D Basic Examples Archive - Security
- These capabilitie meets most needs of digital authors for digital rights management (DRM)
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
- For example, the original X3D Compressed Binary Encoding Request For Proposals (RFP)
- 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
- Two independent open-source implementations available
- C++ codebase: XIOT X3D Input Output Tool library
- Java codebase: Xj3D
- Ongoing status: Player_support_for_X3D_components and Tool_support_for_X3D_components
- Several thousand X3D Examples available in .x3db form, encoded by Xj3D
- TODO: Plan to similarly automate conversions with XIOT for cross-check validation testing
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