ENGLISH

VirtualDub MSU Motion Estimation Filter

MSU Graphics & Media Lab (Video Group)

Проект, идеи: Дмитрий Ватолин
Алгоритм: Карен Симонян, Сергей Гришин
Реализация: Карен Симонян

MSU Motion Estimation 1.0:
   Добавлена компенсация из нескольких кадров
   Ускорен фильтр
   Изменен интерфейс фильтра

MSU Motion Estimation 0.5:
   Фильтр полностью переписан
   Улучшен алгоритм оценки движения
   Изменен интерфейс фильтра

MSU Motion Estimation 0.1:
   Первый публичный релиз

Фильтр производит оценку и компенсацию движения из одного или нескольких кадров в видео потоке. Он позволяет отображать разбиение макроблоков, векторы движения и точность векторов движения.


Настройки


Диалоговое окно настроек фильтра, вкладка "Main"
(основные настройки)

основные настройки фильтра

Motion estimation preset - пресет компенсации движения.

Motion estimation algorithm - алгоритм оценки движения из предыдущего кадра.

Block sizes - Размеры блоков, используемые при компенсации движения.
  Maximum block size - наибольший размер блока.
  Minimum block size - наименьший размер блока.

Precision - точность поиска вектора движения.
  Horizontal precision - точность поиска вектора движения по горизонтали.
    Pixel - пиксельная точность.
    Half pixel - полу-пиксельная точность.
    Quarter pixel - четверть-пиксельная точность.
  Vertical precision - точность поиска вектора движения по вертикали.
    Pixel - пиксельная точность.
    Half pixel - полу-пиксельная точность.
    Quarter pixel - четверть-пиксельная точность.

Halfpel interpolation algorithm - алгоритм полу-пиксельной интерполяции.

Number of reference frames - число опорных кадров. Может принимать значения от 1 до 10. Если указан 1 опорный кадр, то производится компенсация только из предыдущего кадра.

Search radius - радиус окна поиска вектора движения.
  Horizontal - максимальная длина горизонтальной проекции вектора движения. Может принимать значения от 1 до 100.
  Vertical - максимальная длина вертикальной проекции вектора движения. Может принимать значения от 1 до 100.

Output - выходные данные фильтра.
  Compensated frame - выводить скомпенсированный кадр.
  Residual after motion compensation - выводить межкадровую разницу после компенсации движения.
  Residual without motion compensation - выводить межкадровую разницу без компенсации движения.

Borders allowed - разрешить компенсацию из блоков, выходящих за границы кадра.

Диалоговое окно настроек фильтра, вкладка "Extras"
(дополнительные настройки)

дополнительные настройки фильтра

Colorspace - цветовое пространство, в котором будет осуществляться компенсация движения.

Output settings - настройка выходных данных фильтра.
  Show MVs - отображать векторы движения. Режим недоступен, если выбрано Show residual without motion compensation или число опорных кадров больше 1. Векторы отображаются разными цветами в зависимости от точности, если не выбрано Force MV's constant color.
  Show MBs - отображать разбиение макроблоков. Макроблоки рисуются тем же цветом, что и векторы движения.
  Color blocks according to accuracy - раскрашивать блоки в зависимости от точности вектора движения.
  Force MV's constant color - отображать векторы движения указанным цветом вне зависимости от точности вектора.

  Integer-pixel MV color - цвет векторов движения с пиксельной точностью и соответствующих блоков.
  Half-pixel MV color - цвет векторов движения с полу-пиксельной точностью и соответствующих блоков.
  Quarter-pixel MV color - цвет векторов движения с четверть-пиксельной точностью и соответствующих блоков.
  MV color - цвет всех векторов движения, если выбрано Force MV's constant color.

Log - сброс статистики работы фильтра в лог-файл.
Сохраняются следующие показатели: время выполнения фильтра, FPS, алгоритм компенсации, размер окна поиска, допустимые размеры блоков, среднее число вычислений SAD на пиксель.
  Save log - сохранять статистику в лог-файл.
  Choose file - выбрать лог-файл.


Job control & AviSynth


Фильтр поддерживает Job Control, что позволяет использовать его в AviSynth. Пример использования:
LoadVirtualDubPlugin("...\VirtualDub\plugins\MSU_Motion_Estimation.vdf","MSU_Motion_Estimation", 0)
clip=AVISource("...\clip_input.avi", false, "RGB24")
clip.ConvertToRGB32.MSU_Motion_Estimation(0,16,4,2,2,0,1,32,32,0,1,0,0,0,0,"C:\\statistics.txt")

Параметры
Описание Допустимые значения
1 Motion estimation algorithm 0 - MSU
1 - Full search
2 Maximum block size 16 - 16x16
8 - 8x8
4 - 4x4
3 Minimum block size 16 - 16x16
8 - 8x8
4 - 4x4
4 Horizontal precision 0 - пиксельная точность
1 - полу-пиксельная точность
2 - четверть-пиксельная точность
5 Vertical precision 0 - пиксельная точность
1 - полу-пиксельная точность
2 - четверть-пиксельная точность
6 Halfpel interpolation algorithm 0 - 6-tap фильтр (H.264)
1 - билинейная интерполяция
7 Number of reference frames от 1 до 10
8 Horizontal maximum motion от 1 до 100
9 Vertical maximum motion от 1 до 100
10 Output 0 - скомпенсированный кадр
1 - межкадровая разница после компенсации
2 - межкадровая разница без компенсации
11 Borders allowed 0 - запретить компенсацию из блоков, выходящих за границы кадра
1 - разрешить компенсацию из блоков, выходящих за границы кадра
12 Colorspace 0 - YUV
1 - YV12
2 - RGB
13 Show MVs
В случае Output = 2 или
Number of reference frames > 1
параметр игнорируется
0 - не отображать векторы движения
1 - отображать векторы движения
14 Show MBs 0 - не отображать разбиение макроблоков
1 - отображать разбиение макроблоков
15 Save log 0 - не сохранять статистику в лог-файл
1 - сохранять статистику в лог-файл
15 File путь к лог-файлу


Примеры работы фильтра


Пример из тестовой последовательности "foreman", размер блока 16x16

кадр последовательности
кадр последовательности
кадр последовательности
следующий кадр последовательности
кадр с векторами движения
скомпенсированный кадр с векторами движения,
блоки раскрашены в соответствии с точностью векторов движения
межкадровая разница до компенсации движения
межкадровая разница без компенсации движения
межкадровая разница после компенсации движения
межкадровая разница после компенсации движения

Пример из тестовой последовательности "susie", размеры блоков 16x16 - 4x4

кадр из фильма
кадр из последовательности
кадр из фильма
следующий кадр из последовательности
кадр c векторами движения
скомпенсированный кадр с векторами движения и разбиением макроблоков
межкадровая разница до компенсации движения
межкадровая разница до компенсации движения
межкадровая разница после компенсации движения
межкадровая разница после компенсации движения


Download


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


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


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


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