RU2487412C2 - Способ и устройство для создания видеоанимации - Google Patents

Способ и устройство для создания видеоанимации Download PDF

Info

Publication number
RU2487412C2
RU2487412C2 RU2011126626/08A RU2011126626A RU2487412C2 RU 2487412 C2 RU2487412 C2 RU 2487412C2 RU 2011126626/08 A RU2011126626/08 A RU 2011126626/08A RU 2011126626 A RU2011126626 A RU 2011126626A RU 2487412 C2 RU2487412 C2 RU 2487412C2
Authority
RU
Russia
Prior art keywords
head
control point
action
frame
coordinate
Prior art date
Application number
RU2011126626/08A
Other languages
English (en)
Other versions
RU2011126626A (ru
Inventor
Иша ЛУ
Сясян ЛИН
Цзянюй ВАН
Original Assignee
Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед filed Critical Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед
Publication of RU2011126626A publication Critical patent/RU2011126626A/ru
Application granted granted Critical
Publication of RU2487412C2 publication Critical patent/RU2487412C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

Изобретение относится к устройству и способу создания видеоанимации. Техническим результатом является уменьшение затрачиваемого времени на создание видеоанимации за счет сокращения объема вычислений. Способ создания видеоанимации включает этапы, на которых принимают переданную пользователем команду и определяют соответствующее команде действие, определяют общее количество кадров, соответствующих действию, и коэффициент движения для каждого кадра; вычисляют смещение каждой контрольной точки в каждом кадре согласно коэффициенту движения для каждого кадра, создают видеоанимацию согласно смещению каждой контрольной точки в каждом кадре и общему числу кадров. Также предусмотрено устройство для создания видеоанимации. 2 н. и 9 з.п. ф-лы, 3 ил.

Description

Область изобретения
Изобретение относится к технологиям анимации, в частности к способу и устройству для создания видеоанимации.
Предпосылки к созданию изобретения
Большинство пользователей сети Интернет используют средства самопредставления и отображения индивидуальности для привлечения внимания других пользователей. Все большее количество пользователей сети Интернет отдают предпочтение видеоанимации как наиболее выразительному средству.
По мере развития технологий видеоанимации в них были объединены аудиотехнологии, видеотехнологии, технология механизма анимации лица и технология приведения в движение; в частности, технология механизма анимации лица и технология приведения в движение являются основными технологиями, применяемыми в видеоанимации.
Для предоставления видеоанимации применяют известный способ создания видеоанимации. Согласно этому способу создают основанную на лицевой мускулатуре сеточную модель и для сеточной модели устанавливают символьную систему. Для создания видеоанимации символьная система осуществляет кодирование выражений лица путем управления сеточной моделью.
При реализации вышеуказанного известного технического решения автор изобретения обнаружил следующие проблемы.
В известном техническом решении видеоанимации, генерируемой путем создания сеточной модели и символьной системы, для создания сеточной модели и символьной системы необходим очень большой объем вычислений, на создание видеоанимации затрачивают много времени, варианты применения ограничены.
Сущность изобретения
Примеры осуществления изобретения предоставляют способ и устройство для создания видеоанимации; эти способ и устройство отличаются малым объемом вычислений, небольшим временем создания видеоанимации, а также широким спектром применения.
Примеры осуществления изобретения предоставляют способ создания видеоанимации, включающий:
прием переданной пользователем команды, определение соответствующего команде действия, определение общего числа кадров, соответствующих действию, и определение коэффициента движения для каждого кадра;
вычисление смещения каждой контрольной точки в каждом кадре согласно коэффициенту движения для каждого кадра и создание видеоанимации согласно смещению каждой контрольной точки в каждом кадре и общему числу кадров.
Примеры осуществления изобретения также предоставляют устройство для создания видеоанимации, содержащее:
блок приема, сконфигурированный для приема переданной пользователем команды;
блок определения, сконфигурированный для определения соответствующего команде действия согласно команде, а также для определения общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра;
вычислительный блок, сконфигурированный для вычисления смещения каждой контрольной точки в каждом кадре согласно коэффициенту движения для каждого кадра; и
блок генерации, сконфигурированный для создания видеоанимации согласно смещению каждой контрольной точки в каждом кадре и общему числу кадров.
Исходя из вышеприведенного описания технических решений, предоставляемых в примерах осуществления изобретения, можно отметить, что после определения действия и соответствующего действию коэффициента движения согласно принятой пользовательской команде вычисляются смещения согласно коэффициенту движения и генерируют видеоанимацию согласно смещению и общему числу кадров. Согласно этому способу видеоанимацию создают без сеточной модели и символьной системы, необходим лишь небольшой объем вычислений для создания видеоанимации согласно смещениям и общему числу кадров, на создание видеоанимации затрачивают немного времени, и, кроме того, способ имеет широкий спектр применения.
Краткое описание чертежей
На фиг.1 показана блок-схема, представляющая способ создания видеоанимации согласно примеру осуществления изобретения.
На фиг.2 показана блок-схема, представляющая способ создания видеоанимации согласно другому примеру осуществления изобретения.
На фиг.3 показана схема, представляющая структуру устройства для создания видеоанимации согласно примеру осуществления изобретения.
Подробное описание изобретения
Пример осуществления изобретения предоставляет способ создания видеоанимации. Способ представлен на фиг.1 и включает следующие этапы.
Этап 11: прием переданной пользователем команды и определение соответствующего команде действия.
Команда на этом этапе может являться переданной пользователем аудиокомандой или переданной пользователем командой, введенной с клавиатуры, например, ввод цифры "1" означает "повороты головы", а ввод цифры "2" означает "кивание". Примеры осуществления изобретения не ограничивают реализацию команды при том условии, что команда может быть распознана. Переданная пользователем команда на этом этапе может являться командой для одиночного действия или комбинированной командой для нескольких действий. Если команда является комбинированной командой для выполнения нескольких действий, то эмоции пользователя отображаются согласно комбинации нескольких действий, при этом повышают выразительность мимики в видеоанимации.
Этап 12: определение общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра.
Для реализации этого этапа может использоваться любой из нижеперечисленных способов.
Способ А): предварительно определяют общее число кадров, соответствующих каждому действию, и коэффициент движения для каждого кадра; например, предварительно определяют, что общее число кадров, соответствующих действию "повороты головы", равно 10, а коэффициент движения для каждого кадра равен 0,01×N. В реальных приложениях коэффициентам движения для разных кадров могут присваиваться разные значения; например, коэффициентам движения для первых 5 кадров присваивают значение 0,01×N, а коэффициентам движения для последних 5 кадров присваивается значение 0,05+0,008×(N-5), где N является порядковым номером кадра. Параметрические уставки, включая параметры 0,01 и 0,008 в вышеуказанных коэффициентах движения, могут самостоятельно быть изменены пользователем, и значения параметров не ограничены примерами осуществления изобретения.
Способ В): пользователь непосредственно задает общее число кадров, соответствующих каждому действию, и коэффициент движения для каждого кадра. Поскольку пользователь самостоятельно задает общее число кадров, соответствующих каждому действию, и коэффициент движения для каждого кадра, то получаемая видеоанимация лучше отображает индивидуальные особенности пользователя.
Этап 13: вычисляют смещение каждой контрольной точки в каждом кадре согласно коэффициенту движения для каждого кадра.
Смещение на этом этапе может включать смещение в горизонтальном направлении (по оси X) и смещение в вертикальном направлении (по оси Y). Контрольные точки в этом примере используют для представления контура деталей лица, таких как голова, глаза, брови и так далее; иными словами, контрольные точки являются вершинами деталей. Контрольные точки и линии между контрольными точками формируют сеточную модель.
Для более удобного объяснения этапа, реализующего этот способ, в данный этап может быть включено задание коэффициентов движения каждой детали в каждом действии, например коэффициента движения для глаз или бровей m_eyeCoef, коэффициента движения для наклонов головы влево и вправо m_angle (единица: радиан), коэффициента движения для кивания или поворотов головы v_angle, коэффициентов движения для рта в горизонтальном и вертикальном направлениях, соответственно, horModelCoef и verModelCoef.
Далее приведен конкретный способ вычисления.
Смещение глаз или бровей по оси X (в горизонтальном направлении) составляет (А_х-Src_x)×m_eyeCoef, смещение глаз или бровей по оси Y (в вертикальном направлении) составляет (А_y-Src_y)×m_eyeCoef. Здесь (А_х, А_y) является координатой точки пересечения отвесной линии и линии начала отсчета, причем отвесная линия проходит от исходной координаты контрольной точки к линии начала отсчета. Когда действие связано с движением глаз, линия начала отсчета является линией, соединяющей углы глазной щели; когда действие связано с движением бровей, линия начала отсчета является осевой линией лица. (Src_x, Src_y) является исходной координатой контрольной точки, и когда используют сеточная модель, контрольная точка может являться вершиной глаз или бровей; исходная координата является координатой контрольной точки в исходном изображении, и исходное изображение может являться введенным пользователем изображением или предварительно заданным изображением, то есть изображением, имеющимся перед созданием видеоанимации.
Смещение по оси X при наклонах головы влево и вправо (в горизонтальном направлении) может быть представлено как (Src_x-Pivot_x)×cos(m_angle)-(Src_y-Pivot_y)×sin(m_angle), смещение по оси Y при наклонах головы влево и вправо (в вертикальном направлении) может быть представлено как (Src_x-Pivot_x)×sin(m_angle)+(Src_y-Pivot_y)×cos(m_angle). Здесь (Src_x, Src_y) является исходной координатой контрольной точки, (Pivot_x, Pivot_y) является координатой фиксированной точки. Фиксированная точка является точкой пересечения осевой линии головы и нижней контурной линии головы.
Смещение по оси X при кивании или поворотах головы может быть представлено как Src_x+K_i×v_angle×V_x, смещение по оси Y при кивании или поворотах головы может быть представлено как Src_y+K_i×v_angle×V_y. Здесь (Src_x, Src_y) является исходной координатой контрольной точки, K_i является коэффициентом вращения при кивании или поворотах головы и K_i=Delta_l/Dis_l. Для действия "кивание" Delta_l соответствует величине движения по оси Y (в вертикальном направлении) при перемещении головы на фиксированный угол в градусах (например, на 1 градус), Dis_l соответствует максимальной длине головы по оси Y (в вертикальном направлении). Для действия "повороты головы" Delta_l соответствует величине движения по оси X (в горизонтальном направлении) при перемещении головы на фиксированный угол в градусах (например, на 1 градус), Dis_l соответствует максимальной длине головы по оси X (в горизонтальном направлении). (V_x, V_y) является координатой стандартного вектора. Для действия "кивание" стандартным вектором является вектор от самой верхней точки головы к самой нижней точке головы; для действия "повороты головы" стандартным вектором является вектор от крайней левой точки головы к крайней правой точке головы.
Применительно к действию, связанному с движением рта, смещение рта по оси X может быть представлено как
mouthWidth×cos(m_horAngle)×horizonCoef×horModelCoef+mouthHeight×cos(m_verAngle)×verticeCoef×verModelCoef,
и смещение рта по оси Y может быть представлено как
mouthWidth×sin(m_horAngle)×horizonCoef×horModelCoef+mouthHeight×sin(m_verAngle)×verticeCoef×verModelCoef.
Здесь mouthWidth является расстоянием между левым углом рта и правым углом рта, mouthHeight является высотой от верхней точки осевой линии верхней губы до нижней точки осевой линии нижней губы, m_verAngle является углом между осевой линией головы и осью X, m_horAngle является углом между линией углов рта и осью X, horizonCoef и verticeCoef являются, соответственно, коэффициентами степени движения рта по горизонтали и вертикали. Коэффициенты степени движения могут быть заданы пользователем, либо заданы заранее.
Этап 14: создают видеоанимацию согласно смещению каждой контрольной точки в каждом кадре и общему числу кадров.
Ниже представлена возможная реализация этого этапа.
Вычисляют целевую координату каждой контрольной точки в каждом кадре согласно смещению каждой контрольной точки в каждом кадре.
Способ реализации этого этапа может включать следующее: целевая координата каждой контрольной точки может определяться как координата точки начала отсчета + смещение. Для действия, связанного с движением глаз, бровей, рта, киванием или поворотами головы, координата точки начала отсчета является исходной координатой контрольной точки; для действия, связанного с наклонами головы влево и вправо, координата точки начала отсчета является координатой точки пересечения осевой линии лица и нижней контурной линии головы.
Затем согласно целевым координатам каждой контрольной точки в каждом кадре генерируют изображение, соответствующее каждому кадру, и генерируют видеоанимацию согласно изображению, соответствующему каждому кадру и общему числу кадров.
На этом этапе видеоанимация может быть сгенерирована согласно изображению, соответствующему каждому кадру и общему числу кадров, с использованием обычного способа сжатия видеоизображения или других известных способов. В примерах осуществления изобретения не накладывают ограничения на конкретный способ, используемый для создания видеоанимации согласно изображению, соответствующему каждому кадру и общему числу кадров.
В вышеуказанном способе, если принятая пользовательская команда является командой для выполнения нескольких действий, эту команду разбивают на команды отдельных действий; согласно командам отдельных действий генерируют соответствующее каждому отдельному действию смещение каждой контрольной точки в каждом кадре, затем выполняют наложение соответствующих каждому отдельному действию смещений каждой контрольной точки в кадрах для получения соответствующего нескольким действиям смещения каждой контрольной точки в одном кадре, и генерируют видеоанимацию согласно соответствующему нескольким действиям смещению каждой контрольной точки в кадре. В вышеуказанном способе исходное изображение для видеоанимации может являться самостоятельно определяемым и вводимым пользователем изображением, либо предложенным пользователю изображением.
В реальных приложениях выражение может быть определено согласно сгенерированной видеоанимации, включающей комбинированное действие или отдельное действие; например, когда в видеоанимацию включены действия "кивание" и "подмигивание", выражение может означать одобрение; когда в видеоанимацию включены действия "наклоны головы влево и вправо" или "повороты головы", выражение может означать неодобрение. Выражение, соответствующее видеоанимации, в которую включено комбинированное действие или отдельное действие, может быть самостоятельно сконфигурировано пользователем, и в примерах осуществления изобретения не накладываются ограничения на эту операцию.
В соответствии со способом, предоставляемым в примерах осуществления изобретения, после определения действия и соответствующего действию коэффициента движения согласно принятой пользовательской команде, вычисляются смещения согласно коэффициенту движения и генерируют видеоанимацию согласно смещению и общему числу кадров. Поскольку при использовании этого способа видеоанимацию создают без сеточной модели и символьной системы, то необходим лишь небольшой объем вычислений для создания видеоанимации согласно смещениям и общему числу кадров, на создание видеоанимации затрачивают немного времени и способ имеет широкий спектр применения. Кроме того, при использовании этого способа может приниматься команда для выполнения нескольких действий, и согласно этой команде генерируют состоящую из нескольких видеоанимаций комбинированную видеоанимацию, то есть путем объединения видеоанимаций отдельных действий могут получить комбинированную видеоанимацию нескольких действий для выражения эмоций пользователя.
Для более наглядного описания способа согласно изобретению приведен пример, иллюстрирующий конкретный способ согласно изобретению.
Пример предоставляет способ создания видеоанимации. В примере исходным изображением для видеоанимации является самостоятельно определяемое изображение пользователя. Предположим, что исходным изображением является изображение А и пользовательская команда включает одновременные действия "кивание" и "подмигивание"; способ показан на фиг.2 и включает особые этапы:
Этап 21: прием пользовательской команды, включающей действия "кивание" и "подмигивание", разбивание на команду, включающую действие "кивание", и команду, включающую действие "подмигивание".
Этап 22: определение общего числа кадров, соответствующих действию "кивание", общего числа кадров, соответствующих действию "подмигивание", и коэффициента движения для каждого кадра.
На этом этапе способ определения коэффициента движения может соответствовать описанию этапа 12.
Этап 23: вычисление смещения каждой контрольной точки в каждом кадре для действий "кивание" и "подмигивание" согласно коэффициентам движения для каждого кадра для действий "кивание" и "подмигивание".
На этом этапе способ вычисления смещений может соответствовать описанию этапа 13.
Этап 24: создание видеоанимации кивания и видеоанимации подмигивания согласно смещению каждой контрольной точки в каждом кадре для действий "кивание" и "подмигивание".
Этап 25: объединение видеоанимации кивания и видеоанимации подмигивания в комбинированную видеоанимацию кивания и подмигивания.
Предпочтительно, в примере может быть определено, что комбинированная видеоанимация кивания и подмигивания соответствует выражаемому пользователем одобрению.
В примере, после приема пользовательской команды, включающей действия "кивание" и "подмигивание", команду для выполнения нескольких действий разбивают на отдельные команды, вычисляют смещение каждой контрольной точки в каждом кадре для каждого действия, согласно смещению и общему числу кадров генерируют видеоанимацию отдельного действия, видеоанимации отдельных действий объединяют в комбинированную видеоанимацию нескольких действий. В примере, поскольку видеоанимацию генерируют путем вычисления смещений, необходим лишь малый объем вычислений, на создание видеоанимации затрачивают немного времени и способ могут использовать в широком спектре применений. Кроме того, при использовании этого способа могут создавать комбинированную видеоанимацию нескольких действий, эмоции пользователя могут быть представлены комбинацией нескольких действий, что повышает выразительность мимики в видеоанимации.
Примеры осуществления изобретения также предоставляют устройство для создания видеоанимации, показанное на фиг.3. Это устройство содержит: блок 31 приема, сконфигурированный для приема переданной пользователем команды; блок 32 определения, сконфигурированный для определения соответствующего команде действия, определения общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра; вычислительный блок 33, сконфигурированный для вычисления смещения каждой контрольной точки в каждом кадре согласно коэффициенту движения для каждого кадра; блок 34 генерации, сконфигурированный для создания видеоанимации согласно смещению каждой контрольной точки каждого кадра и общему числу кадров.
Предпочтительно, блок 32 определения содержит модуль пользовательской замены установок, сконфигурированный для задания пользователем общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра; или
модуль конфигурации, сконфигурированный для предварительного задания общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра.
Предпочтительно, если определено, что действие связано с движением глаз или бровей, то вычислительный блок 33 содержит: вычислительный модуль для движений глаз, сконфигурированный для вычисления смещения каждой контрольной точки для действия, связанного с движениями глаз или бровей, причем способ вычисления смещения может соответствовать описанному в примерах использованию способа.
Предпочтительно, если определено, что действие связано с наклонами головы влево и вправо, то вычислительный блок 33 содержит:
вычислительный модуль для наклонов головы, сконфигурированный для вычисления смещения каждой контрольной точки для действия, связанного с наклонами головы влево и вправо, причем способ вычисления смещения может соответствовать описанному в примерах использованию способа.
Предпочтительно, если определено, что действие связано с киванием или поворотами головы, то вычислительный блок 33 содержит: вычислительный модуль для движений головы, сконфигурированный для вычисления смещения каждой контрольной точки для действия, связанного с киванием или поворотами головы, причем способ вычисления смещения может соответствовать описанному в примерах использованию способа.
Предпочтительно, если определено, что действие связано с движением рта, то вычислительный блок 33 содержит: вычислительный модуль для движений рта, сконфигурированный для вычисления смещения каждой контрольной точки для действия, связанного с движением рта, причем способ вычисления смещения может соответствовать описанному в примерах использованию способа.
Предпочтительно, блок 34 генерации содержит: модуль вычисления координат и модуль генерации видео.
Модуль вычисления координат сконфигурирован для вычисления целевой координаты каждой контрольной точки в каждом кадре согласно смещению каждой контрольной точки в каждом кадре. В частности, целевую координату контрольной точки определяют следующим образом:
целевая координата в горизонтальном направлении = координата точки начала отсчета в горизонтальном направлении + смещение в горизонтальном направлении;
целевая координата в вертикальном направлении = координата точки начала отсчета в вертикальном направлении + смещение в вертикальном направлении,
Если действие связано с движением глаз, бровей, киванием, поворотами головы или движением рта, точка начала отсчета может являться контрольной точкой; если действие связано с наклонами головы влево и вправо, точка начала отсчета может являться точкой пересечения осевой линии лица и нижней контурной линии головы.
Модуль генерации видео сконфигурирован для создания видеоанимации согласно целевой координате каждой контрольной точки в каждом кадре и общему числу кадров.
В устройстве, предоставляемом в примерах осуществления изобретения, после приема пользовательской команды блоком 31 приема блок 32 определения определяет действие и коэффициент движения, соответствующий действию, вычислительный блок 33 вычисляет смещения согласно коэффициенту движения и блок 34 генерации генерирует видеоанимацию согласно смещениям и общему числу кадров. Поскольку при использовании этого устройства видеоанимацию создают без сеточной модели и символьной системы, то необходим лишь небольшой объем вычислений для создания видеоанимации согласно смещениям и общему числу кадров, на создание видеоанимации затрачивают немного времени и устройство имеет широкий спектр применения.
Специалисты в данной области техники могут понимать, что все или отдельные этапы в способе для реализации примеров могут быть реализованы путем передачи команд от программы к соответствующим аппаратным средствам, причем программа может храниться на считываемом компьютерном носителе данных. В ходе работы программы выполняют вышеуказанные этапы способа; носитель данных может представлять собой Постоянное Запоминающее Устройство ПЗУ (ROM)/Оперативное Запоминающее Устройство ОЗУ (RAM), диск, Компакт-Диск КД (CD) и так далее.
Способ и устройство, предоставляемые в примерах осуществления изобретения, могут применять для видеоанимаций на мобильных телефонах или видеоанимаций на развлекательных веб-страницах.
Резюмируя вышеизложенное: при использовании технических решений, предоставляемых в примерах осуществления изобретения, необходим лишь малый объем вычислений, на создание видеоанимации затрачивают немного времени, и технические решения могут использовать в широком спектре применений.
Вышеизложенное соответствует только предпочтительным вариантам осуществления изобретения, никак ограничивая объем патентной защиты изобретения. Все модификации, эквивалентные замены и усовершенствования, не выходящие за рамки изобретения, должны входить в объем патентной защиты изобретения. Следовательно, объем патентной защиты изобретения должны определять согласно формуле изобретения.

Claims (11)

1. Способ создания видеоанимации, включающий этапы:
принимают переданную пользователем команду, определяют соответствующее команде действие, определяют общее число кадров, соответствующих действию, и определяют коэффициент движения для каждого кадра;
вычисляют смещение каждой контрольной точки в каждом кадре согласно коэффициенту движения для каждого кадра, и создают видеоанимацию согласно смещению каждой контрольной точки в каждом кадре и общему числу кадров, отличающийся тем, что:
действие является связанным с лицом действием, контрольная точка связана с контуром деталей лица и в число деталей лица входит, по крайней мере, одно из следующего: глаза, брови, рот, голова, причем
создание видеоанимации, выполняемое согласно смещению каждой контрольной точки в каждом кадре и общему числу кадров, включает этапы:
А) вычисляют целевую координату каждой контрольной точки в каждом кадре согласно смещению каждой контрольной точки в каждом кадре, причем смещение контрольной точки включает смещение в горизонтальном направлении и смещение в вертикальном направлении, целевая координата каждой контрольной точки включает:
целевую координату в горизонтальном направлении, равную сумме координаты точки начала отсчета в горизонтальном направлении и смещения в горизонтальном направлении;
целевую координату в вертикальном направлении, равную сумме координаты точки начала отсчета в вертикальном направлении и смещения в вертикальном направлении;
если действие связано с движением глаз, бровей, киванием, поворотами головы или движением рта, точка начала отсчета является контрольной точкой; если действие связано с наклонами головы влево и вправо, точка начала отсчета является точкой пересечения осевой линии головы и нижней контурной линии головы;
В) создают видеоанимацию согласно целевой координате каждой контрольной точки в каждом кадре и общему числу кадров; и когда действие связано с движением глаз или бровей вычисление смещения каждой контрольной точки в каждом кадре, выполняемое согласно коэффициенту движения каждого кадра, включает:
смещение в горизонтальном направлении = (А_х-Src_x)*m_eyeCoef, смещение в вертикальном направлении = (A_y-Src_y)*m_eyeCoef; где (Src_x, Src_y) является исходной координатой контрольной точки, исходная координата контрольной точки - это координата контрольной точки в исходном изображении, полученном перед созданием видеоанимации; (А_х, А_y) является координатой точки пересечения отвесной линии и линии начала отсчета, причем отвесная линия проходит от исходной координаты контрольной точки к линии начала отсчета; когда действие связано с движением глаз, линия начала отсчета является линией, соединяющей углы глазной щели; когда действие связано с движением бровей, линия начала отсчета является осевой линией лица; m_eyeCoef является коэффициентом движения.
2. Способ по п.1, отличающийся тем, что определение общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра включает этапы:
пользователь задает общее число кадров, соответствующих действию, и коэффициент движения для каждого кадра, либо
предварительное задает общее число кадров, соответствующих действию, и коэффициент движения для каждого кадра.
3. Способ по п.1, отличающийся тем, что когда действие связано с наклонами головы влево и вправо вычисление смещения каждой контрольной точки в каждом кадре, выполняемое согласно коэффициенту движения каждого кадра, включает:
смещение в горизонтальном направлении = (Src_x-Pivot_x)*cos(m_angle)-(Src_y-Pivot_y)*sin(m_angle),
смещение в вертикальном направлении =(Src_x - Pivot_x) * sin(m_angle)+(Src_y-Pivot_y)*cos(m_angle); где
(Src_x, Src_y) является исходной координатой контрольной точки, исходная координата контрольной точки является координатой контрольной точки в исходном изображении, полученном перед созданием видеоанимации; (Pivot_x, Pivot_y) является координатой точки начала отсчета; m_angle является коэффициентом движения.
4. Способ по п.1, отличающийся тем, что когда действие связано с киванием или поворотами головы вычисление смещения каждой контрольной точки в каждом кадре, выполняемое согласно коэффициенту движения каждого кадра, включает:
смещение в горизонтальном направлении = Src_x+K_i*v_angle*V_x, смещение в вертикальном направлении = Src_y+K_i*v_angle*V_y; где (Src_x, Src_y) является исходной координатой контрольной точки, исходная координата контрольной точки является координатой контрольной точки в исходном изображении, полученном перед созданием видеоанимации;
K_i=Delta_l/Dis_l и (V_x, V_y) является координатой стандартного вектора; когда действие связано с киванием головой, Delta_l соответствует величине движения по вертикали при перемещении головы на фиксированный угол в градусах, Dis_l соответствуем максимальной длине головы по вертикали, стандартный вектор является вектором от самой верхней точки головы к самой нижней точке головы; когда действие связано с поворотами головы, Delta_l соответствует величине движения по горизонтали при перемещении головы на фиксированный угол в градусах, Dis_l соответствует максимальной длине головы по горизонтали, стандартный вектор является вектором от крайней левой точки головы к крайней правой точке головы; v_angle является коэффициентом движения.
5. Способ по п.1, отличающийся тем, что (когда действие связано с движением рта) вычисление смещения каждой контрольной точки в каждом кадре, выполняемое согласно коэффициенту движения каждого кадра, включает:
смещение в горизонтальном направлении = mouth Width*cos(m_horAngle)*horizonCoef*horModelCoef+mouthHeight*cos(m_verAngle)*verticeCoef*verModelCoef,
смещение в вертикальном направлении = mouth Width*sin(m_horAngle)*horizonCoef*horModelCoef+mouthHeight*sin(m_verAngle)*verticeCoef*verModelCoef; где
mouth Width является расстоянием между левым углом рта и правым углом рта, mouthHeight является высотой от верхней точки осевой линии верхней губы до нижней точки осевой линии нижней губы, m_verAngle является углом между осевой линией головы и горизонталью, m_horAngle является углом между линией углов рта и горизонталью, horizonCoef и verticeCoef являются, соответственно, коэффициентами степени движения рта по горизонтали и вертикали, horModelCoef и verModelCoef являются, соответственно, коэффициентами движения для рта в горизонтальном и вертикальном направлениях.
6. Способ по п.1, отличающийся тем, что переданная пользователем команда является командой для одиночного действия или командой для нескольких действий.
7. Устройство для создания видеоанимации, содержащее:
блок приема, сконфигурированный для приема переданной пользователем команды;
блок определения, сконфигурированный для определения соответствующего команде действия согласно команде, а также для определения общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра;
вычислительный блок, сконфигурированный для вычисления смещения каждой контрольной точки в каждом кадре согласно коэффициенту движения для каждого кадра; и
блок генерации, сконфигурированный для создания видеоанимации согласно смещению каждой контрольной точки в каждом кадре и общему числу кадров, отличающееся тем, что:
действие является связанным с лицом действием, контрольная точка связана с контуром деталей лица и в число деталей лица входит, по крайней мере, одно из следующего: глаза, брови, рот, голова; причем в состав блока генерации входят:
модуль вычисления координат, сконфигурированный для вычисления целевой координаты каждой контрольной точки в каждом кадре согласно смещению каждой контрольной точки в каждом кадре, причем смещение контрольной точки включает смещение в горизонтальном направлении и смещение в вертикальном направлении, целевая координата каждой контрольной точки является
целевой координатой в горизонтальном направлении, равной сумме координаты точки начала отсчета в горизонтальном направлении и смещения в горизонтальном направлении,
целевой координатой в вертикальном направлении, равной сумме координаты точки начала отсчета в вертикальном направлении и смещения в вертикальном направлении;
если действие связано с движением глаз, бровей, киванием, поворотами головы или движением рта, точка начала отсчета является контрольной точкой; если действие связано с наклонами головы влево и вправо, точка начала отсчета является точкой пересечения осевой линии головы и нижней контурной линии головы;
модуль генерации видео, сконфигурированный для создания видеоанимации согласно целевой координате каждой контрольной точки в каждом кадре и общему числу кадров, причем
когда действие связано с движением глаз или бровей вычислительный блок содержит:
вычислительный модуль для движений глаз, сконфигурированный для вычисления смещения глаз или бровей, причем смещение в горизонтальном направлении = (А_х-Src_x)*m_eyeCoef и смещение в вертикальном направлении = (А_y-Src_y)*m_eyeCoef; где (Src_x, Src_y) является исходной координатой контрольной точки, исходная координата контрольной точки - это координата контрольной точки в исходном изображении, полученном перед созданием видеоанимации; (А_х, А_y) является координатой точки пересечения отвесной линии и линии начала отсчета, причем отвесная линия проходит от исходной координаты контрольной точки к линии начала отсчета; когда действие связано с движением глаз, линия начала отсчета является линией, соединяющей углы глазной щели; когда действие связано с движением бровей, линия начала отсчета является осевой линией головы; m_eyeCoef является коэффициентом движения.
8. Устройство по п.7, отличающееся тем, что в состав блока определения входят:
модуль пользовательского конфигурирования, сконфигурированный для задания пользователем общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра, либо
модуль конфигурирования, сконфигурированный для предварительного задания общего числа кадров, соответствующих действию, и коэффициента движения для каждого кадра.
9. Устройство по п.7, отличающееся тем, что когда действие связано с наклонами головы влево и вправо вычислительный блок содержит: вычислительный модуль для наклонов головы, сконфигурированный для вычисления смещения при наклонах головы влево и вправо, причем смещение в горизонтальном направлении = (Src_x-Pivot_x)*cos(m_angle)-(Src_y-Pivot_y)*sin(m_angle) и смещение в вертикальном направлении = (Src_x-Pivot_x)*sin(m_angle)+(Src_y-Pivot_y)*cos(m_angle); где (Src_x, Src_y) является исходной координатой контрольной точки, исходная координата контрольной точки является координатой контрольной точки в исходном изображении, полученном перед созданием видеоанимации; (Pivot_x, Pivot_y) является координатой точки начала отсчета; m_angle является коэффициентом движения.
10. Устройство по п.7, в котором (когда действие связано с киванием или поворотами головы) вычислительный блок содержит:
вычислительный модуль для движений головы, сконфигурированный для вычисления смещения при кивании или поворотах головы, причем смещение в горизонтальном направлении = Src_х+K_i*v_angle*V_x, смещение в вертикальном направлении = Src_y+K_i*v_angle*V_y; где (Src_x, Src_y) является исходной координатой контрольной точки, исходная координата контрольной точки является координатой контрольной точки в исходном изображении, полученном перед созданием видеоанимации; K_i=Delta_l/Dis_l и (V_x, V_y) является координатой стандартного вектора;
когда действие связано с киванием головой, Delta_l соответствует величине движения по вертикали при перемещении головы на фиксированный угол в градусах, Dis_l соответствует максимальной длине головы по вертикали, стандартный вектор является вектором от самой верхней точки головы к самой нижней точке головы; когда действие связано с поворотами головы, Delta_1 соответствует величине движения по горизонтали при перемещении головы на фиксированный угол в градусах, Dis_1 соответствует максимальной длине головы по горизонтали, стандартный вектор является вектором от крайней левой точки головы к крайней правой точке головы; v_angle является коэффициентом движения.
11. Устройство по п.7, в котором когда действие связано с движением рта вычислительный блок содержит:
вычислительный модуль для движений рта, сконфигурированный для вычисления смещения при движении рта, причем
смещение в горизонтальном направлении = mouthWidth*cos(m_horAngle)*horizonCoef*horModelCoef+mouthHeight*cos(m_verAngle)*verticeCoef*verModelCoef,
смещение в вертикальном направлении = mouthWidth*sin(m_horAngle)*horizonCoef*horModelCoef+mouthHeight*sin(m_verAngle)*xverticeCoef*verModelCoef; где mouthWidth является расстоянием между левым углом рта и правым углом рта, mouthHeight является высотой от верхней точки осевой линии верхней губы до нижней точки осевой линии нижней губы, m_verAngle является углом между осевой линией головы и горизонталью, m_horAngle является углом между линией углов глазной щели и горизонталью, horizonCoef и verticeCoef являются, соответственно, коэффициентами степени движения рта по горизонтали и вертикали, horModelCoef и verModelCoef являются, соответственно, коэффициентами движения для рта в горизонтальном и вертикальном направлениях.
RU2011126626/08A 2008-12-03 2009-11-20 Способ и устройство для создания видеоанимации RU2487412C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2008101845175A CN101436312B (zh) 2008-12-03 2008-12-03 一种生成视频动画的方法及装置
CN200810184517.5 2008-12-03
PCT/CN2009/075062 WO2010063217A1 (zh) 2008-12-03 2009-11-20 一种生成视频动画的方法及装置

Publications (2)

Publication Number Publication Date
RU2011126626A RU2011126626A (ru) 2013-01-10
RU2487412C2 true RU2487412C2 (ru) 2013-07-10

Family

ID=40710742

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011126626/08A RU2487412C2 (ru) 2008-12-03 2009-11-20 Способ и устройство для создания видеоанимации

Country Status (6)

Country Link
US (1) US8441485B2 (ru)
CN (1) CN101436312B (ru)
BR (1) BRPI0922694B1 (ru)
RU (1) RU2487412C2 (ru)
SG (1) SG171453A1 (ru)
WO (1) WO2010063217A1 (ru)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436312B (zh) * 2008-12-03 2011-04-06 腾讯科技(深圳)有限公司 一种生成视频动画的方法及装置
CN102054287B (zh) * 2009-11-09 2015-05-06 腾讯科技(深圳)有限公司 面部动画视频生成的方法及装置
CN103918010B (zh) * 2011-11-24 2017-06-30 诺基亚技术有限公司 用于生成与多媒体内容相关联的动画图像的方法、装置和计算机程序产品
KR101642947B1 (ko) * 2015-01-16 2016-08-10 네이버 주식회사 만화 데이터 생성 장치, 방법, 컴퓨터 프로그램 및 만화 데이터 표시 장치
CN107180446B (zh) * 2016-03-10 2020-06-16 腾讯科技(深圳)有限公司 人物面部模型的表情动画生成方法及装置
CN106250815B (zh) * 2016-07-05 2019-09-20 上海引波信息技术有限公司 一种基于嘴部特征的快速表情识别方法
CN108900904B (zh) * 2018-07-27 2021-10-15 北京市商汤科技开发有限公司 视频处理方法及装置、电子设备和存储介质
CN109949393B (zh) * 2019-01-09 2023-09-12 广州小鹏汽车科技有限公司 一种动画效果处理方法、系统及装置
CN113313790A (zh) * 2021-05-31 2021-08-27 北京字跳网络技术有限公司 视频生成方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0993197A2 (en) * 1998-10-07 2000-04-12 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. A method and an apparatus for the animation, driven by an audio signal, of a synthesised model of human face
US20020149622A1 (en) * 2001-04-12 2002-10-17 Akira Uesaki Animation data generation apparatus, animation data generation method, animated video generation apparatus, and animated video generation method
US20030197703A1 (en) * 1997-01-29 2003-10-23 Sharp Kabushiki Kaisha Method of processing animation by interpolation between key frames with small data quantity
EA005914B1 (ru) * 2002-07-31 2005-06-30 Альфред мл. Макзил Беспроводное карманное компьютерное устройство связи, глобальная портативная радиостанция и способ осуществления связи
EP1188293B1 (en) * 1999-12-31 2005-10-19 Schneider Automation Inc. Dual ethernet stack for maximum speed access to a plc
US7027054B1 (en) * 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633673A (en) * 1984-09-14 1987-01-06 Morrison Daniel R Emergency shutoff for air conditioners
US4787212A (en) * 1987-10-19 1988-11-29 Hessey John C Air conditioner with automatic shutdown
US4937559A (en) * 1989-08-21 1990-06-26 Meacham Huey W Air conditioner drain blockage alarm
US5028910A (en) * 1989-12-08 1991-07-02 Meacham Huey W Drain overflow alarm
US4998412A (en) * 1990-01-22 1991-03-12 Joel Bell Blockage alert and purge system
US5522229A (en) * 1994-11-03 1996-06-04 Stuchlik, Iii; Charles F. Blockage detector
US6232965B1 (en) * 1994-11-30 2001-05-15 California Institute Of Technology Method and apparatus for synthesizing realistic animations of a human speaking using a computer
US6462742B1 (en) * 1999-08-05 2002-10-08 Microsoft Corporation System and method for multi-dimensional motion interpolation using verbs and adverbs
US6504546B1 (en) * 2000-02-08 2003-01-07 At&T Corp. Method of modeling objects to synthesize three-dimensional, photo-realistic animations
US20030201898A1 (en) * 2002-04-25 2003-10-30 Stuchlik Charles F. Blockage detector with separate alarm and shut-off functions
US6919892B1 (en) * 2002-08-14 2005-07-19 Avaworks, Incorporated Photo realistic talking head creation system and method
CN1710613A (zh) * 2004-06-16 2005-12-21 甲尚股份有限公司 自动产生动画的系统与方法
CN101069214A (zh) 2004-10-01 2007-11-07 索尼电影娱乐公司 为计算机图形动画制作跟踪面部肌肉和眼睛运动的系统和方法
US7191606B1 (en) * 2005-04-29 2007-03-20 Dwyer Kenneth W Drain trap alarm
US7567251B2 (en) * 2006-01-10 2009-07-28 Sony Corporation Techniques for creating facial animation using a face mesh
EP2030171A1 (en) * 2006-04-10 2009-03-04 Avaworks Incorporated Do-it-yourself photo realistic talking head creation system and method
CN101473352A (zh) 2006-04-24 2009-07-01 索尼株式会社 表演驱动的脸部动画
CN101311966A (zh) * 2008-06-20 2008-11-26 浙江大学 一种基于运行传播和Isomap分析的三维人脸动画编辑与合成方法
CN101436312B (zh) * 2008-12-03 2011-04-06 腾讯科技(深圳)有限公司 一种生成视频动画的方法及装置
US8059004B2 (en) * 2009-01-07 2011-11-15 Eric James Drain blockage responsive alarm system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030197703A1 (en) * 1997-01-29 2003-10-23 Sharp Kabushiki Kaisha Method of processing animation by interpolation between key frames with small data quantity
EP0993197A2 (en) * 1998-10-07 2000-04-12 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. A method and an apparatus for the animation, driven by an audio signal, of a synthesised model of human face
EP1188293B1 (en) * 1999-12-31 2005-10-19 Schneider Automation Inc. Dual ethernet stack for maximum speed access to a plc
US20020149622A1 (en) * 2001-04-12 2002-10-17 Akira Uesaki Animation data generation apparatus, animation data generation method, animated video generation apparatus, and animated video generation method
EA005914B1 (ru) * 2002-07-31 2005-06-30 Альфред мл. Макзил Беспроводное карманное компьютерное устройство связи, глобальная портативная радиостанция и способ осуществления связи
US7027054B1 (en) * 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Doug Decarlo et al. Specifying and animation facial for discourse in embodied conversational agents, 03.06.2003, найден в Интернет, по адресу URL: http://www.es.rutgers.edu/~village/ruth. *

Also Published As

Publication number Publication date
RU2011126626A (ru) 2013-01-10
BRPI0922694B1 (pt) 2021-11-09
BRPI0922694A2 (pt) 2021-06-15
US20110227932A1 (en) 2011-09-22
WO2010063217A1 (zh) 2010-06-10
US8441485B2 (en) 2013-05-14
CN101436312A (zh) 2009-05-20
SG171453A1 (en) 2011-07-28
CN101436312B (zh) 2011-04-06

Similar Documents

Publication Publication Date Title
RU2487412C2 (ru) Способ и устройство для создания видеоанимации
US20210201552A1 (en) Systems and methods for real-time complex character animations and interactivity
US8487954B2 (en) Automatic 3D modeling
CN110322571B (zh) 一种页面处理方法、装置及介质
JP2005293122A (ja) 大表面オブジェクト表示機能を有するゲームソフトウエア及びゲーム装置
JP2008102972A (ja) 自動3dモデリングシステム及び方法
KR20010113703A (ko) 굴절 매핑을 실행하는 시스템 및 방법
JP2008140385A (ja) キャラクタアニメーション時の皮膚のしわのリアルタイム表現方法及び装置
CN114170648A (zh) 视频生成方法、装置、电子设备及存储介质
CN111739134B (zh) 虚拟角色的模型处理方法、装置及可读存储介质
EP4152269B1 (en) Method and apparatus of training model, device, and medium
CN111915479A (zh) 图像处理方法及装置、电子设备和计算机可读存储介质
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP6062589B1 (ja) プログラム、情報処理装置、影響度導出方法、画像生成方法及び記録媒体
KR20240055025A (ko) 실용 3d 에셋을 위한 추론된 골격 구조
CN112435316B (zh) 一种游戏中的防穿模方法、装置、电子设备及存储介质
JP4244352B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP2003346181A (ja) アニメーション画像の生成プログラム
Leandro Parreira Duarte et al. Coarticulation and speech synchronization in MPEG-4 based facial animation
WO2024027307A1 (zh) 口型动画生成方法、装置、设备和介质
US20230394732A1 (en) Creating images, meshes, and talking animations from mouth shape data
JP2009247555A (ja) 画像生成システム、プログラム及び情報記憶媒体
CN116309966A (zh) 虚拟对象的变形处理方法、装置、存储介质与电子设备
Ostrovka et al. A Method for Modifying the Geometry of 3D Surfaces in USDZ Format with Further Implementation in the SceneKit Game Engine.
CN118160008A (zh) 实用3d资产的推断的骨骼结构