home  |   research   |  members   |  projects  |  publications   |  conferences of interest   |  downloads   |  contact  |  intern

Visual Quality Index Implementations

This is "The Multimedia Signal Processing and Security Lab", short WaveLab, website. We are a research group at the Computer Sciences Department of the University of Salzburg headed by Andreas Uhl. The short name "WaveLab" already indicates that wavelets are among our favorite tools - we have 15 years of experience in this area. Our research is focused on Multimedia Security including Watermarking, Image and Video Compression, Medical Image Classification, and Biometrics.

Implementation of some metrics:
  • ess
  • lss
  • psnr
  • psnry
  • ssim
  • lfbvs
  • nice
  • leg
  • sun10a
  • yao09a
  • mse
The implementation aims to preventing image file type hassle and usability from shell scripts rather than fast runtime.
Note: This software uses freeimagelibplus.

Version 0.3.3 (2013-07-08):
  • NICE:
  • This metric is asymetric by design:
    OPTION sym: Will caclulate a symetric score for the NICE metric based on hamming distance percentage over the image ( see below, change the eq. to NICE = d_H(B, B')/w*h with w and h being the width and height of the image respectively).
    Invoke with: -P sym

    Implementation Details:
    The NICE uses gradient maps on different scales, adjusts for possible image shift by using a morphological dilation with a plus shaped structuring element. The actual score is computed by doing a thresholding on the image and calculating differences. For the implementation of the NICE we choose the version with only one scale, Sobel edge detector and morphological dilation since it is significantly faster than using steerable wavelet decomposition but shows similar performance, c.f. [Rouse09b]. For weighting the hamming distance and normalization as given in [Rouse09a] was used.
    [Rouse09a] Rouse, Hemami: The Role of Edge Information to Estimate the Perceived Utility of Natural Images (Rouse publication list, pdf link). This is the source of the non-symetric score (eq. 11 on page 3).
    [Rouse09b] Rouse, Hemami: Natural Image Utility Assessment Using Image Contours (Rouse publication list, pdf link).
  • NICE:
  • A bug with the morphologic dilation operator has been fixed. Thanks for Stefan Kiltz of the Otto-von-Guericke University of Magdeburg for finding (and reporting) this bug.
Version 0.3.2 (2012-10-10):
  • Metrics added:
  • MSE
  • Compiler issues:
  • Newer versions of gcc expect a different library order than the old one. Reordered the libraries in the Makefile, it should work for both the old and new gcc now. (If it does not please drop me an email).
Version 0.3.1 (2011-7-27):
  • Metrics added:
  • sun10a from Jing Sun and Zhengquan Xu and Jin Liu and Ye Yao: ''An objective visual security assessment for cipher-images based on local entropy'', 2010.
  • yao09a from Y. Yao and Z. Xu and J. Sun: ''Visual security assessment for cipher-images based on neighborhood similarity'', 2009.
Version 0.3 (2011-5-24):
  • Metrics added:
  • Local edge direction and gradient (LEG) from An Effective and Efficient Visual Quality Index Based on Local Edge Gradients by Hofbauer et al.
  • Local feature based Visual Security (LFBVS) from Visual Security Evaluation for Video Encryption by Tong et al.
  • Natual image contour evaluation (NICE) from Natural Image Utility Assessment using Image Contours by Rouse et al.
  • Options can now be passed to metrics with -o, the metric has to deal with the options as it sees fit.
    NOTE: This breaks compatibility with older metrics. This can be fixed by including a dummy options function:
    void metric_passopt(char *passopt){ }
Version 0.2:
Added support for yuv 4:2:0 videos.
Version 0.1:
Initial release

The code is available upon request.

Please fill out this form to request a download link for the latest VQI:

email address: