Some Popular Tools That Inspired VisGenie

Microsoft Visual C++: Basically VC++ itself doesn't provide too much help to facilitate the video rendering and metadata visualization. C/C++ is such a powerful lagrange that virtually can realize any programming requirement. However, as a low level lagrange this also means you need to implement everything from the beginning, such as reading videos, display images, draw curves, etc. Though VC++ (together with MFC library) makes it much easier to build Windows based applications, it is far from enough for video related processing.

Microsoft DirectShow SDK: DShow is an ideal platform to fulfill media rendering tasks. Actually VisGenie is built upon VC++ and DShow. However, to program using DShow requires the knowledge about some advanced topics, such as COM, registry operation and Platform APIs. These are usually beyond the interest of researchers. Also DShow doesn't provide any visualization mechanism for video metadata.

The latest DirectShow SDK is shipped together with DirectX SDK, and can be downloaded from Microsoft DirectX web site.

Microsoft Vision SDK:
Vision SDK was designed to support researchers and developers of real-time image-processing applications.But its functions to render video source are limited. And there is no components to provide information visualization support.

Vision SDK can be downloaded from Microsoft Vision Technology Group. For unknown reason it was not available at the time when this article was created.

Mathworks Matlab:
Matlab might be the favorite tool of many researchers and developers. It has very strong visualization capability. However, it has the well known problem that its running speed is very slow, which significantly limits the usage of Matlab for real time video processing applications. Also Matlab nearly provides no support to video processing (recently released Matlab 14 includes the video processing blockset, which has not been reviewed yet).

Java: Java is a solution to create rapid cross-platform applications. It provides very convenient ways to render media content and visualize metadata. However, the drawback of Java is that its running speed is slow, and it doesn't not provide favorable mechanism for video analysis and processing (e.g. bit wise operation and pointer).

Media Player: The existent media players (Microsoft Media Player, Apple QuickTime and Real Real Player are among the most popular ones) are all for entertainment purposes. They are all targeting to customers, instead of researchers and developers. As a commercial tool they don't provide too much freedom to users. E.g, you can't set the output image format, and whether to switch off the synchronization clock so that the video can be rendered as fast as it can. These features are very useful to build up video analysis and processing application.

For problems or questions regarding this web page please contact with me at ywang AT ee DOT columbia DOT edu.
Copyright © By Yong Wang All Rights Reserved
Last updated: March 1st, 2005