MCL Home | People | Projects | Publications

Other MCL Software/Hardware Releases

SL1--SL2 Smart Lighting Optical Wireless Communications Transceiver

Developed by J.C. Chau, T.D.C. Little D. Ryan, T. Rich, K. Shah, G. Brown.

This distribution includes design files and documentation for two of our visible light communication transceiver kits, SL1 and SL2. This information describes experimental prototypes, and is provided as is, without any warranty or support. This information may be used to manufacture or operate the described visible light communication transceivers. The design files and documentation are divided into two subfolders: one for the SL1 and another for the SL2. These are two different models of transceiver kits.

The SL1--SL2 distribution is in

MPEG-I Multi-Stream System Layer Encoder

Developed by Z. Yaar, J. Boucher, J. Palmer, and E. Rubin. Development team interview [MPEG]

The encoder takes existing MPEG-I audio and video streams and interleaves them into a single system layer stream (video with audio). The player atempts to playout these streams in realtime. Because the encoder supports up to 16 video streams interleaved with up to 32 stereo audio streams one can easily overload the system at playback time.

The encoder distribution is in mpeg_system_encode_v1.0.tar.gz.

The encoder/decoder distribution is in mpeg_system_source_v1.2.tar.gz.

MPEG-I Multi-Stream System Layer Player

Developed by J. Boucher, Z. Yaar, J. Palmer, and E. Rubin.

The player decompresses MPEG system layer audio and video and attempts playout in realtime. Because system layer streams can have up to 16 video streams interleaved with up to 32 stereo audio streams, the system can be easily overloaded. The player currently supports playback of the system layer stream on the following machines: SGI Indigo/Indigo-2, Sun Sparc (SunOS 4.1.1) with 8KHz ulaw AMD audio device, and Linux with a 16 bit soundcard (/dev/dsp). (NOTE: You can compile the software with the -DNONE option if you don't have an audio device. You will need MOTIF and SYSTEM V extensions for shared memory and semaphores. A user's guide is provided in postscript format in the docs. Test streams are also provided.

To achieve satisfactory audio and video playout, a machine with sufficient performance is required. The SGI Indy had suitable performance, but the 486/33 Linux and IPX platforms were marginal. The newer Suns or faster PCs will likely yield satisfactory playout.

As a by-product of this development, a modified mpeg_play v2.0 that provides for the real-time playback of MPEG-I video streams was produced. Here, real-time means that the player adapts dynamically to drop frames to match the number of frames passed through the player to the frame rate given in the sequence header of the video stream. (These are in the range 24 fps to 60 fps). To create this executable, recompile the video player without the -DSYSTEM_PLAY switch. Any platform that plays mpeg_play v2.0 can use the real-time video player.

The player was designed with a Mosaic interface in mind so you can easily add it to the set of your Mosaic file players.

The decoder distribution is in mpeg_system_play_v1.0.tar.gz.

The encoder/decoder distribution is in mpeg_system_source_v1.2.tar.gz.

Video Broadcast Authoring Tool

Developed by Michael Carreira, John Casebolt, and Jerry Desrosiers. Development team interview.

VBAT is intended to be one component of an all-digital Video Broadcast Environment. VBAT can be used to organize digitally stored audio/video "movies" for eventual playout. VBAT is intended to make the hierarchical organization as simple as possible, therefore promoting effortless retrieval of high-quality archived "movies." VBAT does not provide for an initial video frame marking mechanism although it could utilize the output of a marking tool which produces segment definition files. It is also not intended to provide a fully featured browser or playout environment although the segment definition file, segmented media files, and still image files may be utilized by a Video Browser and Playout Tool.

JPEG-Compressed Video Scaling Tools

Developed by A. Krishnamurthy and D. Venkatesh.

We have developed three tools (source code and executables) for creating scaled JPEG-compressed video files. We use the JPEG compression board from Parallax Graphics, Inc.:

XPetri -- Graphical Petri net simulator for X

Developed by Brian Kahn, Steve O'Keefe, and Bob Noel.

XPetri is a graphical simulator of Petri nets. A Petri net is a construct useful for modelling and simulation of complex systems, originally described by Carl Petri in 1962. A Petri net consists of some number of places which represent the system state, transitions which represent system actions or events, and arcs between places and transitions which represent conditions or requirements. For more information on Petri nets, read the article "Petri Nets: Properties, Analysis and Applications" by Tadao Murata from Proceedings of the IEEE, 77:4, 4/89.

XPetri is an Xwindows application designed to be portable across UNIX platforms. The tool is known to run under SunOS and DEC Ultrix. XPetri requires an ANSI C compiler and the Tcl/Tk3.2 software package, available free from several Internet archives.

Xpetri supports Place/Transition nets (PT nets) with weighted arcs and a strict firing rule. The tool also allows a minimum and maximum number of tokens to be specified for each place, and supports temporary disabling of transitions for a single firing or until re-enabled.

The XPetri distribtution is callled xpetri3.4.tar.gz.

Video and Audio Format Conversion

The following areas in Multimedia Format conversions have been explored and implemented for public domain use:

The following source code is also available: