The software and algorithms behind augmented reality are essential to integrating the components of virtual reality with those of physical reality.
To do this, a process called image registration is used. First, image processing outlines points of interests on an image input, using corner, edge, and blob detection, or other methods.
Then, a coordinate system is derived from the first step to integrate virtual imagery. Complex mathematics and algorithms are used at this point, including projective geometry.
One developed data standard to describe augmented reality coordinates and handle object manipulation is the Augmented Reality Markup Language (ARML). It consists of a combination of XML grammar, which handles physical objects, and ECMAScript, which handles the properties of virtual objects.
Software Development Kits (SDKs) for creating augmented reality applications have also developed, and are increasing the growth rate of AR even more.