RU2544770C2 - Система и способы для применения анимаций или движений к персонажу - Google Patents

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

Info

Publication number
RU2544770C2
RU2544770C2 RU2011148395/08A RU2011148395A RU2544770C2 RU 2544770 C2 RU2544770 C2 RU 2544770C2 RU 2011148395/08 A RU2011148395/08 A RU 2011148395/08A RU 2011148395 A RU2011148395 A RU 2011148395A RU 2544770 C2 RU2544770 C2 RU 2544770C2
Authority
RU
Russia
Prior art keywords
movement
user
recorded
model
virtual character
Prior art date
Application number
RU2011148395/08A
Other languages
English (en)
Other versions
RU2011148395A (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 RU2011148395A publication Critical patent/RU2011148395A/ru
Application granted granted Critical
Publication of RU2544770C2 publication Critical patent/RU2544770C2/ru

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/215Input arrangements for video game devices characterised by their sensors, purposes or types comprising means for detecting acoustic signals, e.g. using a microphone
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/816Athletics, e.g. track-and-field sports
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5593Details of game data or player data management involving scheduling aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8005Athletics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
Множество вычислительных приложений, таких как компьютерные игры, мультимедийные приложения и т.п., включают в себя аватары или персонажей, которые анимируются с использованием типичных способов захвата движения. Например, при разработке игры в гольф профессиональный гольфист может быть приглашен в студию, имеющую оборудование для захвата движения, включающее в себя, например, множество камер, направленных в конкретную точку в студии. Профессиональный гольфист затем может быть одет в костюм для захвата движения, имеющий множество точечных индикаторов, которые могут конфигурироваться и отслеживаться посредством камер, так что камеры могут захватывать, например, движения при игре в гольф профессионального гольфиста. Движения затем могут применяться к аватару или персонажу во время разработки игры в гольф. При проведении игры в гольф аватар или персонаж затем могут быть анимированы с помощью движений профессионального гольфиста во время проведения игры в гольф. К сожалению, типичные способы захвата движения являются затратными, привязаны к разработке конкретного приложения и не включают в себя движения, ассоциированные с фактическим игроком или пользователем приложения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В данном документе раскрыты системы и способы для смешивания анимаций. Например, в одном варианте осуществления живое движение пользователя может захватываться, и предварительно записанное движение, к примеру предварительно записанное сгенерированное актером движение, предварительно записанное движение пользователя и/или программно-управляемое преобразование может быть принято. Живое движение затем может применяться к первой части виртуального персонажа, и предварительно записанное движение может применяться ко второй части виртуального персонажа, так что виртуальный персонаж может быть анимирован с помощью комбинации живых и предварительно записанных движений. Согласно одному варианту осуществления, живое движение и/или предварительно записанное движение может применяться к виртуальному персонажу в ответ на прием телодвижения от пользователя, которое может быть ассоциировано с командой анимации. Дополнительно, виртуальный персонаж может быть анимирован с помощью комбинации предварительно записанных движений, к примеру предварительно записанного движения пользователя и предварительно записанной сгенерированной актером анимации, например, посредством применения предварительно записанного движения пользователя к первой части виртуального персонажа и применения предварительно записанной сгенерированной актером анимации ко второй части виртуального персонажа.
Данная сущность изобретения предоставлена для того, чтобы представлять в упрощенной форме выбор концепций, которые дополнительно описаны ниже в подробном описании. Эта сущность не имеет намерением ни то, чтобы идентифицировать ключевые признаки или важнейшие признаки заявленного предмета изобретения, ни то, чтобы использоваться так, что она ограничивает объем заявленного предмета изобретения. Кроме того, заявленный предмет изобретения не ограничен реализациями, которые разрешают какие-либо или все недостатки, отмеченные в любой части данного раскрытия сущности.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1A и 1B иллюстрируют примерный вариант осуществления системы распознавания, анализа и отслеживания целей при проведении игры пользователем.
Фиг.2 иллюстрирует примерный вариант осуществления устройства захвата, которое может быть использовано в системе распознавания, анализа и отслеживания целей.
Фиг.3 иллюстрирует примерный вариант осуществления вычислительного окружения, которое может быть использовано для того, чтобы интерпретировать одно или более телодвижений в системе распознавания, анализа и отслеживания целей и/или анимировать виртуального персонажа, отображаемого посредством системы распознавания, анализа и отслеживания целей.
Фиг.4 иллюстрирует другой примерный вариант осуществления вычислительного окружения, которое может быть использовано для того, чтобы интерпретировать одно или более телодвижений в системе распознавания, анализа и отслеживания целей и/или анимировать виртуального персонажа, отображаемого посредством системы распознавания, анализа и отслеживания целей.
Фиг.5 описывает блок-схему последовательности операций примерного способа для генерирования и применения файла захвата движения пользователя.
Фиг.6 иллюстрирует примерный вариант осуществления изображения, которое может включать в себя человеческую цель, ассоциированную с пользователем.
Фиг.7 иллюстрирует примерный вариант осуществления модели, которая может быть сгенерирована для человеческой цели, ассоциированной с пользователем.
Фиг.8A-8B иллюстрируют примерный вариант осуществления модели, ассоциированной с пользователем, который может захватываться в различные моменты времени в файле захвата движения.
Фиг.9A-9B иллюстрируют примерный вариант осуществления модели для виртуального персонажа, который может быть анимирован на основе модели в различные моменты времени.
Фиг.10A-10B иллюстрируют примерный вариант осуществления виртуального персонажа, который может быть анимирован.
Фиг.11A-11F иллюстрируют другой примерный вариант осуществления виртуального персонажа, который может быть анимирован.
Фиг.12A-12B иллюстрируют другой примерный вариант осуществления виртуального персонажа игры, который может быть анимирован.
ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Как описано в данном документе, пользователь может управлять приложением, запущенным в вычислительном окружении, таком как игровая приставка, компьютер и т.п., и/или может анимировать виртуального персонажа, такого как аватар, экранный персонаж, экранный объект и т.п., посредством выполнения одного или более телодвижений и/или перемещений. Согласно одному варианту осуществления, телодвижения и/или перемещения могут быть приняты, например, посредством устройства захвата. Например, устройство захвата может захватывать изображение глубины сцены. В одном варианте осуществления, устройство захвата может определять то, соответствует или нет одна или более целей либо объектов в сцене человеческой цели, к примеру, пользователю. Каждая цель или объект, который совпадает (соответствует) с человеческой целью, затем может сканироваться, чтобы сгенерировать модель, такую как скелетная модель, ячеистая модель человека и т.п., ассоциированную с ним. В примерном варианте осуществления, модель может отслеживаться, файл захвата движения отслеживаемой модели может генерироваться, виртуальный персонаж или объект, ассоциированный с моделью пользователя, может подготавливаться посредством рендеринга, виртуальный персонаж или объект может быть анимирован с помощью живых движений, ассоциированных с моделью пользователя, и/или предварительно записанных движений, и/или может определяться то, какие управляющие воздействия выполнять в приложении, запущенном в компьютерном окружении, на основе, например, отслеживаемой модели.
Фиг. 1A и 1B иллюстрируют примерный вариант осуществления конфигурации системы 10 распознавания, анализа и отслеживания целей при проведении пользователем 18 боксерской игры. В примерном варианте осуществления, система 10 распознавания, анализа и отслеживания целей может быть использована для того, чтобы распознавать, анализировать и/или отслеживать человеческую цель, к примеру, пользователя 18.
Как показано на фиг. 1A, система 10 распознавания, анализа и отслеживания целей может включать в себя вычислительное окружение 12. Вычислительное окружение 12 может быть компьютером, игровой приставкой или устройством и т.п. Согласно примерному варианту осуществления, вычислительное окружение 12 может включать в себя аппаратные компоненты и/или программные компоненты, так что вычислительное окружение 12 может быть использовано для того, чтобы запускать приложения, к примеру игровые приложения, неигровые приложения и т.п. В одном варианте осуществления, вычислительное окружение 12 может включать в себя процессор, к примеру стандартизированный процессор, специализированный процессор, микропроцессор и т.п., который может выполнять инструкции, включающие в себя, например, инструкции для захвата живого движения пользователя, приема предварительно записанного движения, применения живого движения к первой части виртуального объекта и предварительно записанного движения ко второй части виртуального объекта, либо любые другие подходящие инструкции, что подробнее описано ниже.
Как показано на фиг. 1A, система 10 распознавания, анализа и отслеживания целей дополнительно может включать в себя устройство 20 захвата. Устройство 20 захвата может быть, например, камерой, которая может быть использована для того, чтобы визуально отслеживать одного или более пользователей, к примеру пользователя 18, так что телодвижения и/или перемещения, выполняемые одним или более пользователями, могут захватываться, анализироваться и отслеживаться, чтобы выполнять одно или более управляющих воздействий или действий в приложении и/или анимировать виртуального персонажа, такого как аватар, экранный персонаж, экранный объект и т.п., как подробнее описано ниже.
Согласно одному варианту осуществления, система 10 распознавания, анализа и отслеживания целей может подключаться к аудиовизуальному устройству 16, такому как телевизионный приемник, монитор, телевизионный приемник высокой четкости (HDTV) и т.п., который может предоставлять видео и/или аудиоигры либо приложения пользователю, к примеру пользователю 18. Например, вычислительное окружение 12 может включать в себя видеоадаптер, к примеру видеокарту, и/или аудиоадаптер, к примеру звуковую карту, которая может предоставлять аудиовизуальные сигналы, ассоциированные с игровым приложением, неигровым приложением и т.п. Аудиовизуальное устройство 16 может принимать аудиовизуальные сигналы из вычислительного окружения 12 и затем может выводить видео и/или аудиоигры либо приложения, ассоциированного с аудиовизуальными сигналами, пользователю 18. Согласно одному варианту осуществления, аудиовизуальное устройство 16 может подключаться к вычислительному окружению 12, например, через S-Video-кабель, коаксиальный кабель, HDMI-кабель, DVI-кабель, VGA-кабель и т.п.
Как показано на фиг. 1A и 1B, система 10 распознавания, анализа и отслеживания целей может быть использована для того, чтобы распознавать, анализировать и/или отслеживать человеческую цель, к примеру, пользователя 18. Например, пользователь 18 может отслеживаться с использованием устройства 20 захвата, так что телодвижения и/или перемещения пользователя 18 могут захватываться, чтобы анимировать виртуального персонажа, такого как аватар, экранный персонаж, экранный объект и т.п., и/или могут быть интерпретированы в качестве управляющих воздействий, которые могут быть использованы для того, чтобы влиять на приложение, запущенное посредством компьютерного окружения 12. Таким образом, согласно одному варианту осуществления, пользователь 18 может двигать своим телом, чтобы управлять приложением и/или анимировать виртуальный объект.
Как показано на фиг. 1A и 1B, в примерном варианте осуществления, приложением, запущенным в вычислительном окружении 12, может быть боксерская игра, которую может проводить пользователь 18. Например, вычислительное окружение 12 может использовать аудиовизуальное устройство 16, чтобы предоставлять визуальное представление оппонента 38 по боксерскому поединку пользователю 18. Вычислительное окружение 12 также может использовать аудиовизуальное устройство 16, чтобы предоставлять визуальное представление аватара игрока 40, которым пользователь 18 может управлять с помощью своих перемещений. Например, как показано на фиг. 1B, пользователь 18 может наносить удар в физическом пространстве, чтобы заставлять аватар игрока 40 наносить удар в игровом пространстве. Таким образом, согласно примерному варианту осуществления, компьютерное окружение 12 и устройство 20 захвата системы 10 распознавания, анализа и отслеживания целей могут быть использованы для того, чтобы распознавать и анализировать удар пользователя 18 в физическом пространстве так, что удар может быть интерпретирован в качестве игрового управляющего воздействия аватара игрока 40 в игровом пространстве, и/или движение при ударе может быть использовано для того, чтобы анимировать аватар игрока 40 в игровом пространстве.
Другие перемещения пользователем 18 также могут быть интерпретированы в качестве других управляющих воздействий или действий и/или использованы для того, чтобы анимировать аватар игрока, к примеру управляющих воздействий, чтобы отскакивать, уклоняться, уворачиваться, блокировать, наносить резкий удар рукой или множество ударов различной силы. Кроме того, некоторые перемещения могут быть интерпретированы в качестве управляющих воздействий, которые могут соответствовать действиям, отличным от управления аватаром игрока 40. Например, игрок может использовать перемещения для того, чтобы завершать, приостанавливать или сохранять игру, выбирать уровень, просматривать рекордное количество очков, общаться с другом и т.д. Дополнительно, полный спектр движения пользователя 18 может быть доступен, использован и проанализирован любым подходящим способом, чтобы взаимодействовать с приложением.
В примерных вариантах осуществления, человеческая цель, к примеру, пользователь 18 может иметь объект. В таких вариантах осуществления, пользователь электронной игры может держать объект так, что движения игрока и объекта могут быть использованы для того, чтобы регулировать и/или управлять параметрами игры. Например, движение игрока, держащего ракетку, может отслеживаться и использоваться для управления экранной ракеткой в электронной спортивной игре. В другом примерном варианте осуществления, движение игрока, держащего объект, может отслеживаться и использоваться для управления экранным оружием в электронной боевой игре.
Согласно другим примерным вариантам осуществления, система 10 распознавания, анализа и отслеживания целей дополнительно может быть использована для того, чтобы интерпретировать целевые перемещения в качестве управляющих воздействий операционной системы и/или приложения, которые находятся вне области игр. Например, фактически любой управляемый аспект операционной системы и/или приложения может управляться посредством перемещений цели, к примеру пользователя 18.
Фиг. 2 иллюстрирует примерный вариант осуществления устройства 20 захвата, которое может быть использовано в системе 10 распознавания, анализа и отслеживания целей. Согласно примерному варианту осуществления, устройство 20 захвата может быть выполнено с возможностью захватывать видео с информацией глубины, включающей в себя изображение глубины, которое может включать в себя значения глубины, через любую подходящую технологию, включающую в себя, например, время пролета, структурированный свет, стереоизображение и т.п. Согласно одному варианту осуществления, устройство 20 захвата может организовать информацию глубины в "Z-уровни", или уровни, которые могут быть перпендикулярными оси Z, идущей от камеры глубины вдоль ее линии видимости.
Как показано на фиг. 2, устройство 20 захвата может включать в себя компонент 22 камеры для съемки изображений. Согласно примерному варианту осуществления, компонент 22 камеры для съемки изображений может быть камерой для съемки глубины, которая может захватывать изображение глубины сцены. Изображение глубины может включать в себя двумерную пикселную область захватываемой сцены, причем каждый пиксел в двумерной пикселной области может представлять значение глубины, к примеру длину или расстояние, например, в сантиметрах, миллиметрах и т.п. объекта в захватываемой сцене от камеры.
Как показано на фиг. 2, согласно примерному варианту осуществления, компонент 22 камеры для съемки изображений может включать в себя компонент 24 инфракрасного света, трехмерную камеру 26 и RGB-камеру 28, которые могут быть использованы для того, чтобы захватывать изображение глубины сцены. Например, при анализе на основе времени пролета компонент 24 инфракрасного света устройства 20 захвата может испускать инфракрасный свет на сцену и затем может использовать датчики (не показаны), чтобы обнаруживать свет обратного рассеяния от поверхности одной или более целей и объектов в сцене с использованием, например, трехмерной камеры 26 и/или RGB-камеры 28. В некоторых вариантах осуществления, импульсный инфракрасный свет может быть использован, так что время между исходящим световым импульсом и соответствующим входящим световым импульсом может измеряться и использоваться для того, чтобы определять физическое расстояние от устройства 20 захвата до конкретного местоположения на целях или объектах в сцене. Дополнительно, в других примерных вариантах осуществления фаза исходящей световой волны может сравниваться с фазой входящей световой волны, чтобы определять сдвиг фаз. Сдвиг фаз затем может быть использован для того, чтобы определять физическое расстояние от устройства захвата до конкретного местоположения на целях или объектах.
Согласно другому примерному варианту осуществления, анализ времени прохождения может быть использован для того, чтобы косвенно определять физическое расстояние от устройства 20 захвата до конкретного местоположения на целях или объектах посредством анализа интенсивности отраженного луча света во времени через различные способы, включающие в себя, например, формирование изображений на основе световых импульсов.
В другом примерном варианте осуществления, устройство 20 захвата может использовать структурированный свет, чтобы захватывать информацию глубины. При таком анализе шаблонный свет (т.е. свет, отображаемый в качестве известного шаблона, к примеру сетчатого шаблона или полоскового шаблона) может проецироваться на сцену, например, через компонент 24 инфракрасного света. После удара о поверхность одной или более целей или объектов в сцене шаблон может становиться деформированным в ответ. Такое искажение шаблона может захватываться, например, посредством трехмерной камеры 26 и/или RGB-камеры 28 и затем может анализироваться, чтобы определять физическое расстояние от устройства захвата до конкретного местоположения на целях или объектах.
Согласно другому варианту осуществления, устройство 20 захвата может включать в себя две или более физически разделенных камеры, которые могут просматривать сцену с различных углов, чтобы получать визуальные стереоданные, которые могут разрешаться, чтобы генерировать информацию глубины.
Устройство 20 захвата дополнительно может включать в себя микрофон 30. Микрофон 30 может включать в себя преобразователь или датчик, который может принимать и преобразовывать звук в электрический сигнал. Согласно одному варианту осуществления, микрофон 30 может быть использован для того, чтобы уменьшать обратную связь между устройством 20 захвата и вычислительным окружением 12 в системе 10 распознавания, анализа и отслеживания целей. Дополнительно, микрофон 30 может быть использован для того, чтобы принимать аудиосигналы, которые также могут предоставляться пользователем, чтобы управлять приложениями, такими как игровые приложения, неигровые приложения и т.п., которые могут быть запущены посредством вычислительного окружения 12.
В примерном варианте осуществления, устройство 20 захвата дополнительно может включать в себя процессор 32, который может поддерживать функциональную связь с компонентом 22 камеры для съемки изображений. Процессор 32 может включать в себя стандартизированный процессор, специализированный процессор, микропроцессор и т.п., который может выполнять инструкции, включающие в себя, например, инструкции для захвата живого движения пользователя, приема предварительно записанного движения, применения живого движения к первой части виртуального объекта и предварительно записанного движения ко второй части виртуального объекта, либо любые другие подходящие инструкции, что подробнее описано ниже.
Устройство 20 захвата дополнительно может включать в себя компонент 34 памяти, который может сохранять инструкции, которые могут быть выполнены посредством процессора 32, изображения или кадры изображений, захватываемых посредством трехмерной камеры или RGB-камеры, или любую другую подходящую информацию, изображения и т.п. Согласно примерному варианту осуществления, компонент 34 запоминающего устройства может включать в себя оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), кэш, флэш-память, жесткий диск или любой другой подходящий компонент хранения данных. Как показано на фиг. 2, в одном варианте осуществления, компонент 34 памяти может быть отдельным компонентом, поддерживающим связь с компонентом 22 захвата изображений и процессором 32. Согласно другому варианту осуществления, компонент 34 памяти может быть интегрирован в процессор 32 и/или компонент 22 захвата изображений.
Как показано на фиг. 2, устройство 20 захвата может поддерживать связь с вычислительным окружением 12 через линию 36 связи. Линия 36 связи может быть проводным подключением, в том числе, например, USB-подключением, Firewire-подключением, подключением по Ethernet-кабелю и т.п., и/или беспроводным подключением, таким как беспроводное подключение по стандарту 802.11b, g, a или n. Согласно одному варианту осуществления, вычислительное окружение 12 может предоставлять синхросигнал в устройство 20 захвата, который может быть использован для того, чтобы определять, когда захватывать, например, сцену через линию 36 связи.
Дополнительно, устройство 20 захвата может предоставлять информацию глубины и изображения, захватываемые, например, посредством трехмерной камеры 26 и/или RGB-камеры 28, и/или скелетную модель, которая может генерироваться посредством устройства 20 захвата, в вычислительное окружение 12 через линию 36 связи. Вычислительное окружение 12 затем может использовать модель, информацию глубины и захватываемые изображения, например, для того, чтобы управлять приложением, таким как игра или текстовый процессор, и/или анимировать виртуального персонажа, такого как экранный персонаж, аватар, экранный объект и т.п. Например, как показано на фиг. 2, вычислительное окружение 12 может включать в себя библиотеку 190 телодвижений. Библиотека 190 телодвижений может включать в себя набор фильтров телодвижений, каждый из которых содержит информацию относительно телодвижения, которое может выполняться посредством скелетной модели (по мере того, как пользователь перемещается). Данные, захватываемые посредством камер 26, 28 и устройства 20 захвата в форме скелетной модели, и перемещения, ассоциированные с ним, могут сравниваться с фильтрами телодвижений в библиотеке 190 телодвижений, чтобы идентифицировать, когда пользователь (как представлено посредством скелетной модели) выполняет одно или более телодвижений. Эти телодвижения могут быть ассоциированы с различными управляющими воздействиями приложения. Таким образом, вычислительное окружение 12 может использовать библиотеку 190 телодвижений для того, чтобы интерпретировать перемещения скелетной модели и управлять приложением на основе перемещений.
Фиг.3 иллюстрирует примерный вариант осуществления вычислительного окружения, которое может быть использовано для того, чтобы интерпретировать одно или более телодвижений в системе распознавания, анализа и отслеживания целей и/или анимировать виртуального персонажа, такого как аватар, экранный персонаж, экранный объект и т.п., отображаемый посредством системы распознавания, анализа и отслеживания целей. Вычислительное окружение, к примеру вычислительное окружение 12, описанное выше относительно фиг. 1A-2, может быть мультимедийной приставкой 100, к примеру игровой приставкой. Как показано на фиг. 3, мультимедийная приставка 100 имеет центральный процессор (CPU) 101, имеющий кэш 102 первого уровня, кэш 104 второго уровня и флэш-ROM (постоянное запоминающее устройство) 106. Кэш 102 первого уровня и кэш 104 второго уровня временно сохраняют данные и, следовательно, сокращают число циклов доступа к памяти, тем самым повышая скорость обработки и пропускную способность. CPU 101 может быть предоставлен с несколькими ядрами, и, таким образом, с дополнительными кэшами 102 и 104 первого и второго уровней. Флэш-ROM 106 может сохранять исполняемый код, который загружается во время первоначальной фазы процесса загрузки, когда мультимедийная приставка 100 включается.
Блок 108 графической обработки (GPU) и видеокодер/видеокодек (кодер/декодер) 104 формируют конвейер видеообработки для высокоскоростной графической обработки с высоким разрешением. Данные передаются из блока 108 графической обработки в видеокодер/видеокодек 114 через шину. Конвейер видеообработки выводит данные в A/V-(аудио/видео) порт 140 для передачи на телевизионный приемник или другой дисплей. Контроллер 110 памяти соединен с GPU 108, чтобы упрощать доступ процессора к различным типам памяти 112, таким как, но не только, RAM (оперативное запоминающее устройство).
Мультимедийная приставка 100 включает в себя контроллер 120 ввода-вывода, контроллер 122 управления системой, блок 123 аудиообработки, контроллер 124 сетевого интерфейса, первый USB-хост-контроллер 126, второй USB-контроллер 128 и подсистему 130 ввода-вывода на передней панели, которые предпочтительно реализованы в модуле 118. USB-контроллеры 126 и 128 служат в качестве хостов для периферийных контроллеров 142(1)-142(2), беспроводного адаптера 148 и внешнего запоминающего устройства 146 (к примеру, флэш-памяти, внешнего накопителя на CD/DVD ROM, съемных носителей и т.д.). Сетевой интерфейс 124 и/или беспроводной адаптер 148 предоставляют доступ к сети (например, к Интернету, домашней сети и т.д.) и может быть любым из широкого множества различных компонентов проводных или беспроводных адаптеров, включающих в себя Ethernet-карту, модем, Bluetooth-модуль, кабельный модем и т.п.
Системная память 143 предусмотрена для того, чтобы сохранять данные приложений, которые загружаются во время процесса загрузки. Предусмотрен накопитель 144 на носителях, и он может содержать накопитель на DVD/CD, жесткий диск или другой накопитель на съемных носителях и т.д. Накопитель 144 на носителях может быть внутренним или внешним для мультимедийной приставки 100. Данные приложений могут быть доступными через накопитель 144 на носителях для выполнения, воспроизведения и т.д. посредством мультимедийной приставки 100. Накопитель 144 на носителях подключается к контроллеру 120 ввода-вывода посредством шины, такой как шина Serial ATA или другое высокоскоростное подключение (к примеру, IEEE 1394).
Контроллер 122 управления системой предоставляет множество служебных функций, связанных с обеспечением работоспособности мультимедийной приставки 100. Блок 123 аудиообработки и аудиокодек 132 формируют соответствующий конвейер аудиообработки с высокой точностью и стереообработкой. Аудиоданные передаются между блоком 123 аудиообработки и аудиокодеком 132 через линию связи. Конвейер аудиообработки выводит данные в A/V-порт 140 для воспроизведения посредством внешнего аудиопроигрывателя или устройства, имеющего аудиовозможности.
Подсистема 130 ввода-вывода на передней панели поддерживает функциональность кнопки 150 включения питания и кнопки 152 выброса, а также множества светодиодов (светоизлучающих диодов) или других индикаторов, размещенных на внешней поверхности мультимедийной приставки 100. Модуль 136 системного источника питания предоставляет питание в компоненты мультимедийной приставки 100. Вентилятор 138 охлаждает схему внутри мультимедийной приставки 100.
CPU 101, GPU 108, контроллер 110 памяти и различные другие компоненты в мультимедийной приставке 100 взаимосвязаны через одну или более шин, включающих в себя последовательные и параллельные шины, шину запоминающего устройства, периферийную шину и процессорную или локальную шину, с использованием любой из множества шинных архитектур. В качестве примера, такие архитектуры могут включать в себя шину по стандарту взаимодействия периферийных компонентов (PCI), PCI-Express-шину и т.д.
Когда мультимедийная приставка 100 включается, данные приложений могут быть загружены из системной памяти 143 в память 112 и/или кэши 102, 104 и выполнены в CPU 101. Приложение может представлять графический пользовательский интерфейс, который предоставляет согласованные возможности работы пользователей при переходе к различным типам носителей, доступных на мультимедийной приставке 100. При работе приложения и/или другие носители, содержащиеся в накопителе 144 на носителях, могут быть запущены или воспроизведены с накопителя 144 на носителях, чтобы предоставлять дополнительные функциональные возможности для мультимедийной приставки 100.
Мультимедийная приставка 100 может управляться как автономная система посредством простого подсоединения системы к телевизионному приемнику или другому дисплею. В этом автономном режиме мультимедийная приставка 100 позволяет одному или более пользователям взаимодействовать с системой, смотреть фильмы или слушать музыку. Тем не менее, при интеграции широкополосных возможностей подключения, доступных посредством сетевого интерфейса 124 или беспроводного адаптера 148, мультимедийная приставка 100 дополнительно может управляться как участник более крупного сетевого сообщества.
Когда мультимедийная приставка 100 включается, заданный объем аппаратных ресурсов резервируется для системного использования посредством операционной системы мультимедийной приставки. Эти ресурсы могут включать в себя резервирование памяти (например, 16 МБ), CPU- и GPU-циклов (например, 5%), полосы пропускания сети (например, 8 килобайт/с) и т.д. Поскольку эти ресурсы резервируются во время загрузки системы, зарезервированные ресурсы не существуют с точки зрения приложения.
В частности, резервирование памяти предпочтительно является достаточно большим, чтобы содержать ядро запуска, параллельные системные приложения и драйверы. Резервирование CPU предпочтительно является постоянным, так что если зарезервированное использование CPU не используется посредством системных приложений, то бездействующий подпроцесс использует все неиспользуемые циклы.
Относительно резервирования GPU, небольшие сообщения, сгенерированные посредством системных приложений (например, всплывающие меню), отображаются посредством использования GPU-прерывания, чтобы диспетчеризовать код, чтобы подготавливать посредством рендеринга всплывающее меню в наложение. Объем памяти, требуемый для наложения, зависит от размера области наложения, и наложение предпочтительно масштабируется с разрешением экрана. Если весь пользовательский интерфейс используется посредством параллельного системного приложения, предпочтительно использовать разрешение, независимое от разрешения приложения. Пересчетный модуль может быть использован для того, чтобы задавать это разрешение, так что необходимость изменять частоту и вызывать повторную синхронизацию телевизионного сигнала исключается.
После того как мультимедийная приставка 100 загружена, и системные ресурсы зарезервированы, параллельные системные приложения запускаются, чтобы предоставлять системные функциональности. Системные функциональности инкапсулируются в наборе системных приложений, которые запускаются в рамках зарезервированных системных ресурсов, описанных выше. Ядро операционной системы идентифицирует подпроцессы, которые являются подпроцессами системных приложений, отличными от подпроцессов игровых приложений. Системные приложения предпочтительно диспетчеризуются так, что они выполняются на CPU 101 в предварительно определенные моменты и интервалы времени, чтобы предоставлять согласованное представление системных ресурсов для приложения. Диспетчеризация заключается в том, чтобы минимизировать рассинхронизацию кэша для игрового приложения, выполняющегося на приставке.
Когда параллельное системное приложение требует аудио, аудиообработка диспетчеризуется асинхронно с игровым приложением вследствие зависимости от времени. Диспетчер приложений мультимедийной приставки (описан ниже) управляет уровнем громкости игрового приложения (например, отключением, приглушением звука), когда системные приложения являются активными.
Устройства ввода (например, контроллеры 142 (1) и 142 (2)) совместно используются посредством игровых приложений и системных приложений. Устройства ввода не являются зарезервированными ресурсами, а должны переключаться между системными приложениями и игровыми приложениями, так что каждое из них должно фокусировать устройство. Диспетчер приложений предпочтительно управляет переключением входного потока без сведений по игровому приложению, и драйвер поддерживает информацию состояния, касающуюся переключений фокуса. Камеры 26, 28 и устройство 20 захвата могут задавать дополнительные устройства ввода для приставки 100.
Фиг. 4 иллюстрирует другой примерный вариант осуществления вычислительного окружения 220, которое может быть вычислительным окружением 12, показанным на фиг. 1A-2, используемым для того, чтобы интерпретировать одно или более телодвижений в системе распознавания, анализа и отслеживания целей и/или анимировать виртуального персонажа, такого как аватар, экранный персонаж, экранный объект и т.п., отображаемый посредством системы распознавания, анализа и отслеживания целей. Окружение 220 вычислительной системы является только одним примером подходящего вычислительного окружения и не имеет намерением налагать какое-либо ограничение на объем использования или функциональность раскрытого в настоящее время предмета изобретения. Вычислительное окружение 220 не должно интерпретироваться как имеющее какую-либо зависимость или требование в отношении какого-либо или комбинации компонентов, проиллюстрированных в примерном операционном окружении 220. В некоторых вариантах осуществления, различные проиллюстрированные вычислительные элементы могут включать в себя схему, выполненную с возможностью конкретизировать конкретные аспекты настоящего раскрытия сущности. Например, термин "схема", используемый в раскрытии сущности, может включать в себя специализированные аппаратные компоненты, выполненные с возможностью осуществлять функцию(и) посредством микропрограммного обеспечения или коммутаторов. В других примерных вариантах осуществления, термин "схема" может включать в себя процессор общего назначения, запоминающее устройство и т.д., конфигурируемое посредством программных инструкций, которые осуществляют логику, выполненную с возможностью осуществлять функцию(и). В примерных вариантах осуществления, в которых схема включает в себя комбинацию аппаратных средств и программного обеспечения, разработчик может писать исходный код, осуществляющий логику, и исходный код может быть компилирован в машиночитаемый код, который может обрабатываться посредством процессора общего назначения. Поскольку специалисты в данной области техники могут принимать во внимание, что уровень техники дошел до такой точки развития, в которой практически отсутствует разница между аппаратными средствами, программным обеспечением или комбинацией аппаратных средств/программного обеспечения, выбор аппаратных средств относительно программного обеспечения, чтобы осуществлять конкретные функции, зависит от выбранной разработчиком структуры. Более конкретно, специалисты в данной области техники могут принимать во внимание, что программный процесс может быть преобразован в эквивалентную аппаратную структуру, и аппаратная структура может быть преобразована в эквивалентный программный процесс. Таким образом, выбор аппаратной реализации относительно программной реализации зависит от выбранной разработчиком структуры.
На фиг.4 вычислительное окружение 220 содержит компьютер 241, который типично включает в себя множество машиночитаемых носителей. Машиночитаемыми носителями могут быть любые носители, которые могут быть доступными посредством компьютера 241, и они включают в себя энергозависимые и энергонезависимые носители, съемные и стационарные носители. Системная память 222 включает в себя компьютерные носители хранения данных в виде энергозависимой и/или энергонезависимой памяти, такой как постоянная память 223 (ROM) и оперативная память 260 (RAM). Базовая система 224 ввода/вывода (BIOS), содержащая в себе базовые процедуры, которые помогают передавать информацию между элементами в рамках компьютера 241, к примеру, во время запуска, типично сохраняется в ROM 223. RAM 260 типично содержит данные и/или программные модули, которые являются непосредственно доступными и/или в настоящее время обрабатываются блоком 259 обработки. В качестве примера, но не ограничения, фиг. 4 иллюстрирует операционную систему 225, прикладные программы 226, другие программные модули 227 и программные данные 228.
Компьютер 241 также может включать в себя другие съемные/стационарные, энергозависимые/энергонезависимые компьютерные носители хранения данных. Только в качестве примера, фиг. 4 иллюстрирует жесткий диск 238, который считывает или записывает на стационарные энергонезависимые магнитные носители, накопитель 239 на магнитных дисках, который считывает или записывает на съемный энергонезависимый магнитный диск 254, и накопитель 240 на оптических дисках, который считывает или записывает на съемный энергонезависимый оптический диск 253, такой как CD-ROM или другие оптические носители. Другие съемные/стационарные, энергозависимые/энергонезависимые компьютерные носители хранения данных, которые могут быть использованы в примерном операционном окружении, включают в себя, но не только, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, полупроводниковое RAM, полупроводниковое ROM и т.п. Жесткий диск 238 типично подключен к системной шине 221 через интерфейс стационарной памяти, например интерфейс 234, а накопитель на 239 магнитных дисках и накопитель 240 на оптических дисках типично подключены к системе посредством интерфейса съемной памяти, например интерфейса 235.
Накопители и ассоциированные компьютерные носители хранения данных, поясненные выше и проиллюстрированные на фиг. 4, предоставляют хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 241. На фиг. 4, например, накопитель 238 на жестких дисках проиллюстрирован как сохраняющий операционную систему 258, прикладные программы 257, другие программные модули 256 и программные данные 255. Следует отметить, что эти компоненты могут быть идентичными или отличными от операционной системы 225, прикладных программ 226, других программных модулей 227 и программных данных 228. Операционной системе 258, прикладным программам 257, другим программным модулям 256 и программным данным 255 присвоены в настоящем документе другие номера, чтобы иллюстрировать, что, как минимум, они являются различными другими копиями. Пользователь может вводить команды и информацию в компьютер 241 через устройства ввода, такие как клавиатура 251 и указательное устройство 252, обычно упоминаемое как мышь, шаровой манипулятор (трекбол) или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровой планшет, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто подключены к процессору 259 через интерфейс 236 пользовательского ввода, который соединен с системной шиной, но могут быть подключены посредством других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Камеры 26, 28 и устройство 20 захвата могут задавать дополнительные устройства ввода для приставки 100. Монитор 242 или другой тип дисплейного устройства также подключается к системной шине 221 через интерфейс, такой как видеоинтерфейс 232. В дополнение к монитору, компьютеры также могут включать в себя другие периферийные устройства вывода, такие как динамики 244 и принтер 243, которые могут подключаться через периферийный интерфейс 233 вывода.
Компьютер 241 может работать в сетевом окружении, использующем логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 246. Удаленным компьютером 246 может быть персональный компьютер, сервер, маршрутизатор, сетевой PC (персональный компьютер), равноправное устройство или другой общий сетевой узел, и он типично включает в себя многие или все элементы, описанные выше относительно компьютера 241, хотя на фиг. 4 проиллюстрировано только запоминающее устройство 247. Логические соединения, показанные на фиг. 2, включают в себя локальную вычислительную сеть (LAN) 245 и глобальную вычислительную сеть (WAN) 249, но также могут включать в себя другие сети. Такие сетевые окружения широко распространены в офисах, корпоративных компьютерных сетях, сетях intranet и в Интернете.
При использовании в сетевом LAN-окружении компьютер 241 подключается к LAN 245 через сетевой интерфейс или адаптер 237. При использовании в сетевом WAN-окружении компьютер 241 типично включает в себя модем 250 или другое средство для установления связи по WAN 249, к примеру по Интернету. Модем 250, который может быть внутренним или внешним, может быть подключен к системной шине 221 через интерфейс 236 пользовательского ввода или другой подходящий механизм. В сетевом окружении программные модули, изображенные относительно компьютера 241, или их части могут быть сохранены в удаленной памяти. В качестве примера, а не ограничения, фиг. 4 иллюстрирует удаленные прикладные программы 248 как находящиеся на памяти 247 хранения. Следует принимать во внимание, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления линии связи между компьютерами.
Фиг. 5 иллюстрирует блок-схему последовательности операций примерного способа 300 для смешивания анимаций. Примерный способ 300 может быть реализован с использованием, например, устройства 20 захвата и/или вычислительного окружения 12 системы 10 распознавания, анализа и отслеживания целей, описанной относительно фиг. 1A-4. В примерном варианте осуществления, примерный способ 300 может принимать форму программного кода (т.е. инструкций), который может быть выполнен, например, посредством устройства 20 захвата и/или вычислительного окружения 12 системы 10 распознавания, анализа и отслеживания целей, описанной относительно фиг. 1A-4.
Согласно одному варианту осуществления на этапе 305 может быть принято изображение. Например, система распознавания, анализа и отслеживания целей может включать в себя устройство захвата, к примеру устройство 20 захвата, описанное выше относительно фиг. 1A-2. Устройство захвата может захватывать или наблюдать сцену, которая может включать в себя одну или более целей. В примерном варианте осуществления, устройство захвата может быть камерой для съемки глубины, выполненной с возможностью получать изображение, такое как RGB-изображение, изображение глубины и т.п., сцены с использованием любой подходящей технологии, к примеру анализа на основе времени пролета, анализа на основе структурированного света, анализа на основе стереовидения и т.п.
Например, в одном варианте осуществления изображение может включать в себя изображение глубины. Изображение глубины может быть множеством наблюдаемых пикселов, причем каждый наблюдаемый пиксел имеет наблюдаемое значение глубины. Например, изображение глубины может включать в себя двумерную пикселную область захватываемой сцены, причем каждый пиксел в двумерной пикселной области может представлять значение глубины, к примеру длину или расстояние, например, в сантиметрах, миллиметрах и т.п. объекта в захватываемой сцене от устройства захвата.
Фиг.6 иллюстрирует примерный вариант осуществления изображения 400 глубины, которое может быть принято на этапе 305. Согласно примерному варианту осуществления, изображение 400 глубины может быть изображением или кадром сцены, захватываемой, например, посредством трехмерной камеры 26 и/или RGB-камеры 28 устройства 20 захвата, описанного выше относительно фиг. 2. Как показано на фиг. 6, изображение 400 глубины может включать в себя человеческую цель 402, соответствующую, например, пользователю, такому как пользователь 18, описанный выше относительно фиг. 1A и 1B, и одну или более нечеловеческих целей 404, таких как стена, стол, монитор и т.п. в захватываемой сцене. Как описано выше, изображение 400 глубины может включать в себя множество наблюдаемых пикселов, причем каждый наблюдаемый пиксел имеет наблюдаемое значение глубины, ассоциированное с ним. Например, изображение 400 глубины может включать в себя двумерную пикселную область захватываемой сцены, причем каждый пиксел в двумерной пикселной области может представлять значение глубины, к примеру длину или расстояние, например, в сантиметрах, миллиметрах и т.п. цели или объекта в захватываемой сцене от устройства захвата. В одном варианте осуществления, изображение 400 глубины может быть цветным, так что различные цвета пикселов изображения глубины соответствуют и/или визуально иллюстрируют различные расстояния человеческой цели 402 и нечеловеческих целей 404 от устройства захвата. Например, согласно одному варианту осуществления пикселы, ассоциированные с целью, ближайшей к устройству захвата, могут быть окрашены с оттенками красного и/или оранжевого цвета в изображении глубины, тогда как пикселы, ассоциированные с целью, расположенной дальше, могут быть окрашены с оттенками зеленого и/или синего цвета в изображении глубины.
Снова ссылаясь на фиг. 5, в одном варианте осуществления после приема изображения на этапе 305 изображение может дискретизироваться с понижением разрешения до более низкого разрешения обработки, так что изображение глубины может проще использоваться и/или быстрее обрабатываться с меньшим потреблением вычислительных ресурсов. Дополнительно, одно или более значений глубины с высокой дисперсией и/или зашумленных значений глубины могут удаляться и/или сглаживаться в изображении глубины; части отсутствующей и/или удаленной информации глубины могут заполняться и/или восстанавливаться; и/или любая другая подходящая обработка может выполняться для принимаемой информации глубины, так что информация глубины может использоваться для того, чтобы формировать модель, такую как скелетная модель, что подробнее описано ниже.
На этапе 310, может генерироваться модель пользователя в изображении. Например, после приема изображения система распознавания, анализа и отслеживания целей может определять то, включает или нет изображение глубины в себя человеческую цель, такую как человеческая цель 402, описанная выше относительно фиг.6, соответствующую, например, пользователю, такому как пользователь 18, описанный выше относительно фиг. 1A и 1B, посредством заливки каждой цели или объекта в изображении глубины и сравнения каждой залитой цели или объекта с шаблоном, ассоциированным с моделью тела человека, в различных позициях или позах. Залитая цель или объект, который совпадает с шаблоном, затем может изолироваться и сканироваться, чтобы определять значения, включающие в себя, например, измерения различных частей тела. Согласно примерному варианту осуществления, модель, такая как скелетная модель, ячеистая модель и т.п., затем может формироваться на основе сканирования. Например, согласно одному варианту осуществления значения измерения, которые могут быть определены посредством сканирования, могут быть сохранены в одной или более структур данных, которые могут быть использованы для того, чтобы задавать один или более суставов в модели. Один или более суставов могут быть использованы для того, чтобы задавать одну или более костей, которые могут соответствовать части тела человека.
Фиг.7 иллюстрирует примерный вариант осуществления модели 500, которая может быть сгенерирована для пользователя на этапе 310. Согласно примерному варианту осуществления, модель 500 может включать в себя одну или более структур данных, которые могут представлять, например, трехмерную модель человеческой цели, ассоциированной с пользователем, в изображении глубины, такой как человеческая цель 402 в изображении 400 глубины, описанная выше относительно фиг.6. В одном варианте осуществления, каждая часть тела человеческой цели, ассоциированной с пользователем, может отличаться как математический вектор, задающий суставы и кости модели 500.
Как показано на фиг.7, модель 500 может включать в себя один или более суставов j1-j18. Согласно примерному варианту осуществления, каждый из суставов j1-j18 может предоставлять возможность перемещения одной или более частей тела, заданных между ними, относительно одной или более других частей тела. Например, модель, представляющая человеческую цель, может включать в себя множество твердых и/или деформируемых частей тела, которые могут быть заданы посредством одного или более структурных элементов, таких как "кости", с суставами j1-j18, расположенными на пересечении смежных костей. Суставы j1-18 могут предоставлять возможность перемещения различных частей тела, ассоциированных с костями и суставами j1-j18, независимо друг от друга. Например, кость, заданная между суставами j7 и j11, показанными на фиг.7, может соответствовать предплечью, которое может перемещаться независимо, например, от кости, заданной между суставами j15 и j17, которая может соответствовать икре.
Как описано выше, каждая из частей тела может отличаться как математический вектор, имеющий значение X, значение Y и значение Z, задающие суставы и кости, показанные на фиг. 7. В примерном варианте осуществления, пересечение векторов, ассоциированных с костями, показанными на фиг. 7, может задавать соответствующую точку, ассоциированную с суставами j1-j18.
Снова ссылаясь на фиг. 5, на этапе 315 движение в реальном времени или живое движение модели, ассоциированной с пользователем, может захватываться. Например, модель может отслеживаться таким образом, что модель может регулироваться или перемещаться так, что она имитирует перемещение пользователем. Такие регулирования или движения модели, ассоциированной с пользователем, могут захватываться в реальном времени. Дополнительно, такие регулирования или движения могут применяться к виртуальному персонажу, такому как аватар, экранный персонаж, экранный объект и т.п., что подробнее описано ниже.
Согласно одному варианту осуществления, модель, такая как модель 500, описанная выше относительно фиг. 7, может быть представлением пользователя, к примеру пользователя 18, описанного выше относительно фиг.1A и 1B. Система распознавания, анализа и отслеживания целей может наблюдать или захватывать перемещения от пользователя 18, которые могут быть использованы для того, чтобы регулировать или перемещать модель 500, так что регулирования или движения модели 500 могут захватываться на этапе 315.
Например, устройство захвата, к примеру устройство 20 захвата, описанное выше относительно фиг. 1A-2, может наблюдать или захватывать несколько изображений, таких как изображения глубины, RGB-изображения и т.п. сцены, которые могут быть использованы для того, чтобы регулировать модель. Согласно одному варианту осуществления, каждое из изображений может наблюдаться или захватываться на основе заданной частоты. Например, устройство захвата может наблюдать или захватывать новое изображение сцены один раз в миллисекунду, микросекунду и т.п.
После приема каждого из изображений информация, ассоциированная с конкретным изображением, может сравниваться с информацией, ассоциированной с моделью, чтобы определять то, выполнено или нет, возможно, перемещение пользователем. Например, в одном варианте осуществления модель может быть растеризирована в синтезированное изображение, такое как синтезированное изображение глубины. Пикселы в синтезированном изображении могут сравниваться с пикселами, ассоциированными с человеческой целью, в каждом из принимаемых изображений, чтобы определять то, перемещена или нет человеческая цель в принимаемом изображении.
Согласно примерному варианту осуществления, один или более векторов силы могут вычисляться на основе пикселов, сравниваемых между синтезированным изображением и принимаемым изображением. Одна или более сил затем могут прикладываться или преобразовываться в один или более аспектов приема силы, таких как суставы модели, чтобы регулировать или перемещать модель в позу, которая более близко соответствует позе человеческой цели или пользователя в физическом пространстве.
Регулирования или движения отслеживаемой модели затем могут захватываться на этапе 315. В одном варианте осуществления, регулирования или движения отслеживаемой модели могут записываться в файл захвата движения. Например, система распознавания, анализа и отслеживания целей может подготавливать посредством рендеринга и сохранять файл захвата движения, который может включать в себя одно или более движений, к примеру колебательное движение, качательное движение, такое как раскачивание при игре в гольф, движение при ударе, движение при ходьбе, движение при беге и т.п., конкретное для пользователя, к примеру пользователя 18, описанного выше относительно фиг. 1A и 1B. Согласно одному варианту осуществления, файл захвата движения может формироваться в реальном времени на основе информации, такой как векторы, включающие в себя значения X, Y и Z, ассоциированные с отслеживаемым режимом, и может включать в себя один или более кадров перемещений, выполняемых пользователем, которые могут применяться к модели. Движения модели в файле захвата движения дополнительно могут применяться к виртуальному персонажу, такому как аватар, экранный объект, экранный персонаж и т.п., в реальном времени или вживую. Дополнительно, движения модели в файле захвата движения могут быть сохранены или предварительно записаны, так что файл захвата движения может применяться к виртуальному объекту или персонажу в будущий момент времени, что подробнее описано ниже.
Фиг. 8A-8B иллюстрируют примерный вариант осуществления модели 500, ассоциированной с пользователем, к примеру пользователем 18, описанным выше относительно фиг. 1A и 1B, которая может захватываться в различные моменты времени в файле захвата движения. Как показано на фиг. 8A-8B, модель 500, описанная выше относительно фиг. 7, может регулироваться или перемещаться на основе перемещений пользователя в различные моменты времени, как описано выше. Например, как показано на фиг. 8A, суставы j3, j7 и j11 и кости, заданные между ними, для модели 500 могут регулироваться или перемещаться так, что они представляют позу 502, когда пользователь поднимает свое правое предплечье, например, посредством применения одного или более векторов силы к суставам j3, j7 и j11, как описано выше. После того как пользователь поднимает свое правое предплечье, как показано на фиг. 8A, пользователь, такой как пользователь 18, затем может поднимать свое левое предплечье. Как показано на фиг. 8B, модель 500 затем может регулироваться из позы 502 в позу 504, так что суставы j4, j8 и j12 и кости, заданные между ними, для модели могут регулироваться или перемещаться, когда пользователь поднимает свое левое предплечье, например, посредством применения одного или более векторов силы к суставам j4, j8 и j12, как описано выше. Регулирования или движения, которые могут применяться к модели 500, как показано посредством поз 502 и 504 на фиг. 8A и 8B, могут захватываться на этапе 315 в соответствующих кадрах файла захвата движения, как описано выше.
Снова ссылаясь на фиг. 5, предварительно записанное движение может быть принято на этапе 320. Например, система распознавания, анализа и отслеживания целей может принимать предварительно записанное движение для виртуального персонажа, к примеру экранного персонажа игры, аватара, экранного объекта и т.п. В одном варианте осуществления, предварительно записанное движение может быть файлом захвата разработанной актером анимации или движения для виртуального персонажа или объекта, разработанного разработчиком приложений, и/или программно-управляемого преобразования, такого как контролируемая устройством ввода анимация или движение, анимация или движение тряпичной куклы и т.п., разработанная разработчиком приложений. Согласно другому варианту осуществления, предварительно записанное движение может быть файлом захвата движения модели, ассоциированной с пользователем системы распознавания, анализа и отслеживания целей, который может быть сохранен для будущего использования, как описано выше.
Фиг. 9A-9B иллюстрируют примерный вариант осуществления модели 600 персонажа для виртуального объекта или персонажа, к примеру кентавра в различные моменты времени или в различных кадрах, которые могут приниматься как предварительно записанное разработанное актером движение на этапе 320. Как показано на фиг. 9A-9B, модель 600 персонажа может включать в себя один или более суставов j1'-j20'. В одном варианте осуществления, каждый из суставов j1'-j20' может задавать одну или более частей тела, которые могут перемещаться относительно или независимо от одной или более других частей тела в суставах j1'-j20', чтобы анимировать виртуальный объект или персонаж, что подробнее описано ниже.
Дополнительно, согласно примерному варианту осуществления каждый из суставов j1'-j20' модели 600 персонажа может иметь соответствующий трек анимации в файле захвата предварительно записанной разработанной актером анимации или движения в различные моменты времени или в соответствующем кадре файла захвата предварительно записанной разработанной актером анимации или движения. Например, как показано на фиг. 9A, суставы j16', j18' и j20' и части тела, заданные между ними, для модели 600 персонажа могут иметь трек анимации, который может приводить к позе 602 модели 600 персонажа в файле предварительно записанной разработанной актером анимации или движения в первый момент времени или в первом кадре в файле захвата предварительно сгенерированной актером анимации или движения. Суставы j16', j18' и j20' затем могут регулироваться, чтобы представлять позу 604 для каждого из треков анимации для суставов j16', j18' и j20' модели 600 персонажа в файле предварительно записанной разработанной актером анимации или движения в последующий или второй момент времени или во втором или последующем кадре.
Снова ссылаясь на фиг. 5, на этапе 325 движение модели и/или предварительно записанное движение может применяться к виртуальному объекту или персонажу. Например, система распознавания, анализа и отслеживания целей может преобразовывать одно или более движений в реальном времени или живых движений и/или предварительно записанных движений пользователя, по меньшей мере, в часть виртуального объекта или персонажа, так что виртуальный объект или персонаж может быть анимирован так, что он имитирует перемещения, выполняемые пользователем, к примеру пользователем 18, описанным выше относительно фиг. 1A и 1B.
Дополнительно, система распознавания, анализа и отслеживания целей может преобразовывать одну или более предварительно записанных разработанных актером анимаций или движений и/или одно или более предварительно записанных программно-управляемых преобразований, по меньшей мере, в часть виртуального объекта или персонажа, так что виртуальный объект или персонаж может быть анимирован так, что он имитирует предварительно записанные разработанные актером движения и/или предварительно записанные программно-управляемые преобразования.
Фиг. 10A-10B иллюстрируют примерный вариант осуществления виртуального персонажа 700, который может иметь живое движение пользователя и/или предварительно записанное движение, применяемое к нему на этапе 325. Как показано на фиг. 10A-10B, персонаж 700 может включать в себя кентавра, который может быть персонажем, например, в игровом приложении. Согласно одному варианту осуществления, виртуальный персонаж 700 может быть анимирован с помощью живого движения отслеживаемой модели, ассоциированной с пользователем, и предварительно записанного движения, такого как предварительно записанное разработанное актером движение, на этапе 325. Например, первая часть A виртуального персонажа 700 может быть анимирована с помощью живого движения, выполняемого пользователем, к примеру пользователем 18, описанным выше относительно фиг. 1A и 1B, а вторая часть B может быть анимирована с помощью предварительно записанного разработанного актером движения.
Согласно примерному варианту осуществления, суставы j1-j12 модели 500, ассоциированной с пользователем, как описано выше относительно фиг. 7-8B, могут преобразовываться в первую часть A виртуального персонажа 700, а суставы j9'-j20' модели 600 персонажа, как описано выше относительно фиг. 9A-9B, могут преобразовываться во вторую часть B виртуального персонажа 700, так что первая часть A может быть анимирована так, что она имитирует живые движения, которые могут выполняться пользователем, а вторая часть B может быть анимирована так, что она имитирует анимации модели персонажа, такой как модель 600 персонажа, ассоциированная с виртуальным персонажем 700. Например, суставы j4, j8 и j12 и кости, заданные между ними, для модели 500, показанной на фиг. 8A-8B, могут преобразовываться в левое плечо, левый локоть и левое запястье и соответствующие части тела, заданные между ними, для виртуального персонажа 700, так что первая часть A виртуального персонажа 700, показанного на фиг. 10A-10B, может имитировать позы 502 и 504 суставов j4, j8 и j12, показанные на фиг. 8A-8B, ассоциированные с перемещением пользователем своей левой руки. Дополнительно, суставы j16', j18' и j20' и части тела, заданные между ними, для модели 600 персонажа, показанной на фиг. 9A-9B, могут преобразовываться в переднее левое бедро, переднее левое колено и переднюю левую лодыжку и соответствующие части тела, заданные между ними, для виртуального персонажа 700, так что вторая часть B виртуального персонажа 700, показанного на фиг. 10A-10B, может имитировать позы 602 и 604 суставов j16', j18' и j20', показанные на фиг. 9A-9B, в модели кентавра, выставившего левую переднюю ногу. Таким образом, согласно примерному варианту осуществления виртуальный персонаж 700 может включать в себя живые движения модели 500, ассоциированной с пользователем, смешанные с предварительно записанными движениями модели 600 персонажа, ассоциированной с виртуальным персонажем или объектом.
В одном варианте осуществления, чтобы анимировать виртуального персонажа 700 с помощью живых движений и предварительно записанных движений, система распознавания, анализа и отслеживания целей может деактивировать треки анимации или движения, ассоциированные с суставами и/или частями тела модели 600 персонажа, которые соответствуют первой части A виртуального персонажа 700. Дополнительно, система распознавания, анализа и отслеживания целей может деактивировать анимации или движения, ассоциированные с суставами модели 500, в файле захвата движения, которые соответствуют второй части B виртуального персонажа 700. Система распознавания, анализа и отслеживания целей затем может смешивать анимации или движения модели 500, ассоциированной с пользователем, в файле захвата движения с треками анимации или движения модели 600 персонажа, так что первая часть A может быть анимирована с помощью движений модели 500, ассоциированной с пользователем, а вторая часть может быть анимирована с помощью анимаций или движений модели персонажа 500, ассоциированной с виртуальным персонажем 700.
Например, система распознавания, анализа и отслеживания целей может деактивировать треки анимации или движения суставов j1'-j8' модели 600 персонажа и анимации или движения суставов j13-j18 модели 500, ассоциированной с пользователем. Система распознавания, анализа и отслеживания целей затем может смешивать анимации и движения модели 600 персонажа и модели 500, ассоциированной с пользователем, так что первая часть A виртуального персонажа 700 может имитировать перемещения пользователем, а вторая часть B виртуального персонажа 700 может имитировать предварительно записанные анимации или движения модели персонажа, как показано на фиг. 10A-10B.
Фиг. 11A-11F иллюстрируют другой примерный вариант осуществления виртуального персонажа 800, который может иметь живое движение пользователя и/или предварительно записанное движение, применяемое к нему на этапе 325. Как показано на фиг. 11A-11F, виртуальный персонаж 800 может включать в себя робота, который может быть персонажем, например, в игровом приложении. Согласно одному варианту осуществления, виртуальный персонаж 800 может быть анимирован с помощью живого движения отслеживаемой модели, ассоциированной с пользователем, и/или предварительно записанного движения, такого как сохраненное движение модели, ассоциированной с пользователем, или предварительно записанное разработанное актером движение, на этапе 325. Например, первая часть A' виртуального персонажа 800 может быть анимирована с помощью живого движения, выполняемого пользователем, к примеру пользователем 18, описанным выше относительно фиг. 1A и 1B, а вторая часть B' может быть анимирована с помощью предварительно записанного движения пользователя в файле захвата движения или предварительно записанного разработанного актером движения.
Согласно одному варианту осуществления, живые и/или предварительно записанные движения или анимации могут применяться к виртуальному персонажу 800 в ответ на телодвижение, принятое от пользователя. Например, одно из движений в реальном времени или живых движений модели, ассоциированной с пользователем, которое может захватываться на этапе 315, может включать в себя телодвижение, которое может быть использовано для того, чтобы управлять перемещением или анимацией виртуального персонажа 800 на этапе 325.
В примерном варианте осуществления, пользователь может поднимать свою левую руку, так что модель, ассоциированная с пользователем, может регулироваться так, что она имитирует поднятие пользователем своей левой руки, и может захватываться на этапе 315. Например, суставы j4, j8 и j12 модели 500, описанной выше относительно фиг. 7-8B, могут регулироваться так, что они отражают поднятие пользователем своей левой руки. Система распознавания, анализа и отслеживания целей затем может интерпретировать телодвижение, ассоциированное с поднятием левой руки, так что система распознавания, анализа и отслеживания целей может применять предварительно записанное движение или живое движение, по меньшей мере, к части, к примеру первой части A' виртуального персонажа 800, может переключаться с предварительно записанного движения или живого движения, применяемого, по меньшей мере, к части, к примеру первой части A' виртуального персонажа 800 и т.п., в ответ на телодвижение, ассоциированное с поднятием пользователем левой руки.
Например, согласно одному варианту осуществления в ответ на поднятие пользователем своей левой руки виртуальный персонаж 800 может быть анимирован на основе корректировок, внесенных, например, в модель 500, ассоциированную с пользователем, так что живое движение поднятия пользователем своей левой руки может применяться, например, к первой части A' виртуального персонажа 800, как показано на фиг. 11B. Т.е. в ответ на поднятие пользователем своей левой руки суставы j4, j8 и j12 модели 500, ассоциированной с пользователем, могут преобразовываться в левую руку виртуального персонажа 800, так что первая часть A' виртуального персонажа 800 может быть анимирована посредством живых движений, выполняемых пользователем с помощью своей верхней части тела. Дополнительно, последующее перемещение пользователем своей верхней части тела дополнительно может применяться к виртуальному персонажу 800. Например, по мере того как пользователь поднимает свое правое предплечье, живые движения поднятия пользователем своего правого предплечья могут применяться к суставам j7 и j11 модели 500. Живые движения затем могут применяться к виртуальному персонажу 800, как описано выше, так что виртуальный персонаж 800 может быть анимирован или перемещен так, что он поднимает свое левое предплечье, как показано на фиг. 11C. Таким образом, согласно одному варианту осуществления в ответ на принимаемое телодвижение, по меньшей мере, часть виртуального персонажа 800 может быть анимирована так, что она имитирует перемещения пользователем, которые могут применяться к модели 500, ассоциированной с пользователем.
Аналогично, пользователь может поднимать свою левую ногу, так что модель, ассоциированная с пользователем, может регулироваться так, что она имитирует поднятие пользователем своей левой ноги, и может захватываться на этапе 315. Например, суставы j14, j16 и j18 модели 500, описанной выше относительно фиг. 7-8B, могут регулироваться так, что они отражают поднятие пользователем своей левой ноги. Система распознавания, анализа и отслеживания целей затем может интерпретировать телодвижение, ассоциированное с поднятием левой ноги, так что система распознавания, анализа и отслеживания целей может применять предварительно записанное движение или живое движение, по меньшей мере, к части, к примеру второй части B' виртуального персонажа 800, может переключаться с предварительно записанного движения или живого движения, применяемого, по меньшей мере, к части, к примеру второй части B' виртуального персонажа 800 и т.п., в ответ на телодвижение, ассоциированное с поднятием пользователем левой ноги.
Например, согласно одному варианту осуществления в ответ на поднятие пользователем своей левой ноги вторая часть B' виртуального персонажа 800 может быть анимирована с помощью предварительно записанного движения при ходьбе, к примеру предварительно записанного движения при ходьбе модели 500, ассоциированной с пользователем, захватываемого в файле захвата движения, или разработанной актером анимации ходьбы, как показано на фиг. 11D-11F. Т.е. в ответ на поднятие пользователем своей левой ноги суставы j13-j18 модели 500 в сохраненном файле захвата движения могут преобразовываться в соответствующую правую и левую ногу виртуального персонажа 800, так что вторая часть B' виртуального персонажа 800 может быть анимирована посредством предварительно записанных движений при ходьбе, выполняемых пользователем. Альтернативно, в ответ на поднятие пользователем своей левой ноги суставы и/или части тела модели персонажа могут преобразовываться в соответствующую правую и левую ногу виртуального персонажа 800, так что вторая часть B' виртуального персонажа 800 может быть анимирована посредством предварительно записанного разработанного актером движения при ходьбе.
В одном варианте осуществления, живые движения пользователя и/или предварительно записанные движения могут применяться, например, к первой и второй частям A' и B' виртуального персонажа 800 до тех пор, пока последующее телодвижение, которое может управлять анимациями, применяемыми к виртуальному персонажу 800, не может быть принято. Например, живые движения пользователя могут применяться, например, к первой части A' виртуального персонажа 800 до тех пор, пока последующее телодвижение, такое как поднятие пользователем правой и левой рук, не может быть принято. После приема последующего телодвижения первая часть A' виртуального персонажа 800 может быть неподвижной или может переключаться так, что она анимируется, например, с помощью предварительно записанного движения, к примеру предварительно записанного движения пользователя в файле захвата движения, описанном выше, или предварительно записанной сгенерированной актером анимации.
Согласно примерному варианту осуществления, чтобы анимировать первую часть A' виртуального персонажа 800 в ответ на поднятие пользователем своей левой руки с помощью живых движений, выполняемых пользователем с помощью своей верхней частью тела, система распознавания, анализа и отслеживания целей может деактивировать анимации или движения суставов и/или частей тела, к примеру суставов j13-j18 модели 500, ассоциированной с более нижней частью тела пользователя. Дополнительно, чтобы анимировать вторую часть B' виртуального персонажа 800 в ответ на поднятие пользователем своей левой ноги с помощью предварительно записанных движений при ходьбе, система распознавания, анализа и отслеживания целей может деактивировать анимации или движения суставов и/или частей тела модели персонажа или модели 500, ассоциированной с верхней частью тела модели персонажа, ассоциированной с виртуальным персонажем 800 или пользователем. Система распознавания, анализа и отслеживания целей затем может смешивать разрешенные живые анимации или движения верхней части тела пользователя с разрешенными предварительно записанными движениями при ходьбе модели 600 персонажа, так что первая часть A' может быть анимирована с помощью живых движений верхней части тела пользователя в ответ на поднятие пользователем своей левой руки с помощью предварительно записанных движений при ходьбе, как показано на фиг. 11D-11F.
Дополнительно, в одном варианте осуществления в ответ на прием последующего телодвижения, такого как поднятие пользователем обеих рук, которое может переключать, например, живое движение пользователя, применяемое к первой части A' виртуального персонажа 800, на предварительно записанное движение, система распознавания, анализа и отслеживания целей может смешивать переход, например, за предварительно определенное число кадров, к примеру 15-20 кадров, так что часть A' виртуального персонажа может плавно переходить между живым движением и предварительно записанным движением. Например, каждый из суставов и/или частей тела модели 500 в живых движениях может быть смешан с соответствующими суставами и/или частями тела в предварительно записанных движениях за 15-20 кадров. Таким образом, каждый сустав, ассоциированный с верхней частью тела модели 500 в первом кадре живых движений в файле захвата движения, может быть смешан с каждым соответствующим суставом и/или частью тела модели персонажа в первом кадре предварительно записанных движений или анимаций. Живые движения затем могут быть постепенно свернуты после предварительно определенного числа кадров так, что первая часть A' виртуального персонажа 800 может быть анимирована с помощью предварительно записанного движения или анимаций.
Фиг. 12A-12B иллюстрируют примерный вариант осуществления персонажа 900 игры, который может иметь живое движение пользователя и/или программно-управляемое преобразование, применяемое к нему на этапе 325. Как показано на фиг. 12A-12B, персонаж 900 игры может включать в себя футболиста, который может быть персонажем, например, в футбольном игровом приложении. Согласно одному варианту осуществления, персонаж 900 игры может быть анимирован с помощью живого движения отслеживаемой модели, ассоциированной с пользователем, и программно-управляемого преобразования, к примеру, контролируемой устройством ввода анимации или движения, анимации или движения тряпичной куклы и т.п., на этапе 325. Например, первая часть, такая как руки 906a и 906b персонажа 900 игры, может управляться или анимироваться посредством живого движения, выполняемого пользователем, к примеру пользователем 18, описанным выше относительно фиг. 1A и 1B, руками. Согласно примерному варианту осуществления, вторая часть, такая как каждая из оставшихся частей тела персонажа 900 игры, показанного на фиг. 12A-12B, может иметь предварительно записанное программно-управляемое преобразование, примененное к ней.
В одном варианте осуществления, предварительно записанное программно-управляемое преобразование может включать в себя анимацию или движение на основе цели, которое может использовать физические явления, чтобы давать возможность персонажу игры, к примеру персонажу 900 игры, достигать своей цели в приложении. Например, персонаж 900 игры может быть крайним нападающим, который может иметь цель достигать конкретного местоположения на футбольном поле, предусмотренном в футбольном игровом приложении, чтобы ловить пас. Предварительно записанное программно-управляемое преобразование может включать в себя анимацию или движение с использованием, например, физических явлений, которые могут заставлять персонаж 900 игры автоматически достигать этого местоположения.
Дополнительно, согласно другому примерному варианту осуществления персонаж 900 игры может быть сбит с ног персонажем игры из соперничающей команды, как показано на фиг. 12A-12B. Программно-управляемое преобразование может включать в себя предварительно записанное движение или анимацию на основе тряпичной куклы, которая может размещаться так, что она сбивает с ног персонажа 900 игры в данной позиции в футбольном игровом приложении. Например, движение или анимация программно-управляемого преобразования может включать в себя анимацию или движение тряпичной куклы, которая может генерироваться на основе вычисления физических явлений, на основе реакции персонажа 900 игры, когда персонаж 900 игры может быть сбит с ног посредством тряпичной куклы, ассоциированной с местоположением соперничающего игрока.
Таким образом, в одном варианте осуществления руки 906a и 906b могут иметь живое движение ног пользователя, применяемое к ним, и оставшиеся части тела персонажа 900 игры могут быть анимированы с помощью программно-управляемого преобразования анимации или движения тряпичной куклы, ассоциированной со сбиванием с ног персонажа 900 игры соперничающим игроком, так что пользователь может сохранять управление рук 906a и 906b, чтобы ловить мяч, как показано на фиг. 12A-12B, и оставшаяся часть тела может реагировать способом, аналогичным сбиванию с ног игрока в реальной жизни соперничающим игроком.
Таким образом, в примерном варианте осуществления визуальный внешний вид экранного персонажа может быть изменен на этапе 325, как показано на фиг. 5, в ответ на одно или более живых или предварительно записанных движений в файле захвата движения. Например, игрок, к примеру пользователь 18, описанный выше относительно фиг. 1A-1B, проводящий электронную игру на игровой приставке, может отслеживаться посредством игровой приставки, как описано в данном документе. Когда игрок раскачивает руку, игровая приставка может отслеживать это движение и затем в ответ на отслеживаемое движение может регулировать модель, ассоциированную с пользователем. Как описано выше, отслеживаемая модель дополнительно может захватываться в файле захвата движения. Файл захвата движения затем может применяться, например, к верхней части тела экранного персонажа, так что экранный персонаж может быть анимирован так, что он имитирует фактическое движение раскачивания пользователем своей руки. Дополнительно, предварительно записанное сгенерированное актером движение или программно-управляемое преобразование могут быть смешаны с живыми или предварительно сгенерированными движениями в файле захвата движения. Например, согласно примерным вариантам осуществления экранный персонаж может быть анимирован так, что он раскачивает, например, клюшку для игры в гольф, биту или наносит удар в игре, идентично тому, как пользователь раскачивает свою руку в реальном времени или вживую, и может быть анимирован так, что он бежит, идет или едет на велосипеде, как профессиональный спортсмен, который может захватываться в предварительно записанном движении или анимации при беге, ходьбе и езде на велосипеде.
Следует понимать, что конфигурации и/или подходы, описанные в данном документе, являются примерными по своему характеру, и что эти конкретные варианты осуществления или примеры не должны считаться ограничивающими. Конкретные процедуры или способы, описанные в данном документе, могут представлять одну или более из любого числа стратегий обработки. Также различные проиллюстрированные действия могут выполняться в проиллюстрированной последовательности, в других последовательностях, параллельно и т.п. Аналогично, порядок вышеописанных процессов может быть изменен.
Предмет изобретения настоящего раскрытия сущности включает в себя все новые и неочевидные комбинации и субкомбинации различных процессов, систем и конфигураций, а также других признаков, функций, действий и/или свойств, раскрытых в данном документе, как и все без исключения эквиваленты означенного.

Claims (12)

1. Машинореализованный способ для смешивания движений, причем машинореализованный способ содержит этапы, на которых:
принимают предварительно записанное движение и живое движение пользователя;
преобразуют одну или более частей тела виртуального персонажа в один или более суставов в первой модели пользователя, ассоциированной с живым движением;
преобразуют одну или более частей тела виртуального персонажа в один или более суставов во второй модели, ассоциированной с предварительно записанным движением; и
анимируют виртуальный персонаж с помощью предварительно записанного движения и живого движения посредством по меньшей мере следующего:
деактивируют один или более суставов в первой модели пользователя, которые соответствуют одной или более частям тела во второй части виртуального персонажа;
деактивируют один или более суставов во второй модели, ассоциированной с предварительно записанным движением, которые соответствуют одной или более частям тела в первой части виртуального персонажа; и
смешивают живое движение, ассоциированное с первой моделью пользователя, с предварительно записанным движением, ассоциированным со второй моделью, в ответ на деактивацию одного или более суставов в первой модели пользователя и деактивацию одного или более суставов во второй модели; и
анимируют первую часть и вторую часть виртуального персонажа с помощью смешанных живых и предварительно записанных движений.
2. Машинореализованный способ по п.1, в котором упомянутое предварительно записанное движение содержит по меньшей мере одно из следующего: предварительно записанное движение пользователя; разработанное актером движение; и программно-управляемое преобразование.
3. Машинореализованный способ по п.1, дополнительно содержащий этап, на котором принимают телодвижение от пользователя, при этом телодвижение ассоциировано с командой, чтобы применять анимацию к виртуальному персонажу.
4. Машинореализованный способ по п.3, в котором виртуальный персонаж анимируется с помощью живого движения и предварительно записанного движения в ответ на прием телодвижения от пользователя.
5. Машиночитаемый носитель хранения данных, имеющий сохраненными машиноисполняемые инструкции для выполнения способа для смешивания движений, причем способ содержит этапы:
приема предварительно записанного движения и живого движения пользователя;
преобразования одной или более частей тела виртуального персонажа в один или более суставов в первой модели пользователя, ассоциированной с живым движением;
преобразования одной или более частей тела виртуального персонажа в один или более суставов во второй модели, ассоциированной с предварительно записанным движением; и
анимирования виртуального персонажа с помощью предварительно записанного движения и живого движения посредством по меньшей мере следующего:
деактивации одного или более суставов в первой модели пользователя, которые соответствуют одной или более частям тела во второй части виртуального персонажа;
деактивации одного или более суставов во второй модели, ассоциированной с предварительно записанным движением, которые соответствуют одной или более частям тела в первой части виртуального персонажа; и
смешивания живого движения, ассоциированного с первой моделью пользователя, с предварительно записанным движением, ассоциированным со второй моделью, в ответ на деактивацию одного или более суставов в первой модели пользователя и деактивацию одного или более суставов во второй модели; и
анимирования первой части и второй части виртуального персонажа с помощью смешанных живых и предварительно записанных движений.
6. Машиночитаемый носитель по п.5, в котором упомянутое предварительно записанное движение содержит по меньшей мере одно из следующего: предварительно записанное движение пользователя; разработанное актером движение; и программно-управляемое преобразование.
7. Машиночитаемый носитель по п.5, дополнительно содержащий инструкции для приема телодвижения от пользователя, причем телодвижение ассоциировано с командой, чтобы применять анимацию к виртуальному персонажу.
8. Машиночитаемый носитель по п.7, в котором виртуальный персонаж анимируется с помощью живого движения и предварительно записанного движения в ответ на прием телодвижения от пользователя.
9. Система для смешивания движений, причем система содержит:
по меньшей мере один процессор, причем упомянутый по меньшей мере один процессор выполняет машиноисполняемые инструкции, при этом машиноисполняемые инструкции содержат инструкции для:
приема предварительно записанного движения и живого движения пользователя;
преобразования одной или более частей тела виртуального персонажа в один или более суставов в первой модели пользователя, ассоциированной с живым движением;
преобразования одной или более частей тела виртуального персонажа в один или более суставов во второй модели, ассоциированной с предварительно записанным движением; и
анимирования виртуального персонажа с помощью предварительно записанного движения и живого движения посредством по меньшей мере следующего:
деактивации одного или более суставов в первой модели пользователя, которые соответствуют одной или более частям тела во второй части виртуального персонажа;
деактивации одного или более суставов во второй модели, ассоциированной с предварительно записанным движением, которые соответствуют одной или более частям тела в первой части виртуального персонажа; и
смешивания живого движения, ассоциированного с первой моделью пользователя, с предварительно записанным движением, ассоциированным со второй моделью, в ответ на деактивацию одного или более суставов в первой модели пользователя и деактивацию одного или более суставов во второй модели; и
анимирования первой части и второй части виртуального персонажа с помощью смешанных живых и предварительно записанных движений.
10. Система по п.9, в которой упомянутое предварительно записанное движение содержит по меньшей мере одно из следующего: предварительно записанное движение пользователя; разработанное актером движение; и программно-управляемое преобразование.
11. Система по п.9, дополнительно содержащая инструкции для приема телодвижения от пользователя, причем телодвижение ассоциировано с командой, чтобы применять анимацию к виртуальному персонажу.
12. Система по п.11, в которой виртуальный персонаж анимируется с помощью живого движения и предварительно записанного движения в ответ на прием телодвижения от пользователя.
RU2011148395/08A 2009-05-29 2010-05-22 Система и способы для применения анимаций или движений к персонажу RU2544770C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/475,422 US8803889B2 (en) 2009-05-29 2009-05-29 Systems and methods for applying animations or motions to a character
US12/475,422 2009-05-29
PCT/US2010/035885 WO2010138428A2 (en) 2009-05-29 2010-05-22 Systems and methods for applying animations or motions to a character

Publications (2)

Publication Number Publication Date
RU2011148395A RU2011148395A (ru) 2013-06-10
RU2544770C2 true RU2544770C2 (ru) 2015-03-20

Family

ID=43219712

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011148395/08A RU2544770C2 (ru) 2009-05-29 2010-05-22 Система и способы для применения анимаций или движений к персонажу

Country Status (9)

Country Link
US (2) US8803889B2 (ru)
EP (1) EP2435146B1 (ru)
JP (1) JP5576932B2 (ru)
KR (1) KR101751078B1 (ru)
CN (1) CN102596340B (ru)
BR (1) BRPI1012091B1 (ru)
CA (1) CA2760210C (ru)
RU (1) RU2544770C2 (ru)
WO (1) WO2010138428A2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2708027C1 (ru) * 2019-08-16 2019-12-03 Станислав Игоревич Ашманов Способ передачи движения субъекта из видео на анимированного персонажа

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7459624B2 (en) 2006-03-29 2008-12-02 Harmonix Music Systems, Inc. Game controller simulating a musical instrument
US8678895B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for online band matching in a rhythm action game
US8678896B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
US8588465B2 (en) * 2009-01-30 2013-11-19 Microsoft Corporation Visual target tracking
US8465366B2 (en) 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
US8803889B2 (en) * 2009-05-29 2014-08-12 Microsoft Corporation Systems and methods for applying animations or motions to a character
US8449360B2 (en) 2009-05-29 2013-05-28 Harmonix Music Systems, Inc. Displaying song lyrics and vocal cues
US8719714B2 (en) 2009-07-08 2014-05-06 Steelseries Aps Apparatus and method for managing operations of accessories
US8202161B2 (en) * 2009-10-23 2012-06-19 Disney Enterprises, Inc. Virtual game instructor
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
WO2011056657A2 (en) 2009-10-27 2011-05-12 Harmonix Music Systems, Inc. Gesture-based user interface
US8702485B2 (en) 2010-06-11 2014-04-22 Harmonix Music Systems, Inc. Dance game and tutorial
US8550908B2 (en) 2010-03-16 2013-10-08 Harmonix Music Systems, Inc. Simulating musical instruments
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
US9024166B2 (en) 2010-09-09 2015-05-05 Harmonix Music Systems, Inc. Preventing subtractive track separation
US8831794B2 (en) * 2011-05-04 2014-09-09 Qualcomm Incorporated Gesture recognition via an ad-hoc proximity sensor mesh for remotely controlling objects
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
US20140018169A1 (en) * 2012-07-16 2014-01-16 Zhong Yuan Ran Self as Avatar Gaming with Video Projecting Device
US9266020B2 (en) 2012-09-27 2016-02-23 Empire Technology Development Llc Character model animation using stored recordings of player movement interface data
US10657694B2 (en) * 2012-10-15 2020-05-19 Tangible Play, Inc. Activity surface detection, display and enhancement of a virtual scene
US9158389B1 (en) * 2012-10-15 2015-10-13 Tangible Play, Inc. Virtualization of tangible interface objects
US10033943B1 (en) 2012-10-15 2018-07-24 Tangible Play, Inc. Activity surface detection, display and enhancement
EP2969078B1 (en) * 2013-03-15 2021-06-23 Sony Interactive Entertainment Inc. User-generated recordings of skeletal animations
US9687730B2 (en) * 2013-03-15 2017-06-27 Steelseries Aps Gaming device with independent gesture-sensitive areas
US10825220B1 (en) * 2013-10-03 2020-11-03 Pixar Copy pose
CN103543830B (zh) * 2013-10-28 2017-02-15 四川大学 一种人体骨骼点映射至立体显示中虚拟三维空间点的方法
EP3068301A4 (en) 2013-11-12 2017-07-12 Highland Instruments, Inc. Analysis suite
WO2016013893A1 (en) * 2014-07-25 2016-01-28 Samsung Electronics Co., Ltd. Displaying method, animation image generating method, and electronic device configured to execute the same
US9940583B1 (en) 2014-09-26 2018-04-10 Amazon Technologies, Inc. Transmitting content to kiosk after determining future location of user
US10237329B1 (en) 2014-09-26 2019-03-19 Amazon Technologies, Inc. Wirelessly preparing device for high speed data transfer
US20160092034A1 (en) * 2014-09-26 2016-03-31 Amazon Technologies, Inc. Kiosk Providing High Speed Data Transfer
US10973440B1 (en) * 2014-10-26 2021-04-13 David Martin Mobile control using gait velocity
KR101687484B1 (ko) * 2015-05-07 2016-12-16 한국과학기술원 이형 공간간의 인간형 객체 모션 리타게팅 방법 및 시스템
US10489956B2 (en) * 2015-07-27 2019-11-26 Autodesk, Inc. Robust attribute transfer for character animation
US9786032B2 (en) * 2015-07-28 2017-10-10 Google Inc. System for parametric generation of custom scalable animated characters on the web
US10543429B2 (en) * 2015-12-09 2020-01-28 Capcom Co., Ltd. Recording medium whereupon game program is recorded, effect control method, and game device
US9919217B2 (en) 2016-03-08 2018-03-20 Electronic Arts Inc. Dynamic difficulty adjustment
CN107180446B (zh) * 2016-03-10 2020-06-16 腾讯科技(深圳)有限公司 人物面部模型的表情动画生成方法及装置
WO2017165860A1 (en) 2016-03-25 2017-09-28 Tangible Play, Inc. Activity surface detection, display and enhancement of a virtual scene
JP2017176673A (ja) * 2016-03-31 2017-10-05 ブラザー工業株式会社 表示制御装置およびプログラム
US10384133B1 (en) 2016-12-30 2019-08-20 Electronic Arts Inc. Systems and methods for automatically measuring a video game difficulty
US10357718B2 (en) 2017-02-28 2019-07-23 Electronic Arts Inc. Realtime dynamic modification and optimization of gameplay parameters within a video game application
CN107469355A (zh) * 2017-07-31 2017-12-15 广东欧珀移动通信有限公司 游戏人物形象创建方法及装置、终端设备
CN110637324B (zh) * 2017-09-08 2021-04-16 株式会社威亚视 三维数据系统以及三维数据处理方法
US10777006B2 (en) * 2017-10-23 2020-09-15 Sony Interactive Entertainment Inc. VR body tracking without external sensors
KR102040130B1 (ko) 2017-11-15 2019-11-04 동서대학교 산학협력단 3d 그래픽 툴에서의 모션 스컬팅 장치 및 그 방법
US10916059B2 (en) * 2017-12-06 2021-02-09 Universal City Studios Llc Interactive video game system having an augmented virtual representation
CN108375958B (zh) * 2018-01-15 2020-06-19 珠海格力电器股份有限公司 一种电器系统
US10380803B1 (en) * 2018-03-26 2019-08-13 Verizon Patent And Licensing Inc. Methods and systems for virtualizing a target object within a mixed reality presentation
KR102585051B1 (ko) 2018-05-08 2023-10-04 그리 가부시키가이샤 액터의 움직임에 기초하여 생성되는 캐릭터 오브젝트의 애니메이션을 포함하는 동화상을 배신하는 동화상 배신 시스템, 동화상 배신 방법 및 동화상 배신 프로그램
CN114915827A (zh) * 2018-05-08 2022-08-16 日本聚逸株式会社 动态图像分发系统及其方法和记录介质
US11128932B2 (en) 2018-05-09 2021-09-21 Gree, Inc. Video distribution system for live distributing video containing animation of character object generated based on motion of actors
CN108734774B (zh) * 2018-05-18 2022-05-31 网易(杭州)网络有限公司 虚拟肢体构建方法及装置、人机交互方法
CN110647780A (zh) * 2018-06-07 2020-01-03 东方联合动画有限公司 一种数据处理方法、系统
US10713543B1 (en) 2018-06-13 2020-07-14 Electronic Arts Inc. Enhanced training of machine learning systems based on automatically generated realistic gameplay information
CN111316203B (zh) * 2018-07-10 2022-05-31 微软技术许可有限责任公司 自动生成形象的动作
US11044535B2 (en) 2018-08-28 2021-06-22 Gree, Inc. Video distribution system for live distributing video containing animation of character object generated based on motion of distributor user, distribution method, and storage medium storing video distribution program
CN109407825A (zh) * 2018-08-30 2019-03-01 百度在线网络技术(北京)有限公司 基于虚拟物品的互动方法与装置
EP3854187A4 (en) 2018-09-17 2022-09-28 Tangible Play, Inc. DISPLAY POSITIONING SYSTEM
US10953334B2 (en) * 2019-03-27 2021-03-23 Electronic Arts Inc. Virtual character generation from image or video data
US11276216B2 (en) 2019-03-27 2022-03-15 Electronic Arts Inc. Virtual animal character generation from image or video data
US11110353B2 (en) 2019-07-10 2021-09-07 Electronic Arts Inc. Distributed training for machine learning of AI controlled virtual entities on video game clients
WO2021005878A1 (ja) * 2019-07-11 2021-01-14 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム
KR20210012562A (ko) * 2019-07-25 2021-02-03 삼성전자주식회사 아바타를 제공하는 전자 장치 및 그의 동작 방법
CN110531860B (zh) 2019-09-02 2020-07-24 腾讯科技(深圳)有限公司 一种基于人工智能的动画形象驱动方法和装置
US11648480B2 (en) 2020-04-06 2023-05-16 Electronic Arts Inc. Enhanced pose generation based on generative modeling
CA3222789A1 (en) * 2021-05-27 2022-12-01 Ai Thinktank Llc 3d avatar generation and robotic limbs using biomechanical analysis
US12008839B2 (en) 2021-05-28 2024-06-11 Sportsbox.ai Inc. Golf club and other object fitting using quantitative biomechanical-based analysis
US11640725B2 (en) 2021-05-28 2023-05-02 Sportsbox.ai Inc. Quantitative, biomechanical-based analysis with outcomes and context
US11734868B2 (en) 2021-07-19 2023-08-22 Sony Group Corporation Motion retargeting based on differentiable rendering
KR102364728B1 (ko) 2021-10-20 2022-02-18 주식회사 행복한다람쥐단 피사체의 프레임 데이터로부터 캐릭터 모션을 생성하는 방법 및 이를 이용한 장치
US11816772B2 (en) * 2021-12-13 2023-11-14 Electronic Arts Inc. System for customizing in-game character animations by players
USD1035721S1 (en) 2022-04-20 2024-07-16 Sportsbox.ai Inc. Display screen with transitional graphical user interface
USD1036464S1 (en) 2022-04-20 2024-07-23 Sportsbox.ai Inc. Display screen with transitional graphical user interface
USD1035720S1 (en) 2022-04-20 2024-07-16 Sportsbox.ai Inc. Display screen with transitional graphical user interface
KR102589194B1 (ko) 2023-02-07 2023-10-13 (주)로코모스튜디오 서로 다른 캐릭터 사이의 애니메이션 데이터를 호환 가능하게 연결하는 모션 커버 방법, 장치 및 시스템
CN117032618B (zh) * 2023-10-07 2024-02-02 启迪数字科技(深圳)有限公司 基于多屏幕的动画旋转方法、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050255434A1 (en) * 2004-02-27 2005-11-17 University Of Florida Research Foundation, Inc. Interactive virtual characters for training including medical diagnosis training
US20080012866A1 (en) * 2006-07-16 2008-01-17 The Jim Henson Company System and method of producing an animated performance utilizing multiple cameras
US20080170777A1 (en) * 2007-01-16 2008-07-17 Lucasfilm Entertainment Company Ltd. Combining multiple session content for animation libraries
RU2344483C2 (ru) * 2002-09-30 2009-01-20 АйДжиТи Трехмерный текст в игровой машине

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2552427B2 (ja) * 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
IL114278A (en) * 1995-06-22 2010-06-16 Microsoft Internat Holdings B Camera and method
CN1101056C (zh) * 1995-06-22 2003-02-05 3Dv系统有限公司 生成距景物距离的图象的方法和装置
JP3745802B2 (ja) 1995-10-13 2006-02-15 株式会社日立製作所 画像生成/表示装置
JP3368739B2 (ja) 1996-01-22 2003-01-20 三菱電機株式会社 アニメーション制作システム
US6088042A (en) * 1997-03-31 2000-07-11 Katrix, Inc. Interactive motion data animation system
JP2001517782A (ja) 1997-09-24 2001-10-09 スリーディーヴィー システムズ リミテッド 音響画像形成システム
US6072494A (en) * 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6115052A (en) * 1998-02-12 2000-09-05 Mitsubishi Electric Information Technology Center America, Inc. (Ita) System for reconstructing the 3-dimensional motions of a human figure from a monocularly-viewed image sequence
US6950534B2 (en) * 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6501515B1 (en) * 1998-10-13 2002-12-31 Sony Corporation Remote control system
JP2000163178A (ja) 1998-11-26 2000-06-16 Hitachi Ltd 仮想キャラクタとのインタラクション装置、及び仮想キャラクタの映像を生成するプログラムを記憶した記憶媒体
US6552729B1 (en) * 1999-01-08 2003-04-22 California Institute Of Technology Automatic generation of animation of synthetic characters
US6614422B1 (en) 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US6738065B1 (en) * 1999-08-10 2004-05-18 Oshri Even-Zohar Customizable animation system
AU5646299A (en) * 1999-09-08 2001-04-10 3Dv Systems Ltd. 3d imaging system
US6512838B1 (en) * 1999-09-22 2003-01-28 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US7006236B2 (en) * 2002-05-22 2006-02-28 Canesta, Inc. Method and apparatus for approximating depth of an object's placement onto a monitored region with applications to virtual interface devices
US6690618B2 (en) 2001-04-03 2004-02-10 Canesta, Inc. Method and apparatus for approximating a source position of a sound-causing event for determining an input used in operating an electronic device
US7050177B2 (en) * 2002-05-22 2006-05-23 Canesta, Inc. Method and apparatus for approximating depth of an object's placement onto a monitored region with applications to virtual interface devices
US20030132950A1 (en) 2001-11-27 2003-07-17 Fahri Surucu Detecting, classifying, and interpreting input events based on stimuli in multiple sensory domains
DE19960180B4 (de) * 1999-12-14 2006-03-09 Rheinmetall W & M Gmbh Verfahren zur Herstellung eines Sprenggeschosses
US6674877B1 (en) * 2000-02-03 2004-01-06 Microsoft Corporation System and method for visually tracking occluded objects in real time
AU2001241500A1 (en) * 2000-02-15 2001-08-27 Sorceron, Inc. Method and system for distributing captured motion data over a network
US6663491B2 (en) * 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
US6554706B2 (en) * 2000-05-31 2003-04-29 Gerard Jounghyun Kim Methods and apparatus of displaying and evaluating motion data in a motion game apparatus
US20020024517A1 (en) * 2000-07-14 2002-02-28 Komatsu Ltd. Apparatus and method for three-dimensional image production and presenting real objects in virtual three-dimensional space
JP2002058045A (ja) 2000-08-08 2002-02-22 Komatsu Ltd 現実の物体をバーチャル3次元空間に登場させるためのシステム及び方法
US7227526B2 (en) * 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
JP3725460B2 (ja) * 2000-10-06 2005-12-14 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス
US6539931B2 (en) * 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
AU2002315456A1 (en) 2001-06-22 2003-01-08 Canesta, Inc. Method and system to display a virtual input device
AU2002362085A1 (en) 2001-12-07 2003-07-09 Canesta Inc. User interface for electronic devices
US7340077B2 (en) * 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
WO2003073359A2 (en) 2002-02-26 2003-09-04 Canesta, Inc. Method and apparatus for recognizing objects
US7310431B2 (en) * 2002-04-10 2007-12-18 Canesta, Inc. Optical methods for remotely measuring objects
US7623115B2 (en) * 2002-07-27 2009-11-24 Sony Computer Entertainment Inc. Method and apparatus for light input device
US7646372B2 (en) * 2003-09-15 2010-01-12 Sony Computer Entertainment Inc. Methods and systems for enabling direction detection when interfacing with a computer program
US7883415B2 (en) * 2003-09-15 2011-02-08 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
US7151530B2 (en) * 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
US9177387B2 (en) * 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
JP4355341B2 (ja) * 2003-05-29 2009-10-28 本田技研工業株式会社 深度データを用いたビジュアルトラッキング
US7874917B2 (en) * 2003-09-15 2011-01-25 Sony Computer Entertainment Inc. Methods and systems for enabling depth and direction detection when interfacing with a computer program
JP3847753B2 (ja) * 2004-01-30 2006-11-22 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス
US7308112B2 (en) * 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
KR101323966B1 (ko) * 2004-07-30 2013-10-31 익스트림 리얼리티 엘티디. 이미지 프로세싱을 기반으로 한 3d 공간 차원용 시스템 및 방법
US7991220B2 (en) * 2004-09-01 2011-08-02 Sony Computer Entertainment Inc. Augmented reality game system using identification information to display a virtual object in association with a position of a real object
EP1645944B1 (en) * 2004-10-05 2012-08-15 Sony France S.A. A content-management interface
JP4449723B2 (ja) * 2004-12-08 2010-04-14 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
US8009871B2 (en) * 2005-02-08 2011-08-30 Microsoft Corporation Method and system to segment depth images and to detect shapes in three-dimensionally acquired data
KR100688743B1 (ko) * 2005-03-11 2007-03-02 삼성전기주식회사 멀티 레이어 커패시터 내장형의 인쇄회로기판의 제조방법
WO2006099597A2 (en) * 2005-03-17 2006-09-21 Honda Motor Co., Ltd. Pose estimation based on critical point analysis
US7403202B1 (en) * 2005-07-12 2008-07-22 Electronic Arts, Inc. Computer animation of simulated characters using combinations of motion-capture data and external force modelling or other physics models
US20080026838A1 (en) * 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
GB2431717A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Scene analysis
WO2007072019A2 (en) * 2005-12-22 2007-06-28 Pkr Limited Improvements relating to on-line gaming
WO2007096893A2 (en) * 2006-02-27 2007-08-30 Prime Sense Ltd. Range mapping using speckle decorrelation
WO2007130693A2 (en) * 2006-05-07 2007-11-15 Sony Computer Entertainment Inc. Methods and systems for processing an interchange of real time effects during video communication
US7721207B2 (en) * 2006-05-31 2010-05-18 Sony Ericsson Mobile Communications Ab Camera based control
US8395658B2 (en) * 2006-09-07 2013-03-12 Sony Computer Entertainment Inc. Touch screen-like user interface that does not require actual touching
US20080134102A1 (en) * 2006-12-05 2008-06-05 Sony Ericsson Mobile Communications Ab Method and system for detecting movement of an object
US8351646B2 (en) * 2006-12-21 2013-01-08 Honda Motor Co., Ltd. Human pose estimation and tracking using label assignment
GB0703974D0 (en) * 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
EP2162864A1 (en) 2007-05-31 2010-03-17 Depth Analysis Pty.Ltd. Systems and methods for applying a 3d scan of a physical target object to a virtual environment
US7970176B2 (en) * 2007-10-02 2011-06-28 Omek Interactive, Inc. Method and system for gesture classification
TWI372645B (en) * 2007-10-17 2012-09-21 Cywee Group Ltd An electronic game controller with motion-sensing capability
WO2009059065A1 (en) 2007-10-30 2009-05-07 Hewlett-Packard Development Company, L.P. Interactive display system with collaborative gesture detection
US20090221368A1 (en) 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game
GB2455316B (en) * 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
US8149210B2 (en) * 2007-12-31 2012-04-03 Microsoft International Holdings B.V. Pointing device and method
US8803889B2 (en) * 2009-05-29 2014-08-12 Microsoft Corporation Systems and methods for applying animations or motions to a character
CN102810367A (zh) * 2012-08-02 2012-12-05 泰州市双宇电子有限公司 可重复使用电子元件

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2344483C2 (ru) * 2002-09-30 2009-01-20 АйДжиТи Трехмерный текст в игровой машине
US20050255434A1 (en) * 2004-02-27 2005-11-17 University Of Florida Research Foundation, Inc. Interactive virtual characters for training including medical diagnosis training
US20080012866A1 (en) * 2006-07-16 2008-01-17 The Jim Henson Company System and method of producing an animated performance utilizing multiple cameras
US20080170777A1 (en) * 2007-01-16 2008-07-17 Lucasfilm Entertainment Company Ltd. Combining multiple session content for animation libraries

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2708027C1 (ru) * 2019-08-16 2019-12-03 Станислав Игоревич Ашманов Способ передачи движения субъекта из видео на анимированного персонажа

Also Published As

Publication number Publication date
US8803889B2 (en) 2014-08-12
CA2760210C (en) 2018-11-06
EP2435146A2 (en) 2012-04-04
JP5576932B2 (ja) 2014-08-20
CN102596340A (zh) 2012-07-18
BRPI1012091A2 (pt) 2018-03-13
WO2010138428A2 (en) 2010-12-02
CN102596340B (zh) 2014-10-29
US20140320508A1 (en) 2014-10-30
EP2435146B1 (en) 2019-05-15
BRPI1012091B1 (pt) 2019-12-03
EP2435146A4 (en) 2017-06-28
JP2012528390A (ja) 2012-11-12
KR20120020137A (ko) 2012-03-07
US9861886B2 (en) 2018-01-09
US20100302257A1 (en) 2010-12-02
RU2011148395A (ru) 2013-06-10
CA2760210A1 (en) 2010-12-02
KR101751078B1 (ko) 2017-07-03
WO2010138428A3 (en) 2011-02-24

Similar Documents

Publication Publication Date Title
RU2544770C2 (ru) Система и способы для применения анимаций или движений к персонажу
RU2580450C2 (ru) Системы и способы применения отслеживания модели для захвата движений
US8660310B2 (en) Systems and methods for tracking a model
RU2530708C2 (ru) Связывание анимаций
JP5639646B2 (ja) スケルトン・データーのゲーム・アバターへのリアル・タイム・リターゲティング
US9607213B2 (en) Body scan
CN102947777B (zh) 用户跟踪反馈

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150410