X3D Compressed Binary Encoding Call For Contributions
Motivation Merits of the X3D Graphics standard include broad generality for many 3D applications. Lots of work has already been accomplished using the X3D Compressed Binary Encoding (CBE) standard. X3D has numerous coherent approaches already available that meet author requirements for a general Web-based 3D transmission format. We are working to demonstrate and standardize multiple interoperable improvements in X3D.
Approach We are looking for component technologies that can help improve X3D CBE standard. Our goal is to produce a revision in concert with the next major revisions to X3D. This standardization effort has two component compression technolories:
- 3D graphics compression technology continues to improve steadily. The Web3D Consortium wants to enable progress to interoperate compatibly.
- World Wide Web Consortium (W3C) adoption of the Efficient XML Interchange (EXI) Recommendation compression makes the possibility of a new X3D encoding appealing.
- Additional technical approaches that might apply to all X3D encodings (something like a 3dTransmissionFormat node) are also of interest
We want to emphasize that each individual contribution is not expected to provide an overall comprehensive solution to all Web-compression challenges. Rather, the X3D Working Group is looking for additional technical capabilities that have the potential to work well together within our proven framework. If your capability might fix into this rich mix, please let us know!
- The X3D Binary Compression Capabilities and Plans wiki page maintains the current list of technologies in use and under consideration.
- Inquiries and submissions can be made to X3D Working Group. Private inquiries can be sent to X3D Working Group co-chairs using the form at
The Web3D Consortium has a long history of effective results that combine multiple 3D graphics and compression technologies in a compatible fashion. Our first-generation process successfully resulted in the current X3D Compressed Binary Encoding (CBE) International Standard. New capabilities from this Call For Contributions (CFC) will be used to produce the next-generation compressed X3D standard, for royalty-free use by anyone on the Web.
All work remains royalty free (RF) and compatible with other Web Standards.
X3D Graphics has retained backwards compatibility throughout multiple generations of evolution, stretching all the way back to include the Virtual Reality Modeling Language (VRML97) International Standard.
Each individual contribution is expected to provide a specific technical capability that has the potential to work well within the existing framework. The overall requirements for the next-generation X3D Compressed Binary Encoding (CBE) standard are listed here.
- X3D Compatibility: The compressed binary encoding shall be able to encode all of the functionality described in X3D Abstract Specification. This means that compressed functionality includes the full capabilities of X3D scenes.
- Interoperability: The compressed binary encoding shall contain identical information to the other X3D encodings (XML-based .x3d and ClassicVrml-based .x3dv). This requirement includes identical round-trip conversion between the X3D encodings.
- Multiple, separable data types: The compressed binary encoding shall support multiple, separable media data types, including all node (element) and field (attribute) types in X3D. In particular, it shall include geometric compression for the following.
- Geometry: polygons and surfaces, including NURBS Interpolation data: spline and animation data, including particularly long sequences such as motion capture (also see Retrieval and Streaming requirement)
- Textures: PixelTexture, other texture and multitexture formats (also see Bundling requirement)
- Array Datatypes: arrays of generic and geometric data types
- Tokens: tags, element and attribute descriptors, or field and node textual headers
- Web datatypes: wherever possible, datatype approaches are aligned to match Web standards.
- Processing Performance: The compressed binary encoding shall be easy and efficient to process in a run-time environment.
- Compression outputs must include directly typed scene-graph data structures, not just strings which might then need another parsing pass.
- End-to-end processing performance for construction of a scene-graph as in-memory typed data structures (i.e. decompression and deserialization) shall be superior to that offered by gzip and string parsing.
- Asymmetric options for higher-computation compression by authors or servers can result in smaller bandwidth and faster loading by end users.
- Ease of Implementation: Binary compression algorithms shall be easy to implement, as demonstrated by the ongoing Web3D requirement for multiple implementations.
- Two (or more) implementations are needed for eventual advancement as a Web3D/ISO standard, including at least one open-source implementation.
- A test suite will be used for repeatable measurement and refinement of file-size and performance results.
- Retrieval and Streaming: Compressed binary encoding are utilized in a variety of network-streaming environments.
- Common existing compression mechanisms found in the Web infrastructure should be exploited whenever possible (e.g. http compression).
- Scene retrieval can be performed via http/https, local file systems and standardized protocols, at various (high and low) bandwidths.
- Network-capable level-of-detail support and progressive mesh refinement are important goal capabilities.
- Authorability: Compressed binary encoding shall consist of implementable compression and decompression algorithms. Common X3D authoring tools and players can easily support compression for scene-authoring preparation, network delivery and run-time viewing.
- Compression: Compressed binary encoding algorithms can together enable effective composition of diverse datatypes.
- At a minimum, such algorithms shall support lossless compression. Lossy compression alternatives may also be supported.
- When compression results are claimed by proposal submitters, both lossless and lossy characteristics must be described and quantified.
- Security: Security considerations must be listed for all capabilities. If none are known for a given contribution, so state.
- Compressed binary encoding will optionally enable security, content protection, privacy preferences and metadata such as encryption, conditional access, and watermarking.
- Default solutions for most security requirements are already defined and demonstrated by the W3C Recommendations for XML Encryption and XML Signature.
- Unencumbered Digital Rights Management (DRM) schemes that can work within this open Web standards framework are eligible for consideration.
- Bundling: Mechanisms for bundling multiple files (e.g. X3D scene, Inlined subscenes, image files, audio file, etc.) into a single archive file will be considered. Similar bundling capabilities are emerging for uncompressed X3D scenes embedded within HTML pages.
- Intellectual Property Rights (IPR): IPR requirements must be met prior to formal consideration of any new technologies.
- All technology submissions must follow the predeclaration requirements of the Web3D Consortium IPR policy.
- All technology results accepted in the X3D standards are royalty free (RF) for any use. Patented contributions are welcome if royalty-free Web use is guaranteed.
Process and Milestones
- August 2012. Liaison efforts with The Khronos Group and MPEG4 representatives.
- December 2012. Public email dialog by Web3D Consortium members and X3D Community on requirements.
- January 2013. Confirmation of New Work Item (NWI) status with ISO Standards Committee SC24.
- April 2013. CFC released.
- 19 June 2013. Web3D 2013 Conference in San Sebastian Spain includes review of contributions.
- July 2013. Final public review and discussion at SIGGRAPH in Anaheim. August 2013. Contributions closed. X3D Working Group focus on producing X3D and CBE specification updates.
- December 2013. Draft ISO specification provided for approval by Web3D Consortium members.
- 2014. We received multiple contributions for geometric compression and progressive streaming for X3D.
- 2014. Efficient XML Interchange (EXI) is a fully approved W3C Recommendation with multiple implementations (both commercial and open source).
- 2015. Decision: retain existing Compressed Binary Encoding (.x3db) for model stability, add Efficient Binary Encoding (.x3de) for improved capabilities.
- 2015. All needed components are in hand. We will soon close our Call for Contributions to begin implementation and specification efforts.
- Target completion? With sufficient member contributions, we may be able to finish by the end of the year.
The X3D Binary Compression Capabilities and Plans wiki page maintains the current list of technologies in use and under consideration. Inquiries and submissions can be made to X3D Working Group. Private inquiries can be sent to X3D Working Group co-chair Don Brutzman & Leonard Daly. Technical discussions occur on the x3d-public@web3D.org mailing list. Weekly working group teleconferences are help each Wednesday, 0800-1000 Pacific Time.