Vol.33 No.2 May 1999
BIIF, VRML and CGM
This edition of the Standards Pipeline consists of three articles that provide an in-depth look at applications of three important international standards. In the first article, Bernadette Kuzma of SEMCOR, Inc. describes the Basic Image Interchange Format (BIIF) formally known as ISO/IEC 12087-5:1998. While BIIF originated in the defense community, it is beginning to find wider applications in areas ranging from electronic libraries to medical imaging. In the second article, Richard F. Puk of Intelligraphics describes the current status and future prospects for the Virtual Reality Modeling Language (VRML) formally known as ISO/IEC 14772-1. In the final article, Lofton Henderson of Inso Corporation and John Gebhardt of InterCAP Graphics Systems, Inc. describe the work of the CGM Open Consortium and in particular the WebCGM profile.
— George S. Carson
Basic Image Interchange Format (BIIF)
During the Grenada conflict, it became apparent that with all this computing power that had become available there was no way to share imagery between systems. Interoperability just wasn’t there. There were numerous tools for creating, distributing and viewing imagery; however interoperability had not been considered. Tools for creating were producing in different formats than the systems in the field could deal with. Several folks got together and fashioned a draft standard to try to address this issue.
This standard was called the National Imagery Transmission Format (NITF). Version 1.0 of the standard was not fielded, but approved as a demonstration capability. In 1984, the NITF Technical Board was formed. This organization consisted of representatives from each service and the Intel community. There were seven voting members. It was cochaired by a representative from the Department of Defense and a representative from the intelligence community. At this point it was mandated that all defense secondary dissemination systems must follow the format. The intelligence community agreed they would abide by it also. The Joint Interoperability Test Center was tasked with ensuring that systems conformed to the standard. The first system was certified in 1988.
The Defense Information Systems Agency (DISA) was responsible for making NITF 1.1 a military standard. By 1991 all the services were complying with the standard. However, only the secondary systems were required to comply with the standard. The national systems (primary sources) were not required to conform. The imagery was coming off this system at near real time and near real quality. Applications were developed to convert this data to NITF. To ensure the systems in the field could receive the images, a minimum requirement was developed. These images were 512x512 monochrome images. The field systems were sent cropped or scaled images - the true need was not being met. Another problem became apparent at this time - a common communication protocol did not exist. Many of the systems that were able to display NITF files were not able to receive them. The Tactical Communications Protocol 2 (TACO2) was introduced to the standard.
Work on version 2.0 of the standard started in 1992. The standard was expanded to account for the growth in the imagery community. These changes included the ability to deal with large imagery as well as color imagery. Additional compressions were supported to address the needs of the growing user community. The voting membership of the NTB had grown to 30. The non-voting membership had surpassed 150.
In June of 1994, the Perry Memo came out. It stated:
“... Approve the report’s primary recommendation to use performance and commercial specifications and standards in lieu of military specifications and standards.”
“... the use of military specifications and standards is authorized as a last resort, with an appropriate waiver.”
Figure 1: BIIF interoperability.
Figure 2: Basic BIIF format.
This memo raised concern among the NITF community. If NITF was deemed to be a non-essential standard the strides that had been made towards interoperability would be lost. Figure 1 demonstrates the concept of interoperability. There was nothing in the format that made it strictly military. The National Committee for Information Technology Standards agreed it was within their purview to convert NITF from a military standard to an international standard. Work began on the Basic Imagery Interchange Format (BIIF). Simultaneously, work was started on NITF 2.1. The North Atlantic Treaty Organization (NATO) Secondary Imagery Format (STANAG 4545, NSIF) was developed at the same time.
BIIF is a multi-component format. The format is designed to allow 999 images and symbols to be combined in a single file. Each component has metadata associated with it. This technique allows for overlays that can readily be removed through an application.
The components of a BIIF file, as shown in Figure 2 are:
For each of the remaining segments there is a subheader that describes the individual segment and the actual data associated with it.
Figure 3: Multilayered file.
Figure 4: Sample with headers.
Figure 3 is an example of a base image used as the backdrop, an enlargement of an area of interest as a subimage and symbols and annotations that describe the scene.
Figure 4 shows an image, its associated file header and the subheader for the image component. This file is made up of a single image. For BIIF files that have multiple components, attachments can be setup to indicate that components act as a group. If one is moved, all are moved. If one is deleted, all are deleted. Visit the NITF web page at http://www.nima.mil/NITFS/ for a more complete description of each of the components.
BIIF can be profiled. This means that there is a basic standard that every profile must use as a template. However, individual groups can define a profile that meets the requirements they have. An NITF and an NSIF profile of BIIF are being processed. The medical community has started work on a profile that fits their needs. Several areas that have started to look at using BIIF as their image format are the law enforcement community and the library and archival community.
The ANSI-accredited standards committee H3.8 - Image Processing and Interchange Task group currently has 20 member companies that are working towards furthering the use of BIIF. This group was responsible for converting NITF to the international standard BIIF. Groups interested in joining H3.8 should contact Bernadette Kuzma by email at email@example.com. In the near future, it is hoped that a BIIF consortium will be formed to assist in these efforts.
Richard F. Puk
Where We Are
VRML was standardized in December 1997 as ISO/IEC 14772-1. Since that time it has been, and is being, used with more prominence in Europe than in the United States. Recently, it was announced that the computer control system for the New York Stock Exchange is using VRML to track data flow during trading. This is clearly an application that shows that VRML is capable of supporting real-time, heavy-duty on-line requirements.
However, VRML 97 is not perfect. There is a need for a more robust external authoring interface (EAI). The Web3D EAI Working Group, under the guidance of Justin Couch, has developed a specification for this and an ISO project has been initiated to standardize it as Part 2 of VRML 97. In addition, ISO Subcommittee 29 Working Group 11 (MPEG) has adopted VRML as the basis for 3D content in MPEG-4. It was necessary to add some additional nodes to VRML 97 to support MPEG-4 requirements not readily accessible from native VRML 97. It would be desirable for VRML counterparts of these additional nodes to be added to the VRML standard and a VRML amendment project has been initiated to carry this work forward as well as to standardize some other outputs from Web3D Working Groups.
At the VRML 99 conference and exposition held in Paderborn, Germany in February, it became clear that the VRML community desires more conformance to the standard and more reliable and compatible VRML browsers. Thus, the offer of Platinum Technology to make the source code for its VRML products available as open source under the auspices of the Web3D Consortium is timely. Work is underway within the consortium to tie down the details of a suitable open source licensing agreement and to establish an infrastructure for distributing and maintaining this code. A Source Code Management Working Group is being formed to provide the infrastructure. The goal is to provide a means whereby contributed improvements in the source code can be merged back into a Web3D Consortium-maintained source tree with formal, tested releases of the source occurring at reasonable intervals. Anyone who is interested in working on this should join the SCM WG once it is established.
Where We’re Going
Even before the announcement of availability of Platinum source code, the Web3D Consortium had established an effort to develop a next generation VRML product with both additional functionality and more componentization. This effort has been given the moniker of X3D to emphasize that an XML encoding would be one of the results of this effort.
The requirements for X3D involve reducing the initial footprint for 3D Web access while making it possible to produce even higher quality results while maintaining VRML 97 backwards compatibility. While VRML 97 defines a world as a complete entity, XML integration would allow small snippets of 3D to be inserted in HTML/XML Web pages without requiring the major action of starting a completely separate environment. It is the desire for X3D to satisfy all of these requirements through evolution.
To this end, plans are underway to develop an abstract specification for X3D along with the following encodings:
This will allow proper consideration of the special requirements of each encoding to be mapped in a conformant manner against the abstract specification. The status of this new work is that the requirements documents have been largely completed and design is starting on the componentization model.
How To Get Involved
There are three types of membership in the Web3D Consortium:
Participation by individuals does not require Web3D Consortium membership. Individuals can join any of the public email lists (a primary public benefit). These lists are the primary means of communication within the Web3D and VRML communities. Individuals may also join Web3D Consortium Working Groups where the real technical work takes place. Information about the Web3D Consortium, its working groups and its standards is available at their website.
Another means of participation in 3D activities is to join the standardization effort. This is accomplished by participating in the efforts of the computer graphics national body in each person’s country. For example in the United States, participation is in Accredited Standards Committee H3. For more information on joining a national standardization effort, send email to firstname.lastname@example.org or to email@example.com.
CGM Open and the WebCGM Profile
In January 1999, the World Wide Web Consortium (W3C) released the WebCGM Profile as a W3C recommendation. This profile was developed cooperatively by W3C, the CGM Open Consortium and ISO/IEC JTC 1/SC 24, the international standards committee that developed the CGM standard (ISO/IEC 8632:1999). While W3C and SC 24 are well known within the graphics community, the CGM Open Consortium (http://www.cgmopen.org/) is a new organization of vendors and users of CGM technology. It is a non-profit international consortium with the stated mission of promoting the computer graphics metafile (CGM) as an open and interoperable standard for the exchange of graphical information. The work of CGM Open complements that of standards bodies, focusing on making CGM easy to adopt, and CGM based products practical to use, in real world, open system applications.
WebCGM is an “intelligent graphics” profile of the CGM standard, which means that in addition to graphical content based on CGM Versions 1-3, the profile defines the semantics of non-graphical content (metadata) based on CGM Version 4, Application Structures. The non-graphical content allows the definition of hierarchies of application objects, as well as the association of metadata, such as link specifications and layer definitions, with the objects.
CGMs that are compliant with WebCGM are binary files that follow published applicable W3C requirements for a scalable graphics format. The design criteria for the graphical content of WebCGM balances graphical expressive power on the one hand, and simplicity and ease of implementation on the other. The ATA profile was taken as the starting point for the graphical content and modified only where it did not meet the requirements articulated in the W3C requirements. The graphical content of WebCGM is a simplified, but powerful, subset of the ATA profile.
A small, but powerful, set of metadata elements is standardized in WebCGM to support:
The Structure of a WebCGM
A WebCGM is a Version 1, 2, 3 or 4 CGM as defined in ISO/IEC 8632:1992, with some restrictions. The restrictions improve the interoperability of WebCGM, and simplify the production of WebCGM interpreter (viewer) tools.
A WebCGM, as shown in Figure 5, consists of one or more pictures. Each picture contains CGM graphic elements, as well as (optionally) application structures. Application structures define objects within each picture, which are comprised of groups of graphical primitives. These objects may contain attributes or properties. WebCGM defines four types of groups - graphical object, layer, paragraph and sub-paragraph, as well as a few properties that each group may have.
Pictures as Standalone Images
The picture is a basic building block of a WebCGM file. In the CGM standard, pictures are independent graphical presentations. In particular, as defined in the ISO standard, each picture has an implicit or explicit opaque background.
Many pictures may be stored in a single metafile. Properties that apply to all pictures are defined in the metafile descriptor. These include descriptive information about the metafile, the precisions of numbers, as well as identifiers for fonts and symbol libraries.
Properties, which apply to the elements in the body of a single picture, are contained in the picture descriptor. These include information such as picture size and scaling, specification modes for aspects such as line width and background color.
CGM supports both raster and vector graphics in the same picture. WebCGM permits the use of popular raster compression methods - CCITT group 4, JPEG and the deflate (LZ77 derivative) method of PNG - for raster content embedded within pictures.
Graphic elements within pictures are rendered in the order they appear in the metafile. Elements rendered first may be wholly or partially hidden by elements rendered later. In the CGM standard, the writing mode of primitives is “replacement” - content is rendered opaquely on top of previous content. To meet per primitive (and per pixel) transparency requirements, WebCGM includes a registered extension for alpha transparency, as well as registered color models RGB-alpha and sRGB-alpha. These are specified in the ISO Register of Graphical Items.
Pictures as Overlays
Pictures may be overlaid on previous content by specifying that the background is transparent, or translucent. This may be handled in two ways with WebCGM. First, the “transparent” parameter of the object tag may be used. Second, the alpha-transparency escape element may be included in the picture descriptor and applied to the background color of the picture.
Pictures as Symbols
WebCGM also contains provisions to use pictures in other metafiles or the same metafile as symbols, and to instance them into a picture.
Intelligence - Objects, Layers, Hyperlinks, Metadata
Within a WebCGM picture, groups of graphical primitives can be defined which structure graphics to meet the requirements of integration into Web documents. Groups in WebCGM are realized as standard Version 4 Application Structures (APS) of ISO CGM.
Four specific group types are defined and allowed in WebCGM: grobject, layer, para and subpara. The detailed syntax and semantics of these, including viewer behavior, are defined in the WebCGM Profile. What follows is a brief conceptual summary.
Every group has at least one explicit property, its unique identifier (a parameter of the Begin APS element). WebCGM groups may have several explicit attributes associated with them. These attributes are realized as standard Version 4 Application Structure Attribute elements (APS Attributes) of ISO CGM.
WebCGM Group Types
WebCGM defines the following group (APS) types, to support the capabilities of hyper-linking, layered pictures and text search within graphics:
WebCGM Objects and Navigation
Groups of type para, subpara and grobject may be used for picking and navigation operations in hyper-linked Web documents. These three APS types are called “objects” in WebCGM.
Objects may contain an explicit region APS attribute, which provides the boundary for picking operations. This is known as the overlay model of object identification (for picking and linking). It is useful in cases of badly structured legacy graphics, raster content and in some cases, to optimize picking operations.
Objects that contain graphical content have an implicit property: the boundary or bounding extent of the enclosed graphical object. This extent is used for picking and navigation operations in hyper-linked Web documents, in the absence of a region attribute. Use of this implicit boundary property for picking and navigation operations is referred to as the embedded model - a powerful model for newly authored Web documents.
Objects may also be the target of a link. Viewers are expected to move the object into view and scale them to fit into the viewer’s rectangle. If the object contains a ViewContext attribute, the rectangle described therein will be moved and scaled to fit into the viewer’s rectangle.
WebCGM Group Properties
Properties or attributes of WebCGM groups are encoded as APS attribute elements. Each APS attribute has a “type” parameter, which identifies the property or attribute. WebCGM defines the following allowable group APS attribute types:
WebCGM supports bidirectional hyperlinking within individual WebCGM instances, between WebCGM instances and other Web media types.
In-line linking is supported, from WebCGM objects (APS of type grobject, para and subpara) to WebCGM graphic files, pictures and objects, as well as to text and other media types. WebCGM fully supports linking from other media to WebCGM files, pictures and objects.
Links from WebCGM objects are realized as linkURI APS attribute elements contained within the definitions of the objects. The address of the link (the first parameter of the linkURI) is any valid URL according to the rules of RFC 1738.
Figure 6 is a WebCGM illustration of an assembly view of a photocopier. It is displayed using WebCGM-compatible ActiveX Control from InterCAP Graphics, one of the three WebCGM viewers used in the XML Europe ‘99 interoperability demo, along with those of Inso HSI and ITEDO.
Objects may contain multiple linkURI APS attribute instances, for which case the associated LinkTitle parameter is available to help the user select the destination. The WebCGM profile prescribes a uniform viewer requirement to offer destination choice to the user for such multi-destination cases.
The target of a link, either from within a WebCGM or from another media type (e.g., HTML text), may be a WebCGM instance. This WebCGM profile defines an optional “fragment syntax” for addressing pictures and objects within a WebCGM metafile. A “#” character terminates the base URL, and following the “#” is the WebCGM syntax for picture and object addressing, and for specifying viewer behavior upon execution of the link.
The fragment syntax, in full generality, is:
The <pict-part> is identified by a keyword and has two pieces, the picture locator (either the PictureId string parameter of the CGM, or the picture sequence number) and viewer behavior upon navigating to the picture. The <obj-part> similarly is identified by a keyword and has two pieces, the Id parameter of the object (APS), and viewer behavior.
The syntax is well defined so that in many common cases, keywords and pieces can be eliminated and defaulted. So, for example, <base-URL>#<string> unambiguously identifies the object (APS) whose Id parameter is “<string>” in the first picture of the metafile pointed to by “<base-URL>”
ISO CGM defines three encodings of the CGM functionality: binary, character and clear text encodings for WebCGM files. WebCGM, like other leading industry profiles of CGM, limits the encoding to binary for the purposes of conforming interchange. It is the binary encoding which is registered as a MIME type for Internet use.
The graphical content of WebCGM is a subset of the ATA profile, and the model profile (MP) of the CGM standard. It is chosen to balance the requirements of high expressive power and simplicity to implement. The WebCGM graphical content comprises a subset of CGM Version 1, 2 and 3 elements which has been recommended by a strong consensus of the CGM Open Consortium as meeting those criteria and representing state of the art in current CGM technology.
The most obvious aspect of a graphics format is the collection of graphical primitives - those drawing elements that define the geometric and other presentation content of the format. CGM:1992 contains a rich selection of vector graphics primitives, plus fully integrated state-of-the-art compressed tile raster content.
WebCGM includes a large subset of these primitives, deemed to be the most useful for Web vector graphics and the most easily and reliably implemented:
Attributes and Controls
Attribute elements and control elements determine the details of the appearance of graphical primitives.
Three notions of transparency are supported in WebCGM, as described previously. First, a WebCGM picture can be placed with transparent background via the transparent parameter of the OBJECT tag; second, the same can be done via an escape element for polysymbols instanced into a picture; third, per element and per pixel translucency (on a continuum between fully opaque and fully transparent) can be defined via an alpha-transparency escape element.
The full range of standard CGM:1992 color models is limited in WebCGM Edition 1.0. The RGB model is included, as well as the models: RGB-alpha; the colorimetric RGB space of the Web, sRGB; and sRGB-alpha. The latter three are registered in ISO for CGM reference.
Character Sets and Fonts
Fully international text is supported in WebCGM by:
The default character sets are ISOLatin1 and Symbol. A core set of 13 fonts, (the Adobe 13) are required in WebCGM implementations.
George S. Carson
George S. (Steve) Carson is President of GSC Associates of Las Cruces, NM. He specializes in the development of real-time signal and information processing systems and is the Chairman of ISO/IEC JTC 1/SC 24, Computer Graphics and Image Processing.
Bernadette Kuzma has been involved with the National Imagery Transmission Format Technical Working Group for the last seven years. She is the Vice Chair for ANSI Committee H3.8 - Image Processing and Interchange Task Group. Kuzma is also the international representative for H3.8’s parent committee, H3 - Computer Graphics and Image Processing. She is employed at SEMCOR, Inc., Annapolis, MD.
Prior to joining Inso Corporation in 1997, where he is now Director of Advanced Graphics Development, Lofton Henderson presided over Henderson Software, Inc., specializing in CGM technology, products and services for 12 years. He has taught and lectured extensively on CGM and other computer graphics topics, and is co-author of the The CGM Handbook (Henderson and Mumford, Academic Press, 1993, 450 pp.), an in-depth look at the standard and its application in the real world. He has worked on the ANSI and ISO committees responsible for graphics standards for 15 years, during which time he has had roles ranging from CGM document editor to Convenor of the ISO SC24/WG6 Metafiles Working Group. He has made substantial contributions to the definition of the significant industry CGM profiles: ATA GRexchange and IGexchange, PIP, J2008, RIF, and the recently approved WebCGM W3C Recommendation. He currently is chairman of the CGM Open Consortium.
Dr. Richard F. Puk has been participating in the development of computer graphics standards since the initial founding meeting for the ACM SIGGRAPH Graphics Standards Planning Committee. He is a founding member of Accredited Standards Committee H3 and also a member of the U.S. delegation to international computer graphics standards meetings. Puk has worked in education, government and industrial positions in the United States and is presently President of Intelligraphics Incorporated, an independent consulting firm specializing in the design of computer graphics systems architectures.
The copyright of articles and images printed remains with the author unless otherwise indicated.
Dr. John C. Gebhardt, Chief Scientist, InterCAP Graphics Systems, Inc., is a 30-year veteran in the computer graphics industry and has provided leadership in the development of electronic technical publishing products since the early 1980s
Gebhardt is active in the development of international standards for the storage, interchange and presentation of graphical information. He is an active member of ANSI X3, the U.S. counterpart to ISO SC24. He served as the document editor for the most recent Amendment to the Computer Graphic Metafiles (CGM) standard, and was an active participant in the development of VRML97, the new ISO standard for 3D graphics. He is a director and officer of CGM Open, a new industry consortium which promotes the use of the CGM standard.