TileViewer v2
What's new?
TileViewer version 2.0 started when Dr. Sung-Jin Kim started his postdoctoral researcher work under Prof. Stephen Jenks supervision in Calit2 January 2007.
It was rebuilt almost from the ground-up following the basic concept of the TileViewer version 1.0. Dr. Kim and Prof. Jenks made many architectural improvements such as, more/better threading, better communication layer using SPDS messaging, senders, streamers, and most importantly an actually usable GUI, compared to the 'sungjin-UI' of version 1.0, where most of commands are predefined by keys...on the keyboard.
Really... what's new?
1. Many many big images
The previous version only had single big image displayed on the screen, but the new version can display as many as possible as long as the display node has enough memory. The picture below shows 7 different big images displayed on the screen with two videos also. Each big image has rougnly 200-600Mpixel resolution.
Also more threads were dedicated to handle the each layer of the big image (tiled pyramidal tiff) resulting much faster movements.
2. SPDS messaging
The previous version only utilizes a single network channel for the global state messages. Using Prof. Jenks SPDS messaging, different network channels could be tested easily thanks to its nice abstraction of socket programming.
3. Let's send a screen
We had a basic streaming capability as you can see from our previous Guitar Hero video. It has a reasonably short delay (enough to play a game like Guitar Hero) but consumes way too much bandwidth almost saturating the gigabit network.
We wanted to send a PC screen to the wall with a little bit more delay but using a less bandwith. Prof. Jenks developed HiperSender, a Java application that captures the screen of any PC and sends it to the wall either over a wired or wireless LAN. Since the bandwidth is very minimal, we are able to send 10 or more PC screens to the wall. This is an ideal and easy approach to present a custom application to the wall.
(from left to right: Nine senders displayed on HIPerWall. Two senders running SecondLife. A Ramesh Jain's telemedicine application shown through a sender)
4. Streaming
This new streamer, uses DirectShow technology to detect any available video capture device (webcam, TV capture card, video capture card like BlackMagic Intensity Pro) and using the DirectShow's filter technology to send uncompressed streams to the display wall using multicast.
5. Finally, a GUI that non-sungjin-UI-trained-people can use
We developed a Java GUI that controls TileViewer completely. Only control TileViewer can have is mouse based control, such as drag and drop. All other functions such as opening a file, closing a file, etc. are handled by GUI. This GUI has been tested not only by us but also tested by a QA team of some company in somewhere around world, ahem....
Through the GUI, TileViewer provides new capabilities such as file import, which copy a given file to all display nodes. Deletion of the imported file from all display nodes, and ability to reconfigure the tile coordinates of the display nodes by sending predefined config files to all nodes.
6. Awareness of bezel boundaries
The new version has 'snap' function which will increase the size of an object (e.g. big image) to fit in the smallest subset of displays, which can include the image.
Also the bezel compansation can be dynamically turned on and off.


