Книги по разным темам Pages:     | 1 |   ...   | 15 | 16 | 17 | 18 | 19 |   ...   | 65 |

24Е30 кадров в секунду ввиду различных факторов: Это обеспечивает коррекцию одной видеопослеразличного времени доступа к устройству хранения, довательности в пространственной и временной обнесинхронного старта и т. д. Это обусловливает необ- ласти относительно другой (базовой) видеопоследоходимость длительной обработки и коррекции двух вательности.

видеопоследовательностей в видеоредакторах. Разра- Получение интерполированных кадров. Пусть ботка алгоритмов пространственно-временной кор- дана видеопоследовательность Lin(t), t{0, 1, 2, 3, Е}.

рекции видеопоследовательностей позволяет решить Необходимо вставить между каждыми двумя кадрами эти проблемы.

определенное число кадров, заданное параметром n.

Основой стереосъемки является подготовка двух Тогда видеопоследовательность Lout(z) после преобраподобных, но не идентичных видеопоследовательно- зования частоты кадров будет представлена выражестей, полученных с двух точек съемки относительно нием объекта. В идеальном случае оси видеокамеры и объLin (t), z = n t, t {0,1, 2, 3,...}, Lout (z)= ективов в этих двух положениях должны быть парал- (t), z = n t + l, l {1, 2, 3,..., n -1}, (1) Lin лельны. При нормальной стереосъемке базис видеоz {0, 1, 2, 3,...}, n {2, 3, 4...}, съемки должен быть приблизительно равен расстоянию между центрами зрачков человеческого глаза где n - параметр, определяющий, во сколько раз нуж(примерно 65 мм) [1]. При совмещении двух видеоно увеличить частоту кадров; z - общее число кадров.

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

которую можно преобразовать под метод просмотра:

1. Рассматривается текущий кадр L(t) и следуюанаглиф, линейную поляризацию, метод затворных щий кадр L(t + 1) видеопоследовательности Lin(t), ЖК-панелей.

t{0, 1, 2, 3, Е}.

Рассмотрим общую схему метода пространствен2. Производится оценка движения согласно выно-временной коррекции (рис. 1).

бранному алгоритму.

1. Осуществляется преображение каждой из ви3. Вычисляется поле векторов движения.

деопоследовательностей в YUV-пространство. Пре4. Производится интерполяция между текущим образование связано с получением компоненты яркокадром L(t) и следующим кадром L(t + 1).

сти Y. Значения яркости пикселей используются для 5. Строятся интерполированные кадры.

нахождения векторов движения.

Алгоритм оценки движения. Получение интер2. Выбирается произвольным образом одна из виполированных кадров базируется на оценке движения деопоследовательностей и осуществляется преобразов соседнем кадре относительно текущего кадра. Для вание частоты кадров в ней на основе интерполяции оценки движения был выбран метод сопоставления (генерируется несколько кадров между двумя соседблоков. Данный метод основан на поиске соответстними кадрами этой последовательности).

вия между блоками и позволяет с высокой вычисли3. Осуществляется совмещение текущего кадра бательной эффективностью получать поле векторов для зовой видеопоследовательности (которая не подверблоков кадров.

галась процедуре преобразования частоты) с соответ Математика, механика, информатика Левая Правая видеопоследовательность видеопоследовательность Преобразование Преобразование в YUV-пространство в YUV-пространство Получение интерполированных кадров Интерполированный Текущий кадр кадр Совмещение соответствующих кадров Стереовидеопоследовательность Рис. 1. Общая схема метода пространственно-временной коррекции видеопоследовательностей Для его реализации под задачу получения стерео- видеопоследовательности потребовалась модификаТекущий Следующий ция существующих методов. В традиционных метокадр L(t) кадр L(t + 1) дах поиска движения много времени уходит на вычисление смещений между кадрами. Предлагаемый Разбиение на блоки метод основан на модификации метода полного переB(x, y) заданного размера бора и метода поиска по шаблону.

Оценка движения производится по следующей общей схеме (рис. 2).

Текущий 1. Рассматривается текущий кадр L(t) и следуюблок B(x, y) щий кадр L(t + 1).

2. Кадры L(t) и L(t + 1) разбиваются на равные Вычисление суммы s яркоблоки B(x, y), размер которых кратен двум и задается стей пикселей для B(x, y) параметром s_block.

3. На кадре L(t + 1) находится сумма s значений яркости каждого пикселя данного блока B(x, y), опреСравнение суммы s деляемая выражением c пороговым значением err s_block s_block s = B(Y(x, y)), (2) s < err, s > err, x=0 y=движения нет движение есть где Y(x, y) - значение яркости пикселя (x, y).

4. Определяется, возможно ли движение между Вычисление соседних кадрами L(t) и L(t + 1) для данного блока B(x, y). Для блоков со смещением этого вводится пороговое значение err, которое определяется следующим выражением:

Вычисление сумм s err = (2552 -Ylim2 )s_block2, (3) для соседних блоков где Ylim[0; 255] - параметр, обозначающий предельное значение яркости пикселя (x, y) блока B(x, y) разМинимизация функции мером s_block s_block. Чем больше Ylim, тем меньше ошибки пороговое значение err. Если Ylim = 255, то err = 0. Затем сумма s значений яркости пикселей данного блока B(x,y) сравнивается с порогом. Если s > err, то двиВектор жение в блоке ищется (переход к следующему шагу). движения Если s < err, движение в блоке не ищется, возврат к шагу 3 (выбрав следующий блок). Рис. 2. Общая схема оценки движения Вестник Сибирского государственного аэрокосмического университета имени академика М. Ф. Решетнева 5. Задается параметр, определяющий область поис- B(x, y) на следующем кадре L(t + 1); Cn - значение ка движения, называемый смещением shift. Данный цветовой компоненты Y пикселя (x, y) блока B(x, y) на параметр принимает значения shift(x), где x - число интерполированном кадре n; t - параметр, задающий пикселей, на величину которых необходимо смещение. линейное смещение пикселей на каждом интерполи6. На кадре L(t + 1) определяются соседние блоки рованном кадре. Параметр t вычисляется по формуле по диагонали, вертикали и горизонтали относительно m t =, m {1, 2, 3,..., n}, (6) рассматриваемого блока B(x, y) с кадра L(t), смещенn -ные от этого блока на величину shift.

где n - количество интерполированных кадров. Пара7. На кадре L(t + 1) аналогично находятся суммы метр t[0; 1], что дает плавное смещение цветовых значений пикселей соседних блоков по диагонали, компонент для каждого интерполированного кадра.

вертикали и горизонтали. Используя выражение (2), 3. Шаг 2 повторяется для цветовых компонент U, V.

получают значения сумм блоков sn, n{0, 1, 2, 3, Е, 8}.

4. На кадрах L(t) и L(t + 1) берется следующий 8. Для принятия решения о направлении вектора блок. Повторяются шаги 2Е3 до тех пор, пока все движения необходимо минимизировать функцию блоки не будут интерполированы. Таким образом, ошибки. Суммы значений пикселей блоков sn, будет получено n интерполированных кадров.

n{0, 1, 2, 3, Е, 8} сравниваются поочередно с сумАлгоритм совмещения кадров. Заключается мой s блока B(x, y) с помощью функции суммы квадв сравнении кадра L(t), интерполированных кадров, ратов разностей:

полученных между кадрами L(t) и L(t + 1) левой видеопоследовательности, с кадром R(t) правой видеоmove = min( - sn )2 ). (4) (s последовательности. Находится интерполированный n=кадр, полученный между кадрами L(t) и L(t + 1) левой Находится соседний блок, содержащий минимальвидеопоследовательности, наиболее соответствуюное значение ошибки. Данный блок указывает нащий кадру R(t) правой видеопоследовательности.

правление вектора движения для блока B(x, y) на кадСовмещение кадров производится по следующей ре L(t + 1). Направление вектора движения для блока общей схеме.

B(x, y) найдено.

1. Рассматривается левая видеопоследователь9. На кадрах L(t) и L(t + 1) берется следующий ность L с полученными n-интерполированными кадблок. Повторяются шаги 4Е7 до тех пор, пока все рами L(z), z{2, 3, Е, n} между кадрами L(t) и блоки не будут найдены. Таким образом будет полуL(t + 1), кадр L(t) и правая видеопоследовательность чено поле движения векторов.

с кадром R(t);

Данный алгоритм может быть модифицирован.

2. Находится попиксельная межкадровая разность.

Например, для уменьшения времени выполнения данДля этого кадр L(t) и каждый интерполированный ного алгоритма можно не рассматривать диагональкадр L(z), z{2, 3, Е, n} сравнивается с кадром R(t) ные соседние блоки, а рассматривать только четыре с помощью функции, которая определяет пиковое соседних пикселя, но тогда точность нахождения поля отношение сигнала к шуму [2]. PSNR включает в себя векторов движения изменится.

среднеквадратическое отклонение и определяется Алгоритм интерполяции кадров. После того как следующим выражением:

были найдены векторы движения, производится лиMAX нейная интерполяция кадров поблочно по следующей PSNR(z) = 20log10, (7) схеме.

MSE 1. Рассматривается текущий кадр L(t) и следуюгде PSNR(z), z{2, 3, Е, n} - значение схожести межщий кадр L(t + 1) видеопоследовательности Lin(t), ду интерполированным кадром L(z) левой видеопосt{0, 1, 2, 3, Е} с найденным вектором движения ледовательности и кадром R(t) правой видеопоследоmove для блока B(x, y).

вательности; MAX[0; 255] - максимальное значение, 2. Пусть n - количество интерполированных кадпринимаемое пикселем изображения; MSE - среднеров, которые необходимо вставить между кадрами квадратическое отклонение для каждой цветовой L(t) и L(t + 1). Рассматривается каждый пиксель Скомпоненты пикселя, вычисляемое по формуле блока B(x, y) на текущем кадре L(t) и каждый пиксель h-1 w-С2 блока B(x, y) на следующем кадре L(t + 1).

((Y (x, y) - Y1(x, y))2) x=0 y=Согласно направлению вектора движения на кажMSE =+ 3hw дом интерполированном кадре, данный пиксель плав (8) h-1 w-но изменяет свое значение каждой цветовой компо((U (x, y) -U1(x, y))2 + (V2(x, y) -V1(x, y))2) ненты (Y, U, V) Сn. Для получения плавных интерпоx=0 y=лированных кадров используется выражение, пред- +, 3hw ставляющее собой линейную интерполяцию значений где h - высота кадра; w - ширина кадра; Y2, U2, V2 - пикселей:

значения цветовых компонент пикселя (x, y) на кадре Cn = C1 + (C2 - C1)t, t [0;1], (5) R(t) правой видеопоследовательности; Y1, U1, V1 - значения цветовых компонент пикселя (x, y) на ингде C1 - значение цветовой компоненты Y пикселя (x, y) блока B(x, y) на текущем кадре L(t); C2 - значе- терполированном кадре L(z) левой видеопоследовательности.

ние цветовой компоненты Y пикселя (x, y) блока Математика, механика, информатика 3. Аналогично вычисляются значения MSE и видеопоследовательности и повторяются шаги 2Ц3 до PSNR(L(t)) для текущего кадра L(t) левой видеопосле- окончательного сравнения всех кадров.

довательности L. После сравнения кадров полученные стереокадры 4. Среди вычисленных значений PSNR между ин- соединяются. Получается стереовидеопоследовательтерполированным кадром L(z) (или текущим кадром ность, содержащая синхронизированную пару видеоL(t)) левой видеопоследовательности и кадром R(t) последовательностей.

правой видеопоследовательности находится макси- Экспериментальные исследования. Для тестимальное значение like по формуле рования предложенного метода использовались две видеопоследовательности: foreman, где происходит like = max(PSNR(z), PSNR(L(t))), z {2, 3,..., n}. (9) быстрое движение; container, где происходит медленИнтерполированный кадр L(z) либо текущий кадр ное движение. Исследования производились по слеL(t), межкадровая разность с кадром R(t) правой видующим параметрам: среднее PSNR интерполировандеопоследовательности которого является максиных кадров каждой видеопоследовательности, время мальной, и принимается за наилучший кадр.

выполнения метода. Размер смещения для поиска 5. Выбирается следующая пара кадров с левой висоседних блоков был установлен в один пиксель.

деопоследовательности и следующий кадр с правой Результаты исследований представлены на рис. 3Ц5.

Рис. 3. График PSNR для быстрой видеопоследовательности foreman Рис. 4. График PSNR для медленной видеопоследовательности container Вестник Сибирского государственного аэрокосмического университета имени академика М. Ф. Решетнева Рис. 5. График времени выполнения алгоритма интерполяции Параметр PSNR показывает, насколько интерпо- уменьшается при увеличении размера блока. При лированные кадры отличаются от текущего, и вычис- смещении между блоками в один пиксель время выляется в децибелах по логарифмической шкале. Мак- полнения алгоритма увеличивается при увеличении симальное значение - 120 децибел, когда кадры пол- размера блока, так как количество операций возрастаностью одинаковы. ет в разы. Уменьшить время работы алгоритма можPSNR1 - среднее PSNR интерполированных кад- но, используя адаптивный порог, учитывающий поров видеопоследовательности от текущего кадра пиксельную межкадровую разность, чтобы интерпок следующему. PSNR2 - среднее PSNR интерполиро- лировать только те блоки, в которых эта разность отванных кадров видеопоследовательности от следую- личается.

щего кадра к текущему. Графики PSNR представлены Предложенный метод позволяет строить интерпов логарифмической шкале. Для быстрой видеопослелированные кадры в видеопоследовательностях, содовательности foreman параметр PSNR меньше, чем вмещать две видеопоследовательности для построедля медленной видеопоследовательности container.

ния стереовидеопоследовательности. Это обеспечиваЭто объясняется тем, что в быстрой видеопоследовает пространственно-временную коррекцию. Разработельности за счет резкой смены кадров больше шума, танные алгоритмы можно улучшить, используя разчем в медленной видеопоследовательности.

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

ками в ширину блока на блоке 2 2 получается фактически пиксельный блок, и ошибки там почти нет Библиографические ссылки (практически не находятся вектора движения). При 1. Вазенмиллер Е. А. Как снимать стереопары размерах блока 4 4 уже начинает сказываться блоч[Электронный ресурс] // СтереоАРТ. 2001. URL:

ность метода, поэтому и получается самый худший (дата результат. Лучшая точность достигается при большом обращения: 01.11.2010).

Pages:     | 1 |   ...   | 15 | 16 | 17 | 18 | 19 |   ...   | 65 |    Книги по разным темам
."/cgi-bin/footer.php"); ?>