MSU Brightness Independent PSNR

MSU Graphics & Media Lab (Video Group)

Take a look at this article on the new site! Follow the link

Project, Ideas: Dr. Dmitriy Vatolin
Implementation: Alexey Noskov
Updating and additions: Sergey Grishin

Common idea

BI-PSNR metric is intended for measuring distortions in video taking into account brightness shifts.

Change Log

[!] - Known bug
[+] - New Feature
[*] - Other

Version 1.1
[*] Visualization bug fixed for non-stadard resolution video

Version 1.0
[+] First plugin release


BI-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.


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).
Example of visualization
Example of visualization
Visualization of the same frame using standard PSNR
Visualization of the same frame using standard PSNR


Plots of per-frame PSNR values after the found transformation are drawing after all calculations. Plots are entirely the same as standard per-frame PSNR

Plot's example
Plot's example
Standard PSNR plot for the same sequence
Standard PSNR plot for the same sequence


Table C[i,j] is filling for each frame: C[i,j] = { number of points in the same position, which have brightness 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:

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.

When transformation was found, we can find MSE for the frame taking into account this transformation:


MSU Video Quality Measurement Tools


Other resources

Video resources:

Last updated: 12-May-2022

Server size: 8069 files, 1215Mb (Server statistics)

Project updated by
Server Team and MSU Video Group

Project sponsored by YUVsoft Corp.

Project supported by MSU Graphics & Media Lab