УРОВЕНЬ ТЕХНИКИ
Многие компьютерные приложения, такие как компьютерные игры, мультимедийные приложения, офисные приложения или подобные им, используют элементы управления, чтобы позволить пользователям манипулировать игровыми характеристиками или другими аспектами приложения. Обычно такие элементы управления являются устройствами ввода, использующими, например, контроллеры, пульты дистанционного управления, клавиатуры, мыши или подобные устройства. К сожалению, такие элементы управления могут быть сложны для изучения, создавая, таким образом, барьер между пользователем и подобными играми и приложениями. Кроме того, подобные элементы управления могут отличаться от реальных игровых действий или других действий приложения, для которых используются элементы управления. Например, элемент управления игры, который изменяет игровую характеристику для взмаха бейсбольной биты, может не соответствовать реальному движению поднимающейся бейсбольной биты.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Раскрытыми в настоящем документе являются системы и способы для жестовых сокращений.
В одном варианте осуществления изобретения вычислительное устройство принимает серии данных изображения от камеры. Данная камера может содержать цветную камеру (в частности красно-зелено-синей системы цветопередачи или RGB), камеру глубины и трехмерную (3D) камеру. Эти данные могут включать в себя отдельные изображения глубины и цвета, комбинированное изображение, которое объединяет информацию о глубине и о цвете, или проанализированное изображение, в котором объекты идентифицируются, например, люди, которые отображаются в виде скелета. Эти данные фиксируют движения или позы, сделанные, по меньшей мере, одним пользователем. Указанные движения или позы могут быть распознаны вычислительным устройством в качестве типа входных данных - входные данные жеста. Для данного жеста (например, навигации вверх) могут существовать полная версия жеста, который пользователь может делать, и сокращение жеста, который пользователь может делать, сокращение жеста в основном требует меньше времени, движения или сложности движения от пользователя.
В случае, если вычислительное устройство распознает, что пользователем выполнено или сокращение жеста или полная версия жеста, оно посылает сигнал об этом приложению, которое использует жесты в качестве ввода.
В варианте осуществления изобретения, в котором сокращение включает в себя подмножество полной версии жеста, и сокращенная и полная версия жеста распознаются как выполненная пользователем полная версия жеста, вычислительное устройство распознает, что произошло только единичное исполнение жеста и соответственно указывает приложению.
Вышесказанное является кратким описанием и, таким образом, включает в себя, по необходимости, упрощения, обобщения и опущение деталей. Следует понимать, что указанное краткое описание является только иллюстративным и не направлено на ограничения в каком-либо виде.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Системы, способы и машиночитаемый носитель информации для жестовых сокращений в соответствии с данной спецификацией описываются дополнительно со ссылкой на прилагаемые чертежи, на которых:
фиг.1A и 1B иллюстрируют пример осуществления системы распознавания цели, анализа и слежения пользователем, играющим в игру.
Фиг.2 иллюстрирует пример осуществления устройства захвата, которое может быть использовано в системе распознавания цели, анализа и слежения.
Фиг.3A иллюстрирует пример осуществления вычислительной среды, которая может быть использована для интерпретации одного или более жестов в системе распознавания цели, анализа и слежения.
Фиг.3B иллюстрирует другой пример осуществления вычислительной среды, которая может быть использована для интерпретации одного или более жестов в системе распознавания цели, анализа и слежения.
Фиг.4A иллюстрирует скелетное отображение пользователя, которое было сформировано на основании системы распознавания цели, анализа и слежения на фиг.2.
Фиг.4B иллюстрирует дополнительные детали жеста архитектуры устройства распознавания, показанного на фиг.2.
Фиг.5A и 5B иллюстрируют, каким образом жестовые фильтры могут быть помещены в стек с целью создания более сложных жестовых фильтров.
Фиг.6A, 6B, 6C, 6D и 6E иллюстрируют пример жеста, который пользователь может выполнить для подачи сигнала о "честном захвате" в видеоигре в американский футбол.
Фиг.7A, 7B, 7C, 7D и 7E иллюстрируют примеры жеста "честного захвата" фиг.6A-E в состоянии после того, как каждый кадр данных изображения был проанализирован для создания скелетного отображения пользователя.
Фиг.8A иллюстрирует пользователя, выполняющего движение бега в полном объеме.
Фиг.8B иллюстрирует пользователя, выполняющего движение бега в сокращенном объеме, сокращенный жест включает в себя подмножество движения полного объема жеста фиг.8A.
Фиг.8C иллюстрирует пользователя, выполняющего второй тип сокращенного объема жеста, второй тип сокращенного объема жеста включает в себя движение, независимое от полного объема жеста фиг.8A.
Фиг.9 изображает пример последовательности операций для жестовых сокращений.
ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Как будет описано в настоящем документе, пользователь может управлять приложением, выполняемым в вычислительной среде, такой как игровая приставка, компьютер или подобное устройство, путем выполнения одного или более жестов. Согласно одному варианту осуществления изобретения, жесты могут быть приняты, например, с помощью устройства захвата. Например, устройство захвата может захватить глубину изображения сцены. В одном варианте осуществления изобретения устройство захвата может определить, соответствует ли одна или больше целей или объектов в сцене человеческому объекту, такому как пользователь. Для определения, соответствует ли цель или объект в сцене человеческому объекту, каждую из целей можно закрасить заливкой и сравнить с шаблоном модели человеческого тела. Каждая цель или объект, который совпадает с моделью человеческого тела, затем может быть отсканирован для создания скелетной модели, ассоциированной с ним. Скелетная модель может затем быть предоставлена вычислительной среде, так что вычислительная среда может отслеживать скелетную модель, представлять аватар, ассоциированный со скелетной моделью, и может определять, какие элементы управления исполнять в приложении, выполняемом на основе компьютерной среды, например, жесты пользователя, которые были распознаны, исходя из скелетной модели. Процессор распознавания жестов, архитектура которой описана более полно ниже, используется для определения, когда конкретный жест был выполнен пользователем.
Фиг.1A и 1B иллюстрируют вариант осуществления конфигурации системы распознавание цели, анализа и слежения 10 с пользователем 18, играющим в игру «бокс». В варианте осуществления изобретения системы распознавания цели, анализа и слежения 10 могут быть использованы для распознавания, анализа и/или слежения за человеческим объектом, таким как пользователь 18.
Как показано на фиг.1A, система распознавания цели, анализа и слежения 10 может включать в себя вычислительную среду 12. Вычислительная среда 12 может быть компьютером, игровой системой, или приставкой, или подобным устройством. Согласно варианту осуществления изобретения, вычислительная среда 12 может включать в себя аппаратные компоненты и/или программные компоненты, так что вычислительная среда 12 может быть использована для выполнения приложений, таких как игровые приложения, не игровые приложения или подобные им.
Как показано на фиг.1A, система распознавания цели, анализа и слежения 10 может дополнительно включать в себя устройство захвата 20. Устройство захвата 20 может быть, например, камерой, которая может быть использована для визуального мониторинга одного или более пользователей, такого как пользователь 18, так что жесты, выполненные одним или более пользователями, могут быть захвачены, проанализированы и прослежены для выполнения одного или более элементов управления или действий внутри приложения, как будет описано более подробно ниже.
Согласно одному варианту осуществления изобретения, система распознавания цели, анализа и слежения 10 может быть соединена с аудиовизуальным устройством 16, таким как телевизор, монитор, телевизор высокой четкости (HDTV) или подобными устройствами, которое может предоставить игру или визуальное и/или аудиоприложение пользователю, такому как пользователь 18. Например, вычислительная среда 12 может включать в себя видеоадаптер, такой как видеокарта и/или аудиоадаптер, такой как звуковая карта, которая может обеспечить аудиовизуальные сигналы, ассоциированные с игровым приложением, не игровым приложением или подобным им. Аудиовизуальное устройство 16 может принимать аудиовизуальные сигналы от вычислительной среды 12 и может затем выводить игру, визуальное и/или аудиоприложение, ассоциированное с аудиовизуальными сигналами игры, или приложения пользователю 18. Согласно одному варианту осуществления изобретения аудиовизуальное устройство 16 может быть соединено с вычислительной средой 12, например, через кабель S-видео, коаксиальный кабель, кабель HDMI, кабель DVI, кабель VGA или подобные им.
Как показано на фиг.1A и 1B, система распознавания цели, анализа и слежения 10 может быть использована для распознавания, анализа и/или слежения за человеческим объектом, таким как пользователь 18. Например, пользователь 18 может быть отслежен с использованием устройства захвата 20, так что движения пользователя 18 могут быть интерпретированы как элементы управления, что может быть использовано для воздействия на приложение, исполняемое компьютерной средой 12. Таким образом, согласно одному варианту осуществления изобретения, пользователь 18 может переместить свое тело для управления приложением.
Как показано на фиг.1A и 1B, в варианте осуществления изобретения приложение, исполняемое в вычислительной среде 12, может быть игрой в бокс, в которую может играть пользователь 18. Например, вычислительная среда 12 может использовать аудиовизуальное устройство 16 для предоставления визуального представления боксирующего соперника 22 пользователю 18. Вычислительная среда 12 также может использовать аудиовизуальное устройство 16 для предоставления визуального представления аватара игрока 24, которым пользователь 18 может управлять с помощью своих движений. Например, как показано на фиг.1B, пользователь 18 может нанести удар в физическом пространстве, что заставит аватар игрока 24 нанести удар в игровом пространстве. Таким образом, согласно варианту осуществления изобретения, компьютерная среда 12 и устройство захвата 20 системы распознавания цели, анализа и слежения 10 может быть использована для распознавания и анализа удара пользователя 18 в физическом пространстве так, что удар может быть интерпретирован как игровой элемент управления аватаром игрока 24 в игровом пространстве.
Другие движения пользователя 18 также могут быть интерпретированы как другие элементы управления или действия, такие как элементы управления бобслейными санями, катанием, тасованием, блокированием, ударом в боксе, джебом или размахом множества ударов кулаком различной силы. Кроме того, некоторые движения могут интерпретироваться как элементы управления, что может соответствовать действиям, отличным от управления аватаром игрока 24. Например, игрок может использовать движения для окончания игры, паузы или сохранения игры, чтобы выбрать уровень, посмотреть лучшие результаты, общаться с друзьями и так дополнительно.
В вариантах осуществления изобретений человеческий объект, такой как пользователь 18, может обладать объектом. В таких вариантах осуществления изобретения пользователь электронной игры может держать объект так, что движения игрока и данный объект могут быть использованы для корректировки и/или управления параметрами игры. Например, движение игрока, держащего ракетку, может быть отслежено и применено для управления виртуальной ракеткой в электронной спортивной игре. В другом варианте осуществления изобретения движение игрока, удерживающего объект, может быть отслежено и использовано для управления виртуальным оружием в электронной боевой игре.
Согласно другим вариантам осуществления изобретений, система распознавания цели, анализа и слежения 10, кроме того, может быть использована для интерпретации движений цели в качестве операционной системы и/или элементов управления приложением, которые находятся вне области действия игр. Например, в сущности, любой управляемый аспект операционной системы и/или приложения может быть управляем движениями цели, такой как пользователь 18.
Фиг.2 иллюстрирует вариант осуществления устройства захвата 20, которое может быть использовано в системе распознавания цели, анализа и слежения 10. Согласно варианту осуществления изобретения, устройство захвата 20 может быть сконфигурировано для захвата видеоизображения с информацией о глубине, включая глубину изображения, которая может включать значения глубины с помощью любой подходящей техники, включая, например, время движения, структурированное освещение, стереоизображение или подобное им. Согласно одному варианту осуществления изобретения, устройство захвата 20 может группировать вычисленную информацию глубины в "Z-слои" или слои, которые могут быть перпендикулярны Z-оси, распространяясь от камеры глубины вдоль ее линии наблюдения.
Как показано на фиг.2, устройство захвата 20 может включать в себя компонент камеры изображения 22. Согласно варианту осуществления изобретения, компонент камеры изображения 22 может быть камерой глубины, которая может захватить глубину изображения сцены. Глубина изображения может включать двухмерную (2-D) растровую область захваченной сцены, где каждый пиксель в 2-D растровой области может представлять дальность, например, в сантиметрах, миллиметрах или т.п. объекта в захваченной сцене от камеры.
Как показано на фиг.2, согласно варианту осуществления изобретения, компонент камеры изображения 22 может включать в себя компонент ИК света 24, трехмерную (3-D) камеру 26 и RGB-камеру 28, которая может быть использована для захвата глубины изображения сцены. Например, в анализе времени движения компонент ИК света 24 устройства захвата 20 может излучать инфракрасный свет в сцене и затем может использовать сенсоры (не показано) для нахождения отраженного света от поверхности одной или более целей или объектов сцены, используя, например, 3-D камеру 26 и/или RGB-камеру 28. В некоторых вариантах осуществления изобретения пульсирующий инфракрасный свет может быть использован так, что время между исходящей световой пульсацией и согласованным приходящим световым сигналом может быть измерено и использовано для определения физической дистанции от устройства захвата 20 до определенного места на целях или объектах в сцене. Кроме того, в других вариантах осуществления изобретения фаза исходящей световой волны может сравниваться с фазой входящей световой волны для определения фазового сдвига. Фазовый сдвиг может затем быть использован для определения физической дистанции от устройства захвата до определенного места на целях или объектах.
Согласно другому варианту осуществления изобретения, анализ способом прохождения может быть использован для косвенного определения физической дистанции от устройства захвата 20 до определенного места на целях или объектах путем анализа интенсивности отраженного потока света в динамике по времени с помощью различных технологий, включая, например, технологию shuttered light pulse imaging.
В другом варианте осуществления изобретения устройство захвата 20 может использовать структурированный свет для захвата информации о глубине. В таком анализе узорчатый свет (т.е. свет, падающий в виде известного рисунка, такого как сетчатый рисунок или рисунок в полоску) может быть спроецирован на сцену, например, с помощью компонента ИК света 24. При достижении поверхности одной или более целей или объектов в сцене рисунок может деформироваться под влиянием поверхности. Такая деформация рисунка может быть захвачена, например, 3-D камерой 26 и/или RGB-камерой 28, и затем может быть проанализирована для определения физической дистанции от устройства захвата до определенного места на целях или объектах.
Согласно другому варианту осуществления изобретения устройство захвата 20 может включать две или более физически разделенных камер, которые могут просматривать сцену с разных углов для приема визуальных стереоданных, которые подвергают разрешению для формирования информации о глубине.
Устройство захвата 20 может дополнительно включать в себя микрофон 30. Микрофон 30 может содержать датчик или сенсор, который может принимать и конвертировать звук в электрический сигнал. Согласно одному варианту осуществления изобретения, микрофон 30 может быть использован для упрощения обратной связи между устройством захвата 20 и вычислительной средой 12 в системе распознавания цели, анализа и слежения 10. Кроме того, микрофон 30 может быть использован для приема звукового сигнала, который также может быть представлен пользователем элементам управления приложения, таким как игровые приложения, неигровые приложения или подобным им, что может быть исполнено вычислительной средой 12.
В варианте осуществления изобретения устройство захвата 20, кроме того, может включать в себя процессор 32, который может находиться в оперативной связи с компонентом камеры изображения 22. Процессор 32 может включать в себя стандартный процессор, специальный процессор, микропроцессор или подобный им, который может исполнять команды, которые могут включать в себя команды для приема глубины изображения, определения, может ли быть подходящая цель включена в глубину изображения, конвертирования подходящей цели в скелетное представление или модель данной цели, или любую другую подходящую команду.
Устройство захвата 20, кроме того, может включать в себя компонент памяти 34, который может хранить команды, которые могут быть исполнены процессором 32, изображения или кадры изображений, захваченных 3-D камерой или RGB-камерой, или любую другую отвечающую требованиям информацию, изображения или подобное им. Согласно варианту осуществления изобретения, компонент памяти 34 может включать в себя память с произвольным доступом (RAM), постоянное запоминающее устройство (ROM), кэш, флэш-память, жесткий диск или любые другие отвечающие требованиям компоненты хранения. Как показано на фиг.2, в одном варианте осуществления изобретения компонент памяти 34 может быть отдельным компонентом в соединении с компонентом захвата изображения 22 и процессором 32. Согласно другому варианту осуществления изобретения, компонент памяти 34 может быть интегрирован в процессор 32 и/или компонент захвата изображения 22.
Как показано на фиг.2, устройство захвата 20 может иметь связь с вычислительной средой 12 через канал связи 36. Канал связи 36 может быть физическим соединением, включающим в себя, например, соединение USB, соединение Firewire, соединение кабелем Ethernet или подобное им, и/или может быть беспроводным соединением, таким как беспроводное соединение 802.11b, g, a или n. Согласно одному варианту осуществления изобретения, вычислительная среда 12 может предоставить генератор тактовых импульсов устройству захвата 20, который может быть использован для определения времени захвата, например, сцены через канал связи 36.
Кроме того, устройство захвата 20 может предоставить информацию о глубине и изображения, захваченные, например, 3-D камерой 26 и/или RGB-камерой 28, и скелетную модель, которая может быть создана устройством захвата 20 для вычислительной среды 12 через канал связи 36. Вычислительная среда 12 может затем использовать скелетную модель, информацию о глубине и захваченные изображения, например, для распознавания пользовательских жестов и в ответе элемента управления приложения, такого как игра или текстовый процессор. Например, как показано на фиг.2, вычислительная среда 12 может включать механизм 190 распознавания жестов. Механизм 190 распознавания жестов может включать в себя коллекцию фильтров жестов, каждый из которых включает в себя информацию, касающуюся жеста, который может быть выполнен скелетной моделью (как двигается пользователь). Данные, захваченные камерами 26, 28 и устройством 20 в виде скелетной модели и движений, ассоциированных с ними, могут сравниваться с фильтрами жестов в механизме 190 распознавания жестов для идентификации, при выполнении пользователем (как представлено скелетной моделью) одного или более жестов. Указанные жесты могут быть ассоциированы с различными элементами управления приложения. Таким образом, вычислительная среда 12 может использовать механизм 190 распознавания жестов для интерпретации движений скелетной модели и для управления приложением на основе движений.
Фиг.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.
Графический процессор (GPU) 108 и видеокодер/видеокодек (кодер/декодер) 114 формируют канал обработки видеоинформации для высокоскоростной и с высоким разрешением графической обработки. Данные поступают от графического процессора 108 на видеокодер/видеокодек 114 через шину. Канал обработки видеоинформации выводит данные на A/V (аудио/видео) порт 140 для передачи на телевизор или другой дисплей. Контроллер памяти 110 подключен к GPU 108 для облегчения задачи процессору в доступе к различным типам памяти 112, например, но без ограничения, RAM (Оперативное Запоминающее Устройство).
Мультимедийное устройство 100 включает в себя контроллер 120 ввода/вывода, контроллер 122 управления системой, блок обработки звукового сигнала 123, контроллер сетевого интерфейса 124, первый USB корневой контроллер 126, второй USB контроллер 128 и подблок 130 ввода/вывода передней панели, который преимущественно реализован в модуле 118. Контроллеры USB 126 и 128 выполняют функцию главного для периферийных контроллеров 142(1)-142(2), беспроводной адаптер 148 и устройство внешней памяти 146 (например, флэш-память, внешний CD/DVD привод, съемный носитель и т.д.). Сетевой интерфейс 124 и/или беспроводной адаптер 148 обеспечивают доступ к сети (например, Интернет, домашней сети и т.д.) и могут быть любыми из широкого спектра компонентов проводных или беспроводных адаптеров, включающих карту Ethernet, модем, модуль Bluetooth, кабельный модем и подобные им.
Системная память 143 представляется для хранения данных приложения, которое загружено во время процесса загрузки. Привод 144 носителя предоставляется и может включать в себя DVD/CD привод, жесткий диск или другой съемный привод носителя и т.д. Привод 144 носителя может быть внутренним или внешним для мультимедийного устройства 100. Указанные приложения могут быть доступны через привод 144 носителя для исполнения, проигрывания и т.д. через мультимедийное устройство 100. Привод 144 носителя соединен с контроллером 120 ввода/вывода через шину, такую как шина Serial ATA или другое высокоскоростное соединение (например, IEEE 1394).
Контроллер 122 управления системой предоставляет различные сервисные функции, относящиеся к обеспечению доступности мультимедийного устройства 100. Блок обработки звукового сигнала 123 и аудиокодек 132 образуют соответствующий канал обработки аудиоинформации с высококачественной и стереообработкой. Аудиоданные переносятся между блоком обработки звукового сигнала 123 и аудиокодеком 132 через канал связи. Канал обработки аудиоинформации выводит данные в A/V порт 140 для воспроизведения внешним аудиопроигрывателем или устройством, имеющим воспроизведение звука.
Подблок 130 ввода/вывода передней панели поддерживает функциональность кнопки питания 150 и кнопку выброса 152, а также любые LED (светодиоды) или другие индикаторы, расположенные на внешней поверхности мультимедийного устройства 100. Системный блок питания 136 обеспечивает питанием компоненты мультимедийного устройства 100. Вентилятор 138 охлаждает схему внутри мультимедийного устройства 100.
ЦП 101, GPU 108, контроллер памяти 110 и другие различные компоненты внутри мультимедийного устройства 100 соединены через одну или более шин, включая последовательные и параллельные шины, шину памяти, периферийную шину и процессор или локальную шину, используя любую из различных шинных архитектур. В качестве примера такие архитектуры могут включать локальную шину соединения периферийных устройств (PCI), шину PCI-Express и т.д.
Когда мультимедийное устройство 100 включено, данные приложения могут быть загружены из системной памяти 143 в память 112 и/или кэши 102, 104 и исполнены в ЦП 101. Приложение может предоставлять графический пользовательский интерфейс, который предоставляет единообразный пользовательский интерфейс при навигации в различных типах сред, имеющихся на мультимедийном устройстве 100. В рабочем состоянии приложения и/или другой носитель, находящийся в приводе 144 носителя, может быть запущен или проигран с привода 144 носителя для предоставления дополнительных возможностей мультимедийному устройству 100.
Мультимедийное устройство 100 может функционировать как отдельное устройство посредством простого подсоединения системы к телевизору или другому дисплею. В данном автономном режиме мультимедийное устройство 100 позволяет одному или более пользователям взаимодействовать с системой, смотреть кинофильм или слушать музыку. Однако в случае интеграции широкополосного соединения, предоставляемого через прямой сетевой интерфейс 124 или беспроводной адаптер 148, мультимедийное устройство 100, кроме того, может функционировать в качестве участника в крупномасштабном сетевом сообществе.
Когда мультимедийное устройство 100 включено, установленное количество аппаратных ресурсов резервируется для системы мультимедийного устройства операционной системой. Данные ресурсы могут включать в себя резервирование памяти (например, 16MB), ЦП и циклов GPU (например, 5%), пропускную способность (например, 8 кбит) и т.д. В связи с тем, что указанные ресурсы зарезервированы в процессе загрузки системы, зарезервированные ресурсы не доступны из приложения.
В частности, резервирование памяти преимущественно является достаточно большим, чтобы содержать загрузочное ядро, параллельные системные приложения и драйверы. Резервирование ЦП преимущественно является постоянным, таким, что если зарезервированное использование ЦП не используется системными приложениями, поток ожидания будет использовать любые неиспользуемые циклы.
Принимая во внимание резервирование GPU, легковесящие сообщения, сгенерированные системными приложениями (например, всплывающие), изображаются GPU, прерывая распределение кода для представления всплывающего окна в оверлее. Объем памяти, требуемый для оверлейного сегмента, зависит от размера зоны оверлея, и оверлей предпочтительно масштабируется в соответствии с разрешением экрана. В тех случаях, когда полный пользовательский интерфейс используется параллельным системным приложением, предпочтительно использовать разрешение, независимое от разрешения приложения. Блок масштабирования может быть использован для установки данного разрешения так, что необходимость изменять частоту и причина на TV ресинхронизации пропадают.
После того, как мультимедийное устройство 100 загружается, и системные ресурсы резервируются, параллельные системные приложения выполняются для предоставления функциональных возможностей системы. Функциональные возможности системы заключаются в наборе системных приложений, которые исполняются в зарезервированных системных ресурсах, описанных выше. Ядро операционной системы определяет потоки, которые являются потоками системных приложений, в отличие от потоков игровых приложений. Системные приложения приоритетно распределяются для исполнения в ЦП 101 в заданное время и интервалы в порядке предоставления соответствующего системного ресурса просмотра приложению. Распределение машинного времени требуется для минимизации сбоев кэша для игрового приложения, исполняемого на консоли.
Когда параллельное системное приложение запрашивает звук, обработка звука распределяется асинхронно игровому приложению из-за зависимости от фактора времени. Менеджер приложений мультимедийного устройства (описано ниже) управляет уровнем звука игрового приложения (например, отключая, уменьшая), если системные приложения активны.
Устройства ввода (например, контроллеры 142(1) и 142(2)) разделяются игровыми приложениями и системными приложениями. Устройства ввода не являются зарезервированными ресурсами, но подлежат переключению между системными приложениями и игровым приложением, так что каждое будет иметь фокус устройства. Менеджер приложений предпочтительно управляет переключением входного потока, не знания сведений игровых приложений, и драйвер сохраняет информацию состояния о переключениях фокуса. Камеры 26, 28 и устройство захвата 20 могут определять дополнительные устройства ввода для консоли 100.
Фиг.3B иллюстрирует другой вариант осуществления вычислительной среды 220, которая может быть вычислительной средой 12, показанной на фиг.1A-2, используемой для интерпретации одного или более жестов в системе распознавания цели, анализа и слежения. Среда вычислительной системы 220 представляет собой только один вариант подходящей вычислительной среды, и она не направлена на введение каких-либо ограничений как в области использования, так и функциональности настоящего раскрытия объекта изобретения. Также не следует интерпретировать вычислительную среду 220 как имеющую какую-либо зависимость или потребность, касающуюся любого компонента или комбинации компонентов, проиллюстрированных в типичной операционной среде 220. В некоторых вариантах осуществления изобретения различные описанные вычислительные элементы могут включать схему, сконфигурированную для иллюстрации специфических аспектов текущего раскрытия сущности изобретения. Например, термин «схема», используемый в раскрытии сущности изобретения, может включать специализированные аппаратные компоненты, сконфигурированные для выполнения функции (функций) встроенным программным обеспечением или переключателями. В других вариантах осуществления изобретения термин «схема» может включать в себя обрабатывающий блок общего назначения, память и т.д., сконфигурированные программными командами, которые включают в себя работающую логику для выполнения функции (функций). В вариантах осуществления изобретений, в которых схема включает в себя комбинацию аппаратного и программного обеспечения, конструктор может написать исходный код, включающий логику, и исходный код может быть откомпилирован в машинно-исполняемый код, который может быть обработан обрабатывающим блоком общего назначения. Поскольку можно понять, что уровень развития техники достиг точки, где существует небольшое различие между аппаратным решением, программным решением или комбинацией аппаратное решение/программное решение, выбор аппаратного решения по сравнению с программным решением, чтобы выполнить специфические функции, представляет собой проектное решение, конструктора. В частности, специалист в данной области техники может оценить, что программный процесс может быть трансформирован в эквивалентную аппаратную структуру, и аппаратная структура может быть сама трансформирована в эквивалентный программный процесс. Таким образом, выбор аппаратной реализации в сравнении с программной реализацией является одним из проектных решений и остается за конструктором.
На фиг.3B вычислительная среда 220 включает в себя компьютер 241, который обычно включает в себя целый ряд машиночитаемых носителей информации. Машиночитаемый носитель информации может быть любым доступным носителем, который может быть доступен посредством компьютера 241 и включает в себя изменяемый и неизменяемый носитель, съемный и несъемный носитель. Системная память 222 включает в себя компьютерное запоминающее устройство в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) 223 и оперативное запоминающее устройство (RAM) 260. Базовая система ввода/вывода 224 (BIOS), содержащая в себе базовые программы, которые помогают передавать информацию между элементами внутри компьютера 241, например, во время запуска, обычно сохраняется в ROM 223. RAM 260 обычно содержит данные и/или программные модули, которые моментально становятся доступны и/или немедленно будут исполняться блоком обработки данных 259. В качестве примера и без ограничения, фиг.3B иллюстрирует операционную систему 225, прикладные программы 226, другие программные модули 227 и данные 228 программы.
Компьютер 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 периферийных устройств вывода.
Компьютер 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. Следует понимать, что показанные сетевые соединения являются типичными и могут быть использованы другие пути достижения коммуникационного соединения между компьютерами.
Фиг.4A изображает примерное скелетное отображение пользователя, которое может быть создано благодаря устройству захвата 20. В данном варианте осуществления изобретения идентифицированы различные сочленения и кости: каждая рука 302, каждое предплечие 304, каждый локоть 306, каждый бицепс 308, каждое плечо 310, каждый бедренный сустав 312, каждое бедро 314, каждое колено 316, каждая голень 318, каждая стопа 320, голова 322, торс 324, верх 326 и низ 328 позвоночного столба и талия 330. В случае если большая часть точек отслеживается, могут быть идентифицированы дополнительные параметры, такие как кости и сочленения пальцев или пальцы ноги или индивидуальные параметры лица, такие как нос и глаза.
Путем перемещения в пространстве своего тела пользователь может создавать жесты. Жест включает в себя движение или позу пользователя, которая может быть захвачена в качестве данных изображения и интерпретирована по содержанию. Жест может быть динамическим, содержащим движение, такое как имитация бросания мяча. Жест может быть статической позой, такой как удерживание пользователем скрещенных предплечий 304 перед своим торсом 324. Жест также может включать в себя использование предметов реквизита, например взмах воображаемым мечом. Жест может включать в себя более одной части тела, такой как хлопанье в ладоши 302, непрерывное или еле заметное движение, такое как поджатие губ.
Жесты могут быть использованы для ввода общего вычислительного контекста. Например, различные движения рук 302 или других частей тела могут соответствовать общим задачам всей системы, таким как навигация вверх или вниз в иерархически устроенном списке, открытие файла, закрытие файла и сохранение файла. Жесты также могут быть использованы в специфичном контексте видеоигры, в зависимости от игры. Например, в случае игры с вождением различные движения рук 302 и ступней 320 могут соответствовать управлению рулем автомобиля по направлению, переключению передач, ускорению и торможению.
Пользователь может сформировать жест, который соответствует ходьбе или бегу, путем ходьбы или бега на месте. Пользователь может поочередно поднимать и опускать каждую ногу 312-320 для подражания ходьбе без движения. Система может интерпретировать данный жест путем анализа каждого бедренного сустава 312 и каждого бедра 314. Шаг может быть распознан, когда один угол тазобедренного сустава (который измерен относительно вертикальной линии, где стоящая нога имеет угол тазобедренного сустава 0° и вытянутая горизонтально вперед нога имеет угол тазобедренного сустава 90°) превышает определенную пороговую величину относительно другого бедра. Ходьба или бег могут быть распознаны после некоторого количества последовательных стадий перемещения ног. Время между двумя последними шагами может считаться периодом. После некоторого количества периодов, где данное пороговое значение угла не встретилось, система может определить, что жест ходьбы или бега прекращен.
При наличии жеста "ходьбы или бега" приложение может установить значения для параметров, ассоциированных с указанным жестом. Указанные параметры могут включать упомянутое пороговое значение угла, количество шагов, требуемых для инициализации жеста ходьбы или бега, количество периодов, где не оказалось ни одного шага до конца жеста, и пороговый период, который определяет, был ли это жест ходьбы или бега. Быстрый период может соответствовать бегу в тот момент, когда пользователь будет перемещать свои ноги быстро, и медленный период может соответствовать ходьбе.
Жест может быть ассоциирован с набором параметров по умолчанию изначально, которые приложение может переустановить вместе со своими собственными параметрами. В таком сценарии приложение не инициирует предоставление параметров, но может вместо этого использовать набор параметров по умолчанию, которые позволяют жесту быть распознанным в отсутствие у приложения заданных параметров.
Существует ряд выходных данных, которые могут быть ассоциированы с жестом. Может быть исходный уровень "да или нет" в отношении того, осуществляется ли жест. Также может быть уровень достоверности, который соответствует вероятности того, что отслеженное движение пользователя соответствует жесту. Это должна быть линейная шкала, которая пробегает значения чисел от 0 до 1 включительно. Там, где приложение, принимающее данную информацию жеста, не может принять ошибочные срабатывания в качестве ввода, оно может использовать только те распознанные жесты, которые имеют высокий уровень достоверности, такой как, по меньшей мере, .95. Если приложение должно распознать каждый экземпляр жеста, уже при счете ошибочных срабатываний, оно может использовать жесты, которые имеют, по меньшей мере, намного меньший уровень достоверности, такие как жесты с уровнем достоверности просто выше чем .2. Жест может иметь вывод данных для времени между двумя последними шагами, и в тех случаях, когда зарегистрирован только первый шаг, это может быть установлено в зарезервированное значение, такое как -1 (поскольку время между двумя шагами должно быть положительным). Жест также может иметь вывод данных для наибольшего угла бедра, достигнутого в течение самого последнего шага.
Другим типичным жестом является "прыжок с поднятием пяток". В данном случае пользователь может произвести жест, отрывая свои пятки от земли, но оставляя пальцы ног на месте. В качестве альтернативы, пользователь может прыгнуть вверх, где его ступни 320 полностью отрываются от земли. Система может интерпретировать скелет для данного жеста путем анализа отношения угла плеч 310, бедренных суставов 312 и коленей 316 для просмотра, находятся ли они в позиции расположения, соответствующей выпрямленному положению. Затем данные точки и верхняя 326 и нижняя 328 точки позвоночного столба могут быть проконтролированы на предмет любого ускорения вверх. Обоснованная комбинация ускорения может активировать жест прыжка.
При наличии указанного жеста "прыжок с поднятием пяток" приложение может установить значения для параметров, ассоциированных с данным жестом. Параметры могут включать упоминаемое ранее пороговое значение ускорения, которое определяет, как быстро некоторая комбинация плеч пользователя 310, бедренных суставов 312 и коленей 316 должна переместиться вверх, для активации жеста, а также максимальный угол выравнивания между плечами 310, бедренными суставами 312 и коленями 316, при котором прыжок все еще может быть активирован.
Выводы данных могут включать в себя уровень достоверности, а также угол тела пользователя в момент прыжка.
Установка параметров для жеста, основанная на деталях приложения, которые будут принимать жест, является важным для точности идентификации жестов. Должным образом идентифицируемые жесты и намерения пользователя очень помогают в создании положительного опыта пользователя. Если процессор распознавания жестов слишком чувствителен, и даже небольшое движение руки вперед 302 интерпретируется как бросок, пользователь может быть разочарован, потому что жесты распознаются, когда он не намеревался сделать жест, и, таким образом, он не имеет контроля над системой. Если процессор распознавания жестов не является достаточно чувствительным, система может не распознавать возникающих попыток пользователя сделать жест подбрасывания, разочаровывая его аналогичным образом. В любом конце спектра чувствительности пользователь разочаровывается, потому что он не может правильно предоставить входные данные для системы.
Другой параметр для жеста может быть дистанцией перемещения. В случае когда пользовательские жесты управляют действиями аватара в виртуальной среде, аватар может быть на расстоянии вытянутой руки от мяча. Если пользователь желает взаимодействовать с мячом и захватить его, от пользователя может потребоваться вытянуть свою руку 302-310 на полную длину во время выполнения жеста захвата. В такой ситуации подобный захватывающий жест в случаях, когда пользователь только частично вытягивает свою руку 302-310, может не достичь результата взаимодействия с мячом.
Жест или его часть могут иметь в качестве параметра объем пространства, в котором он должен произойти. Данный объем пространства обычно может быть выражен в связи с телом, в случаях когда жест содержит в себе движение тела. Например, жест броска в футболе для праворукого пользователя может быть распознан только в объеме пространства не ниже, чем правое плечо 310a, и на той же стороне головы 322, что и кидающая рука 302a-310a. Может являться необязательным определение всех границ объема, например, в случае с указанным бросающим жестом, где внешняя граница вдали от тела остается неопределенной, и объем неопределенно расширяется или к углу сцены, что контролируется.
Фиг.4B предоставляет дополнительные детали одного типичного варианта осуществления механизма 190 распознавания жестов фиг.2. Как показано, механизм 190 распознавания жестов может включать в себя не менее одного фильтра 418 для определения жеста или жестов. Фильтр 418 включает в себя информацию, определяющую жест 426 (в дальнейшем называемый как "жест") в соответствии с параметрами 428 или метаданными, для указанного жеста. Например, бросок, который включает в себя движение одной из рук из положения за телом в положение перед телом, может быть реализован как жест 426, включая информацию, представляющую движение одной из рук пользователя из положения за телом в положение перед телом, учитывая, что указанное движение было бы захвачено камерой глубины. Параметры 428 затем могут быть установлены для указанного жеста 426. В случае если жест 426 является броском, параметр 428 может быть пороговым значением скорости, которой рука может достичь, дистанции, которую рука должна пройти (или абсолютную, или относительную к размеру пользователя в целом), и оценкой достоверности, определяемой механизмом распознавания, что жест произошел. Указанные параметры 428 для жеста 426 могут отличаться в разных приложениях, разных контекстах отдельного приложения или в пределах одного контекста одного приложения с течением времени.
Фильтры могут быть модульными или чередующимися. В варианте осуществления изобретения фильтр имеет некоторое количество входов, каждый из указанных входов имеет тип и некоторое количество выходов, каждый из указанных выходов имеет тип. В данной ситуации первый фильтр может быть заменен вторым фильтром, который имеет такой же номер и типы входов и выходов, как первый фильтр без изменения любого другого аспекта архитектуры механизма распознавания. Например, может быть первый фильтр для вождения, который принимает, как входные, скелетные данные и выводит достоверность, что жест, ассоциированный с фильтром, имеет место, и выводит угол поворота руля. Если кто-либо хочет заменить указанный первый фильтр вождения на второй фильтр вождения, возможно потому, что второй фильтр вождения более эффективный и требует меньше ресурсов для обработки - кто-либо может с этой целью просто заменить первый фильтр вторым фильтром при условии, что второй фильтр имеет те же самые входы и выходы - один ввод типа скелетных данных и два вывода типа достоверности и тип угла.
Фильтру не обязательно нужен параметр. Например, фильтр "рост пользователя", который возвращает рост пользователя, может не предусматривать какие-либо параметры, которые могут быть настроены. Альтернативный фильтр "рост пользователя" может иметь настраиваемые параметры - например, принимать ли во внимание пользовательскую обувь, прическу, головной убор и положение при определении роста пользователя.
Входы в фильтр могут включать в себя элементы, такие как данные о положении суставов пользователя, такие как углы, образуемые костями, которые соединены в суставах, данные о цвете RGB из сцены, и скорость изменения аспекта пользователя. Выходы из фильтра могут включать в себя элементы, такие как достоверность, того, что указанный жест выполняется, скорость, с которой выполнено движение жеста, и время, за которое выполнено движение жеста.
Контекст может быть культурным контекстом, и он может быть контекстом окружающей среды. Культурный контекст относится к культуре пользователя, использующего систему. Различные культуры могут использовать похожие жесты для задания определенно различных значений. Например, американский пользователь, который желает сказать другому пользователю "смотри" или "используй свои глаза", может поднести свой указательный палец к своей голове, к внешнему углу глаза. Однако для итальянского пользователя данный жест может быть интерпретирован как ссылка на мафию.
Подобным образом могут быть различные контексты среди различных сред одного приложения. Возьмем игру-стрелялку от первого лица, которая включает управление автомобилем. Когда пользователь стоит на ногах, складывая пальцы в кулак в направлении земли и протягивая кулак вперед и на некоторое расстояние от тела, он может представлять жест удара. Когда пользователь находится в контексте управления автомобилем, то же движение может представлять жест "переключения передачи". Также может быть одно или более меню сред, где пользователь может сохранить свою игру, выбрать из оснащения своего персонажа или выполнить сходные действия, которые не составляют непосредственный игровой процесс. В такой среде указанный один и тот же жест может иметь третье значение, например, выбрать что-либо или переместиться к другому экрану.
Механизм 190 распознавания жестов может иметь базовый механизм 416 распознавания, который обеспечивает функциональность фильтра жеста 418. В варианте осуществления изобретения функциональность, которую механизм 416 распознавания реализует, включает в себя архив ввода с течением времени, который отслеживает распознанные жесты и другой ввод, реализацию скрытой марковской модели (где моделированная система, как предполагается, является марковским процессом - процессом, где текущее состояние инкапсулирует какую-либо информацию о прошлом состоянии, которая необходима для определения будущего состояния, вот почему другая информации о прошлом состоянии не должна сохраняться для данной цели - с неизвестными параметрами, и скрытые параметры определяются из наблюдаемых данных), а также другую функциональность, требуемую для решения конкретных реализаций распознавания жеста.
Фильтры 418 загружаются и реализуются поверх базового механизма 416 распознавания и могут использовать сервисы, предоставляемые механизмом 416, для всех фильтров 418. В варианте осуществления изобретения базовый механизм 416 распознавания обрабатывает принятые данные для определения, соответствуют ли они требованиям какого-либо фильтра 418. С момента предоставления этих сервисов, например, анализа входных данных, они предоставляются базовым механизмом 416 распознавания за один раз, а не обрабатываются каждым фильтром 418, такой сервис нужно обрабатывать только один раз за период времени, в отличие от одной обработки каждого фильтра 418 за период времени, поэтому обработка, требуемая для определения жестов, уменьшается.
Приложение может использовать фильтры 418, предоставленные механизмом 190 распознавания, или оно может предоставить свой собственный фильтр 418, который встраивается в базовый механизм 416 распознавания. В варианте осуществления изобретения все фильтры 418 имеют общий интерфейс, чтобы предоставить указанную характеристику плагинов. Дополнительно, все фильтры 418 могут использовать параметры 428, вот почему инструмент одиночного жеста, как описано ниже, может быть использован для отладки и настройки всей системы фильтров 418.
Указанные параметры 428 могут быть настроены для приложения или для контекста приложения инструментом жеста 420. В варианте осуществления изобретения инструмент жеста 420 включает в себя множество ползунков 422, каждый ползунок 422 соответствует параметру 428, а также наглядному представлению тела 424. Поскольку параметр 428 настраивается с помощью соответствующего ползунка 422, тело 424 может демонстрировать действия, которые будут распознаваться в качестве жеста с данными параметрами 428, и действия, которые будут распознаваться в качестве жеста с указанными параметрами 428, идентифицированными в таком качестве. Указанная визуализация параметров 428 жестов предоставляет эффективный способ для отладки и для тонкой настройки жеста.
Фиг.5 изображает более сложные жесты или фильтры 418, созданные из расположенных в стеке жестов или фильтров 418. Жесты могут располагаться в стеке друг за другом. То есть более чем один жест может быть изображен пользователем за один раз. Например, вместо отказа во вводе любой информации, кроме броска при выполнении жеста бросания или требования, чтобы пользователь сохранял неподвижность, за исключением компонентов жеста (например, стоять неподвижно при выполнении жеста бросания, в котором участвует только одна рука). Там, где стек жестов, пользователь может сделать жест прыжка и жест броска одновременно, и оба этих жеста будут распознаваться механизмом жестов.
Фиг.5A изображает простой фильтр жеста 418 согласно стековой парадигме. Фильтр IFilter 502 является базовым фильтром 418, который может быть использован в каждом фильтре жеста. IFilter 502 принимает данные о положении пользователя 504 и выводит уровень достоверности 506, что жест имел место. Он также загружает эти данные о положении 504 в фильтр 508 рулевого колеса, который принимает их в качестве входных данных и выводит угол, на который пользователь повернул руль (например, 40 градусов направо от текущего направления пользователя) 510.
Фиг.5B изображает более сложный жест, который располагает в стек фильтры 418 на фильтре жеста фиг.5A. В дополнение к IFilter 502 и рулевому колесу автомобиля 508 имеется фильтр ITracking 512, который принимает данные о положении 504 от IFilter 502 и выводит степень выполнения жеста, сделанного пользователем 514. ITracking 512 также загружает данные о положении 504 в GreaseLightning 516 и EBrake 518, которые являются фильтрами 418, считывающими другие жесты, которые могут быть сделаны при управлении автомобилем, например, использование ручного тормоза.
Фиг.6 изображает пример жеста, которым пользователь 602 может подать сигнал "честного захвата" в видеоигре в американский футбол. Указанные фигуры изображают пользователя в точках по времени, причем фиг.6A является первой точкой по времени и фиг.6E является последней точкой по времени. Каждая из указанных фигур может соответствовать снимку или кадру изображения, захваченному камерой глубины 402, даже необязательно последовательным кадрам данных изображения, поскольку камера глубины 402 может быть в состоянии захватить кадры с большей частотой, чем пользователь может пройти дистанцию. Например, указанный жест может произойти за период 3 секунды, и в случае, если камера глубины захватывает данные на скорости 40 кадров в секунду, будет захвачено 60 кадров данных изображения, в то время как пользователь 602 делал данный жест «честного захвата».
На фиг.6A пользователь 602 начинает опускать руки вдоль тела 604. Затем он поднимает руки вверх и над своими плечами, как изображено на фиг.6B, и затем дополнительно вверх, приблизительно на уровень своей головы, как изображено на фиг.6C. Из этого положения он опускает руки 604 на уровень плеч, как изображено на фиг.6D, и затем снова поднимает их вверх, приблизительно на уровень своей головы, как изображено на фиг.6E. В случае если система захватывает указанные положения пользователя 602 без какого-либо промежуточного положения, которое может сигнализировать, что жест отменен, или выполняется другой жест, то фильтр жеста честного захвата может вывести данные с высоким уровнем достоверности, что пользователь 602 сделал жест «честного захвата».
Фиг.7 изображает пример жеста "честного захвата" фиг.5, когда каждый кадр данных изображения был интерпретирован для представления скелетного отображения пользователя. Система, представившая скелетное отображение на основании глубины изображения пользователя, может теперь определить, как тело пользователя движется во времени и, исходя из этого, интерпретировать жест.
На фиг.7A плечи пользователя 310 находятся выше локтей 306, которые в свою очередь находятся выше его кистей 302. Затем на фиг.7 B плечи 310, локти 306 и кисти 302 находятся на одном уровне. Система на фиг.7C затем определяет, что кисти 302 находятся над локтями, которые находятся выше плеч 310. На фиг.7D пользователь вернулся в положение фиг.7B, где плечи 310, локти 306 и кисти 302 находятся на одном уровне. В конечном положении жеста, показанном на фиг.7E, пользователь возвращается в положение фиг.7C, где кисти 302 находятся над локтями, которые находятся над плечами 310.
В то время, когда устройство захвата 20 захватывает серии статичных изображений, таких что в любом одном изображении пользователь является неподвижным, пользователь двигается на протяжении выполнения данного жеста (в отличие от статичного жеста, как обсуждалось выше). Система в состоянии принимать данные серии поз в каждом статичном изображении, и из которых определяет уровень достоверности движущегося жеста, который пользователь делает.
При выполнении жеста маловероятно, что пользователь будет в состоянии сделать угол, который образован его правым плечом 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, и может быть выведен очень низкий уровень достоверности.
Фиг.8A-C иллюстрируют пользователя, делающего аналогичное распознаваемое системой движение бега с помощью различных захваченных движений и поз.
Фиг.8A иллюстрирует пользователя, выполняющего полный жест бега. Пользователь 18 захватывается устройством захвата 20. Пользователь 18 создает полный жест бега путем бега на месте - поочередно поднимая каждое колено приблизительно до талии, опуская затем ногу вниз на землю. Указанная версия полного жеста бега является циклическим жестом, при котором пользователь 18 повторяет движения, которые включают жест, в течение времени, в которое длится жест по его желанию.
Фиг.8B иллюстрирует пользователя, делающего сокращенный жест бега, сокращенный жест включает в себя подмножество движения полного жеста бега фиг.8A. Чтобы сделать указанную версию сокращенного жеста бега, пользователь 18 поднимает одну ногу так, что его колено находится примерно на уровне бедра и остается в указанной позе. Указанное жестовое сокращение включает в себя подмножество движения полного жеста фиг.8A, где пользователь на фиг.8A повторно поднимает и опускает свои колени, здесь пользователь поднимает свое колено и остается в указанной позе. В то время как полный жест фиг.8A содержит в себе повторяющееся движение, в данном варианте осуществления изобретения сокращенный жест содержит в себе серии неповторяющихся движений или серии движений, где серии в целом не повторялись. В варианте осуществления изобретения пользователь 18 опускает свое колено вниз, до положения стоя, когда он желает закончить жест. В варианте осуществления изобретения указанное действие опускания колена также может включать подмножество полного жеста. В варианте осуществления изобретения вычислительная среда 12 определяет, что данное движение заканчивает жестовое сокращение, а не производит полный жест, когда пользователь 18 держит свое колено примерно на уровне бедра в течение более чем установленного периода времени.
Фиг.8C иллюстрирует пользователя, делающего второй тип сокращенного жеста бега, второй тип сокращенного жеста бега включает в себя движение, отдельное от полного жеста бега фиг.8A. Здесь пользователь 18 делает один шаг вперед и остается в указанной позе, с одной стопой впереди другой, обе стопы на земле, в течение времени, которое он хочет производить жест бега. Данное положение не найдено в полном жесте бега фиг.8A. Пользователь 18 может закончить жест путем шага назад в положение стоя. Данный жест похож на жест фиг.8B тем, что оба жеста предусматривают движение для начала жеста, затем сохранение позы для поддержания жеста и движение для окончания жеста.
Фиг.9 иллюстрирует примерные операционные процедуры для жестовых сокращений. Как обсуждалось выше, один жестовый ввод в вычислительное устройство может быть распознан вычислительным устройством как результат множества способов, выполненных пользователем. В варианте осуществления изобретения указанное множество способов, которыми жест может быть выполнен пользователем, включает в себя полную версию жеста и сокращение жеста.
Жестовые сокращения могут быть использованы в ряде контекстов приложения. Например, жестовые сокращения бега могут быть использованы в приложениях, которые включают в себя бег, такие как беговая дорожка и игра на поле. Текстовый ввод сокращений может быть использован в текстовом вводе контекста приложения. Например, пользователь может использовать язык жестов для ввода текста. Полная версия жеста слова может включать в себя подписывания каждой буквы слова, так как H-E-A-R-T. Сокращение для жеста слова "heart" может включать один жест сердца, подобный изображению сердца, сложенного руками пользователя. Такой язык жестов может включать в себя Американский Язык Жестов (ASL).
Жестовое сокращение может вовлекать другие части тела, чем соответствующая полная версия жеста. Например, в случае если пользователь не может пользоваться ногами, и полная версия жеста бега включает в себя бег на месте, сокращение жеста может включать имитацию движения бега кистями пользователя.
Необязательное действие 902 изображает прием входных данных пользователя, соответствующих определению сокращения жеста. Например, пользователь или путем предупреждения вычислительного устройства, или через указание вычислительному устройству своего желания делать так может сделать движение или позу, которая захватывается устройством захвата и сохраняется как способ выполнения жеста.
В варианте осуществления изобретения, в котором пользователь определил жестовое сокращение посредством своего движения или позы, он может затем уточнить жестовое сокращение в системе. Например, в случае если жесты распознаются с применением фильтров и соответствующих параметров, он может настроить параметры своего жестового сокращения способами, описанными выше.
В варианте осуществления изобретения сокращение жеста соответствует полной версии второго жеста. Жестовое сокращение может соответствовать множеству полных жестов, и где пользователь определяет сокращение, он может показывать, что сокращение соответствует множеству полных жестов. Например, в контексте печати текстового файла Пользователь может определить одно жестовое сокращение, которое соответствует полному жесту выбора вертикальной ориентации бумаги, полный жест выбора печати четырех копий и полный жест выбора особого принтера для печати формы.
В варианте осуществления изобретения, в котором жесты распознаются через фильтры жеста и параметры, сокращение жеста и полная версия жеста могут использовать один и тот же фильтр жеста, но другое значение для одного или более параметров. Например, полная версия жеста "мяч брошен" может требовать, чтобы пользователь переместил свою кисть из-за торса приблизительно на длину руки перед торсом. Сокращение может уменьшить требуемую дистанцию, которую кисть должна пройти так, что кисть не должна быть вытянута ни далеко назад, ни далеко вперед. Это может быть выполнено в результате изменения значения или значений параметра, таких как параметр "минимальной дистанции кисти".
Операция 904 изображает прием данных, захваченных устройством захвата, причем данные соответствуют выполненному пользователем жесту. Устройство захвата может захватить сцену, которая содержит всего пользователя, например, от пола до потолка и до стены на каждой стороне комнаты, на расстоянии, на котором располагается пользователь. Устройство захвата также может захватить сцену, которая содержит только часть пользователя, например, пользователя от пояса вверх, когда он или она сидит за столом. Устройство захвата также может захватить объект, управляемый пользователем, например камеру реквизита, которую пользователь держит в своей руке.
Необязательное действие 906 изображает определение из приложения для обработки данных с сокращением жеста. Приложение может ограничить сокращения, которые используются в качестве входных данных, каким-то образом. Например, в игре на поле или на беговой дорожке бег может быть рассмотрен как составная часть процесса, и приложение может не разрешить или блокировать сокращение для жеста бега, требуя от пользователя сделать полный жест, когда он желает бежать. Для сравнения, в игре-стрелялке от первого лица бег может рассматриваться как вспомогательное средство при использовании игры, следовательно, использование сокращения для жеста бега может быть разрешено. В указанной игре-стрелялке от первого лица механика разряжения огнестрельного оружия может рассматриваться как составная часть процесса, и приложение может не разрешить или блокировать сокращение для жеста прицеливания или стрельбы.
В варианте осуществления изобретения пользователь может выполнить как сокращения для жестов, так и полные версии жестов, которые распознаются таким же образом, что пользователь может одновременно выполнить несколько жестов, как описано выше. Используя пример игры-стрелялки от первого лица, пользователь может одновременно сделать сокращение для жеста бега и полную версию жеста прицеливания.
В варианте осуществления изобретения указанное определение для обработки данных с сокращением жеста происходит от пользователя. Например, какие сокращения для обработки могут соответствовать уровню сложности приложения, которое выбирает пользователь. В случае если пользователь выбирает нижний уровень сложности, все сокращения могут быть обработаны. Когда пользователь увеличивает уровень сложности, количество разрешенных сокращений для обработки может уменьшиться, и заканчивая самым высоким уровнем сложности, где сокращения не обрабатываются.
Указанное определение может изменяться в динамике по времени для адаптации к возможностям пользователя. Например, установки по умолчанию разрешенных сокращений могут быть реализованы при старте сеанса приложения и разрешенные сокращения могут быть увеличены или уменьшены в течение сеанса, когда пользователь демонстрирует свою возможность хорошо исполнять жесты или не имеет такой возможности. Кроме того, поскольку пользователь устает по ходу сеанса или происходит улучшение способности, разрешенные сокращения могут быть увеличены или уменьшены для соответствия его текущему состоянию возможности.
Действие 908 изображает обработку данных для определения выходных данных, соответствующих тому, выполнил ли пользователь сокращение жеста, причем сокращение жеста соответствует полной версии жеста. В варианте осуществления изобретения указанные выходные данные могут включать в себя уровень достоверности, что жест имел место. В варианте осуществления изобретения выходные данные могут включать в себя индикацию в форме, наблюдалась ли полная версия жеста или жестовое сокращение.
Действие 910 изображает посылку выходных данных, соответствующих сокращению жеста, в приложение. В тех случаях, когда текущие действия выполняются приложением, выходные данные могут быть посланы компоненту приложения, которое принимает обработанные входные данные пользователя и преобразует их для действий в приложении.
Необязательное действие 912 изображает обработку данных для определения выходных данных, соответствующих тому, выполнил ли пользователь полную версию жеста, и отсылку выходных данных, соответствующих полной версии жеста, в приложение.
В варианте осуществления изобретения сокращение жеста включает в себя движение пользователя, которое содержит подмножество движения пользователя, которое включает в себя полную версию жеста.
В варианте осуществления изобретения выходные данные, соответствующие сокращению жеста, соответствуют высокой вероятности того, что пользователь начал выполнять жест, выходные данные, соответствующие полной версии жеста, соответствуют высокой вероятности того, что пользователь начал выполнять жест, и приложение распознает только один жест пользователя. В тех случаях, когда сокращение жеста включает в себя подмножество полной версии жеста, если пользователь выполняет полную версию жеста, он будет также выполнять сокращение жеста. Таким образом, для одного предполагаемого ввода жеста могут быть распознаны два жеста. В варианте осуществления изобретения, в котором и сокращение жеста, и полная версия жеста распознаются в пределах установленного периода времени (периода времени, который может быть специфичным для жеста и/или для пользователя), только один используется в качестве входных данных, и другой не принимается во внимание.
В варианте осуществления изобретения выходные данные, соответствующие сокращению жеста, соответствуют высокой вероятности того, что пользователь начал выполнять жест, выходные данные, соответствующие полной версии жеста, соответствуют высокой вероятности того, что пользователь начал выполнять жест, и приложение использует выходные данные, соответствующие полной версии жеста, для добавления детали к жесту. В тех случаях, когда сокращение жеста распознается и обрабатывается (например, соответствующая анимация или результат показывается на устройстве отображения), в качестве входных данных, приложением, и затем полная версия жеста распознается, в то время как сокращение жеста обрабатывается, выходные данные полной версии жеста могут быть использованы в обработке.
Например, полная версия жеста "прыжок" может включать в себя прыгающего пользователя. Сокращение указанного жеста "прыжок" может включать в себя начальные движения полной версии жеста - приседание и подъем - и выходные данные уровня достоверности, что жест был выполнен. В результате наблюдения сокращения жеста прыжка приложение может обрабатывать его путем отображения прыгающего пользовательского аватара. В то время как это происходит, если пользователь завершает полную версию жеста прыжка путем продолжения подъема и отрывания от земли обоих ступней, приложение может использовать высоту, на которую физически прыгает пользователь, чтобы отобразить аватар, прыгающий на соответствующую высоту, для добавления детали к текущему обрабатываемому сокращению прыжка. Если пользователь выполняет только сокращение жеста прыжка, приложение может отобразить аватар, прыгающий в высоту, которая задана по умолчанию.
В варианте осуществления изобретения в тех случаях, когда пользователь выполняет сокращение жеста, оно может соответствовать меньшему выполнению в приложении, чем в тех случаях, когда пользователь выполняет полную версию жеста. Например, в игре со скейтбордом, которая категорирует пользовательское исполнение с помощью набранных очков, если пользователь выполняет данный трюк, используя сокращение жеста скейтбордного трюка, пользователь может принять меньше пунктов, чем он имел бы, выполняя полную версию данного трюка, используя полную версию жеста скейтбордного трюка.
ЗАКЛЮЧЕНИЕ
В то время как настоящее раскрытие изобретения описано в связи с предпочтительными аспектами, как проиллюстрировано на различных фигурах, следует понимать, что другие подобные аспекты могут быть использованы, или могут быть внесены модификации и дополнения для описанных аспектов для выполнения такой же функции настоящего раскрытия изобретения без отклонения от них. Таким образом, настоящее раскрытие изобретения не должно ограничиваться никаким отдельным аспектом, но, скорее, интерпретироваться в объеме и в рамках согласно прилагаемой формуле изобретения. Например, различные процедуры, описанные в настоящем документе, могут быть реализованы аппаратно или программно или в комбинации обоих подходов. Таким образом, способы и оборудование раскрытых вариантов осуществления изобретения или некоторых аспектов или его частей могут получить форму программного кода (а именно, команд), воплощенных на материальных носителях информации, таких как дискеты, CD-ROM, жесткие диски или любые другие машиночитаемые носители информации. Когда программный код загружается в машину и исполняется машиной, такой как компьютер, машина становится оборудованием, сконфигурированным для применения раскрытых вариантов осуществления изобретения. В дополнение к конкретным вариантам реализации, предлагаемым здесь в явном виде, другие аспекты и реализации будут очевидны из рассмотрения описания, раскрытого в настоящем документе. Следует понимать, что описание и иллюстративные варианты реализации рассматриваются только в качестве примеров.
название | год | авторы | номер документа |
---|---|---|---|
СТАНДАРТНЫЕ ЖЕСТЫ | 2010 |
|
RU2534941C2 |
ВОПЛОЩЕНИЕ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ С ПОМОЩЬЮ ИЗУЧЕННОГО ВВОДА ОТ ПОЛЬЗОВАТЕЛЯ | 2010 |
|
RU2554548C2 |
АВТОМАТИЧЕСКОЕ ГЕНЕРИРОВАНИЕ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ | 2010 |
|
RU2560340C2 |
СВЯЗЫВАНИЕ АНИМАЦИЙ | 2010 |
|
RU2530708C2 |
МАНИПУЛИРОВАНИЕ ВИРТУАЛЬНЫМ ОБЪЕКТОМ | 2010 |
|
RU2555228C2 |
ВЫРАЖЕНИЕ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ, ОСНОВАННОЕ НА ВЫРАЖЕНИИ ИГРОКА | 2010 |
|
RU2560794C2 |
СИСТЕМЫ И СПОСОБЫ ПРИМЕНЕНИЯ ОТСЛЕЖИВАНИЯ МОДЕЛИ ДЛЯ ЗАХВАТА ДВИЖЕНИЙ | 2010 |
|
RU2580450C2 |
СИСТЕМА ДЛЯ РАСПОЗНАВАНИЯ И ОТСЛЕЖИВАНИЯ ПАЛЬЦЕВ | 2012 |
|
RU2605370C2 |
СПОСОБ ЗАПУСКА ПРИЛОЖЕНИЯ И ЭЛЕКТРОННОЕ УСТРОЙСТВО | 2020 |
|
RU2802281C2 |
СПОСОБ И СИСТЕМА УПРАВЛЕНИЯ ЭЛЕКТРОННЫМИ УСТРОЙСТВАМИ С ПОМОЩЬЮ ЭЛЕКТРОМИОГРАФИЧЕСКОГО УСТРОЙСТВА СЧИТЫВАНИЯ | 2017 |
|
RU2683859C1 |
Изобретение относится к устройствам ввода. Технический результат заключается в повышении скорости ввода информации. Движение пользователя или положение тела захватывается устройством захвата системы и используется в качестве входных данных для управления системой. Для системно-распознаваемого жеста возможна полная версия жеста и сокращение данного жеста. В случае если система распознает, что выполнена либо полная версия жеста, либо сокращение жеста, она посылает указание, что наблюдался системно-распознаваемый жест, в соответствующее приложение. В случае если жест содержит подмножество полной версии жеста, и как сокращение, так и полная версия жеста распознаются как выполненная пользователем полная версия жеста, система распознает, что произошло только единичное исполнение данного жеста. 3 н. и 17 з.п. ф-лы, 23 ил.
1. Способ использования сокращенного жеста в системе, которая берет пользовательские жесты в качестве ввода в приложение, содержащий этапы, на которых:
принимают данные, захваченные устройством захвата, причем эти данные соответствуют движению или позе пользователя;
определяют на основе упомянутых данных первые выходные данные, идентифицирующие, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет сокращение полного жеста, причем выполнение сокращения полного жеста идентифицирует команду, также идентифицируемую выполнением полного жеста, причем сокращение полного жеста содержит подмножество движения или позы пользователя, составляющих полный жест;
посылают первые выходные данные приложению;
определяют на основе упомянутых данных вторые выходные данные, идентифицирующие, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет полный жест;
посылают вторые выходные данные приложению; и в ответ на распознавание сокращения полного жеста и полного жеста в пределах заранее определенного количества времени приложение использует только либо сокращение полного жеста, либо полный жест в качестве ввода для упомянутой команды.
2. Способ по п. 1, дополнительно содержащий этап, на котором принимают пользовательский ввод, соответствующий определению движения или позы пользователя, используемых для выполнения сокращения полного жеста.
3. Способ по п. 1, в котором сокращение полного жеста соответствует второму жесту, который идентифицирует вторую команду, причем первые выходные данные идентифицируют, что вторая команда была вызвана.
4. Способ по п. 1, в котором сокращение полного жеста соответствует фильтру жеста и параметру, а полный жест соответствует упомянутым фильтру жеста и параметру, причем значение данного параметра для сокращения полного жеста отличается от такового для полного жеста, при этом при определении на основе упомянутых данных первых выходных данных, идентифицирующих, соответствуют ли движение или поза пользователя тому, что пользователь выполняет сокращение полного жеста, обрабатывают упомянутые данные с помощью упомянутых фильтра жеста и параметра.
5. Способ по п. 1, в котором при определении на основе упомянутых данных первых выходных данных, идентифицирующих, соответствуют ли движение или поза пользователя тому, что пользователь выполняет сокращение полного жеста, дополнительно определяют из приложения обработать упомянутые данные, чтобы определить, было ли сокращение полного жеста выполнено до обработки упомянутых данных для определения первых выходных данных.
6. Способ по п. 1, в котором при определении на основе упомянутых данных первых выходных данных, идентифицирующих, соответствуют ли движение или поза пользователя тому, что пользователь выполняет сокращение полного жеста, дополнительно определяют на основе упомянутых данных первые выходные данные, идентифицирующие, соответствуют ли упомянутые движение или поза пользователя тому, что пользователь выполняет сокращение полного жеста, дополнительно в качестве реакции на прием от пользователя указания, что должны распознаваться сокращенные жесты.
7. Способ по п. 1, в котором первые выходные данные показывают вызов упомянутой команды, при этом приложение связывает вызов этой команды с результатом или достижением, причем при посылке первых выходных данных приложению первые выходные данные посылаются приложению, при этом приложение связывает первые выходные данные с меньшим результатом или достижением, чем результат или достижение, которые были у упомянутой команды при ее вызове посредством выполнения полного жеста.
8. Способ по п. 1, в котором первые выходные данные содержат уровень достоверности, идентифицирующий вероятность того, что упомянутые движение или поза пользователя соответствует тому, что пользователь выполняет сокращение полного жеста, при этом способ дополнительно содержит этап, на котором в ответ на прием первых выходных данных приложение распознает, что упомянутая команда была вызвана, и в ответ на прием вторых выходных данных приложение добавляет детали к вызванной команде на основе вторых выходных данных.
9. Способ по п. 8, в котором вторые выходные данные показывают расстояние, на которое пользователь переместил часть тела, или позицию этой части тела.
10. Способ по п. 8, дополнительно содержащий этап, на котором в качестве реакции на определение того, что пользователем выполнено сокращение полного жеста без последующего выполнения полного жеста, посылают в приложение третьи выходные данные, показывающие, что пользователь выполняет сокращение полного жеста, при этом приложение распознает, что упомянутая команда была вызвана, и в качестве реакции на определение того, что пользователем не выполнялся полный жест, для вызова упомянутой команды используют значение по умолчанию.
11. Машиночитаемое запоминающее устройство, на котором сохранены машиночитаемые инструкции для использования сокращенного жеста в системе, которая берет пользовательские жесты в качестве ввода в приложение, причем машиночитаемые инструкции при их исполнении процессором предписывают процессору выполнять операции, содержащие:
прием данных, захваченных устройством захвата, причем эти данные соответствуют движению или позе пользователя;
определение на основе упомянутых данных первых выходных данных, идентифицирующих, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет сокращение полного жеста, причем выполнение сокращения полного жеста идентифицирует команду, также идентифицируемую выполнением полного жеста, причем сокращение полного жеста содержит подмножество движения или позы пользователя, составляющих полный жест;
отправку первых выходных данных приложению;
определение на основе упомянутых данных вторых выходных данных, идентифицирующих, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет полный жест;
отправку вторых выходных данных приложению; и
в ответ на распознавание сокращения полного жеста и полного жеста в пределах заранее определенного количества времени приложение использует только либо сокращение полного жеста, либо полный жест в качестве ввода для упомянутой команды.
12. Машиночитаемое запоминающее устройство по п. 11, дополнительно содержащее машиночитаемые инструкции, которые при их исполнении процессором предписывают процессору выполнять операции, содержащие прием пользовательского ввода, соответствующего определению движения или позы пользователя, используемых для выполнения сокращения полного жеста.
13. Машиночитаемое запоминающее устройство по п. 11, при этом сокращение полного жеста соответствует второму жесту, который идентифицирует вторую команду, причем первые выходные данные идентифицируют, что вторая команда была вызвана.
14. Машиночитаемое запоминающее устройство по п. 12, при этом первые выходные данные показывают вызов упомянутой команды, причем приложение связывает вызов этой команды с результатом или достижением, при этом при отправке первых выходных данных приложению первые выходные данные посылаются приложению и приложение связывает первые выходные данные с меньшим результатом или достижением, чем результат или достижение, которые были у упомянутой команды при ее вызове посредством выполнения полного жеста.
15. Машиночитаемое запоминающее устройство по п. 12, при этом первые выходные данные содержат уровень достоверности, идентифицирующий вероятность того, что упомянутые движение или поза пользователя соответствует тому, что пользователь выполняет сокращение полного жеста, причем машиночитаемое запоминающее устройство дополнительно содержит машиночитаемые инструкции, которые при их исполнении процессором предписывают процессору выполнять этапы, на которых:
в ответ на прием первых выходных данных приложение распознает, что упомянутая команда была вызвана, и,
в ответ на прием вторых выходных данных приложение добавляет детали к вызванной команде на основе вторых выходных данных.
16. Компьютерная система для использования жестового сокращения в системе, которая берет пользовательские жесты в качестве ввода в приложение, содержащая: процессор; и
память, подключенную к процессору с возможностью обмена данными при работе компьютерной системы, при этом в памяти содержатся исполняемые процессором инструкции, которые при их исполнении процессором предписывают компьютерной системе, по меньшей мере:
принимать данные, захваченные устройством захвата, причем эти данные соответствуют движению или позе пользователя;
определять на основе упомянутых данных первые выходные данные, идентифицирующие, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет сокращение полного жеста, причем выполнение сокращения полного жеста идентифицирует команду, также идентифицируемую выполнением полного жеста, причем сокращение полного жеста содержит подмножество движения или позы пользователя, составляющих полный жест;
посылать первые выходные данные приложению;
определять на основе упомянутых данных вторые выходные данные, идентифицирующие, что упомянутые движение или поза пользователя соответствуют тому, что пользователь, вероятно, выполняет полный жест;
посылать вторые выходные данные приложению; и
в ответ на распознавание сокращения полного жеста и полного жеста в пределах заранее определенного количества времени приложение использует только либо сокращение полного жеста, либо полный жест в качестве ввода для упомянутой команды.
17. Система по п. 16, в которой в памяти дополнительно содержатся исполняемые процессором инструкции, которые при их исполнении процессором предписывают системе, по меньшей мере, принимать пользовательский ввод, соответствующий определению движения или позы пользователя, используемых для выполнения сокращения полного жеста.
18. Система по п. 16, при этом сокращение полного жеста соответствует второму жесту, который идентифицирует вторую команду, причем первые выходные данные идентифицируют, что вторая команда была вызвана.
19. Система по п. 16, при этом первые выходные данные показывают вызов упомянутой команды, причем приложение связывает вызов этой команды с результатом или достижением, при этом исполняемые процессором инструкции, которые при их исполнении процессором предписывают процессору, по меньшей мере, посылать первые выходные данные приложению, дополнительно предписывают системе, по меньшей мере, посылать первые выходные данные приложению, при этом приложение связывает первые выходные данные с меньшим результатом или достижением, чем результат или достижение, которые были у упомянутой команды при ее вызове посредством выполнения полного жеста.
20. Система по п. 16, при этом первые выходные данные содержат уровень достоверности, идентифицирующий вероятность того, что упомянутые движение или поза пользователя соответствует тому, что пользователь выполняет сокращение полного жеста, причем в ответ на прием первых выходных данных приложение распознает, что упомянутая команда была вызвана, и в ответ на прием вторых выходных данных приложение добавляет детали к вызванной команде на основе вторых выходных данных.
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Система для подачи теплоносителя в гараж для размораживания сыпучих грузов в железнодорожных полувагонах | 1987 |
|
SU1615109A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
СПОСОБ ВВОДА ИНФОРМАЦИИ В МАЛОГАБАРИТНЫЙ ТЕРМИНАЛ, РАЗМЕЩАЮЩИЙСЯ В РУКЕ ПОЛЬЗОВАТЕЛЯ, В ЧАСТНОСТИ РАДИОТЕЛЕФОННУЮ ТРУБКУ, ПЕЙДЖЕР, ОРГАНАЙЗЕР | 2001 |
|
RU2201618C2 |
Авторы
Даты
2016-02-10—Публикация
2010-05-29—Подача