Научная статья на тему 'Быстрый алгоритм преобразования частоты кадров'

Быстрый алгоритм преобразования частоты кадров Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
92
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гришин С. В., Ватолин Д. С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Быстрый алгоритм преобразования частоты кадров»

степени m по модулю p, всем векторам множества

кроме векторов вида N можно поставить в соответствие единственный обратный вектор, что требовалось показать. Теоретически определенное значение й=(к-1)кт-\рт-1) подтверждается вычислительным экспериментом.

При простом значении m, таком, что m | р-1, значение p можно выбрать так, что множитель q=m-1(pm-1+pm-1+...+p+1), содержащийся в разложении числа рт—1, будет простым. Таким образом, в построенной группе векторов содержится подгруппа простого порядка размера ^!=(т-1)!р!--!т!«(т-1)!р!. Для построения алгоритмов ЭЦП требуется использовать подгруппы простого порядка Q размером не менее !№!>160 бит. Для этой цели можно формировать нециклические группы т-мерных векторов, заданных над конечным кольцом Z кр, где к - простое число сравнительно малого размера и р - простое число длины 1р1, удовлетворяющей условию

I I №1 -14

р > ' (бит).

т -1 т -1

Синтез алгоритмов ЭЦП

Рассмотрим возможный вариант обобщенной схемы ЭЦП, предполагая в нем использование циклической подгруппы векторов Г', имеющей достаточно большой порядок q (^1>160 бит). Например, в качестве Г" может использоваться подгруппа максимально простого порядка, содержащаяся в нециклической группе Г векторов размерности т=7, заданных над кольцом Z п, где п=кр; к и р - различные простые числа. При соответствующем выборе числа р, например р=2584935193, группа Г содержит подгруппу Г', порядок которой равен простому значению й' большого размера: ^'=4261867232673097108598 3533887164425981458851070177331849. В качестве параметра к следует выбрать простое число сравнительно малого размера (4-10 бит), являю-

щееся невычетом степени m по модулю p. Подписывающий формирует свой открытый ключ Y в виде вектора Y=Gx, где G - вектор, являющийся генератором подгруппы Г'.

Формирование подписи к сообщению M выполняется следующим образом:

1) выбрать случайное число k<q=Q' и вычислить вектор R=Gk;

2) используя некоторую криптографически стойкую хэш-функцию Fh, вычислить хэш-код h от сообщения M с присоединенным к нему вектором R: h=Fh(M, R). Значение h будет первым элементом ЭЦП;

3) вычислить второй элемент ЭЦП: s=xh+t mod q.

Проверка подлинности подписи (h, s) состоит в следующем:

1) вычисляется вектор R'=Yq-h xGs;

2) вычисляется значение h'=Fh(M, R');

3) сравниваются значения h' и h; если h'=h, ЭЦП признается подлинной.

В заключение отметим, что в данной работе построены нециклические группы векторов, содержащие подгруппы простого порядка большого размера. Особенность построенной группы в том, что их координаты являются элементами конечного кольца Z kp, где k, p - простые числа, причем первая координата не делится на k, тогда как другие координаты - произвольные элементы кольца. Путем выбора соответствующих конкретных значений p обеспечивается размер подгруппы простого порядка, равный (m-l)ipi-imi. На основе построенной группы векторов могут быть разработаны алгоритмы ЭЦП, имеющие высокую производительность.

Литература

1. Венбо Мао. Современная криптография. Теория и практика. М .-СПб-Киев: Издат. дом «Вильямс», 2005. 763 с.

2. Молдовян Н.А. Алгоритмы аутентификации информации в АСУ на основе полей векторов // Автоматика и телемеханика. 2008.

3. Бухштаб А.А. Теория чисел. М.: Просвещение, 1966.

БЫСТРЫЙ АЛГОРИТМ ПРЕОБРАЗОВАНИЯ ЧАСТОТЫ КАДРОВ

С.В. Гришин; Д.С. Ватолин, к.ф.-м.н. (Московский государственный университет им. М.В. Ломоносова {sgrishin, dmitriy}@graphics.cs.msu.ru)

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

Ключевые слова: обработка видео, преобразование частоты кадров, обработка наложений, мера доверия векторам движения.

Цифровое видео сегодня получило широкое распространение. Появилось множество форматов видео, различающихся не только пространствен-

ным разрешением, но и временным - частотой кадров. Обилие форматов обусловило рост актуальности задачи преобразования частоты кадров.

Эволюция алгоритмов преобразования частоты кадров прошла несколько этапов. Первыми методами были повторение кадров и временное усреднение, имеющие массу недостатков [1, 2]. Прорывом стало появление методов, основанных на интерполяции скомпенсированных кадров [3]. С середины 90-х гг. прошлого века исследования проводились по трем основным направлениям: постобработка векторов движения, маскирование артефактов и обработка наложений. В последнее время стали появляться алгоритмы, объединяющие полученные по ним результаты [4].

Описанный в статье алгоритм основан на результатах исследований, достигнутых авторами по указанным направлениям. Найден оригинальный подход к постобработке векторного поля и маскированию артефактов. Результаты по обработке наложений можно найти в [5].

Общая схема алгоритма

Кадры исходной видеопоследовательности обрабатываются итеративно. На каждой итерации считывается очередной кадр и вычисляются все интерполированные кадры (ИК) между текущей парой опорных кадров. Под текущей парой понимаются кадры 1 и 1-1 (рис. 1).

Оценка движения (ОД) выполняется в двух направлениях таким образом, что на каждой итерации алгоритма доступны 4 векторных поля

(ВП): У11_"12,У1'"1,У1'_1 и V*1, где V/; - ВП из кадра

11 в кадр 1;2. Алгоритм ОД подробно описан в [6] и имеет следующие основные особенности:

• для каждого блока кадра вычисляется один вектор;

• ВП имеет иерархическую структуру (квад-родерево), размер блоков меняется от 4x4 до 32x32 пикселя. Блоки меньшего размера используются на краях движущихся объектов и в областях со сложным движением для повышения точности ВП.

Вычисление ИК выполняется с использовани-

Оценка движения «назад» Оценка движения «вперед»

* i

Иерархическая фильтрация Иерархическая фильтрация

ВП ВП

Поиск областей наложений

Вычисление ВП ИК * -

Рис. 1. Схема алгоритма

ем компенсации движения с перекрытием блоков [7]. При этом значение яркости 1(рД—т) в каждой точке р кадра вычисляется методом усреднения скомпенсированных кадров [3]: 1(р,1—т)=

=т1(р+ Ур (1—т),1—1)+(1—т)1(р— Ур т,1), те (0,1),

где т - коэффициент, определяющий положение ИК во времени; Ур - вектор движения, вычисленный в точке р ИК.

Мера доверия векторам движения

Центральное место в разработанном алгоритме занимает мера доверия (МД) векторам движения.

Под МД вектору движения блока понимается число, характеризующее точность найденного вектора. МД позволяет судить о том, насколько точно был найден вектор движения в каждом блоке, и в зависимости от этого выбирать алгоритм дальнейшей обработки. МД Мь в блоке Ь для вектора у вычисляется по формуле МЬ = тах^1 •С1 +

+^2 ^,0) .

Значения данной меры можно интерпретировать следующим образом: чем больше значение МЬ, тем выше точность найденного вектора. Первая компонента С1 меры зависит от ошибки компенсации ЕЬ вектора в блоке Ь:

C = 1+(Rb-1)(3-Rb )"°-6, Rb = min

( tE N —,1 V Eb у

T® = min(max(Cb ^Д! ),T,Eax),

Eb = SAD(Pb,Pb + v,t,t-1), SAD(pi,p2,ti,t2)= £ |l(Pi + d,ti)-I(p2 + d,t2)|,

dE[°,SM°,S]

где Rb - отношение адаптивного порога TbE к ошибке компенсации Eb; чем меньше ошибка компенсации, тем точнее найден вектор и тем больше Rb; cE - корректирующий коэффициент, варьируя который, удобно выбирать требуемый уровень приемлемых ошибок компенсации; TIEin, TEax - нижняя и верхняя границы изменения адаптивного порога соответственно; (Summ of Absolute Differences - SAD) SAD(pi,p2,ti,t2) - соотношение, используемое для вычисления ошибок компенсации Eb между блоками размера SxS с координатами верхнего левого угла pi и p2 из кадров ti и t2 соответственно.

Адаптивный порог TbE вычисляется на основе текстурности Cb блока b:

С = , D={(-°i), (i), (°i), (?)}.

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

1 2 | i J 5 6

20 19 18 17 b 7 8 9 10

16 15|14 13 12 11

Рис. 2. Пример расположения блоков

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

Вторая компонента С2 меры определяется характеристикой ВП в локальной окрестности текущего блока. Для ее вычисления строится набор векторов, который включает в себя векторы из блоков минимального размера, расположенных на границе с текущим блоком. Пример схемы расположения таких блоков для формирования набора векторов для случая размеров блоков 8x8-32x32 приведен на рисунке 2. После формирования набора векторов вторая компонента меры вычисляется

как С2 = —^ , где пь - число векторов в наборе, которые близки к вектору из блока Ь (например, по метрике Ь2); N - общее число векторов в наборе.

На рисунке 3 приведен график зависимости Сх(КЬ). Отрицательные значения С при малых значениях Кь нужны для того, чтобы компенсировать положительные значения ■^•С2, тем самым приближая результирующее значение МД к нулю. Это необходимо для того, чтобы МД для векторов с очень большой ошибкой компенсации и высоким значением С2 не принимала высоких значений. Векторы такого рода должны считаться неверно найденными, и значения меры для них должны быть небольшими.

Поскольку ошибка компенсации вектора явля-

о

0.5

1.5

Рис. 3. Зависимость C¡ от Rb

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

Аналогично вес второй компоненты w2 меры должен принимать большие значения для равномерных (без краев и текстуры) блоков, поэтому с С _v\ 1+sin

W2 = 1- Wi,

//

CR

=iiini

Cb,i

T

4 TC

, где Tc - пороговое значение для

Сь, то есть блоки со значением СЬ>Тс считаются сильнотекстурированными.

Иерархическая фильтрация ВП

Иерархическая фильтрация выполняется в три этапа.

1. Поиск плохих блоков. Блок считается плохим, если МД вектора в нем ниже порога.

2. Улучшение векторов для плохих блоков.

a) Построение набора векторов-кандидатов (НВК) и выбор вектора с максимальным значением МД в нем. Если максимальное значение МД Мщах выше порога, признак «плохой» обнуляется для текущего блока, обработка переходит к следующему плохому блоку.

b) Если Мтах меньше порога и размер текущего блока больше минимального, блок разбивается на 4 подблока и для каждого из них производится поиск лучшего вектора по алгоритму этапа (а). Разбиение блоков принимается в случае, если среднее значение МД 4 векторов подблоков выше Мтах, в противном случае в качестве финального вектора текущего блока выбирается вектор с МД Мтах, и разбиение отклоняется. В случае принятия разбиения для каждого из подблоков с МД ниже порога выполняются этапы а) и Ь).

3. Поиск плохих блоков. Этот этап идентичен первому и выполняется для ВП, полученного на шаге 2.

НВК (из шага 2а) для блока Ь с координатами (х, у) на примере фильтрации ВП У/-1 (после ОД назад) формируется из следующих векторов:

• вектора с МД выше порога из всех подблоков блока Ь векторных полей У1-12, У/-1 и У/+1;

• вектора с МД выше порога из всех примыкающих к Ь подблоков из ВП У/-1 (рис. 4).

Построение НВК для случая фильтрации ВП У1'+1 (после ОД вперед) аналогично.

Вычисление ВП ИК производится в два этапа: инициализация ВП и фильтрация ВП.

Инициализация ВП ИК. Для каждого блока ИК максимального размера формируется НВК, и затем из этого набора выбирается лучший (согласно МД) вектор.

Наборы кандидатов для блоков ИК формируются из ВП У/-1 и У1'_1. При этом ВП обрабатывается следующим образом. Для каждого вектора из ВП вычисляется позиция соответствующего

2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0

2

0

R

b

1 2 3

10 b 4 5

9 8 7 6

Рис. 4. Пример расположения блоков для формирования НВК для случая размеров блоков 8x8-16x16

ему блока на ИК (при этом учитывается размер блока). В общем случае такой блок пересекает 4 блока ИК, лежащих на сетке максимального размера (шаг сетки равен максимальному размеру блоков). Текущий вектор добавляется в НВК каждого из пересекаемых блоков.

Фильтрация ВП ИК. На данном этапе, в отличие от предыдущего, обработка производится блоками минимального размера. Алгоритм фильтрации ВП ИК следующий.

1. Поиск плохих блоков ИК минимального размера. Для выявления плохих блоков, по аналогии с иерархической фильтрацией, используется МД векторам.

2. Прямой проход фильтрации. Для каждого плохого блока строится НВК и выбирается лучший (согласно МД) вектор в нем. Если МД найденного вектора выше порога, признак плохого блока обнуляется, обработка переходит к следующему плохому блоку.

Если МД найденного вектора ниже порога и данный блок лежит в области наложений, производится обработка наложения по алгоритму из [5]. Иначе в качестве результирующего выбирается лучший вектор из сформированного НВК, блок остается плохим.

3. Обратный проход фильтрации. Данный проход отличается от прямого только инвертированным направлением формирования набора кандидатов векторов в наложениях [5]. Такой прием позволяет верно найти для некоторых наложений векторы, которые не были найдены в процессе прямого прохода.

4. Сглаживание векторного поля ИК в областях высокой концентрации плохих блоков. Для каждого блока Ь ИК, в окрестности которого число плохих блоков выше порога, результирующий вектор вычисляется как среднее векторов в ло-

ВеО(Ь) /-4/1.4

кальной окрестности: уь =----, где О(Ь) -

еаг6|О(Ь)}

окрестность блока Ь; еаМ{О(Ь)} - число блоков в О(Ь).

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

заметных «паразитных» разрывов цветовых компонент на ИК.

Набор векторов-кандидатов из шага 2 для каждого блока минимального размера, лежащего внутри заданного блока максимального размера (далее - макроблока), состоит из следующих векторов:

• вектора из 9 блоков минимального размера с МД выше порога из ВП V—2, лежащих на предыдущем кадре в окне 3x3 с центром в блоке, расположенном в той же позиции, что и текущий блок минимального размера на ИК;

• вектора из ВП ИК блоков минимального размера, прилегающих к текущему макроблоку (см. рис. 2).

Результаты

Для проверки эффективности разработанного метода было проведено визуальное сравнение с методом ORCMI [4], а также объективное сравнение с методами усреднения скомпенсированных кадров и динамической медианы [3]. В тестовый набор были включены следующие стандартные последовательности с разрешением 352x288: bus, football, foreman, mobile, stefan и table.

Визуальное сравнение проводилось с результатами, представленными в работе [4]. Сравнение показало, что наибольшая разница заметна в областях наложений на последовательностях foreman и table. Различия в обработке наложений объясняются тем фактом, что обработка этих областей производится блоками 4x4 в разработанном алгоритме, в то время как в алгоритме 4 обработка наложений осуществляется на пиксельном уровне. Поэтому области наложений шириной несколько пикселей могут быть правильно обработаны алгоритмом 4, в отличие от разработанного алгоритма, который адаптирован для обработки наложений шириной в несколько блоков 4x4.

Для объективного сравнения использовалась стандартная для алгоритмов данного класса методика. Исходные последовательности прореживались в два раза, а затем производилось двукратное увеличение частоты кадров. Полученные интерполированные кадры затем сравнивались с исходными с помощью метрики PSNR яркостной компоненты (Y-PSNR). Значения метрики усреднялись по всем ИК каждой тестовой последовательности. Результаты данного сравнения представлены в таблице. В последнем столбце таблицы приведена разница между результатом предложенного метода и методом усреднения скомпенсированных кадров.

Важно заметить, что цифры, указанные в таблице, нельзя напрямую сравнивать с результатами из работы [4]. Вероятно, авторы использовали последовательности после преобразования цветовых пространств, что привело к получению средних

значений PSNR, ниже результата разработанного метода, в то время как ожидаемый результат метода ORCMI должен быть примерно на 1дБ выше результата предложенного алгоритма, поскольку в нем используется более плотное поле векторов (пиксельное) и обработка наложений производится попиксельно. Очевидно, что такое улучшение качества достигается при значительном повышении вычислительной сложности алгоритма.

В заключение отметим, что авторами предложен новый алгоритм для преобразования частоты кадров видеопотока. Разработанный алгоритм продемонстрировал визуальное качество, лишь немного уступающее методу [4], являясь при этом значительно более вычислительно эффективным. Средняя скорость обработки последовательностей тестового набора на компьютере с процессором Intel Core2 Duo Penryn 2.2 ГГц для реализации разработанного метода составляет 80 кадров/сек.

Предложены унифицированная мера доверия векторам движения, а также алгоритм пост-

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

Литература

1. Lagendijk R.L. and Sezan M.I. Motion compensated frame rate conversion of motion pictures, in Proc. of the IEEE International Conference on Acoustics, Speech, and Signal Processing, San Francisco, CA, USA, March 1992, vol. 111, pp. 453-456.

2. Hilman K., Park H.W. and Kim Y. Using motion compensated frame-rate conversion for the correction of 3:2 pulldown artifacts in video sequences. IEEE TCSVT, 2000, vol. 10, no. 6, pp. 869-877.

3. Ojo O.A. and de Haan G. Robust motion-compensated video upconversion, in Proc. IEEE Transactions on. Consumer Electronics, 1997, vol. 43, no. 4, pp. 1045-1056.

4. Zhang Y.-X., Wang W.-D., Liu P., Yao Q.-D. Frame rate up-conversion using multiresolution critical point filters with occlusion refinement, in Journal of Zhejiang University, 2008, vol. 12, pp. 1621-1630.

5. Гришин С.В., Симонян К.А., Ватолин Д.С. Алгоритм вычисления параметров наложений для задачи преобразования частоты кадров цифровых видеосигналов // Новые информационные технологии в автоматизированных системах: матер. 12 науч.-практич. сем. М.: Московский гос. ин-т электроники и матем. 2009. С. 19-29.

6. Симонян К., Гришин С., Ватолин Д. Адаптивный метод оценки движения в видео: сб. статей молодых ученых факта ВМиК МГУ. Вып. 5. М., 2008. С. 112-119.

7. Orchard M.T. and Sullivan G.J. Overlapped block motion compensation: An estimation-theoretic approach, IEEE Trans. Image Process., 1994. vol. 3, no. 5, pp. 693-699.

Результат объективного сравнения

Название последовательности mca dm Предл. Разница

bus 27,26 25,92 28,52 1,25

football 24,28 24,59 25,63 1,35

foreman 35,05 33,78 35,57 0,53

mobile 28,21 24,98 29,62 1,41

stefan 28,13 26,52 29,37 1,24

table 29,95 28,63 30,71 0,76

ИДЕНТИФИКАЦИЯ ОБЪЕКТОВ ТЕКСТА В ИНФОРМАЦИОННЫХ СИСТЕМАХ

Д.А. Кан; И.С. Лебедев, к.т.н. (Санкт-Петербургский государственный университет, isl_box@mail.ru); Е.А. Сухопарое, к.т.н. (НИИ точной механики, г. Санкт-Петербург)

Предложен подход для автоматического отражения фактологической информации в тексте на естественном языке в базу знаний. Производится выявление объектов текста с вычислением связей между ними. Рассматривается проблема ответов на вопросы, сформулированных на естественном языке, как задача поиска значений атрибутов присоединяющих слов.

Ключевые слова: естественный язык, семантический и синтаксический анализ, обработка текстовой информации, вычисление связей между словами.

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

Основная проблема любой информационной системы, работающей с текстом, - его отражение в автоматическом режиме в базу знаний. Только в случае ее решения можно говорить о построении естественно-языковых (ЕЯ) интерфейсов, вопросно-ответных, контролирующих и обучающих систем, позволяющих в интерактивном режиме

i Надоели баннеры? Вы всегда можете отключить рекламу.