СПОСОБ И СИСТЕМА ДИНАМИЧЕСКОЙ ГЕНЕРАЦИИ ТРЕХМЕРНЫХ АНИМАЦИОННЫХ ЭФФЕКТОВ
METHOD AND SYSTEM FOR DYNAMIC GENERATION OF THREE-DIMENSIONAL ANIMATION EFFECTS

Изобретение относится к области обработки цифровых сигналов, а более конкретно к способам и системам для генерации в реальном времени анимационных эффектов, демонстрируемых на трехмерном дисплее.
Любое плоское (двумерное, 2D) или стерео (трехмерное, 3D) изображение, а также видео может рассматриваться как мультимедиа объект для обработки с целью получения анимационного трехмерного эффекта на экране, способном воспроизводить 3D изображения.
Из уровня техники известны различные подходы к решению задачи по добавлению динамических двумерных художественных эффектов к неподвижным изображениям. В частности, такие решения получили широкое распространение во многих специальных средствах редактирования, таких как Adobe After Effects и Ulead Video Studio (см., например, http://en.wikipedia.org/wiki/Corel_VideoStudio) [1].
Дальнейшее развитие такого подхода прослеживается в заявке на патент США 2009/0154762 [2], где описывается способ и устройство для преобразования двумерного изображения с различными художественными эффектами, причем двумерное изображение, полученное с помощью цифровой фотокамеры, преобразуется в художественное изображение с помощью преобразования, выполняемого на компьютере, таким образом, что формируется естественное изображение, подобное нарисованному рукой человека, такое, как картина, написанная маслом, иллюстрация, нарисованная пером, анимационное изображение или мозаика.
В последнее время трехмерные дисплеи и трехмерные телевизоры стали очень популярны, однако основной объем визуальных ресурсов остается двумерным. Поэтому многие технические решения посвящены преобразованию двумерных изображений и видео в трехмерные. Например, патент США №8253729 [3] описывает преобразование двумерной видеопоследовательности в трехмерную стереоскопическую видеопоследовательность. Способ включает создание информации о трехмерной глубине и создание, по меньшей мере, одного кадра обработанного двумерного изображения путем геометрических искажений в соответствии с информацией о трехмерной глубине. Заявка на патент США 2011/0050687 [3] описывает способ применения трехмерного стереоскопического эффекта при отображении двумерных цифровых документов, включающий следующие шаги: для каждого объекта из набора объектов-данных, соответствующих отображаемым элементам, на основе данных объекта определяются параметры и правила отображения трехмерных эффектов; документ обрабатывается для генерации копий отображаемых элементов для левого и правого глаза, при этом обработка заключается в выполнении смещений двумерных позиций копий отображаемых элементов для левого и правого глаза, определяемых любым из соответствующих правил трехмерных эффектов; осуществляется визуализация копий отображаемых элементов для левого и правого глаза.
Известны также способы для представления трехмерной анимации в трехмерных телевизорах и кинопроекторах. Например, патент США №8228327 [4] предлагает способ визуализации стереоскопических изображений с нелинейным изменением глубины. Устройство обработки позиционирует стерео или горизонтально сдвинутые камеры и визуализирует изображения на основе нелинейного соотношения между смещением, заданным для одного или более анимационных объектов, и расстоянием между камерой и объектами.
В настоящее время широко распространены трехмерные дисплеи, в частности трехмерные телевизоры с пассивными или активными очками. Потребитель накопил большое количество двумерных фотографий и видео, а трехмерные фотографии и видео пока распространены в значительно меньшей степени, хотя и существует тенденция к увеличению объема трехмерного контента. Известные из уровня техники решения не позволяют «на лету» в автоматическом режиме и в зависимости от содержимого двумерных и трехмерных изображений и видео генерировать реальные трехмерные анимационные эффекты, ограничиваясь лишь единственной плоской проекцией трехмерного эффекта.
Задача, на решение которой направлено заявляемое изобретение, состоит в том, чтобы разработать способ и систему, позволяющую в реальном времени автоматически создавать реалистичный трехмерный анимационный эффект для таких мультимедиа объектов, как двумерные и трехмерные изображения и видео.
Технический результат достигается, в первую очередь, за счет разработки способа динамической («на лету») генерации трехмерных анимационных эффектов на трехмерном дисплее, при этом такой способ предусматривает выполнение следующих операций:
- выбирают визуальный мультимедиа объект для показа;
- детектируют на мультимедиа объекте области интереса и вычисляют их признаки;
- строят трехмерную сцену, содержащую данный мультимедиа объект;
- создают в данной трехмерной сцене набор трехмерных визуальных объектов анимационного эффекта в соответствии с областями интереса и их признаками;
- выполняют последовательные преобразования трехмерных объектов в пространстве сцены и самой сцены таким образом, что в результате визуализации сцены создается трехмерный анимационный эффект.
Заявляемый способ реализуется на основе заявляемой системы динамической («на лету») генерации трехмерных анимационных эффектов на трехмерном дисплее, включающей в себя следующие модули:
- модуль детектирования областей интереса, выполненный с возможностью определения положения областей интереса на визуальном мультимедиа объекте; вход модуля является входом для мультимедиа объекта; выход модуля соединен с входом модуля вычисления признаков областей интереса;
- модуль вычисления признаков областей интереса, выполненный с возможностью вычисления признаков областей интереса на мультимедиа объекте, вход модуля соединен с выходом модуля детектирования областей интереса; выход модуля соединен с входом модуля генерации трехмерных визуальных объектов;
- модуль генерации трехмерных визуальных объектов, выполненный с возможностью генерации трехмерных визуальных объектов в зависимости от признаков областей интереса; вход модуля соединен с выходом модуля вычисления признаков областей интереса; выход модуля соединен с входом модуля генерации трехмерной сцены;
- модуль генерации трехмерной сцены, выполненный с возможностью построения трехмерной сцены из мультимедиа объекта и сгенерированных трехмерных визуальных объектов; вход модуля соединен с выходом модуля генерации трехмерных визуальных объектов; выход модуля соединен с модулем трехмерных преобразований;
- модуль трехмерных преобразований, выполненный с возможностью последовательной модификации трехмерных объектов в пространстве сцены; вход модуля соединен с выходом модуля генерации трехмерной сцены, выход модуля соединен с входом модуля генерации кадра;
- модуль генерации кадра, выполненный с возможностью создания трехмерных кадров из последовательности модифицированных трехмерных сцен в формате, подходящем для визуализации на трехмерном дисплее; выход модуля соединен с входом трехмерного дисплея;
- трехмерный дисплей, выполненный с возможностью визуализации кадров.
Далее изобретение раскрывается в деталях со ссылкой на соответствующие графические материалы.
Фиг.1 - пример 3D анимационного эффекта "Мыльные пузыри".
Фиг.2 - блок-схема основных этапов способа.
Фиг.3 - блок-схема, поясняющая работу заявляемого способа для неподвижных изображений.
Фиг.4 - блок-схема заявляемой системы.
Фиг.5 - блок-схема выбора способа генерации карты глубины.
Фиг.6 - блок-схема детектирования зон внимания.
Фиг.7 - блок-схема детектирования областей текста.
Фиг.8 - блок-схема детектирования областей интереса для 3D анимационного эффекта "Мерцающие огоньки".
Фиг.9 - блок-схема генерации 3D анимационного эффекта "Мыльные пузыри".
Фиг.10 - блок-схема генерации 3D анимационного эффекта "Мерцающие огоньки ".
Фиг.11 - блок-схема генерации 3D анимационного эффекта "Свет маяка".
Фиг.1 демонстрирует несколько кадров трехмерной анимации эффекта "Мыльные пузыри", примененного к неподвижному изображению. Параметры мыльных пузырей, такие как размер, цвет, траектория движения, адаптируются к изображению, что позволяет создавать кадры анимации, которые практически не повторяются во времени. До начала генерации анимации пользователь видит только неподвижное изображение 101. Когда генерируется анимационный эффект, пользователь видит летающие в трехмерном пространстве мыльные пузыри 102 и 103 перед изображением.
На Фиг.2 показана блок-схема заявляемого способа генерации на лету трехмерных анимационных эффектов на трехмерном дисплее. На этапе 201 выбирают визуальный мультимедиа объект. Это может быть неподвижное (статичное) двумерное или трехмерное изображение или видеопоследовательность. Затем на мультимедиа объекте детектируют области интереса и вычисляют их признаки (этап 202). То, что является областью интереса, и набор вычисляемых признаков различаются в зависимости от типа анимационного эффекта. В процессе детектирования на визуальном мультимедиа объекте областей интереса выполняют предварительную обработку данного объекта, включающую, по меньшей мере, одну из следующего списка операций: регулировка яркости, контрастирование, гамма-коррекция, настройка баланса белого цвета, преобразование цветовой системы. На этапе 203 строится трехмерная сцена, содержащая выбранный мультимедиа объект, при этом визуальный мультимедиа объект используется в качестве текстуры, которая накладывается на фоновую поверхность трехмерной сцены. Для трехмерных визуальных объектов детектируют информацию о глубине сцены, изображенной на данном мультимедиа объекте, и используют данную информацию при построении фоновой поверхности трехмерной сцены, на которую накладывается мультимедиа объект в качестве текстуры.
Набор трехмерных визуальных объектов создается и размещается в сцене в зависимости от областей интереса и их признаков (этап 204). Возможны два варианта создания набора трехмерных визуальных объектов. В первом случае случайным образом выбирают несколько областей интереса из всех детектированных областей интереса. Во втором случае выбирают несколько областей интереса из всех детектированных областей интереса в зависимости от их признаков. Последовательное преобразование трехмерных объектов в пространстве сцены и формирование трехмерного анимационного эффекта выполняются на этапе 205. При выполнении последовательных преобразований трехмерных объектов в пространстве сцены возможны следующие преобразования: перемещение, вращение, искажение, изменение размера, слияние, по меньшей мере двух трехмерных объектов в один, разделение объекта на по меньшей мере два новых трехмерных визуальных объекта. Кроме того, может быть создан дополнительный анимационный эффект для визуального объекта, используемого в качестве фона сцены.
На Фиг.3 показана блок-схема, поясняющая работу заявляемого способа для неподвижных двумерных или трехмерных изображений. На этапе 301 получают изображение из соответствующего источника, например читают с жесткого диска. На следующем этапе 302 для изображения генерируется карта глубины. Далее на этапе 303 на изображении детектируются области интереса, и для каждой области интереса вычисляются признаки (этап 304). Основываясь на признаках, создаются визуальные трехмерные объекты (этап 305). Следующие два этапа повторяются, пока анимация не будет прекращена (этап 308):
- генерируются трехмерные кадры анимации путем комбинирования изображения и визуальных объектов в трехмерной сцене, причем от кадра к кадру визуальные объекты перемещаются в пространстве (этап 306);
- визуализируются кадры анимации (этап 307). На Фиг.4 показана блок-схема заявляемой системы генерации на лету трехмерных анимационных эффектов на трехмерном дисплее. Модуль 401 детектирования областей интереса определяет положение областей интереса на визуальном мультимедиа объекте. На вход данного модуля поступает мультимедиа объект. Список обнаруженных областей интереса передается в модуль 402 вычисления признаков областей интереса. Модуль 402 вычисления признаков областей интереса вычисляет признаки областей интереса на мультимедиа объекте. На вход данного модуля поступают мультимедиа объект и список обнаруженных областей интереса. Вычисленные признаки областей интереса передаются в модуль 403 генерации трехмерных визуальных объектов. Модуль 403 генерации трехмерных визуальных объектов генерирует трехмерные визуальные объекты в зависимости от признаков областей интереса. На вход данного модуля поступают вычисленные признаки областей интереса. Сгенерированные визуальные объекты передаются в модуль 404 генерации трехмерной сцены. Модуль 404 генерации трехмерной сцены строит трехмерную сцену из мультимедиа объекта и сгенерированных трехмерные визуальных объектов. На вход данного модуля поступают мультимедиа объект и трехмерные визуальные объекты. Трехмерная сцена передается в модуль 405 трехмерных преобразований. Модуль 405 трехмерных преобразований последовательно модифицирует трехмерные объекты в пространстве сцены. На вход данного модуля поступает трехмерная сцена с визуальными объектами. Последовательность модифицированных трехмерных сцен передается в модуль 406 генерации кадра. Модуль генерации 406 кадра создает трехмерные кадры из последовательности модифицированных трехмерных сцен в формате, подходящем для визуализации на трехмерном дисплее, и передает их на трехмерный дисплей 407, который визуализирует кадры.
Все перечисленные модули системы могут быть выполнены в виде системы на кристалле (SoC), программируемой логической матрицы (FPGA) или специализированной интегральной схемы (ASIC). Функции данных модулей понятны из их описания, а также из описания заявляемого способа генерации на лету трехмерных анимационных эффектов на трехмерном дисплее.
На Фиг.5 представлена блок-схема выбора способа генерации карты глубины, которая используется при определении ряда параметров визуальных объектов, в частности траектории перемещения. На этапе 501 определяется формат изображения. Если это стереоизображение (условие 502), то для получения карты глубины используется один из способов оценки глубины сцены или карты диспарантности по стереопаре (этап 504), например, описанный в статье "Robust Phase Correlation Based Sub-pixel Disparity Estimation" (H. Yan and J. Guo Liu, Proc. of 4th SEAS DTC Technical Conference, 2009) [5]. Если это плоское изображение, то для получения карты глубины используется один из способов преобразования статичных изображений из 2D в 3D (этап 503), например, основанный на детектировании зон внимания, как описано в статье "2D-to-3D conversion by using visual attention analysis" (J. Kim, A. Baik, Y. Ju Jung, D. Park, Proc. SPIE 7524, Stereoscopic Displays and Applications XXI, 2010) [6].
Зоны внимания могут быть использованы не только для преобразования 2D в 3D, но для некоторых типов анимационных эффектов рассматриваться в качестве областей интереса. В предпочтительном варианте реализации заявленного изобретения зоны внимания получаются в результате комбинирования областей с изображением текста, областей с изображением человеческих лиц и карты особенностей/выпуклости (saliency map), вычисляемой в соответствии с моделью мгновенного зрения человека. На Фиг.6 показана блок-схема детектирования зон внимания. Детектирование областей текста (этап 601) объясняет схема на Фиг.7. Детектирование областей с изображением человеческих лиц (этап 602) выполняется с помощью способа, описанного в статье "An Improvement of face detection algorithm for color photos" (Egorova, M.A., Murynin, A.B., Safonov, I.V., Pattern Recognition and Image Analysis, vol. 19, No. 4, pp.634-640, 2009) [7]. Вычисление карты особенностей (этап 603) может быть выполнено эффективно с помощью способа, описанного в статье "Global Contrast based Salient Region Detection" (M.M. Cheng, G.X. Zhang, N.J. Mitra, X. Huang, S.M. Hu, Proc. of ШЕЕ CVPR, pp.409-416, 2011) [8]. Все детектированные области и карту особенностей объединяют в карту зон внимания (этап 604). Это может быть сделано суммированием с весами изображений с отмеченными областями текста и человеческих лиц, а также карты особенностей.
На Фиг.7 представлена блок-схема способа детектирования текстовых областей. На этапе 701 выполняется детектирование контурных перепадов. В предпочтительном варианте реализации изобретения для этой цели используется фильтр Лапласиан Гауссиана (LoG) с последующим пороговым отсечением. Далее с помощью морфологических операций восстанавливается часть отсутствующих участков контуров (этап 702). В простейшем случае может быть использована одна операция "закрытие" ("close"). На этапе 603 по изображению с детектированными контурными перепадами выполняют разметку связных областей (этап 603). Соседние связные области объединяются в группы (этап 604). Каждая группа классифицируется как текстовая или нетекстовая область. Для классификации может быть использован способ, описанный в статье "Bottom-up Document Segmentation Method Based on Textural Features" (A.M. Vil'kin, I.V. Safonov, M.A. Egorova, Pattern Recognition and Image Analysis, vol. 21, No. 3, pp.565-568, 2011) [9].
''
Одним из примеров заявляемого изобретения является трехмерный анимационный художественный эффект "Мерцающие огоньки (Flashing Lights). Данный эффект демонстрирует мерцание и вращение белых или цветных звездочек, расположенной в небольших по площади ярких фрагментах изображения. На Фиг.8 показана блок-схема детектирования областей интереса для данного эффекта. На этапе 801 выполняется построение гистограммы яркостей пикселов изображения. Далее выполняется вычисление порога для сегментации (этап 802). На этапе 803 изображение сегментируется пороговым отсечением с целью найти наиболее яркие участки на изображении. Далее выполняется разметка связных областей (этап 804), которые для данного эффекта являются областями интереса. Для каждой области интереса вычисляет набор признаков, который включает, по меньшей мере, следующие признаки:
- средние значения цветовых компонентов в пределе области;
- координаты центра масс;
- отношение площади области интереса к площади изображения;
- коэффициент округлости - отношение диаметра круга с площадью равной площади области интереса к наибольшему из линейных размеров области интереса;
- показатель похожести на маленький источник света - интегральный параметр, вычисляемый как взвешенная сумма максимальной яркости области интереса, средней яркости, коэффициента округлости и относительной площади области интереса.
Далее из всех областей интереса отбираются те области, признаки которых удовлетворяют предварительно заданным критериям. Модуль генерации 3D визуальных объектов создает список визуальных объектов - мерцающих и вращающихся звезд, определяя позицию, размеры и цвет каждой звезды в соответствии с признаками областей интереса.
Фиг.9 представляет блок-схему способа генерации кадров 3D анимационного эффекта "Мыльные Пузыри". Эффект отображает мыльные пузыри, летающие над изображением с учетом карты глубины. На первом шаге положения мыльных пузырей обновляются с учетом информации о глубине (этап 901). Цвет пузырей изменяется на основе направления освещения в соответствующих областях изображения (этап 902). После настройки параметров исходное изображение визуализируется на текущем кадре анимации (этап 903). На заключительном шаге подготовки текущего кадра анимации выполняется визуализация мыльных пузырей (этап 904).
Фиг.10 представляет блок-схему способа генерации кадров анимационного эффекта "Мерцающие огоньки". На первом шаге вид мерцающих огоньков изменяется в зависимости от текущего времени и глубины сцены (этап 1001). Координата по оси Z устанавливается в соответствие с картой глубины. Исходные значения размера, яркости, цвета определяются на основе координаты г и параметров источника света. Далее параметры постепенно изменяются с течением времени для создания более яркого впечатления у пользователя. После настройки параметров исходное изображение визуализируется на текущем кадре анимации (этап 1002). На заключительном шаге подготовки текущего кадра анимации выполняется визуализация мерцающих огоньков.
Фиг.11 представляет блок-схему способа генерации кадров анимационного эффекта "Свет маяка". Эффект формирует на изображении световое пятно от светового конуса маяка. Световое пятно вначале устанавливается на наиболее подходящее яркое место изображения и перемещается по зонам внимания изображения. На первом шаге положение светового пятна маяка изменяется в соответствии с перемещением по изображению (этап 1101). Траектория перемещения генерируется в зависимости от зон внимания (описание способа генерации зон внимания приведено выше). Размеры светового пятна, яркость, форма и цвет определяются в соответствии с глубиной сцены (этап 1102). Это позволяет сформировать у пользователя более реалистичное впечатление. После настройки параметров выполняется визуализация затемненного исходного изображения на текущем кадре анимации (этап 1103). Затемнение применяется для того, чтобы сделать световое пятно более выраженным. На заключительном шаге подготовки текущего кадра анимации выполняется визуализация светового пятна маяка (этап 1104).
Внешний вид эффекта адаптируется к содержимому мультимедиа объекта, например, к изображенному на фотографии. Предлагаемый способ представляет впечатляющий и привлекательный путь для просмотра мультимедиа объектов на современных трехмерных дисплеях. Даже при просмотре только двумерных фотографий это позволяет пользователям испытывать большее удовлетворение от просмотра. Предлагаемые система и способ могут быть использованы в устройствах, в состав которых входит трехмерный дисплей и доступна функция показа мультимедиа объектов. Примерами таких устройств являются цифровые трехмерные телевизоры с мультимедиа возможностями, мобильные телефоны, планшеты, цифровые фотокамеры, фоторамки, а также как программное обеспечение для персональных компьютеров для показа мультимедиа.
Представленный в данном описании вариант выполнения изобретения был изложен лишь с целью иллюстрации. Специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла настоящего изобретения, раскрытого в прилагаемой формуле изобретения.