Предварительная обработка видеопоследовательности для публикации в электронной библиотеке

УДК 004.932

ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ВИДЕОПОСЛЕДОВАТЕЛЬНОСТИ ДЛЯ ПУБЛИКАЦИИ В ЭЛЕКТРОННОЙ БИБЛИОТЕКЕ

М.В. Домов, к.т.н.., ст. преподаватель; В.В. Буряченко, аспирант; А.И. Пахирка, к.т.н., ст. преподаватель; А.Г. Зотин, к.т.н., доцент

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

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

PREPROCESSING THE VIDEO SEQUENCE TO PUBLICATE IN DIGITAL LIBRARIES Damov M. V., Ph.D. Tech. Sc., senior lecturer; Buryachenko V. V., postgraduate student;

Pakhirka A.I., Ph.D. Tech. Sc., senior lecturer; Zotin A.G., Ph.D. Tech. Sc., associate professor (Academician M.F. Reshetnev Siberian State Aerospace University, Krasnoyarskiy Rabochiy Av., 31, Krasnoyarsk, 660014, Russian Federation, me@damov.pro, GamerNewb@yandex.ru, pahirka@sibsau.ru, zotinkrs@gmail.com) Abstract. This paper presents methods for increasing the quality of embedded video sequences when preparing digital books and other digital library multimedia resources. They are presented as processing stages: non-linear correction of image brightness, scene replacement detection with preliminary motion estimation in the scene and preliminary quality estimation of the frame, image stabilization with frame borders restoration methods. Non-linear correction of images brightness performs using modified MSR-algorithm which allows increasing the contrast of image details in of high brightness areas. The algorithm of video sequence stabilization is based on block matching method and allows removing frame-to-frame jitter effect. An interpolation of neighboring frames is used when stabilizing. It provides less image content loss on frame borders. It is offered to evaluate the quality of video sequence frame that allows detecting cases of scene changes and high level noise. A description of testing and results of the increase of video sequences quality it presented.

Keywords: video stabilization, motion estimation, frame interpolation, image brightness correction, motion correction, digital publication, digital library.

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

Наиболее значимыми факторами, оказывающими негативное влияние на восприятие видеоинформации, являются неравномерность освеще-

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

- подготовка видеопоследовательности (разделение видеопоследовательности на сцены);

- коррекция освещенности изображения;

- стабилизация видеопоследовательности с предварительной оценкой движения объектов в сцене и оценкой качества кадра;

- восстановление границ кадра с интерполяцией кадров (при необходимости).

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

щенности, основанные на технологии MSR, имитирующей визуальную систему человека [1, 2]. Для компенсации дрожания кадра предложена стабилизация видеопоследовательности, основанная на методе соответствия блоков с учетом пространственно-временной постобработки.

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

Разделение видеопоследовательности на сцены

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

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

Шаг 1. Расчет расстояния от каждой особенной точки кадра до центральной точки кадра:

Rj ,

где xG , yG - координаты i-й особенной точки; xc,

yc - координаты центральной точки кадра.

Шаг 2. Расчет смещения точки: \Rv-Rp-1<e,

где e - порог смещения точки для кадра.

Шаг 3. Расчет количества сильно смещенных точек в j-м кадре:

f

где en - общий порог смещения.

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

Нелинейная коррекция освещенности изображения

MSR-алгоритм сжимает динамический диапазон изображения с сохранением (увеличением) локального контраста в плохо и ярко освещенных областях. В классической реализации многомерный MSR-алгоритм [4] представляется взвешенной суммой одномерных SSR-алгоритмов (Single-Scale Retinex) для различных масштабов. Одномерная выходная функция г-го цветового канала Ri(x, y, ст) вычисляется на основании формулы R(x,y, CT)=log{/i(x,y)}-log{F(x,y, ст)х/г(х,y)}, (4) где Ii(x, y) - входная функция i-го цветового канала по координатам x и y; ст - масштабный коэффициент; знак х обозначает свертку функций; F(x, y, ст) - гауссиан.

Применение классического алгоритма MSR в большинстве случаев приводит к искажению цвета изображения, поскольку значение каждой цветовой составляющей пикселя (например в RGB-пространстве) заменяется отношением ее исходного значения к среднему значению данной цветовой составляющей окружающих пикселей. Для решения этой проблемы можно воспользоваться преобразованием в другие цветовые пространства. Так, некоторое улучшение результатов наблюдается при использовании цветового пространства с явным разделением яркостной и отте-ночной составляющих (HSV-, HLS-пространства). Лучшего эффекта можно достичь за счет использования модели нормализованного разделения яр-

Сильное изменение Эффект растворения Эффект перехода

' ^ИВПП

Кадры

Рис. 1. Гистограмма значений счетчика

сильно смещенных точек на тестовой видеопоследовательности

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

R'мi(x, у, W, ст, b)=Rмi(x, У, w, a)xI'1(x, У, С), (5) где I(к, у, Ь) - нормализованная яркость, определяемая по формуле

( \

Л

i; (х, у, с ) = log

1 + с-

£1,

где c - коэффициент, выбираемый из середины диапазона значений [0, ..., 255], c=100-125.

Ввиду особенности логарифмической функции MSR-алгоритм делает детали изображения в теневых областях более различимыми, чем в засвеченных [1]. Чтобы сделать детали различимыми в засвеченных областях, можно применить логарифмическую функцию к инвертированному изображению. Строится модифицированная логарифмическая функция L(I(x, y)), зависящая от порогового значения Th, выбираемого пользователем:

'к, • log

I (х, y)> Th,

где k1, k2 - весовые коэффициенты,

Th

ki =

DR

• log

k2 =

1 - ЦI-*

log (Th) ' 2 log (DR - Th) '

DR - динамический диапазон изображения, в данном случае DR=255 (для изображений с 8 битами на цветовой канал); Th - пороговое значение.

Объединение ветвей дает классическому алгоритму MSR возможность повышать контрастность деталей в областях повышенной яркости. Применение такого вида логарифмической функции в определенной мере повышает контрастность деталей информативной области типичных распределений яркости (60-200), но значительно в меньшей мере, чем в затененных участках и участках с высокой яркостью [2]. На рисунке 2 показан пример работы MSR-алгоритма с модифицированной логарифмической функцией.

Оценка движения

Много работ посвящено исследованию особенностей методов, основанных на методах соответствия блоков [5, 6]: они используют различные фильтры для уточнения оценки движения и расчета локальных векторов движения. Эти алгоритмы обычно позволяют получить хорошие результаты, но могут давать ошибочные результаты для видеопоследовательностей, содержа-

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

В общем случае схема блочной оценки движения содержит следующую последовательность действий. Изображение делится на неперекрывающиеся блоки пикселей Bij, где i, ] - координаты блока. Задача оценки движения сводится к задаче поиска вектора движения vij для каждого блока Bij. При этом значение вектора vij определяется соотношением

V,, = arg

(minv,JE0 (F(J,,j,Vij) ,

O = |х, yj | х e I — u u I, y e I —v v I,

l ' ^ J 1 L max, max J L max, max J' v f

где О - область поиска векторов движения Umax; Vnax - целые положительные числа; F(J^jv ) - мера близости блоков текущего и предыдущего кадров. Примером такой функции является SAD (Sum of Absolute Differences), определяемая формулой £4D( y, i, j, v) =

= £ [I(P, t) -1(p, t) -1(p +v, t -1)].

P^-B, ,

Оценка качества кадра

Для качественной работы алгоритма определения геометрических искажений на его вход должны подаваться кадры, в той или иной степени соответствующие выбранной математической модели [6]. Суть проблемы в том, что алгоритм стабилизации оценивает параметры геометрических преобразований кадров путем нахождения минимума целевой функции. Таким образом, он не может работать при несоответствии входных изображений модели геометрических преобразований, принятых при разработке алгоритма. Если алгоритм стабилизации определяет параметры геометрических преобразований неправильно, выходное изображение, стабилизированное в соответствии с такими неправильными параметрами, «скачет» больше, чем входное. Это недопустимо, поэтому следует отсеивать кадры, обработка которых не может быть выполнена достаточно качественно.

а)

б)

Рис. 2. Пример нелинейного улучшения изображений: а) входное изображение, б) изображение с применением модифицированного метода MSR

На практике такие ситуации возможны в следующих случаях:

- смена сцены;

- отсутствие полезного сигнала (при наличии или отсутствии шума);

- высокий уровень помех;

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

Случаи смены сцены, помимо рассмотренного ранее алгоритма, также можно определить при наличии большого числа локальных векторов движения, направление и модуль которых значительно отличаются от векторов предыдущих кадров Ek=(eb e2, ..., en), где Ek - евклидово расстояние векторов движения кадра k.

Если — ^ e + ei > err, считается, что про-

n i=J ы 11

изошла смена сцены; err - порог, при котором вектор движения признается плохим.

В некоторых случаях можно построить детектор шумовых кадров, основанный на особых свойствах шума. Если шум связан с низким качеством ПЗС-матрицы камеры, то можно построить классификатор на основе оценки степени насыщенности цвета. В таких кадрах естественное изображение, как правило, имеет блеклые цвета, в то время как шумовые кадры содержат большое количество ярких цветов (рис. 3).

Алгоритм классификации для такого случая сводится к простой схеме:

1) находятся все точки, насыщенность которых выше порога;

2) если количество таких точек больше порога, кадр считается шумовым.

Стабилизация видеопоследовательности

При анализе видеопоследовательности, содержащей движущиеся объекты, оценивается вектор смещения каждого объекта в плоскости изображения методом полного поиска соответствия блоков (FSBMA). Текущий кадр разделен на матрицы макроблоков, которые включают соответствующий блок и его ближайших соседей на предыдущем кадре [7]. Это позволяет создать вектор движения макроблока от одного места к другому на предыдущем кадре. Такое смещение, вычисленное для всех макроблоков, представляет оценку движения на текущем кадре. Область поиска для соответствия макроблока ограничена до p пикселей во все стороны на предыдущем кадре. В таком случае p является поисковым параметром и при увеличении значения p позволит находить большее движение, но при этом сделает процесс поиска движения более ресурсоемким. Соответствие одного макроблока другому основано на вычислении значения функции стоимости. Макроблок с наименьшим значением функции стоимости соответствует текущему блоку.

Методика расчета локальных векторов движения заключается в сравнении блока предыдущего кадра с блоком текущего кадра и небольшом сдвиге в p пикселей [7]. Функция сравнения блоков сравнивает два переданных блока на основе метрикMSE, PSNR, SAD:

1 M-1N-1 ,

MSE1 a, j) - к (i, j)\

MN ¿=o j=o

где M, N - ширина и высота изображения; Щ, /), ]) - пиксели текущего и предыдущего изображений;

PSNR = 10log1(

f MAXj^ MSE

= 20logK

MAX,.

*Jmse

где МАХ/ - максимальное значение, принимаемое пикселем изображения.

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

GVx = -

1

Я-1 W-1

II LVx(i, j),

H-Wt=0 Po

1 H-1 W-1

GVy = -— II LVy(i, j),

_ _ ............

H-WU p>

где GVx, GVy - значения компонент глобального вектора движения по осям ОХ, OY; LVx(i, j), LVy(i, j) - значения компонент локального вектора движения по осям ОХ, OY для блока с координатами i, j; H, W - размерность массива блоков движения.

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

Методы восстановления границ кадра

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

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

1ТЬ

if 0 < x + AMVX < m and 0 < y + AMVy < n,

else If (x, y) = Itg (x, y),

где k - номер текущего кадра; AMVx, AMVy - векторы накопленного движения по осям координат; m, n - ширина и высота изображения соответственно.

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

Интерполяция кадров при стабилизации видеопоследовательности

При дрожании камеры без сильного смещения кадра удобно использовать алгоритмы интерполяции изображений для восстановления граничных пикселей кадров. Большинство алгоритмов интерполяции (MCI - интерполяция скомпенсированных кадров) используют информацию о движении объектов на изображении [4]. Отличительной особенностью применения методов интерполяции изображений для задачи восстановления граничных пикселей является необходимость осуществлять расчет значений пикселей для каждого кадра видеопоследовательности между ключевыми кадрами.

Пусть ключевыми кадрами, которые соответствуют стабилизированному изображению, будут кадры In, In+k, где n - номер первого ключевого кадра; k - число кадров до следующего ключевого кадра. Поскольку для алгоритма стабилизации видеопоследовательности рассчитываются векторы движения для каждого блока пикселей, имеется информация о смещении блоков vx,y между кадрами n и n+k. Тогда значение интенсивности пикселя для кадра m, где n<m<k, можно рассчитать по формуле

С = с +[

Расчет значений пикселей стабилизированного изображения выполняется аналогично формуле (15), но для отсутствующих пикселей используется интерполированное значение:

'Гк'л

elselTb ( x, y) = ^(x, y).

Восстановление граничных пикселей кадра возможно при помощи интерполяции.

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

Практические результаты

Проведено тестирование качества предложенного алгоритма стабилизации на различных видеопоследовательностях, содержащих движение камеры и объектов. Для исходной видеопоследовательности и стабилизированного видеоматериала находится разница между предыдущим и текущим кадрами по известной метрике PSNR. Применение пространственно-временного фильтра 2d_cleaner при стабилизации видеоматериала зна-

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

На рисунке 4 показано, что Р8МЯ-значение кадров стабилизированной последовательности заметно выше, что показывает меньшую разницу между кадрами (более низкое влияние дрожания кадров). При применении временного фильтра Р8МЯ-значение видеопоследовательности увеличивается в пределах 30 %.

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

Литература

1. Фаворская М.Н., Зотин А.Г., Пахирка А.И. Метод улучшения цветных изображений на основе выравнивания спектральных диапазонов и коррекции контрастности // Механика, управление и информатика. 2012. № 8. С. 99-103.

2. Зотин А.Г., Пахирка А.И., Буряченко В.В. Разработка системы видеонаблюдения c возможностью улучшения визуального качества видеопотока // Программные продукты и системы. 2013. № 2. С. 191-197.

3. Дамов М.В. Программный комплекс интеллектуальной реконструкции видеопоследовательностей // Технологии Microsoft в теории и практике программирования: матер. VII Все-рос. науч.-практич. конф.-конкурс. Томск, 2010. С. 82-86.

4. Choi D.H., Jang I.H., Kim M.H., Kim N.C. Color image enhancement based on single-scale retinex with a JND-based nonlinear filter. Proc. IEEE Int. Symp. Circuits and Syst., New Orleans, USA, 2007, pp. 3948-3951.

5. Jang S.-W., Pomplun M., Kim G.-Y., and Choi H.-I. Adaptive robust estimation of affine parameters from block motion vectors. Image and Vision Computing, 2005, August, pp. 12501263.

6. Ko-Cheung H. and Wan-Chi S. Extended analysis of motion-compensated frame difference for block-based motion prediction error. IEEE Transactions on Image Processing, 2007, vol. 16, pp. 1232-1245.

7. Буряченко В.В. Стабилизация видеопоследовательностей для статических сцен // Цифровая обработка сигналов и ее применение: тр. 14-й Междунар. конф. М., 2012. Т. 2. C. 306-309.

8. Дамов М.В., Зотин А.Г. Хранение мультимедийных изданий в электронной библиотеке вуза // Кибернетика и высокие технологии XXI века: матер. XIV Междунар. науч.-технич. конф. Воронеж: Изд-во ВГУ, 2013, Т. 2. C. 423-428.

References

1. Favorskaya M.N., Zotin A.G., Pakhirka A.I. A method of colour images improving based on levelling-off spectral ranges and contrast correction. Mekhanika, upravlenie i informatika [Mechanics, management and informatics]. 2012, no. 8, pp. 99-103.

2. Zotin A.G., Pakhirka A.I., Buryachenko V.V. Developing video surveillance system with a possibility to improve video stream visual quality. Programmnye produkty i sistemy [Software & Systems]. 2013, no. 2, pp. 191-197.

3. Damov M.V. A software complexof intelligent reconstruction of a video sequence. Tekhnologii Microsoft v teorii i praktike programmirovaniya: mater. VII Vseros. nauch.-praktich. konf.-kon-kurs [Proc. All-Russian conf. "Microsoft technologies in programming theory and practice"]. Tomsk, 2010, pp. 82-86.

4. Choi D.H., Jang I.H., Kim M.H., Kim N.C. Color image enhancement based on single-scale retinex with a JND-based nonlinear filter. Proc. IEEE int. symp. circuits and syst. New Orleans, USA, 2007, pp. 3948-3951.

5. Jang, S.W., Pomplun M., Kim G.Y., Choi H.I. Adaptive robust estimation of affine parameters from block motion vectors. Image and Vision Computing. MA, USA, Butterworth-Heinemann Newton Publ., 2005, vol. 23, iss. 14, pp. 1250-1263.

6. Hui Ko-Ch., Siu W.-Ch. Extended analysis of motion-compensated frame difference for block-based motion prediction error. IEEE transactions on image processing. 2007, vol. 16, pp. 1232-1245.

7. Buryachenko V.V. Video sequence stabilization for static scenes. Tsifrovaya obrabotka signalov i ee primenenie: tr. 14 Mezhdunar. konf. [Signals digital processing and its application: proc. 14th int. conf. DSPA-2012]. Moscow, vol. 2, pp. 306-309.

8. Damov M.V., Zotin A.G. Keeping multimedia issues in an university electronic library. Kibernetika i vysokie tekhnologii XXI veka: mater. XIV Mezhdunar. nauch.-tekhnich. konf. [Proc. 14th int.conf. "Cybernetics and high technologies of 21th century"]. Voronezh, Voronezh St. Univ., 2013, vol. 2, pp. 423-428.

Значение PSNR

50 100 150 200

—•-оригинальное видео

— --стабилизированное

-Д-стабилизированное отфильтрованное

Рис. 4. PSNR-разница между кадрами исходной, стабилизированной и обработанной временным фильтром 2d_cleaner видеопоследовательности

УДК 519.68

ФОРМАЛЬНЫЕ МЕТОДЫ УСТАНОВЛЕНИЯ АВТОРСТВА ТЕКСТОВ И ИХ РЕАЛИЗАЦИЯ В ПРОГРАММНЫХ ПРОДУКТАХ

Т.В. Батура, к.ф.-м.н.

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