The Augmented Reality Markup Language (ARML) is a data standard to describe and interact with
augmented reality
Augmented reality (AR) is an interactive experience that combines the real world and computer-generated content. The content can span multiple sensory Modality (human–computer interaction), modalities, including visual, Hearing, auditory, hap ...
(AR) scenes. It has been developed within the
Open Geospatial Consortium (OGC) by a dedicated ARML 2.0 Standards Working Group. ARML consists of both an
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
grammar to describe the location and appearance of virtual objects in the scene, as well as
ECMAScript
ECMAScript (; ES) is a JavaScript standard intended to ensure the interoperability of web pages across different browsers. It is standardized by Ecma International in the documenECMA-262
ECMAScript is commonly used for client-side scriptin ...
bindings to allow dynamic access to the properties of the virtual objects, as well as event handling, and is currently published in version 2.0. ARML focuses on visual augmented reality (i.e. the camera of an AR-capable device serves as the main output for augmented reality scenarios).
Data model
ARML is built on a generic object model that allows serialization in several languages. Currently, ARML defines an XML serialization, as well as a
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
serialization for the ECMAScript bindings. The ARML object model consists of three main concepts:
* Features represent the physical object that should be augmented.
* VisualAssets describe the appearance of the virtual object in the augmented scene.
* Anchors describe the spatial relation between the physical and the virtual object.
Feature
The definition of a ''Feature'' is reused from the
Geography Markup Language (GML) and describes the physical object that should be augmented. The physical object is described by a set of metadata, including an ID, a name and a description. A Feature has one or more Anchors.
Anchor
An Anchor describes the location of the physical object in the real world. Four different Anchor types are defined in ARML:
# Geometries
# Trackables
# RelativeTo
# ScreenAnchor
Geometries
Geometries describe the location of an object through a set of fixed coordinates.
WGS84
The World Geodetic System (WGS) is a standard used in cartography, geodesy, and satellite navigation including GPS. The current version, WGS 84, defines an Earth-centered, Earth-fixed coordinate system and a geodetic datum, and also desc ...
(latitude, longitude, altitude) is used as the default coordinate reference system, other arbitrary coordinate reference systems can be supplied if required. ARML allows 0- (Point), 1- (LineString) and 2-dimensional (Polygon) geometries. Geometry Anchors reuse the syntax as defined in GML3. As an example, the following snippet defines the location of the
Wiener Riesenrad
The (; 'Vienna Giant errisWheel'), or simply Riesenrad, is a tall Ferris wheel at the entrance of the Prater amusement park in Leopoldstadt, the 2nd district of Austria's capital Vienna. It is one of Vienna's most popular tourist attractions, an ...
.
48.216622 16.395901
Trackables
Trackables are patterns that are searched, recognized and tracked in the video screen coming from the camera of the device. A wide variety of different tracking technologies exist, including
QR code
A QR code (an initialism for quick response code) is a type of Barcode#Matrix (2D) barcodes, matrix barcode (or two-dimensional barcode) invented in 1994 by the Japanese company Denso#Denso Wave, Denso Wave. A barcode is a machine-readable optic ...
s,
Natural features, 3D and Face Tracking. As all these tracking types use different algorithms and technologies, the definition of a Trackable is abstracted and split into two parts, a Tracker and its associated Trackables. A Tracker describes the technology (or algorithm) with which its associated Trackables should be tracked, using URIs identifying the algorithm. The Trackable itself describes the pattern the algorithm should look for in the video stream.
Example: A natural feature tracker and an associated Trackable
http://www.example.com/myMarker.jpg
0.20
RelativeTo
RelativeTo Anchors allow the definition of a location relative to other Anchors or the user's position. The former allows the setup of a scene and the location of all included virtual objects based on a single Anchor, like a Trackable placed on a table. The latter allows for scenarios where the actual location of the user is irrelevant. The virtual objects are simply placed around the user, regardless of his or her physical location.
ScreenAnchor
Contrary to the previous three Anchor types, ScreenAnchors do not describe a location in the 3-dimensional virtual scene. Instead, they define an area on the device screen, allowing for status bars and the like.
VisualAsset
VisualAssets describe the appearance of the virtual objects in the augmented scene. ARML allows various kinds of VisualAssets to be described, including plain text, images, HTML content and 3D models. VisualAssets can be oriented (either to always automatically face the user, or to maintain a specific static orientation) and scaled. Additionally, visibility conditions can be applied (i.e. the Asset is only visible on the screen if the distance to the user is within certain boundaries).
History
In late 2009,
Wikitude (formerly Mobilizy), the creators of the Wikitude World Browser, started an early initiative on creating a format all AR Browsers at that time could adhere to, called the Augmented Reality Markup Language (ARML). This format is now called ARML 1.0 and serves as an input format for the Wikitude World Browser.
In late 2011, Martin Lechner, Wikitude's CTO and the main driver of the ARML initiative, established the Augmented Reality Markup Language 2.0 Standards Working Group (ARML 2.0 SWG) within the OGC. Its goal was to create an internationally accepted standard for Augmented Reality, based on the ideas of ARML 1.0 and similar formats. During
ISMAR in
Atlanta
Atlanta ( ) is the capital and most populous city of the U.S. state of Georgia. It is the seat of Fulton County, the most populous county in Georgia, but its territory falls in both Fulton and DeKalb counties. With a population of 498,71 ...
in November 2012, the first ARML 2.0 specification was officially published, making ARML 2.0 an official OGC Candidate Standard.
Related standards
ARML 2.0 is reusing ideas, structure, syntax and semantics of the following existing and widely used standards:
*
HyperText Markup Language
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScr ...
,
ECMAScript
ECMAScript (; ES) is a JavaScript standard intended to ensure the interoperability of web pages across different browsers. It is standardized by Ecma International in the documenECMA-262
ECMAScript is commonly used for client-side scriptin ...
(
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
) and
Cascading Style Sheets
*
Geography Markup Language
The Geography Markup Language (GML) is the XML grammar defined by the Open Geospatial Consortium (OGC) to express geographical features. GML serves as a modeling language for geographic systems as well as an open interchange format for geographi ...
*
Keyhole Markup Language
Keyhole Markup Language (KML) is an XML notation for expressing geographic annotation and visualization within two-dimensional maps and three-dimensional Earth browsers. KML was developed for use with Google Earth, which was originally named Ke ...
*
COLLADA
COLLADA (for ''COLLA''borative ''D''esign ''A''ctivity) is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available ...
*
XPath 2.0
In addition, the following, ARML-independent initiatives also deal with creating standards for Augmented Reality environments:
* Augmented Reality Application Format (ARAF) developed within
ISO/
MPEG
The Moving Picture Experts Group (MPEG) is an alliance of working groups established jointly by ISO and IEC that sets standards for media coding, including compression coding of audio, video, graphics, and genomic data; and transmission and fi ...
* KARML developed by the
Georgia Institute of Technology
The Georgia Institute of Technology, commonly referred to as Georgia Tech or, in the state of Georgia, as Tech or The Institute, is a public research university and institute of technology in Atlanta, Georgia. Established in 1885, it is part of ...
* MobAR
developed within the
Open Mobile Alliance (OMA)
Examples
The following example describes a 3D Model (assuming one is available on http://www.example.com/myModel.dae) on a Trackable, like a fiducial marker, located at http://www.example.com/myMarker.jpg:
http://www.example.com/myMarker.jpg
0.20
References
{{Mixed reality
Standards
Markup languages
Augmented reality