Video Processing Software
To help understanding the video processing algorithms discussed in the course book "Video Processing for Multimedia Systems", together with my son Stuart, I created a Windows-based tool: "VidProc".
The software enables you to actually process various video fragments, to:
- estimate motion, using a broad variety of algorithms
- convert from interlaced to progressive, using simple, edge dependent, motion compensated or hybrid algorithms
- interpolate additional images between existing ones, with or without using motion vectors
- enhance contrast and colour
- perform linear and non-linear sharpness enhancement
- add noise to video and judge the capabilities of various spatial, temporal and spatio-temporal, noise reduction algorithms
- convert from and to several popular video file formats, such as bitmaps, JPEG files and AVI files
- study quantisation, dithering, noise shaping
- generate test signals and circles
- calculate various error measures to evaluate the algorithm of your choice
See the help file for more information about all features.
You can switch between the various tabs in the windows interface, to select the type of processing you are interested in. Below you can see some views of this interface to illustrate the capabilities of the software package.
You can convert files to several other formats like AVI, bitmap and JPEG on the "File format conversion" tab. You may specify the name of the video files, the start frame number and the number of frames to process. For more information you can press the help button.
The "Basics (1)" tab provides tools for comparing files, copying parts of files and copying parts of frames. Tools to evaluate previously processed video files are also available.
The "Basics (2)" tab provides some basic image processing tools, such as quantisation and sampling. You can choose to process only the luminance, only the chrominance or both. By pressing the evaluate button you can see how the various quantization and sampling methods affect the quality.
The "Test signals" tab allows you to create several test signals and images. You can specify the width and height of these images and use them as input for other methods. You can also perform gamma correction on the test signals.
Using the methods on the "Filtering" tab, you can design your own 2-dimensional filter. You can also perform various video fusion operations.
You can use the "Noise" tab to reduce the noise in a video fragment using the selected method. You can choose to run a pre-defined noise filter, or design your own by altering support settings and choosing a neighbourhood selection to use with your combination process. To obtain a file with noise you may run one of the add noise options. You can specify the noise level and can choose to process the luminance, chrominance or both. To have an indication of the quality of the noise reduction method, you can press the evaluate button. You will see specific error measures for noise reduction.
To sharpen a blurred image you can use the tab "Sharpness". To obtain a blurred image, choose a blur setting (Some, Medium, Strong) and press start. This tab is also useful for up- and downscaling. Read more about it by pressing the help-button.
The "Contrast" tab enables you to enhance the contrast in an image, using the selected contrast enhancement method. There are also several options to enhance colour; you can try them by selecting them and pressing the start button.
Switch to the "Motion" tab to try the various motion estimation algorithms and visualize the resulting vector fields, either as arrows or as a colour overlay. Press the help button to read about the parameters. You can select match criterion and choose to do vector post processing. Calculate error measures by pressing the evaluate button to have an impression of the relative performance of each method.
You can actually use the vectors estimated on the "Motion" tab for the Motion Compensated de-interlacers and for MC-picture rate conversion. Make sure you set the same vector gain to get meaningful results. Next to the Luminance de-interlacers you may specify the coulour de-interlacing method to use. Run error measures to compare the various methods.
In order to view display patterns, both spatial and temporal, switch to the "Display" tab.
To see VidProc's video processing results, a viewer/player, VidView, is included in this software package. VidView can read all file formats VidProc can write (CPFSPD, AVI, bitmap, JPEG).
Besides playing a video fragment, VidView can also view individual frames. By hovering the mouse over a frame, you can read the pixel value under the cursor.
Other features include channel splitting, zooming and copying a selection or frame to the clipboard.
You can freely download the software and some sample video files, but the software will only run if you have a password. To obtain a password, e-mail the number you see in the installation dialog to: G.d.Haan at tue.nl (replace at by @).
Download VidProc/VidView .
Download Video files.
- Save the VidProc.zip and Video.zip files to your hard disk.
- Extract the files in VidProc.zip in a directory C:\VidProc\bin and copy VidProc.exe to C:\VidProc, and the files in video.zip in a subdirectory C:\VidProc\video\. You may also specifie a different directory, as long as it is on the C:\ drive, but then you may want to change the default settings in the VidProc.ini file (press the "Config" button).
- You may want to create a shortcut to VidProc.exe and VidView.exe on your desktop or in your start menu
- To actually use the program you must fill in a password on the install dialog. Please e-mail your "ID" to obtain this password.