Область техники
Настоящее изобретение относится к видеотехнологии, и более конкретно, к стабилизации видеоизображения.
Предшествующий уровень техники
Объединение функциональных возможностей фотокамеры и видеоаппаратуры в мобильных телефонах, персональных цифровых ассистентах (ПЦА) и других карманных устройствах стало господствующей тенденцией на современном рынке бытовой электронной аппаратуры. Эту существующую возможность добавлять схемы воспроизведения изображений в такие карманные устройства можно отнести, отчасти, к доступности таких передовых методов сжатия, как MPEG-4 (Экспертная группа по вопросам движущегося изображения). С использованием MPEG или другой соответствующей схемы сжатия, видеокамера может принимать видеофрагменты и передавать их беспроводным способом на другие устройства.
Передача видеоизображений может осуществляться в реальном времени или не в реальном времени. Электронная почта передачи видеоизображений является все более и более популярным методом передачи не в реальном времени, который используется на нескольких рынках сбыта по всему миру. Используя электронную почту передачи видеоизображений, человек может использовать карманное устройство, чтобы выбирать видеоизображения или фрагменты мультимедиа, сжимать и записывать видеоизображения, и затем передавать сжатую версию этого фрагмента вместе с добавленным звуковым или видеосообщением на другое вычислительное устройство (такое как ПК (персональный компьютер) или другое карманное устройство). Приемное устройство, в свою очередь, может записывать фрагмент, или декодировать и воспроизводить фрагмент на дисплее. Методы отображения в реальном времени также находятся в развитии. Поскольку процессоры становятся более быстродействующими, способы сжатия становятся совершеннее, а полосы пропускания беспроводной связи больше, наличие на рынке видеотелефонной связи в реальном времени с использованием карманных устройств будет, вероятно, постоянно возрастать.
Дрожание видеокамеры или изображения представляют проблемную характеристику любой системы отображения видеоизображений. Дрожание видеокамеры представляет собой непреднамеренные перемещения устройства видеокамеры пользователем, которые, если они не скомпенсированы, проявляются в визуализированной последовательности изображений. Дрожание видеокамеры часто включает в себя маленькие, толчкообразные и чередующиеся типы перемещений. Дрожание видеокамеры должно различаться от нормального, преднамеренного движения видеокамеры, связанного со сканированием съемочного плана человеком, осуществляющим видеографию. В большинстве случаев, дрожание видеокамеры не вносит ничего в визуализацию съемочного плана. Вместо этого, дрожание может ставить под угрозу качество видеоизображения и, больше чем что-либо, раздражать зрителя. В то время как эта проблема универсально применима к свободно-перемещаемым видеокамерам, неблагоприятные воздействия, связанные с дрожанием изображения, только усиливаются в более легких и маленьких устройствах, таких как мобильные телефоны или подобные устройства.
Для уменьшения или устранения дрожания видеокамеры были предложены или реализованы некоторые технические приемы. Например, в портативных видеокамерах часто используются средства схем стабилизации изображения, для содействия удалению нежелательного "дрожания", связанного с толчкообразными и непреднамеренными перемещениями видеокамеры человеком, снимающим последовательность изображений. Обычные технические приемы включают в себя изучение движения видеокадров относительно друг друга, определение количества этого движения с использованием векторов движения на уровне кадра, интегрирование этих векторов вместе, увеличение и обрезание изображения и использование информации проинтегрированных векторов для "повторного позиционирования" кадров изображения, чтобы формировать более гладкую последовательность изображений.
Для разрастающегося базиса прикладных программ существующий способ больше не пригоден. Потребность в более эффективных, и тем не менее недорогих способах стабилизации изображения заметно увеличилась из-за таких факторов, как (i) потребность рынка во все более и более маленьких видеокамерах и видеомагнитофонах, и (ii) объединение в различные карманных устройствах (например, мобильных телефонах, персональных цифровых ассистентах, приемных устройствах GPS (Глобальной системы определения местоположения и т.д.) функциональных возможностей видеокамеры и видеоаппаратуры. Поскольку электронные устройства становятся меньше в отношении форм-фактора, они, к сожалению, допускают возможность захватывания, которая является менее "удобной в пользовании", чем более обычные или специально разработанные для захвата устройства, например, такие, как основанные на более тяжелых или более устойчивых моделях, или на видеокамерах, переносимых на плече. Далее, поскольку карманные устройства становятся более легкими, для пользователя становится труднее снимать изображения, свободные от заметного дрожания руки или других непреднамеренных перемещений пользователя, которые включаются в изображение. Дополнительно, маленькие карманные устройства имеют небольшое пространство для вмещения дополнительных громоздких схем, предназначенных исключительно для стабилизации изображения. Стоимость в этих карманных устройствах также становится важной проблемой.
Традиционные способы имеют недостатки, в частности, когда они предназначены для использования в карманных устройствах. Одна проблема, связанная с традиционным способом, используемым в применении для портативных видеокамер, состоит в том, что они часто не могут отличать естественное, преднамеренное движение, связанное со сканированием съемочного плана или перемещением объектов с одной стороны, от нежелательного и непреднамеренного движения, связанного с дрожанием видеокамеры с другой стороны. В результате, устройство может пытаться компенсировать движение, которое является естественным и желательной частью съемочного плана, подлежащего записи, приводя к погрешностям и визуально неприятным наведенным помехам при выводе. Как отмечено выше, проблема усиливается в случае легкого карманного устройства, где непостоянное движение или дрожание обычно являются более заметными.
Вследствие различных недостатков, которые продолжают присутствовать в обычных системах стабилизации, визуализированное видеоизображение может подвергаться существенному риску или даже оказаться испорченным. Например, дрожание изображения имеет тенденцию к размытости изображения, вызванной перемещением объекта, в конечной последовательности визуализированных изображений, даже когда включена функция стабилизации изображения. Далее, если область, подлежащая сканированию, нуждается в достаточно контрастной детали для стабилизатора, чтобы "захватить ее", стабилизатор может вызывать рыскание, колебание или подергивание. Эти ошибки только увеличиваются в выводимой последовательности видеоизображений. Другая обычная проблема состоит в том, что, как упомянуто выше, система стабилизации часто не может различать, является ли перемещение объекта или видеокамеры естественным, преднамеренным перемещением, или это дрожание видеокамеры. В этом случае, когда пользователь начинает медленное панорамирование или наклон, стабилизатор может ошибочно прогнозировать, что это перемещение является дрожанием видеокамеры, и приступить к его компенсированию. Результатом является нестабильная или неточная выводимая последовательность изображений.
Соответственно, существует потребность в технике удалять нестабильные движения в карманных и других видеоустройствах при сохранении естественного движения типа сканирования съемочного плана, с минимальной потребностью в дополнительных специализированных схемах и минимальным увеличением вычислительной сложности.
Сущность изобретения
В одном аспекте настоящего изобретения заявлен способ стабилизации изображения, содержащий множество последовательных кадров, включающий в себя оценивание множества векторов движения, где каждый вектор движения соответствует одному из кадров, адаптивное интегрирование каждого из векторов движения с векторами движения, соответствующими предыдущим кадрам, и использование адаптивно проинтегрированных векторов движения для компенсации кадров, чтобы стабилизировать изображение.
Согласно другому аспекту изобретения предусмотрен способ стабилизации изображения из последовательности изображений, включающей в себя n кадров, включает в себя сохранение каждого кадра от датчика изображения в буфере эталонных изображений, оценивание вектора V(n) движения на уровне кадра для каждого из n кадров, формирование адаптивно проинтегрированных векторов F(n) движения для каждого из n кадров, основываясь на V(n) и векторе F(n-1) движения, соответствующем предыдущим n-1 кадрам, и представление каждого из n кадров, как последовательность видеоизображений, смещая, когда необходимо, n-ый кадр в буфере эталонных изображений на F(n).
Согласно еще одному аспекту изобретения устройство стабилизации изображения для использования в устройстве, выполненном с возможностью захвата видеоизображения, включает в себя датчик изображения для захвата видеокадров, содержащих последовательность изображений, буфер, подсоединенный к датчику изображения для хранения эталонного изображения, связанного с захваченным (зафиксированным) кадром, схему оценивания движения, подсоединенную к буферу и действующую для вычисления вектора движения для каждого кадра, адаптивную схему интегрирования, подсоединенную к схеме оценивания движения и действующую для адаптивного интегрирования векторов движения, связанных с каждым кадром, чтобы выводить кумулятивный вектор движения для каждого кадра, и схему визуализации, подсоединенную к буферу и адаптивной схеме интегрирования и действующую для копирования стабилизированной части последовательности изображений.
Согласно еще одному аспекту изобретения предусмотрена схема стабилизации изображения, которая включает в себя средство для оценивания множества векторов движения на уровне кадра, соответствующих, соответственно, множеству кадров, содержащих последовательность изображений, средство для адаптивного интегрирования каждого из множества векторов движения на уровне кадра для формирования соответствующего вектора движения для использования в стабилизации изображения, и средство для визуализации каждого кадра с использованием, где необходимо, соответствующего вектора движения для использования в стабилизации изображения.
Должно быть понятно, что специалистам в данной области техники станут очевидными другие варианты осуществления настоящего изобретения из последующего подробного описания, в котором посредством иллюстрации показаны и описаны только несколько вариантов осуществления изобретения. Как будет понятно, изобретение вмещает другие и различные варианты осуществления, и его некоторые детали можно модифицировать в различных других отношениях, и все они не выходят за рамки сущности и объема настоящего изобретения. Соответственно, чертежи и подробное описание следует рассматривать, как иллюстративные по своему характеру, а не как ограничительные.
Краткое описание чертежей
Аспекты настоящего изобретения иллюстрируются посредством примера, а не посредством ограничения, на прилагаемых чертежах, на которых:
фиг. 1 - блок-схема карманного устройства, содержащего стабилизатор изображения согласно варианту осуществления настоящего изобретения.
Фиг. 2 - рисунок описываемого датчика изображения с перемещающимися кадрами.
Фиг. 3 - функциональная схема способа стабилизации изображения согласно варианту осуществления настоящего изобретения.
Фиг. 4 - блок-схема, представляющая адаптивное интегрирование согласно варианту осуществления настоящего изобретения.
Подробное описание
Подробное описание, сформулированное ниже в связи с прилагаемыми чертежами, предназначено служить в качестве описания различных вариантов осуществления настоящего изобретения и не предназначено для того, чтобы представлять единственные варианты осуществления, в которых настоящее изобретение может быть осуществлено на практике. Каждый вариант осуществления, описанный в этом раскрытии, обеспечивается просто как пример или иллюстрация настоящего изобретения и не должен рассматриваться обязательно, как предпочтительный или выгодный по сравнению с другими вариантами осуществления изобретения. Подробное описание включает в себя определенные подробности с целью обеспечения полного понимания настоящего изобретения. Однако специалистам в данной области техники должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих определенных подробностей. В некоторых примерах известные структуры и устройства показаны в форме блок-схемы для избежания затенения концепций настоящего изобретения. Акронимы и другая описательная терминология могут использоваться просто для удобства и ясности и не предназначены для ограничения объема изобретения.
Хотя настоящее изобретение описано в контексте карманных электронных устройств, должно быть понятно, что изобретение может быть применимо к другим типам устройств, включая видеокамеры, кинокамеры, портативные видеокамеры и фактически любой тип электронных устройств, который включает в себя видеокамеру.
Потребительский спрос на карманные устройства, которые включают в себя все больше и все более сложные функциональные возможности, в последние годы стремительно растет. Недавно были представлены вместе на потребительском рынке карманные устройства, такие как мобильные телефоны и персональные цифровые ассистенты (ПЦА) и т.д., которые включают в себя технологию фиксации и передачи видеоинформации, то есть, видеокамеры. Способность конструкторов адресовать спрос на карманные устройства, которые включают в себя видеоаппаратуру с другими функциями, может быть приписана различным факторам. Один фактор заключается в доступности более быстрых и функционально превосходящих микропроцессоров и процессоров обработки цифровых сигналов. Другой заключается в уменьшении форм-фактора (размера) современных полупроводниковых микросхем и связанных компонентов, таких как монтажные платы и аккумуляторные батареи. Еще один относится к общим конструктивным усовершенствованиям в карманных модулях и непосредственно в видеокамерах. Например, современные модули видеокамер с датчиками с высокой цветовой разрешающей способностью на одной микросхеме являются недорогими и очень компактными.
Еще один фактор заключается в доступности усовершенствованных методов сжатия, например, таких как MPEG-4, которые обеспечивают возможность карманному устройству принимать, сжимать, сохранять, отображать и передавать на другие устройства большие количества видеоинформации или мультимедийной информации, связанной с фиксацией изображений, используя видеокамеру. Эти методы дополнительно обсуждаются ниже.
Независимо от применения, используется ли видеотелефонная связь в реальном времени или видеоконференция, электронная почта передачи видеоизображений или передача сообщений, потоковая передача видеоизображений, или в других случаях, в карманном устройстве может использоваться видеокодер, работающий в реальном времени для сжатия потока видеоинформации, производимой встроенным модулем видеокамеры, когда захвачен поток видеоизображений.
MPEG-4 представляет собой стандарт сжатия ISO/IEC (Международная организация стандартов/Международная электротехническая комиссия), разработанный MPEG (Экспертной группой по вопросам движущегося изображения). MPEG-4 является новым стандартом сжатия видеосигнала, обеспечивающим базовые методы для эффективного запоминания, передачи и манипуляции видеоизображениями в мультимедийных средах. MPEG-4 является результатом международных усилий, включающих в себя сотни исследователей и инженеров во всем мире. MPEG-4 сфокусирован на разработке стандарта, который достигает, помимо всего прочего, сильно расширяемых и гибких алгоритмов и конфигураций битовых потоков для кодирования видеоизображений, высокой устойчивости к ошибкам и восстановления через беспроводные каналы, и достижимости высокой независимой от сети. Например, с помощью кодирования MPEG-4 можно достигнуть хорошего качества изображения в некоторых прикладных программах, используя скорость передачи данных меньше, чем 32 кбит/сек.
MPEG-4 основан на достижении технологий своих предшественников (MPEG-1 и MPEG-2) и обеспечивает совокупность стандартизированных элементов для реализации технологий, таких как цифровое телевидение, интерактивные прикладные программы работы с графическими данными и интерактивный обмен всеми видами информации, среди прочего. Благодаря его надежности, высокому качеству и низкой скорости передачи в битах, MPEG-4 был реализован в беспроводных телефонах, ПЦА, цифровых видеокамерах, web-страницах Интернета и других применениях. Широкий диапазон инструментальных средств для стандарта обработки видеоизображений MPEG-4 обеспечивает возможность кодирования, декодирования и представления натуральных видеоизображений, стоп-кадров и искусственных графических объектов. Несомненно, что неминуема реализация будущих схем сжатия, обеспечивающих еще большую гибкость и более устойчивое отображение.
В общем, принципы сжатия MPEG и аналогичных стандартов базируются на реализации, при которой для передающего устройства нет необходимости посылать информацию, описывающую все и каждый пиксель для каждого кадра видеоизображений. Такой метод может потреблять неприемлемую величину полосы пропускания и/или приводить к передаче видеоизображений, имеющих неприемлемо низкую разрешающую способность. Вместо этого методы сжатия MPEG в общем функционируют, руководствуясь принципом, что после передачи "начального" кадра, затем в течение некоторого периода времени необходимо передавать только изменения от одного кадра к другому. Таким образом, например, в съемочном плане видеоизображений, в котором отдельный человек находится на переднем плане, а фон является темно-синим и остается темно-синим в течение некоторого периода времени, MPEG полагается на принцип, что нет необходимости расходовать полосу пропускания, повторно передавая информацию, представляющую темно-синий фон для каждого кадра. Вместо этого декодер MPEG может прогнозировать и визуализировать последующие кадры, принимая во внимание смещение, или движение, одного кадра относительно другого.
В качестве иллюстрации, MPEG и связанные методы сжатия могут использовать кодер для хранения последовательностей, начинающихся с полного кадра информации об изображении, и для кодирования последующих кадров, используя информацию, описывающую только изменения в начальном кадре (включая относительное движение в них объектов). При таком способе полное изображение по пикселям каждого кадра, которое иначе занимало бы недопустимые полосы пропускания, нет необходимости сохранять. Приемное устройство или дисплей использует декодер, чтобы разворачивать видеоинформацию и визуализировать последовательность изображений. Декодер воспроизводит начальный кадр последовательности, а затем визуализирует последующие кадры, интерпретируя связанную информацию движения по кадрам. В некоторых примерах кадры воспроизводятся с использованием информации движения, которая зависит не только от предыдущего кадра, но также и от последующего кадра. Используя эти методы, часто можно получать степени сжатия 40:1 или больше.
MPEG-4 является алгоритмом оценивания движения. Алгоритмы оценивания движения рассчитывают движение между последовательными видеокадрами и прогнозируют информацию, составляющую текущий кадр, используя рассчитанную информацию движения из предварительно переданных кадров. В схеме кодирования MPEG блоки пикселей кадра коррелируются с областями предыдущего кадра, и только различия между блоками и их коррелированными областями кодируются и сохраняются. Вектор сдвига между блоком и областью, которая наиболее близко соответствует ему, называется вектором движения.
Сформулированные по-другому стандарты сжатия видеосигнала подобно MPEG-4 прогнозируют данные изображений на основании предыдущего кадра, используя оценивание вектора смещения. Векторы смещения составляют математические представления направления и величины движения, которое имеет место в течение последовательности видеоизображений. Для увеличения эффективности кодирования, каждый кадр последовательности изображений может быть "разбит" на серию блоков (8 на 8 пикселей) или макроблоков (16 на 16 пикселей), и векторы движения, таким образом, рассчитываются для каждого из этих блоков. В варианте осуществления изобретения, использующем MPEG-4 с каждым блоком или макроблоком связана совокупность векторов движения, некоторые данные на уровне блока и адрес макроблока, идентифицирующий позицию макроблока относительно датчика изображения. В качестве иллюстрации, при передаче сжатого видеоизображения, после того, как переданы один или больше начальные кадры, вместо передачи полной матрицы информации по пикселям, связанной со следующей группой кадров, передаются векторы движения последующих кадров. Процесс может повторяться для последующих групп кадров.
При захвате видеоизображения векторы движения формируются в соответствии с движением видеокамеры и в соответствии с движением объекта (например, отдельного человека на переднем плане в вышеупомянутом примере). В процессе кодирования блоки пикселей кадра коррелируются с областями предыдущего кадра, и кодируются только различия между блоками и их коррелированными областями. На приемном конце (либо удаленном, либо в видеокамере), декодер MPEG-4 восстанавливает изображение, визуализируя начальный кадр для каждой группы кадров и затем визуализируя последующие кадры для каждой группы, используя информацию вектора движения, содержащуюся в векторах на уровне блока или макроблока. После группы кадров новый кадр может быть передан полностью. В некоторых примерах кадр визуализируется с использованием векторов движения и от предыдущих кадров, и от последующих кадров. Как можно заметить, оценивание движения играет основную роль в цифровых и электронных системах стабилизации.
В приложении MPEG-4, содержащем видеотелефон (в реальном времени) или электронную почту передачи видеоизображений (не в реальном времени), карманное устройство может использовать и кодер MPEG-4 для сжатия информации видеоизображений, полученную от датчика изображения ПЗС (прибора с зарядовой связью) или КМОП (комплементарного металло-оксидного полупроводника), и декодер MPEG-4, чтобы разворачивать принятые видеоизображения для визуализации на дисплее.
Стабилизация движения
Способ стабилизации согласно настоящему изобретению удаляет непостоянные движения в последовательностях изображений при сохранении естественного движения видеоизображения, а именно преднамеренного движения видеокамеры (такого как сканирование съемочного плана) и движения объектов (то есть, объектов в захваченном видеоизображении). Способ стабилизации, в зависимости от варианта осуществления изобретения, может быть реализован исключительно в: аппаратном средстве (например, одном или больше ПЦС (процессорах обработки цифровых сигналов), специализированном микроконтроллере, ИСПО (интегральных схемах прикладной ориентации) или других прикладных специализированных устройствах или оборудовании); комбинации аппаратных средств и программного обеспечения; или исключительно в программном обеспечении (то есть, стабилизация может выполняться ЦП (центральным процессором) карманного устройства). Однако в устройстве типа мобильного телефона процессор не такой мощный, отчасти из-за ограничений потребляемой мощности в устройстве с батарейным питанием, а также из-за проблем надбавки к цене, связанных с включением более сложных ЦП. Также, во многих устройствах схемы оценивания движения могут быть реализованы в разрозненных аппаратных средствах, снижая до минимума нагрузку на процессор карманного компьютера.
Согласно одному варианту осуществления изобретения схемы оценивания движения, связанные с оцениванием векторов движения и сжатия потока видеоизображений, также используются как часть схем стабилизации. Поскольку оценивание движения (типа используемой в MPEG-4) является дорогостоящим процессом в вычислительном отношении и поскольку стабилизация изображения также использует оценивание движения (см. ниже), использование схем оценивания движения для стабилизации изображения приводит к весьма эффективному использованию ресурсов процессора.
Блок-схема компонентов карманного устройства, использующего стабилизатор в соответствии с настоящим изобретением, показана на фиг. 1. Объектив 3 включает в себя датчик 23 изображения, такой как прямоугольная матрица приборов с зарядовой связью (ПЗС) или устройств КМОП, которые формируют плоскую поверхность и действуют, как приемник для света, содержащего информацию видеоизображения. Датчик 23 изображения собирает видеоданные, составляющие необработанные кадры изображений. Данные подаются через различные схемы для обработки, включая фильтры и усилители 1 и аналого-цифровой преобразователь 5. (Типы и количества схем могут изменяться в зависимости от конкретной видеокамеры и конфигурации). Цифровая информация, представляющая кадры, затем посылается в стабилизатор 7. В этом варианте осуществления изобретения стабилизатор включает в себя, среди других компонентов, схемы оценивания движения, используемые для вычисления векторов движения на уровне блока, для использования в сжатии видеосигнала. Хотя пример в данном описании представлен в контексте MPEG-4, можно рассматривать другие схемы сжатия, как попадающие в объем изобретения.
На выходе 17 стабилизатора 7 постоянно находятся цифровые данные изображений. В этом примере данные, возможно, сжаты схемами сжатия в стабилизаторе 7 для сохранения в запоминающем устройстве 21, таком как флэш-память или внутренний буфер кадров, или они могут передаваться на другое устройство, такое как в применении видеотелефона или электронной почты передачи видеоизображений. Для простоты примера предполагается, что данные на выходе 17 могут быть либо сжаты, либо, когда прикладная программа дает такие полномочия, данные могут быть в их необработанной, несжатой форме. Также предполагается, что функциональные возможности сжатия постоянно находятся в пределах стабилизатора, чтобы выходной сигнал 17 стабилизатора 7 мог включать в себя либо сжатые данные (для передачи или сохранения), либо необработанные, несжатые данные для немедленного просмотра на дисплее. (В других вариантах осуществления изобретения, данные могут быть сжаты до передачи на дисплей, где соответствующие схемы (не показаны) разворачивают данные и восстанавливают последовательность изображений). Далее, в некоторых вариантах осуществления изобретения, данные кадра могут непосредственно передаваться в буфер кадров, а затем посылаться обратно в стабилизатор и оценочную функцию движения для сжатия или дополнительной обработки. Механизм сжатия в этом случае, как предполагается, является частью стабилизатора, частично потому, что в вычислительном отношении усиленные схемы оценивания движения используются и для сжатия изображений, и для стабилизации дрожания видеокамеры.
Сжатые данные затем кодируются кодером 11 и модулируются модулятором 13 в формат, соответствующий передаче через предназначенную среду. Кодер 11 в данном описании относится не к кодеру MPEG-4, а скорее к кодеру данных, который присутствует в этом варианте осуществления изобретения. После модуляции на соответствующем несущем сигнале для беспроводной передачи, данные затем передаются через схемы 15 канальной связи.
Карманное устройство также может принимать сжатые данные MPEG через блок 15 канальной связи. Принимаемые данные демодулируются и декодируются демодулятором 17 и декодером 19, соответственно. Данные могут быть развернуты стабилизатором 7 и воспроизведены на дисплее 9, или они могут быть сохранены в запоминающем устройстве 21 для будущего использования.
В этом варианте осуществления схемы оценивания движения (встроенные в этом примере в стабилизатор 7) могут использоваться для двух целей. Во-первых, они используются для вычисления векторов движения на уровне блоков или макроблоков для сжатия MPEG. Во-вторых, вычисленные векторы из схем стабилизации движения используются для оценивания глобальных векторов (на уровне кадра), которые будут использоваться в процессе стабилизации, описанном ниже. В результате этого объединения в одно целое схем оценивания движения для использования в двух дискретных функциях, сохраняется значительное пространство, и независимые вычислительные схемы для оценивания движения, специфического для стабилизатора, не требуются. Эта конфигурация приводит к сохранению ценного доступного пространства в карманных устройствах, где пространство является дефицитным. Кроме того, вычислительная сложность сведена к минимуму, посредством чего повышая эффективность и не жертвуя чрезмерным расходом энергии аккумуляторной батареи. Однако следует отметить, что использование этих схем оценивания движения для обеих целей, хотя и выгодно в контексте MPEG-4 и некоторых других устройств, не является основным для применения на практике данного изобретения.
Обычная цифровая стабилизация изображения может корректировать дрожание видеокамеры различными способами. В одном варианте осуществления изобретения, поскольку дрожащее изображение поступает через объектив и поражает датчик изображения карманного устройства, система стабилизации изображения повторно позиционирует активную область микросхемы датчика изображения, то есть, физическое местоположение на микросхеме, с которого считывается изображение, чтобы компенсировать это дрожание. Этот этап "повторного позиционирования" выполняется посредством переадресации области микросхемы, с которой система выполняет считывание. Каждый пиксель в одном варианте осуществления связан с уникальным бинарным адресом. Информация пикселей, связанная с адресами, которые не являются частью повторно позиционированного изображения, просто игнорируется. Стабилизатор 7 оценивает глобальные (на уровне кадра) векторы движения в изображении, основываясь на векторах на уровне блоков и/или на уровне макроблоков, вычисленных на этапе сжатия MPEG, способом, который будет дополнительно обсуждаться ниже.
Как можно видеть, фактическое повторное позиционирование осуществляется одним из двух способов. Первый, и обычный, способ заключается в увеличении изображения (изменении масштаба изображения) в цифровой форме так, чтобы полный растр микросхемы датчика изображения в объективе 3 не использовался. Сформулированное по-другому изображение обрезается с части области датчика изображения (кадрируется), оставляя запас регулирования "неиспользованной области пикселей" по периметру датчика изображения. Стабилизатор может выполнять панорамирование в пределах полного растра микросхемы, чтобы захватывать изображение, когда оно передвигается. Изменение масштаба изображений и кадрирование изображений оставляют "допустимый предел погрешности", в котором система стабилизации видеокамеры может компенсировать дрожание видеокамеры.
Второй способ повторного позиционирования активной области микросхемы датчика приводит к эффекту, а именно обеспечивает запас регулирования, чтобы компенсировать дрожание видеокамеры. Этот способ использует датчик изображения или матрицу ПЗС с завышенными размерами так, чтобы существовали неиспользованные границы для активной области, которая будет перемещаться в ее пределах без первого изменения масштаба изображения. В одном варианте осуществления изобретения для этой цели от периметра датчика изображения добавляется запас регулирования в 8 пикселей, как будет обсуждаться дополнительно ниже. Этот неиспользованный запас регулирования используется для обеспечения области, предназначенной для компенсации дрожания изображений, как в вышеупомянутом способе. Однако при использовании этого способа устраняются способы изменения масштаба и кадрирования изображений в цифровой форме, отнимающие много времени. Этот последний способ особенно выгоден в контексте видеоизображений в реальном времени, потому что этапы, иначе необходимые для устранения дрожания видеокамеры, стали ненужными. В соответствии с изобретением может быть реализован либо этот способ, либо другой способ обеспечения запаса регулирования.
Фиг. 2 представляет собой иллюстрацию области формирования изображения видеокамеры, такой как встроенной в карманное устройство. Прямоугольник 25 представляет область, соответствующую датчику изображения видеокамеры, такому как датчик ПЗС. Датчик изображения представляет собой полупроводниковую микросхему, обычно состоящую из матрицы элементов КМОП или ПЗС, которые регистрируют свет, падающий на них, и фиксируют изображение. Прибор с зарядовой связью (ПЗС) представляет собой светочувствительную интегральную схему, которая сохраняет и отображает данные для изображения таким образом, что каждый пиксель в изображении преобразуется в электрический заряд, интенсивность которого связана с цветом в спектре цветов.
Прямоугольники 27 и 29 представляют кадры в пределах датчика 25 изображения, захваченные видеокамерой в два различных момента времени t1 и t2. В одном варианте осуществления каждый кадр может быть записан видеокамерой, назначая уникальный адрес каждому элементу ПЗС, так что рассматриваются только выходные сигналы конкретной матрицы адресов ПЗС, а остальные отбрасываются. На фиг. 2 для иллюстративных целей предполагается, что кадры 27 (захваченный в момент времени t1) и 29 (захваченный в момент времени t2) смещены относительно друг друга на определенную величину и направление в результате дрожания видеокамеры. Треугольники 31 представляют объект, который является частью записанного съемочного плана. Треугольник 31 проявляется в двух местоположениях, по одному в пределах каждого изображения 27 и 29. Треугольник 31 смещается из кадра 27 в кадр 29 в пределах области 25 формирования изображения; однако треугольники не смещаются относительно их соответствующих кадров 27 и 29. То есть, треугольник является стационарным в съемочном плане, который подлежит захватыванию; он не двигается относительно остальной части кадра. В этой иллюстрации перемещается только видеокамера.
Как иллюстрирует фиг. 2, дрожание видеокамеры представляет собой относящуюся ко времени концепцию, которая относится к случайному или несистематическому движению, основанному на уровне кадра. Различие между кадрами 27 и 29 может быть представлено глобальным смещением или глобальным вектором движения. Этот глобальный вектор движения представляет собой вектор движения на уровне кадра, означающий, что вектор содержит информацию о величине и направлении смещения полного кадра 29 относительно полного кадра 27. Этот вектор 33 смещения, представляющий эффективное различие между кадрами 27 и 29, может быть дополнительно разбит на х и у компоненты. Компонент х представляет величину смещения кадра 29 относительно кадра 27 в горизонтальном направлении, а компонент у представляет величину смещения кадров 29 относительно кадра 27 в вертикальном направлении. Соответственно, суммарный вектор 33 смещения на уровне кадра представляет собой сумму дискретного смещения на уровне кадра в x (горизонтальном) направлении и дискретного смещения на уровне кадра в у (вертикальном) направлении.
Отметим, что даже если было смещение треугольника 31 относительно его одного или обоих из его соответствующих кадров 27 или 29, измерение дрожания видеокамеры все еще может быть представлено анализом смещения вектора на уровне кадра. Перемещение треугольника 31 в этом случае просто может представлять естественное движение объекта в съемочном плане захваченного видеоизображения и не будет влиять на величину или направление вектора 33 смещения на уровне кадра для представления дрожания видеокамеры.
Как предварительно обсуждалось, способы сжатия подобно MPEG-4 оценивают движение для высокой эффективности кодирования на основании блоков (8x8 пикселей) или макроблоков (16x16 пикселей). Напротив, способы стабилизации изображения рассматривают широко распространенное смещение изображения в целом. По этой причине в варианте осуществления изобретения, в котором используются способы сжатия MPEG, результаты от векторов смещения на уровне блока/макроблока, оцениваемые в процессе сжатия, могут использоваться для оценивания полного вектора 33 смещения на уровне кадра для последовательных кадров видеоизображения. Напротив, там, где используется другая схема сжатия, которая формирует векторы смещения на уровне кадра, или в которой используется специализированная схема для формирования векторов на уровне кадра, это преобразование от уровня блока к уровню кадра не должно выполняться.
Как отмечено выше, схемы стабилизации изображения были разработаны и объединены в одно целое во многих бытовых портативных видеокамерах. Стабилизация движения в общем представляет собой дополнительную возможность, которая может быть включена или выключена пользователем посредством выключателя или возможного дополнительного средства на электронной панели. Механизмы стабилизации изображения этих систем в общем включают в себя четыре этапа: (i) для каждого кадра видеоизображения, стабилизатор оценивает ближайший глобальный (на уровне кадра) вектор движения кадра, сравнивая его с предыдущими видеокадрами; (ii) стабилизатор выполняет математическое интегрирование этих оцененных векторов движения с предыдущей совокупностью оцененных векторов движения, таким образом получая "гладкое" оценивание вектора движения; и (iii) стабилизатор обрезает и увеличивает (изменяет масштаб в цифровой форме) изображение в соответствии с величиной и направлением глобального вектора движения; и (iv) система повторно позиционирует обрезанное изображение на датчике изображения таким образом, что последовательность обрезанного изображения производит впечатление устойчивой.
Этот способ может быть достаточным в некоторых примерах применений для портативных видеокамер. Использование портативной видеокамеры может вызывать меньшее дрожание видеокамеры благодаря большей устойчивости и более тяжелому весу портативной видеокамеры. Следовательно, большая часть перемещений, связанных с видеокамерой, представляет собой преднамеренные перемещения. Результаты толчкообразных перемещений, связанных с дрожанием видеокамеры, уменьшены благодаря этапу интегрирования. На этом этапе эффективно выполняется "взвешенное суммирование" векторов движения так, что отдельные толчкообразные перемещения не так явно выражены на выходе. Однако этот способ не является оптимальным. Этап интегрирования может "сглаживать" толчкообразное перемещение, но он не способен точно различать естественное перемещение видеокамеры или объекта на одном конце спектра и чистое дрожание видеокамеры на другом. Этот недостаток, однако, является обычно менее значимым (хотя все еще проблематичным) в портативных видеокамерах, обеспечивающих относительно высокую величину заданного или нормального движения по сравнению с непреднамеренными перемещениями и усиленное ощущение гладкости благодаря этапу интегрирования.
В частности там, где используются более маленькие карманные устройства, подобные мобильным телефонам или ПЦА, обычный способ, обсуждавшийся выше, оказывается недостаточным. Например, карманное устройство является более легким и имеет недостаточный захват, предназначенный специально для устойчивой видеосъемки. Таким образом, может быть инициировано сильное дрожание видеокамеры по отношению к количеству естественных или преднамеренных перемещений. С его неразличимыми этапами интегрирования и его изменением масштаба изображений и кадрированием, обычный способ может занимать чрезмерное количество пространства или может потреблять большее количество энергии, чем может эффективно обеспечивать карманное устройство. Кроме того, стабилизация изображения обычного способа через метод простого математического интегрирования производит гораздо более значимую ошибку для более маленьких карманных устройств. Использование простого интегрирования, которое не составляет ничего больше, чем взвешенное суммирование оцененных векторов смещения, является недостаточным для различения естественного перемещения видеокамеры или объекта от нежелательного дрожания видеокамеры.
В результате, настоящее изобретение представляет способ адаптивного интегрирования, который преодолевает недостатки, связанные с обычным способом стабилизации изображения. Следует отметить, что хотя представленный вариант осуществления данного изобретения обсуждается в контексте карманного устройства, этот алгоритм можно использовать в других устройствах для улучшения качества стабилизации изображения, не выходя при этом за рамки объема изобретения.
На фиг. 3 показана блок-схема алгоритма адаптивной стабилизации изображения в соответствии с вариантом осуществлениям настоящего изобретения. Видеосигнал "ввод видеосигнала" принимается на входе 35. Видеосигнал может быть в виде множества различных типов форматов. На этапе 37, изображение дополняется по его периметру дополнительной зоной пикселей. В одном варианте осуществления изобретения, вокруг изображений добавляется запас регулирования толщиной в 8 пикселей. Запас регулирования в 8 пикселей должен использоваться для обеспечения области для компенсирования дрожания видеокамеры. Дополнение изображения запасом регулирования пикселей, как в этом варианте осуществления, вместо расширения и кадрирования изображения снижает до минимума вычислительную сложность и задержку, связанную с осуществлением этих дополнительных вычислений. Хотя способ расширения и кадрирования также может быть выполнен в альтернативном варианте осуществления, способ дополнения этапа 37 особенно подходит для карманных устройств, поскольку требуется меньшее количество схем и вычислительной мощности, а именно в этом варианте осуществления не требуется никакого цифрового вычисления изменения масштаба или кадрирования изображений в виде части способа стабилизации.
На этапе 39 копия эталонного изображения, представляющего захваченный в данный момент кадр, сохраняется в буфере эталонных изображений (таком как запоминающее устройство 21 в видеокамере фиг. 1) для последующей визуализации. На этапе 41 схемы оценивания движения, связанные с механизмом сжатия MPEG, оценивают совокупность векторов Вх и Вy смещения или движения на уровне макроблока для ввода кадра на этапе 37. Как отмечено, векторы движения в MPEG несут смещение текущего макроблока относительно предыдущего эталонного кадра. Таким образом, данные изображения могут быть сжаты для эффективности, и текущий кадр может быть восстановлен с использованием более раннего эталонного кадра вместе с информацией вектора движения. В этом варианте осуществления изобретения вычисления, связанные с этапом 41, используются и для алгоритма стабилизации, и для алгоритма сжатия видеоизображения. Использование одних и тех же схем для выполнения обеих функций имеет значительные ветвления для более маленьких устройств. Использование результатов сжатия на этапе стабилизации изображения сохраняет значительное доступное пространство, устраняя необходимость в дополнительных специализированных схемах и сохраняя небольшой размер карманного устройства. Дополнительно, требуется меньшее количество вычислений, благодаря чему избегают чрезмерного напряжения ЦП или специализированных аппаратных средств с помощью дополнительных этапов, уже выполненных в схемах сжатия.
Соответственно, на выходе блока 41 в этом варианте осуществления изобретения представлены две совокупности векторов на уровне макроблоков: векторы, представляющие смещение макроблоков в направлении x, и векторы, представляющие смещение макроблоков в направлении у. В дополнение к их использованию в стабилизации изображения, как показано на фиг. 3, эти векторы используются кодером MPEG (не показан) в алгоритме сжатия.
С целью стабилизации изображения векторы Вх и Вy движения на уровне макроблоков необходимо преобразовать в глобальный вектор движения или вектор движения на уровне кадра, который представляет относительное смещение существующего кадра по отношению к предыдущим кадрам. Как иллюстрируется в связи с фиг. 2, алгоритмы стабилизации видеокамеры рассматривают скорее смещение изображения на уровне кадра, чем движение на уровне блоков или на уровне пикселей. Этот этап преобразования выполняется на этапе 45. Этап 45 использует входные векторы Вх и Вy движения на уровне макроблоков для формирования совокупности векторов Vx и Vy глобального движения, связанных со смещением полного кадра (а не блоков или их участков) относительно более ранних кадров.
В одном варианте осуществления изобретения совокупность векторов движения на уровне кадра (Vx и Vy) для текущего кадра вычисляется на этапе 45 из гистограммы векторов движения на уровне макроблоков. То есть, вычисляются гистограммы векторов движения на уровне макроблоков и их пиковые значения. Назначение гистограммы заключается в математическом суммировании распределения совокупности данных. Гистограмма показывает распределения относительных движений и их величин относительно области на кадре, по отношению к которой каждый макроблок коррелирован. Гистограмма используется в этом примере для идентифицирования общих компонентов всех векторов движения на уровне макроблоков. Общие компоненты движения на уровне макроблоков отражают смещение на уровне кадра, а не случайное смещение объектов, например, в съемочном плане. Как только эти общие компоненты идентифицированы, может быть оценен вектор движения на уровне кадра. Например, предположим, что горизонтальная и вертикальная гистограммы векторов Вх и Вy движения на уровне макроблоков представляют собой h(Вх) и h(Вy), соответственно. Вектор (Vx, Vy) движения на уровне кадра может быть вычислен в одном варианте осуществления изобретения следующим образом:
Vx = sup {h(Вх):Bx ≠}
Vy = sup {h(By):By ≠}
где термин "sup" относится к верхнему пределу массива гистограммы. Примечательно, что на этапе 45, вертикальный и горизонтальный компоненты движения в этом варианте осуществления обрабатываются независимо. То есть, вычисляется компонент глобального вектора движения, связанный с движением в x (горизонтальном) направлении, а также вычисляется компонент глобального вектора движения, связанный с движением в у (вертикальном) направлении.
Вычисления на этапе 41 и 45 могут осуществляться специализированными аппаратными средствами, такими как схемы ИСПО, процессоры обработки цифровых сигналов, ПМЛ (программируемая матричная логика), или ПЛМ (программируемые логические матрицы). В качестве альтернативы, могут использоваться один или более специализированных контроллеров. В зависимости от применения, вычисления могут быть выполнены в программном обеспечении посредством ЦП ведущего устройства. В общем, для более маленьких карманных устройств многие из функций, касающихся сжатия и стабилизации изображения, выполняются специализированными схемами.
На этапе 47 стабилизатор осуществляет адаптивное интегрирование входной совокупности (Vx, Vy) глобального вектора движения. Как дополнительно поясняется ниже, глобальный вектор (Vx, Vy) движения, связанный с текущим кадром, адаптивно интегрируется в этом варианте осуществления изобретения с совокупностью (Fx, Fy) глобального вектора движения, образованным с помощью кумулятивного анализа векторов движения предыдущих кадров (то есть, более ранних кадров в последовательности видеоизображений, каждое из который прошло обработку на фиг. 3). В традиционных системах стабилизации глобальный вектор движения просто суммируется с глобальными векторами движения прошлых кадров для оценивания "гладкого" вектора движения, представляющего среднее смещение кадров в последовательности изображений за некоторый период времени. То есть, текущий глобальный вектор движения традиционно добавляется к предыдущим векторам способом, который предоставляет каждому вектору весовой коэффициент важности в зависимости от его частоты появления в последовательности изображений. Одна проблема, связанная с этим обычным способом, состоит в том, что не делается попытка дифференцировать векторы, являющиеся результатом дрожания видеокамеры, в сравнении с векторами, связанными с естественным движением, таким как сканирование съемочного плана. Как подчеркивалось ранее в этом описании, в вариантах осуществления изобретения, включающих в себя карманные устройства, проблема ухудшается, потому что принятие во внимание веса и захвата в общем делают дрожание видеокамеры более явным.
В отличие от способа прямого интегрирования, осуществляемого в схемах стабилизатора обычных систем, способ адаптивного интегрирования согласно настоящему изобретению заметно улучшает эффективность стабилизатора без неудобства интенсивного увеличения сложности вычисления. При использовании способа адаптивного интегрирования маленькие, чередующиеся, случайные и несистематические движения, которые являются в общем признаком дрожания видеокамеры, полностью компенсируются, в то время как последовательные или систематические движения, такие как панорамирование или естественное движение объекта, должным образом сохраняются. Сформулированная по-другому, раскрытая в данном описании система, как это ни парадоксально, интегрирует векторы движения способом, который сохраняет установление различий между перемещениями из-за дрожания видеокамеры и естественным или преднамеренным движением. Таким образом, формирователь может быть исключен, приводя к превосходной эффективности стабилизации в любой системе. Подробности относительно варианта осуществления адаптивного способа раскрыты на фиг. 4 ниже.
Возвращаясь к варианту осуществления на фиг. 3, отметим, что совокупность (Vx, Vy) векторов движения на уровне кадра либо добавляется (как взвешенная сумма или используя простое добавление) к совокупности кумулятивных векторов (Fx, Fy) на уровне кадра для формирования новой совокупности (Fx, Fy) кумулятивных векторов, либо, в зависимости от результатов способа адаптивного интегрирования (см. ниже), текущие векторы игнорируются, и существующая совокупность (Fx, Fy) кумулятивных векторов остается неизменяемой. Этот адаптивный алгоритм может быть выполнен несколькими различными способами, но подробности одного такого алгоритма в соответствии с вариантом осуществления настоящего изобретения сформулированы на фиг. 4.
В любом случае кумулятивная совокупность (Fx, Fy) векторов обеспечивает информацию об относительном смещении текущего кадра, обусловленном дрожанием изображения. В сущности, кумулятивная совокупность (Fx, Fy) векторов обеспечивает "поправочный коэффициент", который может повторно позиционировать текущий кадр в пределах добавляемого запаса регулирования так, что естественные перемещения сохраняются, но дрожание видеокамеры по существу удаляется. По существу, копия исходного эталонного изображения, связанного с текущим кадром, перемещается с ее исходной, зафиксированной позицией векторами Fx и Fy, и перемещенный кадр 49 (в пределах границ добавленного запаса регулирования) визуализируется на дисплее. Изображение "переадресуется" с использованием совокупности Fx и Fy векторов. Во время способа на фиг. 3 кадры, которые обычно вторгаются в область добавляемого запаса регулирования из-за дрожания видеокамеры, являются стабильными, в то время как движение, связанное с панорамированием и другими заданными перемещениями, сохраняется. Тем временем, или непосредственно после этого, следующий зафиксированный кадр посылается на ввод 35, и процесс повторяется. Результат представляет собой последовательность видеоизображений, посредством чего естественное движение (то есть, движение объектов в съемочном плане или движение видеокамеры в сканировании съемочного плана) сохраняется, в то время как дрожание видеокамеры по существу устраняется.
Каждый из этапов, осуществляемых на фиг. 3, может быть выполнен в специализированных аппаратных средствах, или в программном обеспечении системным ЦП. В любом случае в варианте осуществления, в котором требуется сжатие изображений, вычисления, используемые для оценивания движения, могут также использоваться для вычисления смещения на уровне кадра, снижая до минимума вычислительную сложность. Следует отметить, что подробности фиг. 3 представляют собой специальное средство реализации, и они могут быть различными в зависимости от конкретной реализации.
Вариант осуществления этого адаптивного способа обсуждается в связи с фиг. 4 ниже. В общем, механизм стабилизатора рассматривает входной глобальный вектор (Vx, Vy) движения текущего кадра и использует информацию, содержащуюся в этих векторах, для вычисления вектора (Fx, Fy) на уровне кадра, который является репрезентативным для предыстории предыдущих кадров в последовательности изображений. "Кумулятивная" совокупность Fx и Fy векторов на уровне кадра, оцененная с использованием адаптивной методологии, используется для повторного позиционирования изображений в последовательности, и при таком выполнении устраняет дрожание видеокамеры более эффективно, чем существующие способы.
Фиг. 4 представляет собой блок-схему, изображающую вариант осуществления адаптивного алгоритма интегрирования в соответствии с вариантом осуществления настоящего изобретения. Фиг. 4 представляет описываемый вариант осуществления способа адаптивного алгоритма, обсуждавшегося в связи с этапом 47 на фиг. 3. Хотя определенные подробности алгоритма могут изменяться, не отступая при этом от настоящего изобретения, адаптивный характер алгоритмов в общем предназначен для компенсации перемещений, более вероятно, чтобы отражать дрожание при сохранении естественных перемещений съемочного плана и видеокамеры. Более конкретно, алгоритм основывается на некоторых обоснованных предположениях для определения, как добавлять, если это вообще имеет место, глобальные векторы движения для использования в стабилизации.
Теперь в качестве предшественника к описанию адаптивного алгоритма обсуждаются некоторая система условных обозначений и предположения. В варианте осуществления на фиг. 4, алгоритм выполняется относительно компонентов вектора и в x (горизонтальном) направлении, и в у (вертикальном) направлении. В результате может использоваться прямое сложение и потребность в более сложных вычислениях на основе вектора, содержащих направление, в этом варианте осуществления устраняется. Символ "n" обозначает настоящий, или n-ый кадр последовательности изображений. V(n) представляет компонент глобального вектора движения (то есть, либо Vx, либо Vy) текущего кадра (например, ввод 35 информации во "вводе видеосигнала" и вычисленный из векторов движения на уровне макроблоков на этапе 45 фиг. 3). F(n-1) обозначает компонент глобального вектора движения (то есть, либо Fx, либо Fy) кумулятивной предыстории адаптивно проинтегрированных кадров от первого кадра последовательности изображений до непосредственно предыдущего кадра (n-1). F(n) представляет компонент глобального вектора движения (то есть, либо Fx, либо Fy) всех адаптивно проинтегрированных предыдущих кадров, включая V(n), от первого до текущего. Отметим, что поскольку метод интегрирования является адаптивным в соответствии с конфигурацией, то в зависимости от способа сжатия, типа кадра, способа, которым последовательности изображений сегментируются, и других факторов, некоторые из которых описаны ниже, некоторые кадры исключаются из вычислений, так что на F(n) фактически воздействуют или изменяют его только векторы V некоторых кадров.
Алгоритм может быть осуществлен на любом подходящем машинном языке. В качестве альтернативы, алгоритм может быть реализован в аппаратных средствах, таких как интегральные схемы прикладной ориентации (ИСПО), программируемые логические устройства, специализированные микроконтроллеры, цифровые логические схемы, процессоры обработки цифровых сигналов, или любая их комбинация, либо комбинация аппаратных средств и программного обеспечения. В последней иллюстрации, ЦП карманного устройства в некоторых вариантах осуществления может быть предназначен для выполнения более простых задач управления алгоритма, в то время как специализированные аппаратные средства могут выполнять интенсивные векторные вычисления.
На этапе 51 способ начинается с определения, является ли глобальный вектор движения для текущего кадра V(n)=0. (Напоминаем, что V(n), который включает в себя Vx и Vy, обрабатываемые независимо согласно фиг. 4, представляет глобальной вектор движения на уровне кадра, рассчитываемый согласно фиг. 3 и связанный с настоящим кадром). Нулевое значение обычно указывает, что никакое движение или смещение не имели место по сравнению с предварительно зафиксированным кадром. Если V(n)=0, то F(n), то есть глобальный вектор движения накопленных n кадров в последовательности изображений просто равняется F(n-1). Формулируя по-другому, если нет никакого движения текущего кадра относительно предыдущего кадра, то текущий кадр считывается с той же самой позиции на датчике изображения с добавляемым запасом регулирования, как предыдущий кадр и для этого кадра не требуется никакое компенсирующее смещение относительно предыдущего кадра.
Если V(n) на этапе 51 не равен нулю, то, как считают, происходит глобальное смещение текущего кадра относительно предыдущего кадра. На этапе 53, выражение
V(n) · F(n-1)<0
Это затем используется, чтобы установить вероятный характер этого смещения. В частности, приведенное выше выражение используется для определения, является ли произведение текущего глобального вектора движения, связанного с n-ым кадром, и глобального вектора движения, связанного с адаптивным интегрированием всех предыдущих кадров, меньше нуля, указывая, является ли произведение положительным или отрицательным. Если произведение меньше нуля, то знак произведения является отрицательным, и направление движения текущего кадра и предыдущего кадра отличаются. В частности, если произведение V(n) и F(n-1)<0, то либо V(n) является отрицательным, а F(n-1) положительным, либо, в качестве альтернативы, V(n) является положительным, а F(n-1) отрицательным. В любом случае, направление V(n) движения является противоположным направлению движения предыдущего (кумулятивного) кадра F(n-1). Там, где направление движения текущего кадра является противоположным направлению движения предыдущего кадра, (то есть, V(n) · F(n-l)<0), два вектора движения складываются вместе. То есть, текущий кадр просто добавляется к предыдущему взвешенному кадру:
F(n)=V(n) + F(n-1)
Там, где как в этом случае, направление текущего и предыдущего глобального вектора движения является противоположным, делается предположение, что прошлые векторы должны быть приняты во внимание. Алгоритм в этом варианте осуществления изобретения предполагает, что движение относится к дрожанию видеокамеры. Дрожание видеокамеры часто проявляется перемещениями вверх и вниз или чередованием толчкообразных перемещений, поскольку человек, выполняющий видеографию, пытается поддерживать устойчивый захват на карманном устройстве. Например, если видеокамера переместилась на четыре пикселя влево, а после этого на четыре пикселя вправо при захвате съемочного плана, вектор движения для стабилизации в результате этих перемещений должен быть нулевым, чтобы захваченная последовательность изображений была устойчивой. Выполнение прямого суммирования в этом примере выполняет эту функцию. Следует отметить, что это тестирование может быть выполнено для векторов в обоих направлениях x и у, и в раскрытом варианте осуществления изобретения эти два направления обрабатываются отдельно.
В качестве альтернативы, там, где на этапе 53 движение, связанное с текущим и предыдущим вектором, находится в том же самом направлении, а именно V(n)·F(n-1)>0, процесс управления переходит к этапу 5. На этой стадии требуется определить, относится ли движение V(n) к дрожанию видеокамеры или к естественному движению видеокамеры или объекта. Сначала, на этапе 55, определяется, превышает ли абсолютная величина суммы движений текущего и предыдущего векторов добавляемый запас регулирования М, который в одном варианте осуществления изобретения=8. В частности:
Является ли |V(n) + F(n-1)|≥М?
Если ответ на вышеупомянутый запрос представляет собой да, означая, что текущий и предыдущий векторы движения имеют одно и то же направление, а сумма их коллективного движения соответствует запасу регулирования или превышает его, то делается второе предположение. Адаптивный алгоритм этого варианта осуществления изобретения предполагает, что видеокамера выполняет сканирование съемочного плана из-за относительно большого и совместного движения. То есть, алгоритм пользуется преимуществом вероятности, что движение такой большой величины является преднамеренным движением, а не результатом дрожания видеокамеры. В этом случае предыдущие векторы движения не должны рассматриваться, и никакое интегрирование не выполняется. Вместо этого, запас регулирования используется в качестве нового вектора F(n) движения для стабилизации со знаком (sgn) (направлением) вектора V(n) текущего кадра. Математически, это выражается как
F(n)=sgn(V(n)) x М
В вышеупомянутом случае запас регулирования используется в качестве нового вектора движения из-за ограничений видеокамеры. То есть, датчик изображения не может захватывать видеоизображение за пределами запаса регулирования видеокамеры. Другие алгоритмы могут использовать различные варианты осуществления изобретения, чтобы обратиться к этому ограничению.
Если, в качестве альтернативы, текущий и предыдущий векторы движения имеют одно и то же направление, а их сумма не превышает запас регулирования М, то осуществляется этап линейного объединения блока 57. Вектор F(n) движения для стабилизации вычисляется как взвешенная сумма текущего и предыдущего векторов движения, где весовой коэффициент представляет собой линейную функцию величины текущего вектора движения. В этом варианте осуществления изобретения действующее предположение является следующим: (i) неясно, из общего содержания, связан ли глобальный вектор V(n) движения в этом случае с дрожанием видеокамеры, или вместо этого он представляет собой естественное и преднамеренное движение, (ii) чем больше величина текущего движения V(n), тем менее вероятно, что движение обусловлено дрожанием видеокамеры и следовательно, тем меньшая величина весового коэффициента должна быть приписана предыдущему вектору F(n-1) движения, и (iii) чем меньше величина текущего движения V(n), тем более вероятно, что движение обусловлено дрожанием видеокамеры, и, следовательно, тем большая величина весового коэффициента должна быть приписана предыдущему вектору F(n-l) движения. В одном варианте осуществления математическое выражение, которое объединяет эту совокупность предположений, представляет следующее выражение:
F(n)=[(1-V(n)/M)xF(n-1)]+V(n)
Следовательно, когда V(n) увеличивается, уравнения стремится к следующему:
F(n)=V(n)
Эти отношения показывают, что текущему смещению дается большая величина весового коэффициента, и это означает, что движение предполагается, как относящееся больше к естественному или преднамеренному движению. На другом конце спектра, когда V(n) уменьшается, влияние F(n-1) становится более явным, и уравнение стремится к следующему:
F(n)=V(n) + F(n-1)
Эти отношения, которые идентичны уравнению, произведенному выше на этапе 53, показывают, что смещение более вероятно обусловлено дрожанием видеокамеры. Соответственно, дается большая величина весового коэффициента суммированию V(n) с предыдущим глобальным вектором движения для гашения маленьких или чередующихся перемещений, характерных для дрожания видеокамеры.
Между этими двумя пределами, где характер смещения не ясен, F(n) дается промежуточное значение согласно уравнению 61 согласно фиг. 4.
Блок 59 показывает, что в варианте осуществления изобретения, показанном на фиг. 4, имеется задержка одного кадра между предыдущим кумулятивным вектором F(n-1) движения и текущим кумулятивным вектором F(n) движения. Эта задержка относится к вычислению кадра, имеющего смещение V(n) на уровне кадра, и его адаптивному интегрированию с F(n-1).
В традиционных способах стабилизации изображения, предыдущее оценивание F(n-1) движения и текущий вектор V(n) движения на уровне кадра суммируются с помощью следующего уравнения:
F(n)=[k x F(n-1)]+V(n)
Там, где "весовой коэффициент" k<1, он является константой. Это уравнение представляет собой авторегрессивный (АР) процесс. АР модели включают в себя прошлые наблюдения зависимой переменной в прогнозировании будущих наблюдений. Таким образом, предыдущий вектор F(n-1) глобального движения всегда используется в вычислении текущего кумулятивного вектора на уровне кадра. Уравнение может быть реализовано посредством однополюсного фильтра нижних частот частично потому, что ручное дрожание при захвате видеоизображения представляет собой низкочастотное событие (обычно меньше чем приблизительно пятнадцать Герц). Константа k управляет степенью демпфирования фильтра нижних частот и используется для гарантирования, что "пропущенное" (то есть, обрезанное и измененное в масштабе) изображение медленно перемещается в центр добавляемого изображения. Константу k также можно рассматривать, как относительный весовой коэффициент предыстории, или прошлого, в интегрировании текущего вектора V(n) движения на уровне кадра.
В этой традиционной модели, однако, нет никакой предоставляемой возможности принимать во внимание адаптивный характер интегрирования векторов смещения. Например, традиционный способ будет не в состоянии принимать во внимание, что если текущее смещение V(n) равно запасу регулирования датчика изображения, предыстория не имеет значения (см. уравнение 67 на фиг. 4). Вместо этого традиционный способ в этот момент учитывает предысторию, приводя к ненужным погрешностям. Кроме того, если текущее смещение является нулевым, то прошлое движение или предыстория могут использоваться полностью (см. уравнение 63 на фиг. 4). Дело обстоит не так в традиционном способе, который уменьшает предысторию на коэффициент k, что приводит к погрешностям. Дополнительно, если текущее смещение V(n) происходит в другом направлении, чем хронологическое смещение, то текущее и хронологическое смещения должны складываться, чтобы компенсировать дрожание видеокамеры. Снова, традиционный способ уменьшает хронологическое смещение на коэффициент k до суммирования, что снова уменьшает погрешности. Все эти погрешности просто усиливаются маленьким карманным устройством, что приводит к большим количествам дрожания видеокамеры. Понятно, что должно использоваться адаптивное интегрирование, как на этапе 47 на фиг. 3 и на фиг. 4. Кроме того, линейная интерполяция k является более подходящей, чем постоянная k, как показано в уравнении 61 на фиг. 4. В этом уравнении:
К=(1-V(n)/М)
Следует отметить, что F(n) также называется кумулятивным вектором движения, который относят к вектору движения, соответствующему текущему вектору движения и предыдущим векторам движения из множества, адаптивно проинтегрированного вместе. Далее, термин "схема" может широко охватывать любой тип электрических аппаратных средств, предназначенных для реализации функций, таких как совокупность активных компонентов, активных и пассивных элементов, один или больше процессоров, один или больше ПЦС, или программное обеспечение, выполняемое на одном или больше контроллерах.
Предыдущее описание раскрытых вариантов осуществления представлено для того, чтобы обеспечить возможность любому специалисту в данной области техники осуществлять или использовать настоящее изобретение. Различные модификации к этим вариантам осуществления специалистам в данной области техники будут очевидны, а универсальные принципы, определенные в данном описании, можно применять к другим вариантам осуществления, не выходя при этом за рамки сущности и объема данного изобретения. Таким образом, настоящее изобретение не должно быть ограничено вариантами осуществления, показанными в данном описании, но должно соответствовать самому широкому объему, совместимому с принципами и новыми признаками, раскрытыми в данном раскрытии.
Изобретение относится к системам стабилизации видеоизображения. Техническим результатом является обеспечение возможности удалять нестабильные движения при сохранении естественного движения типа сканирования съемочного плана, с минимальной потребностью в дополнительных специализированных схемах и минимальным увеличением вычислительной сложности. Предложен способ и устройство для стабилизации изображения, содержащего множество кадров, причем оценивает векторы движения на уровне кадра для каждого кадра, и адаптивно интегрирует векторы движения, чтобы производить, для каждого кадра, вектор движения, подлежащий использованию для стабилизации изображения. Копия эталонного изображения кадра смещается посредством соответствующего адаптивно проинтегрированного вектора движения. В одном варианте осуществления изобретения, периметр датчика изображения дополняется запасом регулирования, подлежащим использованию для компенсации изображений, в другом варианте вертикальные и горизонтальные компоненты обрабатываются независимо, а схемы оценивания движения, связанные с кодером MPEG-4, используются для вычисления векторов на уровне макроблоков, и гистограмм. 11 н. и 15 з.п. ф-лы, 4 ил.
US 2002118761 A1, 29.08.2002 | |||
СПОСОБ И УСТРОЙСТВО ПРЕОБРАЗОВАНИЯ ИЗОБРАЖЕНИЯ | 2000 |
|
RU2187904C1 |
JP 2003078807 A, 14.03.2003 | |||
US 5748231 A, 05.05.1998 | |||
US 5210559 A, 11.05.1993 | |||
JP 2000358187 A, 14.03.2003 | |||
US 5926212 A, 20.07.1999 | |||
EP 0762774 A1, 12.03.1997 | |||
JP 9130748 A, 16.05.1997. |
Авторы
Даты
2009-03-20—Публикация
2005-02-09—Подача