Стандартные жесты
Иллюстрации
Показать всеИзобретение относится к системе, способу и машиночитаемому носителю для группирования комплементарных множеств стандартных жестов в библиотеки жестов. Техническим результатом является обеспечение сокращения ресурсов, требуемых для обработки данных изображения, соответствующих пользовательскому вводу. Способ обеспечения в прикладную программу, которой можно управлять жестами, пакета комплементарных фильтров жестов, содержит этапы, на которых обеспечивают пакет комплементарных фильтров жестов; принимают указание о присваивании первого значения параметру первого фильтра, который задает атрибут движения или позы, которые должны быть выполнены пользователем; присваивают первое значение упомянутому параметру; присваивают второе значение второму параметру второго фильтра, причем второе значение определяется с использованием первого значения; и обрабатывают данные, показывающие движение или позу пользователя, с использованием первого фильтра и упомянутого параметра, чтобы определить выходную информацию, указывающую, обеспечивают ли эти движение или поза пользователя жест, относящийся к первому фильтру. 3 н. и 16 з.п. ф-лы, 21 ил.
Реферат
УРОВЕНЬ ТЕХНИКИ
Многие компьютерные прикладные программы, такие как компьютерные игры, мультимедийные приложения, офисные прикладные программы и т.п., используют управляющие действия, чтобы дать возможность пользователям управлять игровыми персонажами или другими аспектами прикладной программы. Обычно такие управляющие действия представляют собой ввод с использованием, например, контроллеров, пультов дистанционного управления, клавиатуры, мыши и т.п. К сожалению, такие управляющие действия могут быть сложными для изучения и тем самым создают барьер между пользователем и такими играми и прикладными программами. Кроме того, такие управляющие действия могут отличаться от фактических игровых действий или других действий прикладной программы, для которых используются управляющие действия. Например, игровое управляющее действие, которое заставляет игрового персонажа размахнуться бейсбольной битой, может не соответствовать фактическому движению размаха бейсбольной битой.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Здесь раскрыты системы и способы для приема данных, отражающих скелетное движение пользователя, и определения на основе этих данных, выполнил ли пользователь один или более жестов. Раскрыты пакеты стандартных жестов, из которых разработчики приложений могут встраивать распознавание жестов в свои прикладные программы.
В иллюстративном варианте воплощения библиотека жестов содержит множество жестов. Когда эти жесты являются комплементарными друг с другом, они могут быть сгруппированы в пакеты жестов. Затем эти пакеты жестов обеспечиваются прикладным программам для использования посредством механизма распознавания жестов. Прикладная программа может использовать один или более пакетов жестов.
Прикладная программа может присвоить значение первому параметру жеста, например минимальный порог скорости движения руки, который должен быть достигнут для распознавания жеста броска футбольного мяча. Механизм распознавания устанавливает первый параметр равным значению, а также устанавливает значение любых других параметров этого жеста или любых других жестов в пакете жестов, которые зависят от значения первого жеста. Например, когда пакет жестов представляет собой пакет жестов спортивных игр, который включает в себя жест броска футбольного мяча, пакет также может включать в себя жест кервбол в бейсболе и жест фастбол в бейсболе, которые взаимосвязаны с жестом броска футбольного мяча. Когда было определено, что жест кервбол в бейсболе должен иметь минимальный порог скорости движения руки 80% и жест фастбол в бейсболе должен иметь минимальный порог скорости движения руки 90% от жеста броска футбольного мяча, тогда эти параметры могут быть установлены равными 80% и 90% от значения соответственно.
Специалисты в области техники могут понять, что один или более различных аспектов раскрытия могут включать в себя, но без ограничения, схемы и/или программы для осуществления приведенных здесь аспектов настоящего раскрытия; схемы и/или программы могут представлять собой практически любую комбинацию аппаратных средств, программного обеспечения и/или встроенного программного обеспечения, выполненную с возможностью осуществлять приведенные здесь аспекты в зависимости от выбора конфигурации разработчика системы.
Предшествующее описание представляет собой описание сущности изобретения и, таким образом, по необходимости содержит упрощения, обобщения и опускание подробностей. Специалисты в области техники поймут, что описание сущности изобретения является лишь иллюстративным и не предназначено для каких-либо ограничений.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Системы, способы и машиночитаемые носители для пакетов жестов комплементарных жестов в соответствии с этой спецификацией описаны далее со ссылкой на сопроводительные чертежи.
Фиг. 1A и 1B показывают иллюстративный вариант воплощения системы распознавания, анализа и отслеживания цели с пользователем, играющим в игру.
Фиг. 2 показывает иллюстративный вариант воплощения устройства захвата, которое может использоваться в системе распознавания, анализа и отслеживания цели.
Фиг. 3A показывает иллюстративный вариант воплощения вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели.
Фиг. 3B показывает другой иллюстративный вариант воплощения вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели.
Фиг. 4A иллюстрирует скелетное отображение пользователя, которое было формировано из системы распознавания, анализа и отслеживания цели, показанной на фиг. 2.
Фиг. 4B иллюстрирует дополнительные подробные сведения архитектуры устройства распознавания жестов, показанной на фиг. 2.
Фиг. 5A и 5B иллюстрируют, как фильтры жестов могут быть расположены в стеке для создания более сложных фильтров жестов.
Фиг. 6A, 6B, 6C, 6D и 6E показывают иллюстративный жест, который пользователь 502 может сделать для сообщения о приеме "fair catch" в футбольной видеоигре.
Фиг. 7A, 7B, 7C, 7D и 7E показывают иллюстративный жест "fair catch", показанный на фиг. 6A-E, когда каждый кадр данных изображения был интерпретирован для получения скелетного отображения пользователя.
Фиг. 8 иллюстрирует, как универсальные жесты из библиотеки жестов группируются в пакеты жанров комплементарных жестов для конкретной задачи.
Фиг. 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-Video, коаксиальный кабель, кабель 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 камеры изображения может представлять собой камеру глубины, которая может захватывать изображение глубины сцены. Изображение глубины может включать в себя двухмерную (2D) область пикселей захваченной сцены, где каждый пиксель в двухмерной области пикселей может представлять длину, например, в сантиметрах, миллиметрах и т.п. от камеры до объекта в захваченной сцене.
Как показано на фиг. 2, в соответствии с иллюстративным вариантом воплощения компонент 22 камеры изображения может включать в себя компонент 24 инфракрасного (IR) освещения, трехмерную (3D) камеру 26 и RGB-камеру 28, которые могут использоваться для захвата изображения глубины сцены. Например, при анализе по методике времени прохождения компонент 24 инфракрасного освещения устройства 20 захвата может испускать на сцену инфракрасный свет и затем может использовать датчики (не показаны) для обнаружения отраженного света от поверхности одной или более целей и объектов в сцене с использованием, например, трехмерной камеры 26 и/или RGB-камеры 28. В некоторых вариантах воплощения может использоваться импульсный инфракрасный свет, с тем чтобы время между импульсом уходящим исходящего света и соответствующим импульсом входящего света могло быть измерено и использовано для определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах в сцене. Кроме того, в других иллюстративных вариантах воплощения фаза исходящей световой волны может быть сравнена с фазой входящей световой волны для определения сдвига фазы. Сдвиг фазы может затем использоваться для определения физического расстояния от устройства захвата до конкретного местоположения на целях или объектах.
В соответствии с другим иллюстративным вариантом воплощения анализ по методике времени прохождения может использоваться для косвенного определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах посредством анализа интенсивности отраженного луча света в течение времени посредством различных методик, в том числе, например, формирования изображений с помощью прерывистых световых импульсов.
В другом иллюстративном варианте воплощения устройство 20 захвата может использовать структурированный свет для захвата информацию глубины. При таком анализе структурированный свет (то есть, свет, отображаемый с известным рисунком, таким как сетчатый рисунок или рисунок в полоску) может быть спроецирован на сцену, например, через компонент 24 инфракрасного освещения. После столкновения с поверхностью одной или более целей или объектов в сцене рисунок может в ответ стать деформированным. Такая деформация рисунка может быть захвачена, например, трехмерной камерой 26 и/или RGB-камерой 28 и затем может быть проанализирована для определения физического расстояния от устройства захвата до конкретного местоположения на целях или объектах.
В соответствии с другим вариантом воплощения устройство 20 захвата может включать в себя две или более физически разнесенных камеры, которые могут обозревать сцену с разных углов, для получения визуальные стереоскопических данных, которые могут быть проанализированы для формирования информации глубины.
Устройство 20 захвата может также включать в себя микрофон 30. Микрофон 30 может включать в себя преобразователь или датчик, который может принимать и преобразовывать звук в электрический сигнал. В соответствии с одним вариантом воплощения микрофон 30 может использоваться для уменьшения обратной связи между устройством 20 захвата и вычислительной средой 12 в системе 10 распознавания, анализа и отслеживания цели. Кроме того, микрофон 30 может использоваться для приема аудиосигналов, которые также могут быть выданы пользователем для управления прикладными программами, такими как игровые прикладные программы, неигровые прикладные программы и т.п., которые могут исполняться вычислительной средой 12.
В иллюстративном варианте воплощения устройство 20 захвата может также включать в себя процессор 32, который может быть связан с возможностью взаимодействия с компонентом 22 камеры изображения. Процессор 32 может включать в себя стандартизированный процессор, специализированный процессор, микропроцессор и т.п., которые могут исполнять команды, которые могут включать в себя команды для приема изображения глубины, определения, может ли подходящая цель быть включена в изображение глубины, преобразования подходящей цели в скелетное представление или модель цели или любую другую подходящую команду.
Устройство 20 захвата может также включать в себя компонент 34 памяти, который может хранить команды, которые могут быть исполнены процессором 32, изображения или кадры изображений, захваченных трехмерной камерой или 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 захвата может предоставлять информацию глубины и изображения, захваченные, например, посредством трехмерной камеры 26 и/или RGB-камеры 28, и скелетную модель, которая может быть сформирована устройством 20 захвата, вычислительной среде 12 через линию 36 связи. Вычислительная среда 12 затем может использовать скелетную модель, информацию глубины и захваченные изображения, например, для распознавания жестов пользователя и ответного управления прикладной программой, такой как игра или текстовой процессор. Например, как показано на фиг. 2, вычислительная среда 12 может включать в себя механизм 290 распознавания жестов. Механизм 190 распознавания жестов может включать в себя коллекцию фильтров жестов, каждый из которых содержит информацию относительно жеста, который может быть выполнен посредством скелетной модели (по мере движения пользователя). Данные, захваченные камерами 26, 28 и устройством 20, в виде скелетной модели и относящиеся к ней движения могут быть сравнены с фильтрами жестов в механизме 190 распознавания жестов, чтобы идентифицировать, когда пользователь (представленный скелетной моделью) выполнил один или более жестов. Эти жесты могут относиться к различным управляющим действиям прикладной программы. Таким образом, вычислительная среда 12 может использовать механизм 190 распознавания жестов для интерпретации движений скелетной модели и управления прикладной программой на основе движений.
Фиг. 3A показывает иллюстративный вариант воплощения вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели. Вычислительная среда, такая как вычислительная среда 12, описанная выше со ссылкой на фиг. 1A-2, может представлять собой мультимедийную консоль 100, такую как игровая консоль. Как показано на фиг. 3A, мультимедийная консоль 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.
Центральный процессор 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.
Фиг. 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 и/или которые в данный момент обрабатываются процессором 259. В качестве примера, но не ограничения, фиг. 3B иллюстрирует операционную систему 225, прикладные программы 226, другие программные модули 227 и программные данные 228.
Компьютер 241 также может включать в себя другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных. Только в качестве примера фиг. 3B иллюстрирует накопитель 238 на жестких дисках, который считывает или записывает на несменный энергонезависимый магнитный носитель, магнитный дисковод 239, который считывает или записывает на сменный энергонезависимый магнитный диск 254, и оптический дисковод 240, который считывает или записы