УРОВЕНЬ ТЕХНИКИ
[0001] Обычно различные приложения будут отображать визуальное представление, которое соответствует пользователю, при этом пользователь осуществляет управление через некоторые действия, такие как выбор кнопок на удаленном или перемещающимся контроллере некоторым способом. Визуальное представление может быть в форме аватара, нереального персонажа, мультипликационного изображения или животного, курсора, руки или подобного. Визуальное представление является компьютерным представлением, соответствующим пользователю, которое обычно принимает форму двумерной (2D) или трехмерной (3D) модели в различных приложениях, таких как компьютерные игры, видеоигры, чаты, форумы, сообщества, службы мгновенной передачи сообщений и т.п. Многие вычислительные приложения, такие как компьютерные игры, мультимедийные приложения, офисные приложения или подобное, обеспечивают выбор предварительно определенных анимированных персонажей, которые могут быть выбраны для использования в приложении в качестве аватара пользователя. Некоторые системы могут включать камеру, которая способна делать снимок пользователя и идентифицировать признаки из этого кадра данных. Однако эти системы требуют захвата признака пользователя, обработки изображения и затем применения к персонажу в среде нереального времени, и применяемые признаки имеют низкую точность, обычно основанную на единственном снимке пользователя.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0002] Может быть желательно настроить визуальное представление пользователя на основании обнаруженных характеристик пользователя, и может быть желательно применить эти характеристики к визуальному представлению в реальном времени. Также может быть желательно, чтобы система обрабатывала изменения для характеристик пользователя в физическом пространстве и могла обновить визуальное представление в реальном времени. Из этих характеристик может быть желательно, чтобы система идентифицировала характер (темперамент) пользователя и применяла атрибуты, указывающие этот характер, к визуальному представлению пользователя.
[0003] В настоящем описании раскрываются способы для обеспечения визуального представления пользователя, такого как аватар или нереальный (фантастический) персонаж, который может отражать характер пользователя в реальном времени. Используя способы распознавания лиц и распознавания жестов/положения тела, система может выводить характер пользователя. Система может естественным образом передавать эмоции и отношения пользователя с помощью применения атрибутов характера пользователя к визуальному представлению пользователя. Также раскрываются способы для отслеживания пользователя в физическом пространстве в течение времени и применения модификаций или обновлений к визуальному представлению в реальном времени. Например, система может отслеживать выражения лица и перемещения тела пользователя для идентификации характера и затем применять атрибуты, указывающие этот характер, к визуальному представлению. Система может использовать любые обнаруживаемые характеристики для оценки характера пользователя для приложения к визуальному представлению.
[0004] Эта сущность изобретения обеспечивается, чтобы ввести выбор понятий в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Эта сущность изобретения не предназначается для идентификации ключевых признаков или существенных признаков заявленной сущности изобретения, и при этом она не предназначается для использования, чтобы ограничить область заявленной сущности изобретения. Кроме того, заявленная сущность изобретения не ограничивается реализациями, которые решают любые или все недостатки, отмеченные в какой-либо части этого раскрытия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0005] Системы, способы и считываемые компьютером носители для модификации визуального представления в соответствии с настоящим описанием дополнительно описываются со ссылками на сопроводительные чертежи, на которых:
[0006] Фиг. 1 иллюстрирует примерный вариант осуществления системы распознавания, анализа и отслеживания цели посредством пользователя, играющего в игру.
[0007] Фиг. 2 иллюстрирует примерный вариант осуществления устройства захвата, которое может быть использовано в системе распознавания, анализа и отслеживания цели и способах встроенного формирования цепочки и смешивания анимации.
[0008] Фиг. 3 иллюстрирует примерный вариант осуществления вычислительной среды, в которой могут осуществляться описанные в настоящем описании способы анимации.
[0009] Фиг. 4 иллюстрирует другой примерный вариант осуществления вычислительной среды, в которой могут осуществляться описанные в настоящем описании способы анимации.
[0010] Фиг. 5A иллюстрирует скелетное отображение пользователя, который был сгенерирован из изображения глубины.
[0011] Фиг. 5B иллюстрирует дополнительные подробности архитектуры блока распознавания жестов, показанного на Фиг. 2.
[0012] Фиг. 6 изображает примерную систему распознавания, анализа и отслеживания цели и примерный вариант осуществления пользователя в физическом пространстве и отображения визуального представления пользователя.
[0013] Фиг. 7 изображает примерную блок-схему для способа применения атрибутов, указывающих характер пользователя, к визуальному представлению.
[0014] Фиг. 8 изображает примерную таблицу поиска для выведения характера пользователя.
[0015] Фиг. 9 изображает другую примерную систему распознавания, анализа и отслеживания цели, примерные варианты осуществления пользователя в физическом пространстве и примерные варианты осуществления отображения визуального представления пользователя.
ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0016] В настоящем описании раскрываются способы для обеспечения визуального представления пользователя, такого как аватар, которое может отражать характер пользователя. Визуальное представление пользователя может быть в форме персонажа, анимации, аватара, курсора на экране, руки или любого другого визуального представления, которое соответствует пользователю в физическом пространстве. Используя способы распознавания лиц и распознавания жестов/положения тела, система может естественным образом передавать эмоции и позицию пользователя с помощью визуального представления пользователя. Например, устройство захвата может идентифицировать признаки пользователя и настраивать визуальное представление пользователя на основании этих идентифицированных признаков, таких как эмоции, выражения и настроения. В примерном варианте осуществления система генерирует и использует аспекты скелетной или сеточной модели человека на основании данных изображения, захваченных устройством захвата, и использует способы распознавания тела для определения характера пользователя.
[0017] Также раскрываются способы для отображения визуального представления в реальном времени и применения атрибутов, указывающих характер пользователя, к визуальному представлению в реальном времени. Система может отслеживать пользователя в физическом пространстве в течение времени и применять модификации или обновления к визуальному представлению в реальном времени. Система может отслеживать обнаруживаемые характеристики, такие как характеристики пользователя, жесты, статус приложения и т.д., чтобы выводить характер (темперамент) пользователя. Характеристики пользователя, например, такие как выражения лица и перемещения тела, могут быть использованы для выведения характера, и затем атрибуты этого характера могут быть применены к визуальному представлению таким образом, чтобы визуальное представление отражало характер пользователя. Например, устройство захвата может идентифицировать поведение и характерные черты, эмоции, образцы голоса, данные истории или подобное пользователя для определения характера пользователя и применения их к визуальному представлению пользователя. Система может использовать любые обнаруживаемые признаки для оценки характера пользователя для приложения к визуальному представлению.
[0018] Для генерирования модели, представляющей цель или объект в физическом пространстве, устройство захвата может захватывать изображение глубины сцены и сканировать цели или объекты на сцене. Цель может быть человеком-целью, такой как пользователь в физическом пространстве. Таким образом, как используется в настоящем описании, подразумевается, что цель и пользователь могут быть использованы взаимозаменяемо. В одном варианте осуществления устройство захвата может определять, соответствует ли одна или более целей или объектов на сцене человеку-цели, такой как пользователь. Чтобы определить, соответствует ли цель или объект на сцене человеку-цели, каждая из целей может заливаться цветом и сравниваться с образцом модели человеческого тела. Каждая цель или объект, который соответствует модели человеческого тела, может затем сканироваться для генерирования скелетной модели, ассоциированной с ней. Например, цель, идентифицированная как человек, может сканироваться для генерирования скелетной модели, ассоциированной с ней. Затем скелетная модель может быть выдана вычислительной среде для отслеживания скелетной модели и визуализации визуального представления, ассоциированного со скелетной моделью. Вычислительная среда может определять, какие выполнять элементы управления при выполнении приложения в компьютерной среде на основании, например, жестов пользователя, которые были распознаны и сопоставлены со скелетной моделью. Таким образом, может быть отображена пользовательская обратная связь, такая как с помощью аватара на экране, и пользователь может управлять движением этого аватара посредством жестов в физическом пространстве.
[0019] Движение визуального представления может управляться посредством сопоставления перемещения визуального представления с движением пользователя в физическом пространстве. Например, цель может быть пользователем-человеком, который двигается или жестикулирует в физическом пространстве. Визуальное представление цели может быть аватаром, отображенным на экране, и движение аватара может соответствовать движению пользователя. Движение в физическом пространстве может быть преобразовано в элемент управления в системе или пространстве приложения, таком как виртуальное пространство и/или игровое пространство. Например, движения пользователя могут быть отслежены, смоделированы и отображены, и жесты пользователя могут управлять некоторыми аспектами приложения операционной системы или выполняющего приложения. Жесты пользователя могут быть преобразованы в элемент управления в системе или пространстве приложения для применения атрибутов, указывающих характер, к визуальному представлению.
[0020] Захваченное движение может быть любым движением в физическом пространстве, которое захватывается устройством захвата, таким как камера. Захваченное движение может включать в себя движение цели в физическом пространстве, такой как пользователь или объект. Захваченное движение может включать в себя жест, который преобразует в элемент управления в операционной системе или приложении. Движение может быть динамичным, таким как непрерывное движение, или движение может быть статическим, таким как пользователь, который зафиксирован в позиции с небольшим перемещением.
[0021] Система, способы и компоненты распознавания лица и тела для передачи атрибутов и эмоций пользователя, описанных в настоящем описании, могут осуществляться на мультимедийной консоли, такой как игровая консоль, или на любом другом вычислительном устройстве, в котором желательно отобразить визуальное представление цели, включающей в себя посредством примера и без какого-либо заданного ограничения спутниковые приемники, телевизионные приставки, аркадные игры, персональные компьютеры (PC), портативные телефоны, персональные цифровые ассистенты (ассистенты PDA) и другие переносные устройства.
[0022] Фиг. 1 иллюстрирует примерный вариант осуществления конфигурации системы 10 распознавания, анализа и отслеживания цели, которая может использовать способы для применения характеристик пользователя к визуальному представлению. В примерном варианте осуществления пользователь 18 играет в игру в бокс. В примерном варианте осуществления система 10 может распознавать, анализировать и/или отслеживать цель человека, такую как пользователь 18. Система 10 может собирать информацию, относящуюся к движениям, выражениям лица, языку тела, эмоциям и т.д. пользователя, в физическом пространстве. Например, система может идентифицировать и сканировать человека-цель 18. Система 10 может использовать способы распознавания положения тела для идентификации характера человека-цели 18. Например, если пользователь 18 сутулится, складывает руки на груди и медленно поворачивает свою голову в сторону, система 10 может идентифицировать части тела пользователя 18 и то, как они двигаются. Система 10 может сравнивать движения с библиотекой эмоций, настроений, отношений, выражений и т.д., чтобы интерпретировать характер пользователя.
[0023] Как показано на Фиг. 1, система 10 распознавания, анализа и отслеживания цели может включать в себя вычислительную среду 12. Вычислительная среда 12 может быть компьютером, игровой системой или консолью или подобным. Согласно примерному варианту осуществления вычислительная среда 12 может включать в себя компоненты аппаратного обеспечения и/или компоненты программного обеспечения таким образом, чтобы вычислительная среда 12 могла быть использована для выполнения приложений, таких как игровые приложения, неигровые приложения или подобное.
[0024] Как показано на Фиг. 1, система 10 распознавания, анализа и отслеживания цели может дополнительно включать в себя устройство 20 захвата. Устройством 20 захвата может быть, например, камера, которая может быть использована для визуального контроля одного или более пользователей, таких как пользователь 18, таким образом, чтобы жесты, выполняемые одним или более пользователями, могли быть захвачены, проанализированы и отслежены для выполнения одного или более элементов управления или действий в приложениях, как будет описано более подробно ниже.
[0025] Согласно одному варианту осуществления система 10 распознавания, анализа и отслеживания цели может быть соединена с аудиовизуальным устройством 16, таким как телевизор, монитор, высококачественный телевизор (HDTV) или подобное, которые могут обеспечивать графику и/или аудиоигры или приложения пользователю, такому как пользователь 18. Например, вычислительная среда 12 может включать в себя видеоадаптер, такой как карта графических данных, и/или аудиоадаптер, такой как звуковая плата, которая может обеспечивать аудиовизуальные сигналы, ассоциированные с игровым приложением, неигровым приложением или подобным. Аудиовизуальное устройство 16 может принимать аудиовизуальные сигналы от вычислительной среды 12 и затем может выводить графику и/или аудиоигры или приложения, ассоциированные с аудиовизуальными сигналами, пользователю 18. Согласно одному варианту осуществления аудиовизуальное устройство 16 может быть соединено с вычислительной средой 12 с помощью, например, кабеля S-видео, коаксиального кабеля, HDMI кабеля, DVI кабеля, VGA кабеля или подобного.
[0026] Как показано на Фиг. 1, система 10 распознавания, анализа и отслеживания цели может быть использована для распознавания, анализа и/или отслеживания человека-цели, такой как пользователь 18. Например, пользователь 18 может отслеживаться, используя устройство 20 захвата, таким образом, чтобы перемещения пользователя 18 могли интерпретироваться как элементы (средства) управления, которые могут быть использованы, чтобы влиять на приложение, выполняемое компьютерной средой 12. Таким образом, согласно одному варианту осуществления пользователь 18 может перемещать его или ее тело, чтобы управлять приложением. Система 10 может отслеживать тело и движения пользователя, выполняемые телом пользователя, включая жесты, которые управляют аспектами системы, такими как приложение, операционная система или подобное. Система может сравнивать положение тела пользователя, выражения лица, выражения голоса и тон, направленные пристальные взгляды и т.д. для определения характера пользователя или отношения и применения характеристик этого характера или отношения к аватару.
[0027] Система 10 может преобразовывать введенные данные на устройство 20 захвата в анимацию, причем введенные данные представляет движение пользователя таким образом, чтобы анимация возбуждалась посредством этих введенных данных. Таким образом, движения пользователя могут преобразовываться в визуальное представление 40 таким образом, чтобы движения пользователя в физическом пространстве выполнялись посредством аватара 40. Движения пользователя могут быть жестами, которые применяются к средству управления в приложении. Как показано на Фиг. 1, в примерном варианте осуществления приложение, выполняющееся в вычислительной среде 12, может быть игрой в бокс, в которую может играть пользователь 18.
[0028] Вычислительная среда 12 может использовать аудиовизуальное устройство 16 для обеспечения визуального представления аватара 40 игрока, которым пользователь 18 может управлять посредством его или ее перемещений. Например, пользователь 18 может сделать удар в физическом пространстве, чтобы заставить аватар 40 игрока сделать удар в игровом пространстве. Аватар 40 игрока может иметь характеристики пользователя, идентифицированного устройством 20 захвата, или система 10 может использовать признаки известного боксера или создавать изображение телосложения профессионального боксера для визуального представления, которое сопоставляется с движениями пользователя. Система 10 может отслеживать пользователя и модифицировать характеристики аватара пользователя на основании обнаруживаемых признаков пользователя в физическом пространстве. Вычислительная среда 12 может также использовать аудиовизуальное устройство 16 для обеспечения визуального представления боксирующего противника 38 пользователю 18. Согласно примерному варианту осуществления компьютерная среда 12 и устройство 20 захвата системы 10 распознавания, анализа и отслеживания цели могут быть использованы для распознавания и анализа удара пользователя 18 в физическом пространстве таким образом, чтобы удар мог интерпретироваться как управление игрой аватара 40 игрока в игровом пространстве. Множественные пользователи могут взаимодействовать друг с другом из удаленных местоположений. Например, визуальное представление боксирующего противника 38 может представлять другого пользователя, такого как второй пользователь в физическом пространстве, посредством пользователя 18 или сетевого пользователя во втором физическом пространстве.
[0029] Другие перемещения пользователем 18 могут также интерпретироваться как другие элементы управления или действия, такие как элементы управления, чтобы подпрыгнуть, раскачиваться, перемещаться, блокировать, атаковать или сделать множество ударов различной силы. Кроме того, некоторые перемещения могут интерпретироваться как элементы управления, которые могут соответствовать действиям, отличным от управления аватаром 40 игрока. Например, игрок может использовать перемещения, чтобы закончить, остановить или сохранить игру, выбрать уровень, просмотреть лучшие результаты, пообщаться с другом и т.д. Дополнительно, полный диапазон перемещения пользователя 18 может быть доступным, использоваться и анализироваться любым подходящим способом, чтобы взаимодействовать с приложением.
[0030] В примерных вариантах осуществления человек-цель, такая как пользователь 18, может иметь объект. В таких вариантах осуществления пользователь электронной игры может держать объект таким образом, чтобы движения игрока и объекта могли быть использованы для регулирования и/или управления параметрами игры. Например, движение игрока, держащего ракетку, может быть отслежено и использовано для управления ракеткой на экране в электронной спортивной игре. В другом примерном варианте осуществления движение игрока, держащего объект, может быть отслежено и использовано для управления оружием на экране в электронной боевой игре.
[0031] Жесты или движение пользователя могут интерпретироваться как элементы управления, которые могут соответствовать действиям, отличным от управления аватаром 40 игрока. Например, игрок может использовать перемещения, чтобы закончить, остановить или сохранить игру, выбрать уровень, просмотреть лучшие результаты, пообщаться с другом и т.д. Игрок может использовать перемещения, чтобы применить атрибуты, указывающие характер, к визуальному представлению пользователя. Фактически любой управляемый аспект операционной системы и/или приложения может управляться перемещениями цели, такой как пользователь 18. Согласно другим примерным вариантам осуществления система 10 распознавания, анализа и отслеживания цели может интерпретировать перемещения цели для аспектов управления операционной системы и/или приложения, которые находятся вне области игр.
[0032] Применение признака пользователя к визуальному представлению или обнаружение некоторых эмоций или отношений пользователя может быть аспектом операционной системы и/или приложения, которые могут управляться или распознаваться из жестов пользователя. Например, жест для рук пользователя, сложенных на его или ее груди, может быть жестом, распознанным как настроение расстройства. Распознавание системой жеста, который указывает, что пользователь расстроен, наряду с выражением пользователя, таким как хмурый взгляд, может привести к визуальному представлению, которое отражает расстроенный характер.
[0033] Жест пользователя может быть элементами управления, применимыми к операционной системе, неигровым аспектам игры или неигровому приложению. Жесты пользователя могут интерпретироваться как манипуляция объектом, такая как управление пользовательским интерфейсом. Например, рассмотрим пользовательский интерфейс, имеющий интерфейс блейдов или интерфейс на основе вкладок, вертикально упорядоченный слева направо, где выбор каждого блейда или вкладки открывает варианты для различных элементов управления в приложении или системе. Система может идентифицировать жест руки пользователя для перемещения вкладки, где рука пользователя в физическом пространстве виртуальным образом соответствует вкладке в пространстве приложения. Жест, включающий в себя паузу, движение захвата и затем взмах руки налево, может интерпретироваться как выбор вкладки и затем ее перемещение таким образом, чтобы открыть следующую вкладку.
[0034] Фиг. 2 иллюстрирует примерный вариант осуществления устройства 20 захвата, которое может быть использовано для распознавания цели, анализа и отслеживания, где цель может быть пользователем или объектом. Согласно примерному варианту осуществления устройство 20 захвата может быть сконфигурировано для захвата видео с информацией глубины, включающей в себя изображение глубины, которое может включать в себя значения глубины, с помощью любого подходящего способа, включающего в себя, например, время прохождения, структурированный свет, стереоизображение или подобное. Согласно одному варианту осуществления устройство 20 захвата может организовать вычисленную информацию глубины в "Z уровни" или уровни, которые могут быть перпендикулярны оси Z, простирающейся от камеры глубины вдоль ее луча обзора.
[0035] Как показано на Фиг. 2, устройство 20 захвата может включать в себя компонент 22 камеры изображения. Согласно примерному варианту осуществления компонент 22 камеры изображения может быть камерой глубины, которая может захватывать изображение глубины сцены. Изображение глубины может включать в себя двумерную (2-D) пиксельную область захваченной сцены, где каждый пиксель в 2-D пиксельной области может представлять значение глубины, такое как длина или расстояние, например, в сантиметрах, миллиметрах или подобном, объекта в захваченной сцене от камеры.
[0036] Как показано на Фиг. 2, согласно примерному варианту осуществления компонент 22 камеры изображения может включать в себя компонент 24 IR (инфракрасного) света, трехмерную (3-D) камеру 26 и камеру RGB 28, которые могут быть использованы для захвата изображения глубины сцены. Например, при анализе способом времени прохождения компонент 24 ИК света устройства 20 захвата может испускать инфракрасный свет на сцену и затем может использовать датчики (не показаны) для обнаружения обратно рассеянного света от поверхности одной или более целей и объектов на сцене, используя, например, 3-D камеру 26 и/или камеру 28 RGB. В некоторых вариантах осуществления пульсирующий инфракрасный свет может быть использован таким образом, чтобы время между исходящим световым импульсом и соответствующим входящим световым импульсом могло быть измерено и использовано для определения физического расстояния от устройства 20 захвата до конкретного местоположения в отношении целей или объектов на сцене. Дополнительно, в других примерных вариантах осуществления фаза исходящей световой волны может сравниваться с фазой входящей световой волны для определения фазового сдвига. Затем сдвиг фаз может быть использован для определения физического расстояния от устройства 20 захвата до конкретного местоположения в отношении целей или объектов.
[0037] Согласно другому примерному варианту осуществления анализ способом времени прохождения может быть использован, чтобы косвенно определить физическое расстояние от устройства 20 захвата до конкретного местоположения в отношении целей или объектов посредством анализа интенсивности отраженного пучка света в течение времени с помощью различных способов, включающих в себя, например, формирование изображения прерывистого светового импульса.
[0038] В другом примерном варианте осуществления устройство 20 захвата может использовать структурированный свет для захвата информации глубины. В таком анализе текстурированный свет (то есть свет, отображенный как известный шаблон, такой как шаблон сетки или шаблон полосы) может быть спроецирован на сцену с помощью, например, компонента 24 ИК света. После нанесения удара по поверхности одной или более целей или объектов на сцене, шаблон в ответ на это может стать деформированным. Такая деформация шаблона может быть захвачена, например, 3-D камерой 26 и/или камерой 28 RGB и затем может быть проанализирована для определения физического расстояния от устройства 20 захвата до конкретного местоположения в отношении целей или объектов.
[0039] Согласно другому варианту осуществления устройство 20 захвата может включать в себя две или более физически отделенные камеры, которые могут просматривать сцену с различных углов, получать визуальные стереоданные, которые могут быть разрешены для генерирования информации глубины.
[0040] Устройство 20 захвата может дополнительно включать в себя микрофон 30 или множество микрофонов. Микрофон 30 может включать в себя преобразователь или датчик, который может принимать и преобразовывать звук в электрический сигнал. Согласно одному варианту осуществления микрофон 30 может быть использован для уменьшения обратной связи между устройством 20 захвата и вычислительной средой 12 в системе 10 распознавания, анализа и отслеживания цели. Дополнительно, микрофон 30 может быть использован для приема аудиосигналов, которые также могут быть выданы пользователем для управления приложениями, такими как игровые приложения, неигровые приложения или подобное, которые могут выполняться вычислительной средой 12.
[0041] В примерном варианте осуществления устройство 20 захвата может дополнительно включать в себя процессор 32, который может находиться в оперативной связи с компонентом 22 камеры изображения. Процессор 32 может включать в себя стандартизированный процессор, специализированный процессор, микропроцессор или подобное, которые могут выполнять команды, которые могут включать в себя команды для приема изображения глубины, определения, может ли подходящая цель быть включена в изображение глубины, преобразования подходящей цели в скелетное представление или модель цели или любую другую подходящую команду.
[0042] Устройство 20 захвата может дополнительно включать в себя компонент 34 памяти, который может сохранять команды, которые могут выполняться процессором 32, изображения или кадры изображений, захваченные 3-D камерой 26 или камерой 28 RGB, или любую другую подходящую информацию, изображения или подобное. Согласно примерному варианту осуществления компонент 34 памяти может включать в себя оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), кэш, флэш-память, накопитель на жестких дисках или любой другой подходящий компонент хранения. Как показано на Фиг. 2, в одном варианте осуществления компонент 34 памяти может быть отдельным компонентом в связи с компонентом 22 захвата изображения и процессором 32. Согласно другому варианту осуществления компонент 34 памяти может быть объединен в процессор 32 и/или компонент 22 захвата изображения.
[0043] Как показано на Фиг. 2, устройство 20 захвата может находиться в связи с вычислительной средой 12 с помощью линии 36 связи. Линия 36 связи может быть проводным соединением, включающим в себя, например, соединение USB, соединение Firewire, кабельное соединение Ethernet или подобное, и/или беспроводным соединением, таким как беспроводное соединение 802.11b, g, a или n. Согласно одному варианту осуществления вычислительная среда 12 может обеспечивать часы устройству 20 захвата, которые могут быть использованы для определения, когда захватить, например, сцену с помощью линии 36 связи.
[0044] Дополнительно, устройство 20 захвата может выдавать информацию глубины и изображения, захваченные, например, 3-D камерой 26 и/или камерой 28 RGB, и скелетную модель, которая может генерироваться устройством 20 захвата к вычислительной среде 12 с помощью линии 36 связи. Затем вычислительная среда 12 может использовать скелетную модель, информацию глубины и захваченные изображения, например, для управления приложением, таким как игровой или текстовой процессор. Например, как показано на Фиг. 2, вычислительная среда 12 может включать в себя библиотеку 190 жестов.
[0045] Как показано на Фиг. 2, вычислительная среда 12 может включать в себя библиотеку 190 жестов и механизм 192 распознавания жестов. Механизм 192 распознавания жестов может включать в себя коллекцию фильтров 191 жеста. Фильтр может содержать код и ассоциированные данные, которые могут распознавать жесты или иначе обрабатывать глубину, RGB или скелетные данные. Каждый фильтр 191 может содержать информацию, определяющую жест наряду с параметрами, или метаданными, для этого жеста. Например, бросок, который содержит движение одной из рук из-за задней части тела мимо передней части тела, может быть реализовано как фильтр 191 жеста, содержащий информацию, представляющую движение одной из рук пользователя из-за задней части тела мимо передней части тела, когда это движение было захвачено камерой глубины. Затем для этого жеста могут быть установлены параметры. В случае когда жест является броском, параметр может быть предельной скоростью, которой рука должна достигнуть, расстоянием, которое рука должна пройти (или абсолютным, или относительным размера пользователя в целом), и оценкой достоверности посредством механизма устройства распознавания, что жест имел место. Эти параметры для жеста могут варьироваться между приложениями, между контекстами одного приложения или в пределах одного контекста одного приложения в течение времени.
[0046] В то время как рассматривается, что механизм распознавания жестов может включать в себя коллекцию фильтров жеста, причем фильтр может содержать код или иначе представлять компонент для обработки глубины, RGB или скелетных данных, причем использование фильтра не предназначается для ограничения анализа фильтром. Фильтр является представлением примерного компонента или секции кода, которая анализирует данные сцены, принятые системой, и сравнивает эти данные с базовой информаций, которая представляет жест. В результате анализа система может сделать вывод, соответствующий тому, соответствуют ли введенные данные жесту. Базовая информация, представляющая жест, может регулироваться, чтобы соответствовать повторяющемуся признаку в истории данных, представляющих движение захвата пользователя. Базовая информация, например, может быть частью фильтра жеста, как описано выше. Однако рассматривается любой подходящий способ для анализа введенных данных и данных жеста.
[0047] Жест может быть распознан как жест идентичности характера (темперамента). В примерном варианте осуществления движение в физическом пространстве может представлять жест, распознанный как запрос применить атрибуты конкретного характера к визуальному представлению цели. Множество жестов может представлять конкретный жест идентичности характера. Таким образом, пользователь может управлять формой визуального представления посредством жеста в физическом пространстве, который распознается как жест идентичности характера. Например, как описано выше, движение пользователя может сравниваться с фильтром жеста, таким как фильтр 191 жеста из Фиг. 2. Фильтр 191 жеста может содержать информацию для жеста идентичности характера из жестов 196 идентичности характера в библиотеке 190 жестов.
[0048] Множество жестов идентичности характера может представлять характер, имеющий атрибуты, которые должны быть применены к визуальному представлению на экране. Например, жест идентификации "взволнованный" может быть распознан из идентичности движения пользователя, содержащего движение прыжка вверх и вниз с руками пользователя, поднятыми в воздух. Результат может быть применением атрибутов, непосредственно сопоставленных с движением пользователя, и/или анимации в дополнение к движению пользователя, к визуальному представлению пользователя.
[0049] Данные, захваченные камерами 26, 28 и устройством 20 в форме скелетной модели, и перемещения, ассоциированные с ними, могут сравниваться с фильтрами 191 жеста в библиотеке 190 жестов для идентификации, когда пользователь (как представлено скелетной моделью) выполнил один или более жестов. Таким образом, вводы в фильтр, такой как фильтр 191, могут содержать данные, такие как данные соединения о соединенной позиции пользователя, как углы, сформированные костями, которые имеют место в суставе, данные цвета RGB из сцены и скорость изменения аспекта пользователя. Как упомянуто, параметры могут быть установлены для жеста. Выходные данные от фильтра 191 могут содержать параметры, такие как достоверность, что выполняется заданный жест, скорость, с которой выполняется движение жеста, и время, в которое жест имеет место.
[0050] Вычислительная среда 12 может включать в себя процессор 195, который может обрабатывать изображение глубины для определения, какие цели находятся на сцене, например, пользователь 18 или объект в комнате. Это может быть сделано, например, посредством группировки пикселей изображения глубины, которые совместно используют аналогичное значение расстояния. Изображение также может быть интерпретировано для формирования скелетного представления пользователя, где идентифицируются признаки, такие как суставы и ткани, которые находятся между суставами. Здесь существуют способы скелетного сопоставления для захвата человека камерой глубины, и из этого определяются различные точки на скелете этого пользователя, суставы руки, запястья, локти, колени, нос, лодыжки, плечи и где таз переходит в спинной хребет. Другие способы включают в себя преобразование изображения в представление модели человеческого тела и преобразование изображения в представление сетчатой модели человека.
[0051] В варианте осуществления обработка выполняется непосредственно на устройстве 20 захвата, и предварительные данные изображения значений глубины и цвета (где устройство 20 захвата содержит 3D камеру 26) передаются в вычислительную среду 12 с помощью линии 36 связи. В другом варианте осуществления выполняется обработка процессором 32, подсоединенным к камере 402, и затем проанализированные данные изображения посылают в вычислительную среду 12. В еще одном варианте осуществления как предварительные данные изображения, так и структурно проанализированные данные изображения посылаются в вычислительную среду 12. Вычислительная среда 12 может принимать структурно проанализированные данные изображения, но она может все еще принимать необработанные данные для выполнения текущего процесса или приложения. Например, если изображение сцены передается через компьютерную сеть другому пользователю, вычислительная среда 12 может передавать необработанные данные для обработки посредством другой вычислительной среды.
[0052] Вычислительная среда 12 может использовать библиотеку 190 жестов для интерпретации перемещений скелетной модели и управления приложением на основании этих перемещений. Вычислительная среда 12 может моделировать и отображать представление пользователя, например, в форме аватара или указателя, на дисплее, таком как в устройстве 193 отображения. Устройство 193 отображения может включать в себя монитор компьютера, телевизионный экран или любое подходящее устройство отображения. Например, управляемая камерой компьютерная система может захватывать пользовательские данные изображения и отображать пользовательскую обратную связь на телевизионном экране, который сопоставляется с жестами пользователя. Пользовательская обратная связь может быть отображена как аватар на экране, таком как показан на Фиг. 1A и 1B. Движение аватара может непосредственно управляться посредством сопоставления перемещения аватара с перемещениями пользователя. Жесты пользователя могут интерпретироваться некоторыми аспектами управления приложения.
[0053] Как описано выше, может быть желательно применить атрибуты характера к визуальному представлению цели. Например, пользователь может желать вынудить визуальное представление пользователя выполнить танец на экране, чтобы показать счастье пользователя. Пользователь может инициировать применение таких атрибутов посредством выполнения конкретного жеста идентичности характера.
[0054] Согласно примерному варианту осуществления цель может быть человеком-целью в любой позиции, такой как положение стоя или положение сидя, человеком-целью с объектом, двумя или более людьми-целями, одной или более частями одной или более людей-целей, или подобным, которые могут сканироваться, отслеживаться, моделироваться и/или оцениваться для генерирования виртуального экрана, сравнения пользователя с одним или более сохраненными профилями и/или сохранения информации 198 профиля о цели в вычислительной среде, такой как вычислительная среда 12. Информация 198 профиля может быть в форме профилей пользователя, персональных профилей, профилей приложения, профилей системы или любого другого подходящего способа для сохранения данных для более позднего доступа. Информация 198 профиля может быть доступной с помощью приложения или может быть доступной во всей системе, например. Информация 198 профиля может включать в себя таблицы поиска для загрузки специфичной пользовательской информации профиля. Виртуальный экран может взаимодействовать с приложением, которое может выполняться вычислительной средой 12, описанной выше с ссылками на Фиг. 1A-1B.
[0055] Согласно примерным вариантам осуществления таблицы поиска могут включать в себя специфичную для пользователя информацию профиля. В одном варианте осуществления вычислительная среда, такая как вычислительная среда 12, может включать в себя сохраненные данные 198 профиля об одном или более пользователях в таблицах поиска. Сохраненные данные 198 профиля, помимо всего прочего, могут включать в себя отсканированные цели или оцененный размер тела, скелетные модели, модели тела, голосовые примеры или пароли, возраст цели, предыдущие жесты, ограничения цели и стандартное использование системы целью, такое как, например, предпочтение сидеть, доминирование левой руки или правой руки, или предпочтение стоять очень близко к устройству захвата. Эта информация может быть использована для определения, есть ли соответствие между целью на сцене захвата и одним или более профилями 198 пользователя, которые в одном варианте осуществления могут позволить системе приспособить виртуальный экран к пользователю или приспособить другие элементы вычислительного или игрового опыта согласно профилю 198.
[0056] Один или более персональных профилей 198 могут быть сохранены в компьютерной среде 12 и использоваться во многих пользовательских сеансах, или один или более персональных профилей могут быть созданы только для единственного сеанса. Пользователи могут иметь опцию установления профиля, где они могут выдавать информацию в систему, такую как сканирование голоса или тела, возраст, персональные предпочтения, доминирование левой руки или правой руки, аватар, имя или подобное. Персональные профили также могут быть обеспечены для "гостей", которые не выдают информацию в систему за пределами вхождения в пространство захвата. Временный персональный профиль может быть установлен для одного или более "гостей". В конце сеанса гостя персональный профиль гостя может быть сохранен или удален.
[0057] Библиотека 190 жестов, механизм 192 распознавания жестов и профиль 198 могут быть реализованы в аппаратном обеспечении, программном обеспечении или их комбинации. Например, библиотека 190 жестов и механизм 192 распознавания жестов могут быть реализованы как программное обеспечение, которое выполняется на процессоре, таком как процессор 195, вычислительной среде 12 (или в блоке 101 обработки Фиг. 3 или блоке 259 обработки Фиг. 4).
[0058] Подчеркивается, что блок-схема, изображенная на Фиг. 2 и Фиг. 3-4, описанных ниже, является примерной и не предназначается, чтобы подразумевать конкретную реализацию. Таким образом, процессор 195 или 32 на Фиг. 1, блок 101 обработки согласно Фиг. 3 и блок 259 обработки согласно Фиг. 4 могут быть реализованы как единственный процессор или множественные процессоры. Множественные процессоры могут быть распределенными или центрально расположенными. Например, библиотека 190 жестов может быть реализована как программное обеспечение, которое выполняется на процессоре 32 устройства захвата или может быть реализована как программное обеспечение, которое выполняется на процессоре 195 в вычислительной среде 12. В настоящем описании рассматриваются любые комбинации процессоров, которые являются подходящими для выполнения раскрытых способов. Множественные процессоры могут связываться беспроводным образом с помощью жесткой проводниковой системы или ее комбинации.
[0059] Кроме того, используемая в настоящем описании вычислительная среда 12 может относиться к единственному вычислительному устройству или вычислительной системе. Вычислительная среда может включать в себя невычислительные компоненты. Вычислительная среда может включать в себя устройство отображения, такое как устройство 193 отображения, показанное на Фиг. 2. Устройство отображения может быть объектом, отдельным, но подсоединенным к вычислительной среде, или устройство отображения может быть вычислительным устройством, которое обрабатывает и отображает, например. Таким образом, вычислительная система, вычислительное устройство, вычислительная среда, компьютер, процессор или другой вычислительный компонент могут быть использованы взаимозаменяемо.
[0060] Библиотека жестов и параметры фильтра могут быть настроены для приложения или контекста приложения посредством инструмента жеста. Контекст может быть культурным контекстом и может быть контекстом среды. Культурный контекст относится к культуре пользователя, использующего систему. Различные культуры могут использовать аналогичные жесты для передачи заметно различных значений. Например, американский пользователь, который желает сказать другому пользователю "смотри" или "используй свои глаза", может положить свой указательный палец на свою голову близко к наружной стороне своего глаза. Однако итальянский пользователь может интерпретировать этот жест как отношение к мафии.
[0061] Аналогично могут существовать различные контексты среди различных сред одного приложения. Возьмем игру "шутер («стрелялку») от первого лица", которая включает управление автомобилем. В то время как пользователь находится на ногах, сжатие кулака пальцами по направлению к земле и вытягивание кулака вперед и от тела может представлять жест удара кулаком. В то время как пользователь находится в контексте вождения, то же движение может представлять жест "переключения скоростей". Относительно модификаций к визуальному представлению различные жесты могут вызывать различные модификации в зависимости от среды. Отличающийся жест механизма инициации модификации может быть использован для входа в режим модификации, специфичный для приложения, в отличие от режима модификации всей системы. Каждый режим модификации может быть укомплектован независимым набором жестов, который соответствует режиму модификации, введен в эксплуатацию как результат жеста механизма инициации модификации. Например, в игре "боулинг" раскачивающееся движение руки может быть жестом, идентифицированным как раскачивание шара для боулинга, чтобы кинуть его вниз на виртуальную дорожку. Однако в другом приложении раскачивающееся движение руки может быть жестом, идентифицированным как запрос удлинить руку аватара пользователя, отображенного на экране. Также может быть одна или более сред меню, где пользователь может сохранить свою игру, выбрать среди оборудования своего персонажа или выполнить аналогичные действия, которые не содержат непосредственную игру в игру. В этой среде один и тот же жест может иметь третье значение, например, выбрать что-нибудь или перейти к другому экрану.
[0062] Жесты могут группироваться в пакеты жанра дополнительных жестов, которые, вероятно, должны быть использованы приложением в этом жанре. Дополнительные жесты - являются или дополнительными, как те, которые обычно используются вместе, или дополнительными в случае, когда при изменении одного параметра изменяются параметр другого - могут группироваться в пакеты жанра. Эти пакеты могут быть выданы к приложению, которое может выбрать по меньшей мере один. Приложение может настраивать или модифицировать параметр жеста или фильтр 191 жестов, чтобы лучше соответствовать уникальным аспектам этого приложения. Когда настраивается этот параметр, второй, дополнительный, параметр (во взаимозависимом смысле) или жеста или второго жеста также настраивается таким образом, чтобы параметры оставались дополнительными. Пакеты жанра для видеоигр могут включать в себя жанры, такие как "шутер от первого лица", "экшен", "вождение" и спортивные игры.
[0063] Фиг. 3 иллюстрирует примерный вариант осуществления вычислительной среды, которая может быть использована для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели. Вычислительная среда, такая как вычислительная среда 12, описанная выше с ссылками на Фиг. 1, 2, может быть мультимедийной консолью 100, такой как игровая консоль. Как показано на Фиг. 3, мультимедийная консоль 100 имеет центральный процессор (CPU) 101, имеющий кэш 102 уровня 1, кэш 104 уровня 2 и флеш ROM (постоянное запоминающее устройство) 106. Кэш 102 уровня 1 и кэш 104 уровня 2 временно хранят данные и, следовательно, сокращают количество циклов доступа к памяти, таким образом улучшая скорость обработки и производительность. Может быть обеспечен центральный процессор 101, имеющий более чем одно ядро, и, таким образом, дополнительные кэши 102 и 104 уровня 1 и уровня 2. Флеш ROM 106 может сохранять выполняемый код, который загружается во время первоначальной фазы процесса загрузки, когда включается мультимедийная консоль 100.
[0064] Блок 108 обработки графических данных (GPU) и видеокодер/видеокодек 114 (кодер/декодер) формируют магистраль обработки видео для обработки графических данных с высокой скоростью и при высоком разрешении. Данные переносятся от блока 108 обработки графических на видеокодер/видеокодек 114 по шине. Магистраль обработки видео выводит данные в порт 140 A/V (аудио/видео) для передачи на телевизор или другой дисплей. Контроллер 110 памяти соединяется с GPU 108, чтобы облегчить доступ процессора к различным типам памяти 112, такой как, но не ограниченной, RAM (оперативное запоминающее устройство).
[0065] Мультимедийная консоль 100 включает в себя контроллер 120 I/O (ввода/вывода), контроллер 122 управления системой, блок 123 аудиообработки, контроллер 124 интерфейса сети, хост-контроллер 126 первого USB, контроллер 128 второго USB и подсистему 130 I/O передней панели, которые предпочтительно реализуются в модуле 118. Контроллеры 126 и 128 USB служат как хосты для контроллеров 142 (1)-142 (2) периферийных устройств, беспроводного адаптера 148 и устройства 146 внешней памяти (например, флэш-память, внешний дисковод ROM CD/DVD, сменные носители и т.д.). Интерфейс 124 сети и/или беспроводной адаптер 148 обеспечивают доступ к сети (например, Интернету, домашней сети и т.д.) и могут быть любым широким разнообразием различных проводных или беспроводных компонентов адаптера, включающих в себя карту Ethernet, модем, модуль Bluetooth, кабельный модем и т.п.
[0066] Память 143 системы обеспечивается для хранения данных приложения, которые загружаются во время процесса загрузки. Медианакопитель 144 обеспечивается и может содержать дисковод DVD/CD, накопитель на жестких дисках или другой накопитель сменных носителей и т.д. Медианакопитель 144 может быть внутренним или внешним по отношению к мультимедийной консоли 100. Данные приложения могут быть доступны с помощью медианакопителя 144 для выполнения, воспроизведения и т.д. посредством мультимедийной консоли 100. Медианакопитель 144 соединяется с контроллером 120 I/O с помощью шины, такой как последовательная шина ATA или другое высокоскоростное соединение (например, IEEE 1394).
[0067] Контроллер 122 управления системой обеспечивает множество функций обслуживания, связанных с обеспечением доступности мультимедийной консоли 100. Блок 123 аудиообработки и аудиокодек 132 формируют соответствующую магистраль аудиообработки с высокой точностью и стерео обработку. Аудиоданные переносятся между блоком 123 аудиообработки и аудиокодеком 132 с помощью линии связи. Магистраль аудиообработки выводит данные в порт 140 A/V для воспроизведения посредством внешнего аудиоплейера или устройства, имеющего возможности аудио.
[0068] Подсистема 130 I/O передней панели поддерживает функциональные возможности кнопки 150 питания и кнопки 152 выгрузки, а также любых диодов LED (светоизлучающих диодов) или другие индикаторов, расположенных на внешней поверхности мультимедийной консоли 100. Модуль 136 электропитания системы обеспечивает энергию для компонентов мультимедийной консоли 100. Вентилятор 138 охлаждает схему в мультимедийной консоли 100.
[0069] Центральный процессор 101, GPU 108, контроллер 110 памяти и различные другие компоненты в мультимедийной консоли 100 соединяются с помощью одной или более шин, включающих в себя последовательные и параллельные шины, шину памяти, периферийную шину и процессор или локальную шину, используя любое множество шинных архитектур. Посредством примера такие архитектуры могут включать в себя шину межсоединения периферийных компонентов (PCI), PCI-Express шину и т.д.
[0070] Когда включается мультимедийная консоль 100, данные приложения могут быть загружены из памяти 143 системы в память 112 и/или кэши 102, 104 и выполняться на центральном процессоре 101. Приложение может представлять графический пользовательский интерфейс, который обеспечивает последовательный опыт пользователя при осуществлении навигации к различным видам носителей, доступных на мультимедийной консоли 100. Во время работы приложения и/или другие носители, содержащиеся на медиа накопителе 144, могут быть запущены или воспроизведены с медиа накопителя 144, чтобы обеспечить дополнительные функциональные возможности мультимедийной консоли 100.
[0071] Мультимедийная консоль 100 может управляться как автономная система посредством простого соединения системы с телевизором или другим дисплеем. В этом автономном режиме мультимедийная консоль 100 разрешает одному или более пользователям взаимодействовать с системой, смотреть кино или слушать музыку. Однако посредством интеграции широкополосной возможности соединения, доступной через интерфейс 124 сети или беспроводной адаптер 148, мультимедийная консоль 100 может дополнительно включаться как участник большего сетевого сообщества.
[0072] Когда мультимедийная консоль 100 включается, установленное количество ресурсов аппаратного обеспечения сохраняется для использования системы посредством операционной системой мультимедийной консоли. Эти ресурсы могут включать в себя резервирование памяти (например, 16 МБ), центральный процессор и циклы GPU (например, 5%), полосу пропускания вычислительной сети (например, 8 КБ) и т.д. Так как эти ресурсы резервируются во время загрузки системы, с точки зрения приложения не существует зарезервированных ресурсов.
[0073] В частности, резервирование памяти предпочтительно является достаточно большим, чтобы содержать ядро запуска, параллельные приложения системы и драйверы. Резервирование центрального процессора является предпочтительно постоянным таким образом, чтобы, если сохраненное использование центрального процессора не используется системными приложениями, неактивный поток потреблял бы любые неиспользованные циклы.
[0074] Относительно резервирования GPU легковесные сообщения, генерируемые приложениями системы (например, всплывающие окна), отображаются посредством использования прерывания GPU, чтобы запланировать код для визуализации всплывающего окна в программу оверлея. Объем памяти, требуемый для программы оверлея, зависит от размера области программы оверлея, и программа оверлея предпочтительно масштабируется в соответствии с разрешением экрана. В случае когда полный пользовательский интерфейс используется параллельным системным приложением, предпочтительно использовать разрешение независимо от разрешения приложения. Блок масштабирования может быть использован для установления этого разрешения таким образом, чтобы устранить необходимость изменять частоту и вызывать повторную синхронизацию TV.
[0075] После того как мультимедийная консоль 100 загружается и ресурсы системы резервируются, параллельные приложения системы выполняются для обеспечения функциональных возможностей системы. Функциональные возможности системы формируются в наборе системных приложений, которые выполняются в зарезервированных ресурсах системы, описанных выше. Ядро операционной системы идентифицирует потоки, которые являются потоками системного приложения, в зависимости от потоков игрового приложения. Системные приложения предпочтительно планируются для работы на CPU 101 в заранее определенное время и интервалы для обеспечения последовательного просмотра ресурсов системы приложению. Планирование должно минимизировать разрушение кэша для игрового приложения, работающего на консоли.
[0076] Когда параллельное системное приложение требует аудио, аудиообработка планируется асинхронно для игрового приложения из-за чувствительности по времени. Администратор приложений мультимедийной консоли (описанный ниже) управляет уровнем аудио игрового приложения (например, без звука, уменьшение звука), когда приложения системы являются активными.
[0077] Устройства ввода (например, контроллеры 142 (1) и 142 (2)) совместно используются игровыми приложениями и системными приложениями. Устройства ввода не являются зарезервированными ресурсами, но должны переключаться между системными приложениями и игровыми приложением таким образом, чтобы каждое приложение имело фокус устройства. Администратор приложений предпочтительно управляет переключением потока ввода, не зная о знании игрового приложения, и драйвер поддерживает информацию состояния относительно переключений фокуса. Камеры 26, 28 и устройство 20 захвата могут определять дополнительные устройства ввода для консоли 100.
[0078] Фиг. 4 иллюстрирует другой примерный вариант осуществления вычислительной среды 220, которая может быть вычислительной средой 12, показанной на Фиг. 1A-2, используемой для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели. Вычислительная среда 220 системы является только одним примером подходящей вычислительной среды и не предназначается для выведения любого ограничения относительно области использования или функциональных возможностей в настоящий момент раскрываемой сущности изобретения. Вычислительная среда 220 не должна интерпретироваться как имеющая какую-либо зависимость или требования, относящиеся к любому одному или комбинации компонентов, иллюстрированных в примерной операционной среде 220. В некоторых вариантах осуществления различные изображенные вычислительные элементы могут включать в себя схему, сконфигурированную для иллюстрирования примерами конкретных аспектов настоящего описания. Например, используемый в раскрытии термин "схема" может включать в себя специализированные компоненты аппаратного обеспечения, сконфигурированные для выполнения функции(й) посредством программно-аппаратного обеспечения или переключений. В других примерных вариантах осуществления термин "схема" может включать в себя блок обработки специального назначения, память и т.д., сконфигурированные командами программного обеспечения, которые реализуют логику, действующую для выполнения функции(й). В примерных вариантах осуществления, где схема включает в себя комбинацию аппаратного обеспечения и программного обеспечения, блок реализации может написать исходный код, реализующий логику, и этот исходный код может компилироваться в считываемый машиной код, который может быть обработан блоком обработки специального назначения. Так как специалист в данной области техники может оценить, что состояние области техники развилось до точки, в которой существует небольшая разница между аппаратным обеспечением, программным обеспечением или комбинацией аппаратного обеспечения/программного обеспечения, выбор аппаратного обеспечения против программного обеспечения для реализации конкретных функций является выбором разработки, оставленной конструктору. Более конкретно, специалист в данной техники может оценить, что процесс программного обеспечения может быть преобразован в эквивалентную структуру аппаратного обеспечения и структура аппаратного обеспечения сама может быть преобразована в эквивалентный процесс программного обеспечения. Таким образом, выбор реализации в виде аппаратного обеспечения или реализации виде программного обеспечения является одним из выбора разработки и оставляется конструктору.
[0079] На Фиг. 4 вычислительная среда 220 содержит компьютер 241, который обычно включает в себя множество считываемых компьютером носителей. Считываемый компьютером носитель может быть любыми доступными носителями, которые могут быть доступны посредством компьютера 241, и они включают в себя как энергозависимые, так и энергонезависимые носители, сменные и несменные носители. Память 222 системы включает в себя компьютерные запоминающие носители в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) 223 и оперативное запоминающее устройство (RAM) 260. Базовая система 224 ввода/вывода (BIOS), содержащая базовые операции, которые помогают передавать информацию между элементами в компьютере 241, например, во время запуска, обычно хранится в ROM 223. RAM 260 обычно содержит данные и/или программные модули, которые являются немедленно доступными и/или в настоящее время управляются посредством блока 259 обработки. Посредством примера, а не ограничения, Фиг. 4 иллюстрирует операционную систему 225, прикладные программы 226, другие программные модули 227 и программные данные 228.
[0080] Компьютер 241 может также включать в себя другие сменные/несменные, энергозависимые/энергонезависимые компьютерные запоминающие носители. Только посредством примера Фиг. 4 иллюстрирует накопитель 238 на жестких дисках, который считывает с или записывает на несменные энергонезависимые магнитные носители, накопитель 239 на магнитных дисках, который считывает с или записывает на сменный энергонезависимый магнитный диск 254, и накопитель 240 на оптических дисках, который считывает с или записывает на сменный энергонезависимый оптический диск 253, такой как CD-ROM, или другие оптические носители. Другие сменные/несменные, энергозависимые/энергонезависимые компьютерные запоминающие носители, которые могут быть использованы в примерной операционной среде, включают в себя, но не ограничиваются, кассеты магнитной ленты, карты флэш-памяти, универсальные цифровые диски, цифровую видеоленту, твердотельное RAM, твердотельное ROM и т.п. Накопитель 238 на жестких дисках обычно соединен с системной шиной 221 через интерфейс несменной памяти, такой как интерфейс 234, и накопитель 239 на магнитных дисках и накопитель 240 на оптических дисках обычно соединены с системной шиной 221 посредством интерфейса сменной памяти, такого как интерфейс 235.
[0081] Драйверы и их ассоциированные компьютерные запоминающие носители, рассмотренные выше и иллюстрированные на Фиг. 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 периферийного устройства вывода.
[0082] Компьютер 241 может работать в сетевой среде, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 246. Удаленный компьютер 246 может быть персональным компьютером, сервером, маршрутизатором, сетевым PC, одноранговым устройством или другим общим узлом сети, и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 241, хотя только запоминающее устройство 247 было иллюстрировано на Фиг. 4. Логические соединения, изображенные на Фиг. 2, включают в себя локальную сеть (LAN) 245 и глобальную сеть (WAN) 249, но могут также включать в себя другие сети. Такие сетевые среды широко распространены в офисах, компьютерных сетях всего предприятия, интранете и Интернете.
[0083] При использовании в сетевой среде LAN компьютер 241 соединяется с LAN 245 через сетевой интерфейс или адаптер 237. При использовании в сетевой среде WAN, компьютер 241 обычно включает в себя модем 250 или другое средство для установления связи по WAN 249, такой как Интернет. Модем 250, который может быть внутренним или внешним, может быть соединен с системной шиной 221 с помощью пользовательского интерфейса 236 ввода или другого соответствующего механизма. В сетевой среде программные модули, изображенные относительно компьютера 241 или его части, могут быть сохранены на удаленном запоминающем устройстве. Посредством примера, а не ограничения Фиг. 4 иллюстрирует удаленные прикладные программы 248, которые постоянно находятся на запоминающем устройстве 247. Следует оценить, что показанные сетевые соединения являются примерными, и могут быть использованы другие средства для установления линии связи между компьютерами.
[0084] Считываемый компьютером запоминающий носитель может содержать считываемые компьютером команды для изменения визуального представления. Команды могут содержать команды для визуализации визуального представления, приема данных сцены, где данные включают в себя данные, представляющие жест идентичности характера пользователя в физическом пространстве, и изменения визуального представления на основании жеста идентичности характера пользователя, где жест идентичности характера является жестом, который сопоставляется с элементом управления для применения атрибутов, указывающих характер, к визуальному представлению пользователя.
[0085] Фиг. 5A изображают примерное скелетное сопоставление пользователя, которое может генерироваться из данных изображения, захваченных устройством 20 захвата. В этом варианте осуществления идентифицируется множество суставов и костей: каждая рука 502, каждое предплечье 504, каждый локоть 506, каждый бицепс 508, каждое плечо 510, каждый таз 512, каждое бедро 514, каждое колено 516, каждая нога 518, каждая стопа 520, голова 522, туловище 524, верх 526 и низ 528 позвоночника, и талия 530. В случае, когда отслеживается больше точек, могут быть идентифицированы дополнительные признаки, такие как кости и суставы пальцев рук или пальцев ноги, или индивидуальные признаки лица, такие как нос и глаза.
[0086] Посредством перемещения своего тела пользователь может выполнять жесты. Жест содержит движение или позу пользователем, которая может быть захвачена как данные изображения и структурно проанализирована для значения. Жест может быть динамичным, содержащим движение, такое как имитация броска шара. Жест может быть статической позой, такой как фиксация скрещенных рук 504 перед своим туловищем 524. Жест может также включать предметы, например, посредством размахивания имитирующего меча. Жест может содержать более чем одну часть тела, например, хлопанье в ладоши 502, или еле заметное движение, такое как сжимание губ.
[0087] Жесты пользователя могут быть использованы для ввода в общем вычислительном контексте. Например, различные движения рук 502 или другие части тела могут соответствовать общим задачам всей системы, таким как осуществление навигации вверх или вниз в иерархическом списке, открытие файла, закрытие файла и сохранение файла. Например, пользователь может держать свою руку с пальцами, указывающими вверх, и ладонью, обращенной к устройству 20 захвата. Затем он может приблизить свои пальцы к ладони, чтобы сжать кулак, и это может быть жестом, который указывает, что должно быть закрыто сфокусированное окно в вычислительное среде пользовательского интерфейса, основанного на окне. Жесты также могут быть использованы в контексте, специфичном для видеоигры, в зависимости от этой игры. Например, в игре "вождение автомобиля" различные движения рук 502 и стоп 520 могут соответствовать управлению направления движения транспортного средства, переключению передачи, ускорению и торможению. Таким образом, жест может указывать широкое разнообразие движений, которые сопоставляются с отображенным представлением пользователя и в широком разнообразии приложений, таких как видеоигры, текстовые редакторы, обработка текста, обработка данных и т.д.
[0088] Пользователь может генерировать жест, который соответствует ходьбе или бегу посредством хождения или бега на месте в физическом пространстве. Например, пользователь может поочередно поднимать и опускать каждую ногу 512-520, чтобы имитировать ходьбу без перемещения. Система может анализировать этот жест посредством анализа таза 512 и каждого бедра 514. Шаг может быть распознан, когда один угол таз-бедро (как измерено относительно вертикальной линии, где неподвижная нога имеет угол таз-бедро 0°, и прямая горизонтально вытянутая нога имеет угол таз-бедро 90°) превышает некоторый предел относительно другого бедра. Ходьба или бег могут быть распознаны после некоторого количества последовательных шагов посредством чередования ног. Время между двумя последними шагами может быть рассмотрено как период. После некоторого количества периодов, в которых не удовлетворяется этот предельный угол, система может определить, что жест ходьбы или бега прекратился.
[0089] Принимая во внимание жест "ходьбы или бега", приложение может устанавливать значения для параметров, ассоциированных с этим жестом. Эти параметры могут включать в себя вышеупомянутый предельный угол, количество требуемых шагов, чтобы инициировать жест ходьбы или бега, ряд периодов, где не имеет место шаг, чтобы закончить жест, и предельный период, который определяет, является ли жест ходьбой или бегом. Быстрый период может соответствовать бегу, поскольку пользователь будет двигать своими ногами быстро, и более медленный период может соответствовать ходьбе.
[0090] Жест может быть ассоциирован с рядом установленных по умолчанию параметров вначале, которые приложение может заменять своими собственными параметрами. В этом сценарии приложению не нужно обеспечивать параметры, но вместо этого оно может использовать ряд установленных по умолчанию параметров, которые разрешают жесту распознаваться в отсутствии определенных приложением параметров. Информация, относящаяся к жесту, может храниться в целях предварительно заготовленной анимации.
[0091] Существует множество выводов, которые могут быть ассоциированы с жестом. Могут быть базовые показатели "да или нет" относительно того, имеет ли место жест. Также может быть уровень достоверности, который соответствует вероятности, что отслеженное перемещение пользователя соответствует жесту. Это может быть линейным масштабом, который варьируется в соответствии с числами с плавающей запятой между 0 и 1 включительно. Там, где приложение, принимающее эту информацию жеста, не может принять ошибочные срабатывания как ввод, оно может использовать только те распознанные жесты, которые имеют высокий уровень достоверности, такой по меньшей мере 0,95. В случае когда приложение должно распознать каждый случай жеста даже за счет ошибочных срабатываний, оно может использовать жесты, которые имеют по меньшей мере намного более низкий уровень достоверности, например, который просто больше чем 0,2. Жест может иметь вывод в течение времени между двумя самыми последними шагами, и где был зарегистрирован только первый шаг, он может быть установлен в зарезервированное значение, такое как 1 (так как время между любыми двумя шагами должно быть положительным). Жест может также иметь вывод для самого высокого угла бедра, достигнутого во время самого последнего шага.
[0092] Другим примерным жестом является "прыжок с подъемом пяток". Здесь пользователь может создавать жест посредством подъема своих пяток от земли, но сохраняя свои пальцы ног расположенными на земле. Альтернативно, пользователь может прыгнуть в воздух, где его ноги 520 полностью отрываются от земли. Система может структурно проанализировать скелет для этого жеста посредством анализа отношения угла плеч 510, таза 512 и коленей 516, чтобы увидеть, находятся ли они в позиции выравнивания, равного положению прямо. Затем эти точки, и верхние 526 и нижние 528 точки позвоночника могут контролироваться для любого восходящего ускорения. Достаточная комбинация ускорения может инициировать жест прыжка. Достаточная комбинация ускорения с конкретным жестом может удовлетворять параметрам точки перехода.
[0093] Учитывая этот жест "прыжка с подъемом пяток", приложение может установить значения для параметров, ассоциированных с этим жестом. Параметры могут включать в себя вышеупомянутый предел ускорения, который определяет, как быстро некоторая комбинация плеч 510, таза 512 и коленей 516 пользователя должна перемещаться вверх, чтобы инициировать жест, а также максимальный угол выравнивания между плечами 510, тазом 512 и коленями 516, в котором все еще может быть инициирован прыжок. Выводы могут содержать уровень достоверности, а также угол тела пользователя во время прыжка.
[0094] Установление параметров для жеста на основании подробных сведений приложения, которое примет жест, являются важными при точной идентификации жестов. Должным образом идентифицировавшие жесты и намерение пользователя очень помогают при создании положительного опыта пользователя.
[0095] Приложение может устанавливать значения для параметров, ассоциированных с различными точками перехода, чтобы идентифицировать точки для использования предварительно заготовленной анимации. Точки перехода могут быть определены различными параметрами, такими как идентификация конкретного жеста, скорость, угол цели или объекта, или любой их комбинации. Если точка перехода определяется по меньшей мере частично посредством идентификации конкретного жеста, то должным образом идентификация жестов способствует увеличению уровня достоверности, при котором были удовлетворены параметры точки перехода.
[0096] Другой параметр для жеста может быть перемещенным расстоянием. В случае когда жесты пользователя управляют действиями визуального представления в виртуальной среде, этот аватар может быть длиной руки от шара. Если пользователь желает взаимодействовать с шаром и схватить его, может потребоваться, чтобы пользователь вытянул свою руку 502-510 в полную длину, выполняя жест захвата. В этой ситуации аналогичный жест захвата, где пользователь только частично вытягивает свою руку 502-510, может не достигнуть результата взаимодействия с шаром. Аналогично, параметр точки перехода может быть идентификацией жеста захвата, где, если пользователь только частично вытягивает свою руку 502-510, таким образом, не достигая результата взаимодействия с шаром, жест пользователя также не будет удовлетворять параметры точки перехода.
[0097] Жест или его часть могут иметь такой параметр, как объем пространства, в котором он должен иметь место. Этот объем пространства может обычно выражаться относительно тела, где жест содержит перемещение тела. Например, жест броска футбольного мяча для праворукого пользователя может быть распознан только в объеме пространства не ниже чем правое плечо 510a, и на одной и той же стороне головы 522, что и рука 502a-310a броска. Может быть необязательно определять все границы объема, как с этим жестом броска, где внешняя граница от тела остается неопределенной, и объем простирается неопределенно или к краю сцены, которая контролируется.
[0098] Фиг. 5B обеспечивает дополнительные подробности примерного варианта осуществления механизма 192 блока распознавания жеста Фиг. 2. Как показано, механизм 190 блока распознавания жеста может содержать по меньшей мере один фильтр 519 для определения жеста или жестов. Фильтр 519 содержит информацию, определяющую жест 526 (в дальнейшем называемую "жестом"), и может содержать по меньшей мере один параметр 528 или метаданные для этого жеста 526. Например, бросок, который содержит движение одной из рук из-за задней части тела мимо передней части тела, может быть реализован как жест 526, содержащий информацию, представляющую перемещение одной из рук пользователя из-за задней части тела мимо передней части тела, так как это перемещение будет захвачено камерой глубины. Затем для этого жеста 526 могут быть установлены параметры 528. В случае когда жест 526 является броском, параметр 528 может быть предельной скоростью, которой рука должна достигнуть, расстоянием, которое рука должна пройти (или абсолютным, или относительным размера пользователя в целом), и оценкой достоверности посредством механизма 192 блока распознавания, что жест 526 имел место. Эти параметры 528 для жеста 526 могут варьироваться между приложениями, между контекстами одного приложения или в пределах одного контекста одного приложения в течение времени.
[0099] Фильтры могут быть модульными или взаимозаменяемыми. В варианте осуществления фильтр имеет ряд вводов, причем каждый из этих вводов имеет тип, и ряд выводов, причем каждый из этих выводов имеет тип. В этой ситуации первый фильтр может быть заменен вторым фильтром, который имеет одно и то же количество и типы вводов и выводов, что и первый фильтр, не изменяя никакой другой аспект архитектуры механизма 190 блока распознавания. Например, может быть первый фильтр для вождения, который принимается как введенные скелетные данные и выводит достоверность, что жест 526, ассоциированный с фильтром, имеет место и угол направления движения. В случае когда пользователь желает заменить этот первый фильтр вождения вторым фильтром вождения - возможно, так как второй фильтр вождения является более эффективным и требует меньшего количества ресурсов обработки - пользователь может это сделать посредством простой замены первого фильтра вторым фильтром до тех пор, пока второй фильтр имеет одни и те же вводы и выводы - один ввод типа скелетных данных, и два вывода типа достоверности и типа угла.
[0100] Фильтр не должен иметь параметр 528. Например, фильтр "рост пользователя", который выводит рост пользователя, может не учитывать параметры, которые могут быть настроены. Альтернативный фильтр "роста пользователя" может иметь настраиваемые параметры - например, относительно того, учитывать ли обувь пользователя, прическу, головной убор и позицию при определении роста пользователя.
[0101] Вводы в фильтр могут содержать данные, такие как данные соединения о соединенной позиции пользователя, как углы, сформированные костями, которые имеют место в суставе, данные цвета RGB из сцены, и скорость изменения аспекта пользователя. Выводы из фильтра могут содержать параметры, такие как достоверность, что выполняется заданный жест, скорость, с которой выполняется движение жеста, и время, в которое выполняется движение жеста.
[0102] Контекст может быть культурным контекстом, и он может быть контекстом среды. Культурный контекст относится к культуре пользователя, использующего систему. Различные культуры могут использовать аналогичные жесты для передачи заметно различных значений. Например, американский пользователь, который желает сказать другому пользователю "смотри" или "используй свои глаза", может положить свой указательный палец на свою голову близко к наружной стороне своего глаза. Однако итальянский пользователь может интерпретировать этот жест как отношение к мафии.
[0103] Аналогично могут быть различные контексты среди различных сред одного приложения. Возьмем "шутер от первого лица", который включает управление автомобилем. В то время как пользователь находится на ногах, сжатие кулака пальцами по направлению к земле и вытягивание кулака вперед и от тела, может представлять жест удара кулаком. В то время как пользователь находится в контексте вождения транспортным средством, то же движение может представлять жест "переключения скоростей". Также может быть одна или более среды меню, где пользователь может сохранить свою игру, выбрать среди оборудования своего персонажа или выполнить аналогичные действия, которые не содержат непосредственный ход игры. В этой среде один и тот же жест может иметь третье значение, например, выбрать что-нибудь или перейти к другому экрану.
[0104] Механизм 190 блока распознавания жеста может иметь базовый механизм 517 блока распознавания, который обеспечивает функциональные возможности фильтру 519 жеста. В варианте осуществления функциональные возможности, которые реализует механизм 517 блока распознавания, включает в себя вводимый в течение времени архив, который отслеживает распознанные жесты и другой ввод, реализацию скрытой марковской модели (где смоделированная система, как предполагается, должна быть марковским процессом - процессом, где текущее состояние содержит любую информацию прошлого состояния, необходимую для определения будущего состояния, таким образом, никакая другая информация прошлого состояния не должна поддерживаться с этой целью - с неизвестными параметрами, и скрытые параметры определяются из наблюдаемых данных), а также другие функциональные возможности, требуемые для решения конкретных случаев распознавания жеста.
[0105] Фильтры 519 загружаются и реализовываются на вершине базового механизма 517 блока распознавания и могут использовать услуги, предоставляемые механизмом 517 всем фильтрам 519. В варианте осуществления базовый механизм 517 блока распознавания обрабатывает принятые данные для определения, отвечают ли они требованиям какого-нибудь фильтра 519. Так как эти предоставляемые услуги, такие как структурный анализ ввода, предоставляются один раз посредством базового механизма 517 блока распознавания, а не каждым фильтром 519, такая услуга должна обрабатываться только один раз в периоде времени по сравнению с одним разом для каждого фильтра 519 в течение этого периода, таким образом, уменьшается обработка, требуемая для определения жестов.
[0106] Приложение может использовать фильтры 519, обеспеченные механизмом 190 блока распознавания жестов, или оно может обеспечивать свой собственный фильтр 519, который подключается к базовому механизму 517 блока распознавания. В варианте осуществления все фильтры 519 имеют общий интерфейс, чтобы обеспечить эту характеристику подключаемого модуля. Дополнительно, все фильтры 519 могут использовать параметры 528, таким образом, инструмент одного жеста, как описано ниже, может быть использован, чтобы отладить и настроить всю систему 519 фильтров.
[0107] Эти параметры 528 могут быть настроены для приложения или контекста приложения посредством инструмента 521 жеста. В варианте осуществления инструмент 521 жеста содержит множество «ползунков» 523, причем каждый ползунок 523 соответствует параметру 528, а также иллюстрированному представлению тела 524. Так как параметр 528 регулируется соответствующим ползунком 523, тело 524 может демонстрировать как действия, которые будут распознаны как жест с этими параметрами 528, так и действия, которые не будут распознаны как жест с этими параметрами 528, идентифицированные таким образом. Эта визуализация параметров 528 жестов обеспечивает эффективное средство, чтобы отладить и настроить жест.
[0108] Фиг. 6 изображает систему 600, которая может содержать устройство 608 захвата, вычислительное устройство 610 и устройство 612 отображения. Например, устройство 608 захвата, вычислительное устройство 610 и устройство 612 отображения могут содержать любое подходящее устройство, которое выполняет желаемые функциональные возможности, такое как устройства, описанные с ссылками на Фиг. 1-5B. Рассматривается, что единственное устройство может выполнять все функции в системе 600, или любая комбинация подходящих устройств может выполнять желаемые функции. Например, вычислительное устройство 610 может обеспечивать функциональные возможности, описанные относительно вычислительной среды 12, показанной на Фиг. 2, или компьютера на Фиг. 3. Как показано на Фиг. 2, вычислительная среда 12 может включать в себя устройство отображения и процессор. Вычислительное устройство 610 может также содержать свой собственный компонент камеры или может быть подсоединено к устройству, имеющему компонент камеры, такому как устройство 608 захвата.
[0109] В этом примере камера 608 глубины захватывает сцену в физическом пространстве 601, в котором присутствует пользователь 602. Камера 608 глубины обрабатывает информацию глубины и/или выдает информацию глубины в компьютер, такой как компьютер 610. Информация глубины может интерпретироваться для отображения визуального представления пользователя 602. Например, камера 608 глубины или, как показано, вычислительное устройство 610, к которому она подсоединяется, может выводить на дисплей 612.
[0110] Визуальное представление пользователя 602 в физическом пространстве 601 может принимать любую форму, такую как анимация, персонаж, аватар или подобное. Например, визуальное представление цели, такой как пользователь 602, первоначально может быть цифровым куском глины, из которого пользователь 602 может вылепить желаемые формы и размеры, или представлением персонажа, таким как обезьяна 604, показанным на устройстве 612 отображения. Визуальное представление может быть комбинацией признаков пользователя 602 и анимации или модели предметов. Визуальное представление может быть моделью предметов, обеспеченной системой 600 или приложением. Например, пользователь 602 может выбирать из множества моделей предметов, которые обеспечиваются игровым приложением. В игровом приложении бейсбола, например, варианты для визуального представления пользователя 602 могут принимать любую форму, от представления известного бейсбольного игрока до конфеты или от слона до нереального персонажа или символа, такого как курсор или символ руки. Модель предметов может быть изменена признаками пользователя, которые обнаруживаются системой. Визуальное представление может быть специфичным для приложения, например, укомплектованным программой, или визуальное представление может быть доступным через приложения или доступной во всей системе.
[0111] Примерным визуальным представлением, показанным на Фиг. 6, как показано на устройстве 612 отображения, является визуальное представление персонажа 603 обезьяны. Хотя дополнительные кадры данных изображения могут быть захвачены и показаны, кадр, изображенный на Фиг. 6, выбирается в примерных целях. Скорость, с которой захватываются и отображаются кадры данных изображения, может определять уровень непрерывности отображенного движения визуального представления. Также отмечается, что альтернативное или дополнительное визуальное представление может соответствовать другой цели в физическом пространстве 601, такой как другой пользователь или нечеловеческий объект, или визуальное представление может быть частичным или полностью виртуальным объектом.
[0112] Система 600 может захватывать информацию о физическом пространстве 601, такую как информация глубины, информация изображения, данные RGB и т.д. Согласно одному варианту осуществления данные изображения могут включать в себя изображение глубины или изображение из камеры 608 глубины и/или камеры RGB, или изображение на любом другом детекторе. Например, камера 608 может обрабатывать данные изображения и использовать их для определения формы, цвета и размера цели. Каждая цель или объект, который соответствует человеку-образцу, может сканироваться для генерирования модели, такой как скелетная модель, модель заливки цветом, сетчатая модель человека или подобное, ассоциированное с ней. Например, как описано выше, информация глубины может быть использована для генерирования скелетной модели пользователя, такой как модель, показанная на Фиг. 5 A, где система идентифицирует части тела пользователя, такие как голова и конечности. Используя, например, значения глубины во множестве наблюдаемых пикселей, которые ассоциируются с человеком-целью и размером одного или более аспектов человека-цели, таких как рост, ширина головы или ширина плеч, или подобное, может быть определен размер человека-цели.
[0113] Система 600 может отслеживать движения конечностей пользователя посредством анализа захваченных данных и преобразования их в скелетную модель. Затем система 600 может отслеживать скелетную модель и сопоставлять перемещение каждой части тела с соответствующей частью визуального представления. Например, если пользователь 602 размахивает его или ее рукой, система может захватить это движение и применить его к руке виртуальной обезьяны 603 таким образом, чтобы виртуальная обезьяна также размахивала своей рукой. Дополнительно, система 600 может идентифицировать жест из движения пользователя посредством оценки позиции пользователя в одном кадре данных захвата или по ряду кадров и применять жест к визуальному представлению.
[0114] Система может использовать захваченные данные, такие как отсканированные данные, данные изображения или информацию глубины, для обнаружения характеристик. Обнаруживаемые характеристики могут включать в себя любые характеристики, относящиеся к пользователю или физическому пространству, которые обнаруживаются системой 600. Например, обнаруживаемые характеристики могут включать в себя характеристики цели (например, признаки лица пользователя, цвет волос, анализ голоса и т.д.), жесты (то есть жесты, выполняемые пользователем и распознаваемые системой 600), данные истории (данные, такие как данные предпочтения пользователя, которые обнаруживаются системой и могут быть сохранены), статус приложения (например, неудача/успех в игровом приложении) или любую другую характеристику, обнаруживаемую системой, которая может указывать характер пользователя или может быть использована для выведения характера пользователя.
[0115] Система может анализировать одну или более обнаруживаемых характеристик для выведения характера пользователя. Вывод может быть основан на логическом выводе или предположении, или он может быть основан на научных способах, таких как результаты исследования характеров и характеристик корреляции. Таким образом, вывод может быть основан на простом анализе обычных характеристик, которые указывают конкретный характер, идентичности жеста, которая указывает специфический характер, сравнении обнаруживаемых признаков с всесторонним анализом психологии и характеристиками, которые коррелируются с различными характерами, или подобном.
[0116] Характеристики цели могут включать в себя информацию, которая может быть ассоциирована с конкретным пользователем 602, такую как поведение, образцы голоса, выражения лица, скелетные перемещения, произнесенные слова, данные истории, информация распознавания голоса или подобное. Характеристики цели могут содержать любые признаки цели, такие как: размер глаз, тип и цвет; длина волос, тип и цвет; цвет кожи; одежда и цвета одежды. Например, цвета могут быть идентифицированы на основании соответствующего изображения RGB. Другие характеристики цели для человека-цели могут включать в себя, например, рост и/или длину руки, и могут быть получены на основании, например, сканирования тела, скелетной модели, размера пользователя 602 в пиксельной области или любого другого подходящего процесса или данных. Вычислительная система 610 может использовать способы распознавания тела для интерпретации данных изображения, и может измерять и формировать визуальное представление пользователя 602 согласно размеру, форме и глубине 602 конечностей пользователя.
[0117] Как описано, система 600 может идентифицировать данные из физического пространства, которые включают в себя индикацию характера пользователя. Например, система 600 может собирать информацию, относящуюся к движениям пользователя, выражениям лица, языку тела, эмоциям и т.д. в физическом пространстве. Система 10 может использовать способы распознавания осанки тела, чтобы способствовать идентификации эмоций или характера человека-цели 18. Например, система 600 может анализировать и отслеживать скелетную модель пользователя для определения, как перемещается пользователь. Система 600 может отслеживать тело пользователя и движения, выполняемые телом пользователя, включая жесты, которые управляют аспектами системы, такими как приложение, операционная система или подобное. Система может идентифицировать осанку тела пользователя, выражения лица, выражения и тон голоса, направленные пристальные взгляды и т.д. Выражения голоса пользователя могут обеспечивать индикацию характера пользователя. Например, используемый язык, тон голоса, диапазон, объем и т.п. могут передавать смысл характера пользователя. Например, резкий тон может интерпретироваться как гнев или агрессия. Другие тоны могут быть напряженными, модальным, хриплыми, шепчущими, скрипучими, спокойными, взволнованными, счастливыми или любыми другими тонами. Таким образом, характеристики пользователя являются хорошими индикаторами характера пользователя.
[0118] Система может применять по меньшей мере одну из обнаруженных характеристик цели пользователя, которые захватываются системой 600, к визуальному представлению пользователя. Например, система может обнаружить, что пользователь носит очки и имеет красную рубашку и очки, и система может применять очки и красную рубашку к виртуальной обезьяне 603, которая в этом примере является визуальным представлением пользователя. Система может идентифицировать перемещения лица пользователя, такие как перемещение бровей пользователя и/или нахмуренное или улыбающееся выражение. Система может обнаружить слова, произнесенные пользователем, и тон голоса пользователя или позицию тела пользователя, и т.д. Например, система может обнаружить правую руку человека и с точностью отличить верхнюю руку, нижнюю руку, пальцы, большой палец, суставы в пальцах и т.д. Система может быть в состоянии идентифицировать цвет рубашки пользователя, которая соответствует верхней и нижней рукам пользователя, и надлежащим образом применить цвет к визуальному представлению. Система может быть в состоянии идентифицировать кольцо на пальце или татуировку на руке пользователя, и на основании модели пользователя, сгенерированной системой, применять обнаруженные характеристики цели к визуальному представлению, чтобы имитировать признаки пользователя в физическом пространстве. Визуальное представление может быть похожим на пользователя, перемещаться так же, как пользователь, иметь одежду, похожую на одежду пользователя, и т.д.
[0119] Некоторые характеристики цели, обнаруженные системой и используемые для выведения характера пользователя, могут непосредственно не применяться к пользователю, но модифицироваться в целях отображения. Характеристики пользователя могут модифицироваться, чтобы соответствовать форме визуального представления, приложения, статуса приложения и т.д. Некоторые характеристики могут непосредственно не сопоставляться с визуальным представлением пользователя, где визуальное представление является нереальным персонажем. Например, представлению персонажа пользователя, такому как обезьяна 603, показанная на устройстве 612 отображения, могут быть заданы пропорции тела, например, которые являются аналогичными пользователю 602, но модифицируются для конкретного персонажа. Представлению 603 обезьяны может быть задан рост, который аналогичен пользователю 602, но руки обезьяны могут быть пропорционально длиннее, чем руки пользователя. Перемещение рук обезьяны 604 может соответствовать перемещению рук пользователя, как идентифицировано системой, но система может модифицировать анимацию рук обезьяны, чтобы отразить способ, которым будут перемещаться руки обезьяны.
[0120] В примере, показанном на Фиг. 6, пользователь сидит с головой, наклоненной в сторону, правый локоть опирается на колено, и голова поддерживается правой рукой пользователя. Выражения лица пользователя, позиция тела, произнесенные слова или любая другая обнаруживаемая характеристика могут применяться к виртуальной обезьяне 603 и модифицироваться, если необходимо. Например, пользователь хмурится в физическом пространстве. Система обнаруживает это выражение лица и применяет хмурый взгляд к обезьяне таким образом, чтобы виртуальная обезьяна также хмурилась. Дополнительно, обезьяна сидит в позиции, аналогичной пользователю, но модифицированной, чтобы соответствовать типу тела обезьяны и размеру в этой позиции. Аналогично, система может использовать характеристики цели пользователя для выведения характера пользователя, но затем применять атрибуты к визуальному представлению пользователя, которые указывают характер, но она может или не может непосредственно сопоставляться с характеристиками пользователя.
[0121] Система 600 может сравнивать обнаруженные характеристики цели с библиотекой возможных характеров (темпераментов) и определять, какие атрибуты должны применяться к визуальному представлению пользователя. Например, как описано дополнительно ниже с ссылками на Фиг. 7 и 8, компьютер 610 может сохранять таблицы поиска с компиляцией информации характера. Таблицы поиска могут включать в себя информацию о специфическом или общем характере. Обнаруженные характеристики могут сравниваться с таблицами поиска для выведения характера пользователя. Анализ может включать в себя сравнение обнаруженной позиции тела, выражений лица, тона голоса и слов, жестов, данных истории или подобного.
[0122] Фиг. 7 показывает примерный способ выведения характера пользователя и выбора атрибутов, указывающих характер для отображения визуального представления, которое соответствует характеру. Например, на этапе 702 система принимает данные из физического пространства, которое включает в себя пользователя. Как описано выше, устройство захвата может захватывать данные сцены, такие как изображение глубины сцены, и сканировать цели на сцене. Устройство захвата может определять, соответствуют ли одна или более целей на сцене человеку-цели, такой как пользователь. Каждая цель или объект, который соответствует модели тела человека, затем может сканироваться для генерирования скелетной модели, ассоциированной с ней. Затем скелетная модель может быть выдана вычислительной среде для отслеживания скелетной модели и визуализации визуального представления, ассоциированного со скелетной моделью.
[0123] На этапе 704 система может визуализировать визуальное представление пользователя. Визуальное представление может быть основано на модели, например. Визуальное представление цели в физическом пространстве 601 может принимать любую форму, такую как анимация, персонаж, аватар или подобное. Визуальное представление первоначально может быть цифровым куском глины, из которого пользователь 602 может лепить желаемые формы и размеры, или представление персонажа, такое как обезьяна 604. Визуальное представление может быть непосредственно моделировано на основании признаков пользователя, обнаруженных устройством захвата, или оно может быть нереальным персонажем, имеющим признаки выбора пользователя. Визуальное представление может быть комбинацией признаков пользователя 602 и анимации или модели предметов.
[0124] Система может отслеживать пользователя и обнаруживать признаки пользователя, которые указывают характер пользователя, на этапе 706. Например, система может отслеживать выражения лица пользователя и перемещения тела для идентификации характера и затем применять этот характер таким образом, чтобы аватар отражал эмоции пользователя. Система может использовать любые обнаруживаемые признаки для оценки характера пользователя для применения к визуальному представлению. Система может анализировать обнаруженные признаки на этапе 708 и выводить характер пользователя. Например, процессор в системе может сохранять таблицы поиска или базы данных с информацией характера. Обнаруженные признаки пользователя могут сравниваться с признаками в базе данных или таблице поиска, которые указывают различные характеры. Например, таблица поиска может определять признаки, которые указывают "грустный" характер. Такие признаки могут быть хмурым взглядом, слезами, низким и тихим тоном голоса, и руками, сложенными на груди. Если любые из этих признаков пользователя обнаруживаются в физическом пространстве, процессор может вывести, что пользователь показывает "грустный" характер.
[0125] Таблицы поиска или база данных, например, могут применяться, быть применимыми или могут быть во всей системе. Например, игровое приложение может определять признаки, которые указывают различные характеры, применяемые к игре. Определенные характеры могут включать в себя специфичные и общие характеры и могут идентифицировать характеры, сравнивающие один или более вводов (то есть обнаруженные признаки) с признаками, которые определяют каждый характер. Также отмечается, что ссылки на таблицу поиска или базу данных являются примерными, и рассматривается, что информация характера, относящаяся к способам, раскрытым в настоящем описании, может быть доступна, сохранена, упакована, выдана, сгенерирована или подобное, любым подходящим способом.
[0126] Альтернативно или в комбинации, система может идентифицировать жест запроса характера из данных, захваченных относительно пользователя, на этапе 710. Например, пользователь может выполнять жест, который запрашивает, чтобы конкретный жест применялся к визуальному представлению пользователя.
[0127] На этапе 712 система может выбирать атрибуты для применения к визуальному представлению пользователя, которые отражают характер, выведенный или идентифицированный из жеста пользователя. Атрибуты, применяемые к конкретному характеру, могут находиться в таблицах поиска или также в базе данных. Выбранные атрибуты могут быть признаками пользователя, обнаруженными устройством захвата, и/или выбранные атрибуты могут быть анимацией, которая отражает характер. Например, если система выводит, что пользователь показывает признаки, указывающие "грустный" характер, таблицы поиска могут указывать различную анимацию, которая отразит такой характер. Система может выбрать любой из этих атрибутов и применить их к визуальному представлению пользователя.
[0128] Приложение атрибутов к визуальному представлению на этапе 714 может иметь место в реальном времени. Таким образом, данные, захваченные относительно настроения или эмоций пользователя, наряду с анализом распознавания тела и т.д. могут быть выполнены в реальном времени и применены к визуальному представлению пользователя в реальном времени. Поэтому пользователь может видеть отображение эмоций или характера пользователя в реальном времени.
[0129] Система может продолжить отслеживать пользователя и любое движение в физическом пространстве в течение времени на этапе 716 и применять модификации или обновления к визуальному представлению на этапе 718 для отражения изменений в характере. Например, обновления могут быть основаны на изменениях в обнаруженных признаках пользователя и данных истории. В любое время устройство захвата может идентифицировать поведение и характерные черты, эмоции, образцы голоса или подобное пользователя для определения характеров пользователя и применения их к визуальному представлению пользователя. Обновления могут быть применены к визуальному представлению в реальном времени. Например, может быть желательно, чтобы система захватила выражения и мимику пользователя в течение времени, чтобы отразить характер пользователя с помощью визуального представления.
[0130] Фиг. 8 изображает пример таблицы 800 поиска, которая может быть использована для выведения характера пользователя. Таблица 800 поиска примерного характера, показанная на Фиг. 8, включает в себя категории обнаруживаемых характеристик, таких как выражение лица 802, тон 804 голоса, громкость 806 голоса, слова 808, позиция 810 тела, жест 812, результаты 814 применения и данные 816 истории. Обнаруженные признаки или характеристики могут включать в себя любой признак в физическом пространстве, для которого система может захватывать информацию с помощью устройства захвата, включающую в себя обнаруживаемые характеристики цели, статус приложения и т.д. Категории в таблице 800 поиска являются примерными, так как любое количество и тип категорий могут быть частью анализа характера пользователя. Например, категории могут дополнительно включать в себя обнаруженное взаимодействие с другими пользователями или объектами, анализ типа одежды, которую носит пользователь, другие отдельные предметы на теле пользователя и т.д. Рассматривается, что может применяться любой обнаруживаемый признак или характеристика пользователя, который может быть захвачен системой 600 некоторым способом, который может быть использован в части анализа отношения или характера пользователя.
[0131] Три примера обнаруженных характеристик показаны в диаграмме 800 для трех пользователей, где каждая из строк A, B, и C представляет обнаруженные характеристики. Первая часть таблицы 850 представляет обнаруживаемые характеристики цели, захваченной на сцене. Вторая часть таблицы 860 представляет другие обнаруживаемые характеристики, такие как идентификация жеста, выполняемого пользователем, статус приложения и его результаты, и/или данные истории, специфичные для пользователя или приложения. Последняя часть таблицы 870 представляет системный вывод характера пользователя в результате анализа доступных обнаруживаемых признаков. Как указано, категории в таблице 800 предназначены только в примерных целях и могут быть более или менее содержащими дополнительные обнаруживаемые характеристики.
[0132] Строка A представляет примерный вариант осуществления характеристик, обнаруженных системой. В строке A система обнаруживает, что первый пользователь имеет выражение лица, включающее в себя хмурый взгляд, результаты в приложении являются неудачными, и данные истории для первого пользователя показывают предпочтение для пользователя хмуриться после неудачных результатов. Анализ системы этих обнаруженных признаков может указывать, что характер первого пользователя "в целом является отрицательным". Возможно, дополнительные обнаруживаемые признаки обеспечат более специфичный характер, но с доступными данными, система выводит более общий, в целом отрицательный характер.
[0133] Относительно второго пользователя с обнаруживаемыми характеристиками, сформулированными в строке B, система обнаруживает нахмуренное выражение лица, лаконичный тон голоса с тихим объемом, без слов, но позиция тела пользователя содержит позицию "откинуться", голову, наклоненную на одну сторону и которую поддерживает одна рука. Из этих признаков система может определить, что характер пользователя в целом является отрицательным или, возможно, скучающим, усталым, сердитым, грустным и т.д. Система может дополнительно обнаружить относительно второго пользователя, что очередь другого пользователя играть в игровое приложение, что очередь другого пользователя длилась в течение времени, и обнаружить из анализа данных истории пользователя предпочтения характера этого пользователя при этих обстоятельствах. С помощью этих данных система может определить, что характер второго пользователя в целом не только является отрицательным, но и, в частности, скучным или безынтересным. Например, система может идентифицировать предпочтение второго пользователя, когда второй пользователь является неактивным игроком в игровом приложении, иметь выражения лица, тоны, позиции тела, и т.д., которые соответствуют "скучающему" характеру.
[0134] Рассматривается, что, например, нахмуренное выражение лица может соответствовать многим характерам. Примерные характеры и признаки, которые указывают каждый из конкретных характеров, показанных в таблице 800, являются только примерными. Каждая обнаруживаемая характеристика может быть использована, чтобы ограничить характер до более специфичного отношения или настроения, или система может просто идентифицировать общее отношение, такое как в целом отрицательное или положительное.
[0135] Обнаруживаемые характеристики третьего пользователя, показанного в строке C, включают в себя улыбающееся выражение лица, счастливый тон, который является также громким, слова "да" и "отлично", и позицию тела, которая включает в себя поднятые руки и прыжки вверх и вниз. Движение прыжка вверх и вниз может также указывать жест, применимый к приложению, которое приводит к успешному результату игры для третьего пользователя. Сравнение этих обнаруживаемых характеристик с данными истории пользователя может также обеспечивать индикацию вероятного характера третьего пользователя на основании этой информации. В этом примере система выводит, что характер пользователя, основанный на обнаруживаемых характеристиках, является характером "возбужденного" пользователя.
[0136] Система может просто сопоставлять фактические характеристики пользователя с визуальным представлением. В примерном варианте осуществления, где визуальное представление сопоставляется непосредственно с обнаруженными признаками пользователя, характер пользователя неотъемлемо демонстрируется посредством визуального представления, так как это визуальное представление отражает обнаруженные признаки пользователя. Однако визуальное представление может не всегда быть прямым представлением пользователя, и, таким образом, система может модифицировать характер, чтобы соответствовать форме визуального представления. После выведения характера пользователя система может определять соответствующую анимацию для применения к визуальному представлению пользователя для отражения этого характера.
[0137] Например, Фиг. 6 изобразила применение выражений лица пользователя, позиции тела и т.д. к визуальному представлению 603 пользователя, модифицированному для представления соответствующих признаков персонажа обезьяны. Обезьяна хмурится, но рот обезьяны может не быть прямым сопоставлением рта пользователя, а скорее, система может применять обнаруженный хмурый взгляд ко рту виртуальной обезьяны путем, которым он появится, если обезьяна хмурилась. Преобразование характера пользователя в визуальное представление пользователя может принимать много форм и может содержать любое количество анимаций. Например, если визуальное представление пользователя является "домом", дом не может быть анимирован лицевыми признаками. Таким образом, система может сопоставлять характер с домом посредством преобразования характера пользователя в новую форму. Например, если система обнаруживает, что пользователь имеет "грустный" характер, обнаруженный на основании выражений лица или позиции тела пользователя, система может преобразовать его в дом посредством отображения виртуальных окон виртуального дома, которые покосились, и анимации дома таким образом, чтобы он надувался и затем позволял воздуху выходить через переднюю дверь, показывая, что дом вздохнул.
[0138] Система может выводить характер, который может быть настроением или отношением пользователя, на основании обнаруживаемых характеристик. Характер может включать в себя любое представление эмоциональной реакции пользователя, которая выражает чувства пользователя или мысли. Идентифицированный характер в целом может быть положительным или отрицательным, или он может быть двойственным. Идентифицированное отношение может быть более специфичным, таким как счастливый, сердитый, разочарованный, скучный, грустный и т.д. Специфика отношения может зависеть от библиотеки отношений/эмоций/настроений, и система 600 может идентифицировать диапазон отношений пользователя от общего до специфичного. Например, система может определять из обнаруживаемых признаков вертикальной позиции тела пользователя и приподнятого тона голоса, что пользователь в целом имеет положительное отношение. Альтернативно, система может более конкретно определять, что пользователь взволнован, так как вертикальная позиция тела включает в себя прыжок вверх и вниз, поднятые руки, и данные истории пользователя указывают, что эти обнаруживаемые характеристики указывают взволнованный характер. Различные приложения могут иметь более обширную базу данных как общих, так и специфичных настроений и характеров, и другие приложения могут выводить общие характеры, такие как в целом положительные или в целом отрицательные.
[0139] Большее количество обнаруживаемых признаков может повысить точность анализа системой отношения пользователя. Изменения осанки тела пользователя могут быть сильными индикаторами характера пользователя. Осанка пользователя может включать в себя позицию тела пользователя, способ, которым пользователь стоит, сидит, держит его или ее грудь, и куда пользователь кладет свои руки, ноги и ступни. Например, если пользователь откидывается назад с его или ее головой, наклоненной на одну сторону, где голова поддерживается рукой пользователя, система может идентифицировать характер пользователя, которому скучно или неинтересно. Или, например, если пользователь сидит вертикально с вертикальной головой и руками, сложенными на груди, с выражением сморщенных губ, система может идентифицировать характер пользователя как один из: несогласие, оборона или разочарование. В целом, отрицательная ассоциация может быть отражена в аватаре пользователя. Система может обнаружить изменение осанки тела пользователя в результате сжимания пользователем мускулов на шее или плечах. Иногда сутулость пользователя является простой индикацией, что пользователь расслабляется или, возможно, имеет плохую осанку. Позиция головы пользователя может быть индикацией характера пользователя. Система может обнаружить пользователя, напрягающего челюсть или хмурящего бровь.
[0140] Фиг. 9 изображает систему 600, показанную на Фиг. 6, где система отслеживает обнаруживаемые признаки пользователя и выводит характер. Характер может быть отражен в визуальном представлении пользователя посредством сопоставления обнаруживаемых признаков пользователя с визуальным представлением. Характер может также быть отражен применением анимаций, которые соответствуют конкретному характеру, к визуальному представлению пользователя. Фиг. 9 изображает пользователя 602 в трех временных точках в физическом пространстве 601, где 901a, 901b и 901c представляют физическое пространство в трех дискретных временных точках. В каждой временной точке пользователь 602 может сменять, изменять выражения лица, выполнять различное движение и/или перемещать позицию тела. Система 600 может захватывать цель, пользователя 602, в физическом пространстве 601 в каждой точке и захватывать обнаруживаемые признаки пользователя в каждой точке, показанной на 902a, 902b и 902c. Два примера получающегося в результате отображения визуального представления пользователя 602 показаны в примерном отображении 912a и примерном отображении 912b.
[0141] Как рассмотрено выше, визуальное представление пользователя может быть любой анимацией, персонажем, аватаром или подобным. Примером визуальных представлений, показанных на Фиг. 9, является аватар 905 (показанный на устройстве 912a отображения) или персонаж 907 (показанный на устройстве 912b отображения). Аватар 905, например, может быть близким представлением пользователя в физическом пространстве, сопоставляющимся с позицией тела пользователя, цветом волос, одеждой и т.д. Персонаж 907, например, может быть представлением персонажа, таким как показанная обезьяна. Персонаж 907 может также иметь характеристики пользователя, которые захватываются системой 600. Например, выражения лица, одежда и т.д., могут сопоставляться с представлением персонажа.
[0142] Система 600 может идентифицировать данные из физического пространства, которые включают в себя индикацию характера пользователя. Система 600 может применять характер пользователя к визуальному представлению посредством применения атрибутов, указывающих характер, к визуальному представлению пользователя. Дополнительно, система 600 может идентифицировать жест из движения пользователя посредством оценки позиции пользователя в одном кадре данных захвата или по последовательности кадров. Система 600 может использовать комбинацию информации из каждого кадра данных, из изменений захваченных данных между кадрами данных и в течение времени, жестов, идентифицированных из захваченных данных, и любую другую доступную информацию, такую как голосовые данные, для идентификации характера пользователя или эмоции.
[0143] В примерном варианте осуществления аватару 905 могут быть заданы характеристики, которые определяются из анализа данных изображения. Пользователь 602 может выбирать визуальное представление, которое сопоставляется с признаками пользователя 602, где собственные характеристики пользователя 602, физические или другие, представляются посредством визуального представления. Визуальное представление пользователя 602, также называемое аватаром, такое как аватар 905, может инициализироваться на основании признаков пользователя 602, таких как пропорции тела, лицевые признаки и т.д. Например, скелетная модель может быть базовой моделью для генерирования визуального представления пользователя 602, смоделированного по пропорциям пользователя 602, длине, весу конечностей и т.д. Затем цвет волос, кожа, одежда и другие обнаруженные характеристики пользователя 602 могут сопоставляться с визуальным представлением.
[0144] Сопоставление движения пользователя может не быть прямым преобразованием перемещения пользователя, так как визуальное представление может быть приспособлено к модификации. Например, визуальное представление пользователя может быть нереальным персонажем без лицевых признаков. Система может отражать характер пользователя другими способами, которые применяются к форме визуального представления. Таким образом, движения пользователя могут быть преобразованы для сопоставления с визуальным представлением с некоторой добавленной анимацией для отражения формы визуального представления. Например, на Фиг. 9 визуальное представление пользователя, показанное на устройстве 912b отображения, является визуальным представлением персонажа 907 обезьяны. Так как визуальное представление 907 пользователя 602 не является представлением собственной физической структуры пользователя, движение пользователя 602 и/или характер могут быть преобразованы, чтобы совмещаться с формой, которую принимает визуальное представление 907. В этом примере, например, обнаруженные признаки и/или характер могут быть преобразованы, чтобы совмещаться с признаками обезьяны 907.
[0145] Характеристики пользователя, которые также могут указывать характер пользователя, могут сопоставляться с визуальным представлением на основании анализа системой обнаруживаемых характеристик, таким образом, имитируя внешность пользователя и/или перемещение в физическом пространстве. В этом примере система отслеживает обнаруживаемые характеристики пользователя в физическом пространстве в трех временных точках, 901a, 901b и 901c. Пользователь может обнаружить, что пользователь в позиции 902a сидит с головой, наклоненной на одну сторону и поддерживаемой рукой. Пользователь 902a может хмуриться и может воспроизводить звуки или произносить слова, которые указывают скучающий или расстроенный характер. Таким образом, система может анализировать обнаруживаемые характеристики в течение времени и выводить характер пользователя.
[0146] В этом примере система выводит "скучающий" характер пользователя. Система может выводить характер пользователя из данных, захваченных из физического пространства в точке 901a. Система может продолжить отслеживать обнаруживаемые признаки пользователя, и физическое пространство в 901b и 901c представляет примеры пользователя в различных временных точках. Система может применять атрибуты, указывающие выведенный характер, на основании одного кадра захваченных данных, таких как захваченные данные из сцены в физическом пространстве 901a, или в течение времени в результате множественных кадров захваченных данных, таких как захваченные данные из всех трех сцен 901a, 901b, 901c. Система может применять атрибуты, указывающие характер, выведенный на основании одного кадра и/или в течение времени. Достоверность в выведенном характере может повыситься на основании длительного анализа обнаруживаемых характеристик пользователя. Альтернативно, система может обнаружить или выводить отличный характер на основании изменений в обнаруживаемых характеристиках.
[0147] Система в реальном времени может отображать обнаруженные характеристики посредством применения их к визуальному представлению пользователя. Таким образом, как показано на Фиг. 6, визуальное представление 603 изображает ряд обнаруженных характеристик пользователя (например, выражение лица, позиция тела и т.д.). Аналогично, система может использовать характеристики цели пользователя для выведения характера пользователя, но затем применять атрибуты к визуальному представлению пользователя, которые указывают характер, но она может или не может сопоставлять непосредственно с характеристиками пользователя. Например, система может вывести из обнаруженных характеристик, что пользователь может иметь характер "взволнованный и счастливый". Обнаруженные характеристики, которые указывают этот характер, могут быть характеристиками, такими как движение прыжка вверх и вниз, взволнованный крик, успешная деятельность в игровом приложении и улыбка. Система может сравнивать эти характеристики с базой данных посредством характеристик, которые указывают различные характеры, например выводить характер пользователя. Система может применять характеристики цели непосредственно к визуальному представлению, так как эти характеристики могут быть хорошими примерами атрибутов, которые указывают характер. Однако система может альтернативно или дополнительно применять атрибуты, которые указывают характер независимо от того, являются ли применяемые атрибуты прямым сопоставлением характеристик пользователя. Например, если система выводит "счастливый и взволнованный" характер из обнаруживаемых признаков пользователя, система может оживить визуальное представление пользователя, который танцует на экране, или оживить пользователя, прыгающего в небо и хватающего звезду. Система может применять другие атрибуты, указывающие характер, такие как вспыхивающие слова на устройстве отображения (например, "я действительно счастлив", или что-то юмористическое или глупое).
[0148] На Фиг. 9 примерная анимация аватара 905, который имеет ряд обнаруживаемых характеристик пользователя, является анимацией аватара 905, стоящего с головой против стены, произносящего "мне скучно". Пользователь 602 не выполняет это действие и может не произносить эти слова в любой точке, которая захватывается системой, но система может применять эти атрибуты к пользователю, так как они указывают "скучающий" характер. Аналогично устройство отображения 912b показывает примерное отображение визуального представления, где персонаж обезьяны 907 показан медленно перемещающим свои руки и очень медленно производящим звук прототипа, "Ох. Ох. Ах. Ах." Атрибуты, применяемые к обезьяне, указывают скучающий характер. Атрибуты могут быть идентифицированы системой на основании таблицы поиска, например, и могут быть специфичными для персонажа, такого как обезьяна, или атрибуты в целом могут применяться к визуальным представлениям многих типов.
[0149] Аватар 905 и представление обезьяны 907 является двумя различными примерными визуальными представлениями, которые могут быть отображены и показаны на примерных устройствах 912a и 912b отображения. Каждое визуальное представление 905, 907 и применение атрибутов, указывающих характеры пользователя 602, может быть основано на единственном наборе захваченных данных, таких как данные, захваченные относительно физического пространства в момент времени 901a. Альтернативно, оба примерных отображения каждого визуального представления 905, 907 могут быть результатом системы, контролирующей пользователя 602 в течение времени. Пользователь может использовать данные захвата в течение времени, чтобы обновить характер пользователя, добавить больше признаков к визуальному представлению, применить атрибуты, которые указывают более специфичный характер, или подобное.
[0150] Пользователь 602 может выполнять жесты, которые приводят к применению атрибутов, указывающих конкретный характер, к визуальному представлению пользователя. Жест идентичности характера может быть жестом, который интерпретируется как запрос применить атрибуты, указывающие конкретный характер, к визуальному представлению пользователя. Например, обнаружение системы "скучающего" характера пользователя на Фиг. 9 может быть результатом распознавания системы жеста пользователя в физическом пространстве, которое указывает "скучающий" характер. Жест может содержать, например, позицию тела пользователя в 902c, где руки сложены на груди. Чтобы дифференцировать движение от движения пользователя просто стоять таким образом, жест может содержать театральное удержание рук в позиции или медленное перемещение рук, которые должны быть сложены на груди. Механизм распознавания жеста, такой как механизм 192 распознавания жеста, описанный с ссылками на Фиг. 5B, может сравнивать движение пользователя с фильтрами жестов, которые соответствуют жестам в библиотеке 190 жестов. Захваченное движение пользователя 602 может соответствовать жесту 196 идентификации характера в библиотеке 190 жестов, например. Таким образом, применение таких атрибутов к визуальному представлению может быть аспектом операционной системы и/или приложения, которые могут управляться и распознаваться от жестов пользователя.
[0151] Жест идентификации характера может содержать или может не содержать характеристики, которые обычно ассоциируются с конкретным характером. Например, жест для "грустного" характера может быть перемещением руки, где перемещение руки не является характеристикой, которую обычно выполняет человек, имея "грустный" характер. Однако перемещение руки может быть жестом, который пользователь может выполнять, чтобы направить систему для применения атрибутов, указывающих "грустный" характер, к визуальному представлению. Поэтому пользователь может управлять характером визуального представления пользователя посредством выполнения жестов в физическом пространстве. Пользователь может преднамеренно или неумышленно выполнить жест, который соответствует характеру. Например, жест для рук пользователя, сложенных на его или ее груди, может быть жестом, распознанным как характер расстройства, и пользователь может просто выполнять движение, которое соответствует этому жесту, так как пользователь чувствует себя расстроенным.
[0152] Распознание системой жеста, который указывает, что пользователь расстроен, наряду с выражением пользователя, таким как хмурый взгляд, может привести к визуальному представлению, которое отражает расстроенный характер. Альтернативно, пользователь может преднамеренно выполнять жест в физическом пространстве, чтобы вынуждать конкретный характер применяться к визуальному представлению пользователя. Например, пользователь мог только что выиграть игру или сделал что-то успешное в приложении. Жест для "счастливого" характера может содержать прыжок вверх и вниз пользователя с движением поднятых кверху рук. Пользователь может выполнять жест "счастливого" характера, вынуждающий систему применять характеристики цели и/или любое количество "счастливых" атрибутов к визуальному представлению пользователя. Например, как описано выше, визуальное представление пользователя может сделать колесо или станцевать, или любую другую деятельность, которую система ассоциирует с выражением характера счастья. Таким образом, в то время как жесты в виртуальном пространстве могут действовать как элементы управления приложения, такого как электронная игра, они могут также соответствовать запросу пользователем к системе, чтобы отражать конкретный характер в визуальном представлении пользователя.
[0153] Система 600 может обновлять характер пользователя в визуальном представлении пользователя посредством контроля обнаруживаемых характеристик. Система 600 может использовать комбинацию информации из каждого кадра данных, таких как данные, захваченные от пользователя в точках 901a, 901b, 901c, из изменений захваченных данных между кадрами данных и в течение времени, жестов, идентифицированных из захваченных данных, характеристик цели и временных изменений характеристик цели, и любой другой доступной информации, такой как выражения лица, положение тела, данные голоса и т.д., чтобы идентифицировать и обновить характер, так как он отражается посредством визуального представления пользователя.
[0154] Характеристики цели, ассоциированные с пользователем в физическом пространстве, могут стать частью профиля. Профиль может быть специфичным для конкретного физического пространства или пользователя, например. Данные аватара, включающие в себя признаки пользователя, могут стать частью профиля пользователя. Профиль может быть доступным после входа пользователя на сцену захвата. Если профиль соответствует пользователю на основании пароля, выбора пользователем, размера тела, идентификации голоса или подобного, то профиль может быть использован в определении визуального представления пользователя.
[0155] Данные истории для пользователя могут быть проверены, сохраняя информацию в профиле пользователя. Например, система может обнаружить признаки, специфичные для пользователя, такие как поведение пользователя, образцы голоса, эмоции, звуки или подобное. Система может применять эти признаки к визуальному представлению пользователя при применении характера к визуальному представлению. Например, если система идентифицирует характер пользователя и выбирает атрибут, который содержит речь, для отражения характера, голос визуального представления может быть скопирован из образцов голоса пользователя или даже может быть регистрацией собственного голоса пользователя.
[0156] Информация, специфичная для пользователя, может также включать в себя предпочтения в режимах игры одним или более пользователями. Например, если пользователь предпочитает вести себя или реагировать некоторым способом, система может отслеживать предпочтения пользователя, чтобы более точно вывести характер пользователя. Например, если система обнаруживает позиции тела пользователя, которые указывают "сердитые" характеры, и пользователь предпочитает вести себя аналогичным способом каждый раз, когда пользователь терпит неудачу в приложении (таком как игра), система может отслеживать эту информацию. Таким образом, система может начинать отслеживать предпочтения пользователя и использовать эту информацию, чтобы более точно оценить характер пользователя.
[0157] Должно быть понятно, что конфигурации и/или подходы, описанные в настоящем описании, являются примерными по своему характеру и что эти специфичные варианты осуществления или примеры нельзя рассматривать как ограничивающие. Конкретные программы или способы, описанные в настоящем описании, могут представлять одно или более из любого количества стратегий обработки. Также различные иллюстрированные действия могут быть совершены в иллюстрированной последовательности, в других последовательностях, параллельно или подобным. Аналогично, может быть изменен порядок вышеописанных процессов.
[0158] Кроме того, в то время как настоящее описание было описано со ссылками на конкретные аспекты, которые иллюстрируются на различных фигурах, должно быть понятно, что могут быть использованы другие аналогичные аспекты или могут быть сделаны модификации и дополнения к описанным аспектам для выполнения одной и той же функции настоящего описания, не отступая от нее. Сущность изобретения включает в себя все новые и неочевидные комбинации и подкомбинации различных процессов, систем и конфигураций и других признаков, функций, действий, и/или свойств, раскрытых в настоящем описании, а также любые и все их эквиваленты. Таким образом, способы и устройство раскрытых вариантов осуществления или некоторые аспекты или их части могут принимать форму программного кода (то есть команд), воплощенного в материальных носителях, таких как гибкие дискеты, устройства CD-ROM, накопители на жестких дисках или любой другой считываемый машиной запоминающий носитель. Когда программный код загружается и выполняется машиной, такой как компьютер, машина становится устройством, сконфигурированным для осуществления раскрытых вариантов осуществления.
[0159] В дополнение к специфичным реализациям, явно сформулированным в настоящем описании, другие аспекты и реализации будут очевидны для специалистов в данной области техники из рассмотрения раскрытого описания. Поэтому настоящее описание не должно ограничиваться никаким единственным аспектом, а скорее, должно быть рассмотрено в широте и объеме в соответствии с приложенной формулой изобретения. Например, различные процедуры, описанные в настоящем описании, могут быть реализованы аппаратным обеспечением или программным обеспечением или их комбинацией.
название | год | авторы | номер документа |
---|---|---|---|
ВОПЛОЩЕНИЕ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ С ПОМОЩЬЮ ИЗУЧЕННОГО ВВОДА ОТ ПОЛЬЗОВАТЕЛЯ | 2010 |
|
RU2554548C2 |
АВТОМАТИЧЕСКОЕ ГЕНЕРИРОВАНИЕ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ | 2010 |
|
RU2560340C2 |
СИСТЕМЫ И СПОСОБЫ ПРИМЕНЕНИЯ ОТСЛЕЖИВАНИЯ МОДЕЛИ ДЛЯ ЗАХВАТА ДВИЖЕНИЙ | 2010 |
|
RU2580450C2 |
СВЯЗЫВАНИЕ АНИМАЦИЙ | 2010 |
|
RU2530708C2 |
СИСТЕМА И СПОСОБЫ ДЛЯ ПРИМЕНЕНИЯ АНИМАЦИЙ ИЛИ ДВИЖЕНИЙ К ПЕРСОНАЖУ | 2010 |
|
RU2544770C2 |
МАНИПУЛИРОВАНИЕ ВИРТУАЛЬНЫМ ОБЪЕКТОМ | 2010 |
|
RU2555228C2 |
ЖЕСТОВЫЕ СОКРАЩЕНИЯ | 2010 |
|
RU2574830C2 |
УЧЕБНО-ДЕМОНСТРАЦИОННЫЙ МОДУЛЬ И СИСТЕМА ОБУЧЕНИЯ ГЛУХИХ, НЕМЫХ И ГЛУХОНЕМЫХ ЛЮДЕЙ РАЗГОВОРНОЙ РЕЧИ | 2019 |
|
RU2715792C1 |
ОТСЛЕЖИВАНИЕ ВЫРАЖЕНИЯ ЛИЦА | 2015 |
|
RU2679986C2 |
СИСТЕМА И СПОСОБ ДЛЯ ДОПОЛНЕННОЙ И ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ | 2012 |
|
RU2621633C2 |
Изобретение относится к визуализации визуального представления пользователя. Технический результат - обеспечение визуального представления, отражающего эмоции и позицию пользователя. Способ применения анимации для визуального представления на основании данных, характерных для темперамента пользователя, к визуальному представлению содержит: визуализацию визуального представления пользователя; прием данных, характерных для пользователя в физическом пространстве; анализ упомянутых данных, характерных для пользователя в физическом пространстве, для выведения эмоций и темперамента пользователя; определение заранее заготовленной анимации визуального представления для отображения на основании выведенных эмоций и темперамента пользователя и отображение упомянутой заранее заготовленной анимации для визуального представления на устройстве отображения. 3 н. и 12 з.п. ф-лы, 10 ил.
1. Способ применения анимации для визуального представления на основании данных, характерных для темперамента пользователя, к визуальному представлению, причем способ содержит:
визуализацию визуального представления пользователя;
прием данных, характерных для пользователя в физическом пространстве;
анализ упомянутых данных, характерных для пользователя в физическом пространстве, для выведения эмоций и темперамента пользователя;
определение заранее заготовленной анимации визуального представления для отображения на основании выведенных эмоций и темперамента пользователя; и
отображение упомянутой заранее заготовленной анимации для визуального представления на устройстве отображения.
2. Способ по п. 1, в котором упомянутое отображение упомянутой заранее заготовленной анимации для визуального представления на устройстве отображения выполняется в реальном времени относительно приема данных, характерных для пользователя в физическом пространстве.
3. Способ по п. 1, в котором анализ упомянутых данных, характерных для пользователя, содержит анализ характеристик пользователя, физических признаков пользователя, поведения пользователя, образца голоса пользователя, голоса пользователя, жеста или данных истории.
4. Способ по п. 1, в котором данные, характерные для пользователя в физическом пространстве, представляют по меньшей мере одну из характеристик пользователя в физическом пространстве.
5. Способ по п. 1, дополнительно содержащий применение по меньшей мере одной из характеристик пользователя к визуальному представлению.
6. Способ по п. 1, в котором анализ данных, характерных для пользователя в физическом пространстве, для выведения эмоций и темперамента пользователя содержит сравнение упомянутых данных пользователя с таблицей, которая коррелирует характеристики с конкретным темпераментом.
7. Способ по п. 1, в котором темперамент пользователя содержит по меньшей мере одно из: в целом отрицательный, в целом положительный, двойственный, скучный, счастливый, грустный, расстроенный, взволнованный или сердитый.
8. Способ по п. 1, дополнительно содержащий:
прием вторых данных, характерных для пользователя в упомянутом физическом пространстве,
определение изменения для темперамента пользователя на основании различий между вторыми данными и упомянутыми данными,
определение второй заранее заготовленной анимации для визуального представления на основании упомянутого темперамента пользователя; и
отображение упомянутой второй заранее заготовленной анимации для визуального представления на устройстве отображения.
9. Способ по п. 1, дополнительно содержащий выбор заранее заготовленной анимации из множества заранее заготовленных анимаций, которые соответствуют темпераменту пользователя.
10. Система для применения анимации для визуального представления на основании данных, характерных для темперамента пользователя, к визуальному представлению, причем система содержит:
процессор, и
память, соединенную с возможностью связи с процессором, хранящую выполняемые процессором команды, которые при их выполнении вынуждают упомянутую систему по меньшей мере:
визуализировать визуальное представление пользователя;
принимать данные, характерные для пользователя в физическом пространстве,
анализировать упомянутые данные, характерные для пользователя в физическом пространстве, для выведения эмоций и темперамента пользователя;
определение заранее заготовленной анимации визуального представления для отображения на основании выведенных эмоций и темперамента пользователя; и
отображение упомянутой заранее заготовленной анимации для визуального представления на устройстве отображения.
11. Система по п. 10, в которой упомянутые инструкции при выполнении на процессоре дополнительно вынуждают систему отображать заранее заготовленную анимацию для визуального представления на устройстве отображения в реальном времени относительно приема данных, характерных для пользователя в физическом пространстве.
12. Система по п. 10, в которой память хранит таблицу, которая обеспечивает характеристики, которые коррелируются с конкретным темпераментом.
13. Считываемый компьютером носитель, содержащий выполняемые компьютером инструкции, которые при их исполнении вынуждают компьютер выполнять способ применения анимации для визуального представления на основании данных, характерных для темперамента пользователя, к визуальному представлению, при этом способ содержит:
визуализацию визуального представления пользователя;
прием данных, характерных для пользователя в физическом пространстве; и
анализ упомянутых данных, характерных для пользователя в физическом пространстве, для выведения эмоций и темперамента пользователя;
определение заранее заготовленной анимации визуального представления для отображения на основании выведенных эмоций и темперамента пользователя; и
отображение упомянутой заранее заготовленной анимации для визуального представления на устройстве отображения.
14. Считываемый компьютером носитель по п. 13, дополнительно содержащий выполняемые компьютером инструкции, которые при их исполнении вынуждают компьютер выполнять:
обеспечение фильтра, представляющего жест идентичности темперамента, причем фильтр содержит базовую информацию о жесте идентичности темперамента; и
применение фильтра к данным и определение вывода из базовой информации о жесте идентичности темперамента.
15. Считываемый компьютером носитель по п. 13, дополнительно содержащий выполняемые компьютером инструкции, которые при их исполнении вынуждают компьютер выполнять выбор заранее заготовленной анимации из множества заранее заготовленных анимаций, которые соответствуют эмоциям и темпераменту пользователя.
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
US 5774591 A, 30.06.1998 | |||
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
СПОСОБ ОТСЛЕЖИВАНИЯ И ОТОБРАЖЕНИЯ ПОЛОЖЕНИЯ И ОРИЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ В ПРОСТРАНСТВЕ И СИСТЕМА ДЛЯ ОСУЩЕСТВЛЕНИЯ СПОСОБА | 1996 |
|
RU2107328C1 |
Авторы
Даты
2015-08-20—Публикация
2010-07-06—Подача