Full Documentation, PDF

advertisement
MSU Video Quality
Measurement Tool
Documentation
(PRO version 7.0 BETA)
June 2016
CS MSU Graphics & Media Lab
Video Group
http://www.compression.ru/video/
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Contents
Overview ......................................................................................................................... 5
Brief Description .......................................................................................................................... 5
Change Log ................................................................................................................................. 6
Main features ............................................................................................................................. 13
Command Line Options ................................................................................................. 15
The full list of available parameters ........................................................................................... 15
Summary ................................................................................................................................... 24
Batch files examples ..................................................................................................... 27
Compare two AVI files using PSNR metric for Y component of YUV color space, save CSV file
"results.csv" to "D:\videotest\csv" .............................................................................................. 27
Compare two AVI files with original, save CSV ......................................................................... 27
Compare original YUV file and processed AVI file using PSNR metric for Y component of YUV
color space, save CSV file with results to "D:\videotest\csv" .................................................... 28
Compare original YUV file and processed AVI file using PSNR metric for Y component of YUV
color space plus a mask file with a black area as a mask, save CSV file with results to
"D:\videotest\csv" ....................................................................................................................... 28
Compare original AVI file and compressed MPG file using PSNR metric for Y component of
YUV color space, save CSV file with results to "D:\videotest\csv" (MPG file is opened through
D:\videotest\compressed.avs) ................................................................................................... 29
Compute all possible metrics for two AVI files, save CSV file with results to "D:\videotest" ..... 29
Compute MSE and PSNR metrics on Y components of YUV color space for two AVI files, save
file "avg.csv" with average values and csv file with per frame values into the current folder .... 30
Compute PSNR of all supported color components for two AVI files, save file "avg.csv" with
average values and csv file with per frame values into the current folder ................................. 30
Compute PSNR on Y component of YUV color space and save visualization video for two AVI
files in current folder .................................................................................................................. 31
Compare all AVI files from folder1 with file folder2\input.avi with all objective quality metrics .. 31
Compute blocking and blurring metrics for all AVI files in current folder in its subfolders ......... 32
Using JSON output........................................................................................................ 33
Introduction ................................................................................................................................ 33
Scheme of JSON file ................................................................................................................. 33
Example of JSON output ........................................................................................................... 34
Information about metrics .............................................................................................. 37
Overview .................................................................................................................................... 37
Delta .......................................................................................................................................... 38
Brief Description .................................................................................................................... 38
Examples .............................................................................................................................. 38
MSE ........................................................................................................................................... 41
Brief description .................................................................................................................... 41
Examples .............................................................................................................................. 41
MSAD ........................................................................................................................................ 44
Examples .............................................................................................................................. 44
PSNR (Peak Signal-to-Noise Ratio) .......................................................................................... 47
Brief Description .................................................................................................................... 47
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
2
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Examples .............................................................................................................................. 48
SSIM INDEX .............................................................................................................................. 53
Brief Description .................................................................................................................... 53
Examples .............................................................................................................................. 55
MultiScale SSIM INDEX ............................................................................................................ 61
Brief Description .................................................................................................................... 61
Examples .............................................................................................................................. 63
3-Component SSIM INDEX ....................................................................................................... 67
Brief Description .................................................................................................................... 67
Examples .............................................................................................................................. 69
Spatio-Temporal SSIM INDEX .................................................................................................. 74
Brief Description .................................................................................................................... 74
Examples .............................................................................................................................. 75
VQM (Video Quality Measure) ................................................................................................... 78
Brief Description .................................................................................................................... 78
Examples .............................................................................................................................. 79
MSU Blurring Metric................................................................................................................... 83
Brief Description .................................................................................................................... 83
Examples .............................................................................................................................. 85
MSU Blocking Metric ................................................................................................................. 88
Brief Description .................................................................................................................... 88
Examples .............................................................................................................................. 90
Metrics GPU acceleration .......................................................................................................... 93
Brief Description .................................................................................................................... 93
Subjective quality metric comparison ........................................................................................ 98
Spearman rank order correlation coefficient ......................................................................... 98
Pearson linear correlation coefficient .................................................................................... 98
Metric speed performance ....................................................................................................... 100
Metric speed performance with correlation.............................................................................. 101
Additional metrics with source code ........................................................................................ 103
MSU Brightness Flicking Metric .......................................................................................... 103
MSU Brightness Independent PSNR (BI-PSNR) ................................................................ 104
MSU Drop Frame Metric ..................................................................................................... 105
MSU Noise Estimation metric ............................................................................................. 107
MSU Scene Change Detector ............................................................................................ 108
FAQ ............................................................................................................................ 110
How can I perform batch processing with MSU VQMT? .................................................... 110
Your program reports that it failed to open input file. .......................................................... 110
What's about values of the metrics? What values for each metrics mean, that quality is
better? ................................................................................................................................. 110
Where can I get more information about your own metrics (MSU Blocking/Blurring metrics
and others)? ........................................................................................................................ 111
How can I add my own metric to your program? ................................................................ 111
I receive unequal results for AviSynth scripts. What's wrong? ........................................... 112
Why results are unequal (too low) for one or more codecs? .............................................. 112
What about masking? I really need it! ................................................................................. 112
Your masking is not convenient; I want to draw a mask on a video frame! ........................ 112
Why MSU VQMT has four variants of PSNR calculation? ................................................. 112
What about OPSNR? Why MSU VQMT does not have it? ................................................ 113
Why PSNR is slightly different from previous version? ...................................................... 113
Why MSU VQMT has two variants of SSIM calculation? ................................................... 113
Why neither of your SSIM calculations does match AviSynth SSIM plugin? ..................... 113
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
3
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Why SSIM (fast) visualization seems to be shifted? ........................................................... 114
Why MSU Noise Estimation Metric plugin does not match to its previous version? .......... 114
Why MSU Noise Estimation Metric plugin does not match to VirtualDub MSU Noise
Estimation filter? ................................................................................................................. 114
How can I obtain version for Linux? .................................................................................... 114
List of figures ............................................................................................................... 115
Appendix A. Color Spaces Conversion ........................................................................ 116
Overview .................................................................................................................................. 116
RGB ↔ YUV conversion ......................................................................................................... 116
REC.601 Table ................................................................................................................... 116
PC.601 Table ...................................................................................................................... 116
L*U*V* ↔ YUV conversion ...................................................................................................... 117
YUV to L*U*V* .................................................................................................................... 117
Appendix B. Structure of a CSV file ............................................................................. 118
CSV file .................................................................................................................................... 118
Structure of CSV file using regular expressions ................................................................. 118
Example of CSV file ............................................................................................................ 118
Average CSV file ..................................................................................................................... 119
Structure of CSV file using regular expressions ................................................................. 119
Example of average CSV file .............................................................................................. 119
Average CSV file, second version ........................................................................................... 120
Structure of CSV file using regular expressions ................................................................. 120
Example of average CSV file .............................................................................................. 120
Parsing in MATLAB ................................................................................................................. 121
About us (Graphics & Media Lab Video Group) ........................................................... 123
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
4
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Overview
Brief Description
MSU Video Quality Measurement Tool is professional software that is used to
perform deep comparative objective analysis of video quality. The main
functionality of this software is to calculate objective quality metrics for digital
multimedia content (video or image) using reference (when comparing
several processed/compressed/distorted video sequences to original one) or
non-reference (when analyzing content and getting mark of its quality) types
of analysis.
The main application areas for this tool are:

Video/picture codec quality analyzing (developers, quality
assessment experts or even users can perform comparative quality
analysis using some other codecs as reference, or to compare
different releases of the one codec, etc.)
o
Moscow State University, CS MSU Graphics&Media Lab
performs many codec analysis using this tool, some of them
you can find here:
http://www.compression.ru/video/codec_comparison/index_en.html
o
See also x264 Codec Capabilities analysis from YUVsoft Corp.
http://yuvsoft.com/pdf/x264_parameters_comparison.pdf

Video/image processing algorithm comparison (when analyzing
objective quality of different processing algorithms). See Video
Denoiser Comparison (Comparison of Different Noise Reduction and
Removal Solutions) from YUVsoft Corp for example:
http://yuvsoft.com/pdf/video_denoiser_comparison.html

Different algorithms for image and video analysis (when analyzing
unknown algorithm from other company to understand which pixels of
the video or image it changes and how strong this change is)

And many other tasks
MSU Quality Measurement Tool uses more than 13 objective quality metrics,
has special SDK for objective metrics development and implementation,
handles with different video formats and color spaces. Also it has options to
visualize objective metrics value with internal visualizator for every metrics (it
is internal option of each metric) and other useful features for complete, fast
and accurate objective quality assessment for multimedia content.
“PRO Console version” is a special edition for IT companies. It helps them to
carry out massive comparisons of their technologies using batch processing
of big numbers of files and flexible options for measurements.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
5
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Change Log
[!] – Known bug
[+] – New Feature
[*] – Other
7.0 BETA
[+] Added support for OpenCL device interface. Efficient calculation on
different devices.
[+] Speedup of PSNR and SSIM metrics.
[+] Similar metrics joined.
6.2
[+] Added support for JSON output in console.
[*] Incorrect results with RGB metric on RGB video fixed.
6.1 BETA
[*] Fixed bug: hangs in console while using files in network directories.
[*] Fixed incorrect behavior of .Y4M files in GUI.
[*] Fixed crashes when the length of all files was not able to be detected.
6.0 BETA
[+] VQMT became about 3 times faster.
[+] 16 and 32 bpp floating point TIFF files supported (PRO version).
[+] Added ―-threads‖ command line argument to PRO version, which allows to
control CPU usage.
[*] Advanced mask processing - allowed shifts from exact black color for
indication black area.
[*] Fixed crashes and incorrect results while using mask.
5.2
[*] Fixed bug: hangs in console while using files in network directories.
[*] Files incorrect behaviour of .Y4M files in GUI.
5.1
[+] Support comparing ranges of input videos.
[*] Fixed crashed while using YUV files with more than 8bpp.
[*] Corrected RGB <-> YUV conversion procedures.
[*] Fixed incorrect transformation for some input formats.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
6
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
[*] 10, 14 and 16 bpp RGB format plain order changed to R, G, B.
5.0 BETA
[+] Added Open File Wizard to help with opening and previewing files;
[+] Use wizard or file picker for selection of input file;
[+] Wizard supports drag&drop mechanism;
[+] Now user can select mode for opening file (FFmpeg, AviFile, automatic
AviSynth, RAW file, image or image sequence and others);
[+] Special mode to compare the results of opening a file using different
modes;
[+] Automatic selection of the best open mode for specified file;
[+] More settings for customization opening process;
[+] Added automatic generation of video index file that guarantees file will be
opened and correct previewed;
[+] Number of files available for opening and previewing increased;
[+] Added support for images as input files: *.jpg, *.png, *.tif, more formats of
*.bmp and many others;
[+] Added support for using image sequences as input video;
[+] Previewing raw files (*.yuv, etc.) "on the fly";
[*] PRO version console interface is more user friendly with full compatibility
to previous version;
4.4
[+] Number of files available for metric calculation increased;
[+] The number of supported devices for running CUDA metrics increased;
[*] Unable to run metric for single file bug fixed;
[*] Unable to view results if some minor error occurred bug fixed;
[*] CUDA metrics crash fixed;
4.3 BETA
[+] Number of files available for metric calculation increased. Now metric can
be calculated for the files that not available for preview;
[+] Speed up of file opening in metric calculation process for some types of
files;
[+] Standard VQMT plug-ins is now supported;
[*] Memory leak fixed in VQMT.
4.2 BETA
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
7
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
[+] Added native support for *.mkv, *.flv and some other containers and
codecs;
[*] Stability fixes.
4.1 BETA
[+] Added FFmpeg file reading support, the number of supported formats
greatly increased. Using AviSynth is not recommended;
[*] Fixed x64 version crashed;
[*] Stability fixes.
3.2
[*] Existence of AviSynth determining fixed;
[+] AviSynth for VQMT as standalone installer;
[*] AviSynth plug-in opening fixed;
[*] Fixed unsuccessful file opening in AviSynth mode;
[+] AviSynth mode now supported in console; [+] All dependencies now are
immediately in installer, no more redistributable packages needed;
[+] Main menu and desktop labels fixed to determine Pro, Free and Pro Demo
license;
[+] Executable file metadata errors fixed;
[+] Cosmetic fixed in Interface and file naming: revision number added to
version naming;
[*] Fixed crashes in 64-bit version on multiple platforms;
[*] Fixed crashes and hangs after: the press of Process button, viewing of
analyses result, other events.
3.1
[+] Changed to CUDA 5.0 toolkit, added Kepler support (Compute Capability
3.0)
[*] Stability fixes
[*] Fixed major bug with masking
3.0
[+] Added stSSIM metric.
[+] Added ―.y4m‖ raw video internal support
[+] Added Autoupdate feature for free version (our PRO customers receive
updates automatically)
[+] Added CUDA realization for SSIM-based metrics (SSIM, 3-SSIM,
MS-SSIM. Requires CUDA-capable device)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
8
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
[*] Added subjective comparison for the most popular metrics (see metrics
info)
[*] Added 64-bit version of MSU VQMT
[!] Program crashes due memory lack when -metr ALL specified with large
(i.e. 1280x720) video frames.
2.7.3
[*] Fixed bug with MSSIM metric causing source frame change.
[*] Fixed some metrics inaccuracy causing different metric values by
enabling\disabling visualization.
[!] Program crashes due memory lack when -metr ALL specified with large
(i.e. 1280x720) video frames.
2.7.2
[*] Fixed bug causing incorrect metric values, when using 3SSIM and
MSSSIM
[*] Fixed bug causing incorrect PSNR metric values in CSV files
[*] Fixed bug causing no metric calculation for large (>4gb) files
[*] Not existing directory specified in "-cod" parameter will be created now and
processing will not cancel.
[!] Program crashes due memory lack when -metr ALL specified with large
(i.e. 1280x720) video frames.
2.7.1
[*] Fixed bug in CVS file generation. Sometimes first frame metric value was
empty.
[*] Fixed bug causing incorrect MSE metric values after calculating SSIM
metric.
2.7
[+] MSSSIM (fast and precise) metric implemented.
[+] 3SSIM metric implemented.
[*] Fixed bug in calculation of VQM metric under Windows 7.
[*] Fixed bug during program launch on some computers.
2.6 (Windows Vista & Windows 7 support)
[*] Fixed bug in Scene Change Detection plugin when working under
Windows Vista or Windows 7.
[*] Fixed bug in saving visualization video when running on Windows Vista or
Windows 7.
[*] Fixed dependency with vcomp.dll
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
9
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
2.5
[*] Fixed bug in processing of *.YUV files with non-standard resolution.
[*] Fixed bug in loading the mask from *.YUV files.
[*] Fixed bug in masking of L (LUV colorspace) component.
[*] Fixed bug in processing of non-standard resolution *.AVS files.
[+] Video with any resolution is now supported by all metrics. Video with
resolution which is not appropriate for some metric is now expanded (via data
duplication, separately for each metric) to make resolution acceptable.
[+] 1.95 times speed up of command line tool multiple metrics calculation on
average (PRO version only)
[+] YUV files with size more than 2Gb are supported now
[*] Fixed bug in calculation of SSIM (precise) for second reference file
[*] Fixed bug in conversion from RGB32 to YUV color spaces for video with
non-standard resolutions (affects calculation of metric for *.AVI files)
[+] Output directory for *.CSV and visualization files is automatically set to
folder of last specified reference file
2.01 beta
[+] 1.5 times speed up of command line tool multiple metrics calculation on
average (PRO version only)
[+] Masking is added
[*] Fixed bug in 4:2:2 raw files with more than 8 bits per component support
2.0 beta
[+] *.MOV, *.VOB, *.WMV, *.MP4, *.MPG, *.MKV, *.FLV formats support
simplified
[+] HDTV support (PRO version only)
[+] Raw files with more than 8 bits color depth per component are supported
(PRO version only)
[+] Alternative SSIM and PSNR are added for compatibility with other
implementations.
[+] New version of *.CSV files with average metric values (PRO version only)
[+] Minor acceleration
[+] Preview buttons are added
[+] Options save is improved
[+] All MSU plugins are renamed (names are now more correct in GUI and
simpler to call from PRO console)
[*] MSU Noise Estimation plugin bug with incorrect (identical) values for some
videos is fixed.
[*] MSU Noise Estimation and MSU BI-PSNR plugins provide correct
information about their home pages now.
[*] MSU BI-PSNR plugin crash during visualizing a metric for video
sequences with dimensions less than 255 is fixed
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
10
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
1.52
[*] Error in saving CSV file for comparative analysis fixed
1.51
[*] Error at the opening YUV-files fixed
[+] YUV10, YUV16 formats for YUV files added
[+] Improved codecs support
1.5
[*] Set of interface fixes
1.4
[*] Bug fixing in BMP processing (visualization saving, etc)
1.3
[*] Bug with YV12 yuv files fixed
1.2
[+] Now it is possible to compress visualization
[+] Plug-in mechanism released
[!] Problem with some DV codecs
1.0
[+] More YUV file types are supported, including YV12, YUY2, YUV
[+] Supports Unicode
[+] Visualization dialog was extensively reworked
[*] Interface is more user-friendly
0.81
[+] New AVI Reading system (support large AVI Files, VP 70)
[*] Bug fixing in final dialog
0.8
[+] New dialog with visualization of the comparison and for comparison of the
selected frames added.
0.75
[+] Improved codecs support (x264)
[+] Now data from YUV-AVI files is extracted without conversion
[*] Bug fixing: #NAN in VQM calculation, calculation of RGB-metrics for YUVfiles
[*] MSU Blocking Metric changed
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
11
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
0.74
[+] MSE, MSAD metrics added
[+] Saving of mean value of the metric added
[+] Improved codecs support (DivX3, WMV, mjpeg2000)
[*] Delta metric was changed
[*] Bug fixing (AviSynth - wrong result for comparison of three files)
0.73
[+] All color spaces from AviSynth are supported
[+] I420 (IYUV) support added
[+] XviD and B-frames support added
[*] Bug fixing (YUV-files, SSIM)
0.72
[+] AVS Support added
[*] Bug fixing
[!] Doesn't work with XviD
0.71
[+] First public beta
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
12
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Main features
MSU Video Quality Measurement Tool PRO version provides many features
for users. Here are some of them:




Two types of User Interface:
 Command-Line Interface;
 Graphic User Interface;
Various input video formats:
 Video files (*.avi; *.avs; *.dat; *.divx; *.f4v; *.flv; *.h265; *.m2ts;
*.m2v; *.m4v; *.mkv; *.mov; *.mp4; *.mpg; *.mts; *.mxf; *.ogm;
*.ogv; *.qt; *.ts; *.vob; *.wmv; *.265; *.3g2; *.3gp; *.3gpp and
others);
 Raw files with 8, 10, 14 and 16 bit color depth (YV12, UYVY, YUY2,
YUV, IYUV, PXXX color spaces);
 Image files and image sequences: *.bmp, *.bw, *.cut, *.dds, *.exr,
*.g3, *.gif (only static images), *.hdp, *.hdr, *.ico, *.iff, *.j2c, *.j2k,
*.jif, *.jng, *.jp2, *.jpe, *.jpeg, *.jpg, *.jxr, *.lbm, *.mng, *.pbm, *.pcd,
*.pct, *.pcx, *.pgm, *.pic, *.pict, *.png, *.ppm, *.psd, *.ras, *.rgb,
*.rgba, *.sgi, *.targa, *.tga, *.tif, *.tiff, *.wap, *.wbm, *.wbmp, *.wdp,
*.webp, *.xbm, *.xpm;
 TIFF images with 16 and 32 bit (floating point) color depth.
 AviSynth scripts – it can be very useful when using VOB, WMV and
other files as input for MSU VQMT;
 Video files via AviSynth scripts auto generation;
13 base metrics are included:
 PSNR;
 PSNR (256);
 APSNR;
 APSNR (256);
 MSE;
 MSAD;
 Delta;
 SSIM (fast);
 SSIM (precise);
 MSSSIM (fast);
 MSSSIM (precise);
 3SSIM;
 stSSIM;
 VQM;
7 additional objective quality metrics from MSU:
 MSU Brightness Flicking Metric (with source code);
 MSU Brightness Independent PSNR (with source code);
 MSU Drop Frame Metric (with source code);
 MSU Noise Estimation Metric (with source code);
 MSU Scene Change Detector (with source code);
 MSU Blocking;
 MSU Blurring;
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
13
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP








All metrics can be calculated simultaneously;
Every metric can be calculated for its set of color planes
(Y,U,V,L,R,G,B);
Masking;
Results are saved to CSV files, or visualized with GUI;
Average values for each metric are calculated and saved;
Plug-ins interface with SDK that gives user possibility to create their
own metrics;
Possibility to compare several files in one comparison – typical
situation when comparing original uncompressed file with several
compressed files with different codecs or presets;
Possibility to save ―bad‖ frames for every comparison with flexible
options – it can be very useful when comparing two (or more) codecs
and user wants to see frames where these codecs have maximum
difference, the lowest/highest metric value, etc.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
14
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Command Line Options
The main advantage of MSU Video Quality Measurement Tool PRO version
is the possibility to use command-line interface with flexible options for batchprocessing.
The interface of MSU VQMT PRO version is
msu_metric.exe <parameters>
The full list of available parameters
with comparison of VQMT v 4.* and modern VQMT syntax:

Getting help:
VQMT v.4
<empty request>
Modern VQMT, one of:
<empty request>
-h
-?
--help
/h
/?

Specifying files to use metric for (the first one is assumed as original):
VQMT v.4
-f <file name>
Modern VQMT, one of:
-f <file name> (*)
-in <file name>
(*) gray color means syntax is deprecated, can be removed in future releases
Notes:
All input files should have the same resolution;
If files differ in length then the shortest length is taken for calculation: metrics are
not calculated for the frames beyond the shortest file length;
You can specify JSON encoded open settings instead of <file name>, as it is in
the GUI interface.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
15
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP

Specify metric to use and color component:
VQMT v.4, one of:
Modern VQMT, one of:
-metr <metric name> -cc <color
component>
-metr <metric name> -cc <color
component>
-metr <metric name> -cc <color
component>
-metr <metric name or metric alias>
<color component>
<metric name or metric alias> <color
component>
Notes:
Get list of available metrics using ―-list metrics‖;
Get list of available color components using ―-list color‖;
The list of available color spaces:
 ALL
- all channels, supported my selected metric;
 RGB
- R, G and B from RGB;
 RRGB
- R from RGB;
 GRGB
- G from RGB;
 BRGB
- B from RGB;
 YUV
- Y, U and V from YUV;
 YYUV
- Y from YUV;
 UYUV
- U from YUV;
 VYUV
- V from YUV;
 LLUV
- L from LUV;

Tell to use all available metrics with compatible color components:
VQMT v.4
-metr ALL
Modern VQMT, one of:
-metr ALL
ALL

Specify device to perform metric on:
VQMT v.4
N/A
Modern VQMT
-dev <device>
Notes:
Get list of available devices using ―-list devices‖.
<device> is device id or a part of device name.

Specifying a mask file:
VQMT v.4
-mask <file name>
Modern VQMT
-mask <file name>
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
16
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Such file is specified in the same way as described for -in parameter. It means
that if a raw file is provided the user must specify data color space. Please read
about available color spaces in the ―-f‖ parameter description.
Notes:
A mask file should be a two color file: one color should mark masked area and
another color should mark unmasked area. One of the colors should be black.
We assume the color with three zero components in RGB and with zero Ycomponent in YUV as ―black‖

Tell to use black areas as masked (if mask file specified; default):
VQMT v.4
Modern VQMT
BLACK
BLACK
Note:
When black color is used as a mask an unmasked area may contain different
colors – it is useful when the user wants to mark mask area on an actual video
frame.

Tell to use non-black areas as masked (if mask file specified):
VQMT v.4
NOT_BLACK
Modern VQMT, one of:
NOT_BLACK
NOT BLACK

Specify color space for raw file (*.yuv, etc.):
VQMT v.4
<color space>
Modern VQMT
<color space>
Notes:
Get list of available color spaces using ―-list raw‖
More information about *.yuv files can be found here: http://fourcc.org/yuv.php;
PXXX color spaces are named according to Microsoft
(http://msdn.microsoft.com/en-us/library/bb970578(VS.85).aspx)
recommendations, but format is treated as in H264 standard
(http://wiki.epfl.ch/amin/documents/itu-t%20h.264.pdf) streams definition.
The list of available raw color spaces:
 IYUV;
 lsYUVpl;
 P010;
 P014;
 P016;
 P210;
 P214;
 P216;
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
17
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP






















P410;
P410_RGB;
P414;
P414_RGB;
P416;
P416_RGB;
RGB;
RGB24;
RGB32;
UYVY;
VYUY;
Y;
Y410;
Y416;
YCbCr;
Yrg;
YUV;
YUY2;
YV12;
YV16;
YVYU;
Specify resolution for raw file (*.yuv, etc.):
VQMT v.4
Modern VQMT, one of:
-yw <value>
-yw <value>
-yh <value>
-yh <value>
<width>x<height>
Note: since VQMT v.5.0 resolution can be determined automatically from file name

Specify open mode for reading file:
VQMT v.4
N/A
Modern VQMT
<open mode>
Notes:
Get list of available modes using ―-list modes‖.
The list of available modes:
 auto
 avifile
 avisynth
 avs_AviFileSource
 avs_AviSource
 avs_DirectShowSource
 avs_OpenDMLSource
 ffmpeg
 raw
 sequence
- Auto;
- AviFile;
- AviSynth;
- AviSynth (AviFileSource);
- AviSynth (AviSource);
- AviSynth (DirectShowSource);
- AviSynth (OpenDMLSource);
- FFmpeg;
- YUV raw file;
- Image sequence;
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
18
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP


y4m
- Y4M file;
Specify metric configuration line (for plug-in metrics):
VQMT v.4
-cl <config_line>
Modern VQMT
-cl <config_line>
Note:
Use this parameter if metric is configurable to set configuration string. Please
refer to the metric homepage to find out applicable configuration line.

Specify additional parameter for opening file:
VQMT v.4
N/A

Modern VQMT
-set <key> <value>
Specify index creation mode:
VQMT v.4
N/A
Modern VQMT
-idx <index type>
Notes:
Index is needed if the source file cannot be correctly opened for seeking. Index
file creation has a sense only if FFmpeg or Auto mode specified. When you use
console, the file will be read frame by frame, and no index file will be created.
Index file can be created when VQMT attempts to save bad frames.
Index type is one of:
 no - do not create index file (default);
 needed
- create index file only if needed;
 forced
- always create index file;
 needed_mem
- build index in memory if needed, no files created;
 forced_mem
- always build index in memory (no files created);

Specify index file mask (default: $(DirPath)\$(FileName).vqmtidx):
VQMT v.4
N/A
Modern VQMT
-idx_file <file mask>
Note:
You can use placeholders $(DirPath) and $(FileName) in the mask.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
19
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP

Turn on/off .csv file writing (default: off):
VQMT v.4, one of:
Modern VQMT, one of:
-sc 1
-sc 1
-sc 0
-sc 0
-csv
-csv yes
-csv no

Specify RGB to/from YUV table (default: REC601):
VQMT v.4, one of:

Modern VQMT, one of:
-ryt REC601
-ryt REC601
-ryt PC601
-ryt PC601
Specify .csv file name generation type (default: POSTFIX):
VQMT v.4, one of:

Modern VQMT, one of:
-cng PREFIX
-cng PREFIX
-cng POSTFIX
-cng POSTFIX
-cng CUSTOM <filename>
-cng CUSTOM <file name>
Specify directory for saving .csv files (default: current directory):
VQMT v.4
-cod <dir name>

Modern VQMT
-cod <dir name>
Specify .log file directory:
VQMT v.4
-lp <filename>
Modern VQMT, one of:
-lp <file name>
-log <file name>

Specify file for saving average results (old version):
VQMT v.4
-af <filename>

Modern VQMT
-af <file name>
Specify file for saving average results:
VQMT v.4
-af2 <filename>
Modern VQMT, one of:
-af2 <file name>
-avg <file name>
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
20
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP

Specify .csv file delimiter (default: ,):
VQMT v.4, one of:
Modern VQMT, one of:
-ct 0
-ct 0
-ct 1
-ct 1
-ct ,
-ct ;

Specify floating point delimiter (default: .):
VQMT v.4, one of:
Modern VQMT, one of:
-fpd 0
-fpd 0
-fpd 1
-fpd 1
-fpd .
-fpd ,

Turn on/off saving visualization file (default: off):
VQMT v.4, one of:
Modern VQMT, one of:
-sv 1
-sv 1
-sv 0
-sv 0
-vis
-vis yes
-vis no

Turn on/off saving bad frames:
VQMT v.4, one of:
Modern VQMT, one of:
-sbf 1
-sbf 1
-sbf 0
-sbf 0
-sbf
-sbf yes
-sbf no

Specifying directory for bad frames:
VQMT v.4:
-bfod <directory>

Modern VQMT:
-bfod <directory>
Specifying type of bad frames:
VQMT v.4:
-bft <type>
Modern VQMT:
-bft <type>
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
21
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Note:
<type> is one of:
 ORIGPROC:
save frames with max difference between first and
second files;
 PROCPROC:
save frames with max difference between second and
third files (usually these files meant to be processed files to compare);
 FIRSTBETTER:
save frames where second file is better than third;
 SECONDBETTER: save frames where third file is better than second;

Specifying the number of bad frames:
VQMT v.4:
-bfnum <number>

Modern VQMT:
-bfnum <number>
Specifying the radius of bad frames (minimal distance between bad frames):
VQMT v.4:
-bfr <number>
Modern VQMT:
-bfr <number>
Note:
0 means save bad frames by quality. 10 means that distance between any
adjacent bad frames should be at least 10.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
22
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP

Getting additional info:
VQMT v.4, one of:
Modern VQMT, one of:
-list
-list
-list_raw
-list metrics
-list modes
-list color
-list raw
-list devices

Specifying the number of threads to use for processing:
VQMT v.4:
Modern VQMT, one of:
N/A

-threads <number>
Demanding JSON output:
VQMT v.4:
Modern VQMT, one of:
N/A

-json
Specifying file for writing JSON:
VQMT v.4:
Modern VQMT, one of:
N/A

-json_file <file>
Quiet mode:
VQMT v.4:
Modern VQMT, one of:
N/A

-quiet
Specifying frame range for input file:
VQMT v.4:
N/A
Modern VQMT, one of:
-range <offset type> <range>
-range <range>
<range>
Note:
<offset type> is one of:
 seek: go to the first frame immediately, if possible;
 skip:
read and skip some frames from beginning of input file (can be slow
for big offsets);
 auto:
(default) automatically choose between seeking and skipping.
<range> is one of:
 <number>-<number>:
 <number>-:
specifying the first and last frame of range;
set range from the first frame to the end of video.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
23
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Summary
-h, -?
-list
-list metrics
-list modes
-list color
-list raw
-list devices
-in <file name>
-mask <file name>
BLACK
NOT BLACK
<color space>
<number>x<number>
<open mode>
-metr ALL
-metr <metric name> <color
component>
<metric name> <color component>
-dev <device>
display this help
display additional information
file to compare (the first one is
assumed as original)
file with a mask
only when mask specified. BLACK
means the program will use black
areas as masked. Default: BLACK;
specify color space for RAW (.yuv)
input file. View the list of available
color spaces using -list raw
specify resolution for all RAW (.yuv)
input files
specify open mode for reading file.
View the list of available color spaces
using -list modes
desired metric; specify ALL key to
compute all metrics. Use -list metr to
see all variants.
Color component values:
 ALL to compute metric for all
supported color components;
 YVU to compute metric for all YUV
color components;
 RGB to compute metric for all RGB
color components;
use -list color to see all variants
device to perform metric on. Use
device id or a part of device name. Use
only devices, supported by selected
metric (supported devices listed in "list metrics")
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
24
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
-json
-json_file <file>
-quiet
-cl <config line>
-set <key> <value>
-idx <index type>
-idx_file <file mask>
-csv
-csv yes
-csv no
-cng PREFIX
-cng POSTFIX
-cng CUSTOM <file name>
-cod <dir name>
-ryt REC601
-ryt PC601
-log <file name>
-avg <file name>
-ct ,
-ct ;
-fpd .
-fpd ,
-vis
-vis yes
-vis no
-sbf
-sbf yes
-sbf no
-bfod <directory>
-bft <type>
-bfnum <number>
-bfr <number>
perform JSON output
specify file to save JSON to
do not output information about
VQMT run
metric configuration line (applicable
for plugin metrics only)
specify additional parameter for
opening file
specify index creation mode. One of:
no, needed, forced, needed_mem,
forced_mem. Default: needed
specify index file mask. Possible if
index mode is one of: needed, forced.
Default:
$(DirPath)\$(FileName).vqmtidx
turn on .csv file writing. Use -csv no to
turn off
.csv file name generation type
directory for saving .csv files
rgb<->yuv table (REC601 or PC601)
log file
file for saving average results
.csv file delimiter (default: ",")
.csv file floating point delimiter
(default: ".")
turn on/off saving visualization file
turn on/off saving bad frames
specify directory for bad frames
specify type of bad frames, where
<type> is one of: ORIGPROC,
PROCPROC, FIRSTBETTER or
SECONDBETTER
specify the number of bad frames
specify the radius of bad frames
(minimal distance between bad
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
25
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
frames)
-range <range type> <range>
-range <range>
<range>
-threads <number>
-f, -yh, -yw, -cc, -sc, -lp, -af, -af2, -sv,
NOT_BLACK
specify frame range for last input file.
<range type> can be one of "auto",
"seek", "skip".
<range> can be "<number><number>" or "<number>-"
specify the number of threads to use
for processing
deprecated options
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
26
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Batch files examples
Here are the examples for most popular tasks, which are performed with
MSU VQMT PRO version.
Compare two AVI files using PSNR metric for Y component of YUV color
space, save CSV file "results.csv" to "D:\videotest\csv"
video1.avi
video2.avi
MSU VQMT command line tool
results.csv (Y-PSNR)
msu_metric -in "D:\videotest\video1.avi" -in "D:\videotest\video2.avi" -metr
psnr YYUV -sc -cng CUSTOM “results.csv” -cod "D:\videotest\csv"
Compare two AVI files with original, save CSV
original.avi
processed1.avi
processed2.avi
MSU VQMT command line tool
avg.csv ( average YPSNR for both processed
files)
original.avi –
processed1.avi YPSNR csv file
original.avi –
processed2.avi YPSNR csv file
msu_metric -in "D:\videotest\original.avi" -in "D:\videotest\processed1.avi" -in
"D:\videotest\processed2.avi" -metr psnr YYUV -csv -avg “avg.csv”
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
27
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Compare original YUV file and processed AVI file using PSNR metric for Y
component of YUV color space, save CSV file with results to
"D:\videotest\csv"
original.yuv
processed.avi
MSU VQMT command line tool
original.yuv –
processed.avi Y-PSNR
csv file
msu_metric -in “D:\videotest\original.yuv” IYUV 352x288 -in
“D:\videotest\processed.avi” –csv -cod “D:\videotest\csv” -metr psnr YYUV
Compare original YUV file and processed AVI file using PSNR metric for Y
component of YUV color space plus a mask file with a black area as a
mask, save CSV file with results to "D:\videotest\csv"
original.yuv
processed.avi
mask.avi
MSU VQMT command line tool
original.yuv –
processed.avi masked YPSNR csv file
msu_metric -in “D:\videotest\source.yuv” IYUV 352x288 -in
“D:\videotest\processed.avi” -mask “D:\videotest\mask.avi” BLACK -csv -cod
“D:\videotest\csv” -metr psnr YYUV
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
28
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Compare original AVI file and compressed MPG file using PSNR metric for
Y component of YUV color space, save CSV file with results to
"D:\videotest\csv\" (MPG file is opened through
D:\videotest\compressed.avs)
compressed.mpg
original.yuv
compressed.avs
MSU VQMT command line tool
original.yuv –
compressed.mpg Y-PSNR
csv file
msu_metric -in "D:\videotest\original.avi" -in "D:\videotest\compressed.avs" csv -cod "D:\videotest\csv" -metr psnr YYUV
Compute all possible metrics for two AVI files, save CSV file with results to
"D:\videotest"
video1.avi
video2.avi
MSU VQMT command line tool
csv file with all supported metric
values
msu_metric -in "D:\videotest\video1.avi" -in "D:\videotest\video2.avi" -metr
ALL -csv -cod "D:\videotest"
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
29
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Compute MSE and PSNR metrics on Y components of YUV color space for
two AVI files, save file "avg.csv" with average values and csv file with per
frame values into the current folder
video1.avi
video2.avi
MSU VQMT command line tool
csv file with Y-MSE
and Y-PSNR
avg.csv (average YMSE and Y-PSNR)
msu_metric -in "D:\videotest\video1.avi" -in "D:\videotest\video2.avi" -metr
psnr YYUV -metr mse YYUV -csv 1 -avg “avg.csv”
Compute PSNR of all supported color components for two AVI files, save
file "avg.csv" with average values and csv file with per frame values into
the current folder
video1.avi
video2.avi
MSU VQMT command line tool
csv file with PSNR
for all supported
color components
avg.csv (average
PSNR for all
supported color
components)
msu_metric -in "D:\videotest\video1.avi" -in "D:\videotest\video2.avi" -metr
psnr ALL -csv -avg “avg.csv”
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
30
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Compute PSNR on Y component of YUV color space and save visualization
video for two AVI files in current folder
video1.avi
video2.avi
MSU VQMT command line tool
Y-PSNR visualization
msu_metric -in "D:\videotest\video1.avi" -in "D:\videotest\video2.avi" -metr
psnr YYUV -csv
Compare all AVI files from folder1 with file folder2\input.avi with all
objective quality metrics
folder2\input.avi
folder1\*.avi
MSU VQMT command line tool
csv file with all
supported metric
values
average.csv (all
supported metric
average values )
for /R folder1 %F in (*.avi) do msu_metric -in "folder2\input.avi” -in %F -metr
ALL -csv -cng CUSTOM "%~nF_results.csv" -avg "average.csv"
Note: if you use it in batch file, please use %%F instead %F and %%~nF
instead of %~nF
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
31
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Compute blocking and blurring metrics for all AVI files in current folder in
its subfolders
*.avi
MSU VQMT command line
tool
csv file with Y-blurring
and Y-blocking
for /R . %F in (*.avi) do msu_metric -in %F -metr blurring_metric YYUV -metr
blocking_metric YYUV -csv -cng CUSTOM "%~nF_results.csv"
Note: if you use it in batch file, please use %%F instead %F and %%~nF
instead of %~nF
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
32
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Using JSON output
Introduction
VQMT PRO, running in console mode, can produce output in JSON format to
standard output or file, which contains:

Information about VQMT program, including version.

Information about opened files and used metrics.

Results of metrics calculation.

Average results of metrics.
JSON file will be formed partially as corresponding information are calculated.
Scheme of JSON file
JSON output is a JSON-object, which contains fields ―head‖, ―values‖ and
―avg‖.
The field ―head‖ consists of fields ―generator‖ (information about VQMT),
―files‖ (information about opened files) and ―metrics‖ (information about used
metrics).
The field ―values‖ is array. Each element of this array contains metrics values,
corresponding to one frame. Element is array itself with length, equal to
length of array ―metrics‖ from ―head‖ field of root object.
Output is produced with corresponding to the following scheme:
{
"head" : {
"generator" : {
"program"
version>",
"program_shortname"
"company"
Group",
"project_leader"
"build_date"
"url"
"email"
"edition"
"ver_maj"
"ver_min"
"ver_special"
"ver_rev"
},
: "<full program name and
: "VQMT",
: "MSU Graphics & Media Lab Video
:
:
:
:
:
:
:
:
:
"Dr. Dmitriy Vatolin",
"<build date>",
"http://compression.ru/video/",
"video-measure@compression.ru",
"<PRO/DEMO>",
<version major>,
<version minor>,
"<version special>",
<revision>
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
33
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
"files" : [
{
"path"
"error"
"colorspace"
"codec"
"open_mode"
}, ...
],
:
:
:
:
:
"<1st file path>",
<true/false>,
"<colorspace>",
"<codec>",
"<open mode>"
"metrics" : [
{
"metric_name"
"metric_variation"
"metric_aliases"
"info_url"
"device"
"color_component"
"compaired_files"
"value_id"
}, ...
]
},
:
:
:
:
:
:
:
:
"<1st metric name>",
"<metric variation>",
["<metric alias>",...],
"<info_url>",
"<device_name>",
"<color component>",
[<file index>, ...],
<number of metric result>
"values" : [
[<value of 1st metric for frame 0>, <value of 2nd metric
for frame 0>, ...], ...
],
"avg" : [
[<average of 1st metric>, ...]
]
}
Example of JSON output
Below there is a probable content of file test.json after executing the following
command:
msu_metric_64.exe -in c:\video\cinepack.avi -in
c:\video\loseless.avi 0-10 -metr PSNR RGB -metr SSIM YYUV dev CUDA -json_file test.json
Content of the file:
{
"generator": {
"build_date"
"company"
Group",
: "May 31 2016",
: "MSU Graphics & Media Lab Video
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
34
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
"edition"
: "PRO",
"program"
: "MSU Video Quality Measurement
Tool PRO 6.0 BETA r11396",
"program_shortname" : "VQMT",
"project_leader"
: "Dr. Dmitriy Vatolin",
"url"
: "http://compression.ru/video/",
"ver_maj"
: 7,
"ver_min"
: 0,
"ver_rev"
: 11396,
"ver_special"
: "BETA"
},
"head": {
"files": [
{
"codec"
: "reading rgb24 -> RGB24 AVI (Audio
Video Interleaved)",
"colorspace" : "RGB24",
"error"
: false,
"open_mode" : "auto",
"path"
: "c:\\video\\cinepack.avi"
},
{
"codec"
: "reading rgb24 -> RGB24 AVI (Audio
Video Interleaved)",
"colorspace" : "RGB24",
"error"
: false,
"open_mode" : "auto",
"path"
: "c:\\video\\loseless.avi"
}
],
"metrics": [
{
"color_component" : "RRGB",
"compaired_files" : [0,1],
"device"
: "CPU",
"info_url"
:
"http://www.compression.ru/video/quality_measure/info_en.htm
l#psnr",
"metric_aliases"
: [],
"metric_name"
: "psnr",
"metric_variation" : "",
"value_id"
: 4
},
{
"color_component" : "GRGB",
"compaired_files" : [0,1],
"device"
: "CPU",
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
35
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
"info_url"
:
"http://www.compression.ru/video/quality_measure/info_en.htm
l#psnr",
"metric_aliases"
: [],
"metric_name"
: "psnr",
"metric_variation" : "",
"value_id"
: 5
},
{
"color_component" : "BRGB",
"compaired_files" : [0,1],
"device"
: "CPU",
"info_url"
:
"http://www.compression.ru/video/quality_measure/info_en.htm
l#psnr",
"metric_aliases"
: [],
"metric_name"
: "psnr",
"metric_variation" : "",
"value_id"
: 6
},
{
"color_component" : "YYUV",
"compaired_files" : [0,1],
"device"
: "CUDA",
"info_url"
:
"http://www.compression.ru/video/quality_measure/info_en.htm
l#ssim",
"metric_aliases"
: ["ssim_cuda"],
"metric_name"
: "ssim",
"metric_variation" : "CUDA",
"value_id"
: 0
}
]
},
"values": [
[100,100,100,0.969169],
[100,100,100,0.983304],
[100,100,100,0.979987],
[100,100,100,0.982238],
[100,100,100,0.978855],
[100,100,100,0.979515],
[100,100,100,0.970864],
[100,100,100,0.979065],
[100,100,100,0.980061],
[100,100,100,0.981423],
[100,100,100,0.979663]
],
"avg": [100,100,100,0.978559]
}
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
36
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Information about metrics
Overview
Current version of MSU VQMT PRO contains 14 implemented objective
quality metrics:



Universal reference objective quality metrics (for estimation the
similarity between two or several images/video):
o
Delta
o
MSE
o
MSAD
o
PSNR
o
SSIM Index
o
MultiScale SSIM Index
o
3SSIM Index
o
Spatio-Temporal SSIM Index
o
VQM
Specific non-reference objective metrics for special types of
artifacts (for estimation the desired artifacts)
o
MSU Blurring
o
MSU Blocking
o
MSU Brightness Flicking Metric
o
MSU Drop Frame Metric
o
MSU Noise Estimation Metric
Special reference PSNR metric edition to compare videos
regardless on the different brightness
o
MSU Brightness Independent PSNR
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
37
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Delta
Brief Description
The value of this metric is the mean difference of the color components in the
correspondent points of image. This metric is used for checking codecs/filters
for errors like losses or growths of luminance, not for quality comparisons.
m, n
d ( X ,Y ) 
(X
i 1, j 1
i, j
 Yi , j )
mn
The values are in -255..255. 0 – for identical frames.
Examples
Here is example of this metric
First frame
Second frame
Picture 1.
Delta
Delta example for two frames
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
38
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are more examples how different distortions have influence on Delta
value.
Original image
Image with added noise
Blurred image
Sharpen image
Picture 2.
Original and processed images (for Delta example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
39
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
And here are the delta values of Y–plane for these images
Delta for image with itself, value = 0
Delta for image with noisy image,
value = 0.0971987
Delta for image with blurred image,
value = 0.0296287
Delta for image with sharpen image, value = -0.12271
Picture 3.
Delta values for original and processed images (for Delta example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
40
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MSE
Brief description
MSE is one metric used to assess how well a method to reconstruct an image
performs relative to the original image. It shows mean square error for two
images or frames.
m,n
d ( X ,Y ) 
( X
i 1, j 1
i, j
 Yi , j ) 2
mn
The values are in 0..65025. 0 – for identical frames.
Examples
Here is example of this metric:
Original
Processed
Picture 4.
MSE
MSE example for two frames
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
41
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are more examples how different distortions influence on MSE value.
Original image
Image with added noise
Blurred image
Sharpen image
Picture 5.
Original and processed images (for MSE example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
42
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
And here are the MSE values of Y–plane for these images
MSE for image with itself, value = 0
MSE for image with noisy image,
value = 161.968
MSE for image with blurred image,
value = 55.2885
MSE for image with sharpen image,
value = 0.958917
Picture 6.
MSE values for original and processed images (for MSE example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
43
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MSAD
The value of this metric is the mean absolute difference of the color
components in the correspondent points of image.
m,n
d ( X ,Y ) 
X
i 1, j 1
i, j
 Yi , j
mn
The values are in 0..255. 0 – for identical frames.
Examples
Here is example of this metric visualization:
Original
Processed
Picture 7.
MSAD
MSAD example for two frames
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
44
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are more examples how different distortions have influence on MSAD
value.
Original image
Image with added noise
Blurred image
Sharpen image
Picture 8.
Original and processed images (for MSAD example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
45
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
And here are the MSAD values of Y–plane for these images
MSAD for image with itself, value = 0
MSAD for image with noisy image,
value = 10.2417
MSAD for image with blurred image,
value = 3.77253
MSAD for image with sharpen image,
value = 2.97572
Picture 9.
MSAD values for original and processed images (for MSAD example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
46
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
PSNR (Peak Signal-to-Noise Ratio)
Brief Description
This metric, which is used often in practice, called peak-to-peak signal-tonoise ratio — PSNR.
PSNR  10  log 10
MaxErr 2  w  h
w, h
 (x
i  0 ,о  0
ij
 yij )
,
2
where MaxErr – maximum possible absolute value of color components
difference, w – video width, h – video height. Generally, this metric is
equivalent to Mean Square Error, but it is more convenient to use because of
logarithmic scale. It has the same disadvantages as the MSE metric.
In MSU VQMT you can calculate PSNR for all YUV and RGB components
and for L component of LUV color space. PSNR metric is easy and fast to
calculate, but sometimes it is not appropriate to human‘s perception.
In MSU VQMT there are four PSNR implementations. "PSNR" and ―APSNR‖
use the correct way of PSNR calculation and take maximum possible
absolute value of color difference as MaxErr. However, this way of calculation
gives an unpleasant effect after color depth conversion. If color depth is
simply increased from 8 to 16 bits, the ―PSNR‖ and "APSNR‖ will change,
because MaxErr should change according to maximum possible absolute
value of color difference (255 for 8 bit components and 255 + 255/256 for 16
bit components). Thus "PSNR (256)" and ―APSNR (256)‖ are implemented.
They would not change because they use upper boundary of color difference
as MaxErr. The upper boundary is 256. This approach is less correct but it is
used often because it is fast. Here are the rules of MaxErr definition:

―PSNR‖ and ―APSNR‖ (psnr and apsnr in command prompt) – MaxErr
varies on color components bits usage:
o
255 for 8 bit components
o
255 + 3/4 for 10 bit components
o
255 + 63/64 for 14 bit components
o
255 + 255/256 for 16 bit components
o
100 for L component of LUV color space
o
If bits depth differs for two compared videos, then maximum
bits usage is taken to select MaxErr.
o
All color space conversions are assumed to lead to 8 bit
images. It means that if, for example, you are measuring RRGB PSNR for 14 bit YUV file, then 255 will be taken as
MaxErr.
Notes

―PSNR (256)‖ and ―APSNR (256)‖ (psnr_256 and apsnr_256 in
command prompt) - MaxErr is selected according to the next rules:
o
256 for YUV and RGB color spaces
o
100 for L component of LUV color space
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
47
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
The difference between ―PSNR‖ and ―APSNR‖ is the same as between
―PSNR (256)‖ and ―APSNR (256)‖ and is in the way of average PSNR
calculation for a sequence. The correct way to calculate average PSNR for a
sequence is to calculate average MSE for all frames (average MSE is
arithmetic mean of the MSE values for frames) and after that to calculate
PSNR using ordinary equation for PSNR:
PSNR  10 * log 10
MaxErr 2
MSE
This way of average PSNR calculation is used in ―PSNR‖ and ―PSNR (256)‖.
However, sometimes it is needed to take simple average of all the per frame
PSNR values. ―APSNR‖ and ―APSNR (256)‖ are implemented for this case
and calculate average PSNR by simply averaging per frame PSNR values.
The next table summarizes the differences:
Metric
MaxErr calculation
Average PSNR calculation
PSNR
correct
correct
PSNR(256)
256 (fast, inexact)
correct
APSNR
Correct
averaging
APSNR (256)
256 (fast, inexact)
averaging
All the implemented PSNR metrics values are in 0..100. 100 – for identical
frames.
―PSNR‖ metric is recommended for PSNR calculation since it is implemented
according to the original PSNR definition.
Examples
PSNR visualization uses different colors for better visual information:

Black – Metric value is very small (99..100)

Blue – metric value is small (35..99)

Green – metric value is medium (20..35)

Yellow – metric value is high (17..20)

Red – metric value is very high (0..17)
Here is example of this metric:
Original
Processed
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
PSNR
48
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 10.
PSNR example for two frames
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
49
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are more examples how different distortions have influence on PSNR
value.
Original image
Image with added noise
Blurred image
Sharpen image
Picture 11.
Original and processed images (for PSNR example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
50
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
And here are the PSNR values of Y–plane for these images
PSNR for image with itself, value = 0
PSNR for image with noisy image,
value = 26.0365
PSNR for image with blurred image,
value = 30.7045
PSNR for image with sharpen image,
value = 32.9183
Picture 12.
PSNR values for original and processed images (for PSNR example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
51
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Also MSU VQMT with PSNR metric was widely used during all MSU Codec
Comparisons, including:

MSU MPEG-4 SP/ASP Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_en.html

MSU JPEG 2000 Image Codecs Comparison
http://www.compression.ru/video/codec_comparison/jpeg2000_codecs_comparison_en.html

First Annual MSU H.264/MPEG-4 AVC Video Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_en.html

Second Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2005_en.html

MPEG-2 Video Decoders Comparison
http://www.compression.ru/video/codec_comparison/mpeg-2_2006_en.html

MSU Windows Media Photo (Microsoft HD Photo) and JPEG 2000
Codec Comparison
http://www.compression.ru/video/codec_comparison/wmp_codecs_comparison_en.html

Third Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2006_en.html
Lossless Video Codec Comparison ‗2007

http://www.compression.ru/video/codec_comparison/lossless_codecs_2007_en.html

Fourth Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2007_en.html
Here is an example of RD-curve from Fourth Annual MSU MPEG-4
AVC/H.264 Video Codec Comparison:
Average RD, Lord of the Rings
37
Metric value, Y-PSNR
36
35
34
AMD, High-Quality preset
Intel IPP, High-Quality preset
Mainconcept, High-Quality preset
x264, High-Quality preset
XviD, High-Quality preset
33
32
600
800
Picture 13.
1000
1200
Bitrate, kbps
1400
1600
1800
PSNR Example for RD-curve
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
52
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
SSIM INDEX
Brief Description
Original paper is Zhou Wang, Alan Conrad Bovik, Hamid Rahim Sheikh, Eero
P. Simoncelli, “Image Quality Assessment: From Error Visibility to Structural
Similarity”, IEEE Transactions on Image Processing, Vol. 13, No 4, April
2004.
This article could be found here:
http://ieeexplore.ieee.org/iel5/83/28667/01284395.pdf
SSIM author‘s homepage: http://www.cns.nyu.edu/~lcv/ssim/
The scheme of SSIM calculation could be presented as:
Picture 14.
Diagram of the structural similarity (SSIM) measurement system
1
Main idea of the structure similarity index (SSIM) is to compare distortion of
three image components:

Luminance comparison

Contrast comparison

Structure comparison
Final formula after combination of these comparisons is the following:
SSIM( x, y ) 
(2μ x μ y  C1 )(2σ xy  C2 )
( μ x  μ y  C1 )(σ x  σ y  C2 )
where
1
This scheme is taken from paper Zhou Wang, Alan Conrad Bovik, Hamid Rahim Sheikh, Eero P.
Simoncelli, “Image Quality Assessment: From Error Visibility to Structural Similarity”, IEEE Transactions
on Image Processing, Vol. 13, No 4, April 2004.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
53
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
N
μ x   ωi x i
i 1
1
 N
2
σ x    ωi x i  μ x 
 i 1

σ xy   ωi xi  μx y i  μy 
N
i 1
In our program constants C1 and C2 are calculated using the following
expressions:

C1 = 0.01 * 0.01 * video1Max * video2Max

C2 = 0.03 * 0.03 * video1Max * video2Max
where video1Max is the maximum value of a given color component for the
first video, video2Max is the maximum value of the same color component for
the second video. Maximum value of a color component is calculated in the
same
way
as
for
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
54
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
PSNR (Peak Signal-to-Noise Ratio):

videoMax = 255 for 8 bit color components

videoMax = 255 + 3/4 for 10 bit color components

videoMax = 255 + 63/64 for 14 bit color components

videoMax = 255 + 255/256 for 16 bit color components
There are 2 implementation of SSIM in our program: fast and precise. The
fast one is equal to our previous SSIM implementation. The difference is that
the fast one uses box filter, while the precise one uses Gaussian blur.
Fast implementation visualization seems to be shifted. This effect is causes
by the sum calculation algorithm for the box filter. The sum is calculated over
the block to the bottom-left or up-left of the pixel (depending on if the image is
bottom-up or top-down).
In our implementations one SSIM value corresponds to two sequences.
Value are in range -1…1. Higher values are better, 1 for equal frames. The
advantages of SSIM metric is that it is more closer to human‘s vision system,
than PSNR, but it is more complex and takes more time to calculate.
Examples
Here is an example of SSIM result for original and processed (compressed
with lossy compression) images.
Original
Compressed
SSIM (fast) visualization
SSIM (precise) visualization
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
55
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 15.
SSIM example for compressed video
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
56
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are more examples how different distortions have influence on SSIM
value.
Original image
Image with added noise
Blurred image
Sharpen image
Picture 16.
Original and processed video sequences (for SSIM example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
57
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are the Y-plane SSIM (fast) visualizations of these video sequences.
SSIM for image with itself, value = 1
SSIM (fast) for image with noisy image,
value = 0.61348
SSIM (fast) for image with blurred image,
value = 0.93457
SSIM (fast) for image with sharpen image, value =
0.97832
Picture 17.
SSIM (fast) visualizations for original and processed video sequences
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
58
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are the Y-plane SSIM (precise) visualizations of these video sequences.
SSIM for image with itself, value = 1
SSIM (precise) for image with noisy image,
value = 0. 581786
SSIM (precise) for image with blurred image,
value = 0.923186
SSIM (precise) for image with sharpen image, value =
0.976667
Picture 18.
SSIM (precise) visualizations for original and processed video sequences
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
59
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Also MSU VQMT with SSIM metric was widely used during MSU Codec
Comparisons, including:

Second Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2005_en.html

Third Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2006_en.html

Fourth Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2007_en.html
Here is an example of RD-curve from Fourth Annual MSU MPEG-4
AVC/H.264 Video Codec Comparison:
Average RD, Foreman
Metric value, Y-SSIM
0.9
0.85
AMD, High-Quality preset
Intel IPP, High-Quality preset
Mainconcept, High-Quality preset
x264, High-Quality preset
XviD, High-Quality preset
0.8
0.75
50
100
150
200
Picture 19.
250
300
350
Bitrate, kbps
400
450
500
550
SSIM Example for RD-curve
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
60
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MultiScale SSIM INDEX
Brief Description
Original paper is Zhou Wang, Eero P. Simoncelli and Alan C. Bovik, “MULTISCALE STRUCTURAL SIMILARITY FOR IMAGE QUALITY ASSESSMENT”,
37th IEEE Asilomar Conference on Signals, Systems and Computers, Nov.
2003.
This article could be found here:
http://ieeexplore.ieee.org/iel5/9072/28784/01292216.pdf
The scheme of MSSSIM calculation could be presented as:
Picture 20.
Diagram of the multiscale structural similarity (MSSSIM) measurement system
Main idea of the multiscale structure similarity index (SSIM) is to compare
distortion of three image components:

Luminance comparison

Contrast comparison

Structure comparison
as it was done in SSIM index. But now we calculate similarity for several
levels – each is downsampled version of previous level. First level is original
image. Overall metric value over M levels is calculated as:
M
MSSSIM ( x, y )  [l M ( x, y )]
M

j
* [c j ( x, y )] j [ s j ( x, y )]
,
j 1
where
l i ( x, y ) 
(2 x  y  C1 )
(  x   y  C1 )
– luminance measurement for level i
2
This scheme is taken from paper Zhou Wang, Eero P. Simoncelli and Alan C. Bovik, “MULTI-SCALE
STRUCTURAL SIMILARITY FOR IMAGE QUALITY ASSESSMENT”, 37th IEEE Asilomar
Conference on Signals, Systems and Computers, Nov. 2003.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
61
2
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
ci ( x, y ) 
s i ( x, y ) 
(2 x y  C 2 )
( x2   y2  C 2 )
( xy  C3 )
( x y  C3 )
– contrast measurment for level i
– structure measurment for level i
N
μ x   ωi x i
i 1
1
 N
2
σ x    ωi x i  μ x 
 i 1

σ xy   ωi xi  μx y i  μy 
N
i 1
and  i ,  i ,  i
measurement.
– weights for appropriate fractions in i-level of our
In our program constants C1, C2 and C3 are calculated using the following
expressions:

C1 = 0.01 * 0.01 * video1Max * video2Max

C2 = 0.03 * 0.03 * video1Max * video2Max

C3 = 0.5*C2
where video1Max is the maximum value of a given color component for the
first video, video2Max is the maximum value of the same color component for
the second video. Maximum value of a color component is calculated in the
same
way
as
for
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
62
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
PSNR (Peak Signal-to-Noise Ratio):

videoMax = 255 for 8 bit color components

videoMax = 255 + 3/4 for 10 bit color components

videoMax = 255 + 63/64 for 14 bit color components

videoMax = 255 + 255/256 for 16 bit color components
Same as in SSIM, there are two implementation of MSSSIM in our program:
fast and precise. The fast one is implemented in the same way as it was done
for SSIM metric. The difference between fast and precise is that the fast one
uses box filter, while the precise one uses Gaussian blur.
Fast implementation visualization seems to be shifted. This effect is caused
by the sum calculation algorithm for the box filter. The sum is calculated over
the block to the bottom-left or up-left of the pixel (depending on the image
orientation: bottom-up or top-down). Also result pixels in visualization is quite
dark due to it‘s value is result of all levels measure values multiplication, that
are between 0.0 and 1.0.
In our implementations one MSSSIM value corresponds to two sequences.
Values are in range -1…1. The higher values the better video quality, 1 for
equal frames. The advantages of SSIM metric is that it is more closer to
human‘s vision system, than PSNR, but it is more complex and takes more
time to calculate.
Examples
Here is an example of MSSSIM result for original and processed (lossy
compression) images.
Original
Compressed
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
63
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MSSSIM (fast) visualization
Picture 21.
MSSSIM (precise) visualization
MSSSIM example for compressed video
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
64
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are more examples how different distortions have influence on MSSSIM
value.
Original image
Image with added noise
Blurred image
Sharpen image
Picture 22.
Original and processed video sequences (for MSSSIM example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
65
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are the Y-plane MSSSIM (fast) visualizations of these video sequences.
SSIM for image with itself, value = 1
SSIM (fast) for image with noisy image,
value = 0.833092
SSIM (fast) for image with blurred image,
value = 0.778854
SSIM (fast) for image with sharpen image, value =
0.95929
Picture 23.
MSSSIM (fast) visualizations for original and processed video sequences
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
66
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are the Y-plane MSSSIM (precise) visualizations of these video
sequences.
SSIM for image with itself, value = 1
SSIM (precise) for image with noisy image,
value = 0.905112
SSIM (precise) for image with blurred image,
value = 0.812122
SSIM (precise) for image with sharpen image, value =
0.969941
Picture 24.
MSSSIM (precise) visualizations for original and processed video sequences
3-Component SSIM INDEX
Brief Description
Original paper is Chaofeng Li, Jiangnan University, School of Information
Technology, “Content-weighted video quality assessment using a threecomponent image model”, Journal of Electronic Imaging 19(1), 011003 (Jan–
Mar 2010)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
67
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
This article could be found here:
http://live.ece.utexas.edu/publications/2010/li_jei_jan10.pdf
The scheme of 3-component SSIM calculation could be presented as:
Picture 25.
Diagram of the 3-component structural similarity (3SSIM) measurement system
Main idea of the 3-component structure similarity index (3SSIM) is to divide
measurement map into 3 regions:

Edge region

Texture region

Smooth region
Regions are determined by calculating gradient magnitude map for both
reference and processed images. We determine regions by comparison pixel
magnitude value with maximum magnitude value( g max ). Let TH1 =
(0.12) * g max
and TH2 =
(0.06) * g max .
coordinate (i, j) on the reference image by
distorted image as
following rules:



Denoting the gradient at
po (i, j ) and the gradient on the
pd (i, j ) pixel classification is carried out according to the
if po ( x, y )  TH1 or pd ( x, y )  TH1, then the pixel is considered
to be an edge pixel.
if po ( x, y )  TH2 or pd ( x, y )  TH1, then the pixel is regarded as
part of a smooth region.
otherwise, the pixel is regarded as part of a textured region.
3
This scheme is taken from paper Chaofeng Li, Jiangnan University, School
of Information Technology, “Content-weighted video quality assessment
using a three-component image model”, Journal of Electronic Imaging 19(1),
011003 (Jan–Mar 2010).
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
68
3
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Then we measure images using SSIM index and count final measurement as
sum of weighted average of each region
Tex
 *  SSIM ( x, y )  *
3SSIM ( x, y ) 
Edge
Smooth
 SSIM ( x, y)  *  SSIM ( x, y)
width * height
where SSIM ( x, y ) – similarity index between pixels
and
 ,  ,  – weights of texture, edges and smooth regions
Structure similarity index are calculated using precise SSIM algorithm (using
Gaussian window).
In our implementations one MSSSIM value corresponds to two sequences.
Values are in range -1…1. Higher values correspond to closer video
sequences; value 1 corresponds to equal frames.
The advantage of 3SSIM metric is that it considers that video quality is highly
correlated with video content. There are a number of perceptual factors that
influence human perception of visual quality. For example, intensity edges
certainly contain considerable image information and are perceptually
significant. So 3-weighted model is used to approximate human perception.
Examples
Here is an example of 3-component division of images (blue for smooth,
green for textures, red for edges):
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
69
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 26.
3SSIM example of regions division
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
70
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are more examples how different distortions divided by 3-component
model.
Original image
Image with added noise
Blurred image
Sharpen image
Picture 27.
Original and processed video sequences (for SSIM example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
71
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are the regions (same colors as in previous example) :
Regions for image with itself, value = 1
Regions for image with noisy image
Regions for image with blurred image
Regions for image with sharpen image
Picture 28.
Regions visualization of 3-component SSIM model
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
72
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are the Y-plane 3SSIM visualizations of these video sequences.
SSIM for image with itself, value = 1
3SSIM for image with noisy image,
value = 0.814322
3SSIM for image with blurred image,
value = 0.876969
3SSIM for image with sharpen image,
value = 0.891374
Picture 29.
3SSIM visualizations for original and processed video sequences
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
73
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Spatio-Temporal SSIM INDEX
Brief Description
Original paper is Anush K. Moorthy, Alan C. Bovik, Laboratory for Image and
Video Engineering (LIVE), Department of Electrical & Computer Engineering,
The University of Texas at Austi, ―Efficient Motion Weighted Spatio-Temporal
Video SSIM Index‖, 2010, USA
This article could be found here:
http://live.ece.utexas.edu/publications/2010/moorthy_spie_jan10.pdf
The idea of this algorithm is to use motion-oriented weighted windows for
SSIM Index. MSU Motion Estimation algorithm is used to retrieve this
information. Based on the ME results, weighting window is constructed for
every pixel. This window can use up to 33 consecutive frames (16 + current
frame + 16). Then SSIM Index is calculated for every window to take into
account temporal distortions as well.
Also another spooling technique is used in this implementation. We use only
lower 6% of metric values for the frame to calculate frame metric value. Thus
causes larger metric values difference for difference files.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
74
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Examples
Original frame
Compressed with XviD frame
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
75
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Blurred frame
Frame with added noise
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
76
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Metric visualization for compressed frame. stSSIM = 0.093747
Metric visualization for compressed frame. stSSIM = 0.295671
Metric visualization for compressed frame. stSSIM = -0.00117226
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
77
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
VQM (Video Quality Measure)
Brief Description
Original paper is Feng Xiao, "DCT-based Video Quality Evaluation", Final
Project for EE392J
VQM is a DCT-based video quality metric. Following calculations are
processed to get value of metric:

Color transform. YUV color space is used for metric calculation.

DCT transform of blocks 8x8. It is used to separate images into
different frequencies.

Conversion from DCT coefficients to local contrast (LC) using
following equation:
LCi , j
(DC / 1024)2
 DCTi , j 
,
DC
where DC is the DCT coefficient with indexes (0, 0).

Conversion from LC to just-noticeable difference:
JNDi , j  LCi , j  CSFi , j ,
where CSF is Contrast Sensitivity Function. Inverse MPEG-4 default
quantization matrix is used as CSF in original article.

Weighted pooling of mean and maximum distortions. First,
absolute difference ―D‖ is calculated for JND coefficients following by
VQM value construction:
VQM  mean( D )  0.005  max( D )
This metric uses DCT to correspond to human‘s perception. Comparing to
MSE-based metrics, its performance is much better in these situations when
RMSE fails.
Values is greater than 0. One value for two sequences. 0 for equal frames,
lower values are better.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
78
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Examples
Here is an example of VQM result visualization for original and processed
images.
Original
Processed
Picture 30.
VQM
VQM example for processed image
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
79
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are more examples how different distortions have influence on VQM
value.
Original image
Image with added noise
Blurred image
Sharpen image
Picture 31.
Original and processed images (for VQM example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
80
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
And here are the VQM values of Y-plane for these images
VQM for image with itself, value = 0
VQM for image with noisy image,
value = 3.48981
VQM for image with blurred image,
value = 1.63067
VQM for image with sharpen image,
value = 1.31699
Picture 32.
VQM values for original and processed images (for VQM example)
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
81
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Also MSU VQMT with VQM metric was widely used during MSU Codec
Comparisons, including Second Annual MSU MPEG-4 AVC/H.264 Video
Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2005_en.html
Here is an example of RD-curve from Second Annual MSU MPEG-4
AVC/H.264 Video Codec Comparison:
Y-VQM
3
Y-VQM (Metric value)
2.5
2
1.5
1
0.5
0
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
Bitrate, kbit\sec
DivX 6.0
x264
ArcSoft
Elecard
Ateme
Fraunhofer IIS
Picture 33.
VQM Example for RD-curve
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
82
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MSU Blurring Metric
Brief Description
Blurring effect is one of video compression artifacts. The main source of this
artifact is transform coefficients quantization during encoding. High-frequency
component of information suffers during this process in the first place. In spite
of low perceptibility of HVS to high-frequency band, such artifacts are often
visible to video viewers. Another source of blurring effect is deblocking
algorithms. Trying to smooth colors along the block border, these algorithms
can smooth some object borders because of algorithms mistakes. This leads
to damaging of important, critical for HVS border information.
This metric allows you to compare power of blurring of two images. If value of
the metric for first picture is greater than for second, it means that second
picture is more blurred, than first.
One value for one video sequence.
Main features: this metric is fast and doesn‘t require source video.
The method to estimate picture smoothness is calculation of brightness
change in the neighborhood of current pixel. Considering video frame as
continuous function I(x,y), one can calculate function gradient:
 I I 
I   , 
 x y 
Magnitude of brightness change can be estimated as magnitude of gradient:
2
 I   I 
V  I      
 x   y 
2
Difference derivations should be used instead of exact solution in case of
discrete picture. We used central difference derivation. Formula below shows
approximation of partial X derivative:
I I ( x  1, y )  I ( x  1, y )

x
2
Additionally, following formula were used to approximate gradient magnitude:
I 
I
I

x y
Picture 34. Used for blurring
metrics calculation pixels
Such approximation allows to avoid complex operation of square root
calculation and doesn‘t decrease precision significantly. As a result only four
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
83
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
pixels, three adding and two modulus operation are used to calculate metric
value for each pixel (see Picture 34):
Vblurring  abs( A1  A2 )  abs(B1  B2 )
A
B
C
Picture 35. Examples of blurring metrics
A. Original frame. B. Processed frame with blurring and contrast
changing. C. Gradient magnitude estimation.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
84
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Examples
Here are examples how different distortions (like blurring and sharpening)
have influence on MSU Blurring value.
Original image
Blurred image
Picture 36.
Sharpen image
Original and processed images (for MSU Blurring example)
And here are the MSU Blurring values of Y-plane for these images
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
85
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MSU Blurring for image with blurred image, values
MSU Blurring for image with sharpen image, values

17.1348 for original image
 17.1348 for original image

11.8012 for blurred image
 24.1403 for sharpen image
Picture 37.
MSU Blurring values for original and processed images
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
86
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Also MSU VQMT with PSNR metric was widely used during MSU Codec
Comparisons, including Second Annual MSU MPEG-4 AVC/H.264 Video
Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2005_en.html
Here is an example MSU Blurring graph from Second Annual MSU MPEG-4
AVC/H.264 Video Codec Comparison:
Y-BLUR
20
19
Y-BLUR (Metric value)
18
17
16
15
14
13
12
11
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
Bitrate, kbit\sec
DivX 6.0
x264
ArcSoft
Elecard
Ateme
Fraunhofer IIS
Original
Picture 38.
MSU Blurring example
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
87
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MSU Blocking Metric
Brief Description
Most modern algorithms of video compression including MPEG-2, MPEG-4
ASP, H.263, MPEG-4 AVC/H.264 and some others divide each frame into
blocks of predefined size. Motion compensation technique is applied to each
block after transform of estimated residual. The purpose of transform is to
reduce dependencies between block‘s pixels. Resulting coefficients are
quantizing and coding using lossless compression. Information loss during
quantization produces number of artifacts in compressed video such as
blocking effect, blurring effect, Gibbs effect, etc.
Blocking effect appears because of separate blocks transformation. Adjacent
blocks distort independently, resulting in big brightness differential at the
blocks boundaries in decoded sequences. This effect becomes stronger
simultaneously with increasing quantize coefficient (decreasing information
after quantization). Visibility of blocking artifact is additionally connected with
features of HVS. It is well known that high-frequency artifacts (including
blocking) are better visible in smooth areas than in high-detailed areas. This
HVS feature was taken into account in metric‘s algorithm with the help of area
contrast estimation.
This metric also contains heuristic method for detecting objects edges, which
are placed to the edge of the block. In this case metric value is pulled down,
allowing to measure blocking more precisely. We use information from
previous frames to achieve better accuracy.
Picture 39. Pixels, used for blocking metrics
calculation
Metric is calculated for pixels at boundaries of 8x8 blocks. The metric value is
the same for each two adjacent to blocks boundary pixels (dark gray pixels at
Picture 39). That value depends on two factors: magnitude of color difference
at block‘s boundary and picture contrast near boundaries. The former is
calculated using the following expressions:
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
88
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
A  V0  V1
B  V1  V2
C  V2  V3
AB
2
M  ab s(D[1]  D[2]  D[3])
D C 
Consider lines produced by values of two pixels from each side of block
boundary. Each component of vector D is the difference between
prolongations of these lines to block boundary (Picture 40). So, geometric
sense of vector D is the magnitude of color difference at block‘s boundary.
Picture 40. Geometric sense of D for
MSU Blocking
Contrast near block‘s boundary is calculated using the following formulas:
W1  W (ab s( A[0])  ab s(B[0]))
W2  W (ab s( A[1])  ab s(B[1]))
W3  W (ab s( A[2])  ab s(B[2]))
WR  (W1  W3 )  W2
The higher contrast value the lower is a contrast coefficient W R. Such
coefficient behavior achieved with the help of shape of function W(x).
Important feature of this function is slow decreasing speed at low values of
argument. Contrast coefficient is near one in smooth areas and doesn‘t
influence on resulting metric‘s value. On the other hand, contrast coefficient is
low for contrast areas, which decrease resulting metrics value.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
89
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 41. Shape of function W(x) for MSU Blocking
Resulting metric‘s value Vblocking can be obtained by multiplying color break
value M and contrast coefficient W R:
Vblocking  M  WR
Examples
Example of blocking metric visualization is shown at Picture 42.
A
B
Picture 42. A. Decoded frame. B. Visualization of blocking metric
Here are examples how compression has influence on MSU Blocking value.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
90
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Original image
Picture 43.
Compressed image (JPEG)
Original and compressed images (for MSU Blocking example)
And here are the MSU Blurring values of Y-plane for these images
MSU Blocking for image with blurred image,
value is 7.7239
Picture 44.
MSU Blocking for image with sharpen image,
value is 38.3087
MSU Blocking values for original and processed images
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
91
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Also MSU VQMT with PSNR metric was widely used during MSU Codec
Comparisons, including Second Annual MSU MPEG-4 AVC/H.264 Video
Codec Comparison
http://www.compression.ru/video/codec_comparison/mpeg-4_avc_h264_2005_en.html
Here is an example of MSU Blocking graph from Second Annual MSU
MPEG-4 AVC/H.264 Video Codec Comparison:
Y-BLOCK
14
Y-BLOCK (Metric value)
13
12
11
10
9
8
7
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
Bitrate, kbit\sec
DivX 6.0
x264
ArcSoft
Elecard
Ateme
Fraunhofer IIS
Original
Picture 45.
MSU Blocking example
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
92
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Metrics GPU acceleration
Brief Description
Now SSIM-based algorithms show best subjective quality correlation among
other video quality algorithms. To increase performance of SSIM-based
metrics, these algorithms was implemented on graphics hardware. For
implementations CUDA technology was used. SSIM, 3-SSIM, and MS-SSIM
metrics implemented for now.
Our CPU Implementation of the metrics above are using Intel IPP. We don‘t
know precision and operations order of these algorithm in the IPP, so metric
values for GPU implementations can slightly differ from the CPU.
These implementations can be found in the metric list in the GUI or via -metr
ssim_cuda, 3ssim_cuda, msssim_cuda parameters via console line
interface.
Speedup results provided in the graphs below as fps graph and speedup
graphs:
Picture 46.
SSIM metric speedup
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
93
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
94
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 47.
SSIM metric fps graph
Picture 48.
3SSIM metric speedup
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
95
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 49.
3SSIM metric fps graph
Picture 50.
MSSSIM metric speedup
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
96
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 51.
MSSSIM fps metric graph
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
97
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Subjective quality metric comparison
There are a lot of full reference objective quality metrics and each of them
somehow represents difference between two video sequences. There are
comparisons with subjective quality for each metrics can be performed to
understand which metric is better. We provide such comparison for the most
popular metrics: PSNR, SSIM, 3-SSIM, MS-SSIM and new stSSIM. We
provide two indices of similarity between subjective quality and objective
metric values for these metrics: Spearmen Rank Order Correlation Coefficient
(SROCC) and Pearson Linear Correlation Coefficient (LCC). Coefficients
provided for public video bases with subjective quality values available:
Laboratory for Image & Video Engineering
Video Quality Database
(http://live.ece.utexas.edu/research/quality/live_video.html) and Video Quality
Experts
Group
Phase
I
video
sequences
database
(http://www.its.bldrdoc.gov/vqeg/downloads/downloads.php).
Spearman rank order correlation coefficient
Spearman Rank Order Correlation Coefficient is a non-parametric measure of
statistical dependence between two variables. It assesses how well the
relationship between two variables can be described using a monotonic
function. It is defined as the Pearson correlation coefficient between the
ranked variables. Raw scores
are converted to ranks
and
coefficient computes as:
More information about SROCC you can find on the Wikipedia page
http://en.wikipedia.org/wiki/Spearman's_rank_correlation_coefficient.
Pearson linear correlation coefficient
Pearson linear correlation coefficient is a measure of the correlation between
two variables
and Y, giving a value between +1 and −1 inclusive. It
represents linear dependence between two variables and computes as:
In our methodology we perform non-linear regression over logistic function ,
variables X and Y as described in Video Quality Experts Group documents
(http://www.its.bldrdoc.gov/vqeg/projects/projects.php). More information
about LCC you can find on the Wikipedia page
http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
98
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 52.
Picture 53.
Correlation coefficients for LIVE video quality database
Correlation coefficients for VQEG Phase-I video quality database
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
99
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Metric speed performance
Measurements of large files can take a very long time. We are always trying
to maximize speed of metric implementations using features like multithreading, SSE\MMX optimizations, high-performance libraries, GPU
acceleration. In example, using console interface it is able compute four most
popular metrics (PSNR, SSIM, 3-SSIM, MS-SSIM) in almost the same time
as the slowest of them. Here we provide metric performance graph for
different resolutions for two PC configurations:
Picture 54.
Metrics speed
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
100
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Picture 55.
Metrics speed
Metric speed performance with correlation
We are also providing Speed/Correlation plot, which is allows user to
understand difference between metrics. Data provided for 1080p resolution
and following configuration: Intel Core i7 920 @ 2.67 GHz, 12GB RAM,
NVIDIA GTX 580.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
101
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
0.8
MSSSIM
stSSIM
0.7
3SSIM
0.6
Correlation
MSSSIM
3SSIM
SSIM
SSIM
CPU
metrics
0.5
0.4
PSNR
0.3
GPU
metrics
0.2
0.1
0
0.1
1
10
100
1000
Frames per second
Picture 56.
Metrics speed/correlation plot for 1080p resolution
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
102
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Additional metrics with source code
MSU Brightness Flicking Metric
This metric is made to measure flicking quantity between neighboring frames
of the sequence.
Metric's value is modulus of difference between average brightness values of
previous and current frames. Resulting metric's value is average value
among all per-frame values.
Here are a per-frame metric‘s values visualized with GUI version of MSU
VQMT.
Picture 57.
MSU Brightness Flicking Metric, per-frame visualization
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
103
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MSU Brightness Independent PSNR (BI-PSNR)
This metric is intended for measuring distortions in video taking into account
brightness shifts.
Brightness Independent PSNR metric should be used when one of the
sequences has any brightness transformation, which does not change within
frame. Example of such transformation is uniform increasing of brightness of
contrast for single frame of for all sequence. Such transformations prevent
usage of standard metrics because of strong brightness difference between
comparing frames. BI-PSNR algorithm calculates brightness transformation,
which makes frames similar as possible and calculates standard PSNR and
MSE metrics taking into account founded transformation.
Algorithm of this metric is next - table C[i,j] is filling for each frame:
C[i,j] = { number of points in the same position, which have brighness "i" at
the first sequence frame and "j" at the second sequence frame }
Next, for each "i" (brightness value from the first frame) we find
corresponding brightness from the second sequence. Following formula is
used to estimate distanse from arbitrary values of "i" and "j":
255
W [ i , j ]   C [ i , k ]  ( j  k )2
k 0
One can note that this formula is sum of quadratic differences between all
pixels of the first sequence with value "i" and all corresponding pixels from
second sequence on the assumption that brightness was shifted to "i-j".
Ji : W [i , Ji ]  min(W [i , j ])
j
When transformation was found, we can find MSE for the frame taking into
account this transformation:
MSE 
 W [i , J ]
i
i
width  height
There are two part of visualization:

MSE visualization for frame. Colors of visualization are standard for
MSE (in order of error increasing): black-blue-green-red.

Brightness transformation plot. X-axis is brightness at the first
sequence, Y-axis - brightness on the second one. Green points are
values, which corresponds to each other (brightness transformation).
Red diagonal is identical transformation (no brightness changes).
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
104
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Here are examples of visualization:
MSU Brightness Independent PSNR visualization
Visualization of the same frame using standard PSNR
Picture 58.
MSU Brightness Independent PSNR visualization
MSU Drop Frame Metric
This metric is made to calculate number of drop-frames in a sequence.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
105
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Metric's visualization difference of Y-planes between two consecutive frames
+ 128. So, grey color (128 128 128) means that brightness of a pixel is the
same as at the previous frame.
Here is an example of visualization:
Picture 59.
MSU Drop Frame Metric visualization
For each frame difference with the previous one is calculating. Metric's value
is 1 if frames are identical, 0 otherwise. The resulting metric's value is number
of drop-frames.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
106
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
MSU Noise Estimation metric
This metric is intended for calculation of noise level for each frame of video
sequence.
The metrics implements three various algorithms of definition of noise level:

MAD

Block-Based

Spatio-Temporal Gradients
The choice the algorithm to use can be made in

Settings for MSU VQMT GUI version and

using option –cl <name of metric> for MSU VQMT Pro-version
MAD
For each frame do Haar wavelet decomposition. Than evaluate median of
HH-component's absolute values. Final value of the metrics is the normalized
median.
Block-Based
Frames are tessellated into a number of 8x8 blocks. Standard deviations of
intensity (metrics of intensity variation) are computed for all the blocks and
then sorted. The block with the smallest standard deviation has the least
change of intensity. The smaller the standard deviation, the smother the
block. The intensity variation of a smooth block may be due to noise, in which
the standard deviation of the block is close to that of the Gaussian noise
added. Normalized average arithmetic values of 30 % of all blocks with the
least values grows is the final value of the metric.
Spatio-Temporal Gradients
Wavelet decomposition for each frame is perform following after temporal and
spatial histograms calculation. The initial estimation of noise level is defined
by the value at which temporal or spatial histogram achieves the maximal
value. The decision of whether use spatial or temporal histogram is based on
the deviation of the histogram from the Rayleigh distribution. Then this
estimation is corrected using Kolmogorov-Smirnov test. The normalized
corrected estimation is the final value of the metric.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
107
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Notion estimation visualization (with Excel) example:
Noise metrics
23
22.5
Metric value
22
21.5
21
20.5
20
19.5
19
1
51
101
151
201
251
Number of frame
Block-based
Picture 60.
MAD
Spatio-Temporal Gradients
MSU Noise Estimation Metrics (Block-based, STG and MAD) visualization
Result of metrics is per-frame value. Final value of the metrics is the
arithmetic mean of all per-frame values.
MSU Scene Change Detector
Scene Change Detector is made to automatic identification of scene
boundaries in video sequence.
Usage
The plugin implements four algorithms of similarity measurements between
two adjacency frames in video sequence:
1. Pixel-level frames comparison
2. Global Histogram comparison
3. Block-Based Histogram comparison
4. Motion-Based similarity metric
The choice of the algorithm can be made in Settings. Numbers from 1 up to 4
corresponds to each algorithm.
Default and recommended value is 3 (Block-Based Histogram).
Visualization
Y-plane is drawing during the visualization. Brightness of scene boundary
frames is increased.
Example of visualization:
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
108
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
frame i - 1
frame i
Picture 61.
frame i + 1
MSU Scene Change Visualization
Plots
Metric's plot is making after all measurements. "One" value means that
current frame is the first frame in scene, other frames have "zero" values.
Plot's example:
Picture 62.
MSU Scene Change Detector plot
Algorithm

Pixel-level comparison. Similarity metric of two frames is the sum of
absolute differences (SAD) between corresponding pixels values.

Global Histogram. The histogram is obtained by counting the
number of pixels in frame with specified brightness level. The
difference between two histograms is then determined calculating
SAD of number of pixels on each brightness level.

Block-Based Histogram. Each frame is divided into 16x16 pixel
blocks. Brightness distribution histogram is constructed for each
block. Then similarity metric for each block is obtained. Average value
of these metrics is accepted as a frames similarity metric.

Motion-Based. Motion Estimation algorithm with block size 16x16
pixels is performed for two adjacency frames at the first stage. After
that average value of motion vector errors is accepted as a finally
similarity metric.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
109
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
FAQ

How can I perform batch processing with MSU VQMT?

Your program reports that it failed to open input file.

What's about values of the metrics? What values for each metrics mean, that
quality is better?

Where can I get more information about your own metrics (MSU Blocking/Blurring
metrics and others)?

How can I add my own metric to your program?

I receive unequal results for AviSynth scripts. What's wrong?

Why results are unequal (too low) for one or more codecs?

What about masking? I really need it!

Your masking is not convenient; I want to draw a mask on a video frame!

Why MSU VQMT has four variants of PSNR calculation?

What about OPSNR? Why MSU VQMT does not have it?

Why PSNR is slightly different from previous version?

Why MSU VQMT has two variants of SSIM calculation?

Why neither of your SSIM calculations does match AviSynth SSIM plugin?

Why SSIM (fast) visualization seems to be shifted?

Why MSU Noise Estimation Metric plugin does not match to its previous version?

Why MSU Noise Estimation Metric plugin does not match to VirtualDub MSU Noise
Estimation filter?

How can I obtain version for Linux?
How can I perform batch processing with MSU VQMT?
You can make batch files to handle your jobs. The examples are given in the
―Batch files examples‖ paragraph.
Your program reports that it failed to open input file.
Our tool supports .avi, .yuv, .avs, .png, .jpg, .y4m, .mp4, .mov and others.
The number of supported files increasing, please, be sure, you use the last
version of the software. Try BETA version preview which that can support
more file formats. The formats that not natively supported by VQMT can be
opened using AviSynth with automatic AVS file generation. You should install
AviSynth of proper architecture (win32 or x64) for this.
If you experience a problem with .avi, then it is possible that MSU VQMT is
not compatible with this codec. Please send us information about this codec,
or part of such AVI file (1-2 megabytes) by e-mail.
What's about values of the metrics? What values for each metrics mean, that
quality is better?
Metric
Full Reference (FR)/
Interpretation
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
110
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
PSNR, PSNR (256),
APSNR, APSNR (256)
SSIM (fast), SSIM
(precise), MS-SSIM
(fast), MS-SSIM
(precise), 3SSIM, stSSIM
VQM
No Reference (NR)
FR
FR
FR
MSU Blocking metric
NR
MSU Blurring metric
Delta
NR (but 2 files are
necessary in case of
measure
visualization)
FR
MSAD
FR
MSE
FR
MSU Brightness Flicking
Metric
NR
MSU Brightness
FR
Independent PSNR
MSU Drop Frames Metric NR
MSU Noise Estimation
Metric
MSU Scene Change
Detector
NR
NR
100 for equal frames, higher
values are better
Higher values are better, 1 for
equal frames
0 for equal frames, lower
values are better
Lower value corresponds to
lower blocking.
Lower value corresponds to
higher blurring
0 means equal frames,
positive and negative values
mean deviation, lower
absolute values are better
0 means equal frames, lower
values are better
Lower values are better, 0 for
equal frames
The higher the value, the
higher the brightness flicking
in comparison with the
previous frame
100 for equal frames, higher
values are better
Metric has two values: 0
means that current frame
exists, 1 that it is dropped
The higher the value, the
higher the noise level
Metric has two values: 1
means that current frame is
the first frame in a scene, for
other frames metric value is 0.
Where can I get more information about your own metrics (MSU Blocking/Blurring
metrics and others)?
We plan to prepare some paper first and next publish these assessment
methods on our webpage.
How can I add my own metric to your program?
MSU VQMT supports plugins. Please refer to online SDK
(http://www.compression.ru/video/quality_measure/vqmt_sdk_en.html#start)
for more information. Also SDK is provided with the installer and is copied
into the installation folder.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
111
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
I receive unequal results for AviSynth scripts. What's wrong?
Try to review resulting video from AviSynth script processing in VirtualDub to
find out possible errors in the script.
Why results are unequal (too low) for one or more codecs?
Some codecs (for example DivX 6.0) shift video file one or two frames back,
or make two first frames equal. Check for this shift in your video files after
encoding. You can open two encoded videos in two different VirtualDub‘s and
switch to the 10th frame, for example. And then do switching between them
to see if 10th frames in two videos correspond to each other or not. If shift
really exists, use AviSynth scripts with DeleteFrame() and DuplicateFrame()
to fix it.
What about masking? I really need it!
Since 2.01 beta MSU VQMT supports masking. Mask will be converted into
monochromic image using the following rule: a dark areas of mask files (with
all color components less than 128 in RGB case and Y component less than
0 in YUV case) are treated as black, other areas are treated as white.
User can specify mask color (black or white). Masked areas are filled with the
specified mask color. User has two choices for mask color definition.

Specify that the black color is a mask – it means that a black color is
taken as a mask color

Specify that not black color is a mask – it means that a non black
color is taken as a mask color
NOTES:
When black color is used as a mask an unmasked area may contain
different colors – it is useful when the user wants to mark mask area on
an actual video frame
Your masking is not convenient; I want to draw a mask on a video frame!
Actually you can. Specify black color as a mask and draw black mask on
frames, everything will be fine.
Why MSU VQMT has four variants of PSNR calculation?
PSNR formula is:
"PSNR" and ―APSNR‖ use the correct way of PSNR calculation and take
maximum possible absolute value of color difference as MaxErr. But this way
of calculation gives an unpleasant effect after color depth conversion. If color
depth is simply increased from 8 to 16 bits, the PSNR will change, because
MaxErr should change according to maximum possible absolute value of
color difference (255 for 8 bit components and 255 + 255/256 for 16 bit
components). Thus "PSNR (256)" and ―APSNR (256)‖ are implemented. They
would not change because they use upper boundary of color difference as
MaxErr. The upper boundary is 256. This approach is less correct but it is
used often because it is fast.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
112
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
The difference between ―PSNR‖ and ―APSNR‖ is the same as between
―PSNR (256)‖ and ―APSNR (256)‖ and is in the way of average PSNR
calculation for a sequence. The correct way to calculate average PSNR for a
sequence is to calculate average MSE for all frames (average MSE is
arithmetic mean of the MSE values for frames) and after that to calculate
PSNR using ordinary equation for PSNR:
PSNR  10 * log 10
MaxErr 2
MSE
This way of average PSNR calculation is used in ―PSNR‖ and ―PSNR (256)‖.
But sometimes it is needed to take simple average of all the per frame PSNR
values. ―APSNR‖ and ―APSNR (256)‖ are implemented for this case and
calculate average PSNR by simply averaging per frame PSNR values.
The next table summarizes the differences:
Metric
MaxErr calculation
Average PSNR calculation
PSNR
correct
correct
PSNR (256)
256 (fast, inexact)
correct
APSNR
correct
averaging
APSNR (256)
256 (fast, inexact)
averaging
―PSNR‖ metric is recommended for PSNR calculation since it is implemented
according to the original PSNR definition.
What about OPSNR? Why MSU VQMT does not have it?
Actually, MSU VQMT does have OPSNR. OPSNR is a shortening from the
―Overall PSNR‖ which means that average PSNR for the sequence is
calculated in the ―correct‖ way. Thus ―PSNR‖ and ―PSNR (256)‖ of the MSU
VQMT are two implementations of OPSNR. Please refer to ―Your masking is
not convenient; I want to draw a mask on a video frame!
Actually you can. Specify black color as a mask and draw black mask on
frames, everything will be fine.
Why MSU VQMT has four variants of PSNR calculation?‖ to find out the
difference between these two.
Why PSNR is slightly different from previous version?
New version of MSU VQMT uses IPP L2 measure to calculate MSE for
PSNR, since IPP does not have direct MSE calculation function. This is a
cause of slight difference.
Why MSU VQMT has two variants of SSIM calculation?
SSIM (fast) is identical to the previous version of MSU VQMT SSIM. SSIM
(precise) is implemented as a more precise and correct SSIM. It uses
Gaussian blur instead of box filter, as SSIM (fast) does.
Why neither of your SSIM calculations does match AviSynth SSIM plugin?
SSIM (fast) is close to AviSynth SSIM plugin. Nevertheless MSU VQMT does
not use luminance masking, because it is not used in the original paper
(http://ieeexplore.ieee.org/iel5/83/28667/01284395.pdf).
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
113
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Why SSIM (fast) visualization seems to be shifted?
This effect is caused by the sum calculation algorithm for the box filter. The
sum is calculated over the block to the bottom-left or up-left of the pixel
(depending on if the image is bottom-up or top-down).
Why MSU Noise Estimation Metric plugin does not match to its previous version?
The previous version of MSU Noise Estimation Metric plugin has a bug: it
calculates measure correctly only when MSU VQMT opens file in RGB color
space. The bug is fixed now, but color space conversion sequence has
changed. The closest result is achieved when conversion algorithm is set to
PC.601. But result is not the same because previous conversions were made
using integer data, and now the conversion is made using floating point data.
Why MSU Noise Estimation Metric plugin does not match to VirtualDub MSU Noise
Estimation filter?
The reason is MSU VQMT and VirtualDub sequences of color space
conversions are different. For example, if the file is opened in YV12 color
space then MSU VQMT plugin get Y component of the image right away. But
VirtualDub plugin gets RGB, converted from YV12 by VirtualDub, and
extracts Y component from this RGB. The closest result is achieved when
conversion algorithm is set to PC.601. But result is not the same because
VirtualDub conversions are made using integer data, and MSU VQMT
conversions are made using floating point data.
How can I obtain version for Linux?
There is no native windows version now. You can use the application with
Wine (version 1.7.53 tested).
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
114
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
List of figures
Picture 1.
Picture 2.
Picture 3.
Picture 4.
Picture 5.
Picture 6.
Picture 7.
Picture 8.
Picture 9.
Picture 10.
Picture 11.
Picture 12.
Picture 13.
Picture 14.
Picture 15.
Picture 16.
Picture 17.
Picture 18.
Picture 19.
Picture 20.
Picture 21.
Picture 22.
Picture 23.
Picture 24.
Picture 25.
Picture 26.
Picture 27.
Picture 28.
Picture 29.
Picture 30.
Picture 31.
Picture 32.
Picture 33.
Picture 34.
Picture 35.
Picture 36.
Picture 37.
Picture 38.
Picture 39.
Picture 40.
Picture 41.
Picture 42.
Picture 43.
Delta example for two frames ..................................................................... 38
Original and processed images (for Delta example) ................................... 39
Delta values for original and processed images (for Delta example) .......... 40
MSE example for two frames ..................................................................... 41
Original and processed images (for MSE example) ................................... 42
MSE values for original and processed images (for MSE example) ........... 43
MSAD example for two frames ................................................................... 44
Original and processed images (for MSAD example) ................................. 45
MSAD values for original and processed images (for MSAD example) ...... 46
PSNR example for two frames ............................................................... 49
Original and processed images (for PSNR example) ............................. 50
PSNR values for original and processed images (for PSNR example) ... 51
PSNR Example for RD-curve ................................................................. 52
Diagram of the structural similarity (SSIM) measurement system ........... 53
SSIM example for compressed video ..................................................... 56
Original and processed video sequences (for SSIM example) ................ 57
SSIM (fast) visualizations for original and processed video sequences .. 58
SSIM (precise) visualizations for original and processed video sequences
59
SSIM Example for RD-curve .................................................................. 60
VQM example for processed image ....................................................... 79
Original and processed images (for VQM example) ............................... 80
VQM values for original and processed images (for VQM example) ....... 81
VQM Example for RD-curve ................................................................... 82
Used for blurring metrics calculation pixels............................................. 83
Examples of blurring metrics .................................................................. 84
Original and processed images (for MSU Blurring example) .................. 85
MSU Blurring values for original and processed images ......................... 86
MSU Blurring example ........................................................................... 87
Pixels, used for blocking metrics calculation........................................... 88
Geometric sense of D for MSU Blocking ................................................ 89
Shape of function W(x) for MSU Blocking............................................... 90
A. Decoded frame. B. Visualization of blocking metric ............................ 90
Original and compressed images (for MSU Blocking example) .............. 91
MSU Blocking values for original and processed images ....................... 91
MSU Blocking example .......................................................................... 92
MSU Brightness Flicking Metric, per-frame visualization ...................... 103
MSU Brightness Independent PSNR visualization ................................ 105
MSU Drop Frame Metric visualization .................................................. 106
MSU Noise Estimation Metrics (Block-based, STG and MAD) visualization
108
MSU Scene Change Visualization ........................................................ 109
MSU Scene Change Detector plot........................................................ 109
Example of per-frame results visualization using MATLAB ................... 121
Example of per-frame results visualization using MATLAB ................... 122
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
115
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Appendix A. Color Spaces Conversion
Overview
The input media for objective quality metrics measurement could be in YUV
color space or in RGB color space. MSU VQMT can compute objective
metrics in any color space, such as YUV, RGB or L*U*V. And if input content
is not in the color space that user wants to use for measurement, color space
conversion is performed.
RGB ↔ YUV conversion
The YUV model defines a color space in terms of one luma and two
chrominance components. The YUV color model is used in the PAL, NTSC,
and SECAM composite color video standards. Previous black-and-white
systems used only luma (Y) information and color information (U and V) was
added so that a black-and-white receiver would still be able to display a color
picture as a normal black and white pictures.
YUV models human perception of color in a different way than the standard
RGB model used in computer graphics hardware.
Y stands for the luma component (the brightness) and U and V are the
chrominance (color) components.
YUV signals are created from an original RGB (red, green and blue) source.
The weighted values of R, G, and B are added together to produce a single Y
signal, representing the overall brightness, or luminance, of that spot. The U
signal is then created by subtracting the Y from the blue signal of the original
RGB, and then scaling; V is created by subtracting the Y from the red, and
then scaling by a different factor.
REC.601 Table
RGB to YUV
Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128
V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128
YUV to RGB
R = 1.164 * (Y - 16) + 1.596 * (V - 128)
G = 1.164 * (Y - 16) - 0.391 * (U - 128) - 0.813 * (V - 128)
B = 1.164 * (Y - 16) + 2.018 * (U - 128)
PC.601 Table
RGB to YUV
Y = 0.299 * R + 0.587 * G + 0.114 * B
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
116
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
U = -(0.147) * R - 0.289 * G + 0.436 * B
V = 0.615 * R - 0.515 * G - 0.100 * B
YUV to RGB
R = Y + 1.14 * V
G = Y - 0.395 * U - 0.581 * V
B = Y + 2.032 * U
L*U*V* ↔ YUV conversion
YUV to L*U*V*
Y = Y / 255
if (Y > 0.008856)
L = 116 * Y0.33333 - 16
else
L = (903.3 * Y)
U and V from L*U*V* color space are equal to U and V in YUV color space.
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
117
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Appendix B. Structure of a CSV file
CSV file
Each measurement corresponds to one column in result CSV file. First line
describes metric and color component, used for comparison (PSNR, SSIM for
Y component in YUV color space in the example bellow). Next two lines
contain names of the compared files. For metrics, which use only one file for
comparison, third line is blank. Next line (AVG) contains average value of the
metric for whole sequence. After these four lines each line contains value of
the metric for correspondent frames (5th line for 1st frame, 6th line for 2nd frame
e t.c.).
Structure of CSV file using regular expressions
Structure of the CVS file can be described using the following regular
expressions:
Metric, color component
(<METRIC_NAME><D>)*<METRIC_NAME>\n
Name of the first file
(<FILE_NAME1><D>)* <FILE_NAME1>\n
Name of the second file
(<FILE_NAME2><D>)* <FILE_NAME2>\n
Average values
(AVG:\s<AVG_NUMBER><D>)*AVG:\s<AVG_NUMBER>\n
st
Values for 1 frame
(<METRIC_VALUE><D>)* <METRIC_VALUE>\n
...
...
Values for N frame
(<METRIC_VALUE><D>)* <METRIC_VALUE>\n
th
Where <D> is defined CSV delimiter (―,‖ or ―;‖).
Example of CSV file
Metric, color component
Name of the first file
Name of the second file
Average value
st
Value for 1 frames
nd
Value for 2 frames
rd
Value for 3 frames
…
PSNR_YYUV
foreman.avi
foreman_100.avi
AVG: 31.20652
40,33786
38,25759
38,36161
38,70852
37,64412
37,31698
36,78943
36,68823
36,70002
35,68851
35,58341
35,51961
34,8146
PSNR_YYUV
foreman.avi
foreman_200.avi
AVG: 33.72194
40,33786
38,25759
38,36161
38,70852
38,02011
37,84814
37,70628
37,10873
37,18142
36,27249
36,63955
36,6788
36,97665
SSIM_YYUV
foreman.avi
foreman_100.avi
AVG: 0.84871
0,96335
0,95292
0,95278
0,95224
0,94651
0,9436
0,93588
0,94042
0,94015
0,92219
0,93059
0,92853
0,91205
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
SSIM_YYUV
foreman.avi
foreman_200.avi
AVG: 0.89998
0,96335
0,95292
0,95278
0,95224
0,94876
0,94788
0,9434
0,94404
0,94385
0,92909
0,94055
0,93945
0,93483
118
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Average CSV file
In this file each line corresponds to one video file which is compared with the
original. So, if you have made 10 comparisons with the same ―-af‖ parameter,
10 lines will be appended to this file.
The first value of each line is a name of the processed video sequence. After
that values of metrics (average for the whole video) are placed.
Structure of CSV file using regular expressions
The structure of an average CVS file can be described using the following
regular expressions:
List of metrics & color spaces
VIDEO<D>(<METRIC_NAME><D>)*<METRIC_NAME>\n
st
<FILE_NAME2><D>(<AVG_VALUE><D>)*<AVG_VALUE>\n
st
<FILE_NAME2><D>(<AVG_VALUE><D>)*<AVG_VALUE>\n
Average values for 1 file
Average values for N file
Where <D> is the defined CSV delimiter (―,‖ or ―;‖).
Example of average CSV file
List of metrics & color spaces
st
Average values for 1 file
nd
Average values for 2 file
rd
Average values for 3 file
…
VIDEO
D:\Video\Samples\foreman_100.avi
D:\Video\Samples\foreman_200.avi
D:\Video\Samples\foreman_300.avi
D:\Video\Samples\foreman_400.avi
D:\Video\Samples\foreman_500.avi
D:\Video\Samples\foreman_600.avi
D:\Video\Samples\foreman_700.avi
D:\Video\Samples\foreman_800.avi
D:\Video\Samples\foreman_900.avi
D:\Video\Samples\foreman_1000.avi
PSNR_YYUV
31,20652
33,72194
35,45608
36,57669
37,4851
38,15945
38,75105
39,28659
39,88145
40,16985
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
SSIM_YYUV
0,84871
0,89998
0,92568
0,93998
0,94957
0,95621
0,96082
0,96495
0,96869
0,97061
119
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Average CSV file, second version
This new version of average CSV files is implemented because the previous
version has weak handling of no reference metrics, because it does not take
into account that we may need to store metric values for original file. All the
metric values that correspond only to the original file (no reference metrics)
are not stored in the previous version.
In this version of the average CSV file structure each line corresponds to the
set of measured videos. As for the previous version, if you make 10
comparisons with the same ―-af2‖ parameter, 10 lines will be appended to the
given file.
First two values of each line are file names of video sequences the metrics
were calculated for. Next, values of the metrics (average for the whole video
sequence) are placed. For no reference metrics the second file name is
replaced with ―-― sign. Also the values of the metrics that were not calculated
for the current file set are replaced by ―-― sign.
Structure of CSV file using regular expressions
Structure of an average CVS file can be described using the following regular
expressions:
List of metrics &
color spaces
Average values for
st
1 file
Average values for
st
N file
video1<D>video2<D>(<METRIC_NAME><D>)*<METRIC_NAME>\n
<FILE_NAME1><D><FILE_NAME2><D>(<AVG_VALUE><D>)*<AVG_VALUE>\n
<FILE_NAME1><D><FILE_NAME2><D>(<AVG_VALUE><D>)*<AVG_VALUE>\n
Where <D> is the defined CSV delimiter (―,‖ or ―;‖).
Example of average CSV file
List of metrics &
color spaces
video1
video2
PSNR_YYUV
bus_o.avi
bus_c.avi
19.94899
MSU Blurring
BETA_YYUV
-
bus_o.avi
-
-
27.89646
bus_c.avi
-
-
27.36283
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
120
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Parsing in MATLAB
MATLAB internal function importdata() properly works with generated CSV
files. Script below demonstrates parsing and visualization of per-frame CSV
files:
A = importdata('per_frame_res.csv');
plot(A.data(:, 1));
xlabel('Frame');
ylabel('Metric value');
title('Per-frame data visualization');
Picture 63 show results of this script execution.
Per-frame data visualization
10
9.5
Metric value
9
8.5
8
7.5
7
0
Picture 63.
10
20
30
Frame
40
50
60
Example of per-frame results visualization using MATLAB
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
121
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
Parsing of the average results file can be performed with the same way:
A = importdata('avg_res.csv');
plot(A.data(:, 1));
xlabel('Launch');
ylabel('Average metric value');
title('Average data visualization');
Picture 64 show results of this script execution.
Average data visualization
43
42
Average metric value
41
40
39
38
37
36
1
Picture 64.
2
3
4
Launch
5
6
7
Example of per-frame results visualization using MATLAB
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
122
MSU VIDEO QUALITY MEASUREMENT TOOL 7.0 BETA CS MSU GRAPHICS&MEDIA LAB
MOSCOW STATE UNIVERSITY, JUNE 2016
VIDEO GROUP
About us (Graphics & Media Lab Video Group)
Graphics&Media Lab Video Group is a part of
Graphics&Media Lab of Computer Science
Department in Moscow State University. The
history of Graphics Group began at the end of
1980‘s. Graphics&Media Lab was officially founded
in 1998. Main research directions of the lab lie in
different areas of Computer Graphics, Computer
Vision and Media Processing (audio, image and
video processing). Some of research results were
patented, other results were presented in a number
of publications.
Main research directions of Graphics&Media Lab Video Group are video processing
(pre-, post- and video analysis filters) and video compression (codecs‘ testing and
tuning, quality metrics research, development of codecs).
Our main achievements in video processing:

High quality industrial filters for format conversion including high quality
deinterlacing, high quality frame rate conversion, new fast practical super
resolution, etc.

Methods for modern TV-sets: big family of up-sampling methods, smart
brightness and contrast control, smart sharpening, etc.

Artifacts‘ removal methods: family of denoising methods, flicking removal, video
stabilization with frame edges restoration, scratches, spots, drop-outs removal,
etc.

Specific methods like: subtitles removal, construction of panorama image from
video, video to high quality photo, video watermarking, video segmentation,
practical fast video deblur, etc.
Our main achievements in video compression:

Well-known public comparisons of JPEG, JPEG-2000, MPEG-2 decoders,
MPEG-4 and annual H.264 codec‘s testing; also we provide tests for ―weak and
strong points of codec X‖ for companies with bugreports and codec tuning
recommendations.

Our own video quality metrics research, public part is MSU Video Quality
Measurement Tool and MSU Perceptual Video Quality Tool.

We have internal research and contracts on modern video compression and
publish our MSU Lossless Video Codec and MSU Screen Capture Video Codec
– codecs with ones of the highest compression ratios.
We are really glad to work many years with companies like Intel, Samsung,
RealNetworks and others.
A mutual collaboration in areas of video processing and video compression is always
interesting for us.
E-mail: video@graphics.cs.msu.ru
http://www.compression.ru/video/quality_measure/vqmt_pro_en.html
123
Download