Ru / En

Новинки:

Сайт подключен к Orphus. Если вы заметили опечатку, выделите слово и нажмите Ctrl+Enter. Спасибо!

ENGLISH

MSU Quality Measurement Tool: Информация о метриках

MSU Graphics & Media Lab (Video Group)


PSNR


Метрика, которую часто используют на практике, называется мерой отношения сигнала к шуму (peak-to-peak signal-to-noise ratio — PSNR).

,

где MaxErr - максимум модуля разности цветовой компоненты, w - ширина видео, h - высота видео. Данная метрика, по сути, аналогична среднеквадратичному отклонению, однако пользоваться ей несколько удобнее за счет логарифмического масштаба шкалы. Ей присущи те же недостатки, что и среднеквадратичному отклонению.
В программе присутствует возможность вычисления PSNR по всем компонентам пространств YUV и RGB и по компоненте L пространства LUV.
MSU VQMT реализует четыре варианта вычисления PSNR. "PSNR" и "APSNR" вычисляют PSNR используя определение и в качестве MaxErr берут максимум модуля разности компонент. Но это приводит к нежелательным эффектам после изменения глубины цвета. Допустим, если глубину цвета увеличить с 8 до 16 бит, то "PSNR" и "APSNR" изменятся, потому что MaxErr изменится в соответствие с максимальным модулем разности компонент (255 для 8 битных компонент и 255 + 255/256 для 16 битных). Поэтому были реализованы "PSNR (256)" и "APSNR (256)". Они не изменятся, потому что используют верхнюю границу разницы цветовых компонент в качестве MaxErr. Эта граница равна 256. Такой подход менее корректен, но он часто используется, так как он быстрее. Правила определения MaxErr:

"PSNR" и "APSNR" отличаются так же, как и "PSNR (256)" и "APSNR (256)" и эта разница заключается в вычислении среднего PSNR для всей последовательности. По определению для вычисления PSNR для всей последовательности необходимо найти среднее MSE для всех кадров и затем вычислить PSNR по стандартной формуле:

Этот способ вычисления среднего PSNR используется в метриках "PSNR" и "PSNR (256)". Но иногда необходимо вычислить просто среднее арифметическое среди PSNR для всех кадров. Для этого случая подходят "APSNR" и "APSNR (256)". Они просто усредняют покадровые значения PSNR для всей последовательности.
В следующей таблице кратко приведены различия всех четырех вариантов вычисления PSNR:

Метрика
Выбор MaxErr
Вычисление среднего PSNR

PSNR

правильный

по определению

PSNR (256)

256 (быстрый, менее аккуратный)

по определению

APSNR

правильный

среднее арифметическое

APSNR (256)

256 (быстрый, менее аккуратный)

среднее арифметическое

Для вычисления PSNR рекомендуется использовать метрику "PSNR", т.к. она реализована в точности по определению.

исходное
Исходное
Обработанное
Обработанное
Y-YUV PSNR
Y-YUV PSNR
Цвета, в порядке возрастания PSNR: красный, жёлтый, зелёный, синий, чёрный (чем больше PSNR - тем меньше разница между картинками)


MSAD


Значением данной метрики является усреднённая абсолютная разность значений цветовых компонент в соответствующих точках сравниваемых изображений. Используется, например, для отладки кодеков или фильтров.

исходное
Исходное
Обработанное
Обработанное
MSAD
MSAD


Delta


Значением данной метрики является усреднённая разность значений цветврых компонент в соответствующих точках сравниваемых изображений. Используется, например, для отладки кодеков или фильтров.

исходное
Исходное
Обработанное
Обработанное
DeltaY
Delta
Красный цвет Xij > Yij, зелёный цвет Xij < Yij


MSU Blurring Metric


Данная метрика позволяет сравнить степень размытия двух изображений, относительно друг друга. Чем ближе её значение к 0, тем больше размыто изображение.

исходное
Исходное
Обработанное
Обработанное
MSU Blurring Metric
MSU Blurring Metric
Красный цвет - первое изображение чётче второго, зелёный цвет - второе изображение чётче первого.


MSU Blocking Metric


Метрика строилась так, чтобы ее значение было пропорционально визуальной степени "блочности". Например, в контрастных областях кадра границы блоков почти незаметны, а в однородных та же граница будет хорошо видна. Эти особенности учитываются нашей метрикой. В метрике также работают эвристические правила определения края объекта, попадающего на границу блока. Значение метрики при этом снижается, что позволяет более адекватно оценивать реальную визуальную "блочность" видео. Для повышения точности используется информация из предыдущих кадров.

исходное
Исходное
MSU Blocking Metric
MSU Blocking Metric


SSIM INDEX


SSIM Index основывается на замере трёх компонент (сходности по яркости, по контрасту и структурного сходства) и объединения их значений в итоговый результат.
Статья авторов метрики SSIM

Оригинал
Оригинал
После сжатия
После сжатия
SSIM (fast)
SSIM (fast)
SSIM (precise)
SSIM (precise)
Более ярким областям соответствуют большие отклонения.

В нашей программе два варианта SSIM быстрый (fast) и точный (precise). Быстрый эквивалентен нашей предыдущей реализации SSIM. Разница заключается в том, что в быстрой реализации для размытия используется box-фильтр, а в точной - Гауссовский фильтр.
Замечания:

  1. Визуализация в быстрой реализации кажется сдвинутой. Этот эффект возникает из-за реализации алгоритма фильтрации при помощи box-фильтра. Среднее значение вычисляется по блоку слева снизу или слева сверху от текущего пикселя (зависит от того, перевернута ли картинка в файле или нет).
  2. У метрики SSIM есть 2 коэффициента. Они зависят от максимального значения цветовых компонент. В нашей программе они вычисляются по следующим формулам:
    • C1 = 0.01 * 0.01 * video1Max * video2Max
    • C1 = 0.03 * 0.03 * video1Max * video2Max
    где video1Max - максимальное значение цветовой компоненты для первого файла, video2Max - максимальное значение цветовой компоненты для второго файла. За максимальные значения принимаются (идентично как и для PSNR):
    • videoMax = 255 для 8 битных цветовых компонент
    • videoMax = 255 + 3/4 для 10 битных цветовых компонент
    • videoMax = 255 + 63/64 для 14 битных цветовых компонент
    • videoMax = 255 + 255/256 для 16 битных цветовых компонент


MultiScale SSIM INDEX


MultiScale SSIM INDEX основывается на измерении метрики SSIM для нескольких уровней исходной пары видео и взвешенном суммировании результатов.
Статья авторов метрики MSSSIM

Оригинал
Оригинал
После сжатия
После сжатия
SSIM (fast)
SSIM (fast)
SSIM (precise)
SSIM (precise)
Более ярким областям соответствуют большие отклонения.

Как и для метрики SSIM, реализовано два варианта MSSSIM быстрый (fast) и точный (precise). Разница заключается в том, что в быстрой реализации для размытия используется box-фильтр, а в точной - Гауссовский фильтр.
Замечания:

  1. Визуализация реализована как умножение значений метрик для всех уровней, увеличенных до исходного размера. Визуализация в быстрой реализации кажется сдвинутой и темной по краям. Этот эффект возникает из-за реализации алгоритма фильтрации при помощи box-фильтра для всех уровней. Среднее значение вычисляется по блоку слева снизу или слева сверху от текущего пикселя (зависит от того, перевернута ли картинка в файле или нет).
  2. Веса для уровней (начиная от исходно изображения и заканчивая самым маленьким):
    • WEIGHTS[0] = 0.0448;
    • WEIGHTS[1] = 0.2856;
    • WEIGHTS[2] = 0.3001;
    • WEIGHTS[3] = 0.2363;
    • WEIGHTS[4] = 0.1333;


3-Component SSIM INDEX


3-Component SSIM Index основывается на разделении срвниваемых изображений на области - текстуры, края и ровные участки - и учете метрики SSIM в зависимости от региона. Сделано это с учетом того что человеческий глаз замечает разницу в качестве на резких участках изображения сильнее, чем на ровных. Разделение производится попиксельно - оценкой градиента в точке.
Статья авторов метрики 3SSIM

Оригинал
Оригинал
После сжатия
После сжатия
3SSIM regions
3-SSIM разделение на области
3SSIM metric
3-SSIM метрика
Более ярким областям соответствуют большие отклонения. Синим цветом обозначены ровные участки, зеленым - края, красным - текстурные области.


Spatio-Temporal SSIM


Идея алгоритма состоит во взвешивании метрики SSIM по напраавлению движения. Информация о движении вычисляется с помощью блочного алгоритма MSU Motion Estimation. На основе векторов движения строится окно взвешивания для каждого пикселя. Окно может содержать до 33 последовательных кадров (16 + текущий кадр + 16). Таким образом, вычисленная метрика SSIM пикселя по этому окну будет учитывать временные искажения. Для суммирования метрики кадра используются наименьшие 6% метрики. Это, во-первых, отражает восприятие наихудших частей последовательности и, во-вторых, увеличивает разницу значений метрики, делая числа более воспреимчивыми.
Статья на английском

source
Исходный кадр
compressed
Сжатый кадр
visualization
Визуализация метрики

Более ярким областям соответствуют большие отклонения.


VQM


VQM использует DCT для точного соответствие человеческому восприятию.
Статья авторов метрики VQM

исходное
Исходное
обработанное
Обработанное
VQM
VQM
Чем ярче блок, тем больше отклонение в этой области.


MSE


Оригинальное
Оригинальное
Обработанное
Обработанное
Y-YUV MSE
Y-YUV MSE


Информация о таблицах



REC.601


Эта таблица используется по умолчанию для перевода YUV <=> RGB в AVISynth.
{R [0...255], G [0...255], B [0...255]} => {Y [16...235], U [16...240], V [16...240]}
RGB в 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 в 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


Эта таблица использовалась в предыдущей версии программы
{R [0...255], G [0...255], B [0...255]} => {Y [0...255], U [-128...128], V [-128...128]}
RGB в YUV

    Y = 0.299 * R + 0.587 * G + 0.114 * B

    U = -(0.147) * R - 0.289 * G + 0.436 * B

    V = 0.615 * R - 0.515 * G - 0.100 * B
        
YUV в RGB
    R = Y + 1.14 * V

    G = Y - 0.395 * U - 0.581 * V
                                         
    B = Y + 2.032 * U
        


YUV файлы


YUV используются для хранения видео данных в "сыром виде". Сейчас MSU Video Quality Measurement Tool поддерживает несколько форматов этих файлов, но если вы работаете с ними, то должны учесть, что

  1. Предполагается, что значения U и V в YUV файле положительны (сдвиг на +128).
  2. Если вы используете какую-нибудь таблицу YUV<=>RGB для создания YUV из AVI (или AVI из YUV) в вашей программе, то необходимо указать её в настройках MSU Video Quality Measurement Tool.


Инструменты для оценки качества видео


Связаться с нами можно по адресу: 


Другие материалы


Материалы по видео

Выложены:

Общедоступные видеофильтры
Доступные фильтры для VirtualDub и AviSynth. Обычно мы разрабатываем семейства фильтров. Свяжитесь с нами для получения версий, оптимизированных под ASIC/FPGA/DSP.
Коммерческие видеофильтры
Мы работаем с Intel, Samsung, Real Networks и другими компаниями над адаптацией наших фильтров для специфических видеопотоков и аппаратного обеспечения, такого как телевизоры, видеокарты и т.д. Свяжитесь с нами, если Вам нужна лицензия на такие фильтры.
Сравнения кодеков
Объективные и субъективные сравнения качества
видеокодеков и кодеков изображений.
Call for MPEG4-AVC/H.264 codecs 2012
Метрики качества видео
Различные реализации объективных и субъективных метрик качества видео.
Проекты по видеокодекам
Проекты по исследованию и разработке видеокодеков.
Разное
Другая информация.

Статьи по темам




Смотрите также материалы:
- По цветовым пространствам
- По JPEG
- По JPEG-2000

Rambler's Top100 Рейтинг@Mail.ru