RU2574830C2 - Gesture shortcuts - Google Patents
Gesture shortcuts Download PDFInfo
- 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
Links
- 230000000875 corresponding Effects 0.000 claims abstract description 23
- 230000001603 reducing Effects 0.000 claims description 63
- 238000006722 reduction reaction Methods 0.000 claims description 60
- 238000003860 storage Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 230000036544 posture Effects 0.000 claims 17
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 210000002832 Shoulder Anatomy 0.000 description 15
- 210000001624 Hip Anatomy 0.000 description 11
- 210000003127 Knee Anatomy 0.000 description 11
- 210000001513 Elbow Anatomy 0.000 description 9
- 210000002414 Leg Anatomy 0.000 description 8
- 210000002683 Foot Anatomy 0.000 description 7
- 210000003128 Head Anatomy 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 210000004394 hip joint Anatomy 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000002093 peripheral Effects 0.000 description 5
- 210000001503 Joints Anatomy 0.000 description 4
- 210000002356 Skeleton Anatomy 0.000 description 4
- 230000003287 optical Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 210000000988 Bone and Bones Anatomy 0.000 description 3
- 210000000474 Heel Anatomy 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000003247 decreasing Effects 0.000 description 3
- 230000003068 static Effects 0.000 description 3
- 210000000245 Forearm Anatomy 0.000 description 2
- 210000003371 Toes Anatomy 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 210000000088 Lip Anatomy 0.000 description 1
- 210000001331 Nose Anatomy 0.000 description 1
- 230000000903 blocking Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 210000001699 lower leg Anatomy 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001902 propagating Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000630 rising Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001429 stepping Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Images
Abstract
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
Как показано на фиг.1A, система распознавания цели, анализа и слежения 10 может включать в себя вычислительную среду 12. Вычислительная среда 12 может быть компьютером, игровой системой, или приставкой, или подобным устройством. Согласно варианту осуществления изобретения, вычислительная среда 12 может включать в себя аппаратные компоненты и/или программные компоненты, так что вычислительная среда 12 может быть использована для выполнения приложений, таких как игровые приложения, не игровые приложения или подобные им. As shown in FIG. 1A, a target recognition, analysis, and
Как показано на фиг.1A, система распознавания цели, анализа и слежения 10 может дополнительно включать в себя устройство захвата 20. Устройство захвата 20 может быть, например, камерой, которая может быть использована для визуального мониторинга одного или более пользователей, такого как пользователь 18, так что жесты, выполненные одним или более пользователями, могут быть захвачены, проанализированы и прослежены для выполнения одного или более элементов управления или действий внутри приложения, как будет описано более подробно ниже.As shown in FIG. 1A, the target recognition, analysis and
Согласно одному варианту осуществления изобретения, система распознавания цели, анализа и слежения 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
Как показано на фиг.1A и 1B, система распознавания цели, анализа и слежения 10 может быть использована для распознавания, анализа и/или слежения за человеческим объектом, таким как пользователь 18. Например, пользователь 18 может быть отслежен с использованием устройства захвата 20, так что движения пользователя 18 могут быть интерпретированы как элементы управления, что может быть использовано для воздействия на приложение, исполняемое компьютерной средой 12. Таким образом, согласно одному варианту осуществления изобретения, пользователь 18 может переместить свое тело для управления приложением. As shown in FIGS. 1A and 1B, a target recognition, analysis and
Как показано на фиг.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
Другие движения пользователя 18 также могут быть интерпретированы как другие элементы управления или действия, такие как элементы управления бобслейными санями, катанием, тасованием, блокированием, ударом в боксе, джебом или размахом множества ударов кулаком различной силы. Кроме того, некоторые движения могут интерпретироваться как элементы управления, что может соответствовать действиям, отличным от управления аватаром игрока 24. Например, игрок может использовать движения для окончания игры, паузы или сохранения игры, чтобы выбрать уровень, посмотреть лучшие результаты, общаться с друзьями и так дополнительно. Other movements of the
В вариантах осуществления изобретений человеческий объект, такой как пользователь 18, может обладать объектом. В таких вариантах осуществления изобретения пользователь электронной игры может держать объект так, что движения игрока и данный объект могут быть использованы для корректировки и/или управления параметрами игры. Например, движение игрока, держащего ракетку, может быть отслежено и применено для управления виртуальной ракеткой в электронной спортивной игре. В другом варианте осуществления изобретения движение игрока, удерживающего объект, может быть отслежено и использовано для управления виртуальным оружием в электронной боевой игре. In embodiments of the invention, a human object, such as
Согласно другим вариантам осуществления изобретений, система распознавания цели, анализа и слежения 10, кроме того, может быть использована для интерпретации движений цели в качестве операционной системы и/или элементов управления приложением, которые находятся вне области действия игр. Например, в сущности, любой управляемый аспект операционной системы и/или приложения может быть управляем движениями цели, такой как пользователь 18.According to other embodiments of the invention, the target recognition, analysis and
Фиг.2 иллюстрирует вариант осуществления устройства захвата 20, которое может быть использовано в системе распознавания цели, анализа и слежения 10. Согласно варианту осуществления изобретения, устройство захвата 20 может быть сконфигурировано для захвата видеоизображения с информацией о глубине, включая глубину изображения, которая может включать значения глубины с помощью любой подходящей техники, включая, например, время движения, структурированное освещение, стереоизображение или подобное им. Согласно одному варианту осуществления изобретения, устройство захвата 20 может группировать вычисленную информацию глубины в "Z-слои" или слои, которые могут быть перпендикулярны Z-оси, распространяясь от камеры глубины вдоль ее линии наблюдения.FIG. 2 illustrates an embodiment of a
Как показано на фиг.2, устройство захвата 20 может включать в себя компонент камеры изображения 22. Согласно варианту осуществления изобретения, компонент камеры изображения 22 может быть камерой глубины, которая может захватить глубину изображения сцены. Глубина изображения может включать двухмерную (2-D) растровую область захваченной сцены, где каждый пиксель в 2-D растровой области может представлять дальность, например, в сантиметрах, миллиметрах или т.п. объекта в захваченной сцене от камеры.As shown in FIG. 2, the
Как показано на фиг.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
Согласно другому варианту осуществления изобретения, анализ способом прохождения может быть использован для косвенного определения физической дистанции от устройства захвата 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
В другом варианте осуществления изобретения устройство захвата 20 может использовать структурированный свет для захвата информации о глубине. В таком анализе узорчатый свет (т.е. свет, падающий в виде известного рисунка, такого как сетчатый рисунок или рисунок в полоску) может быть спроецирован на сцену, например, с помощью компонента ИК света 24. При достижении поверхности одной или более целей или объектов в сцене рисунок может деформироваться под влиянием поверхности. Такая деформация рисунка может быть захвачена, например, 3-D камерой 26 и/или RGB-камерой 28, и затем может быть проанализирована для определения физической дистанции от устройства захвата до определенного места на целях или объектах.In another embodiment, the
Согласно другому варианту осуществления изобретения устройство захвата 20 может включать две или более физически разделенных камер, которые могут просматривать сцену с разных углов для приема визуальных стереоданных, которые подвергают разрешению для формирования информации о глубине.According to another embodiment of the invention, the
Устройство захвата 20 может дополнительно включать в себя микрофон 30. Микрофон 30 может содержать датчик или сенсор, который может принимать и конвертировать звук в электрический сигнал. Согласно одному варианту осуществления изобретения, микрофон 30 может быть использован для упрощения обратной связи между устройством захвата 20 и вычислительной средой 12 в системе распознавания цели, анализа и слежения 10. Кроме того, микрофон 30 может быть использован для приема звукового сигнала, который также может быть представлен пользователем элементам управления приложения, таким как игровые приложения, неигровые приложения или подобным им, что может быть исполнено вычислительной средой 12.The
В варианте осуществления изобретения устройство захвата 20, кроме того, может включать в себя процессор 32, который может находиться в оперативной связи с компонентом камеры изображения 22. Процессор 32 может включать в себя стандартный процессор, специальный процессор, микропроцессор или подобный им, который может исполнять команды, которые могут включать в себя команды для приема глубины изображения, определения, может ли быть подходящая цель включена в глубину изображения, конвертирования подходящей цели в скелетное представление или модель данной цели, или любую другую подходящую команду.In an embodiment of the invention, the
Устройство захвата 20, кроме того, может включать в себя компонент памяти 34, который может хранить команды, которые могут быть исполнены процессором 32, изображения или кадры изображений, захваченных 3-D камерой или RGB-камерой, или любую другую отвечающую требованиям информацию, изображения или подобное им. Согласно варианту осуществления изобретения, компонент памяти 34 может включать в себя память с произвольным доступом (RAM), постоянное запоминающее устройство (ROM), кэш, флэш-память, жесткий диск или любые другие отвечающие требованиям компоненты хранения. Как показано на фиг.2, в одном варианте осуществления изобретения компонент памяти 34 может быть отдельным компонентом в соединении с компонентом захвата изображения 22 и процессором 32. Согласно другому варианту осуществления изобретения, компонент памяти 34 может быть интегрирован в процессор 32 и/или компонент захвата изображения 22.The
Как показано на фиг.2, устройство захвата 20 может иметь связь с вычислительной средой 12 через канал связи 36. Канал связи 36 может быть физическим соединением, включающим в себя, например, соединение USB, соединение Firewire, соединение кабелем Ethernet или подобное им, и/или может быть беспроводным соединением, таким как беспроводное соединение 802.11b, g, a или n. Согласно одному варианту осуществления изобретения, вычислительная среда 12 может предоставить генератор тактовых импульсов устройству захвата 20, который может быть использован для определения времени захвата, например, сцены через канал связи 36.As shown in FIG. 2, the
Кроме того, устройство захвата 20 может предоставить информацию о глубине и изображения, захваченные, например, 3-D камерой 26 и/или RGB-камерой 28, и скелетную модель, которая может быть создана устройством захвата 20 для вычислительной среды 12 через канал связи 36. Вычислительная среда 12 может затем использовать скелетную модель, информацию о глубине и захваченные изображения, например, для распознавания пользовательских жестов и в ответе элемента управления приложения, такого как игра или текстовый процессор. Например, как показано на фиг.2, вычислительная среда 12 может включать механизм 190 распознавания жестов. Механизм 190 распознавания жестов может включать в себя коллекцию фильтров жестов, каждый из которых включает в себя информацию, касающуюся жеста, который может быть выполнен скелетной моделью (как двигается пользователь). Данные, захваченные камерами 26, 28 и устройством 20 в виде скелетной модели и движений, ассоциированных с ними, могут сравниваться с фильтрами жестов в механизме 190 распознавания жестов для идентификации, при выполнении пользователем (как представлено скелетной моделью) одного или более жестов. Указанные жесты могут быть ассоциированы с различными элементами управления приложения. Таким образом, вычислительная среда 12 может использовать механизм 190 распознавания жестов для интерпретации движений скелетной модели и для управления приложением на основе движений.In addition, the
Фиг.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
Графический процессор (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
Мультимедийное устройство 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 /
Системная память 143 представляется для хранения данных приложения, которое загружено во время процесса загрузки. Привод 144 носителя предоставляется и может включать в себя DVD/CD привод, жесткий диск или другой съемный привод носителя и т.д. Привод 144 носителя может быть внутренним или внешним для мультимедийного устройства 100. Указанные приложения могут быть доступны через привод 144 носителя для исполнения, проигрывания и т.д. через мультимедийное устройство 100. Привод 144 носителя соединен с контроллером 120 ввода/вывода через шину, такую как шина Serial ATA или другое высокоскоростное соединение (например, IEEE 1394).
Контроллер 122 управления системой предоставляет различные сервисные функции, относящиеся к обеспечению доступности мультимедийного устройства 100. Блок обработки звукового сигнала 123 и аудиокодек 132 образуют соответствующий канал обработки аудиоинформации с высококачественной и стереообработкой. Аудиоданные переносятся между блоком обработки звукового сигнала 123 и аудиокодеком 132 через канал связи. Канал обработки аудиоинформации выводит данные в A/V порт 140 для воспроизведения внешним аудиопроигрывателем или устройством, имеющим воспроизведение звука.The
Подблок 130 ввода/вывода передней панели поддерживает функциональность кнопки питания 150 и кнопку выброса 152, а также любые LED (светодиоды) или другие индикаторы, расположенные на внешней поверхности мультимедийного устройства 100. Системный блок питания 136 обеспечивает питанием компоненты мультимедийного устройства 100. Вентилятор 138 охлаждает схему внутри мультимедийного устройства 100.The front panel input /
ЦП 101, GPU 108, контроллер памяти 110 и другие различные компоненты внутри мультимедийного устройства 100 соединены через одну или более шин, включая последовательные и параллельные шины, шину памяти, периферийную шину и процессор или локальную шину, используя любую из различных шинных архитектур. В качестве примера такие архитектуры могут включать локальную шину соединения периферийных устройств (PCI), шину PCI-Express и т.д.A CPU 101, a
Когда мультимедийное устройство 100 включено, данные приложения могут быть загружены из системной памяти 143 в память 112 и/или кэши 102, 104 и исполнены в ЦП 101. Приложение может предоставлять графический пользовательский интерфейс, который предоставляет единообразный пользовательский интерфейс при навигации в различных типах сред, имеющихся на мультимедийном устройстве 100. В рабочем состоянии приложения и/или другой носитель, находящийся в приводе 144 носителя, может быть запущен или проигран с привода 144 носителя для предоставления дополнительных возможностей мультимедийному устройству 100.When the multimedia device 100 is turned on, application data can be downloaded from
Мультимедийное устройство 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
Когда мультимедийное устройство 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
Фиг.3B иллюстрирует другой вариант осуществления вычислительной среды 220, которая может быть вычислительной средой 12, показанной на фиг.1A-2, используемой для интерпретации одного или более жестов в системе распознавания цели, анализа и слежения. Среда вычислительной системы 220 представляет собой только один вариант подходящей вычислительной среды, и она не направлена на введение каких-либо ограничений как в области использования, так и функциональности настоящего раскрытия объекта изобретения. Также не следует интерпретировать вычислительную среду 220 как имеющую какую-либо зависимость или потребность, касающуюся любого компонента или комбинации компонентов, проиллюстрированных в типичной операционной среде 220. В некоторых вариантах осуществления изобретения различные описанные вычислительные элементы могут включать схему, сконфигурированную для иллюстрации специфических аспектов текущего раскрытия сущности изобретения. Например, термин «схема», используемый в раскрытии сущности изобретения, может включать специализированные аппаратные компоненты, сконфигурированные для выполнения функции (функций) встроенным программным обеспечением или переключателями. В других вариантах осуществления изобретения термин «схема» может включать в себя обрабатывающий блок общего назначения, память и т.д., сконфигурированные программными командами, которые включают в себя работающую логику для выполнения функции (функций). В вариантах осуществления изобретений, в которых схема включает в себя комбинацию аппаратного и программного обеспечения, конструктор может написать исходный код, включающий логику, и исходный код может быть откомпилирован в машинно-исполняемый код, который может быть обработан обрабатывающим блоком общего назначения. Поскольку можно понять, что уровень развития техники достиг точки, где существует небольшое различие между аппаратным решением, программным решением или комбинацией аппаратное решение/программное решение, выбор аппаратного решения по сравнению с программным решением, чтобы выполнить специфические функции, представляет собой проектное решение, конструктора. В частности, специалист в данной области техники может оценить, что программный процесс может быть трансформирован в эквивалентную аппаратную структуру, и аппаратная структура может быть сама трансформирована в эквивалентный программный процесс. Таким образом, выбор аппаратной реализации в сравнении с программной реализацией является одним из проектных решений и остается за конструктором.FIG. 3B illustrates another embodiment of a computing environment 220, which may be the computing
На фиг.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
Компьютер 241 также может включать в себя другое съемное/несъемное, энергозависимое/энергонезависимое компьютерное запоминающее устройство. Только в качестве примера фиг.3B иллюстрирует жесткий диск 238, который считывает с или записывает на несъемный, энергонезависимый магнитный носитель, накопитель на магнитных дисках 239, который считывает с или записывает на съемный, энергонезависимый магнитный диск 254, и накопитель на оптических дисках 240, который считывает с или записывает на съемный энергонезависимый оптический диск 253, такой как CD-ROM, или другой оптический носитель. Другое съемное/несъемное, энергозависимое/энергонезависимое компьютерное запоминающее устройство, которое может быть использовано в типичной операционной среде, включающей в себя, но без ограничений, кассеты с магнитной лентой, карты флэш-памяти, универсальные цифровые диски, цифровые видеоленты, твердотельную RAM, твердотельную ROM и подобное им. Жесткий диск 238 обычно подключен к системной шине 221 через интерфейс несъемной памяти, такой как интерфейс 234, и накопитель на магнитных дисках 239 и накопитель на оптических дисках 240 обычно подключены к системной шине 221 интерфейсом съемной памяти, таким как интерфейс 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
Компьютер 241 может функционировать в сетевой среде, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 246. Удаленный компьютер 246 может быть персональным компьютером, сервером, роутером, сетевым ПК, устройством узла одноранговой сети или другим обычным сетевым узлом и обычно включает в себя многие или все элементы, описанные выше, относящиеся к компьютеру 241, хотя только запоминающее устройство 247 проиллюстрировано на фиг.3B. Логические соединения, изображенные на фиг.3B, включают в себя локальную вычислительную сеть (LAN) 245 и глобальную вычислительную сеть (WAN) 249, но также могут включать в себя другие сети. Такие сетевые среды являются обычными в офисах, компьютерных сетях масштаба предприятия, интранетах и Интернет.
При использовании в сетевой среде LAN компьютер 241 подключается к LAN 245 через сетевой интерфейс или адаптер 237. При использовании в сетевой среде WAN компьютер 241 обычно включает в себя модем 250 или другое предназначенное для организации связи поверх WAN 249, такой как Интернет. Модем 250, который может быть внутренним или внешним, может быть подключен к системной шине 221 через интерфейс 236 пользовательского ввода или другой подходящий механизм. В сетевой среде программные модули, изображенные связанными с компьютером 241 или с его частями, могут быть сохранены в удаленном запоминающем устройстве. В качестве неограничивающего примера фиг.3B иллюстрирует удаленную прикладную программу 248, как постоянно хранящууся в устройстве памяти 247. Следует понимать, что показанные сетевые соединения являются типичными и могут быть использованы другие пути достижения коммуникационного соединения между компьютерами.When used in a LAN network environment,
Фиг.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
Путем перемещения в пространстве своего тела пользователь может создавать жесты. Жест включает в себя движение или позу пользователя, которая может быть захвачена в качестве данных изображения и интерпретирована по содержанию. Жест может быть динамическим, содержащим движение, такое как имитация бросания мяча. Жест может быть статической позой, такой как удерживание пользователем скрещенных предплечий 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
Жесты могут быть использованы для ввода общего вычислительного контекста. Например, различные движения рук 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
При наличии указанного жеста "прыжок с поднятием пяток" приложение может установить значения для параметров, ассоциированных с данным жестом. Параметры могут включать упоминаемое ранее пороговое значение ускорения, которое определяет, как быстро некоторая комбинация плеч пользователя 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
Выводы данных могут включать в себя уровень достоверности, а также угол тела пользователя в момент прыжка.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
Фиг.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
Фильтры 418 загружаются и реализуются поверх базового механизма 416 распознавания и могут использовать сервисы, предоставляемые механизмом 416, для всех фильтров 418. В варианте осуществления изобретения базовый механизм 416 распознавания обрабатывает принятые данные для определения, соответствуют ли они требованиям какого-либо фильтра 418. С момента предоставления этих сервисов, например, анализа входных данных, они предоставляются базовым механизмом 416 распознавания за один раз, а не обрабатываются каждым фильтром 418, такой сервис нужно обрабатывать только один раз за период времени, в отличие от одной обработки каждого фильтра 418 за период времени, поэтому обработка, требуемая для определения жестов, уменьшается.Filters 418 are loaded and implemented on top of the
Приложение может использовать фильтры 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
Указанные параметры 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
Фиг.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
Фиг.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
Фиг.6 изображает пример жеста, которым пользователь 602 может подать сигнал "честного захвата" в видеоигре в американский футбол. Указанные фигуры изображают пользователя в точках по времени, причем фиг.6A является первой точкой по времени и фиг.6E является последней точкой по времени. Каждая из указанных фигур может соответствовать снимку или кадру изображения, захваченному камерой глубины 402, даже необязательно последовательным кадрам данных изображения, поскольку камера глубины 402 может быть в состоянии захватить кадры с большей частотой, чем пользователь может пройти дистанцию. Например, указанный жест может произойти за период 3 секунды, и в случае, если камера глубины захватывает данные на скорости 40 кадров в секунду, будет захвачено 60 кадров данных изображения, в то время как пользователь 602 делал данный жест «честного захвата».6 depicts an example of a gesture by which
На фиг.6A пользователь 602 начинает опускать руки вдоль тела 604. Затем он поднимает руки вверх и над своими плечами, как изображено на фиг.6B, и затем дополнительно вверх, приблизительно на уровень своей головы, как изображено на фиг.6C. Из этого положения он опускает руки 604 на уровень плеч, как изображено на фиг.6D, и затем снова поднимает их вверх, приблизительно на уровень своей головы, как изображено на фиг.6E. В случае если система захватывает указанные положения пользователя 602 без какого-либо промежуточного положения, которое может сигнализировать, что жест отменен, или выполняется другой жест, то фильтр жеста честного захвата может вывести данные с высоким уровнем достоверности, что пользователь 602 сделал жест «честного захвата».In FIG. 6A,
Фиг.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
В то время, когда устройство захвата 20 захватывает серии статичных изображений, таких что в любом одном изображении пользователь является неподвижным, пользователь двигается на протяжении выполнения данного жеста (в отличие от статичного жеста, как обсуждалось выше). Система в состоянии принимать данные серии поз в каждом статичном изображении, и из которых определяет уровень достоверности движущегося жеста, который пользователь делает.While the
При выполнении жеста маловероятно, что пользователь будет в состоянии сделать угол, который образован его правым плечом 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
Фиг.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
Фиг.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
Фиг.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,
Фиг.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. 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.
прием данных, захваченных устройством захвата, причем эти данные соответствуют движению или позе пользователя;
определение на основе упомянутых данных первых выходных данных, идентифицирующих, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет сокращение полного жеста, причем выполнение сокращения полного жеста идентифицирует команду, также идентифицируемую выполнением полного жеста, причем сокращение полного жеста содержит подмножество движения или позы пользователя, составляющих полный жест;
отправку первых выходных данных приложению;
определение на основе упомянутых данных вторых выходных данных, идентифицирующих, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет полный жест;
отправку вторых выходных данных приложению; и
в ответ на распознавание сокращения полного жеста и полного жеста в пределах заранее определенного количества времени приложение использует только либо сокращение полного жеста, либо полный жест в качестве ввода для упомянутой команды.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.
в ответ на прием первых выходных данных приложение распознает, что упомянутая команда была вызвана, и,
в ответ на прием вторых выходных данных приложение добавляет детали к вызванной команде на основе вторых выходных данных.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. 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.
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)
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)
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 |