Research
- Multiple Depth Stream Encoding:
- I developed algorithms for encoding multiple depth streams
using the spatial coherence between streams and temporal
coherence between frames. Depth streams are similar to video
streams except that each pixel in a frame has depth information
as well as color. This per pixel depth infomration is used to
predict color per pixel instead of per block motion compensation
used in traditional video stream encoding.
- In order to facilitate spatial coherence between streams,
a reference stream must be selected. Reference streams are streams
that serve as a basis for spatial prediction. I developed an
algorithm for selecting reference streams, and proposed new
metrics for evaluating the reference streams. Paper published in
3DPVT 2006.
- Base depth streams, depth streams that serve as the basis of
spatial prediction for other depth streams, must be encoded
independently without the use of information from any other depth
streams. I extend existing single stream video encoding
techniques that make use of motion compensation for encoding
these base depth streams. The depth is added as a fourth plane of
information to the existing three plane representation for color
and different motion compensation strategies are evaluated. Paper
published in NOSSDAV 2006.
- 3D Tele-Immersion:
- I developed a real-time algorithm to compress 3D dynamic
environments. Adding more hardware can easily scale the
acquisition part of the 3D Tele-Immersion system, however the
rendering cannot be as easily scaled hence becomes the bottleneck
for real-time performance. The compression algorithm tries to
resolve this imbalance in scalability. The algorithm is as
scalable as the acquisition and enables the rendering to perform
in real-time. Paper published in ACM Multimedia 2003, which was
nominated for Best Student Paper.
- I developed a multi-platform distributed rendering system,
3PCs running Linux with NVIDIA GeForce II, for the Tele-immersion
project. Paper published in ITP 2002.
- I began building real time image acquisition system using the
Dalsa DAC512 high speed black & white camera with the Matrox
Genesis card via the VLDS interface.
-
OvalTine:
- I helped develop the initial version of OvalTine, a
real-time, server-side, semi-automatic anchor generation system
on the SGI O2 platform designed for tracking faces in
videoconferencing environments.
- Distributed Collaboration:
- I set up a distributed VR system for collaboration using 2 SGI
O2s, Fakespace Pinch Glove, Polyhemus FASTRAK and LONG RANGER,
and 2 Virtual Reality V6 HMDs.
- Fastlinks:
- I worked on laying out, using MAGIC, an 8B/10B
Encoder-Decoder(Widmer, A. X., P. A. Franaszek, "A DC-Balanced,
Partitioned-Block, 8B/10B Transmission Code", IBM J.
Res. Develop, 27(5), pp. 440-451, September 1983) which runs
on a 400 MHz clock.
- nanoManipulator:
- I mostly worked on making the source code run with PixelFlow
machine and writing shaders for PixelFlow to visualize multiple
data sets.
- I was one of the four people that developed IMS, an image
analysis package written in C and Java. This utilized source code
from the
KUIM
Image Processing System.