: архив : архив журнала "625" : 1995 : #1

Преобразование стандартов, основанное на анализе движения.
Статья любезно предоставлена редакции
английской фирмой TEKNICHE

Зачем это нужно?

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

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

результат "сдвига"
поля 1 на вектор 1/2 V

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

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

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

Упрощенный вид некоторых движений
в реальном кадре

Хотя и лошадь и наездник движутся в одном направлении слева направо (один вектор), но каждый из них имеет множество "малых движений" (векторов), независимых друг от друга. Но все вместе движутся по направлению движения лошади (главный вектор)!

В реальном телевизионном изображении присутствует множество векторов движения, связанных с движущимися объектами. Процесс нахождения этих векторов называется АНАЛИЗОМ ДВИЖЕНИЯ и он имеет множество вариантов. В каждом из вариантов используются два и или более полей для определения движения объектов. Каждый метод, основанный на оценке движения, обеспечивает огромный выигрыш в качестве транскодированного изображения по сравнению с линейным преобразованием. Каждый из них, однако, оптимален для того или иного применения. Преобразование стандартов, несомненно, одна из наиболее трудных задач.

Для преобразования стандартов сегодня используются следующие методы анализа движения:
1. Поиск смешения блока изображения.
2. Определение пространственно-временного градиента.
3. Фазовая корреляция.
4. Предварительная иерархическая пространственная корреляция - РНАМЕ.

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

Краткое и не перегруженное техническими подробностями описание каждого метода:

1 - Поиск смещения блока

Весь кадр разбивается на маленькие блоки и более крупные зоны поиска. Система берет блок из первого кадра и ищет его в зоне поиска второго кадра и когда находит, то строит вектор движения. Теория проста!

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

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

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

Таким образом, хотя этот метод и наиболее прост, он и наименее применим для транскодирования высокого качества.

2 - Определение пространственно-временного градиента (PEL)

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

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

3 - Фазовая корреляция

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

1- Фурье-преобразование блоков в цифровой форме сцелью получения их спектральных компонент в частотной области.

2- На основе частотного спектра каждого блока математически вычисляются все векторы движения каждого блока. Эти вычисления дают около шести векторов движения на блок. В шагах 1 и 2 и заключается процесс, называемой фазовой корреляцией.

3- Затем следует решить, какой из группы векторов соответствует каждому блоку. Чтобы это сделать, нужно сдвигать картинку на каждый вектор и находить наилучшее совпадение, используя технику поиска смешения блока. При этом появляется альтернатива, сдвигать ли всю картинку - что было бы идеальным, но требовало бы запоминания всего кадра для каждого вектора (а типичная картинка может иметь несколько тысяч векторов!) - либо разбивать картинку на меньшие области, в которых и происходил бы поиск. Второй вариант снижает требования к объему памяти, но фактически сводится к методу смешения блока, только поиск производится не во всей зоне поиска, а в ее частях, на которые указывают вычисленные вектора смешения. Для одного из этих векторов должно обнаружиться совпадение блоков, он и будет присвоен данному блоку. К сожалению, многие недостатки, присущие методу поиска смешения блока, переносятся и на метод фазовой корреляции.

В методе фазовой корреляции используются блоки размером 64x64, которые обеспечивают около 450 используемых векторов движения для каждой картинки. В большинстве случаев это более чем достаточно, но в некоторых сложных сценах (толпы людей, масштабирование или вращение изображения) с большим количеством движущихся объектов этот метод дает ошибки. Кроме того, для некоторых частей изображения, например, бегущей лошади, спортсменов или ног может потребоваться больше чем 5 или 6 векторов движения на блок для адекватного описания движения. Так же как и метод поиска смешения блока, этот метод не может отслеживать объекты, смещающиеся быстрее, чем на размер одного блока за одно поле. Чтобы преодолеть указанные недостатки, был разработан метод под названием РНАМЕ.

4 - Предварительная иерархическая пространственная корреляция - (РНАМЕ)

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

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

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

Теперь вернемся к транскодерам как таковым, закончив обсуждение методик предсказания движения. Результатом работы метода предсказания движения является вычисление вектора движения для каждого пиксела телевизионной картинки. Этот вектор полностью описывает различие между двумя последовательными кадрами и может ыть использован для вычисления положения каждого пиксела в любой момент времени в промежутке между двумя этими кадрами. То есть транскодер просто "сдвигает" каждый пиксел в определенном направлении на определенное расстояние и строит из них новую картинку во временном промежутке между двумя кадрами. Весьма важно, чтобы транскодер, использующий предсказание движения и могущий совершать ошибки (но фиксирующий их!) был связан с обычным преобразователем стандартов. При таком комбинированном (векторном и линейном) способе аппроксимации можно построить очень качественный прибор, например, Cirus Prime. Если подавляющее большинство аппроксимаций делается векторным способом с анализом движения, то результат очень хорошо воспринимается человеческим глазом. Тем не менее, последнее утверждение очень субъективно и различные производители транскодеров не могут сойтись во мнении, "что такое хорошо и что такое плохо".

Techniche занимает лидирующую позицию в мире в разработках в области транскодирования способом с анализом движения и предсказания методами, перечисленными выше. Эта фирма в состоянии всесторонне анализировать достоинства и недостатки этих методов и воплощать их в "железе". (Вряд ли в мире есть другая фирма, способная на такое!) Разница между этими двумя методами скорее субъективная, чем количественная, но тем не менее можно признать, что наилучшим методом является РНАМЕ, что подтверждается результатами специально проведенных испытаний. (РНАМЕ - патентованная технология, разработанная фирмой Digital Vision, Швеция.) Он обеспечивает отличное предсказание движения и надежную фиксацию собственных ошибок, что дает возможность их гарантированного исправления без видимых последствий для качества изображения.

Тот факт, что РНАМЕ больше опирается на программное обеспечение, чем на "железо", означает, что в случае кардинальных изменений в качестве изображения, как, например, в случае массовой замены трубочных камер на CCD-камеры, можно будет легко произвести его модернизацию.

Люди, имевшие возможность сравнить различные виды транскодеров, единодушно отмечают значительное улучшение качества изображения при использовании методов анализа движения по сравнению с ранее использовавшимся линейным преобразованием. Многие, однако, отмечают, что каждый артефакт (ошибка) в работе транскодера, базирующегося на анализе движения, вызывает гораздо больший протест, чем в случае обычных линейных транскодеров. Возможно, происходит это потому, что на фоне почти такого же высокого качества транскодированного изображения, как и оригинального, зрительские ожидания стали несколько завышенными. Ранее, при линейном транскодировании, казалось, что глаз почти привык к размытию и дрожанию изображения, так как было не с чем его сравнивать. (Хотя движущиеся буквы и рекламные шиты при панорамировании никогда не передавались с приемлемым качеством, как бы глаз не привыкал. Кроме того, при прямых склейках с не-транскодированным изображением контраст был слишком велик.)

 

Замечания и предложения по работе сервера направляйте: web.master at 625-net.ru.

© 1996—2009 «Издательство 625». Все права защищены.

e-mail: magazine at 625-net.ru, тел./факс: (495) 691-7724, 695-9588.

Свидетельство о регистрации средства массовой информации Эл № 77-2794.