2420-180584RU/20
УПРАВЛЕНИЕ ВИРТУАЛЬНЫМИ ПОРТАМИ
УРОВЕНЬ ТЕХНИКИ
В типичной вычислительной среде пользователь имеет устройство ввода данных, такое как клавиатура, мышь, джойстик и т.п., которое может быть соединено с вычислительной средой кабелем, проводом, посредством беспроводного соединения или некоторыми другими средствами соединения. Если управление вычислительной среды должно быть перенесено с присоединенного контроллера на управление на основе жестов, у пользователя может больше не быть присоединенного устройства для информирования вычислительной среды о порте, с которым пользователь ассоциирован. Кроме того, если в области захвата основанной на жестах среды находятся несколько пользователей, система должна определить, жесты какого пользователя следует игнорировать, на кого следует обращать внимание, или кто с каким портом ассоциирован. Наконец, если несколько пользователей одновременно обеспечивают вычислительной среде жестовый ввод, системе может потребоваться различать нескольких пользователей и определять для них приоритет или протокол.
Взаимодействие с пользователем в теоретической основанной на жестах системе также может представлять несколько проблем. Например, когда вычислительная среда имеет установленный ввод, такой как контроллер или клавиатура, пользователь может определить, что он имеет контроллер с портом, что он нажимает клавиши или кнопки, и что система отвечает. Когда управление вычислительной средой перенесено на жесты пользователя, пользователю может требоваться обратная связь, которая позволит ему знать, что он обнаруживается, что он привязан в качестве контроллера к системе и т.п.
В соответствии с этим необходимы системы и способы, посредством которых вычислительная среда может выбирать основного пользователя для вычислительной среды. Также есть потребность иметь способы и системы для назначения или отмены назначения пользователя в системе, позволяющие передавать или иным образом получать, терять или перемещать управление вычислительной средой, когда управление основано на жестах.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Здесь описаны методики для управления виртуальными портами. Также здесь описаны методики для привязки пользователей к основанной на жестах системе и обеспечения обратной связи пользователям.
В варианте воплощения определены несколько состояний, которые представляют уровень взаимодействия пользователя с виртуальными портами системы. Эти состояния могут включать в себя, например, состояние без привязки и без выполненного обнаружения, когда пользователь не обнаружен в области захвата и устройство захвата не привязано к пользователю. Состояния также могут включать в себя состояние без привязки и с выполненным обнаружением, когда пользователь может быть обнаружен в области, но система еще не выполнила привязку к пользователю. Состояния также могут включать в себя состояние с привязкой и с выполненным обнаружением, когда пользователь обнаружен устройством захвата и привязан к нему, и в этом состоянии пользователь может предоставлять жестовые команды основанной на жестах системе. Система также может находиться в состоянии с привязкой и без выполненного обнаружения, когда пользователь, к которому выполнена привязка, выходит из области обнаружения устройства захвата.
Пользователю может быть предоставлена обратная связь для указания текущего состояния порта и указания изменения состояния. Такая обратная связь, например, может принимать вид визуального представления, которое может представлять собой включение или выключение света, изменение цветов или мигание. Также могут использоваться другие подходящие типы обратной связи, например, звуковая обратная связь.
Другой вариант воплощения представляет системы и способы для ассоциирования пользователей с виртуальными портами в основанной на жестах системе. Первый пользователь, выполняющий вход в компьютерный сеанс, делает жест входа. Когда основанная на жестах система обнаруживает этот жест входа, система может ассоциировать первого пользователя с первичным виртуальным портом. Если второй пользователь входит в область захвата и делает жест входа, система может ассоциировать второго пользователя со вторичным виртуальным портом. Если третий пользователь входит в область захвата и делает жест входа, система может присвоить третьему пользователю третичный порт. Этот шаблон присваивания пользователей к соответствующим виртуальным портам может быть повторен для любого количества дополнительных пользователей. Каждый виртуальный порт может иметь свое собственное множество соответствующих признаков, включающих в себя, например, преимущественные права, права или дополнительные возможности. Например, первичный порт может, хотя не обязательно должен иметь дополнительные признаки, которые не доступны другим портам.
В другом варианте воплощения два или более пользователей могут решить изменить виртуальные порты. Например, если имеется два пользователя, причем один имеет первичный порт, а другой имеет вторичный порт, пользователи могут сделать жест, например, рукопожатие, после которого компьютер выполнит взаимный обмен виртуальных портов этих двух пользователей.
В другом варианте воплощения первый пользователь может выполнить жест выхода, чтобы выйти из основанной на жестах системы. В одном аспекте этого варианта воплощения, если имеются другие пользователи, ассоциированные с виртуальными портами в вычислительной среде, система может переназначить ассоциацию виртуальных портов после выхода первого пользователя.
В другом варианте воплощения прикладная программа может иметь специфические жесты, которые дают пользователю возможность входа, выхода, передачи, приостановки системы и т.п. Некоторые прикладные программы также могут запрашивать желающих для выполнения отдельных задач. В таких обстоятельствах один или более пользователей могут сделать жест желающего, который может заставить систему переназначить виртуальные порты по меньшей мере на время продолжительности конкретной задачи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1A, 1B и 1C показывают иллюстративный вариант воплощения основанной на жестах системы с пользователем, играющим в игру.
Фиг. 2 показывает иллюстративный вариант воплощения устройства захвата, которое может использоваться в основанной на жестах системе.
Фиг. 3 показывает иллюстративный вариант воплощения вычислительной среды, которая может использоваться для интерпретации одного или более жестов пользователя, привязанного к основанной на жестах системе и ассоциированного с виртуальным портом.
Фиг. 4 показывает другой иллюстративный вариант воплощения вычислительной среды, которая может использоваться для интерпретации одного или более жестов пользователя, привязанного к основанной на жестах системе и ассоциированного с виртуальным портом.
Фиг. 5 иллюстрирует пример среды управления для игровой системы предшествующего уровня техники, в которой контроллеры, соединенные с помощью кабеля или беспроводного соединения, могут использоваться для управления вычислительной средой.
Фиг. 6 показывает нескольких пользователей в области захвата основанной на жестах системы, которая может выполнять привязку пользователей, предоставлять им обратную связь и ассоциировать их с виртуальным портом.
Фиг. 7 показывает один пример пользователя, смоделированного основанной на жестах системой, пользователь смоделирован в виде суставов и конечностей, и движение этих суставов и конечностей может использоваться для интерпретации жестов для основанной на жестах вычислительной среды.
Фиг. 8 показывает последовательность жестов, которые пользователь может сделать в основанной на жестах системе, такие жесты могут использоваться для ассоциирования одного или более пользователей с виртуальными портами, выполнения передачи, выхода, паузы, выбора, перемещения и т.п.
Фиг. 9 изображает блок-схему последовательности операций для изменения состояния основанной на жестах системы из состояния без привязки в состояние с привязкой и предоставления пользователю обратной связи о его состоянии.
Фиг. 10 изображает блок-схему последовательности операций для предоставления пользователю обратной связи о его состоянии, когда он выходит из области захвата.
Фиг. 11 изображает блок-схему последовательности операций для ассоциирования виртуальных портов с пользователями.
Фиг. 12 изображает блок-схему последовательности операций для ассоциирования виртуальных портов с двумя или более пользователями на основе запроса желающего от основанной на жестах системы.
Фиг. 13 изображает блок-схему последовательности операций для создания передачи виртуальных портов между двумя или более пользователями.
ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ВОПЛОЩЕНИЯ
Как будет описано здесь, основанная на жестах система может выполнять привязку к людям и ассоциировать их с виртуальными портами, обеспечивая обратную связь о состоянии привязки и ассоциациях виртуальных портов. Другие аспекты вычислительной среды могут быть выполнены с возможностью выполнять привязку к пользователю или информировать пользователя, ассоциировать его с виртуальным портом или поддерживать непротиворечивое взаимодействие с пользователем.
Фиг. 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-Video, коаксиальный кабель, кабель HDMI, кабель DVI, кабель VGA, беспроводное соединение и т.п.
Как показано на фиг. 1A и 1B, основанная на жестах система 10 может использоваться для распознавания, анализа и/или отслеживания человеческой цели, такую как пользователь 18. Например, пользователь 18 может быть отслежен с использованием устройства захвата 20, таким образом позиция, движение и размер пользователя 18 могут быть интерпретированы как управляющие действия, которые могут использоваться для воздействия на прикладную программу, исполняемую компьютерной средой 12. Таким образом, в соответствии с одним вариантом воплощения пользователь 18 может выполнять движения своим телом для управления прикладной программой.
Когда пользователь не находится в области захвата устройства 20 захвата, основанная на жестах система 10 может обеспечить обратную связь об этом состоянии без привязки и без обнаружения системы 10. Когда пользователь 18 входит в область захвата устройства 20 захвата, состояние обратной связи может измениться из состояния без привязки и без обнаружения в состояние обратной связи без привязки и с выполняющимся обнаружением. Затем система 10 может выполнить привязку к пользователю 18, что может изменить состояние обратной связи из состояния без привязки и с выполняющимся обнаружением в состояние с привязкой. После того, как пользователь 18 привязан к основанной на жестах вычислительной среде 12, он может сделать жест, который включит остальную часть системы 10. Пользователь 18 может также сделать второй жест, который введет его в ассоциацию с виртуальным портом. Состояние обратной связи может измениться таким образом, что пользователь 18 знает о том, что он ассоциирован с виртуальным портом. Пользователь 18 затем может обеспечить последовательность жестов для управления основанной на жестах системой 10. Например, если пользователь 18 хочет открыть одно или более меню или приостановить один или более процессов системы 10, он может сделать жест паузы или меню. После окончания компьютерного сеанса пользователь может сделать жест выхода, который может заставить основанную на жестах систему 10 отменить ассоциацию пользователя 18 с виртуальным портом. Это может заставить состояние обратной связи измениться c состояния с ассоциацией с виртуальным портом на состояние с привязкой и с выполненным обнаружением. Затем пользователь 18 может выйти из диапазона датчиков, что может заставить состояние обратной связи измениться с состояния с привязкой и с выполненным обнаружением на состояние без обнаружения. Если система 10 отменяет привязку к пользователю 18, состояние обратной связи может измениться на состояние без привязки.
Как показано на фиг. 1A и 1B, в иллюстративном варианте воплощения прикладная программа, исполняющаяся в вычислительной среде 12, может представлять собой игру с имитацией бокса, в которую может играть пользователь 18. Например, вычислительная среда 12 может использовать аудиовизуальное устройство 16 для обеспечения визуального представления боксирующего противника 22 пользователю 18. Вычислительная среда 12 также может использовать аудиовизуальное устройство 16 для обеспечения визуального представления видеообраза 24 пользователя, которым пользователь 18 может управлять своими движениями на экране 14. Например, как показано на фиг. 1B, пользователь 18 может нанести удар в физическом пространстве, чтобы заставить видеообраз 24 пользователя нанести удар в игровом пространстве. Таким образом, в соответствии с иллюстративным вариантом воплощения компьютерная среда 12 и устройство 20 захвата основанной на жестах системы 10 могут использоваться для распознавания и анализа удара пользователя 18 в физическом пространстве, с тем чтобы удар мог быть интерпретирован как игровое управляющее действие видеообраза 24 пользователя в игровом пространстве.
Пользователь 18 может быть ассоциирован с виртуальным портом в вычислительной среде 12. Обратная связь состояния виртуального порта в вычислительной среде 12 может быть дана пользователю 18 в форме звука или отображения на аудиовизуальном устройстве 16, на дисплее, таком как светодиод (LED) или лампа, через динамик или через любые другие средства обеспечения обратной связи пользователю. Обратная связь может использоваться для сообщения пользователю 18, когда он находится в области захвата устройства 20 захвата, привязан ли он к основанной на жестах системе 10, с каким виртуальным портом он ассоциирован, и когда он управляет видеообразом, таким как видеообраз 24. Жесты пользователя 18 могут изменить состояние системы 10, и, таким образом, обратную связь, которую пользователь 18 принимает от системы 10.
Другие движения пользователя 18 также могут быть интерпретированы как другие управляющие действия или действия, такие как управляющие действия для подскока, покачивания, уклона, блока, удара по корпусу или нанесения различных по мощности ударов. Кроме того, некоторые движения могут быть интерпретированы как управляющие действия, которые могут соответствовать действиям, отличающимся от управления видеообразом 24 пользователя. Например, пользователь 18 может использовать движения для входа, выхода, включения или выключения системы, приостановки, выражения желания выполнять задачу, переключения виртуальных портов, сохранения игры, выбора уровня, профиля или меню, просмотра таблицы рекордов, общения с другом и т.д. Кроме того, весь спектр движений пользователя 18 может являться доступным, использованным и проанализированным любым подходящим способом для взаимодействия с прикладной программой.
На фиг. 1C человеческая цель, такая как пользователь 18, может иметь объект, такой как ракетка 21. В таких вариантах воплощения пользователь электронной игры может держать объект, с тем чтобы движения пользователя и объекта могли использоваться для коррекции и/или управления параметрами игры, например, ударом по экранному мячу 23. Движение пользователя, держащего ракетку 21, может быть отслежено и использовано для управления экранной ракеткой в электронной спортивной игре. В другом иллюстративном варианте воплощения движение пользователя, держащего объект, может быть отслежено и использовано для управления экранным оружием в электронной боевой игре. Может быть использован любой другой объект, такой как одна или более перчаток, мячи, биты, клюшки, гитары, микрофоны, палки, домашние животные, животные, барабаны и т.п.
В соответствии с другими иллюстративными вариантами воплощения основанная на жестах система 10 также может использоваться для интерпретации целевых движений в качестве управляющих действий операционной системы и/или прикладной программы, которые находятся вне области игр. Например, фактически любым управляемым аспектом операционной системы и/или прикладной программы можно управлять посредством перемещения цели, такой как пользователь 18.
Как показано на фиг. 2, в соответствии с иллюстративным вариантом воплощения компонент 25 камеры изображения может включать в себя компонент 26 инфракрасного (IR) освещения, трехмерную (3D) камеру 27 и RGB-камеру 28, которые могут использоваться для захвата изображения глубины сцены. Например, при анализе по методике времени прохождения компонент 26 инфракрасного освещения устройства 20 захвата может испускать на сцену инфракрасный свет и затем может использовать датчики (не показаны) для обнаружения отраженного света от поверхности одной или более целей и объектов в сцене с использованием, например, трехмерной камеры 27 и/или RGB-камеры 28. В некоторых вариантах воплощения может использоваться импульсный инфракрасный свет, с тем чтобы время между импульсом уходящим исходящего света и соответствующим импульсом входящего света могло быть измерено и использовано для определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах в сцене. Кроме того, в других иллюстративных вариантах воплощения фаза исходящей световой волны может быть сравнена с фазой входящей световой волны для определения сдвига фазы. Сдвиг фазы может затем использоваться для определения физического расстояния от устройства захвата до конкретного местоположения на целях или объектах.
В соответствии с другим иллюстративным вариантом воплощения анализ по методике времени прохождения может использоваться для косвенного определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах посредством анализа интенсивности отраженного луча света в течение времени посредством различных методик, в том числе, например, формирования изображений с помощью прерывистых световых импульсов.
В другом иллюстративном варианте воплощения устройство 20 захвата может использовать структурированный свет для захвата информацию глубины. При таком анализе структурированный свет (то есть, свет, отображаемый с известным рисунком, таким как сетчатый рисунок или рисунок в полоску) может быть спроецирован на сцену, например, через компонент 26 инфракрасного освещения. После столкновения с поверхностью одной или более целей или объектов в сцене рисунок может в ответ стать деформированным. Такая деформация рисунка может быть захвачена, например, трехмерной камерой 27 и/или RGB-камерой 28 и затем может быть проанализирована для определения физического расстояния от устройства захвата до конкретного местоположения на целях или объектах.
В соответствии с другим вариантом воплощения устройство 20 захвата может включать в себя две или более физически разнесенных камеры, которые могут обозревать сцену с разных углов, для получения визуальные стереоскопических данных, которые могут быть проанализированы для формирования информации глубины.
Устройство 20 захвата может также включать в себя микрофон 30. Микрофон 30 может включать в себя преобразователь или датчик, который может принимать и преобразовывать звук в электрический сигнал. В соответствии с одним вариантом воплощения микрофон 30 может использоваться для уменьшения обратной связи между устройством 20 захвата и вычислительной средой 12 в основанной на жестах системе 10. Кроме того, микрофон 30 может использоваться для приема аудиосигналов, которые также могут быть выданы пользователем для управления прикладными программами, такими как игровые прикладные программы, не игровые прикладные программы и т.п., которые могут исполняться вычислительной средой 12.
Устройство 20 захвата также может включать в себя компонент 31 обратной связи. Компонент 31 обратной связи может содержать световой источник, такой как жидкокристаллический дисплей (LED) или лампа, динамик и т.п. Устройство обратной связи может выполнять по меньшей мере одно действие из множества, содержащего изменение цвета, включения или выключения, увеличения или уменьшения яркости и мигания с изменяющейся скоростью. Компонент 31 обратной связи также может содержать динамик, который может обеспечить один или более звуков или шумов в качестве обратной связи одного или более состояний. Компонент обратной связи также может работать в комбинации с вычислительной средой 12 или процессором 32 для обеспечения пользователю одной или более форм обратной связи посредством любого другого элемента устройства захвата, основанной на жестах системы и т.п.
В иллюстративном варианте воплощения устройство 20 захвата может также включать в себя процессор 32, который может быть связан с возможностью взаимодействия с компонентом 25 камеры изображения. Процессор 32 может включать в себя стандартизированный процессор, специализированный процессор, микропроцессор и т.п., которые могут исполнять команды, которые могут включать в себя команды для приема изображения глубины, определения, может ли подходящая цель быть включена в изображение глубины, преобразования подходящей цели в скелетное представление или модель цели, или любую другую подходящую команду.
Устройство 20 захвата может также включать в себя компонент 34 памяти, который может хранить команды, которые могут быть исполнены процессором 32, изображения или кадры изображений, захваченных трехмерной камерой или RGB-камерой, профили пользователей или любую другую подходящую информацию, изображения и т.п. В соответствии с иллюстративным вариантом воплощения компонент 34 памяти может включать в себя оперативное запоминающее устройство (ОЗУ; RAM), постоянное запоминающее устройство (ПЗУ; ROM), кэш-память, флэш-память, жесткий диск или любой другой подходящий компонент памяти. Как показано на фиг. 2, в одном варианте воплощения компонент 34 памяти может представлять собой отдельный компонент, соединенный с компонентом 25 захвата изображения и процессором 32. В соответствии с другим вариантом воплощения компонент 34 памяти может быть интегрирован в процессор 32 и/или компонент 25 захвата изображения.
Как показано на фиг. 2, устройство 20 захвата может взаимодействовать с вычислительной средой 12 через линию 36 связи. Линия 36 связи может представлять собой проводное соединение, в том числе, например, соединение USB, соединение шины FireWire, кабельное соединение Ethernet и т.п. и/или беспроводное соединение, такое как беспроводное соединение стандартов 802.11b, g, a или n. В соответствии с одним вариантом воплощения вычислительная среда 12 может обеспечить устройству 20 захвата отсчет времени, который может использоваться для определения, например, когда следует выполнять захват сцены через линию 36 связи.
Кроме того, устройство 20 захвата может предоставлять информацию глубины и изображения, захваченные, например, посредством трехмерной камеры 27 и/или RGB-камеры 28, и скелетную модель, которая может быть сформирована устройством 20 захвата, вычислительной среде 12 через линию 36 связи. Вычислительная среда 12 затем может использовать скелетную модель, информацию глубины и захваченные изображения, например, для создания виртуального экрана, адаптации пользовательского интерфейса и управления прикладной программой, такой как игра или текстовой процессор. Например, как показано, на фиг. 2, вычислительная среда 12 может включать в себя библиотеку 290 жестов. Библиотека 190 жестов может включать в себя коллекцию фильтров жестов, каждый из которых содержит информацию относительно жеста, который может быть выполнен посредством скелетной модели (по мере движения пользователя). Данные, захваченные камерами 26, 27 и устройством 20, в виде скелетной модели и относящиеся к ней движения могут быть сравнены с фильтрами жестов в библиотеке 190 жестов, чтобы идентифицировать, когда пользователь (представленный скелетной моделью) выполнил один или более жестов. Эти жесты могут относиться к различным управляющим действиям прикладной программы. Таким образом, вычислительная среда 12 может использовать библиотеку 190 жестов для интерпретации движений скелетной модели и управления прикладной программой на основе движений.
Фиг. 3 показывает иллюстративный вариант воплощения вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели. Вычислительная среда, такая как вычислительная среда 12, описанная выше со ссылкой на фиг. 1A-2, может представлять собой мультимедийную консоль 100, такую как игровая консоль. Как показано в рис. 3, мультимедийная консоль 100 имеет центральный процессор (CPU) 101, имеющий кэш 102 уровня 1, кэш 104 уровня 2 и перепрограммируемое постоянное запоминающее устройство (ROM) 106. Кэш 102 уровня 1 и кэш 104 уровня 2 временно хранят данные и поэтому сокращают количество циклов доступа к памяти, тем самым увеличивая скорость и пропускную способность обработки. Может быть обеспечен центральный процессор 101, имеющий более одного ядра и, таким образом, дополнительные кэши 102 и 104 уровня 1 и уровня 2. Перепрограммируемое запоминающее устройство 106 может хранить исполняемый код, который загружается во время начальной фазы процесса загрузки, когда мультимедийная консоль 100 включается.
Графический процессор (GPU) 108 и видео-кодер / видео-кодек (кодер/декодер) 114 образуют конвейер обработки видеоинформации для высокоскоростной обработки графики с высоким разрешением. Данные переносятся от графического процессора 108 на видео-кодер/видео-кодек (кодер/декодер) 114 через шину. Конвейер обработки видеоинформации выдает данные на аудио/видео (A/V) порт 140 для передачи на телевизор или другой дисплей. Контроллер 110 памяти соединен с графическим процессором 108 для обеспечения доступа процессора к памяти 112 различных типов, такой как, но без ограничения, оперативное запоминающее устройство (ОЗУ; RAM).
Мультимедийная консоль 100 включает в себя контроллер 120 ввода-вывода (I/O), контроллер 122 управления системой, блок 123 обработки аудиоинформации, контроллер 124 сетевого интерфейса, первый ведущий контроллер 126 USB, второй контроллер 128 USB и подсистему 130 ввода-вывода передней панели, которые предпочтительно реализованы на модуле 118. Контроллеры 126 и 128 USB служат хостами для контроллеров 142(1)-142(2) ввода-вывода, адаптера 148 беспроводной связи и внешнего устройства 146 памяти (например, флэш-памяти, внешнего диска CD/DVD ROM, сменного носителя и т.д.). Сетевой интерфейс 124 и/или адаптер 148 беспроводной связи обеспечивает доступ к сети (например, сети Интернет, домашней сети и т.д.) и может представлять собой любой из широкого разнообразия компонентов различных проводных или беспроводных адаптеров, в том числе карту Ethernet, модем, модуль технологии Bluetooth, кабельный модем и т.п.
Системная память 143 обеспечена для хранения данных прикладных программ, которые загружаются во время процесса загрузки. Обеспечен дисковод 144, который может содержать дисковод DVD/CD дисков, накопитель на жестком диске или другой дисковод для сменных носителей и т.д. Дисковод 144 может быть внутренним или внешним по отношению к мультимедийной консоли 100. Посредством мультимедийной консоли 100 через дисковод 144 можно получить доступ к данным прикладной программы для исполнения, воспроизведения и т.д. Дисковод 144 соединен с контроллером 120 ввода-вывода через шину, такую как шина интерфейса Serial ATA или другое высокоскоростное соединение (например, соединение стандарта IEEE 1394).
Контроллер 122 управления системой обеспечивает множество служебных функций, связанных с гарантией доступности мультимедийной консоли 100. Блок 123 обработки аудиоинформации и аудио-кодек 132 образуют соответствующий конвейер обработки аудиоинформации с высокой точностью и обработкой стерео. Звуковые данные переносятся между блоком 123 обработки аудиоинформации и аудио-кодеком 132 через линию связи. Конвейер обработки аудиоинформации выдает данные на порту 140 A/V для воспроизведения посредством внешнего аудиопроигрывателя или устройства, имеющего возможности воспроизведения звука.
Подсистема 130 ввода-вывода передней панели поддерживает функциональные возможности кнопки 150 включения питания и кнопки 152 выброса, а также любые светодиоды (LED) или другие индикаторы, представленные на внешней поверхности мультимедийной консоли 100. Системный модуль 136 источника питания обеспечивает электропитание компонентам мультимедийной консоли 100. Вентилятор 138 охлаждает схемы в пределах мультимедийной консоли 100.
Подсистема 130 ввода-вывода передней панели может включать в себя светодиоды (LED), экран визуального отображения, лампы, динамик или любые другие средства, которые могут обеспечить звуковую или визуальную обратную связь состояния управления мультимедийной консоли 100 пользователю 18. Например, если система находится в состоянии, когда пользователи не обнаружены устройством захвата 20, такое состояние может быть отражено на подсистеме 130 ввода-вывода передней панели. Если состояние системы изменяется, например, пользователь привязывается к системе, состояние обратной связи может быть обновлено в подсистеме ввода-вывода передней панели для отражения изменения состояний.
Центральный процессор 101, графический процессор 108, контроллер 110 памяти и различные другие компоненты в пределах мультимедийной консоли 100 связаны между собой через одну или более шин, в том числе последовательные и параллельные шины, шину памяти, шину периферийных устройств и процессорную или локальную шину с использованием любой из множества шинных архитектур. В качестве примера такая архитектура может включать в себя шину соединения периферийных устройств (стандарт PCI), шину стандарта PCI-Express и т.д.
Когда мультимедийная консоль 100 включается, данные прикладной программы могут быть загружены из системной памяти 143 в память 112 и/или кэши 102, 104 и исполнены на центральном процессоре 101. Прикладная программа может предоставить графический пользовательский интерфейс, который обеспечивает непротиворечивое взаимодействие с пользователем при навигации по информационному содержанию различных видов, доступному на мультимедийной консоли 100. При работе прикладные программы и/или другое информационное содержание, содержащиеся в дисководе 144, могут быть запущены или воспроизведены с дисковода 144 для обеспечения дополнительных функциональных возможностей мультимедийной консоли 100.
Мультимедийную консоль 100 можно использовать как автономной системой посредством простого соединения системы с телевизором или другим дисплеем. В этом автономном режиме мультимедийная консоль 100 позволяет одному или более пользователям взаимодействовать с системой, смотреть кино или слушать музыку. Однако при интеграции широкополосной связи, доступной через сетевой интерфейс 124 или адаптер 148 беспроводной связи, мультимедийную консоль 100 также можно использовать в качестве компонента большего сетевого сообщества.
Когда мультимедийная консоль 100 включается, установленное количество аппаратных ресурсов резервируется для системного использования операционной системой мультимедийной консоли. Эти ресурсы могут включать в себя резервирование памяти (например, 16 МБ), циклы центрального процессора и графического процессора (например, 5 %), ширину сетевой полосы пропускания (например, 8 КБ) и т.д. Поскольку эти ресурсы резервируются во время загрузки системы, зарезервированные ресурсы не существуют с точки зрения прикладной программы.
В частности, резервирование памяти предпочтительно является достаточно большим, чтобы содержать ядро запуска, параллельные системные прикладные программы и драйверы. Резервирование центрального процессора является предпочтительно постоянным, поэтому если зарезервированная загрузка центрального процессора не используется системными прикладными программами, неактивный поток будет потреблять любые неиспользованные циклы.
Что касается резервирования графического процессора, простые сообщения, сформированные системными прикладными программами (например, всплывающие окна), отображаются посредством использования прерывания графического процессора, чтобы запланировать код для реализации всплывающего окна в оверлей. Объем памяти, требуемый для оверлея, зависит от размера области оверлея, и оверлей предпочтительно масштабируется в зависимости от разрешающей способности экрана. Когда параллельной системной прикладной программой используется полный пользовательский интерфейс, предпочтительно использовать разрешающую способность, независимую от разрешающей способности прикладной программы. Делитель частоты может использоваться для установления этой разрешающую способность таким образом, чтобы избавиться от необходимости изменять частоту и вызывать ресинхронизацию телевизионного сигнала.
После того, как мультимедийная консоль 100 загружена и системные ресурсы зарезервированы, исполняются параллельные системные прикладные программы для обеспечения системных функциональных возможностей. Системные функциональные возможности инкапсулированы во множестве системных прикладных программ, которые исполняются в зарезервированных системных ресурсах, описанных выше. Ядро операционной системы идентифицирует потоки, которые представляют собой системные потоки прикладных программ и потоки игровых прикладных программ. Системные прикладные программы предпочтительно планируются для выполнения на центральном процессоре 101 в предопределенные моменты времени и интервалы для обеспечения согласованного отображения системных ресурсов прикладной программе. Планирование должно минимизировать разрушение кэша для игровой прикладной программы, работающей на консоли.
Когда параллельной системной прикладной программе требуется аудиоинформация, обработка аудиоинформации планируется асинхронно с игровой прикладной программой из-за чувствительности по времени. Менеджер прикладных программ мультимедийной консоли (описанный ниже) управляет уровнем аудиоинформации игровой прикладной программы (например, заглушает, ослабляет), когда системные прикладные программы являются активными.
Устройства ввода данных (например, контроллеры 142(1) и 142(2)) совместно используются игровыми прикладными программами и системными прикладными программами. Устройства ввода данных не являются зарезервированными ресурсами, но должны переключаться между системными прикладными программами и игровой прикладной программой таким образом, чтобы каждая из них будет иметь фокус ввода устройства. Менеджер прикладных программ предпочтительно управляет переключением входного потока, не зная о том, какой информацией располагает игровая прикладная программа, и драйвер поддерживает информацию состояния относительно переключения фокуса ввода. Камеры 26, 28 и устройство 20 захвата могут определять дополнительные устройства ввода данных для консоли 100.
Фиг. 4 иллюстрирует другой иллюстративный вариант воплощения вычислительной среды 220, которая может представлять собой вычислительную среду 12, показанную на фиг. 1A-2, используемую для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели. Среда 220 вычислительной системы является только одним примером подходящей вычислительной среды и не предназначена для введения какого-либо ограничения относительно объема или функциональных возможностей раскрываемой сущности изобретения. Никто не должен интерпретировать вычислительную среду 220 как имеющую какую-либо зависимость или требования, относящиеся к любому одному компоненту или комбинации компонентов, показанных в иллюстративной среде 220. В некоторых вариантах воплощения различные изображенные вычислительные элементы могут включать в себя схему, выполненную в возможностью реализовывать конкретные аспекты настоящего раскрытия. Например, термин "схема", используемый в раскрытии, может включать в себя специализированные аппаратные компоненты, выполненные с возможностью выполнять функцию (функции) посредством встроенного программного обеспечения или переключателей. В других приведенных в качестве примера вариантах воплощения термин "схема" может включать в себя процессор общего назначения, память и т.д., выполненные посредством программных команд, которые воплощают логическую схему, действующую для выполнения функции (функций). В иллюстративных вариантах воплощения, когда схема включает в себя комбинацию аппаратных средств и программного обеспечения, разработчик может написать исходный код, воплощающий логическую схему, и исходный код может быть скомпилирован в машиночитаемый код, который может быть обработан посредством процессора общего назначения. Поскольку специалист может понять, что область техники развилась до такого состояния, когда имеется мало различий между аппаратными средствами, программным обеспечением или комбинацией аппаратных средств/программного обеспечения, выбор между аппаратными средствами и программным обеспечением для совершения заданных функций представляет собой выбор конфигурации, оставленный разработчику. Более определенно, специалист в области техники может понять, что программный процесс может быть преобразован в эквивалентную аппаратную структуру, и аппаратная структура сама может быть преобразована в эквивалентный программный процесс. Таким образом, выбор между аппаратной реализацией и программной реализацией представляет собой выбор конфигурации и оставлен разработчику.
На фиг. 4 вычислительная среда 220 содержит компьютер 241, который обычно содержит разные машиночитаемые носители. Машиночитаемые носители могут представлять собой любые имеющиеся носители, к которым можно получить доступ с помощью компьютера 241, и включают в себя как энергозависимые, так и энергонезависимые носители, сменные и несменные носители. Системная память 222 включает в себя компьютерные носители данных в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM; ПЗУ) 223 и оперативное запоминающее устройство (RAM; ОЗУ) 260. Базовая система 224 ввода-вывода (BIOS), содержащая базовые подпрограммы, которые помогают перемещать информацию между элементами в компьютере 241, например, во время запуска, обычно хранится в постоянном запоминающем устройстве (ROM; ПЗУ) 223. Оперативное запоминающее устройство (RAM; ОЗУ) 260 обычно содержит данные и/или программные модули, которые являются моментально доступными для процессора 259 и/или которые в данный момент обрабатываются процессором 259. В качестве примера, но не ограничения, фиг. 4 иллюстрирует операционную систему 225, прикладные программы 226, другие программные модули 227 и программные данные 228.
Компьютер 241 также может включать в себя другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных. Только в качестве примера фиг. 4 иллюстрирует накопитель 238 на жестких дисках, который считывает или записывает на несменный энергонезависимый магнитный носитель, магнитный дисковод 239, который считывает или записывает на сменный энергонезависимый магнитный диск 254, и оптический дисковод 240, который считывает или записывает на сменный энергонезависимый оптический диск 253, такой как постоянное запоминающее устройство на компакт-диске (CD 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). Камеры 27, 28 и устройство 20 захвата могут определить дополнительные устройства ввода данных для консоли 100. Монитор 242 или устройство отображения другого типа также соединены с системной шиной 221 через интерфейс, такой как видеоинтерфейс 232. В дополнение к монитору компьютеры также могут включать в себя другие периферийные устройства вывода, такие как динамики 244 и принтер 243, который может быть соединен через интерфейс 233 периферийного устройства вывода.
Компьютер 241 может работать в сетевом окружении, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 246. Удаленный компьютер 246 может являться персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 241, хотя на фиг. 3B было проиллюстрировано только устройство 247 памяти. Логические соединения, изображенные на фиг. 4, включают в себя локальную сеть (LAN) 245 и глобальную сеть (WAN) 173, но также могут включать в себя другие сети. Такие сетевые среды являются обычным явлением в офисах, в компьютерных сетях масштаба предприятия, в интрасетях и в Интернете.
При использовании в среде локальной сети компьютер 241 соединен с локальной сетью 245 через сетевой интерфейс или адаптер 237. При использовании в среде глобальной сети компьютер 241 обычно включает в себя модем 250 или другое средство для установления связи по глобальной сети 249, такой как Интернет. Модем 250, который может быть внутренним или внешним, может быть соединен с системной шиной 221 через интерфейс 236 пользовательского ввода или другой соответствующий механизм. В сетевом окружении программные модули, изображенные относящимися к компьютеру 241, или их части могут храниться в удаленном запоминающем устройстве. В качестве примера, но не ограничения, фиг. 4 иллюстрирует удаленные прикладные программы 248 как находящиеся в запоминающем устройстве 247. Следует понимать, что показанные сетевые соединения являются иллюстративными, и могут быть использованы другие средства установления линии связи между компьютерами.
Фиг. 5 показывает иллюстративный вариант воплощения системы предшествующего уровня техники, использующей только соединенные средства управления. В таком варианте воплощения контроллеры 294, такие как игровой контроллер, джойстик, мышь, клавиатура и т.п., соединены с вычислительной средой 12 либо с помощью кабеля 292, либо с помощью беспроводного соединения. Нажатие конкретных кнопок или клавиш может отправлять установленные сигналы вычислительной среде. Кроме того, эти контроллеры обычно относятся к конкретным физическим портам 290. В примере игровой среды контроллер 1 может быть подключен к первому физическому порту, контроллер 2 может быть подключен ко второму физическому порту и т.д. Контроллер 1 может иметь относящееся к нему первенство управления или управление некоторыми аспектами игровой среды, которые не доступны другим контроллерам. Например, при выборе конкретного уровня или поля в боевой игре только первый контроллер может выполнять выбор.
Основанной на жестах системе, такой как основанная на жестах система 10, может потребоваться ассоциировать виртуальные порты с одним или более пользователями и ассоциировать первый контроллер с пользователем без использования физических кабелей и портов предшествующего уровня техники. Если имеется несколько пользователей, каждый из которых ассоциирован с виртуальным портом, пользователям может понадобится обратная связь, чтобы определить, с какими портами они ассоциированы. Если после начального ассоциирования пользователя с виртуальным портом порт ассоциация должна быть переназначена второму пользователю, обоим пользователям может понадобиться некоторая обратная связь для указания, что ассоциация виртуального порта была переназначена. Когда ассоциация виртуальных портов переназначается другим пользователям, дополнительная звуковая или визуальная обратная связь (в дополнение к стандартной обратной связи, которая может отображаться непрерывно) может быть обеспечена во время или около времени изменения ассоциации для дополнительного предупреждения пользователей о том, что произошло переназначение ассоциации. Другие аспекты игровой среды каждого из пользователей, такие как их персонажи на экране, сторона экрана, на которой они могут находится в игре с разделением экрана, и другие аспекты могут не изменяться при переназначении ассоциации виртуального порта.
Фиг. 6 иллюстрирует область 300 захвата, которая может быть захвачена устройством 20 захвата, как описано выше в отношении фиг. 2. В варианте воплощения, если в области захвата, такой как область 300 захвата, нет пользователей, передняя панель вычислительной среды 12, устройство захвата 20 или аудиовизуальный дисплей 16 могут обеспечить обратную связь об этом первом состоянии. Такое первое состояние можно рассматривать как состояние без привязки и без обнаружения.
Во втором варианте воплощения на фиг. 6 первый пользователь 302 мог частично вступить в область 300 захвата. На фиг. 6 первый пользователь 302 не полностью находится в пределах области 300 захвата устройства 20 захвата, и это может означать, что основанная на жестах система 10 может быть не в состоянии выполнить привязку к первому пользователю 302. В таком случае обратная связь, предоставляемая первому пользователю 302 вычислительной средой 12 или устройством захвата 20 или аудиовизуальным дисплеем 16, может изобразить состояние без привязки и с выполненным обнаружением. Основанная на жестах система 10 может находиться в состоянии без привязки и с выполненным обнаружением в любое время, когда пользователь вступает в область захвата, или когда пользователь только частично находится в области захвата, как пользователь 302.
В другом варианте воплощения второй пользователь 304 может находиться в области 300 захвата. В таком случае основанная на жестах система 10 может выполнить привязку второго пользователя 304 в качестве контроллера основанной на жестах системы 10. Обратная связь может быть предоставлена пользователю 304 в виде состояния с привязкой обратной связи посредством по меньшей мере одного элемента множества, состоящего из устройства 20 захвата, аудиовизуального дисплея 16 или вычислительной среды 12.
В другом аспекте, если второй пользователь такой как пользователь 304, привязан к основанной на жестах системе и выходит из области 300 захвата, система может войти в состояние, в котором второй пользователь 304 все еще привязан к системе 10, но в настоящий момент не обнаружен. Такое состояние может представлять собой состояние с привязкой и без обнаружения. Обратная связь может быть обеспечена по меньшей мере одним элементом множества, состоящего из устройства 20 захвата, вычислительной среды 12 или аудиовизуального устройства 16, когда второй пользователь 304 возвращается в область 300 захвата в течение периода времени, когда он еще привязан к основанной на жестах системе. Ассоциация пользователя с виртуальными портами и т.п. будет поддерживаться, пока пользователь вышел из области 300 захвата.
Если несколько пользователей находятся в области 300 захвата, основанная на жестах система 10 может обеспечить обратную связь о состоянии каждого пользователя в области захвата. Например, все пользователи могут быть привязаны с основанной на жестах системе 10, ассоциированы с виртуальными портами, и им может быть предоставлена специфическая для каждого пользователя обратная связь о состоянии привязки/ассоциации. Предоставленная обратная связь также может включать в себя обратную связь для первого пользователя 302 и второго пользователя 304 о том, с каким виртуальным портом они могут быть ассоциированы. Например, первый пользователь 302 может быть ассоциирован с первичным виртуальным портом, и может быть предоставлена обратная связь для указания первому пользователю 302, что он ассоциирован с первичным виртуальным портом.
В другом аспекте основанной на жестах системы 10 с областью 300 захвата пользователь может отступиться слишком далеко от устройства 20 захвата, подступиться слишком близко к нему или зайти слишком влево или вправо от него. При таких обстоятельствах основанная на жестах система 10 может обеспечить обратную связь либо в виде сигнала "вне диапазона", либо в виде специальной обратной связи, сообщающей пользователю, что ему может потребоваться переместиться в конкретном направлении, чтобы устройство 20 захвата должным образом захватило его изображение. Например, если второй пользователь 304 перемещается слишком далеко влево, то на экране может появиться стрелка, направляющая его назад вправо. Такие указания, предоставляемые пользователю, также могут быть обеспечены устройством захвата 20 или вычислительной средой 12. Как описано выше, такую визуальную обратную связь может сопровождать аудиосигнал.
В одном варианте воплощения разные состояния для обратной связи принимают вид источников света разных цветов. Например, обратная связь для состояния "без привязки и без выполненного обнаружения" может иметь черный цвет или представлять собой выключенный свет, обратная связь для состояния "без привязки с выполненный обнаружением" может иметь желтый цвет, обратная связь для состояния "с привязкой с выполненным обнаружением" может иметь зеленый цвет, и обратная связь для состояния " с привязкой без выполненного обнаружения" или "вне диапазона" может иметь синий цвет. Эта цветовая схема представлена просто в качестве примера, и может использоваться любая другая цветовая схема. В другом варианте воплощения состояния обратной связи могут включать в себя противопоставление мигающего и постоянно испускаемого света. Например, обратная связь для состояния "без привязки и без выполненного обнаружения" может представлять собой выключенный свет, обратная связь для состояния "без привязки и с выполненным обнаружением" может представлять собой мигающий свет, и обратная связь для состояния с привязкой может представлять собой постоянно испускаемый свет. В другом варианте воплощения может быть звуковая обратная связь для переходов между состояниями или во время конкретного состояния. Предоставленная пользователю обратная связь о его состоянии в качестве контроллера вычислительной среды 12 может включать в себя любую комбинацию упомянутых выше примеров и любую другую соответствующую обратную связь.
Обратная связь для каждого пользователя может относиться к видеообразу или конкретной лампе или отображению на устройстве 20 захвата, в вычислительной среде 12 или на аудиовизуальном дисплее 16. Во время одного или более компьютерных сеансов могут иметься изменения в том, с каким виртуальным портом пользователь ассоциирован. Некоторые варианты воплощения могут предоставлять обратную связь пользователям, которые были переключены с одного виртуального порта на другой, однако некоторые аспекты вычислительной среды и обратной связи для пользователей могут остаться тем же самыми. Например, если пользователь имеет конкретную лампу или светодиод (LED), относящийся к его сеансу, лампа или светодиод (LED) могут по прежнему представлять его, даже если он переключает виртуальные порты. В другом примере видеообраз, относящийся к пользователю, может остаться тем же самым, даже если пользователь переключает виртуальные порты. В качестве дополнительного примера, видеообраз пользователя может быть выделен или иным образом может показывать некоторое изменение отображения, если пользователь переключает виртуальные порты. В другом варианте воплощения, если имеется игра с разделением экрана или сторона экрана, на которой пользователь начал сеанс, то эти элементы могут не изменяться, если имеется переназначение ассоциации виртуальных портов.
Фиг. 7 изображает модель человека-пользователя 510, которая может быть создана с использованием устройство 20 захвата и вычислительной среды 12. Эта модель может использоваться одним или более аспектами основанной на жестах системы 10 для определения жестов и т.п. Модель может состоять из суставов 512 и костей 514. Отслеживание этих суставов и костей может позволить основанной на жестах системе определять, какие жесты делает пользователь. Эти жесты могут использоваться для управления основанной на жестах системой.
Фиг. 8 изображает последовательность таких жестов, взмах или подъем 520 руки, скрещивание рук 522 или "дай пять" 524. Хотя жесты не ограничены немногими жестами, которые были изображены, эти жесты наряду с любыми другими могут являться командами для основанной на жестах системы 10. В одном варианте воплощения жесты могут быть универсальными, и это означает, что они не ограничены конкретным программным обеспечением или аппаратными средствами. В другом варианте воплощения игры или другие программы, работающие в вычислительной среде 12, могут иметь специфические для программ заданные жесты. Например, универсальный жест передачи виртуального порта может представлять собой рукопожатие; однако игра, такая как игра с имитацией борьбы, может иметь специфический жест, который выполняет передачу управления, если пользователи выполняют жест "дай пять" 524.
Универсальные жесты для привязки и ассоциирования пользователей с виртуальными портами могут включать в себя жест для ассоциации пользователя, делающего жест, с виртуальным портом, жест для отмены ассоциации с виртуальным портом, жест приостановки, жест меню, жест выражения желания выполнять задачу, жест включения системы, жест выключения системы, жест выбора, жест выхода, жест передачи управления и т.п.
Фиг. 9 изображает блок-схему 600 для привязки пользователя к основанной на жестах системе и предоставления ему обратной связи относительно его состояния. В одном варианте воплощения процесс для входа пользователя в качестве контроллера включает в себя этапы обнаружения пользователя, затем привязки к нему и затем обнаружения конкретной команды, которая ассоциирует пользователя с виртуальным портом. Без какого-либо рода обратной связи от системы пользователь может быть не осведомлен о своем статусе в основанной на жестах системе. Например, пользователь в состоянии "без привязки и с выполненным обнаружением" может отчаянно делать жест, например, для включения системы. Система может быть не способна к выполнению этой функции, пока пользователь не находится в привязанном состоянии, что может сильно разочаровать пользователя, если он не осведомлен о своем состоянии в основанной на жестах системе. В качестве другого пример, если пользователь, который привязан к основанной на жестах системе и ассоциирован с виртуальным портом, перемещается из диапазона обнаружения устройства захвата, система может потерять возможность принимать команды. При таких обстоятельствах может быть важно предоставить пользователю обратную связь, сообщающему ему может потребоваться переместиться, чтобы вернуться в область захвата и ввести жестовые команды в основанную на жестах систему.
На этапе 602, когда пользователь не обнаружен в области захвата, основанная на жестах система может находиться в состоянии "без привязки и без выполненного обнаружения" и может обеспечивать обратную связь, представляющую это состояние. Эта обратная связь может представлять собой, например, выключенное состояние источника света, или беззвучное состояние динамика, или световой источник с некоторым цветом, формой или периодичностью.
На этапе 604 один или больше датчиков на устройстве 20 захвата, описанном выше в отношении фиг. 1A-1B, может обнаружить пользователя. В одном варианте воплощения пользователь входит в область захвата одной или более камер устройства захвата. В другом варианте воплощения микрофон и т.п. обнаруживает шум от пользователя.
На этапе 606, когда пользователь обнаружен, состояние обратной связи основанной на жестах системы может переключиться от состояния обратной связи "без привязки и без выполненного обнаружения" в состояние "без привязки и с выполненным обнаружением". Это состояние обратной связи может представлять собой световое излучение конкретного цвета, шум или мигание источника света. В одном варианте воплощения это состояние полностью пропускается, и состояниями обратной связи являются только "с привязкой" и "без привязки".
На В 608 основанная на жестах система может выполнить привязку к пользователю. Привязка может произойти, когда система строит модель, такую как модель 510, описанную в отношении к фиг. 7. В другом варианте воплощения привязка может включать в себя поиск одного или более профилей пользователей и сравнение модели пользователя с профилями пользователей. После привязки на этапе 608 система находится в таком состоянии, что она может принимать и интерпретировать жесты в качестве команд от пользователя.
На этапе 610 система может предоставить пользователю обратную связь, сообщающему ему, что он находится в привязанном состоянии. Как указано выше, эта обратная связь может принимать вид любого шума или светового излучения на любом экране, поверхности или в виде проекции от основанной на жестах системы.
Фиг. 10 изображает блок-схему 620 для отмены привязки пользователя от основанной на жестах системы. В одном варианте воплощения на этапе 622 порт и пользователь находятся в привязанном состоянии. Пользователь может просто выйти из области захвата, такой как область 300 захвата, что обнаруживается на этапе 624. Если пользователь не возвращается, состояние обратной связи переключается из состояния с привязкой в состояние без привязки и без выполненного обнаружения на этапе 628. В одном варианте воплощения может быть задержка между временем, когда пользователь, такой как пользователь 18, выходит из области захвата, и когда система становится не привязанной и предоставляет пользователю обратную связь о состоянии без привязки. Такая задержка может позволить пользователю выходить из области захвата во время сеанса или на короткий период времени и возвращаться в область захвата с сохранением его виртуального порта и других элементов его компьютерного сеанса.
Фиг. 11 изображает блок-схему 640 для иллюстративного варианта воплощения для выполнения ассоциации одного или более человек с виртуальными портами основанной на жестах системы. В основанной на жестах системе у пользователя обычно нет контроллера с установленным физическим портом. Вместо этого система должна присвоить виртуальные порты одному или более пользователям. Кроме того, эти виртуальные порты возможно должны быть присвоены либо как первичные, либо как вторичные, либо как третичные и т.п. и могут иметь различные относящиеся к ним признаки, такие как, например, преимущественные права, права или дополнительные возможности. Эти признаки могут изменяться в течение одного или более компьютерных сеансов.
На этапе 642 пользователь может быть привязан к системе, как описано выше. Как только пользователь привязан к основанной на жестах системой, он может обеспечивать команды для системы, делая один или более жестов. Один такой жест может быть жестом входа. Основанная на жестах система может обнаружить команду входа от первого пользователя на этапе 644. Команда входа представляет собой факультативную функцию, и пользователь не обязательно должен обеспечивать команду входа, чтобы быть ассоциированным с портом. В некоторых случаях простой вход или обнаружение в области захвата могут быть достаточными для выполнения ассоциации с портом.
На этапе 646 основанная на жестах система может ассоциировать пользователя с первичным виртуальным портом. Первичный виртуальный порт может иметь дополнительные средства управления основанной на жестах системой, которые могут не имеют другие порты, относящиеся к основанной на жестах системе. Например, пользователю, ассоциированному с первичным портом, может быть разрешено делать начальный выбор в меню или на главных страницах. Пользователь, ассоциированный с первичным портом, также может быть первым при выборе видеообразов или других элементов, таких как поля и т.п. в игровой среде.
На этапе 648 второй пользователь, который может войти, может быть обнаружен в области захвата и привязан к основанной на жестах системе. Как только второй пользователь привязан к основанной на жестах системе, он может обеспечивать команды для системы, делая один или более жестов. Один такой жест может являться жестом входа. Жест входа, обеспечиваемый вторым пользователем, может быть таким же, как жест входа, обеспечиваемый первым пользователем, или другим. Может иметься один или более жестов входа, любой из которых пользователь может обеспечить для основанной на жестах системы, чтобы быть ассоциированным с виртуальным портом. Команда входа представляет собой факультативную функцию, и пользователь не обязательно должен обеспечивать команду входа, чтобы быть ассоциированным с портом. В некоторых случаях простой вход или обнаружение в области захвата могут быть достаточными для выполнения ассоциации с портом.
На этапе 652 второй пользователь может быть ассоциирован со вторым виртуальным портом. Вторичный виртуальный порт может иметь признаки, отличающиеся от относящихся к первичному виртуальному порту. В одном примере вторичный виртуальный порт может иметь относящийся к нему курсор; однако курсор не может использоваться для выбора на некоторых экранах меню или экранах выбора и т.п. В другом примере вторичный виртуальный порт может использоваться для выбора одного или более вариантов на некоторых экранах, когда первичный виртуальный порт может не иметь прав делать выбор. Например, второй пользователь может выбирать видеообраз и т.п., когда первый пользователь может не иметь контроля над экраном или частью экрана.
Фиг. 12 изображает блок-схему 660 для основанной на жестах системы, запрашивающей желающего выполнять задачу и присваивающей виртуальные порты на основе выражения желания. На этапе 662 два или более пользователей могут быть привязаны к основанной на жестах среде и могут быть ассоциированы с двумя или более портами, один из которых является первичным портом.
На этапе 664 основанная на жестах среда может предоставить пользователям запрос на одного или более желающих. В одном варианте воплощения этот процесс может использоваться для переназначения присвоения одного или более виртуальных портов одному или более пользователям. В другом варианте воплощения выражение желания выполнять задачу может использоваться в программном обеспечении или аппаратных средствах, таких как игровая прикладная программа, где одному или более пользователям могут быть присвоены специфические задачи. Основанная на жестах система может выполнить запрос, чтобы пользователь сделал жест желающего, переместился в заданную точку в области захвата, или может иметься универсальный жест, который пользователь может сделать, чтобы действовать как желающий. В другом варианте воплощения основанная на жестах среда может проецировать виртуальную подсветку в комнате, и желающий может войти в эту виртуальную подсветку, что может иметь на представление на экране, чтобы выразить желание выполнять задачу.
На этапе 666 система может обнаружить один или более жестов желающего от одного или более пользователей. Основанная на жестах система может переназначить ассоциации виртуальных портов на этапе 668 на основе жестов желающих. В одном варианте воплощения, когда пользователь выражает желание выполнять задачу, первичный порт может быть ассоциирован с ним на время выполнения задачи. В другом варианте воплощения первичный порт может быть ассоциирован с пользователем, который выражает желание выполнять задачу, до тех пор, пока не произойдет конец сеанса или другое событие, которое создает переназначение ассоциации виртуальных портов. Хотя ассоциация виртуальных портов может быть переназначена, другие аспекты системы могут остаться теми же. Например, видеообразы, позиции, обратная связь и т.п. могут не изменяться при переназначении ассоциации виртуального порта. В другом варианте воплощения по меньшей мере один элемент множества, состоящего из видеообразов, обратной связи о позициях и т.п. изменяется, когда виртуальные порты изменяют ассоциации между пользователями.
Фиг. 13 изображает блок-схему 680 иллюстративного способа передачи или переключения виртуальных портов между двумя или более пользователями. На этапе 682 один или более пользователей могут быть ассоциированы с одним или более виртуальными портами в вычислительной среде. Один из пользователей может сделать жест передачи, который обнаруживается основанной на жестах системой на этапе 684. Основанная на жестах система может переназначить ассоциацию одного или более виртуальных портов на основе жеста передачи на этапе 686.
В качестве примера, первый пользователь, ассоциированный с первым виртуальным портом, может сделать жест передачи второму пользователю, который в настоящий момент не ассоциирован с каким-либо виртуальным портом. Это может заставить первый виртуальный порт переключиться с первого пользователя на второго пользователя. Это также может заставить присвоить первому пользователю другой доступный виртуальный порт.
В качестве другого примера, первый пользователь, ассоциированный с первым виртуальным портом, может сделать жест передачи второму пользователю, который в настоящий момент ассоциирован со вторым виртуальным портом. Это может заставить первый виртуальный порт переключиться с первого пользователя на второго пользователя. Это также может заставить второй виртуальный порт переключиться со второго пользователя на первого пользователя.
В качестве другого примера, такого как состязание между двумя командами, два или более пользователей могут сделать жест "дай пять", чтобы передать виртуальный порт или управление игры. В примере игры с двумя командами может случиться так, что каждый пользователь ассоциирован с виртуальным портом, но только один пользователь в одно время может быть ассоциирован с первичным портом и, таким образом, быть в состоянии выполнять некоторые команды, которые являются исключительными для первичного порта. Жест "дай пять" может сообщить о том, что первичный порт переключит пользователей, тем самым давая возможность другому пользователю выполнять жестовые команды, которые являются исключительными для первичного порта. В качестве другого примера, некоторые жесты передачи могут позволить множествам пользователей управлять некоторыми элементами или объектами одновременно. Например, перед жестом передачи только первый пользователь может вводить команды для управления видеообразом на ринге. Однако после жеста передачи и первый пользователь, и второй пользователь могут управлять видеообразом одновременно.
Основанная на жестах система 12 может иметь память 112, или память 32, или любую другую память в вычислительной среде 12 со ссылкой на фиг. 2 и 3. Память может хранить один или более профилей, содержащих информацию, относящуюся к одному или более пользователям. В одном варианте воплощения профили могут содержать информацию, которая может автоматически ассоциировать пользователя с виртуальным портом. Например, пользователь может установить профиль, сохраненный в памяти, который автоматически ассоциирует его с первичным портом всякий раз, когда он находится в области захвата. В качестве другого примера, вычислительная среда может хранить информацию об одном или более пользователях, которая может обеспечить типичный порядок или порядок по умолчанию для ассоциации виртуальных портов. В другом варианте воплощения первичный пользователь или владелец основанной на жестах системы может быть ассоциирован с первичным портом всякий раз, когда он находится в области захвата. В качестве другого примера, основанная на жестах система может хранить информацию об отсутствии способностей, которое один или более пользователей могут иметь при управлении основанной на жестах системы, и, таким образом, система может обычно ассоциировать их со вторичным или третичным портом и т.п.
Основанная на жестах система также может использовать другую информацию для установления ассоциаций с виртуальными портами. Например, если один ребенок или более детей входят в область захвата с родителем, основанная на жестах система может определить на основе размера и других аспектов пользователя, что имеется родитель с детьми. Вычислительная среда может после этого ассоциировать или переназначить ассоциацию виртуальных портов таким образом, чтобы родитель был ассоциирован с первичным виртуальным портом. В качестве другого примера, если один или более пользователей могут испытывать затруднения при обеспечении жестовый ввод в основанную на жестах систему, система может переназначить ассоциацию первичного порта другому пользователю и обеспечить обратную связь об изменении ассоциированных портов.
Следует понимать, что описанные здесь конфигурации и/или подходы являются иллюстративными по природе, и что эти конкретные варианты воплощения или примеры нельзя рассматривать как ограничивающие. Конкретные описанные здесь процедуры или способы могут представлять одну или более стратегий обработки. Таким образом, различные проиллюстрированные действия могут быть совершены в проиллюстрированной последовательности, в других последовательностях, параллельно и т.п. Аналогичным образом, порядок описанных выше процессов может быть изменен.
Кроме того, предмет настоящего раскрытия включает в себя комбинации и подкомбинации различных процессов, систем и конфигураций и других раскрытых здесь отличительных признаков, функций, действий и/или свойств, а также их эквиваленты.
название | год | авторы | номер документа |
---|---|---|---|
ВЗАИМОДЕЙСТВИЕ С ЦЕЛЬЮ СОВМЕСТНОГО ПРОСМОТРА МУЛЬТИМЕДИА С ИНТЕГРИРОВАННЫМИ ВИДЕООБРАЗАМИ | 2010 |
|
RU2527746C2 |
СТАНДАРТНЫЕ ЖЕСТЫ | 2010 |
|
RU2534941C2 |
СОВМЕСТНЫЙ ВЫБОР МУЛЬТИМЕДИА С ИНТЕГРИРОВАННЫМИ ВИДЕООБРАЗАМИ | 2010 |
|
RU2527199C2 |
СИСТЕМА ДЛЯ РАСПОЗНАВАНИЯ И ОТСЛЕЖИВАНИЯ ПАЛЬЦЕВ | 2012 |
|
RU2605370C2 |
ОСНОВАННЫЙ НА КОНТЕЙНЕРЕ ПОВОРОТ ВИРТУАЛЬНОЙ КАМЕРЫ | 2018 |
|
RU2765341C2 |
АТРИБУЦИЯ ДЕЙСТВИЯ ПОЛЬЗОВАТЕЛЯ НА ОСНОВЕ БИОМЕТРИЧЕСКОЙ ИДЕНТИФИКАЦИИ | 2014 |
|
RU2668984C2 |
МАНИПУЛИРОВАНИЕ ВИРТУАЛЬНЫМ ОБЪЕКТОМ | 2010 |
|
RU2555228C2 |
ВЫРАЖЕНИЕ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ, ОСНОВАННОЕ НА ВЫРАЖЕНИИ ИГРОКА | 2010 |
|
RU2560794C2 |
ВИЗУАЛЬНОЕ ОТСЛЕЖИВАНИЕ ЦЕЛИ | 2010 |
|
RU2530334C2 |
ФОТО- И/ИЛИ ВИДЕОАНИМАЦИЯ НА ОСНОВЕ МЕТАДАННЫХ | 2015 |
|
RU2674434C2 |
Группа изобретений относится к устройствам ввода с возможностью обеспечения одновременной работы нескольких пользователей. Технический результат заключается в обеспечении обратной связи между пользователями вычислительной среды. Каждый такой виртуальный порт может иметь различные относящиеся к нему признаки, например, преимущественные права, права или дополнительные возможности. Когда один или более пользователей находятся в сцене захвата, основанной на жестах системы, система может ассоциировать виртуальные порты с пользователями и поддерживать виртуальные порты. Также предусмотрена отмена ассоциации виртуальных портов с пользователями или обмена виртуальными портами между двумя или более пользователями. 3 н. и 5 з.п. ф-лы, 15 ил.
1. Способ управления основанной на жестах вычислительной средой, содержащий этапы, на которых:
принимают изображение области захвата;
идентифицируют первого пользователя на основании, по меньшей мере частично, первого пользователя, изображенного на изображении;
ассоциируют первого пользователя с первичным виртуальным портом, причем первичный виртуальный порт имеет ассоциированный с ним признак, который не имеет вторичный виртуальный порт, причем пользователь вычислительной среды имеет возможность быть привязанным или непривязанным к первичному виртуальному порту, причем пользователь, привязанный к первичному виртуальному порту, указывает пользователя, способного предоставлять ввод в вычислительную среду через первичный виртуальный порт;
идентифицируют второго пользователя на основании, по меньшей мере частично, второго пользователя, изображенного на изображении;
ассоциируют второго пользователя с вторичным виртуальным портом в ответ на идентификацию второго пользователя;
отменяют ассоциацию первого пользователя с первичным виртуальным портом в ответ на выполнение вторым пользователем жеста выражения желания, выполнение первым пользователем жеста выхода или проигрыш игры первым пользователем; и
обновляют ассоциацию второго пользователя с вторичного виртуального порта на первичный виртуальный порт в ответ на отмену ассоциации первого пользователя с первичным виртуальным портом.
2. Способ по п. 1, в котором обновление ассоциации второго пользователя с вторичного виртуального порта на первичный виртуальный порт содержит:
передачу признака, ассоциированного с первым пользователем, второму пользователю.
3. Способ по п. 1, в котором ассоциирование первого пользователя с первичным виртуальным портом содержит:
определение того, что первый пользователь выполнил команду входа.
4. Способ по п. 1, в котором ассоциирование первого пользователя с первичным виртуальным портом содержит:
ассоциирование первого пользователя с первичным виртуальным портом в ответ на определение того, что первый пользователь выдал команду выражения желания в ответ на выдачу приглашения первому и второму пользователям стать желающим.
5. Способ по п. 1, дополнительно содержащий этапы, на которых:
определяют аспект первого пользователя или принимают информацию профиля пользователя для первого пользователя; и
при этом ассоциирование первого пользователя с первичным виртуальным портом выполняют на основе аспекта первого пользователя или информации профиля пользователя.
6. Система для управления основанной на жестах вычислительной средой, содержащая:
процессор; и
память, имеющую исполняемые процессором команды, которые, когда исполняются процессором, предписывают системе, по меньшей мере:
принимать изображение области захвата;
идентифицировать первого пользователя на основании, по меньшей мере частично, первого пользователя, изображенного на изображении;
ассоциировать первого пользователя с первичным виртуальным портом, причем первичный виртуальный порт имеет ассоциированный с ним признак, который не имеет вторичный виртуальный порт, причем пользователь вычислительной среды имеет возможность быть привязанным или непривязанным к первичному виртуальному порту, причем пользователь, привязанный к первичному виртуальному порту, указывает пользователя, способного предоставлять ввод в вычислительную среду через первичный виртуальный порт;
идентифицировать второго пользователя на основании, по меньшей мере частично, второго пользователя, изображенного на изображении;
ассоциировать второго пользователя с вторичным виртуальным портом в ответ на идентификацию второго пользователя;
отменять ассоциацию первого пользователя с первичным виртуальным портом в ответ на выполнение вторым пользователем жеста выражения желания, выполнение первым пользователем жеста выхода или проигрыш игры первым пользователем; и
обновлять ассоциацию второго пользователя с вторичного виртуального порта на первичный виртуальный порт в ответ на отмену ассоциации первого пользователя с первичным виртуальным портом.
7. Система по п. 6, причем изображение содержит изображение глубины.
8. Машиночитаемый носитель, содержащий сохраненные на нем исполняемые с помощью компьютера команды для управления основанной на жестах вычислительной средой, которые, при исполнении на компьютере, предписывают компьютеру выполнять операции, содержащие этапы, на которых:
принимают изображение области захвата;
идентифицируют первого пользователя на основании, по меньшей мере частично, первого пользователя, изображенного на изображении;
ассоциируют первого пользователя с первичным виртуальным портом, причем первичный виртуальный порт имеет ассоциированный с ним признак, который не имеет вторичный виртуальный порт, причем пользователь вычислительной среды имеет возможность быть привязанным или непривязанным к первичному виртуальному порту, причем пользователь, привязанный к первичному виртуальному порту, указывает пользователя, способного предоставлять ввод в вычислительную среду через первичный виртуальный порт;
идентифицируют второго пользователя на основании, по меньшей мере частично, второго пользователя, изображенного на изображении;
ассоциируют второго пользователя с вторичным виртуальным портом в ответ на идентификацию второго пользователя;
отменяют ассоциацию первого пользователя с первичным виртуальным портом в ответ на выполнение вторым пользователем жеста выражения желания, выполнение первым пользователем жеста выхода или проигрыш игры первым пользователем; и
обновляют ассоциацию второго пользователя с вторичного виртуального порта на первичный виртуальный порт в ответ на отмену ассоциации первого пользователя с первичным виртуальным портом.
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Устройство для виброобработки горного массива и способ его настройки | 1990 |
|
SU1705564A1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ ИМИТАЦИИ ВОСПИТАНИЯ В МОБИЛЬНОМ ТЕРМИНАЛЕ | 2005 |
|
RU2293445C2 |
Авторы
Даты
2015-07-10—Публикация
2010-04-29—Подача