Аннотация
Представлена оригинальная разработка – программный комплекс для реставрации
видеопоследовательностей, основанный на алгоритмах удаления шума и дефектов изображения.
Описан принцип работы и приведены примеры работы на фрагментах исходных
видеопоследовательностей. Описан пользовательский интерфейс программы.
Abstract
Most video-compression methods require that the source image sequence has to be filtered
to be freed from grain, noise and scratches to significantly improve compression efficiency.
A software module based on motion-estimation algorithms is introduced for noise-cleaning
and scratch removal. Video-specific features such as interlaced images and tape dropouts
are also addressed.
СОДЕРЖАНИЕ
Введение
1.
Полностью автоматический и полуавтоматический режимы очистки изображений
2. Применяемые алгоритмы.
3. Подавление видеошума (зерна)
4. Удаление “царапин”
5. Особенности обработки чересстрочной
развертки
6. Подавление цветовых помех
7. Удаление выпадений
8. Краткая инструкция по использованию
программы
Литература
Иллюстрации
Введение
В настоящее время для хранения и передачи
видеоизображения широко применяются различные алгоритмы сжатия, позволяющие
существенно сократить объем памяти для долговременного хранения или уменьшить
требуемую скорость передачи информации. Как правило, это алгоритмы сжатия с
потерями, при использовании которых наименее значимая для восприятия зрителем
часть информации отбрасывается. На подобных алгоритмах основан широко
распространенный стандарт хранения данных MPEG-2, применяемый в настоящее время в
цифровом спутниковом телевидении и для распространения видеофильмов на дисках
формата DVD. Существуют и более современные и совершенные стандарты, основанные
на том же принципе сжатия с потерями – MPEG-4, MPEG-21
Алгоритмы кодирования, заложенные в эти
стандарты, демонстрируют свою эффективность на исходных данных, для которых
характерен низкий уровень шумов, выражающихся в зернистости изображения
(тепловой шум матриц видеокамеры, зерно эмульсии кинопленки, экспонированной в
условиях недостаточной освещенности), царапин, частиц пыли и других
механических дефектов кинопленки, помех в виде «снега» и «тянучек», вызванных
недостаточным уровнем записи в FM-диапазоне на видеопленке, искажений изображения вследствие
механической нестабильности лентопротяжного механизма.
Поскольку алгоритмы сжатия основаны на
сопоставлении отдельных кадров видеопоследовательности, на их эффективности
может сказаться различие в яркости/контрастности соседних кадров, обусловленное
несоблюдением процедур при проявке (неравномерность концентрации проявочных
реактивов внутри емкости, в которой происходила проявка, несоблюдение условий
хранения рулона с пленкой).
Алгоритмы сжатия разрабатывались для изображений,
для которых вышеперечисленные факторы сведены к минимуму, однако на реальных
изображениях они зачастую дают неприемлемый результат – шум становится более
заметным, а ведь при этом отбрасывается полезная информация, несущая
существенные для зрителя элементы изображения - каналы связи оказываются
«забиты» бесполезными данными
Данная разработка предназначена для
обработки видеопоследовательностей, содержащих искажения исходного изображения
в виде шумов, «зерна», царапин, и.т.п.
Полностью
автоматический и полуавтоматический режимы очистки изображений.
Сопоставляя несколько подряд идущих кадров
видеопоследовательности, мы можем выделять общие элементы изображения,
переходящие из очередного кадра в следующий, что позволяет с некоторой степенью
достоверности судить о том, присутствует ли данный элемент изображения
исключительно в данном кадре. В этом случае, при выполнении дополнительных
условий, наложенных на характер элемента, может быть принято решение о
коррекции, путем интерполяции в пространстве или во времени, с учетом
перемещений, которые эти элементы совершают при переходе от кадра к кадру
При работе с реальными материалами,
полученными сканированием с кинопленки, может быть целесообразным ручной метод
обработки, при котором решение в каждом случае принимается оператором, либо
комбинированный, полуавтоматический метод. Для эффективного взаимодействия с
оператором необходим специализированный пользовательский интерфейс, облегчающий
просмотр материала и принятие решения. Кроме того, обработку можно совместить с
коррекцией цветопередачи, коррекцией пространственных искажений красной и
зеленой составляющей.
Применяемые
алгоритмы.
Для полноценного анализа
видеопоследовательности необходимо установить соответствие между точками
изображения в текущем и ближайших к нему кадрах, т.е. вычислить значение
вектора движения.
В настоящее время широко используются
рекурсивные алгоритмы на основе оценки вектора перемещения от кадра к кадру (Motion Estimation). В данном случае используется поиск на основе двух окон, с
сравнением результатов прямого и обратного предсказания и назначением
достоверности результата для каждого пикселя изображения. Все предварительные
вычисления производятся при пониженном разрешении изображения на одном из
каналов (на канале яркости ) с дальнейшим уточнением в полном разрешении, с
учетом резких границ и деталей изображения что позволяет существенно сократить
требуемое время вычислений.
Данный вариант был выбран потому, что
характер задачи критичен к достоверности вычисления вектора движения.
Подавление
видеошума (зерна)
Установив соответствие между пикcелями изображения в моменты времени t, (t-1), (t+1), (t+2), мы производим
сглаживание следующим образом:
R=(A*a+B*b+C*c+D*d+E*e)/(a+b+c+d+e)
Будем обозначать X(t) – значение яркости в текущей позиции на экране в текущий
момент времени, X(t-1) , X(t+1) – значения яркости в предыдущем или следующем кадре в точке,
смещенной относительно текущей на значение соответствующего вектора движения в текущей точке. То есть X(t) X(t-1) X(t+1) описывают яркость одной и той же детали движущегося обьекта
в разные моменты времени.
A=X(t-1)
B=X+(t)
Ближайшая точка слева от текущей
C=X-(t)
Ближайшая точка справа от текущей
D=X(t+1)
E=X(t+2)
a=P/(X(t)-A+T)
b=1/(X(t)-B+T*2)
c=1/(X(t)-C+T*2)
d=P/(X(t)-D+T)
e=P/(X(t)-E+T)
P – коэффициент, характеризующий
достоверность информации о векторе,
T – параметр Luma Threshold (см. Описание программы), определяющий чувствительность алгоритма
Сглаживание производится в несколько
итераций для каждого значения t
X(t)=X(t)*delta+R*(1-delta)
t-2, t-1, t,
t-1, t, t+1
и.т.д.
Если изображение цветное, то для цветовых
компонент (цветоразностей) вычисления производятся по формулам
R1=(A1*a+B1*b+C1*c+D1*d+E1*e)/(a+b+c+d+e)
R2=(A2*a+B2*b+C2*c+D2*d+E2*e)/(a+b+c+d+e) ,
в которых используются весовые коэффициенты
a, b, c, d, e , вычисленные для яркостных компонент.
Иллюстрацию работы алгоритма на тестовой
видеопоследовательности см. на Рис. 1.
Удаление
“царапин”
Обладая информацией о векторах перемещения
изображений с пониженным разрешением легко обнаружить мелкие изолированные
дефекты изображения - для них значения достоверности предсказания движения в
полном разрешении будут “сильно” отличаться от значений при пониженном
разрешении, на вычисление которых эти дефекты не оказали влияния.
Более крупные дефекты («кляксы»)
обнаруживаются при
|v(t-1,t+1)-(v(t-1,t)+v(t,t+1))|>
Vmin ,
где v(t1,t2) – вектор движения при переходе от кадра t1 к кадру t2, Vmin – пороговое значение.
Обнаруженные дефекты устраняются
автоматически - путем интерполяции в плоскости текущего кадра.
Кадры на рисунках 4, 5, 6 иллюстрируют
поведение алгоритма на различных тестовых изображениях, полученных из реального
видео-файла наложением псевдослучайных «помех». Как и прежде, обработке
подверглась только левая половина изображения.
Особенности обработки чересстрочной развертки
Фильмы, снятые на кинопленку, как правило,
хранятся в прогрессивной развертке, т.е. одному кадру пленки соответствует одно
изображение видеопоследовательности. Съемки, сделанные видеокамерой устроены
иначе – видеопоследовательность состоит из полукадров, в каждом из которых лишь
половина строк развертки. Поэтому, перед обработкой, необходимо восполнить
недостающие строки полукадров, а после нее – отбросить ненужные строки
(нечетные в четных кадрах, четные в
нечетных кадрах).
Удаление
выпадений
При аналоговой видеозаписи, как правило при
использовании видеоформата Betacam/Betacam SP, воспроизведении изношенной видеоленты
сопровождается помехами в виде ярких белых точек или коротких черных
горизонтальных черточек, которые образуются у контрастных вертикальных линий
изображения.
B1 ??B2
??A1 ??
C1 ??C2
А1 – значение
яркости в текущей строке, В1, B2, C1, C2 – значения яркости в предыдущем и последующем полукадрах
Если значение A
больше наибольшего из значений B+(C-B),
С+(B-C) для каждого B,. C или меньше наименьшего из B+(C-B), С+(B-C), то мы заменяем А ближайшим из этих значений.
Подавление
цветовых помех
Зачастую границы между областями различных
цветов выглядя нечетко, поскольку многие системы цветной видеозаписи хранят
информацию о цвете в пониженном разрешении и передают ее в модулированном виде.
Информация о яркости при этом может иметь четкие границы и низкий уровень шума.
Мы разбиваем строчку на сегменты, определяемые границами областей различной
яркости, усредняем значения цветности в пределах эти областей и распространяем результирующее
значение на всю область.
Краткая инструкция по использованию программы
В качестве входного формата файла, может
использоваться AVI, MPEG-2, Windows Media, QuickTime
Выходной файл создается в
специализированном формате 422 без сжатия со звуковой дорожкой 48Khz стерео, либо в формате AVI 24
бита RGB без
сжатия.
Кроме того, формируется файл отчета, в
котором фиксируются внесенные изменения при удалении «клякс».
Test – выбор
одной из тестовых видеопоследовательностей, либо работа с входным видеофайлом
Image Type -
- Cinema – исходный материал в прогрессивном формате
- Cinema Cross Frame, исходный материал в прогрессивном формате,
с переносом нечетного поля в следующий кадр
- Video исходный материал в чересстрочном формате
Fix Dropouts – устранять выпадения аналоговой видеозаписи
Fix Scratches – устранять дефекты типа пыли, царапин и “клякс”
Make fields – определяет, что выходной файл должен быть создан в чересстрочном
формате
Clean Chroma - подавление цветовых помех
Chroma Delay – величина задержки
между цветовой и яркостной составляющей (в пикселях изображения)
Temporal Filter - подавление видеошумов
Noise Level– значение
определяющее агрессивность поиска при вычислении вектора движения
Low Frequencies Threshold - подавление низкочастотных составляющих
(равномерное мерцание) ,что позволяет выравнивать яркость при неравномерной проявке
кинопленки или нарушении условий ее хранения.
Preview –
включение режима предварительного просмотра в окне
Задав входной и выходной файл можно выбрать номер начального и
конечного кадров для обработки, контролируя изображение в окне Preview. В процессе обработки результат также
отображается в этом окне.
Литература:
[1] Д. Куликов, Д. Ватолин, "Обнаружение и заполнение статических
инородных областей в видео на примере удаления логотипов и сбоев при ошибках
передачи", материалы девятого научно-
практического семинара "Новые
информационные технологии в автоматизированных
системах", стр. 13-23, Москва, март
2006
[2] Ojo, O.A., de
Haan, G.,
Robust
Motion-Compensated Video Up-Conversion,
IEEE TRANSACTIONS
on Consumer Electronics, No. 4,
November 1997, pp.
1045-1056.
[3] Showbhik Kalra,
and Man-Nang Chong, Bidirectional Motion Estimation via Vector Propagation,
IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 8, NO. 8,
DECEMBER 1998
[4] A NEW
NON-LINEAR FILTER FOR VIDEO PROCESSING
V. Zlokolica, W.
Philips, D. Van De Ville,
Proc.
3rd IEEE Benelux Signal Processing Symposium (SPS-2002), Leuven, Belgium, March
21–22, 2002
[5] Joyeux L.,
Buisson O. et al. Detection and Removal of Line Scratches in Motion Picture
Films, IEEE 548-553,
April 1999.
[6]
Kokaram Anil C., Removal of Line Artefacts for Digital Dissemnation of
Archieved Film
and Video, IEEE
245-249, September 1999
Иллюстрации:
Рис. 1. Результат
обработки тестового файла с шумом
Рис.
2. Результат обработки исходного файла содержащего небольшие царапины (исходный
материал -видеозапись кинофильма на кассете Betacam-SP, захваченная в формате
Motion-JPEG)
Рис. 3. Результат обработки
исходного файла содержащего царапины
Рис.
4. Результат обработки исходного файла содержащего дефекты (<кляксы>)
Рис.
5. Результат обработки исходного файла содержащего дефекты
Рис. 6. Результат
обработки тестового файла содержащего дефекты типа <выпадения>
Рис.
7. Результат обработки тестового файла содержащего более крупные дефекты
Рис. 8. Результат
обработки тестового файла содержащего шум и дефекты - использованы все фильтры
обработки
|