RU2574830C2 - Gesture shortcuts - Google Patents

Gesture shortcuts Download PDF

Info

Publication number
RU2574830C2
RU2574830C2 RU2011148344/08A RU2011148344A RU2574830C2 RU 2574830 C2 RU2574830 C2 RU 2574830C2 RU 2011148344/08 A RU2011148344/08 A RU 2011148344/08A RU 2011148344 A RU2011148344 A RU 2011148344A RU 2574830 C2 RU2574830 C2 RU 2574830C2
Authority
RU
Russia
Prior art keywords
gesture
user
output
application
full
Prior art date
Application number
RU2011148344/08A
Other languages
Russian (ru)
Other versions
RU2011148344A (en
Inventor
Стефен ЛАТТА
Кевин ГАЙСНЕР
Джон КЛЕВИН
Кудо ЦУНОДА
Катрин Стоун ПЕРЕС
Релья МАРКОВИЧ
Грегори Н. СНУК
Алекс КИПМАН
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/474,781 external-priority patent/US9400559B2/en
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2011148344A publication Critical patent/RU2011148344A/en
Application granted granted Critical
Publication of RU2574830C2 publication Critical patent/RU2574830C2/en

Links

Images

Abstract

FIELD: information technology.
SUBSTANCE: user movement or body position is captured by a capture device of a system and is used as input data to control the system. For a system-recognised gesture, there may be a full version of the gesture and a shortcut of the gesture. Where the system recognises that either the full version of the gesture or the shortcut of the gesture has been performed, it sends an indication that the system-recognised gesture was observed to a corresponding application. Where the shortcut comprises a subset of the full version of the gesture, and both the shortcut and the full version of the gesture are recognised as the user performs the full version of the gesture, the system recognises that only a single performance of the gesture has occurred.
EFFECT: faster information input.
20 cl, 23 dwg

Description

УРОВЕНЬ ТЕХНИКИBACKGROUND

Многие компьютерные приложения, такие как компьютерные игры, мультимедийные приложения, офисные приложения или подобные им, используют элементы управления, чтобы позволить пользователям манипулировать игровыми характеристиками или другими аспектами приложения. Обычно такие элементы управления являются устройствами ввода, использующими, например, контроллеры, пульты дистанционного управления, клавиатуры, мыши или подобные устройства. К сожалению, такие элементы управления могут быть сложны для изучения, создавая, таким образом, барьер между пользователем и подобными играми и приложениями. Кроме того, подобные элементы управления могут отличаться от реальных игровых действий или других действий приложения, для которых используются элементы управления. Например, элемент управления игры, который изменяет игровую характеристику для взмаха бейсбольной биты, может не соответствовать реальному движению поднимающейся бейсбольной биты.Many computer applications, such as computer games, multimedia applications, office applications or the like, use controls to allow users to manipulate gaming characteristics or other aspects of the application. Typically, such controls are input devices using, for example, controllers, remote controls, keyboards, mice, or the like. Unfortunately, such controls can be difficult to learn, thus creating a barrier between the user and similar games and applications. In addition, such controls may differ from actual game actions or other application actions for which the controls are used. For example, a game control that changes a game characteristic to swing a baseball bat may not correspond to the actual movement of the rising baseball bat.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

Раскрытыми в настоящем документе являются системы и способы для жестовых сокращений. Disclosed herein are systems and methods for gesture abbreviations.

В одном варианте осуществления изобретения вычислительное устройство принимает серии данных изображения от камеры. Данная камера может содержать цветную камеру (в частности красно-зелено-синей системы цветопередачи или RGB), камеру глубины и трехмерную (3D) камеру. Эти данные могут включать в себя отдельные изображения глубины и цвета, комбинированное изображение, которое объединяет информацию о глубине и о цвете, или проанализированное изображение, в котором объекты идентифицируются, например, люди, которые отображаются в виде скелета. Эти данные фиксируют движения или позы, сделанные, по меньшей мере, одним пользователем. Указанные движения или позы могут быть распознаны вычислительным устройством в качестве типа входных данных - входные данные жеста. Для данного жеста (например, навигации вверх) могут существовать полная версия жеста, который пользователь может делать, и сокращение жеста, который пользователь может делать, сокращение жеста в основном требует меньше времени, движения или сложности движения от пользователя. In one embodiment of the invention, the computing device receives a series of image data from the camera. This camera may contain a color camera (in particular a red-green-blue color rendering system or RGB), a depth camera, and a three-dimensional (3D) camera. This data may include separate images of depth and color, a combined image that combines information about depth and color, or an analyzed image in which objects are identified, for example, people who are displayed as a skeleton. This data captures movements or poses made by at least one user. The indicated movements or poses can be recognized by the computing device as a type of input data - input data of the gesture. For a given gesture (for example, navigation up), there may be a full version of the gesture that the user can do, and reduction of the gesture that the user can do, reduction of the gesture generally requires less time, movement or difficulty of movement from the user.

В случае, если вычислительное устройство распознает, что пользователем выполнено или сокращение жеста или полная версия жеста, оно посылает сигнал об этом приложению, которое использует жесты в качестве ввода.If the computing device recognizes that the user has performed either a gesture reduction or a full version of the gesture, it sends a signal about this to the application, which uses gestures as input.

В варианте осуществления изобретения, в котором сокращение включает в себя подмножество полной версии жеста, и сокращенная и полная версия жеста распознаются как выполненная пользователем полная версия жеста, вычислительное устройство распознает, что произошло только единичное исполнение жеста и соответственно указывает приложению.In an embodiment of the invention in which the abbreviation includes a subset of the full version of the gesture, and the abbreviated and full version of the gesture are recognized as the full version of the gesture executed by the user, the computing device recognizes that only a single execution of the gesture has occurred and accordingly indicates the application.

Вышесказанное является кратким описанием и, таким образом, включает в себя, по необходимости, упрощения, обобщения и опущение деталей. Следует понимать, что указанное краткое описание является только иллюстративным и не направлено на ограничения в каком-либо виде.The foregoing is a brief description and thus includes, as appropriate, simplifications, generalizations, and omission of details. It should be understood that this brief description is illustrative only and is not intended to limit in any way.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ BRIEF DESCRIPTION OF THE DRAWINGS

Системы, способы и машиночитаемый носитель информации для жестовых сокращений в соответствии с данной спецификацией описываются дополнительно со ссылкой на прилагаемые чертежи, на которых:Systems, methods and computer-readable media for gestures in accordance with this specification are further described with reference to the accompanying drawings, in which:

фиг.1A и 1B иллюстрируют пример осуществления системы распознавания цели, анализа и слежения пользователем, играющим в игру. 1A and 1B illustrate an example implementation of a target recognition, analysis and tracking system by a user playing a game.

Фиг.2 иллюстрирует пример осуществления устройства захвата, которое может быть использовано в системе распознавания цели, анализа и слежения.Figure 2 illustrates an example implementation of a capture device that can be used in a target recognition, analysis, and tracking system.

Фиг.3A иллюстрирует пример осуществления вычислительной среды, которая может быть использована для интерпретации одного или более жестов в системе распознавания цели, анализа и слежения. 3A illustrates an example implementation of a computing environment that can be used to interpret one or more gestures in a target recognition, analysis, and tracking system.

Фиг.3B иллюстрирует другой пример осуществления вычислительной среды, которая может быть использована для интерпретации одного или более жестов в системе распознавания цели, анализа и слежения. FIG. 3B illustrates another embodiment of a computing environment that can be used to interpret one or more gestures in a target recognition, analysis, and tracking system.

Фиг.4A иллюстрирует скелетное отображение пользователя, которое было сформировано на основании системы распознавания цели, анализа и слежения на фиг.2. FIG. 4A illustrates a skeletal display of a user that has been generated based on the target recognition, analysis, and tracking system of FIG. 2.

Фиг.4B иллюстрирует дополнительные детали жеста архитектуры устройства распознавания, показанного на фиг.2. Fig. 4B illustrates additional details of the architecture gesture of the recognition device shown in Fig. 2.

Фиг.5A и 5B иллюстрируют, каким образом жестовые фильтры могут быть помещены в стек с целью создания более сложных жестовых фильтров. 5A and 5B illustrate how gesture filters can be stacked to create more sophisticated gesture filters.

Фиг.6A, 6B, 6C, 6D и 6E иллюстрируют пример жеста, который пользователь может выполнить для подачи сигнала о "честном захвате" в видеоигре в американский футбол. 6A, 6B, 6C, 6D, and 6E illustrate an example of a gesture that a user can perform to signal a “fair capture” in an American football video game.

Фиг.7A, 7B, 7C, 7D и 7E иллюстрируют примеры жеста "честного захвата" фиг.6A-E в состоянии после того, как каждый кадр данных изображения был проанализирован для создания скелетного отображения пользователя. FIGS. 7A, 7B, 7C, 7D, and 7E illustrate examples of the “fair capture” gesture of FIGS. 6A-E in a state after each frame of image data has been analyzed to create a skeletal display of a user.

Фиг.8A иллюстрирует пользователя, выполняющего движение бега в полном объеме. Fig. 8A illustrates a user performing a running movement in full.

Фиг.8B иллюстрирует пользователя, выполняющего движение бега в сокращенном объеме, сокращенный жест включает в себя подмножество движения полного объема жеста фиг.8A. FIG. 8B illustrates a user performing a running movement in a reduced volume, the reduced gesture includes a subset of the full volume movement of the gesture of FIG. 8A.

Фиг.8C иллюстрирует пользователя, выполняющего второй тип сокращенного объема жеста, второй тип сокращенного объема жеста включает в себя движение, независимое от полного объема жеста фиг.8A. FIG. 8C illustrates a user performing a second type of reduced gesture volume, a second type of reduced gesture volume includes movement independent of the total gesture volume of FIG. 8A.

Фиг.9 изображает пример последовательности операций для жестовых сокращений. Fig.9 depicts an example sequence of operations for gestures.

ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Как будет описано в настоящем документе, пользователь может управлять приложением, выполняемым в вычислительной среде, такой как игровая приставка, компьютер или подобное устройство, путем выполнения одного или более жестов. Согласно одному варианту осуществления изобретения, жесты могут быть приняты, например, с помощью устройства захвата. Например, устройство захвата может захватить глубину изображения сцены. В одном варианте осуществления изобретения устройство захвата может определить, соответствует ли одна или больше целей или объектов в сцене человеческому объекту, такому как пользователь. Для определения, соответствует ли цель или объект в сцене человеческому объекту, каждую из целей можно закрасить заливкой и сравнить с шаблоном модели человеческого тела. Каждая цель или объект, который совпадает с моделью человеческого тела, затем может быть отсканирован для создания скелетной модели, ассоциированной с ним. Скелетная модель может затем быть предоставлена вычислительной среде, так что вычислительная среда может отслеживать скелетную модель, представлять аватар, ассоциированный со скелетной моделью, и может определять, какие элементы управления исполнять в приложении, выполняемом на основе компьютерной среды, например, жесты пользователя, которые были распознаны, исходя из скелетной модели. Процессор распознавания жестов, архитектура которой описана более полно ниже, используется для определения, когда конкретный жест был выполнен пользователем. As will be described herein, a user can control an application running in a computing environment, such as a game console, computer, or the like, by performing one or more gestures. According to one embodiment of the invention, gestures can be received, for example, using a capture device. For example, a capture device may capture the depth of an image in a scene. In one embodiment of the invention, the capture device may determine whether one or more targets or objects in the scene matches a human object, such as a user. To determine whether a target or object in a scene corresponds to a human object, each of the goals can be painted over and compared with a model of a model of the human body. Each target or object that matches the model of the human body can then be scanned to create the skeletal model associated with it. The skeleton model can then be provided to the computing environment, so that the computing environment can track the skeletal model, present an avatar associated with the skeletal model, and can determine which controls to execute in an application running on the basis of the computer environment, for example, user gestures that were recognized based on the skeletal model. A gesture recognition processor, the architecture of which is described more fully below, is used to determine when a particular gesture was executed by the user.

Фиг.1A и 1B иллюстрируют вариант осуществления конфигурации системы распознавание цели, анализа и слежения 10 с пользователем 18, играющим в игру «бокс». В варианте осуществления изобретения системы распознавания цели, анализа и слежения 10 могут быть использованы для распознавания, анализа и/или слежения за человеческим объектом, таким как пользователь 18.1A and 1B illustrate an embodiment of a configuration of a target recognition, analysis and tracking system 10 with a user 18 playing a boxing game. In an embodiment of the invention, target recognition, analysis, and tracking systems 10 can be used to recognize, analyze, and / or track a human object, such as user 18.

Как показано на фиг.1A, система распознавания цели, анализа и слежения 10 может включать в себя вычислительную среду 12. Вычислительная среда 12 может быть компьютером, игровой системой, или приставкой, или подобным устройством. Согласно варианту осуществления изобретения, вычислительная среда 12 может включать в себя аппаратные компоненты и/или программные компоненты, так что вычислительная среда 12 может быть использована для выполнения приложений, таких как игровые приложения, не игровые приложения или подобные им. As shown in FIG. 1A, a target recognition, analysis, and tracking system 10 may include a computing environment 12. Computing environment 12 may be a computer, game system, or console, or similar device. According to an embodiment of the invention, computing environment 12 may include hardware components and / or software components, such that computing environment 12 can be used to execute applications such as gaming applications, non-gaming applications, or the like.

Как показано на фиг.1A, система распознавания цели, анализа и слежения 10 может дополнительно включать в себя устройство захвата 20. Устройство захвата 20 может быть, например, камерой, которая может быть использована для визуального мониторинга одного или более пользователей, такого как пользователь 18, так что жесты, выполненные одним или более пользователями, могут быть захвачены, проанализированы и прослежены для выполнения одного или более элементов управления или действий внутри приложения, как будет описано более подробно ниже.As shown in FIG. 1A, the target recognition, analysis and tracking system 10 may further include a capture device 20. The capture device 20 may be, for example, a camera that can be used to visually monitor one or more users, such as user 18 so that gestures made by one or more users can be captured, analyzed, and tracked to perform one or more controls or actions within the application, as will be described in more detail below.

Согласно одному варианту осуществления изобретения, система распознавания цели, анализа и слежения 10 может быть соединена с аудиовизуальным устройством 16, таким как телевизор, монитор, телевизор высокой четкости (HDTV) или подобными устройствами, которое может предоставить игру или визуальное и/или аудиоприложение пользователю, такому как пользователь 18. Например, вычислительная среда 12 может включать в себя видеоадаптер, такой как видеокарта и/или аудиоадаптер, такой как звуковая карта, которая может обеспечить аудиовизуальные сигналы, ассоциированные с игровым приложением, не игровым приложением или подобным им. Аудиовизуальное устройство 16 может принимать аудиовизуальные сигналы от вычислительной среды 12 и может затем выводить игру, визуальное и/или аудиоприложение, ассоциированное с аудиовизуальными сигналами игры, или приложения пользователю 18. Согласно одному варианту осуществления изобретения аудиовизуальное устройство 16 может быть соединено с вычислительной средой 12, например, через кабель S-видео, коаксиальный кабель, кабель HDMI, кабель DVI, кабель VGA или подобные им. According to one embodiment of the invention, the target recognition, analysis and tracking system 10 may be connected to an audiovisual device 16, such as a television, monitor, high definition television (HDTV) or the like, which can provide a game or visual and / or audio application to a user, such as user 18. For example, computing environment 12 may include a video adapter, such as a video card and / or an audio adapter, such as a sound card, that can provide audio-visual signals, ssotsiirovannye a game application is not a game application or the like. The audiovisual device 16 may receive audiovisual signals from the computing environment 12 and may then output the game, visual and / or audio application associated with the audiovisual signals of the game, or the application to the user 18. According to one embodiment of the invention, the audiovisual device 16 may be connected to the computing environment 12, for example, via an S-video cable, coaxial cable, HDMI cable, DVI cable, VGA cable, or the like.

Как показано на фиг.1A и 1B, система распознавания цели, анализа и слежения 10 может быть использована для распознавания, анализа и/или слежения за человеческим объектом, таким как пользователь 18. Например, пользователь 18 может быть отслежен с использованием устройства захвата 20, так что движения пользователя 18 могут быть интерпретированы как элементы управления, что может быть использовано для воздействия на приложение, исполняемое компьютерной средой 12. Таким образом, согласно одному варианту осуществления изобретения, пользователь 18 может переместить свое тело для управления приложением. As shown in FIGS. 1A and 1B, a target recognition, analysis and tracking system 10 can be used to recognize, analyze and / or track a human object, such as user 18. For example, user 18 can be tracked using capture device 20, so that the movements of the user 18 can be interpreted as controls that can be used to influence the application executed by the computer environment 12. Thus, according to one embodiment of the invention, the user 18 can t move his body to control the application.

Как показано на фиг.1A и 1B, в варианте осуществления изобретения приложение, исполняемое в вычислительной среде 12, может быть игрой в бокс, в которую может играть пользователь 18. Например, вычислительная среда 12 может использовать аудиовизуальное устройство 16 для предоставления визуального представления боксирующего соперника 22 пользователю 18. Вычислительная среда 12 также может использовать аудиовизуальное устройство 16 для предоставления визуального представления аватара игрока 24, которым пользователь 18 может управлять с помощью своих движений. Например, как показано на фиг.1B, пользователь 18 может нанести удар в физическом пространстве, что заставит аватар игрока 24 нанести удар в игровом пространстве. Таким образом, согласно варианту осуществления изобретения, компьютерная среда 12 и устройство захвата 20 системы распознавания цели, анализа и слежения 10 может быть использована для распознавания и анализа удара пользователя 18 в физическом пространстве так, что удар может быть интерпретирован как игровой элемент управления аватаром игрока 24 в игровом пространстве. As shown in FIGS. 1A and 1B, in an embodiment of the invention, an application executed in computing environment 12 may be a boxing game that user 18 can play. For example, computing environment 12 may use audio-visual device 16 to provide a visual representation of a boxing opponent 22 to user 18. Computing medium 12 can also use audiovisual device 16 to provide a visual representation of the avatar of player 24, which user 18 can control with his movements. For example, as shown in FIG. 1B, user 18 may strike in physical space, causing the avatar of player 24 to strike in game space. Thus, according to an embodiment of the invention, the computer environment 12 and the capture device 20 of the target recognition, analysis and tracking system 10 can be used to recognize and analyze the blow of the user 18 in the physical space so that the blow can be interpreted as a game avatar control of the player 24 in the playing space.

Другие движения пользователя 18 также могут быть интерпретированы как другие элементы управления или действия, такие как элементы управления бобслейными санями, катанием, тасованием, блокированием, ударом в боксе, джебом или размахом множества ударов кулаком различной силы. Кроме того, некоторые движения могут интерпретироваться как элементы управления, что может соответствовать действиям, отличным от управления аватаром игрока 24. Например, игрок может использовать движения для окончания игры, паузы или сохранения игры, чтобы выбрать уровень, посмотреть лучшие результаты, общаться с друзьями и так дополнительно. Other movements of the user 18 can also be interpreted as other controls or actions, such as bobsledding, skating, shuffling, blocking, punching, jabbing, or sweeping multiple punches of various strengths. In addition, some movements can be interpreted as controls, which may correspond to actions other than controlling the avatar of player 24. For example, a player can use movements to end a game, pause or save a game to select a level, see the best results, chat with friends and so extra.

В вариантах осуществления изобретений человеческий объект, такой как пользователь 18, может обладать объектом. В таких вариантах осуществления изобретения пользователь электронной игры может держать объект так, что движения игрока и данный объект могут быть использованы для корректировки и/или управления параметрами игры. Например, движение игрока, держащего ракетку, может быть отслежено и применено для управления виртуальной ракеткой в электронной спортивной игре. В другом варианте осуществления изобретения движение игрока, удерживающего объект, может быть отслежено и использовано для управления виртуальным оружием в электронной боевой игре. In embodiments of the invention, a human object, such as user 18, may possess an object. In such embodiments of the invention, the user of the electronic game can hold the object so that the player’s movements and the given object can be used to adjust and / or control the game parameters. For example, the movement of a player holding a racket can be tracked and applied to control a virtual racket in an electronic sports game. In another embodiment, the movement of the player holding the object can be tracked and used to control virtual weapons in an electronic combat game.

Согласно другим вариантам осуществления изобретений, система распознавания цели, анализа и слежения 10, кроме того, может быть использована для интерпретации движений цели в качестве операционной системы и/или элементов управления приложением, которые находятся вне области действия игр. Например, в сущности, любой управляемый аспект операционной системы и/или приложения может быть управляем движениями цели, такой как пользователь 18.According to other embodiments of the invention, the target recognition, analysis and tracking system 10 can also be used to interpret target movements as an operating system and / or application controls that are outside the scope of the games. For example, in essence, any controllable aspect of the operating system and / or application can be controlled by the movements of the target, such as user 18.

Фиг.2 иллюстрирует вариант осуществления устройства захвата 20, которое может быть использовано в системе распознавания цели, анализа и слежения 10. Согласно варианту осуществления изобретения, устройство захвата 20 может быть сконфигурировано для захвата видеоизображения с информацией о глубине, включая глубину изображения, которая может включать значения глубины с помощью любой подходящей техники, включая, например, время движения, структурированное освещение, стереоизображение или подобное им. Согласно одному варианту осуществления изобретения, устройство захвата 20 может группировать вычисленную информацию глубины в "Z-слои" или слои, которые могут быть перпендикулярны Z-оси, распространяясь от камеры глубины вдоль ее линии наблюдения.FIG. 2 illustrates an embodiment of a capture device 20 that can be used in a target recognition, analysis, and tracking system 10. According to an embodiment of the invention, the capture device 20 may be configured to capture a video image with depth information, including image depth, which may include depths using any suitable technique, including, for example, travel time, structured lighting, stereo imaging, or the like. According to one embodiment of the invention, the capture device 20 can group the calculated depth information into “Z-layers” or layers that can be perpendicular to the Z-axis, propagating from the depth camera along its observation line.

Как показано на фиг.2, устройство захвата 20 может включать в себя компонент камеры изображения 22. Согласно варианту осуществления изобретения, компонент камеры изображения 22 может быть камерой глубины, которая может захватить глубину изображения сцены. Глубина изображения может включать двухмерную (2-D) растровую область захваченной сцены, где каждый пиксель в 2-D растровой области может представлять дальность, например, в сантиметрах, миллиметрах или т.п. объекта в захваченной сцене от камеры.As shown in FIG. 2, the capture device 20 may include an image camera component 22. According to an embodiment of the invention, the image camera component 22 may be a depth camera that can capture the depth of the image of the scene. The depth of the image may include a two-dimensional (2-D) raster region of the captured scene, where each pixel in the 2-D raster region can represent a range, for example, in centimeters, millimeters, or the like. an object in a captured scene from the camera.

Как показано на фиг.2, согласно варианту осуществления изобретения, компонент камеры изображения 22 может включать в себя компонент ИК света 24, трехмерную (3-D) камеру 26 и RGB-камеру 28, которая может быть использована для захвата глубины изображения сцены. Например, в анализе времени движения компонент ИК света 24 устройства захвата 20 может излучать инфракрасный свет в сцене и затем может использовать сенсоры (не показано) для нахождения отраженного света от поверхности одной или более целей или объектов сцены, используя, например, 3-D камеру 26 и/или RGB-камеру 28. В некоторых вариантах осуществления изобретения пульсирующий инфракрасный свет может быть использован так, что время между исходящей световой пульсацией и согласованным приходящим световым сигналом может быть измерено и использовано для определения физической дистанции от устройства захвата 20 до определенного места на целях или объектах в сцене. Кроме того, в других вариантах осуществления изобретения фаза исходящей световой волны может сравниваться с фазой входящей световой волны для определения фазового сдвига. Фазовый сдвиг может затем быть использован для определения физической дистанции от устройства захвата до определенного места на целях или объектах.As shown in FIG. 2, according to an embodiment of the invention, the image camera component 22 may include an IR light component 24, a three-dimensional (3-D) camera 26, and an RGB camera 28 that can be used to capture the depth of the image of the scene. For example, in the analysis of the travel time, the IR light component 24 of the capture device 20 can emit infrared light in the scene and then can use sensors (not shown) to find reflected light from the surface of one or more targets or objects in the scene using, for example, a 3-D camera 26 and / or RGB camera 28. In some embodiments of the invention, pulsed infrared light can be used so that the time between the outgoing light pulsation and the matched incoming light signal can be measured and used for determining the physical distance from the pickup device 20 to a specified location on the purposes or objects in the scene. In addition, in other embodiments, the phase of the outgoing light wave can be compared with the phase of the incoming light wave to determine the phase shift. The phase shift can then be used to determine the physical distance from the capture device to a specific location on targets or objects.

Согласно другому варианту осуществления изобретения, анализ способом прохождения может быть использован для косвенного определения физической дистанции от устройства захвата 20 до определенного места на целях или объектах путем анализа интенсивности отраженного потока света в динамике по времени с помощью различных технологий, включая, например, технологию shuttered light pulse imaging.According to another embodiment of the invention, the analysis by the transmission method can be used to indirectly determine the physical distance from the capture device 20 to a specific location on targets or objects by analyzing the intensity of the reflected light flux in the dynamics over time using various technologies, including, for example, shuttered light technology pulse imaging.

В другом варианте осуществления изобретения устройство захвата 20 может использовать структурированный свет для захвата информации о глубине. В таком анализе узорчатый свет (т.е. свет, падающий в виде известного рисунка, такого как сетчатый рисунок или рисунок в полоску) может быть спроецирован на сцену, например, с помощью компонента ИК света 24. При достижении поверхности одной или более целей или объектов в сцене рисунок может деформироваться под влиянием поверхности. Такая деформация рисунка может быть захвачена, например, 3-D камерой 26 и/или RGB-камерой 28, и затем может быть проанализирована для определения физической дистанции от устройства захвата до определенного места на целях или объектах.In another embodiment, the capture device 20 may use structured light to capture depth information. In such an analysis, patterned light (i.e., light incident in the form of a known pattern, such as a net pattern or a striped pattern) can be projected onto the scene, for example, using the IR light component 24. When one or more targets are reached, or objects in the scene, the figure may be deformed under the influence of the surface. Such deformation of the pattern can be captured, for example, by a 3-D camera 26 and / or RGB camera 28, and then can be analyzed to determine the physical distance from the capture device to a specific location on targets or objects.

Согласно другому варианту осуществления изобретения устройство захвата 20 может включать две или более физически разделенных камер, которые могут просматривать сцену с разных углов для приема визуальных стереоданных, которые подвергают разрешению для формирования информации о глубине.According to another embodiment of the invention, the capture device 20 may include two or more physically separated cameras that can view the scene from different angles to receive visual stereo data that is resolved to generate depth information.

Устройство захвата 20 может дополнительно включать в себя микрофон 30. Микрофон 30 может содержать датчик или сенсор, который может принимать и конвертировать звук в электрический сигнал. Согласно одному варианту осуществления изобретения, микрофон 30 может быть использован для упрощения обратной связи между устройством захвата 20 и вычислительной средой 12 в системе распознавания цели, анализа и слежения 10. Кроме того, микрофон 30 может быть использован для приема звукового сигнала, который также может быть представлен пользователем элементам управления приложения, таким как игровые приложения, неигровые приложения или подобным им, что может быть исполнено вычислительной средой 12.The capture device 20 may further include a microphone 30. The microphone 30 may include a sensor or sensor that can receive and convert sound into an electrical signal. According to one embodiment of the invention, the microphone 30 can be used to simplify the feedback between the capture device 20 and the computing environment 12 in the target recognition, analysis and tracking system 10. In addition, the microphone 30 can be used to receive an audio signal, which can also be submitted by the user to application controls, such as gaming applications, non-gaming applications, or the like, which may be executed by computing environment 12.

В варианте осуществления изобретения устройство захвата 20, кроме того, может включать в себя процессор 32, который может находиться в оперативной связи с компонентом камеры изображения 22. Процессор 32 может включать в себя стандартный процессор, специальный процессор, микропроцессор или подобный им, который может исполнять команды, которые могут включать в себя команды для приема глубины изображения, определения, может ли быть подходящая цель включена в глубину изображения, конвертирования подходящей цели в скелетное представление или модель данной цели, или любую другую подходящую команду.In an embodiment of the invention, the capture device 20 may further include a processor 32, which may be in operative communication with a component of the image camera 22. The processor 32 may include a standard processor, a special processor, a microprocessor, or the like, which may execute commands that may include commands for receiving the depth of the image, determining whether a suitable target can be included in the depth of the image, converting the suitable target into a skeleton representation, or del given goal, or any other suitable team.

Устройство захвата 20, кроме того, может включать в себя компонент памяти 34, который может хранить команды, которые могут быть исполнены процессором 32, изображения или кадры изображений, захваченных 3-D камерой или RGB-камерой, или любую другую отвечающую требованиям информацию, изображения или подобное им. Согласно варианту осуществления изобретения, компонент памяти 34 может включать в себя память с произвольным доступом (RAM), постоянное запоминающее устройство (ROM), кэш, флэш-память, жесткий диск или любые другие отвечающие требованиям компоненты хранения. Как показано на фиг.2, в одном варианте осуществления изобретения компонент памяти 34 может быть отдельным компонентом в соединении с компонентом захвата изображения 22 и процессором 32. Согласно другому варианту осуществления изобретения, компонент памяти 34 может быть интегрирован в процессор 32 и/или компонент захвата изображения 22.The capture device 20 may further include a memory component 34 that may store instructions that may be executed by the processor 32, images or frames of images captured by a 3-D camera or RGB camera, or any other suitable information, image or similar to them. According to an embodiment of the invention, the memory component 34 may include random access memory (RAM), read-only memory (ROM), cache, flash memory, hard disk, or any other suitable storage components. As shown in FIG. 2, in one embodiment of the invention, the memory component 34 may be a separate component in connection with the image pickup component 22 and the processor 32. According to another embodiment of the invention, the memory component 34 may be integrated into the processor 32 and / or the capture component images 22.

Как показано на фиг.2, устройство захвата 20 может иметь связь с вычислительной средой 12 через канал связи 36. Канал связи 36 может быть физическим соединением, включающим в себя, например, соединение USB, соединение Firewire, соединение кабелем Ethernet или подобное им, и/или может быть беспроводным соединением, таким как беспроводное соединение 802.11b, g, a или n. Согласно одному варианту осуществления изобретения, вычислительная среда 12 может предоставить генератор тактовых импульсов устройству захвата 20, который может быть использован для определения времени захвата, например, сцены через канал связи 36.As shown in FIG. 2, the capture device 20 may communicate with computing environment 12 via a communication channel 36. The communication channel 36 may be a physical connection including, for example, a USB connection, a Firewire connection, an Ethernet cable connection or the like, and / or may be a wireless connection, such as an 802.11b, g, a or n wireless connection. According to one embodiment of the invention, computing environment 12 may provide a clock to a capture device 20, which may be used to determine the capture time, for example, of a scene through communication channel 36.

Кроме того, устройство захвата 20 может предоставить информацию о глубине и изображения, захваченные, например, 3-D камерой 26 и/или RGB-камерой 28, и скелетную модель, которая может быть создана устройством захвата 20 для вычислительной среды 12 через канал связи 36. Вычислительная среда 12 может затем использовать скелетную модель, информацию о глубине и захваченные изображения, например, для распознавания пользовательских жестов и в ответе элемента управления приложения, такого как игра или текстовый процессор. Например, как показано на фиг.2, вычислительная среда 12 может включать механизм 190 распознавания жестов. Механизм 190 распознавания жестов может включать в себя коллекцию фильтров жестов, каждый из которых включает в себя информацию, касающуюся жеста, который может быть выполнен скелетной моделью (как двигается пользователь). Данные, захваченные камерами 26, 28 и устройством 20 в виде скелетной модели и движений, ассоциированных с ними, могут сравниваться с фильтрами жестов в механизме 190 распознавания жестов для идентификации, при выполнении пользователем (как представлено скелетной моделью) одного или более жестов. Указанные жесты могут быть ассоциированы с различными элементами управления приложения. Таким образом, вычислительная среда 12 может использовать механизм 190 распознавания жестов для интерпретации движений скелетной модели и для управления приложением на основе движений.In addition, the capture device 20 may provide depth information and images captured, for example, by a 3-D camera 26 and / or RGB camera 28, and a skeletal model that can be created by the capture device 20 for computing environment 12 via a communication channel 36 Computing environment 12 may then use a skeletal model, depth information, and captured images, for example, to recognize user gestures and in the response of an application control such as a game or word processor. For example, as shown in FIG. 2, computing environment 12 may include gesture recognition mechanism 190. Gesture recognition mechanism 190 may include a collection of gesture filters, each of which includes information regarding a gesture that can be performed by a skeletal model (how the user moves). Data captured by cameras 26, 28 and device 20 in the form of a skeletal model and the movements associated with them can be compared with gesture filters in gesture recognition mechanism 190 for identification when the user (as represented by the skeletal model) performs one or more gestures. These gestures can be associated with various application controls. Thus, the computing environment 12 can use the gesture recognition mechanism 190 to interpret the movements of the skeletal model and to control the application based on the movements.

Фиг.3A иллюстрирует вариант осуществления вычислительной среды, которая может быть использована для реализации вычислительной среды 12 фигуры 1A-2. Вычислительная среда может быть мультимедийным устройством 100, таким как игровая консоль. Как показано на фиг.3A, мультимедийное устройство 100 имеет центральный процессор (ЦП) 101, имеющий кэш 102 1-го уровня, кэш 104 2-го уровня и флэш ROM (Постоянное Запоминающее Устройство) 106. Кэш 102 1-го уровня и кэш 104 2-го уровня временно сохраняют данные, и поэтому уменьшается количество циклов доступа к памяти, при этом улучшается скорость обработки и производительность. ЦП 101 может быть предоставлен более чем с одним ядром и, соответственно, с дополнительными кэшами 1-го и 2-го уровня 102 и 104. Флэш ROM 106 может хранить исполняемый код, который загружен во время начального этапа процесса загрузки, при включении мультимедийного устройства 100.FIG. 3A illustrates an embodiment of a computing environment that can be used to implement the computing environment 12 of FIGS. 1A-2. The computing environment may be a multimedia device 100, such as a game console. As shown in FIG. 3A, the multimedia device 100 has a central processing unit (CPU) 101 having a level 1 cache 102, a level 2 cache 104, and a flash ROM (Read Only Memory) 106. Level 1 cache 102 and a cache Level 2 104 temporarily stores data, and therefore reduces the number of memory access cycles, while improving processing speed and performance. CPU 101 can be provided with more than one core and, accordingly, with additional caches of the 1st and 2nd levels 102 and 104. Flash ROM 106 can store executable code that is loaded during the initial stage of the boot process when the multimedia device is turned on one hundred.

Графический процессор (GPU) 108 и видеокодер/видеокодек (кодер/декодер) 114 формируют канал обработки видеоинформации для высокоскоростной и с высоким разрешением графической обработки. Данные поступают от графического процессора 108 на видеокодер/видеокодек 114 через шину. Канал обработки видеоинформации выводит данные на A/V (аудио/видео) порт 140 для передачи на телевизор или другой дисплей. Контроллер памяти 110 подключен к GPU 108 для облегчения задачи процессору в доступе к различным типам памяти 112, например, но без ограничения, RAM (Оперативное Запоминающее Устройство).A graphics processor (GPU) 108 and a video encoder / video codec (encoder / decoder) 114 form a video processing channel for high-speed and high-resolution graphics processing. Data is received from the graphics processor 108 to the video encoder / video codec 114 via a bus. The video processing channel outputs data to the A / V (audio / video) port 140 for transmission to a television or other display. The memory controller 110 is connected to the GPU 108 to facilitate the task of the processor in accessing various types of memory 112, for example, but without limitation, RAM (Random Access Memory).

Мультимедийное устройство 100 включает в себя контроллер 120 ввода/вывода, контроллер 122 управления системой, блок обработки звукового сигнала 123, контроллер сетевого интерфейса 124, первый USB корневой контроллер 126, второй USB контроллер 128 и подблок 130 ввода/вывода передней панели, который преимущественно реализован в модуле 118. Контроллеры USB 126 и 128 выполняют функцию главного для периферийных контроллеров 142(1)-142(2), беспроводной адаптер 148 и устройство внешней памяти 146 (например, флэш-память, внешний CD/DVD привод, съемный носитель и т.д.). Сетевой интерфейс 124 и/или беспроводной адаптер 148 обеспечивают доступ к сети (например, Интернет, домашней сети и т.д.) и могут быть любыми из широкого спектра компонентов проводных или беспроводных адаптеров, включающих карту Ethernet, модем, модуль Bluetooth, кабельный модем и подобные им.The multimedia device 100 includes an input / output controller 120, a system control controller 122, an audio signal processing unit 123, a network interface controller 124, a first USB root controller 126, a second USB controller 128, and a front panel input / output subunit 130, which is mainly implemented in module 118. USB controllers 126 and 128 act as the primary for peripheral controllers 142 (1) -142 (2), a wireless adapter 148 and an external memory device 146 (for example, flash memory, an external CD / DVD drive, removable media, etc.) .d.). Network interface 124 and / or wireless adapter 148 provides access to a network (e.g., the Internet, a home network, etc.) and can be any of a wide range of wired or wireless adapter components including an Ethernet card, modem, Bluetooth module, cable modem and the like.

Системная память 143 представляется для хранения данных приложения, которое загружено во время процесса загрузки. Привод 144 носителя предоставляется и может включать в себя DVD/CD привод, жесткий диск или другой съемный привод носителя и т.д. Привод 144 носителя может быть внутренним или внешним для мультимедийного устройства 100. Указанные приложения могут быть доступны через привод 144 носителя для исполнения, проигрывания и т.д. через мультимедийное устройство 100. Привод 144 носителя соединен с контроллером 120 ввода/вывода через шину, такую как шина Serial ATA или другое высокоскоростное соединение (например, IEEE 1394).System memory 143 is provided for storing application data that is downloaded during the boot process. A media drive 144 is provided and may include a DVD / CD drive, a hard disk, or another removable media drive, etc. The media drive 144 may be internal or external to the multimedia device 100. These applications can be accessed through the media drive 144 for execution, playback, etc. through the multimedia device 100. A media drive 144 is connected to the I / O controller 120 via a bus, such as a Serial ATA bus or other high-speed connection (eg, IEEE 1394).

Контроллер 122 управления системой предоставляет различные сервисные функции, относящиеся к обеспечению доступности мультимедийного устройства 100. Блок обработки звукового сигнала 123 и аудиокодек 132 образуют соответствующий канал обработки аудиоинформации с высококачественной и стереообработкой. Аудиоданные переносятся между блоком обработки звукового сигнала 123 и аудиокодеком 132 через канал связи. Канал обработки аудиоинформации выводит данные в A/V порт 140 для воспроизведения внешним аудиопроигрывателем или устройством, имеющим воспроизведение звука.The system control controller 122 provides various service functions related to making the multimedia device 100 accessible. The audio signal processing unit 123 and the audio codec 132 form a corresponding audio processing channel with high-quality and stereo processing. Audio data is transferred between the audio signal processing unit 123 and the audio codec 132 via a communication channel. The audio processing channel outputs data to the A / V port 140 for playback by an external audio player or device having sound reproduction.

Подблок 130 ввода/вывода передней панели поддерживает функциональность кнопки питания 150 и кнопку выброса 152, а также любые LED (светодиоды) или другие индикаторы, расположенные на внешней поверхности мультимедийного устройства 100. Системный блок питания 136 обеспечивает питанием компоненты мультимедийного устройства 100. Вентилятор 138 охлаждает схему внутри мультимедийного устройства 100.The front panel input / output subunit 130 supports the functionality of the power button 150 and the eject button 152, as well as any LEDs or other indicators located on the outer surface of the multimedia device 100. The system power supply 136 provides power to the components of the multimedia device 100. The fan 138 cools circuitry inside multimedia device 100.

ЦП 101, GPU 108, контроллер памяти 110 и другие различные компоненты внутри мультимедийного устройства 100 соединены через одну или более шин, включая последовательные и параллельные шины, шину памяти, периферийную шину и процессор или локальную шину, используя любую из различных шинных архитектур. В качестве примера такие архитектуры могут включать локальную шину соединения периферийных устройств (PCI), шину PCI-Express и т.д.A CPU 101, a GPU 108, a memory controller 110, and various other components within the multimedia device 100 are connected through one or more buses, including serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus using any of various bus architectures. By way of example, such architectures may include a local peripheral device bus (PCI), a PCI-Express bus, etc.

Когда мультимедийное устройство 100 включено, данные приложения могут быть загружены из системной памяти 143 в память 112 и/или кэши 102, 104 и исполнены в ЦП 101. Приложение может предоставлять графический пользовательский интерфейс, который предоставляет единообразный пользовательский интерфейс при навигации в различных типах сред, имеющихся на мультимедийном устройстве 100. В рабочем состоянии приложения и/или другой носитель, находящийся в приводе 144 носителя, может быть запущен или проигран с привода 144 носителя для предоставления дополнительных возможностей мультимедийному устройству 100.When the multimedia device 100 is turned on, application data can be downloaded from system memory 143 to memory 112 and / or caches 102, 104 and executed by the CPU 101. The application can provide a graphical user interface that provides a consistent user interface for navigation in various types of environments, available on the multimedia device 100. When the application and / or other media located in the media drive 144 is operational, it can be started or played from the media drive 144 to provide additional new features of the multimedia device 100.

Мультимедийное устройство 100 может функционировать как отдельное устройство посредством простого подсоединения системы к телевизору или другому дисплею. В данном автономном режиме мультимедийное устройство 100 позволяет одному или более пользователям взаимодействовать с системой, смотреть кинофильм или слушать музыку. Однако в случае интеграции широкополосного соединения, предоставляемого через прямой сетевой интерфейс 124 или беспроводной адаптер 148, мультимедийное устройство 100, кроме того, может функционировать в качестве участника в крупномасштабном сетевом сообществе.The multimedia device 100 can function as a standalone device by simply connecting the system to a television or other display. In this standalone mode, the multimedia device 100 allows one or more users to interact with the system, watch a movie, or listen to music. However, in the case of integrating the broadband connection provided through the direct network interface 124 or the wireless adapter 148, the multimedia device 100 can also function as a member in a large-scale network community.

Когда мультимедийное устройство 100 включено, установленное количество аппаратных ресурсов резервируется для системы мультимедийного устройства операционной системой. Данные ресурсы могут включать в себя резервирование памяти (например, 16MB), ЦП и циклов GPU (например, 5%), пропускную способность (например, 8 кбит) и т.д. В связи с тем, что указанные ресурсы зарезервированы в процессе загрузки системы, зарезервированные ресурсы не доступны из приложения.When the multimedia device 100 is turned on, a set amount of hardware resources is reserved for the multimedia device system by the operating system. These resources may include memory redundancy (e.g., 16MB), CPU and GPU cycles (e.g., 5%), bandwidth (e.g., 8 kbps), etc. Due to the fact that these resources are reserved during the boot process, the reserved resources are not available from the application.

В частности, резервирование памяти преимущественно является достаточно большим, чтобы содержать загрузочное ядро, параллельные системные приложения и драйверы. Резервирование ЦП преимущественно является постоянным, таким, что если зарезервированное использование ЦП не используется системными приложениями, поток ожидания будет использовать любые неиспользуемые циклы.In particular, memory redundancy is predominantly large enough to contain a boot kernel, parallel system applications, and drivers. CPU redundancy is predominantly permanent, such that if the reserved CPU usage is not used by system applications, the wait thread will use any unused cycles.

Принимая во внимание резервирование GPU, легковесящие сообщения, сгенерированные системными приложениями (например, всплывающие), изображаются GPU, прерывая распределение кода для представления всплывающего окна в оверлее. Объем памяти, требуемый для оверлейного сегмента, зависит от размера зоны оверлея, и оверлей предпочтительно масштабируется в соответствии с разрешением экрана. В тех случаях, когда полный пользовательский интерфейс используется параллельным системным приложением, предпочтительно использовать разрешение, независимое от разрешения приложения. Блок масштабирования может быть использован для установки данного разрешения так, что необходимость изменять частоту и причина на TV ресинхронизации пропадают.Considering GPU redundancy, lightweight messages generated by system applications (such as pop-ups) are displayed by the GPU, interrupting the distribution of code to represent the pop-up window in the overlay. The amount of memory required for the overlay segment depends on the size of the overlay zone, and the overlay is preferably scaled in accordance with the screen resolution. In cases where the full user interface is used by the parallel system application, it is preferable to use a resolution independent of the resolution of the application. The scaling unit can be used to set this resolution so that the need to change the frequency and the reason for TV resynchronization disappears.

После того, как мультимедийное устройство 100 загружается, и системные ресурсы резервируются, параллельные системные приложения выполняются для предоставления функциональных возможностей системы. Функциональные возможности системы заключаются в наборе системных приложений, которые исполняются в зарезервированных системных ресурсах, описанных выше. Ядро операционной системы определяет потоки, которые являются потоками системных приложений, в отличие от потоков игровых приложений. Системные приложения приоритетно распределяются для исполнения в ЦП 101 в заданное время и интервалы в порядке предоставления соответствующего системного ресурса просмотра приложению. Распределение машинного времени требуется для минимизации сбоев кэша для игрового приложения, исполняемого на консоли.After the multimedia device 100 is loaded and system resources are reserved, parallel system applications are executed to provide system functionality. The functionality of the system consists in a set of system applications that are executed in the reserved system resources described above. The kernel of the operating system defines threads that are threads of system applications, in contrast to threads of game applications. System applications are prioritized for execution in the CPU 101 at a specified time and intervals in the order that the corresponding system resource is viewed for the application. Machine time allocation is required to minimize cache failures for a game application running on the console.

Когда параллельное системное приложение запрашивает звук, обработка звука распределяется асинхронно игровому приложению из-за зависимости от фактора времени. Менеджер приложений мультимедийного устройства (описано ниже) управляет уровнем звука игрового приложения (например, отключая, уменьшая), если системные приложения активны. When a parallel system application requests sound, sound processing is allocated asynchronously to the game application due to the time factor. The application manager of the multimedia device (described below) controls the sound level of the game application (for example, turning it off, decreasing it) if system applications are active.

Устройства ввода (например, контроллеры 142(1) и 142(2)) разделяются игровыми приложениями и системными приложениями. Устройства ввода не являются зарезервированными ресурсами, но подлежат переключению между системными приложениями и игровым приложением, так что каждое будет иметь фокус устройства. Менеджер приложений предпочтительно управляет переключением входного потока, не знания сведений игровых приложений, и драйвер сохраняет информацию состояния о переключениях фокуса. Камеры 26, 28 и устройство захвата 20 могут определять дополнительные устройства ввода для консоли 100.Input devices (e.g., controllers 142 (1) and 142 (2)) are shared by gaming applications and system applications. Input devices are not reserved resources, but must be switched between system applications and the game application, so that everyone will have the focus of the device. The application manager preferably controls the switching of the input stream without knowing the details of the gaming applications, and the driver stores the state switching focus information. The cameras 26, 28 and the capture device 20 may determine additional input devices for the console 100.

Фиг.3B иллюстрирует другой вариант осуществления вычислительной среды 220, которая может быть вычислительной средой 12, показанной на фиг.1A-2, используемой для интерпретации одного или более жестов в системе распознавания цели, анализа и слежения. Среда вычислительной системы 220 представляет собой только один вариант подходящей вычислительной среды, и она не направлена на введение каких-либо ограничений как в области использования, так и функциональности настоящего раскрытия объекта изобретения. Также не следует интерпретировать вычислительную среду 220 как имеющую какую-либо зависимость или потребность, касающуюся любого компонента или комбинации компонентов, проиллюстрированных в типичной операционной среде 220. В некоторых вариантах осуществления изобретения различные описанные вычислительные элементы могут включать схему, сконфигурированную для иллюстрации специфических аспектов текущего раскрытия сущности изобретения. Например, термин «схема», используемый в раскрытии сущности изобретения, может включать специализированные аппаратные компоненты, сконфигурированные для выполнения функции (функций) встроенным программным обеспечением или переключателями. В других вариантах осуществления изобретения термин «схема» может включать в себя обрабатывающий блок общего назначения, память и т.д., сконфигурированные программными командами, которые включают в себя работающую логику для выполнения функции (функций). В вариантах осуществления изобретений, в которых схема включает в себя комбинацию аппаратного и программного обеспечения, конструктор может написать исходный код, включающий логику, и исходный код может быть откомпилирован в машинно-исполняемый код, который может быть обработан обрабатывающим блоком общего назначения. Поскольку можно понять, что уровень развития техники достиг точки, где существует небольшое различие между аппаратным решением, программным решением или комбинацией аппаратное решение/программное решение, выбор аппаратного решения по сравнению с программным решением, чтобы выполнить специфические функции, представляет собой проектное решение, конструктора. В частности, специалист в данной области техники может оценить, что программный процесс может быть трансформирован в эквивалентную аппаратную структуру, и аппаратная структура может быть сама трансформирована в эквивалентный программный процесс. Таким образом, выбор аппаратной реализации в сравнении с программной реализацией является одним из проектных решений и остается за конструктором.FIG. 3B illustrates another embodiment of a computing environment 220, which may be the computing environment 12 shown in FIGS. 1A-2 used to interpret one or more gestures in a target recognition, analysis, and tracking system. The environment of computing system 220 is only one embodiment of a suitable computing environment, and it is not intended to introduce any restrictions both in the field of use and functionality of the present disclosure of the subject invention. Also, computing environment 220 should not be interpreted as having any dependency or need regarding any component or combination of components illustrated in typical operating environment 220. In some embodiments of the invention, the various computing elements described may include a circuit configured to illustrate specific aspects of the current disclosure. SUMMARY OF THE INVENTION For example, the term “circuitry” used in the disclosure of the invention may include specialized hardware components configured to perform the function (s) by firmware or switches. In other embodiments of the invention, the term “circuit” may include a general-purpose processing unit, memory, etc., configured by program instructions that include working logic to perform functions (functions). In embodiments of the invention in which the circuit includes a combination of hardware and software, the designer can write source code including logic, and the source code can be compiled into machine-executable code that can be processed by a general-purpose processing unit. Since it is possible to understand that the level of technological development has reached a point where there is a slight difference between a hardware solution, a software solution or a combination of a hardware solution / software solution, the choice of a hardware solution compared to a software solution to perform specific functions is a design decision, a designer. In particular, one skilled in the art can appreciate that a software process can be transformed into an equivalent hardware structure, and a hardware structure can itself be transformed into an equivalent software process. Thus, the choice of hardware implementation in comparison with software implementation is one of the design solutions and remains with the designer.

На фиг.3B вычислительная среда 220 включает в себя компьютер 241, который обычно включает в себя целый ряд машиночитаемых носителей информации. Машиночитаемый носитель информации может быть любым доступным носителем, который может быть доступен посредством компьютера 241 и включает в себя изменяемый и неизменяемый носитель, съемный и несъемный носитель. Системная память 222 включает в себя компьютерное запоминающее устройство в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) 223 и оперативное запоминающее устройство (RAM) 260. Базовая система ввода/вывода 224 (BIOS), содержащая в себе базовые программы, которые помогают передавать информацию между элементами внутри компьютера 241, например, во время запуска, обычно сохраняется в ROM 223. RAM 260 обычно содержит данные и/или программные модули, которые моментально становятся доступны и/или немедленно будут исполняться блоком обработки данных 259. В качестве примера и без ограничения, фиг.3B иллюстрирует операционную систему 225, прикладные программы 226, другие программные модули 227 и данные 228 программы.3B, computing environment 220 includes a computer 241, which typically includes a number of computer-readable media. A computer-readable storage medium may be any available medium that can be accessed by computer 241 and includes a variable and non-changing medium, removable and non-removable medium. System memory 222 includes computer memory in the form of volatile and / or non-volatile memory, such as read-only memory (ROM) 223 and random access memory (RAM) 260. Basic input / output system 224 (BIOS), which contains basic programs that help transfer information between elements within the computer 241, for example, during startup, are usually stored in ROM 223. RAM 260 usually contains data and / or program modules that instantly become available and / or immediately b can be executed by a data processing unit 259. As an example and without limitation, FIG. 3B illustrates an operating system 225, application programs 226, other program modules 227, and program data 228.

Компьютер 241 также может включать в себя другое съемное/несъемное, энергозависимое/энергонезависимое компьютерное запоминающее устройство. Только в качестве примера фиг.3B иллюстрирует жесткий диск 238, который считывает с или записывает на несъемный, энергонезависимый магнитный носитель, накопитель на магнитных дисках 239, который считывает с или записывает на съемный, энергонезависимый магнитный диск 254, и накопитель на оптических дисках 240, который считывает с или записывает на съемный энергонезависимый оптический диск 253, такой как CD-ROM, или другой оптический носитель. Другое съемное/несъемное, энергозависимое/энергонезависимое компьютерное запоминающее устройство, которое может быть использовано в типичной операционной среде, включающей в себя, но без ограничений, кассеты с магнитной лентой, карты флэш-памяти, универсальные цифровые диски, цифровые видеоленты, твердотельную RAM, твердотельную ROM и подобное им. Жесткий диск 238 обычно подключен к системной шине 221 через интерфейс несъемной памяти, такой как интерфейс 234, и накопитель на магнитных дисках 239 и накопитель на оптических дисках 240 обычно подключены к системной шине 221 интерфейсом съемной памяти, таким как интерфейс 235.Computer 241 may also include other removable / non-removable, volatile / non-volatile computer storage device. Only by way of example, FIG. 3B illustrates a hard disk 238 that reads from or writes to a non-removable, non-volatile magnetic medium, a magnetic disk drive 239 that reads from or writes to a removable, non-volatile magnetic disk 254, and an optical disk 240, which reads from or writes to a removable non-volatile optical disk 253, such as a CD-ROM, or other optical medium. Another removable / non-removable, volatile / non-volatile computer storage device that can be used in a typical operating environment, including but not limited to magnetic tape tapes, flash memory cards, universal digital disks, digital video tapes, solid state RAM, solid state ROM and the like. The hard disk 238 is usually connected to the system bus 221 via a non-removable memory interface such as interface 234, and the magnetic disk drive 239 and the optical disk drive 240 are usually connected to the system bus 221 by a removable memory interface such as interface 235.

Приводы и их ассоциированное компьютерное запоминающее устройство, обсуждаемые выше и проиллюстрированные на фиг.3B, обеспечивают хранение читаемых компьютером команд, структур данных, программных модулей и других данных для компьютера 241. На фиг.3B, например, жесткий диск 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 периферийных устройств вывода.The drives and their associated computer storage device, discussed above and illustrated in FIG. 3B, provide storage of computer-readable instructions, data structures, program modules and other data for computer 241. In FIG. 3B, for example, hard disk 238 is illustrated as an operating system storage 258, application program 257, other program modules 256, and program data 255. It should be noted that these components may either be the same as or may differ from operating system 225, application program programs 226, other program modules 227, and program data 228. Operating system 258, application program 257, other program modules 256, and program data 255 are given different numbers here to illustrate that they are at least different copies. The user can enter commands and information into the computer 241 through input devices, such as a keyboard 251 and a pointing device 252, usually called a mouse, trackball or touchpad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the data processing unit 259 via a user input interface 236 that interfaces with the system bus, but can be connected using another interface and bus structures such as a parallel port, game port, or universal serial bus (USB) . Cameras 26, 28 and the capture device 20 may determine additional input devices for the console 100. A monitor 242 or other type of display device is also connected to the system bus 221 via an interface such as a video interface 232. In addition to the monitor, computers may also include other peripheral output devices, such as speakers 244 and a printer 243, which can be connected through an interface 233 of peripheral output devices.

Компьютер 241 может функционировать в сетевой среде, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 246. Удаленный компьютер 246 может быть персональным компьютером, сервером, роутером, сетевым ПК, устройством узла одноранговой сети или другим обычным сетевым узлом и обычно включает в себя многие или все элементы, описанные выше, относящиеся к компьютеру 241, хотя только запоминающее устройство 247 проиллюстрировано на фиг.3B. Логические соединения, изображенные на фиг.3B, включают в себя локальную вычислительную сеть (LAN) 245 и глобальную вычислительную сеть (WAN) 249, но также могут включать в себя другие сети. Такие сетевые среды являются обычными в офисах, компьютерных сетях масштаба предприятия, интранетах и Интернет.Computer 241 may operate in a network environment using logical connections with one or more remote computers, such as remote computer 246. Remote computer 246 may be a personal computer, server, router, network PC, device of a peer-to-peer network, or other conventional network node, and typically includes many or all of the elements described above related to computer 241, although only storage device 247 is illustrated in FIG. 3B. The logical connections depicted in FIG. 3B include a local area network (LAN) 245 and a wide area network (WAN) 249, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.

При использовании в сетевой среде LAN компьютер 241 подключается к LAN 245 через сетевой интерфейс или адаптер 237. При использовании в сетевой среде WAN компьютер 241 обычно включает в себя модем 250 или другое предназначенное для организации связи поверх WAN 249, такой как Интернет. Модем 250, который может быть внутренним или внешним, может быть подключен к системной шине 221 через интерфейс 236 пользовательского ввода или другой подходящий механизм. В сетевой среде программные модули, изображенные связанными с компьютером 241 или с его частями, могут быть сохранены в удаленном запоминающем устройстве. В качестве неограничивающего примера фиг.3B иллюстрирует удаленную прикладную программу 248, как постоянно хранящууся в устройстве памяти 247. Следует понимать, что показанные сетевые соединения являются типичными и могут быть использованы другие пути достижения коммуникационного соединения между компьютерами.When used in a LAN network environment, computer 241 connects to LAN 245 through a network interface or adapter 237. When used in a WAN network environment, computer 241 typically includes a modem 250 or other designed to communicate over WAN 249, such as the Internet. The modem 250, which may be internal or external, may be connected to the system bus 221 via a user input interface 236 or other suitable mechanism. In a networked environment, program modules depicted associated with a computer 241 or parts thereof may be stored in a remote storage device. As a non-limiting example, FIG. 3B illustrates a remote application program 248 as being permanently stored in a memory device 247. It should be understood that the network connections shown are typical and other ways of achieving a communication connection between computers can be used.

Фиг.4A изображает примерное скелетное отображение пользователя, которое может быть создано благодаря устройству захвата 20. В данном варианте осуществления изобретения идентифицированы различные сочленения и кости: каждая рука 302, каждое предплечие 304, каждый локоть 306, каждый бицепс 308, каждое плечо 310, каждый бедренный сустав 312, каждое бедро 314, каждое колено 316, каждая голень 318, каждая стопа 320, голова 322, торс 324, верх 326 и низ 328 позвоночного столба и талия 330. В случае если большая часть точек отслеживается, могут быть идентифицированы дополнительные параметры, такие как кости и сочленения пальцев или пальцы ноги или индивидуальные параметры лица, такие как нос и глаза.Fig. 4A depicts an exemplary skeletal image of a user that can be created by the gripper 20. In this embodiment, various joints and bones are identified: each arm 302, each forearm 304, each elbow 306, each biceps 308, each shoulder 310, each hip joint 312, each hip 314, each knee 316, each lower leg 318, each foot 320, head 322, torso 324, upper 326 and lower part 328 of the spinal column and waist 330. In case most of the points are tracked, additional body parameters, such as bones and joints of the fingers or toes, or individual face parameters, such as nose and eyes.

Путем перемещения в пространстве своего тела пользователь может создавать жесты. Жест включает в себя движение или позу пользователя, которая может быть захвачена в качестве данных изображения и интерпретирована по содержанию. Жест может быть динамическим, содержащим движение, такое как имитация бросания мяча. Жест может быть статической позой, такой как удерживание пользователем скрещенных предплечий 304 перед своим торсом 324. Жест также может включать в себя использование предметов реквизита, например взмах воображаемым мечом. Жест может включать в себя более одной части тела, такой как хлопанье в ладоши 302, непрерывное или еле заметное движение, такое как поджатие губ.By moving in the space of his body, the user can create gestures. The gesture includes the movement or pose of the user, which can be captured as image data and interpreted in terms of content. The gesture may be dynamic, containing movement, such as simulating a ball toss. The gesture may be a static pose, such as holding the crossed forearm 304 by the user in front of his torso 324. The gesture may also include the use of props, such as swinging with an imaginary sword. The gesture may include more than one part of the body, such as clapping hands 302, continuous or barely noticeable movement, such as pursing the lips.

Жесты могут быть использованы для ввода общего вычислительного контекста. Например, различные движения рук 302 или других частей тела могут соответствовать общим задачам всей системы, таким как навигация вверх или вниз в иерархически устроенном списке, открытие файла, закрытие файла и сохранение файла. Жесты также могут быть использованы в специфичном контексте видеоигры, в зависимости от игры. Например, в случае игры с вождением различные движения рук 302 и ступней 320 могут соответствовать управлению рулем автомобиля по направлению, переключению передач, ускорению и торможению.Gestures can be used to enter a general computational context. For example, various movements of the hands 302 or other parts of the body may correspond to the general tasks of the entire system, such as navigating up or down in a hierarchically arranged list, opening a file, closing a file, and saving the file. Gestures can also be used in the specific context of a video game, depending on the game. For example, in the case of a driving game, various movements of the hands 302 and feet 320 may correspond to steering the car in direction, shifting gears, accelerating and braking.

Пользователь может сформировать жест, который соответствует ходьбе или бегу, путем ходьбы или бега на месте. Пользователь может поочередно поднимать и опускать каждую ногу 312-320 для подражания ходьбе без движения. Система может интерпретировать данный жест путем анализа каждого бедренного сустава 312 и каждого бедра 314. Шаг может быть распознан, когда один угол тазобедренного сустава (который измерен относительно вертикальной линии, где стоящая нога имеет угол тазобедренного сустава 0° и вытянутая горизонтально вперед нога имеет угол тазобедренного сустава 90°) превышает определенную пороговую величину относительно другого бедра. Ходьба или бег могут быть распознаны после некоторого количества последовательных стадий перемещения ног. Время между двумя последними шагами может считаться периодом. После некоторого количества периодов, где данное пороговое значение угла не встретилось, система может определить, что жест ходьбы или бега прекращен.The user can form a gesture that corresponds to walking or running, by walking or running in place. The user can alternately raise and lower each leg 312-320 to emulate walking without movement. The system can interpret this gesture by analyzing each hip joint 312 and each hip 314. A step can be recognized when one corner of the hip joint (which is measured relative to a vertical line where the standing leg has a hip angle of 0 ° and the leg stretched horizontally forward has a hip angle joint 90 °) exceeds a certain threshold value relative to the other hip. Walking or running can be recognized after a number of successive stages of leg movement. The time between the last two steps can be considered a period. After a certain number of periods where the threshold angle value has not been met, the system can determine that the walking or running gesture has stopped.

При наличии жеста "ходьбы или бега" приложение может установить значения для параметров, ассоциированных с указанным жестом. Указанные параметры могут включать упомянутое пороговое значение угла, количество шагов, требуемых для инициализации жеста ходьбы или бега, количество периодов, где не оказалось ни одного шага до конца жеста, и пороговый период, который определяет, был ли это жест ходьбы или бега. Быстрый период может соответствовать бегу в тот момент, когда пользователь будет перемещать свои ноги быстро, и медленный период может соответствовать ходьбе.If there is a “walk or run” gesture, the application can set values for the parameters associated with the specified gesture. These parameters may include the threshold angle value, the number of steps required to initialize the walking or running gesture, the number of periods where there were no steps to the end of the gesture, and the threshold period that determines whether it was a walking or running gesture. A fast period may correspond to running at a time when the user will move his legs quickly, and a slow period may correspond to walking.

Жест может быть ассоциирован с набором параметров по умолчанию изначально, которые приложение может переустановить вместе со своими собственными параметрами. В таком сценарии приложение не инициирует предоставление параметров, но может вместо этого использовать набор параметров по умолчанию, которые позволяют жесту быть распознанным в отсутствие у приложения заданных параметров.A gesture can be associated with a set of default parameters initially, which the application can reinstall along with its own parameters. In such a scenario, the application does not initiate the provision of parameters, but can instead use a set of default parameters that allow the gesture to be recognized if the application does not have the specified parameters.

Существует ряд выходных данных, которые могут быть ассоциированы с жестом. Может быть исходный уровень "да или нет" в отношении того, осуществляется ли жест. Также может быть уровень достоверности, который соответствует вероятности того, что отслеженное движение пользователя соответствует жесту. Это должна быть линейная шкала, которая пробегает значения чисел от 0 до 1 включительно. Там, где приложение, принимающее данную информацию жеста, не может принять ошибочные срабатывания в качестве ввода, оно может использовать только те распознанные жесты, которые имеют высокий уровень достоверности, такой как, по меньшей мере, .95. Если приложение должно распознать каждый экземпляр жеста, уже при счете ошибочных срабатываний, оно может использовать жесты, которые имеют, по меньшей мере, намного меньший уровень достоверности, такие как жесты с уровнем достоверности просто выше чем .2. Жест может иметь вывод данных для времени между двумя последними шагами, и в тех случаях, когда зарегистрирован только первый шаг, это может быть установлено в зарезервированное значение, такое как -1 (поскольку время между двумя шагами должно быть положительным). Жест также может иметь вывод данных для наибольшего угла бедра, достигнутого в течение самого последнего шага.There is a series of output that may be associated with a gesture. There may be a yes or no baseline regarding whether the gesture is being implemented. There may also be a level of confidence that corresponds to the likelihood that the user's tracking is consistent with the gesture. It should be a linear scale that runs through the values of numbers from 0 to 1 inclusive. Where an application receiving this gesture information cannot accept false positives as input, it can only use recognized gestures that have a high level of certainty, such as at least .95. If an application needs to recognize every instance of a gesture, even when counting false positives, it can use gestures that have at least a much lower level of confidence, such as gestures with a level of confidence just higher than .2. The gesture can have data output for the time between the last two steps, and in cases where only the first step is registered, this can be set to a reserved value, such as -1 (since the time between the two steps must be positive). The gesture may also have data output for the largest hip angle achieved during the very last step.

Другим типичным жестом является "прыжок с поднятием пяток". В данном случае пользователь может произвести жест, отрывая свои пятки от земли, но оставляя пальцы ног на месте. В качестве альтернативы, пользователь может прыгнуть вверх, где его ступни 320 полностью отрываются от земли. Система может интерпретировать скелет для данного жеста путем анализа отношения угла плеч 310, бедренных суставов 312 и коленей 316 для просмотра, находятся ли они в позиции расположения, соответствующей выпрямленному положению. Затем данные точки и верхняя 326 и нижняя 328 точки позвоночного столба могут быть проконтролированы на предмет любого ускорения вверх. Обоснованная комбинация ускорения может активировать жест прыжка.Another typical gesture is a “heel lift jump”. In this case, the user can make a gesture, lifting his heels off the ground, but leaving his toes in place. Alternatively, the user can jump up, where his feet 320 are completely off the ground. The system can interpret the skeleton for a given gesture by analyzing the ratio of the angle of the shoulders 310, the hip joints 312 and the knees 316 to see if they are in a position corresponding to a straightened position. Then these points and the upper 326 and lower 328 points of the spinal column can be monitored for any acceleration up. A reasonable combination of acceleration can activate a jump gesture.

При наличии указанного жеста "прыжок с поднятием пяток" приложение может установить значения для параметров, ассоциированных с данным жестом. Параметры могут включать упоминаемое ранее пороговое значение ускорения, которое определяет, как быстро некоторая комбинация плеч пользователя 310, бедренных суставов 312 и коленей 316 должна переместиться вверх, для активации жеста, а также максимальный угол выравнивания между плечами 310, бедренными суставами 312 и коленями 316, при котором прыжок все еще может быть активирован.If you have the specified “jump with heels up” gesture, the application can set values for the parameters associated with this gesture. The parameters may include the previously mentioned acceleration threshold value, which determines how quickly a combination of the shoulders of the user 310, the hip joints 312 and the knees 316 must move up to activate the gesture, as well as the maximum alignment angle between the shoulders 310, the hip joints 312 and the knees 316, in which the jump can still be activated.

Выводы данных могут включать в себя уровень достоверности, а также угол тела пользователя в момент прыжка.The findings may include a level of confidence, as well as the angle of the user's body at the time of the jump.

Установка параметров для жеста, основанная на деталях приложения, которые будут принимать жест, является важным для точности идентификации жестов. Должным образом идентифицируемые жесты и намерения пользователя очень помогают в создании положительного опыта пользователя. Если процессор распознавания жестов слишком чувствителен, и даже небольшое движение руки вперед 302 интерпретируется как бросок, пользователь может быть разочарован, потому что жесты распознаются, когда он не намеревался сделать жест, и, таким образом, он не имеет контроля над системой. Если процессор распознавания жестов не является достаточно чувствительным, система может не распознавать возникающих попыток пользователя сделать жест подбрасывания, разочаровывая его аналогичным образом. В любом конце спектра чувствительности пользователь разочаровывается, потому что он не может правильно предоставить входные данные для системы.Setting parameters for the gesture, based on the details of the application that will receive the gesture, is important for the accuracy of gesture identification. Properly identifiable gestures and intentions of the user are very helpful in creating a positive user experience. If the gesture recognition processor is too sensitive, and even a slight movement of the hand forward 302 is interpreted as a throw, the user may be disappointed because the gestures are recognized when he did not intend to make a gesture, and thus he does not have control over the system. If the gesture recognition processor is not sensitive enough, the system may not recognize the user's attempts to make a throw-up gesture, disappointing him in a similar way. At any end of the sensitivity spectrum, the user is disappointed because he cannot properly provide input to the system.

Другой параметр для жеста может быть дистанцией перемещения. В случае когда пользовательские жесты управляют действиями аватара в виртуальной среде, аватар может быть на расстоянии вытянутой руки от мяча. Если пользователь желает взаимодействовать с мячом и захватить его, от пользователя может потребоваться вытянуть свою руку 302-310 на полную длину во время выполнения жеста захвата. В такой ситуации подобный захватывающий жест в случаях, когда пользователь только частично вытягивает свою руку 302-310, может не достичь результата взаимодействия с мячом.Another parameter for the gesture may be the distance of movement. In the case when user gestures control the actions of an avatar in a virtual environment, the avatar can be at arm's length from the ball. If the user wishes to interact with the ball and grab it, the user may be required to extend his arm 302-310 to the full length while performing the grab gesture. In such a situation, such an exciting gesture in cases where the user only partially extends his arm 302-310 may not achieve the result of interacting with the ball.

Жест или его часть могут иметь в качестве параметра объем пространства, в котором он должен произойти. Данный объем пространства обычно может быть выражен в связи с телом, в случаях когда жест содержит в себе движение тела. Например, жест броска в футболе для праворукого пользователя может быть распознан только в объеме пространства не ниже, чем правое плечо 310a, и на той же стороне головы 322, что и кидающая рука 302a-310a. Может являться необязательным определение всех границ объема, например, в случае с указанным бросающим жестом, где внешняя граница вдали от тела остается неопределенной, и объем неопределенно расширяется или к углу сцены, что контролируется.A gesture or part of it can have as a parameter the amount of space in which it should occur. This volume of space can usually be expressed in connection with the body, in cases where the gesture contains the movement of the body. For example, a football throw gesture for a right-handed user can only be recognized in a space no lower than the right shoulder 310a, and on the same side of head 322 as the throwing hand 302a-310a. It may not be necessary to define all boundaries of the volume, for example, in the case of the indicated throwing gesture, where the external boundary far from the body remains indefinite, and the volume indefinitely expands to the corner of the scene, which is controlled.

Фиг.4B предоставляет дополнительные детали одного типичного варианта осуществления механизма 190 распознавания жестов фиг.2. Как показано, механизм 190 распознавания жестов может включать в себя не менее одного фильтра 418 для определения жеста или жестов. Фильтр 418 включает в себя информацию, определяющую жест 426 (в дальнейшем называемый как "жест") в соответствии с параметрами 428 или метаданными, для указанного жеста. Например, бросок, который включает в себя движение одной из рук из положения за телом в положение перед телом, может быть реализован как жест 426, включая информацию, представляющую движение одной из рук пользователя из положения за телом в положение перед телом, учитывая, что указанное движение было бы захвачено камерой глубины. Параметры 428 затем могут быть установлены для указанного жеста 426. В случае если жест 426 является броском, параметр 428 может быть пороговым значением скорости, которой рука может достичь, дистанции, которую рука должна пройти (или абсолютную, или относительную к размеру пользователя в целом), и оценкой достоверности, определяемой механизмом распознавания, что жест произошел. Указанные параметры 428 для жеста 426 могут отличаться в разных приложениях, разных контекстах отдельного приложения или в пределах одного контекста одного приложения с течением времени.FIG. 4B provides additional details of one typical embodiment of the gesture recognition mechanism 190 of FIG. 2. As shown, the gesture recognition mechanism 190 may include at least one filter 418 for determining a gesture or gestures. Filter 418 includes information defining a gesture 426 (hereinafter referred to as “gesture”) in accordance with parameters 428 or metadata for the specified gesture. For example, a throw, which includes the movement of one of the hands from position behind the body to the position in front of the body, can be implemented as a gesture 426, including information representing the movement of one of the hands of the user from position behind the body to the position in front of the body, given that motion would be captured by a depth camera. Parameters 428 can then be set for the specified gesture 426. In case the gesture 426 is a throw, parameter 428 can be a threshold value of the speed that the hand can reach, the distance the hand must go (either absolute or relative to the size of the user as a whole) , and a confidence assessment determined by the recognition mechanism that the gesture has occurred. The indicated parameters 428 for gesture 426 may differ in different applications, in different contexts of an individual application, or within the same context of one application over time.

Фильтры могут быть модульными или чередующимися. В варианте осуществления изобретения фильтр имеет некоторое количество входов, каждый из указанных входов имеет тип и некоторое количество выходов, каждый из указанных выходов имеет тип. В данной ситуации первый фильтр может быть заменен вторым фильтром, который имеет такой же номер и типы входов и выходов, как первый фильтр без изменения любого другого аспекта архитектуры механизма распознавания. Например, может быть первый фильтр для вождения, который принимает, как входные, скелетные данные и выводит достоверность, что жест, ассоциированный с фильтром, имеет место, и выводит угол поворота руля. Если кто-либо хочет заменить указанный первый фильтр вождения на второй фильтр вождения, возможно потому, что второй фильтр вождения более эффективный и требует меньше ресурсов для обработки - кто-либо может с этой целью просто заменить первый фильтр вторым фильтром при условии, что второй фильтр имеет те же самые входы и выходы - один ввод типа скелетных данных и два вывода типа достоверности и тип угла.Filters can be modular or interleaved. In an embodiment of the invention, the filter has a number of inputs, each of these inputs has a type and a number of outputs, each of these outputs has a type. In this situation, the first filter can be replaced by a second filter, which has the same number and types of inputs and outputs as the first filter without changing any other aspect of the recognition engine architecture. For example, there may be a first filter for driving, which receives, as input, skeletal data and displays the certainty that the gesture associated with the filter takes place and displays the steering angle. If someone wants to replace the specified first filter for driving with a second filter for driving, possibly because the second filter is more efficient and requires less processing resources - someone can simply replace the first filter with a second filter for this purpose, provided that the second filter has the same inputs and outputs - one input of the skeletal data type and two outputs of the type of reliability and type of angle.

Фильтру не обязательно нужен параметр. Например, фильтр "рост пользователя", который возвращает рост пользователя, может не предусматривать какие-либо параметры, которые могут быть настроены. Альтернативный фильтр "рост пользователя" может иметь настраиваемые параметры - например, принимать ли во внимание пользовательскую обувь, прическу, головной убор и положение при определении роста пользователя.A filter does not need a parameter. For example, the user growth filter, which returns the user's growth, may not include any parameters that can be configured. An alternative filter “user height” can have customizable parameters - for example, whether to take into account user shoes, hair, headgear and position when determining the height of the user.

Входы в фильтр могут включать в себя элементы, такие как данные о положении суставов пользователя, такие как углы, образуемые костями, которые соединены в суставах, данные о цвете RGB из сцены, и скорость изменения аспекта пользователя. Выходы из фильтра могут включать в себя элементы, такие как достоверность, того, что указанный жест выполняется, скорость, с которой выполнено движение жеста, и время, за которое выполнено движение жеста.Inputs to the filter may include elements such as positional data of the user's joints, such as angles formed by bones that are connected to the joints, RGB color data from the scene, and the rate of change of the aspect of the user. The exits from the filter may include elements, such as the certainty that the specified gesture is being executed, the speed at which the gesture is moving, and the time it takes for the gesture to complete.

Контекст может быть культурным контекстом, и он может быть контекстом окружающей среды. Культурный контекст относится к культуре пользователя, использующего систему. Различные культуры могут использовать похожие жесты для задания определенно различных значений. Например, американский пользователь, который желает сказать другому пользователю "смотри" или "используй свои глаза", может поднести свой указательный палец к своей голове, к внешнему углу глаза. Однако для итальянского пользователя данный жест может быть интерпретирован как ссылка на мафию.A context can be a cultural context, and it can be an environmental context. Cultural context refers to the culture of the user using the system. Different cultures can use similar gestures to set definitely different meanings. For example, an American user who wants to tell another user “look” or “use your eyes” can bring his index finger to his head, to the outer corner of the eye. However, for the Italian user, this gesture can be interpreted as a reference to the mafia.

Подобным образом могут быть различные контексты среди различных сред одного приложения. Возьмем игру-стрелялку от первого лица, которая включает управление автомобилем. Когда пользователь стоит на ногах, складывая пальцы в кулак в направлении земли и протягивая кулак вперед и на некоторое расстояние от тела, он может представлять жест удара. Когда пользователь находится в контексте управления автомобилем, то же движение может представлять жест "переключения передачи". Также может быть одно или более меню сред, где пользователь может сохранить свою игру, выбрать из оснащения своего персонажа или выполнить сходные действия, которые не составляют непосредственный игровой процесс. В такой среде указанный один и тот же жест может иметь третье значение, например, выбрать что-либо или переместиться к другому экрану.Similarly, there may be different contexts among different environments of one application. Take a first-person shooter game that involves driving a car. When the user is standing on his feet, folding his fingers into a fist in the direction of the earth and holding his fist forward and at a certain distance from the body, he can represent a gesture of impact. When the user is in the context of driving, the same movement may represent a “gear shift” gesture. There can also be one or more menus of environments where the user can save his game, choose from the equipment of his character or perform similar actions that do not constitute a direct gameplay. In such an environment, the indicated one and the same gesture may have a third meaning, for example, select something or move to another screen.

Механизм 190 распознавания жестов может иметь базовый механизм 416 распознавания, который обеспечивает функциональность фильтра жеста 418. В варианте осуществления изобретения функциональность, которую механизм 416 распознавания реализует, включает в себя архив ввода с течением времени, который отслеживает распознанные жесты и другой ввод, реализацию скрытой марковской модели (где моделированная система, как предполагается, является марковским процессом - процессом, где текущее состояние инкапсулирует какую-либо информацию о прошлом состоянии, которая необходима для определения будущего состояния, вот почему другая информации о прошлом состоянии не должна сохраняться для данной цели - с неизвестными параметрами, и скрытые параметры определяются из наблюдаемых данных), а также другую функциональность, требуемую для решения конкретных реализаций распознавания жеста.Gesture recognition mechanism 190 may have a basic recognition mechanism 416 that provides the functionality of gesture filter 418. In an embodiment of the invention, the functionality that recognition mechanism 416 implements includes an input archive over time that tracks recognized gestures and other input, an implementation of hidden Markov models (where the simulated system is supposed to be a Markov process - a process where the current state encapsulates any information about the past state yanii, which is necessary to determine the future status, which is why other state information about the past should not be stored for this purpose - with unknown parameters, and hidden parameters are determined from observed data), as well as other functionality required to address specific implementations of gesture recognition.

Фильтры 418 загружаются и реализуются поверх базового механизма 416 распознавания и могут использовать сервисы, предоставляемые механизмом 416, для всех фильтров 418. В варианте осуществления изобретения базовый механизм 416 распознавания обрабатывает принятые данные для определения, соответствуют ли они требованиям какого-либо фильтра 418. С момента предоставления этих сервисов, например, анализа входных данных, они предоставляются базовым механизмом 416 распознавания за один раз, а не обрабатываются каждым фильтром 418, такой сервис нужно обрабатывать только один раз за период времени, в отличие от одной обработки каждого фильтра 418 за период времени, поэтому обработка, требуемая для определения жестов, уменьшается.Filters 418 are loaded and implemented on top of the base recognition engine 416 and can use the services provided by the mechanism 416 for all filters 418. In an embodiment of the invention, the base recognition engine 416 processes the received data to determine if it meets the requirements of any filter 418. From the moment providing these services, for example, analysis of input data, they are provided by the basic recognition engine 416 at a time, and are not processed by each filter 418, such a service needs to be processed atyvat only once per period, in contrast to one processing of each filter 418 over time, so the processing required to determine the sign decreases.

Приложение может использовать фильтры 418, предоставленные механизмом 190 распознавания, или оно может предоставить свой собственный фильтр 418, который встраивается в базовый механизм 416 распознавания. В варианте осуществления изобретения все фильтры 418 имеют общий интерфейс, чтобы предоставить указанную характеристику плагинов. Дополнительно, все фильтры 418 могут использовать параметры 428, вот почему инструмент одиночного жеста, как описано ниже, может быть использован для отладки и настройки всей системы фильтров 418.An application may use filters 418 provided by the recognition engine 190, or it may provide its own filter 418 that is integrated into the underlying recognition engine 416. In an embodiment of the invention, all filters 418 have a common interface to provide said plug-in characteristic. Additionally, all filters 418 can use parameters 428, which is why a single gesture tool, as described below, can be used to debug and configure the entire filter system 418.

Указанные параметры 428 могут быть настроены для приложения или для контекста приложения инструментом жеста 420. В варианте осуществления изобретения инструмент жеста 420 включает в себя множество ползунков 422, каждый ползунок 422 соответствует параметру 428, а также наглядному представлению тела 424. Поскольку параметр 428 настраивается с помощью соответствующего ползунка 422, тело 424 может демонстрировать действия, которые будут распознаваться в качестве жеста с данными параметрами 428, и действия, которые будут распознаваться в качестве жеста с указанными параметрами 428, идентифицированными в таком качестве. Указанная визуализация параметров 428 жестов предоставляет эффективный способ для отладки и для тонкой настройки жеста.The indicated parameters 428 can be configured for the application or for the application context by the gesture tool 420. In an embodiment of the invention, the gesture tool 420 includes a plurality of sliders 422, each slide 422 corresponds to a parameter 428, as well as a visual representation of the body 424. Since the parameter 428 is configured with of the corresponding slider 422, the body 424 can demonstrate actions that will be recognized as a gesture with these parameters 428, and actions that will be recognized as a gesture with indicated parameters 428 identified as such. Said visualization of gesture parameters 428 provides an effective way to debug and fine-tune the gesture.

Фиг.5 изображает более сложные жесты или фильтры 418, созданные из расположенных в стеке жестов или фильтров 418. Жесты могут располагаться в стеке друг за другом. То есть более чем один жест может быть изображен пользователем за один раз. Например, вместо отказа во вводе любой информации, кроме броска при выполнении жеста бросания или требования, чтобы пользователь сохранял неподвижность, за исключением компонентов жеста (например, стоять неподвижно при выполнении жеста бросания, в котором участвует только одна рука). Там, где стек жестов, пользователь может сделать жест прыжка и жест броска одновременно, и оба этих жеста будут распознаваться механизмом жестов.5 depicts more complex gestures or filters 418 created from stacked gestures or filters 418. Gestures can be stacked one after another. That is, more than one gesture can be depicted by the user at a time. For example, instead of refusing to enter any information other than a throw when performing a throwing gesture or requiring the user to remain motionless, with the exception of the components of the gesture (for example, to stand motionless when performing a throwing gesture in which only one hand is involved). Where there is a stack of gestures, the user can make a jump gesture and a throw gesture at the same time, and both of these gestures will be recognized by the gesture mechanism.

Фиг.5A изображает простой фильтр жеста 418 согласно стековой парадигме. Фильтр IFilter 502 является базовым фильтром 418, который может быть использован в каждом фильтре жеста. IFilter 502 принимает данные о положении пользователя 504 и выводит уровень достоверности 506, что жест имел место. Он также загружает эти данные о положении 504 в фильтр 508 рулевого колеса, который принимает их в качестве входных данных и выводит угол, на который пользователь повернул руль (например, 40 градусов направо от текущего направления пользователя) 510.5A depicts a simple gesture filter 418 according to the stack paradigm. The IFilter 502 filter is a basic filter 418 that can be used in every gesture filter. IFilter 502 receives the position data of user 504 and outputs a confidence level 506 that the gesture has occurred. It also downloads this position information 504 to the steering wheel filter 508, which takes it as input and displays the angle the user turned the steering wheel (for example, 40 degrees to the right of the user's current direction) 510.

Фиг.5B изображает более сложный жест, который располагает в стек фильтры 418 на фильтре жеста фиг.5A. В дополнение к IFilter 502 и рулевому колесу автомобиля 508 имеется фильтр ITracking 512, который принимает данные о положении 504 от IFilter 502 и выводит степень выполнения жеста, сделанного пользователем 514. ITracking 512 также загружает данные о положении 504 в GreaseLightning 516 и EBrake 518, которые являются фильтрами 418, считывающими другие жесты, которые могут быть сделаны при управлении автомобилем, например, использование ручного тормоза.FIG. 5B depicts a more complex gesture that stacks filters 418 on the gesture filter of FIG. 5A. In addition to the IFilter 502 and the steering wheel of the car 508, there is an ITracking 512 filter that receives position data 504 from the IFilter 502 and displays the degree of completion of a gesture made by the user 514. ITracking 512 also downloads position data 504 in the GreaseLightning 516 and EBrake 518, which are filters 418 that read other gestures that can be made while driving, such as using a hand brake.

Фиг.6 изображает пример жеста, которым пользователь 602 может подать сигнал "честного захвата" в видеоигре в американский футбол. Указанные фигуры изображают пользователя в точках по времени, причем фиг.6A является первой точкой по времени и фиг.6E является последней точкой по времени. Каждая из указанных фигур может соответствовать снимку или кадру изображения, захваченному камерой глубины 402, даже необязательно последовательным кадрам данных изображения, поскольку камера глубины 402 может быть в состоянии захватить кадры с большей частотой, чем пользователь может пройти дистанцию. Например, указанный жест может произойти за период 3 секунды, и в случае, если камера глубины захватывает данные на скорости 40 кадров в секунду, будет захвачено 60 кадров данных изображения, в то время как пользователь 602 делал данный жест «честного захвата».6 depicts an example of a gesture by which user 602 may signal an “honest capture” in an American football video game. These figures depict the user at points in time, with FIG. 6A being the first time point and FIG. 6E being the last time point. Each of these figures may correspond to a picture or image frame captured by a camera of depth 402, even optionally consecutive frames of image data, since a camera of depth 402 may be able to capture frames at a greater frequency than the user can walk the distance. For example, the specified gesture can occur in a period of 3 seconds, and if the depth camera captures data at a speed of 40 frames per second, 60 frames of image data will be captured, while the user 602 made this gesture of “honest capture”.

На фиг.6A пользователь 602 начинает опускать руки вдоль тела 604. Затем он поднимает руки вверх и над своими плечами, как изображено на фиг.6B, и затем дополнительно вверх, приблизительно на уровень своей головы, как изображено на фиг.6C. Из этого положения он опускает руки 604 на уровень плеч, как изображено на фиг.6D, и затем снова поднимает их вверх, приблизительно на уровень своей головы, как изображено на фиг.6E. В случае если система захватывает указанные положения пользователя 602 без какого-либо промежуточного положения, которое может сигнализировать, что жест отменен, или выполняется другой жест, то фильтр жеста честного захвата может вывести данные с высоким уровнем достоверности, что пользователь 602 сделал жест «честного захвата».In FIG. 6A, user 602 begins to lower his arms along body 604. He then raises his arms up and over his shoulders, as shown in FIG. 6B, and then further upward, approximately to his head level, as shown in FIG. 6C. From this position, he lowers his hands 604 to shoulder level, as shown in fig.6D, and then again raises them up, approximately to the level of his head, as shown in fig.6E. If the system captures the indicated positions of user 602 without any intermediate position that can signal that the gesture has been canceled or another gesture is being performed, the honest capture gesture filter can output data with a high level of certainty that user 602 made an honest capture gesture ".

Фиг.7 изображает пример жеста "честного захвата" фиг.5, когда каждый кадр данных изображения был интерпретирован для представления скелетного отображения пользователя. Система, представившая скелетное отображение на основании глубины изображения пользователя, может теперь определить, как тело пользователя движется во времени и, исходя из этого, интерпретировать жест.FIG. 7 depicts an example of a “fair capture” gesture of FIG. 5 when each frame of image data has been interpreted to represent a skeletal display of a user. A system that presents a skeletal display based on the depth of the user's image can now determine how the user's body moves in time and, based on this, interpret the gesture.

На фиг.7A плечи пользователя 310 находятся выше локтей 306, которые в свою очередь находятся выше его кистей 302. Затем на фиг.7 B плечи 310, локти 306 и кисти 302 находятся на одном уровне. Система на фиг.7C затем определяет, что кисти 302 находятся над локтями, которые находятся выше плеч 310. На фиг.7D пользователь вернулся в положение фиг.7B, где плечи 310, локти 306 и кисти 302 находятся на одном уровне. В конечном положении жеста, показанном на фиг.7E, пользователь возвращается в положение фиг.7C, где кисти 302 находятся над локтями, которые находятся над плечами 310.In FIG. 7A, the shoulders of the user 310 are located above the elbows 306, which in turn are located above his hands 302. Then, in FIG. 7 B, the shoulders 310, the elbows 306 and the hands 302 are at the same level. The system in FIG. 7C then determines that the hands 302 are above the elbows that are above the shoulders 310. In FIG. 7D, the user has returned to the position of FIG. 7B, where the shoulders 310, elbows 306 and hands 302 are on the same level. In the final position of the gesture shown in FIG. 7E, the user returns to the position of FIG. 7C, where the hands 302 are above the elbows that are above the shoulders 310.

В то время, когда устройство захвата 20 захватывает серии статичных изображений, таких что в любом одном изображении пользователь является неподвижным, пользователь двигается на протяжении выполнения данного жеста (в отличие от статичного жеста, как обсуждалось выше). Система в состоянии принимать данные серии поз в каждом статичном изображении, и из которых определяет уровень достоверности движущегося жеста, который пользователь делает.While the capture device 20 captures a series of still images, such that the user is still in any one image, the user moves throughout this gesture (unlike the static gesture, as discussed above). The system is able to receive data from a series of poses in each static image, and from which it determines the level of confidence of the moving gesture that the user makes.

При выполнении жеста маловероятно, что пользователь будет в состоянии сделать угол, который образован его правым плечом 310a, правым локтем 306a и правой кистью 302a и, например, от 140° до 145°. Таким образом, приложение, использующее фильтр 418 для жеста «честного захвата» 426, может настроить ассоциированные параметры 428 для лучшего обслуживания специфических особенностей приложения. Например, положения на фиг.7C и 7E могут быть распознаны в любое время, когда у пользователя его кисти 302 выше его плеч 310, без рассмотрения положения локтя 306. Ряд параметров, которые являются более строгими, может требовать, чтобы кисти 302 были над головой 310 и чтобы оба локтя 306 были над плечами 310 и между головой 322 и кистями 302. Кроме того, параметры 428 для жеста «честного захвата» 426 могут требовать, чтобы пользователь переместился из положения фиг.7A вплоть до положения фиг.7E за установленный период времени, например 1,5 секунды, и если у пользователя занимает более чем 1,5 секунды движения через указанные положения, движение не будет распознано как «честный захват» 418, и может быть выведен очень низкий уровень достоверности.When performing the gesture, it is unlikely that the user will be able to make an angle that is formed by his right shoulder 310a, right elbow 306a and right hand brush 302a and, for example, from 140 ° to 145 °. Thus, an application using the filter 418 for the gesture of fair capture 426 can configure the associated parameters 428 to better serve the specific features of the application. For example, the positions in FIGS. 7C and 7E can be recognized at any time when the user has his hands 302 above his shoulders 310, without considering the position of the elbow 306. A number of parameters that are more stringent may require the hands 302 to be above the head 310 and so that both elbows 306 are above the shoulders 310 and between the head 322 and the brushes 302. In addition, the parameters 428 for the gesture of fair capture 426 may require the user to move from the position of figa to the position of figa for a set period time, for example 1.5 seconds, and if the user It takes more than 1.5 seconds to move through the indicated positions, the movement will not be recognized as an “honest capture” 418, and a very low level of confidence can be inferred.

Фиг.8A-C иллюстрируют пользователя, делающего аналогичное распознаваемое системой движение бега с помощью различных захваченных движений и поз. 8A-C illustrate a user making a similar system-recognized running movement using various captured movements and poses.

Фиг.8A иллюстрирует пользователя, выполняющего полный жест бега. Пользователь 18 захватывается устройством захвата 20. Пользователь 18 создает полный жест бега путем бега на месте - поочередно поднимая каждое колено приблизительно до талии, опуская затем ногу вниз на землю. Указанная версия полного жеста бега является циклическим жестом, при котором пользователь 18 повторяет движения, которые включают жест, в течение времени, в которое длится жест по его желанию.8A illustrates a user performing a full running gesture. The user 18 is captured by the capture device 20. The user 18 creates a full running gesture by running in place - alternately raising each knee to approximately the waist, then lowering the leg down to the ground. The indicated version of the full running gesture is a cyclic gesture in which the user 18 repeats the movements that include the gesture for the time that the gesture lasts at will.

Фиг.8B иллюстрирует пользователя, делающего сокращенный жест бега, сокращенный жест включает в себя подмножество движения полного жеста бега фиг.8A. Чтобы сделать указанную версию сокращенного жеста бега, пользователь 18 поднимает одну ногу так, что его колено находится примерно на уровне бедра и остается в указанной позе. Указанное жестовое сокращение включает в себя подмножество движения полного жеста фиг.8A, где пользователь на фиг.8A повторно поднимает и опускает свои колени, здесь пользователь поднимает свое колено и остается в указанной позе. В то время как полный жест фиг.8A содержит в себе повторяющееся движение, в данном варианте осуществления изобретения сокращенный жест содержит в себе серии неповторяющихся движений или серии движений, где серии в целом не повторялись. В варианте осуществления изобретения пользователь 18 опускает свое колено вниз, до положения стоя, когда он желает закончить жест. В варианте осуществления изобретения указанное действие опускания колена также может включать подмножество полного жеста. В варианте осуществления изобретения вычислительная среда 12 определяет, что данное движение заканчивает жестовое сокращение, а не производит полный жест, когда пользователь 18 держит свое колено примерно на уровне бедра в течение более чем установленного периода времени. FIG. 8B illustrates a user making a shortened running gesture, the shortened gesture includes a subset of the full running gesture of FIG. 8A. To make the indicated version of the reduced running gesture, the user 18 lifts one leg so that his knee is approximately at hip level and remains in the specified position. Said gestural contraction includes a subset of the full gesture movement of FIG. 8A, where the user of FIG. 8A re-lifts and lowers his knees, here the user lifts his knee and remains in that position. While the full gesture of FIG. 8A contains a repeating movement, in this embodiment, the abbreviated gesture comprises a series of non-repeating movements or a series of movements where the series as a whole were not repeated. In an embodiment of the invention, the user 18 lowers his knee down to a standing position when he wishes to complete the gesture. In an embodiment of the invention, said knee lowering action may also include a subset of the full gesture. In an embodiment of the invention, computing environment 12 determines that a given movement is completing a gesture of contraction, rather than producing a full gesture when user 18 holds his knee at about hip level for more than a set period of time.

Фиг.8C иллюстрирует пользователя, делающего второй тип сокращенного жеста бега, второй тип сокращенного жеста бега включает в себя движение, отдельное от полного жеста бега фиг.8A. Здесь пользователь 18 делает один шаг вперед и остается в указанной позе, с одной стопой впереди другой, обе стопы на земле, в течение времени, которое он хочет производить жест бега. Данное положение не найдено в полном жесте бега фиг.8A. Пользователь 18 может закончить жест путем шага назад в положение стоя. Данный жест похож на жест фиг.8B тем, что оба жеста предусматривают движение для начала жеста, затем сохранение позы для поддержания жеста и движение для окончания жеста.FIG. 8C illustrates a user doing a second type of abbreviated running gesture, the second type of abbreviated running gesture includes movement separate from the full running gesture of FIG. 8A. Here, user 18 takes one step forward and remains in the indicated position, with one foot in front of the other, both feet on the ground, for the time that he wants to make a running gesture. This position was not found in the full running gesture of FIG. 8A. User 18 can end the gesture by stepping back into a standing position. This gesture is similar to the gesture of FIG. 8B in that both gestures provide movement to start the gesture, then maintaining a pose to maintain the gesture and movement to end the gesture.

Фиг.9 иллюстрирует примерные операционные процедуры для жестовых сокращений. Как обсуждалось выше, один жестовый ввод в вычислительное устройство может быть распознан вычислительным устройством как результат множества способов, выполненных пользователем. В варианте осуществления изобретения указанное множество способов, которыми жест может быть выполнен пользователем, включает в себя полную версию жеста и сокращение жеста.9 illustrates exemplary operating procedures for gestures. As discussed above, a single gesture input to a computing device can be recognized by the computing device as a result of a variety of methods performed by the user. In an embodiment of the invention, said plurality of ways in which a gesture can be performed by a user includes the full version of the gesture and the reduction of the gesture.

Жестовые сокращения могут быть использованы в ряде контекстов приложения. Например, жестовые сокращения бега могут быть использованы в приложениях, которые включают в себя бег, такие как беговая дорожка и игра на поле. Текстовый ввод сокращений может быть использован в текстовом вводе контекста приложения. Например, пользователь может использовать язык жестов для ввода текста. Полная версия жеста слова может включать в себя подписывания каждой буквы слова, так как H-E-A-R-T. Сокращение для жеста слова "heart" может включать один жест сердца, подобный изображению сердца, сложенного руками пользователя. Такой язык жестов может включать в себя Американский Язык Жестов (ASL).Gesture abbreviations can be used in a number of application contexts. For example, gesture running reductions can be used in applications that include running, such as a treadmill and playing on the field. The text input of abbreviations can be used in the text input of the application context. For example, a user may use sign language to enter text. The full version of the word gesture may include signing each letter of the word, since H-E-A-R-T. The abbreviation for the gesture of the word "heart" may include one heart gesture, similar to the image of a heart folded by the hands of the user. Such sign language may include American Sign Language (ASL).

Жестовое сокращение может вовлекать другие части тела, чем соответствующая полная версия жеста. Например, в случае если пользователь не может пользоваться ногами, и полная версия жеста бега включает в себя бег на месте, сокращение жеста может включать имитацию движения бега кистями пользователя.Gesture contraction may involve other parts of the body than the corresponding full version of the gesture. For example, if the user cannot use the legs, and the full version of the running gesture includes running in place, reducing the gesture may include simulating the running movement of the user's hands.

Необязательное действие 902 изображает прием входных данных пользователя, соответствующих определению сокращения жеста. Например, пользователь или путем предупреждения вычислительного устройства, или через указание вычислительному устройству своего желания делать так может сделать движение или позу, которая захватывается устройством захвата и сохраняется как способ выполнения жеста.Optional action 902 depicts the reception of user input corresponding to a gesture reduction definition. For example, a user, either by warning a computing device, or by instructing the computing device to do so, can make a movement or pose that is captured by the capture device and saved as a way to perform a gesture.

В варианте осуществления изобретения, в котором пользователь определил жестовое сокращение посредством своего движения или позы, он может затем уточнить жестовое сокращение в системе. Например, в случае если жесты распознаются с применением фильтров и соответствующих параметров, он может настроить параметры своего жестового сокращения способами, описанными выше.In an embodiment of the invention in which the user has determined a gesture reduction by means of his movement or posture, he can then specify the gesture reduction in the system. For example, if gestures are recognized using filters and corresponding parameters, he can adjust the parameters of his gesture reduction in the ways described above.

В варианте осуществления изобретения сокращение жеста соответствует полной версии второго жеста. Жестовое сокращение может соответствовать множеству полных жестов, и где пользователь определяет сокращение, он может показывать, что сокращение соответствует множеству полных жестов. Например, в контексте печати текстового файла Пользователь может определить одно жестовое сокращение, которое соответствует полному жесту выбора вертикальной ориентации бумаги, полный жест выбора печати четырех копий и полный жест выбора особого принтера для печати формы.In an embodiment, the gesture reduction corresponds to the full version of the second gesture. Gesture abbreviation can correspond to many full gestures, and where the user defines the abbreviation, he can show that the abbreviation corresponds to many full gestures. For example, in the context of printing a text file, the User can define one gesture abbreviation that corresponds to the full gesture of selecting the vertical orientation of the paper, the full gesture of choosing to print four copies, and the full gesture of choosing a particular printer to print the form.

В варианте осуществления изобретения, в котором жесты распознаются через фильтры жеста и параметры, сокращение жеста и полная версия жеста могут использовать один и тот же фильтр жеста, но другое значение для одного или более параметров. Например, полная версия жеста "мяч брошен" может требовать, чтобы пользователь переместил свою кисть из-за торса приблизительно на длину руки перед торсом. Сокращение может уменьшить требуемую дистанцию, которую кисть должна пройти так, что кисть не должна быть вытянута ни далеко назад, ни далеко вперед. Это может быть выполнено в результате изменения значения или значений параметра, таких как параметр "минимальной дистанции кисти".In an embodiment of the invention in which gestures are recognized through gesture filters and parameters, gesture reduction and the full version of the gesture can use the same gesture filter, but a different value for one or more parameters. For example, the full version of the “ball thrown” gesture may require the user to move his hand about the length of his arm in front of the torso due to the torso. Contraction can reduce the required distance that the brush must travel so that the brush does not extend either far back or far forward. This can be accomplished by changing the value or values of the parameter, such as the parameter "minimum brush distance".

Операция 904 изображает прием данных, захваченных устройством захвата, причем данные соответствуют выполненному пользователем жесту. Устройство захвата может захватить сцену, которая содержит всего пользователя, например, от пола до потолка и до стены на каждой стороне комнаты, на расстоянии, на котором располагается пользователь. Устройство захвата также может захватить сцену, которая содержит только часть пользователя, например, пользователя от пояса вверх, когда он или она сидит за столом. Устройство захвата также может захватить объект, управляемый пользователем, например камеру реквизита, которую пользователь держит в своей руке.Step 904 depicts the reception of data captured by the capture device, the data corresponding to a gesture made by the user. The capture device can capture a scene that contains the entire user, for example, from floor to ceiling and to the wall on each side of the room, at a distance at which the user is located. The capture device can also capture a scene that contains only part of the user, for example, the user from the waist up when he or she is sitting at the table. The capture device can also capture a user-controlled object, such as a props camera, which the user holds in his hand.

Необязательное действие 906 изображает определение из приложения для обработки данных с сокращением жеста. Приложение может ограничить сокращения, которые используются в качестве входных данных, каким-то образом. Например, в игре на поле или на беговой дорожке бег может быть рассмотрен как составная часть процесса, и приложение может не разрешить или блокировать сокращение для жеста бега, требуя от пользователя сделать полный жест, когда он желает бежать. Для сравнения, в игре-стрелялке от первого лица бег может рассматриваться как вспомогательное средство при использовании игры, следовательно, использование сокращения для жеста бега может быть разрешено. В указанной игре-стрелялке от первого лица механика разряжения огнестрельного оружия может рассматриваться как составная часть процесса, и приложение может не разрешить или блокировать сокращение для жеста прицеливания или стрельбы.Optional action 906 depicts a definition from a data processing application with a gesture reduction. An application may limit abbreviations that are used as input in some way. For example, in a game on the field or on a treadmill, running may be considered an integral part of the process, and the application may not allow or block the abbreviation for the running gesture, requiring the user to make a full gesture when he wants to run. For comparison, in a first-person shooter game, running can be seen as an aid in using the game, therefore, the use of shortening for the running gesture can be allowed. In this first-person shooter game, a mechanic for discharging a firearm may be considered an integral part of the process, and the application may not allow or block the reduction for the aiming or shooting gesture.

В варианте осуществления изобретения пользователь может выполнить как сокращения для жестов, так и полные версии жестов, которые распознаются таким же образом, что пользователь может одновременно выполнить несколько жестов, как описано выше. Используя пример игры-стрелялки от первого лица, пользователь может одновременно сделать сокращение для жеста бега и полную версию жеста прицеливания.In an embodiment of the invention, the user can perform both abbreviations for gestures and full versions of gestures that are recognized in the same way that the user can execute several gestures simultaneously, as described above. Using the example of a first-person shooter game, a user can simultaneously make a shortcut for a running gesture and a full version of the aiming gesture.

В варианте осуществления изобретения указанное определение для обработки данных с сокращением жеста происходит от пользователя. Например, какие сокращения для обработки могут соответствовать уровню сложности приложения, которое выбирает пользователь. В случае если пользователь выбирает нижний уровень сложности, все сокращения могут быть обработаны. Когда пользователь увеличивает уровень сложности, количество разрешенных сокращений для обработки может уменьшиться, и заканчивая самым высоким уровнем сложности, где сокращения не обрабатываются.In an embodiment of the invention, said definition for processing data with a gesture reduction comes from a user. For example, which abbreviations for processing may correspond to the complexity level of the application that the user selects. In case the user selects the lower level of difficulty, all abbreviations can be processed. When the user increases the difficulty level, the number of allowed cuts for processing can be reduced, and ending with the highest level of difficulty, where cuts are not processed.

Указанное определение может изменяться в динамике по времени для адаптации к возможностям пользователя. Например, установки по умолчанию разрешенных сокращений могут быть реализованы при старте сеанса приложения и разрешенные сокращения могут быть увеличены или уменьшены в течение сеанса, когда пользователь демонстрирует свою возможность хорошо исполнять жесты или не имеет такой возможности. Кроме того, поскольку пользователь устает по ходу сеанса или происходит улучшение способности, разрешенные сокращения могут быть увеличены или уменьшены для соответствия его текущему состоянию возможности.The specified definition may vary in time over time to adapt to the capabilities of the user. For example, the default settings for allowed abbreviations can be implemented at the start of an application session and allowed abbreviations can be increased or decreased during the session when the user demonstrates his ability to perform gestures well or does not have such an opportunity. In addition, since the user gets tired during the session or an ability improves, the allowed reductions can be increased or decreased to match his current state of ability.

Действие 908 изображает обработку данных для определения выходных данных, соответствующих тому, выполнил ли пользователь сокращение жеста, причем сокращение жеста соответствует полной версии жеста. В варианте осуществления изобретения указанные выходные данные могут включать в себя уровень достоверности, что жест имел место. В варианте осуществления изобретения выходные данные могут включать в себя индикацию в форме, наблюдалась ли полная версия жеста или жестовое сокращение.Act 908 depicts data processing for determining output corresponding to whether the user has performed a gesture reduction, the gesture reduction corresponding to the full version of the gesture. In an embodiment of the invention, said output may include a level of certainty that the gesture has occurred. In an embodiment of the invention, the output may include an indication in the form of whether a full version of the gesture or gesture reduction has been observed.

Действие 910 изображает посылку выходных данных, соответствующих сокращению жеста, в приложение. В тех случаях, когда текущие действия выполняются приложением, выходные данные могут быть посланы компоненту приложения, которое принимает обработанные входные данные пользователя и преобразует их для действий в приложении.Step 910 depicts sending output corresponding to a gesture reduction to an application. In cases where the current actions are performed by the application, the output can be sent to the application component, which receives the processed user input and converts them for actions in the application.

Необязательное действие 912 изображает обработку данных для определения выходных данных, соответствующих тому, выполнил ли пользователь полную версию жеста, и отсылку выходных данных, соответствующих полной версии жеста, в приложение.Optional action 912 depicts data processing to determine the output corresponding to whether the user has completed the full version of the gesture and sending the output corresponding to the full version of the gesture to the application.

В варианте осуществления изобретения сокращение жеста включает в себя движение пользователя, которое содержит подмножество движения пользователя, которое включает в себя полную версию жеста.In an embodiment of the invention, gesture reduction includes a user movement that contains a subset of the user movement that includes the full version of the gesture.

В варианте осуществления изобретения выходные данные, соответствующие сокращению жеста, соответствуют высокой вероятности того, что пользователь начал выполнять жест, выходные данные, соответствующие полной версии жеста, соответствуют высокой вероятности того, что пользователь начал выполнять жест, и приложение распознает только один жест пользователя. В тех случаях, когда сокращение жеста включает в себя подмножество полной версии жеста, если пользователь выполняет полную версию жеста, он будет также выполнять сокращение жеста. Таким образом, для одного предполагаемого ввода жеста могут быть распознаны два жеста. В варианте осуществления изобретения, в котором и сокращение жеста, и полная версия жеста распознаются в пределах установленного периода времени (периода времени, который может быть специфичным для жеста и/или для пользователя), только один используется в качестве входных данных, и другой не принимается во внимание.In an embodiment of the invention, the output corresponding to the gesture reduction corresponds to the high probability that the user began to perform the gesture, the output corresponding to the full version of the gesture corresponds to the high probability that the user began to perform the gesture, and the application recognizes only one user gesture. In cases where the gesture reduction includes a subset of the full version of the gesture, if the user performs the full version of the gesture, he will also perform the gesture reduction. Thus, for one intended input of a gesture, two gestures can be recognized. In an embodiment of the invention in which both the gesture reduction and the full version of the gesture are recognized within a set period of time (a period of time that may be specific to the gesture and / or user), only one is used as input and the other is not accepted into account.

В варианте осуществления изобретения выходные данные, соответствующие сокращению жеста, соответствуют высокой вероятности того, что пользователь начал выполнять жест, выходные данные, соответствующие полной версии жеста, соответствуют высокой вероятности того, что пользователь начал выполнять жест, и приложение использует выходные данные, соответствующие полной версии жеста, для добавления детали к жесту. В тех случаях, когда сокращение жеста распознается и обрабатывается (например, соответствующая анимация или результат показывается на устройстве отображения), в качестве входных данных, приложением, и затем полная версия жеста распознается, в то время как сокращение жеста обрабатывается, выходные данные полной версии жеста могут быть использованы в обработке.In an embodiment of the invention, the output corresponding to the gesture reduction corresponds to the high probability that the user began to perform the gesture, the output corresponding to the full version of the gesture corresponds to the high probability that the user began to perform the gesture, and the application uses the output corresponding to the full version gesture to add detail to the gesture. In cases where the gesture reduction is recognized and processed (for example, the corresponding animation or result is shown on the display device), as input, by the application, and then the full version of the gesture is recognized, while the gesture reduction is processed, the output of the full version of the gesture can be used in processing.

Например, полная версия жеста "прыжок" может включать в себя прыгающего пользователя. Сокращение указанного жеста "прыжок" может включать в себя начальные движения полной версии жеста - приседание и подъем - и выходные данные уровня достоверности, что жест был выполнен. В результате наблюдения сокращения жеста прыжка приложение может обрабатывать его путем отображения прыгающего пользовательского аватара. В то время как это происходит, если пользователь завершает полную версию жеста прыжка путем продолжения подъема и отрывания от земли обоих ступней, приложение может использовать высоту, на которую физически прыгает пользователь, чтобы отобразить аватар, прыгающий на соответствующую высоту, для добавления детали к текущему обрабатываемому сокращению прыжка. Если пользователь выполняет только сокращение жеста прыжка, приложение может отобразить аватар, прыгающий в высоту, которая задана по умолчанию.For example, the full version of the “jump” gesture may include a jumping user. Reducing the indicated “jump” gesture may include the initial movements of the full version of the gesture — crouching and lifting — and the output of the level of confidence that the gesture was completed. As a result of observing a reduction in the jump gesture, the application can process it by displaying a jumping user avatar. While this happens, if the user completes the full version of the jump gesture by continuing to lift and lift both feet off the ground, the application can use the height that the user physically jumps to display the avatar jumping to the appropriate height to add detail to the current one being processed shorten the jump. If the user performs only a reduction in the gesture of the jump, the application can display the avatar jumping in height, which is set by default.

В варианте осуществления изобретения в тех случаях, когда пользователь выполняет сокращение жеста, оно может соответствовать меньшему выполнению в приложении, чем в тех случаях, когда пользователь выполняет полную версию жеста. Например, в игре со скейтбордом, которая категорирует пользовательское исполнение с помощью набранных очков, если пользователь выполняет данный трюк, используя сокращение жеста скейтбордного трюка, пользователь может принять меньше пунктов, чем он имел бы, выполняя полную версию данного трюка, используя полную версию жеста скейтбордного трюка.In an embodiment of the invention, in cases where the user performs a gesture reduction, it may correspond to less execution in the application than in cases where the user performs the full version of the gesture. For example, in a skateboard game that categorizes user performance using points, if a user performs a given trick using a reduction in the gesture of a skateboard trick, the user can take fewer points than he would have if he performed the full version of this trick using the full version of the skateboard gesture trick.

ЗАКЛЮЧЕНИЕCONCLUSION

В то время как настоящее раскрытие изобретения описано в связи с предпочтительными аспектами, как проиллюстрировано на различных фигурах, следует понимать, что другие подобные аспекты могут быть использованы, или могут быть внесены модификации и дополнения для описанных аспектов для выполнения такой же функции настоящего раскрытия изобретения без отклонения от них. Таким образом, настоящее раскрытие изобретения не должно ограничиваться никаким отдельным аспектом, но, скорее, интерпретироваться в объеме и в рамках согласно прилагаемой формуле изобретения. Например, различные процедуры, описанные в настоящем документе, могут быть реализованы аппаратно или программно или в комбинации обоих подходов. Таким образом, способы и оборудование раскрытых вариантов осуществления изобретения или некоторых аспектов или его частей могут получить форму программного кода (а именно, команд), воплощенных на материальных носителях информации, таких как дискеты, CD-ROM, жесткие диски или любые другие машиночитаемые носители информации. Когда программный код загружается в машину и исполняется машиной, такой как компьютер, машина становится оборудованием, сконфигурированным для применения раскрытых вариантов осуществления изобретения. В дополнение к конкретным вариантам реализации, предлагаемым здесь в явном виде, другие аспекты и реализации будут очевидны из рассмотрения описания, раскрытого в настоящем документе. Следует понимать, что описание и иллюстративные варианты реализации рассматриваются только в качестве примеров.While the present disclosure is described in connection with preferred aspects, as illustrated in various figures, it should be understood that other similar aspects may be used, or modifications and additions may be made to the described aspects to perform the same function of the present disclosure without deviations from them. Thus, the present disclosure of the invention should not be limited to any particular aspect, but rather be interpreted in the scope and scope according to the attached claims. For example, the various procedures described herein may be implemented in hardware or software, or in a combination of both. Thus, the methods and equipment of the disclosed embodiments of the invention or some aspects or parts thereof can take the form of program code (namely, instructions) embodied on tangible media such as floppy disks, CD-ROMs, hard drives or any other computer-readable media . When the program code is loaded into a machine and executed by a machine, such as a computer, the machine becomes equipment configured to apply the disclosed embodiments of the invention. In addition to the specific implementation options that are provided here explicitly, other aspects and implementations will be apparent from consideration of the description disclosed herein. It should be understood that the description and illustrative options for implementation are considered only as examples.

Claims (20)

1. Способ использования сокращенного жеста в системе, которая берет пользовательские жесты в качестве ввода в приложение, содержащий этапы, на которых:
принимают данные, захваченные устройством захвата, причем эти данные соответствуют движению или позе пользователя;
определяют на основе упомянутых данных первые выходные данные, идентифицирующие, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет сокращение полного жеста, причем выполнение сокращения полного жеста идентифицирует команду, также идентифицируемую выполнением полного жеста, причем сокращение полного жеста содержит подмножество движения или позы пользователя, составляющих полный жест;
посылают первые выходные данные приложению;
определяют на основе упомянутых данных вторые выходные данные, идентифицирующие, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет полный жест;
посылают вторые выходные данные приложению; и в ответ на распознавание сокращения полного жеста и полного жеста в пределах заранее определенного количества времени приложение использует только либо сокращение полного жеста, либо полный жест в качестве ввода для упомянутой команды.
1. A method of using an abbreviated gesture in a system that takes user gestures as input to an application containing the steps of:
receive data captured by the capture device, and this data corresponds to the movement or position of the user;
determining, based on said data, the first output identifying that said movement or pose of the user corresponds to that the user is likely to perform a full gesture reduction, wherein performing a full gesture reduction identifies a command also identified by performing a full gesture, wherein the full gesture reduction contains a subset user movements or postures making up a complete gesture;
send the first output to the application;
determining, on the basis of said data, a second output identifying that said movement or posture of the user corresponds to the fact that the user is likely to perform a full gesture;
send second output to the application; and in response to recognizing a full gesture reduction and a full gesture within a predetermined amount of time, the application uses only either a full gesture reduction or a full gesture as input for said command.
2. Способ по п. 1, дополнительно содержащий этап, на котором принимают пользовательский ввод, соответствующий определению движения или позы пользователя, используемых для выполнения сокращения полного жеста.2. The method according to claim 1, further comprising the step of: receiving user input corresponding to the definition of the movement or posture of the user used to complete the full gesture reduction. 3. Способ по п. 1, в котором сокращение полного жеста соответствует второму жесту, который идентифицирует вторую команду, причем первые выходные данные идентифицируют, что вторая команда была вызвана.3. The method of claim 1, wherein reducing the full gesture corresponds to a second gesture that identifies the second command, the first output identifying that the second command has been called. 4. Способ по п. 1, в котором сокращение полного жеста соответствует фильтру жеста и параметру, а полный жест соответствует упомянутым фильтру жеста и параметру, причем значение данного параметра для сокращения полного жеста отличается от такового для полного жеста, при этом при определении на основе упомянутых данных первых выходных данных, идентифицирующих, соответствуют ли движение или поза пользователя тому, что пользователь выполняет сокращение полного жеста, обрабатывают упомянутые данные с помощью упомянутых фильтра жеста и параметра.4. The method according to claim 1, wherein the abbreviation of the full gesture corresponds to the gesture filter and the parameter, and the full gesture corresponds to the mentioned filter of the gesture and the parameter, the value of this parameter to reduce the full gesture differs from that for the full gesture, while determining based on said first output data identifying whether the user's movement or posture corresponds to the user performing a full gesture reduction, said data is processed using said gesture filter and param tra. 5. Способ по п. 1, в котором при определении на основе упомянутых данных первых выходных данных, идентифицирующих, соответствуют ли движение или поза пользователя тому, что пользователь выполняет сокращение полного жеста, дополнительно определяют из приложения обработать упомянутые данные, чтобы определить, было ли сокращение полного жеста выполнено до обработки упомянутых данных для определения первых выходных данных.5. The method according to claim 1, wherein when determining, based on said data, the first output identifying whether the user's movement or posture corresponds to the user performing a full gesture reduction, it is further determined from the application to process the said data to determine whether full gesture reduction is performed prior to processing the data to determine the first output. 6. Способ по п. 1, в котором при определении на основе упомянутых данных первых выходных данных, идентифицирующих, соответствуют ли движение или поза пользователя тому, что пользователь выполняет сокращение полного жеста, дополнительно определяют на основе упомянутых данных первые выходные данные, идентифицирующие, соответствуют ли упомянутые движение или поза пользователя тому, что пользователь выполняет сокращение полного жеста, дополнительно в качестве реакции на прием от пользователя указания, что должны распознаваться сокращенные жесты.6. The method according to claim 1, wherein when determining, on the basis of said data, the first output data identifying whether the movement or pose of the user corresponds to the user performing a full gesture reduction, the first output data identifying is additionally determined based on said data whether the user's movement or posture that the user is performing a full gesture reduction is additionally in response to receiving from the user an indication that the abbreviations should be recognized e gestures. 7. Способ по п. 1, в котором первые выходные данные показывают вызов упомянутой команды, при этом приложение связывает вызов этой команды с результатом или достижением, причем при посылке первых выходных данных приложению первые выходные данные посылаются приложению, при этом приложение связывает первые выходные данные с меньшим результатом или достижением, чем результат или достижение, которые были у упомянутой команды при ее вызове посредством выполнения полного жеста.7. The method according to p. 1, in which the first output shows the call of the command, the application associates the call of this command with the result or achievement, and when sending the first output to the application, the first output is sent to the application, while the application binds the first output with a smaller result or achievement than the result or achievement that the mentioned team had when it was called by performing a complete gesture. 8. Способ по п. 1, в котором первые выходные данные содержат уровень достоверности, идентифицирующий вероятность того, что упомянутые движение или поза пользователя соответствует тому, что пользователь выполняет сокращение полного жеста, при этом способ дополнительно содержит этап, на котором в ответ на прием первых выходных данных приложение распознает, что упомянутая команда была вызвана, и в ответ на прием вторых выходных данных приложение добавляет детали к вызванной команде на основе вторых выходных данных.8. The method of claim 1, wherein the first output contains a confidence level identifying the likelihood that said movement or posture of the user corresponds to the user performing a full gesture reduction, the method further comprising the step of responding to the reception the first output, the application recognizes that the command was called, and in response to receiving the second output, the application adds details to the called command based on the second output. 9. Способ по п. 8, в котором вторые выходные данные показывают расстояние, на которое пользователь переместил часть тела, или позицию этой части тела.9. The method of claim 8, wherein the second output shows the distance the user has moved a part of the body, or the position of that part of the body. 10. Способ по п. 8, дополнительно содержащий этап, на котором в качестве реакции на определение того, что пользователем выполнено сокращение полного жеста без последующего выполнения полного жеста, посылают в приложение третьи выходные данные, показывающие, что пользователь выполняет сокращение полного жеста, при этом приложение распознает, что упомянутая команда была вызвана, и в качестве реакции на определение того, что пользователем не выполнялся полный жест, для вызова упомянутой команды используют значение по умолчанию.10. The method of claim 8, further comprising the step of: in response to determining that the user has completed the full gesture reduction without subsequently performing the full gesture, the third output is sent to the application indicating that the user is performing the full gesture reduction, In this application recognizes that the command was called, and in response to the determination that the user did not complete the gesture, the default value is used to call the command. 11. Машиночитаемое запоминающее устройство, на котором сохранены машиночитаемые инструкции для использования сокращенного жеста в системе, которая берет пользовательские жесты в качестве ввода в приложение, причем машиночитаемые инструкции при их исполнении процессором предписывают процессору выполнять операции, содержащие:
прием данных, захваченных устройством захвата, причем эти данные соответствуют движению или позе пользователя;
определение на основе упомянутых данных первых выходных данных, идентифицирующих, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет сокращение полного жеста, причем выполнение сокращения полного жеста идентифицирует команду, также идентифицируемую выполнением полного жеста, причем сокращение полного жеста содержит подмножество движения или позы пользователя, составляющих полный жест;
отправку первых выходных данных приложению;
определение на основе упомянутых данных вторых выходных данных, идентифицирующих, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет полный жест;
отправку вторых выходных данных приложению; и
в ответ на распознавание сокращения полного жеста и полного жеста в пределах заранее определенного количества времени приложение использует только либо сокращение полного жеста, либо полный жест в качестве ввода для упомянутой команды.
11. A machine-readable storage device on which machine-readable instructions for using an abbreviated gesture are stored in a system that takes user gestures as input to an application, and machine-readable instructions, when executed by a processor, instruct the processor to perform operations comprising:
receiving data captured by the capture device, and this data corresponds to the movement or position of the user;
determining, based on said data, the first output identifying that said movement or posture of the user corresponds to the user probably performing a full gesture reduction, wherein performing a full gesture reduction identifies a command also identified by performing a full gesture, wherein the full gesture reduction contains a subset user movements or postures making up a complete gesture;
sending the first output to the application;
determining, based on said data, a second output identifying that said movement or posture of the user corresponds to the fact that the user is likely to perform a full gesture;
sending second output to the application; and
in response to recognizing a full gesture reduction and a full gesture within a predetermined amount of time, the application uses only either a full gesture reduction or a full gesture as input for the command.
12. Машиночитаемое запоминающее устройство по п. 11, дополнительно содержащее машиночитаемые инструкции, которые при их исполнении процессором предписывают процессору выполнять операции, содержащие прием пользовательского ввода, соответствующего определению движения или позы пользователя, используемых для выполнения сокращения полного жеста.12. The computer-readable storage device according to claim 11, further comprising computer-readable instructions that, when executed by the processor, instruct the processor to perform operations comprising receiving user input corresponding to the definition of a user's movement or posture used to perform a full gesture reduction. 13. Машиночитаемое запоминающее устройство по п. 11, при этом сокращение полного жеста соответствует второму жесту, который идентифицирует вторую команду, причем первые выходные данные идентифицируют, что вторая команда была вызвана.13. The machine-readable storage device according to claim 11, wherein the abbreviation of the full gesture corresponds to a second gesture that identifies the second command, the first output identifying that the second command has been called. 14. Машиночитаемое запоминающее устройство по п. 12, при этом первые выходные данные показывают вызов упомянутой команды, причем приложение связывает вызов этой команды с результатом или достижением, при этом при отправке первых выходных данных приложению первые выходные данные посылаются приложению и приложение связывает первые выходные данные с меньшим результатом или достижением, чем результат или достижение, которые были у упомянутой команды при ее вызове посредством выполнения полного жеста.14. The computer-readable storage device of claim 12, wherein the first output shows a call to said command, the application associating a call to this command with a result or achievement, while sending the first output to the application, the first output is sent to the application and the application associates the first output with a smaller result or achievement than the result or achievement that the mentioned team had when it was called by performing a complete gesture. 15. Машиночитаемое запоминающее устройство по п. 12, при этом первые выходные данные содержат уровень достоверности, идентифицирующий вероятность того, что упомянутые движение или поза пользователя соответствует тому, что пользователь выполняет сокращение полного жеста, причем машиночитаемое запоминающее устройство дополнительно содержит машиночитаемые инструкции, которые при их исполнении процессором предписывают процессору выполнять этапы, на которых:
в ответ на прием первых выходных данных приложение распознает, что упомянутая команда была вызвана, и,
в ответ на прием вторых выходных данных приложение добавляет детали к вызванной команде на основе вторых выходных данных.
15. The computer-readable storage device according to claim 12, wherein the first output data contains a confidence level identifying the probability that said movement or posture of the user corresponds to the user performing a full gesture reduction, the computer-readable storage device further comprising computer-readable instructions that, when their execution by the processor instruct the processor to perform the steps in which:
In response to receiving the first output, the application recognizes that the command was called, and,
In response to receiving the second output, the application adds details to the called command based on the second output.
16. Компьютерная система для использования жестового сокращения в системе, которая берет пользовательские жесты в качестве ввода в приложение, содержащая: процессор; и
память, подключенную к процессору с возможностью обмена данными при работе компьютерной системы, при этом в памяти содержатся исполняемые процессором инструкции, которые при их исполнении процессором предписывают компьютерной системе, по меньшей мере:
принимать данные, захваченные устройством захвата, причем эти данные соответствуют движению или позе пользователя;
определять на основе упомянутых данных первые выходные данные, идентифицирующие, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет сокращение полного жеста, причем выполнение сокращения полного жеста идентифицирует команду, также идентифицируемую выполнением полного жеста, причем сокращение полного жеста содержит подмножество движения или позы пользователя, составляющих полный жест;
посылать первые выходные данные приложению;
определять на основе упомянутых данных вторые выходные данные, идентифицирующие, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет полный жест;
посылать вторые выходные данные приложению; и
в ответ на распознавание сокращения полного жеста и полного жеста в пределах заранее определенного количества времени приложение использует только либо сокращение полного жеста, либо полный жест в качестве ввода для упомянутой команды.
16. A computer system for using gesture reduction in a system that takes user gestures as input to an application, comprising: a processor; and
a memory connected to the processor with the ability to exchange data during the operation of the computer system, while the memory contains instructions executed by the processor, which, when executed by the processor, require the computer system to at least:
receive data captured by the capture device, and this data corresponds to the movement or position of the user;
determine, based on said data, the first output identifying that said movement or posture of the user corresponds to that the user is likely to perform a full gesture reduction, wherein performing a full gesture reduction identifies a command also identified by performing a full gesture, wherein the full gesture reduction contains a subset user movements or postures making up a complete gesture;
send the first output to the application;
determine, based on said data, a second output identifying that said movement or posture of the user corresponds to the fact that the user is likely to perform a full gesture;
send second output to the application; and
in response to recognizing a full gesture reduction and a full gesture within a predetermined amount of time, the application uses only either a full gesture reduction or a full gesture as input for the command.
17. Система по п. 16, в которой в памяти дополнительно содержатся исполняемые процессором инструкции, которые при их исполнении процессором предписывают системе, по меньшей мере, принимать пользовательский ввод, соответствующий определению движения или позы пользователя, используемых для выполнения сокращения полного жеста.17. The system of claim 16, wherein the memory further comprises instructions executed by the processor, which, when executed by the processor, instruct the system to at least receive user input corresponding to the definition of a user's movement or posture used to perform a full gesture reduction. 18. Система по п. 16, при этом сокращение полного жеста соответствует второму жесту, который идентифицирует вторую команду, причем первые выходные данные идентифицируют, что вторая команда была вызвана.18. The system of claim 16, wherein the abbreviation of the full gesture corresponds to a second gesture that identifies the second command, the first output identifying that the second command has been called. 19. Система по п. 16, при этом первые выходные данные показывают вызов упомянутой команды, причем приложение связывает вызов этой команды с результатом или достижением, при этом исполняемые процессором инструкции, которые при их исполнении процессором предписывают процессору, по меньшей мере, посылать первые выходные данные приложению, дополнительно предписывают системе, по меньшей мере, посылать первые выходные данные приложению, при этом приложение связывает первые выходные данные с меньшим результатом или достижением, чем результат или достижение, которые были у упомянутой команды при ее вызове посредством выполнения полного жеста.19. The system of claim 16, wherein the first output shows a call to the said command, the application associating the call to this command with a result or achievement, while the instructions executed by the processor, which, when executed by the processor, instruct the processor to at least send the first output the data to the application further instructs the system to at least send the first output to the application, while the application associates the first output with a smaller result or achievement than the result or and the achievement that the said team had when it was called through a complete gesture. 20. Система по п. 16, при этом первые выходные данные содержат уровень достоверности, идентифицирующий вероятность того, что упомянутые движение или поза пользователя соответствует тому, что пользователь выполняет сокращение полного жеста, причем в ответ на прием первых выходных данных приложение распознает, что упомянутая команда была вызвана, и в ответ на прием вторых выходных данных приложение добавляет детали к вызванной команде на основе вторых выходных данных. 20. The system of claim 16, wherein the first output contains a confidence level that identifies the likelihood that said movement or posture of the user corresponds to the user performing a full gesture reduction, and in response to receiving the first output, the application recognizes that said the command was called, and in response to receiving the second output, the application adds details to the called command based on the second output.
RU2011148344/08A 2009-05-29 2010-05-29 Gesture shortcuts RU2574830C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/474,781 2009-05-29
US12/474,781 US9400559B2 (en) 2009-05-29 2009-05-29 Gesture shortcuts
PCT/US2010/036774 WO2010138952A2 (en) 2009-05-29 2010-05-29 Gesture shortcuts

Publications (2)

Publication Number Publication Date
RU2011148344A RU2011148344A (en) 2013-06-10
RU2574830C2 true RU2574830C2 (en) 2016-02-10

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2201618C2 (en) * 2001-03-23 2003-03-27 Супрун Антон Евгеньевич Method for entering information onto microterminal residing in users hand, in particular radiophone receiver, pager, organizer
EP1615109A2 (en) * 2004-06-28 2006-01-11 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2201618C2 (en) * 2001-03-23 2003-03-27 Супрун Антон Евгеньевич Method for entering information onto microterminal residing in users hand, in particular radiophone receiver, pager, organizer
EP1615109A2 (en) * 2004-06-28 2006-01-11 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications

Similar Documents

Publication Publication Date Title
US10691216B2 (en) Combining gestures beyond skeletal
US9400559B2 (en) Gesture shortcuts
US9910509B2 (en) Method to control perspective for a camera-controlled computer
US9256282B2 (en) Virtual object manipulation
US9280203B2 (en) Gesture recognizer system architecture
US8856691B2 (en) Gesture tool
US7971157B2 (en) Predictive determination
US9498718B2 (en) Altering a view perspective within a display environment
US20100306716A1 (en) Extending standard gestures
JP2012516507A (en) Standard gestures
RU2574830C2 (en) Gesture shortcuts