5. Заключение

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

В основе технологии лежит предложенная декомпозиция системы на технологически независимые компоненты, связь между которыми происходит по заранее утвержденным протоколам. Можно выделить три основных протокола для взаимодействия аппаратно-программных компонент системы сбора данных с наблюдательной сети. Первый протокол обеспечивает взаимодействие специализированного контроллера и автоматических измерительных комплексов на основе международного протокола MODBUS. Второй протокол управляет обменом данными по каналам связи между автоматическими измерительными комплексами и ЦСД. И, наконец, третий протокол позволяет

осуществлять обмен метеосообщениями в сети TCP/IP с центрами телесвязи (MTS, UniMAS).

В соответствии с предложенной технологией интеграции компонентов многоуровневых систем с пакетной передачей данных можно выделить следующие компоненты сквозной технологии сбора данных: обслуживаемые аппаратно-программные комплексы гидрометеостанций с персоналом наблюдателей; автономные аппаратно-программные комплексы гидрометеостанции; аппаратно-программный комплекс ЦСД.

Таким образом, в ходе создания технологии производства наблюдений и доставки данных о морской сети до центров ЕСИМО разработан и согласован стандарт информационно-технологического сопряжения автономных измерительных комплексов с современными сетями сбора и передачи, разработано программное обеспечение компонент технологии, а именно аппаратно-программного комплекса, обеспечивающего передачу информации о морской среде от автоматической морской станции и автоматической метеостанции в Центры ЕСИМО по системе спутниковой связи «Глобалстар» и сотовой связи на основе стандартов информационно-технологического сопряжения автономных измерительных комплексов с современными сетями сбора и передачи.

Работа выполнена в рамках проекта РФФИ № 05-07-98006.

СПИСОК ЛИТЕРАТУРЫ

1. Сонькин М.А. Способ формализованного представления структуры системы передачи информации по радиоканалу // Математическое и программное обеспечение САПР. - Науч-но-техн. сб. - Вып. 1. - Томск: Изд-во ТПУ, 1997. -С. 224-231.

2. Питерсон Дж. Теория сетей Петри и моделирование систем. -М.: Мир, 1984. - 264 с.

3. Сонькин М.А., Слядников Е.Е. Архитектура и общая технология функционирования территориально распределенных аппаратно-программных комплексов с пакетной передачей дан-

ных // Известия Томского политехнического университета. -2006. - Т. 309. - № 5. - С. 161-166.

4. Багдасарова Е.П. Применение современных технологий сбора данных с наблюдательной сети // Метеоспектроскопия. -2005. - № 2. - С. 89-93.

5. Сонькин М.А. Принципы построения интегрированных информационно-телекоммуникационных систем оперативного назначения // Вычислительные технологии. - 2003. - Т. 8. -Специальный выпуск. - С. 148-156.

6. Anderson B.D., Bose N.K. Output feedback stabilization and related problems - solution via decision methods // IEEE Trans. оп Automatic Control. - 1975. - V. AC-20 (1). - P. 53-56.

УДК 791.44.025;004.021

МЕТОД РЕСТАВРАЦИИ ВИДЕОИЗОБРАЖЕНИЙ ПОСЛЕ ОЦИФРОВКИ СТАРЫХ КИНОПЛЕНОК

Р.П. Худеев

ООО «Альпарисофт А энд Ди», г. Томск E-mail: xp@alparysoft.com

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

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

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

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

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

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

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

Восстановление поврежденных областей производится за несколько этапов. На первом этапе необходимо весь видеоматериал разбить на сцены. Из-за того, что в различных кадрах одной сцены значительная часть информации дублируется, наиболее эффективное восстановление потерянных фрагментов возможно только при использовании соседних кадров из одной и той же сцены. На данный момент существуют алгоритмы, определяющие смену сцены, которые сводятся к тому, что предыдущий кадр разбивается на блоки и для каждого блока на последующем кадре ищется похожий блок. Если количество блоков, для которых найдены похожие блоки, превышает заданный порог (в среднем 70 % от общего количества блоков кадра), считается, что смены сцены не произошло. Если же количество похожих блоков на соседних кадрах не велико (менее 40 %), считается, что в этом месте произошла смена сцены.

Следующие параметры алгоритма определения смены сцены показали свою практическую эффективность:

Кадр разбивается на блоки 8x8 точек. Радиус поиска похожих блоков на большинстве фильмов не превышает 16 точек, но на фильмах с быстрым дви-

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

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

63

Ег = Х (А - Б,(*)

1=0

где Ег — суммарная ошибка по всему блоку; Ан и Д - яркость /-ой точки первого и второго кадров.

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

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

5 6 7

Рис. 1. Пример видеопоследовательности

Рис. 2. Пример видеопоследовательности

В обоих примерах смена сцены происходит после 5 кадра, но стандартные алгоритмы определят смену сцены после 2, 3 и 5 кадров на первом рисунке и после 2, 3, 4 и 5 кадров на втором рисунке. Если же сравнивать последовательности кадров, а не только соседние кадры, то можно определить, что кадры 1-5 относятся к первой сцене, а кадры 6, 7 и 8 ко второй. Учитывая то, что человеческий глаз обладает инерционностью и не в состоянии реагировать на изменение видеоинформации длительностью в сотни и даже десятки мс, можно сделать вывод, что в реальном видеофильме сцена не может быть длительностью меньше 5-10 кадров. Кроме того, поврежденные кадры не будут иметь одинаковые повреждения, и идентифицироваться как отдельная сцена. Поэтому, если попадаются отдельные кадры, или небольшие цепочки кадров, выпадающие из общего ряда (то есть количество блоков, похожих на блоки из соседних кадров составляет менее 40 %), их можно идентифицировать как поврежденные кадры. Если предыдущие и последующие кадры похожи друг на друга, поврежденные кадры следует отнести к данной сцене, в противном случае поврежденные кадры следует относить либо к предыдущей сцене, либо к последующей в зависимости от того, на кадры какой сцены больше похожи поврежденные кадры.

Рис. 4. Пример повреждения кадра

После того, как на фильме определены последовательности кадров, относящихся к одной сцене, внутри этих последовательностей возможно восстановление кадров целиком, либо восстановление отдельных фрагментов. Как уже говорилось выше, повреждения кинопленки имеют характерные особенности - это могут быть так называемые «прострелы», т. е. светлые и темные точки или пятна, а также светлые либо темные линии различной конфигурации, вызванные, видимо, царапинами на кинопленке. Причем эти повреждения с большой долей вероятности уникальны для каждого кадра. На рис. 3 и 4 приведены примеры таких повреждений.

Восстановление поврежденных частей состоит из двух этапов - определение областей, нуждающихся в восстановлении, и заполнение этих областей информацией, полученной из неповрежденных частей кадра. Для нахождения мест повреждения кинопленки, можно исходить из того, что в последовательности кадров, относящихся к одной сцене, между кадрами будут происходить незначительные изменения. Это объясняется тем, что при съемке со скоростью 25 кадров/с, время между съемкой двух соседних кадров составляет 40 мс, а за это время физические объекты не могут значительно измениться (это естественно не относится к быстропротекающим процессам). Если же говорить о плавном повороте кинокамеры, изменении фокуса, либо о движении объектов внутри кадра, изменения между соседними кадрами будут незначительными и эти изменения можно отследить. Суть поиска поврежденных мест сводится к тому, что кадр делится на блоки и для каждого блока на соседних кадрах ищется похожий блок. Если такой блок найден, значит, что в этом месте не было повреждений и можно переходить к следующему блоку. Если же похожий блок не найден, значит либо объект успел значительно измениться, либо в этом месте произошло повреждение кинопленки. При этом, если изменился сам объект, похожие блоки не удастся найти и на последующих кадрах этой же сцены, если же в этом месте произошло повреждение кинопленки, на последующих кадрах можно будет найти нужные блоки и таким образом можно идентифицировать место повреждения кадра.

Для реализации предложенного метода можно воспользоваться тем же алгоритмом, что используется для определения смены сцены, то есть, разбиваем кадр на блоки 8x8 точек и для каждого блока по формуле (*) ищем похожие блоки на соседних кадрах. При этом, если блок содержит повреждение, часть его точек будут значительно отличаться по яркости от точек блоков соседнего кадра, и при возведении в квадрат величина ошибки будет достаточно большой для того, чтобы нужный блок не был найден. Такой блок помечается как возможно содержащий повреждения. После проверки всего кадра некоторые его части могут быть помечены как возможно содержащие повреждения. Эти части

Рис. 3. Пример повреждения кадра

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

-А+1| > тг,

где А — яркость /-ой точки; Д+1 - яркость /+1 точки; Тг — порог для определения границы повреждения. Для градации яркости, равной 256 бит на точку, порог может задаваться в диапазоне 15-25. Именно такой перепад яркости хорошо различает человеческий глаз.

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

пользовать информацию из целых точек, обозначенных буквами А, В, С, Б. Это ближайшие целые точки по вертикали и горизонтали к текущей точке.

Яркость текущей точки и яркость каждой цветовой компоненты текущей точки можно рассчитать по формуле:

А(Ь -Ьа) + В(Ь -ЬЬ) + С(Ь -Ьс) + Б(Ь -Ld)

А =:

где А — яркость искомой точки; А, В, С, Б - яркость точек; Ьа, ЬЬ, Ьс, Ьй — расстояние в пикселах от искомой точки до точек А, В, С, Б; Ьа+ЬЬ+Ьс+Ьй.

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

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

А,. =■

2

Рис. 5. Восстановление поврежденной точки

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

где Ам и А/+1 - яркость точек предыдущего и следующего кадров.

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

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Катыс Г.П. Обработка визуальной информации. - М.: Машиностроение, 1990. - 320 с.

2. Гинзбург В.М. Формирование и обработка изображений в реальном времени: Методы быстрого сканирования. - М.: Радио и связь, 1986. - 231 с.

3. Горелик А.Л. Методы распознавания. - М.: Высшая школа, 2004. - 260 с.

4. Быков Р.Е. Анализ и обработка цветных и объемных изображений. - М.: Радио и связь, 1984. - 248 с.

5. Линдли К. Практическая обработка изображений на Си. - М.: Мир, 1996. - 512 с.