Saturday, January 28, 2006

Virtual Reality

Recenlty I have started my work on a Virtual Reality System. The task is kind of funny as well as serious. I'll try to make it as simple for the reader as I can...
Objective: To design and implement a system to transmit Stereoscopic data wirelessly for immersive environments to a Head Mounted Display(HMD).
Catch:
1) There is no hardware design labs accesible to me(not that I could gaurantee the job if I had one!)
2) This would be the 1st system of its kind in the world!!! (without labs???) Atleast I have not found any stereo-HMDs online that are wireless. Even if there exist some, I can bet that the price would be atleast $100,000 for the other specifications that we have to work with.
Now let's get to some serious and techie discussions...

The Problem:To design a wireless system for Head Mounted Displays to be used for the purpose of Immersive Environments. The parts of the HMD as analyzed are as follows:

Motion Tracking Sensors: A Motion tracking sensor is used in HMDs for head tracking. Head tracking provides a scope for implementing immersive and interactive environments. The data from these sensors are refreshed at rates of about 100-150Hz. At these rates, the information generated is not large, so usually RS-232 serial interface is sufficient for the data transfer. Most of the systems have sensor connected by wires, but there are a few implementations of wireless motion tracking also. RS-232 interface has a maximum bandwidth of 115,200 Kbps, which can be easily transmitted wirelessly.
Display: A Head/Helmet Mounted Display (HMD) usually consists of two screens with atleast 800x600 resolution of 16-bit color depth, each. The pixel data is hence:
800*600*2*16 = 15 Mpixels

At 30 Hz refresh rate, the data rate comes to about:
15*30 = 230 Mbits/sec!!!

Since such high data rates would be achievable only at short distances and only over wireless systems using ultra wideband to transmit data, the complexity of the defined problem increases.
Other Sensors: There are other sensors, like respiratory sensors, pinch gloves, etc., that are used for specific applications. These sensors have similar specifications as the motion tracker, but the required data rates are much less and hence the signals maybe clubbed with the motion tracking sensor signals.

Current work:
There have been developments in compression technologies that can restrict the data to much less bandwidth. But real-time compression and decompression requires high speed image processing and causes delays, which are not acceptable in interactive or immersive environments. By interactive systems

Wireless USB (WUSB) technology allows raw data rates up to 480Mbps. But it has not been put to much use in the market.

There are various wireless display transmission technologies available. For instance, markets have wireless projectors and displays. There are also adapters available to connect projectors or displays wirelessly. Such systems use the IEEE 802.11b/g WiFi to transmit the data. At 802.11g the data rates are 54 Mbps and with its turbo mode, one can get upto 108Mbps!!! Yet, these are insufficient for raw transmissions. Remember for Immersive systems, the slightest of the delay doubles itself and the Reality part of VR is compromised.

Hi speed wirelessly can be obtained by implementing protocols like IEEE 802.17 Resilient Packet Ring(RPR), but as I mentioned before, no hardwware labs available to design the system.

Developments:

11/01/2006 - Purchase of DLink DPG-2000W wireless presentation gateway- This is an adapter that can be used for giving wireless presentations. We procured and tested it, but found it to be transmitting at slow frame ratees and video was too jerky even with low refresh rates and low quality images. It uses 802.11g protocol to transmit signals.

28/01/2006(uptil) - We have got a stock of devices now in our arsonal:
1) A non-stereoscopic HMD
2) All kinds of cables and connector to put the system together
3) A WiFi adapter, as the system could not be connected at 802.11g, but only at 802.11b(11Mbps), that was too slow.
4) OpenGL programming learning process has begun as I have to also find out how to make stereo images from the visualisations by initially designing a 2 viewpoint mode in 2 windows, then, later making it compatible with various stereo methods.

29/01/2006 - Eureka! First step: The HMD and all cables and connectors connected and watched a walk-through of Fatehpur Sikri (an Indian Monument).

31/01/2006 - Last 2 days, I've been trying to pick up more of OpenGL and have somehow reached the 7th lesson on nehe.gamedev.net. The link has been given on my Links Blog. I have started understanding the OpenGL a little. Let's see what comes up...

No comments: